@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";.recovery-form{background:linear-gradient(135deg,#f2fbf6,#e7f7ee);border:1px solid #b9dfca;border-radius:10px;gap:10px;margin-top:14px;padding:14px;display:grid}.recovery-form>div{color:#24724d;align-items:center;gap:9px;display:flex}.recovery-form>div>span{gap:2px;display:grid}.recovery-form strong{font-size:12px}.recovery-form small{color:#5d7668;font-size:10px}.recovery-form textarea{resize:vertical;background:#fff;border:1px solid #bfd8ca;border-radius:8px;width:100%;min-height:64px;padding:10px;font:11px inherit}.recovery-form .module-action{background:linear-gradient(135deg,#2c9761,#18794b);justify-self:end;min-width:190px}.study-entry{background:#fff;border:1px solid #d8e2eb;border-radius:12px;max-width:900px;margin:0 auto;padding:18px;box-shadow:0 10px 30px #3022310a}.study-entry .section-heading>div{gap:4px;display:grid}.study-entry .section-heading h3{margin:0;font-size:18px}.study-entry .section-heading p{color:var(--muted);margin:0;font-size:11px}.study-entry .followup-form{grid-template-columns:repeat(3,1fr);margin-top:14px}.study-entry .followup-form select{color:#4c434f;background:#fff;border:1px solid #d8dfe6;border-radius:6px;width:100%;min-height:40px;padding:7px;font:11px inherit}.study-panel .module-action{box-shadow:none;margin-top:12px}.study-panel small{color:#6b6170;margin-top:8px;font-size:10px;display:block}.subject-updates{background:#fff;border:1px solid #d7e4ef;border-radius:9px;grid-column:1/-1;gap:7px;padding:12px;display:grid}.subject-heading{justify-content:space-between;align-items:center;display:flex}.subject-heading>div{gap:2px;display:grid}.subject-heading strong{font-size:12px}.subject-heading small{color:var(--muted);font-size:9px}.subject-heading button,.subject-row button{color:#176bc9;background:#eef7ff;border:1px solid #bcd5ea;border-radius:7px;padding:7px 10px;font-size:10px;font-weight:800}.subject-row{grid-template-columns:150px 1fr auto;gap:7px;display:grid}.subject-row input{min-width:0}.subject-row input[readonly]{color:#463b49;background:#f4f1f6;font-weight:800}.subject-row button{color:#ad3f3b;background:#fff5f4;border-color:#ecc5c1}.subject-list{gap:6px;margin:8px 0;display:grid}.subject-list>div{background:#fffa;border-radius:6px;grid-template-columns:105px 1fr;gap:8px;padding:7px 8px;display:grid}.subject-list strong{font-size:10px}.subject-list span{color:#5d5360;font-size:10px}.study-entry{width:min(1120px,100%);max-width:none;padding:22px}.study-page .study-filters{grid-template-columns:repeat(4,1fr) 1.5fr}.subject-updates{grid-template-columns:1fr 1fr;gap:9px 14px;padding:16px}.subject-heading{grid-column:1/-1}.subject-row{grid-template-columns:125px minmax(0,1fr) auto}@media (width<=800px){.subject-updates{grid-template-columns:1fr}.subject-heading{grid-column:auto}.study-page .study-filters{grid-template-columns:1fr 1fr}.study-page .study-filters label{grid-column:1/-1}}.student-work-heading{justify-content:space-between;align-items:center;display:flex}.student-work-heading h4{margin:0}.student-work-heading button{color:#fff;background:#6b45a0;border:0;border-radius:7px;padding:7px 10px;font-size:9px;font-weight:800}.student-progress-list{gap:6px;max-height:360px;margin-top:10px;display:grid;overflow:auto}.student-progress-row{background:#fff;border:1px solid #e0d7eb;border-radius:7px;grid-template-columns:minmax(120px,1fr) 135px minmax(120px,1.2fr) auto;align-items:center;gap:7px;padding:7px;display:grid}.student-progress-row>div{display:grid}.student-progress-row strong{font-size:10px}.student-progress-row small{color:var(--muted);font-size:8px}.student-progress-row select,.student-progress-row input{background:#fff;border:1px solid #d8d0df;border-radius:6px;min-width:0;height:32px;padding:0 7px;font-size:9px}.student-progress-row button{color:#fff;background:#176bc9;border:0;border-radius:6px;height:32px;padding:0 10px;font-size:9px;font-weight:800}.student-progress-row button:disabled{opacity:.5}.study-reports{gap:12px;display:grid}.report-metrics{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.report-metrics article{background:#eef7fd;border:1px solid #c9ddec;border-radius:9px;align-items:center;gap:9px;padding:12px;display:flex}.report-metrics article>span{background:#fff;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.report-metrics article>div{display:grid}.report-metrics strong{font-size:10px}.report-metrics b{font-size:22px}.report-metrics small{display:none}.report-grid{grid-template-columns:2fr 1fr 1fr;gap:10px;display:grid}.report-grid>article{background:#fff;border:1px solid #ddd6d1;border-radius:10px;padding:13px;overflow:hidden}.report-grid h3{margin:0 0 10px;font-size:13px}.report-grid table{border-collapse:collapse;width:100%}.report-grid th,.report-grid td{text-align:left;border-bottom:1px solid #eee8e4;padding:8px;font-size:9px}.pending-student{border-bottom:1px solid #eee8e4;grid-template-columns:1fr auto;gap:3px;padding:8px 0;display:grid}.pending-student strong{font-size:10px}.pending-student span{color:#956113;font-size:8px;font-weight:800}.pending-student small{color:var(--muted);grid-column:1/-1;font-size:8px}@media (width<=900px){.report-grid{grid-template-columns:1fr}.student-progress-row,.report-metrics{grid-template-columns:1fr 1fr}}.report-wide{background:#fff;border:1px solid #ddd6d1;border-radius:10px;padding:14px;overflow:auto}.report-wide h3{margin:0 0 10px;font-size:13px}.report-wide table{border-collapse:collapse;width:100%}.report-wide th,.report-wide td{text-align:left;white-space:nowrap;border-bottom:1px solid #eee8e4;padding:9px;font-size:9px}.report-wide th{color:#53606b;background:#edf5fa}.report-followups{grid-template-columns:1fr 1fr 1fr}.login-page{background:var(--white);grid-template-columns:minmax(400px,1.02fr) .98fr;min-height:100vh;display:grid}.login-story{color:#fffaf4;background:linear-gradient(145deg,#2f2340 0%,#49335f 64%,#5a3b65 100%);flex-direction:column;justify-content:space-between;padding:48px 56px;display:flex;position:relative;overflow:hidden}.login-story:before{content:"";border:74px solid #f7c66c17;border-radius:45% 55% 58% 42%;width:430px;height:430px;position:absolute;top:-180px;right:-230px;transform:rotate(22deg)}.login-story:after{content:"";opacity:.7;background:#ea6f4f;border-radius:62% 38% 42% 58%;width:250px;height:250px;position:absolute;bottom:-115px;left:-95px;transform:rotate(-18deg)}.brand-mark,.small-brand-mark{background:var(--cream);color:var(--green);border-radius:14px;place-items:center;display:grid}.brand-mark{z-index:1;width:52px;height:52px;position:relative}.story-copy{z-index:1;max-width:560px;margin-bottom:8vh;position:relative}.eyebrow{color:#f6c879;text-transform:uppercase;letter-spacing:.17em;margin:0 0 14px;font-size:11px;font-weight:700}.story-copy h1{letter-spacing:-.035em;max-width:560px;margin:0;font:600 clamp(48px,5.5vw,76px)/.98 Fraunces,serif}.story-description{color:#ddd1e4;max-width:455px;margin:30px 0 0;font-size:16px;line-height:1.75}.story-footer{z-index:1;color:#cbbbd4;letter-spacing:.08em;margin:0;font-size:12px;position:relative}.login-panel{background:radial-gradient(circle at 86% 12%,#ea6f4f1a,#0000 26%),#fbf5ec;place-items:center;padding:48px;display:grid}.login-card{width:min(100%,430px)}.mobile-brand{display:none}.login-card>.eyebrow{color:#b45a43;margin-bottom:12px}.login-card h2{color:var(--ink);letter-spacing:-.025em;margin:0;font:600 40px/1.12 Fraunces,serif}.login-intro{color:var(--muted);margin:14px 0 34px;line-height:1.6}.login-card form{flex-direction:column;display:flex}.login-card label{color:#344743;margin:0 0 8px;font-size:14px;font-weight:600}.input-wrap{color:#928796;background:var(--white);border:1px solid #dfd3cb;border-radius:8px;align-items:center;gap:11px;height:54px;margin-bottom:21px;padding:0 15px;transition:border-color .2s,box-shadow .2s;display:flex}.input-wrap:focus-within{border-color:#765b89;box-shadow:0 0 0 3px #3b2c4d1a}.input-wrap input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1}.input-wrap input::placeholder{color:#a3aeab}.password-toggle{color:#81908d;background:0 0;border:0;place-items:center;padding:5px;display:grid}.primary-button{color:#fff;background:linear-gradient(120deg,#3b2c4d,#5b3d68);border:0;border-radius:8px;justify-content:center;align-items:center;gap:9px;height:54px;margin-top:5px;font-weight:700;transition:transform .2s,background .2s;display:flex;box-shadow:0 12px 25px #3b2c4d33}.primary-button:hover:not(:disabled){background:var(--green-dark);transform:translateY(-1px)}.primary-button:disabled{cursor:wait;opacity:.72}.form-alert{color:#89382e;background:#fff1ef;border:1px solid #f0cdc8;border-radius:9px;margin:0 0 22px;padding:12px 14px;font-size:14px;line-height:1.45}.login-help{text-align:center;color:#84928f;margin:25px 0 0;font-size:13px}.spinner,.button-spinner{border-radius:50%;animation:.75s linear infinite spin;display:inline-block}.spinner{border:3px solid #e5d9e7;border-top-color:var(--green);width:28px;height:28px}.button-spinner{border:2px solid #fff6;border-top-color:#fff;width:16px;height:16px}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{min-height:100vh;color:var(--muted);background:#fbf5ec;place-content:center;justify-items:center;gap:14px;display:grid}.loading-screen p{margin:0}.dashboard-page{background:#fbf5ec;min-height:100vh}.dashboard-header{border-bottom:1px solid var(--line);background:#ffffffeb;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(24px,6vw,80px);display:flex}.dashboard-brand{align-items:center;gap:12px;font:700 17px Plus Jakarta Sans,sans-serif;text-decoration:none;display:flex}.small-brand-mark{background:var(--green);color:#fff;border-radius:10px;width:38px;height:38px}.header-user{align-items:center;gap:15px;display:flex}.user-copy{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.user-copy strong{font-size:14px}.user-copy span{color:var(--muted);letter-spacing:.1em;font-size:11px}.icon-button{border:1px solid var(--line);color:#53645f;background:#fff;border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.icon-button:hover{color:var(--green);border-color:#aac2ba}.dashboard-main{width:min(1100px,100% - 48px);margin:0 auto;padding:80px 0}.dashboard-heading .eyebrow{color:#b45a43}.dashboard-heading h1{letter-spacing:-.035em;margin:0;font:600 clamp(38px,5vw,58px)/1.08 Fraunces,serif}.dashboard-heading>p:last-child{color:var(--muted);margin:15px 0 0;font-size:17px}.dashboard-alert{margin-top:24px}.status-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:46px;display:grid}.status-card{border:1px solid var(--line);background:#fff;border-radius:16px;align-items:center;gap:16px;min-width:0;padding:23px;display:flex;box-shadow:0 6px 22px #28423a0a}.status-icon{color:#624874;background:#f1e9f3;border-radius:12px;flex:none;place-items:center;width:45px;height:45px;display:grid}.status-icon.success{color:#b5523c;background:#fff0e9}.status-card div{flex-direction:column;gap:4px;min-width:0;display:flex}.status-card span{color:var(--muted);font-size:12px}.status-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.foundation-note{color:#fff8ef;background:linear-gradient(125deg,#392a4c,#584065);border-radius:18px;margin-top:22px;padding:35px;position:relative;overflow:hidden}.foundation-note:after{content:"";border:24px solid #f7c66c1f;border-radius:48% 52% 42% 58%;width:150px;height:150px;position:absolute;top:-70px;right:-38px}.foundation-note>div{color:#e5c9e7;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:9px;font-size:12px;font-weight:700;display:flex}.live-dot{background:#f7c66c;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #f7c66c21}.foundation-note h2{margin:23px 0 10px;font:600 28px Fraunces,serif}.foundation-note p{z-index:1;color:#d8cbdc;max-width:730px;margin:0;line-height:1.7;position:relative}@media (width<=820px){.login-page{background:#fbf5ec;display:block}.login-story{display:none}.login-panel{min-height:100vh;padding:32px 24px}.mobile-brand{align-items:center;gap:12px;margin-bottom:58px;font:700 17px Plus Jakarta Sans,sans-serif;display:flex}.mobile-brand .brand-mark{color:#2f2340;background:#f7c66c;border-radius:11px;width:43px;height:43px}.status-grid{grid-template-columns:1fr}}@media (width<=560px){.login-panel{align-items:start}.login-card h2{font-size:30px}.dashboard-header{padding:0 18px}.user-copy{display:none}.dashboard-main{width:min(100% - 32px,1100px);padding:55px 0}.foundation-note{padding:27px 24px}}.app-shell{background:#f6f3f0;grid-template-columns:244px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .2s;display:grid}.app-shell.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar{z-index:30;color:#f9f5fb;background:#2f233d;border-right:1px solid #493959;flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-brand{border-bottom:1px solid #ffffff17;flex:none;align-items:center;gap:11px;height:72px;padding:0 18px;display:flex}.brand-symbol{color:#342542;background:#f2c36c;border-radius:10px;flex:none;place-items:center;width:38px;height:38px;font:700 19px Fraunces,serif;display:grid}.sidebar-brand div{gap:2px;min-width:0;display:grid}.sidebar-brand strong{white-space:nowrap;font-size:14px}.sidebar-brand div span{color:#bdaec6;white-space:nowrap;letter-spacing:.04em;font-size:9px}.sidebar-nav{scrollbar-width:thin;scrollbar-color:#65536f transparent;flex:1;padding:13px 10px;overflow-y:auto}.sidebar-nav a{color:#cfc4d5;white-space:nowrap;border-radius:8px;align-items:center;gap:12px;height:39px;margin-bottom:3px;padding:0 12px;font-size:12px;font-weight:550;text-decoration:none;transition:color .15s,background .15s;display:flex}.sidebar-nav a svg{flex:none}.sidebar-nav a:hover{color:#fff;background:#ffffff12}.sidebar-nav a.active{color:#fff;background:#594266;box-shadow:inset 3px 0 #f0b957}.sidebar-footer{border-top:1px solid #ffffff17;flex:none;padding:10px}.sidebar-user{align-items:center;gap:9px;min-width:0;padding:8px;display:flex}.user-avatar,.topbar-avatar{border-radius:9px;flex:none;place-items:center;font-weight:700;display:grid}.user-avatar{color:#352641;background:#f1c36e;width:32px;height:32px;font-size:12px}.sidebar-user div{flex:1;gap:2px;min-width:0;display:grid}.sidebar-user strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.sidebar-user span{color:#b9a9c2;letter-spacing:.08em;font-size:8px}.sidebar-user button{color:#c9bdcf;background:0 0;border:0;border-radius:7px;place-items:center;width:29px;height:29px;display:grid}.sidebar-user button:hover{color:#fff;background:#ffffff14}.collapse-button{color:#bcaec5;background:#ffffff09;border:1px solid #ffffff1a;border-radius:7px;justify-content:center;align-items:center;gap:8px;width:100%;height:34px;font-size:9px;display:flex}.collapse-button:hover{color:#fff;border-color:#fff3}.sidebar-collapsed .sidebar-brand{justify-content:center;padding-inline:0}.sidebar-collapsed .sidebar-nav a{justify-content:center;padding:0}.sidebar-collapsed .sidebar-nav a span,.sidebar-collapsed .sidebar-user div,.sidebar-collapsed .sidebar-user button{display:none}.sidebar-collapsed .sidebar-user{justify-content:center;padding-inline:0}.app-workspace{min-width:0}.topbar{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdfaf5;border-bottom:1px solid #e5ded9;justify-content:space-between;align-items:center;height:72px;padding:0 28px;display:flex;position:sticky;top:0}.topbar-title{align-items:center;gap:12px;display:flex}.topbar-title>div{gap:2px;display:grid}.topbar-title span{color:#8b818e;letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:700}.topbar-title h1{letter-spacing:-.025em;margin:0;font:700 18px Plus Jakarta Sans,sans-serif}.mobile-menu{border:1px solid var(--line);width:37px;height:37px;color:var(--ink);background:#fff;border-radius:8px;place-items:center;display:none}.topbar-actions{align-items:center;gap:9px;display:flex}.popover-wrap{position:relative}.topbar-icon{color:#5d5361;background:#fff;border:1px solid #e3dad5;border-radius:9px;place-items:center;width:39px;height:39px;display:grid;position:relative}.topbar-icon:hover{color:#3b2c4d;border-color:#c8b9cd}.notification-count{color:#fff;background:#d65d48;border:2px solid #fff;border-radius:99px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:8px;font-weight:700;display:grid;position:absolute;top:-5px;right:-4px}.profile-trigger{height:43px;color:var(--ink);background:0 0;border:0;border-radius:10px;align-items:center;gap:9px;padding:3px 9px 3px 4px;display:flex}.profile-trigger:hover{background:#f4efec}.topbar-avatar{color:#fff;background:#49355a;width:34px;height:34px;font-size:12px}.profile-copy{text-align:left;gap:2px;min-width:115px;display:grid}.profile-copy strong{text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:11px;overflow:hidden}.profile-copy small{color:#8e8491;letter-spacing:.08em;font-size:8px}.popover{background:#fff;border:1px solid #e3d9d4;border-radius:11px;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 18px 50px #2d1f3229}.notification-popover{width:min(360px,100vw - 28px);overflow:hidden}.popover-header{border-bottom:1px solid #eee7e2;justify-content:space-between;padding:15px 16px;display:flex}.popover-header strong{font-size:12px}.popover-header span{color:var(--muted);font-size:9px}.popover-header button{color:#176dcc;cursor:pointer;background:0 0;border:0;padding:0;font-size:9px;font-weight:800}.notification-list{max-height:350px;overflow-y:auto}.notification-list article{border-bottom:1px solid #f0eae7;padding:12px 15px;position:relative}.notification-list article[role=button]{cursor:pointer}.notification-list article.unread{background:#fbf6fc}.notification-list article.unread:before{content:"";background:#d65d48;border-radius:50%;width:5px;height:5px;position:absolute;top:17px;left:5px}.notification-list article span{color:var(--ink);font-size:10px;font-weight:700}.notification-list article p{color:var(--muted);margin:4px 0;font-size:9px;line-height:1.45}.notification-list time{color:#a39aa5;font-size:8px}.notification-list article small{color:#176dcc;margin-top:5px;font-size:8px;display:block}.popover-state{color:var(--muted);text-align:center;margin:0;padding:28px 15px;font-size:10px}.popover-state.error{color:#a94b41}.user-popover{width:210px;padding:8px}.user-popover>div{border-bottom:1px solid #eee7e2;align-items:center;gap:9px;padding:10px;display:flex}.user-popover>div>span{gap:2px;display:grid}.user-popover strong{font-size:10px}.user-popover small{color:var(--muted);font-size:8px}.user-popover button{color:#8c3f3a;background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;width:100%;margin-top:5px;padding:9px 10px;font-size:10px;display:flex}.user-popover button:hover{background:#fff1ef}.page-content{min-height:calc(100vh - 72px);padding:24px 28px 42px}.page-content>section{width:min(1180px,100%);margin:0 auto}.page-heading{background:#fff;border:1px solid #e4dcd7;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;min-height:74px;margin-bottom:18px;padding:18px 20px;display:flex;box-shadow:0 5px 20px #30203309}.page-heading>div{gap:3px;display:grid}.page-heading span{color:#a14e3c;letter-spacing:.13em;text-transform:uppercase;font-size:8px;font-weight:800}.page-heading h2{letter-spacing:-.035em;margin:0;font:700 21px Plus Jakarta Sans,sans-serif}.page-heading p{color:var(--muted);margin:1px 0 0;font-size:10px}.page-heading-icon{background:#f0e8f2;border-radius:10px;place-items:center;width:40px;height:40px;display:grid;color:#5d426c!important}.secondary-button{color:#4a3855;background:#fff;border:1px solid #dcd1db;border-radius:8px;align-items:center;gap:7px;height:35px;padding:0 12px;font-size:9px;font-weight:700;display:flex}.secondary-button:hover{background:#faf7fb;border-color:#a992af}.secondary-button:disabled{opacity:.6}.spinning{animation:.75s linear infinite spin}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.metric-card{background:#fff;border:1px solid #e4dcd7;border-radius:11px;align-items:center;gap:14px;min-height:90px;padding:16px;display:flex;box-shadow:0 5px 16px #30203308}.metric-icon{border-radius:10px;flex:none;place-items:center;width:41px;height:41px;display:grid}.metric-icon.plum{color:#624674;background:#f0e8f2}.metric-icon.blue{color:#356c91;background:#e7f1f6}.metric-icon.amber{color:#9e691c;background:#fff2da}.metric-icon.violet{color:#7650a2;background:#f1eafa}.metric-card>div{gap:5px;display:grid}.metric-card span{color:var(--muted);font-size:9px;font-weight:600}.metric-card strong{color:var(--ink);font-size:22px;line-height:1}.inline-alert{color:#8f463b;background:#fff4f0;border:1px solid #e7c7bd;border-radius:9px;align-items:center;gap:8px;margin-bottom:14px;padding:11px 13px;font-size:9px;display:flex}.inline-alert span{color:#a46258}.empty-state{color:#6b586f;background:#ffffff8c;border:1px dashed #d8ccc6;border-radius:10px;align-items:center;gap:12px;margin-top:14px;padding:16px;display:flex}.empty-state div{gap:3px;display:grid}.empty-state strong{font-size:10px}.empty-state span{color:var(--muted);font-size:9px}.placeholder-panel{text-align:center;background:#fff;border:1px solid #e4dcd7;border-radius:12px;place-content:center;justify-items:center;min-height:310px;padding:36px;display:grid}.placeholder-icon{color:#654b72;background:#f0e8f2;border-radius:14px;place-items:center;width:52px;height:52px;display:grid}.placeholder-panel h3{margin:14px 0 5px;font-size:15px}.placeholder-panel p{max-width:460px;color:var(--muted);margin:0;font-size:10px;line-height:1.6}.page-loader{min-height:220px;color:var(--muted);place-items:center;font-size:11px;display:grid}.sidebar-scrim{display:none}@media (width<=1000px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar-brand{justify-content:center;padding-inline:0}.sidebar-brand div,.sidebar-nav a span,.sidebar-user div,.sidebar-user button{display:none}.sidebar-nav a{justify-content:center;padding:0}.sidebar-user{justify-content:center;padding-inline:0}.collapse-button{display:none}}@media (width<=760px){.app-shell,.app-shell.sidebar-collapsed{display:block}.sidebar{width:244px;transition:transform .2s;position:fixed;left:0;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0);box-shadow:18px 0 45px #1f15243d}.sidebar.mobile-open .sidebar-brand{justify-content:flex-start;padding:0 18px}.sidebar.mobile-open .sidebar-brand div,.sidebar.mobile-open .sidebar-nav a span,.sidebar.mobile-open .sidebar-user div,.sidebar.mobile-open .sidebar-user button{display:grid}.sidebar.mobile-open .sidebar-nav a{justify-content:flex-start;padding:0 12px}.sidebar.mobile-open .sidebar-user{justify-content:flex-start;padding:8px}.sidebar-scrim{z-index:25;background:#23182773;border:0;display:block;position:fixed;inset:0}.mobile-menu{display:grid}.topbar{padding:0 16px}.profile-copy,.profile-trigger>svg{display:none}.profile-trigger{padding:4px}.page-content{padding:18px 16px 30px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=480px){.topbar-title>div>span{display:none}.topbar-title h1{font-size:15px}.metric-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start}}.dashboard-reference{gap:14px;display:grid}.dashboard-title-row{justify-content:space-between;align-items:center;min-height:48px;display:flex}.dashboard-title-row>div{gap:1px;display:grid}.dashboard-title-row span{color:#a14e3c;letter-spacing:.14em;text-transform:uppercase;font-size:8px;font-weight:800}.dashboard-title-row h2{letter-spacing:-.04em;margin:0;font:700 22px Plus Jakarta Sans,sans-serif}.overview-section,.quick-section{background:#fff;border:1px solid #ded4df;border-radius:12px;padding:14px;box-shadow:0 6px 22px #30203309}.student-overview{background:linear-gradient(145deg,#f6fbff,#fff 45%);border-color:#cbdcea}.staff-overview{background:linear-gradient(145deg,#f5fcf7,#fff 45%);border-color:#cfe3d8}.overview-heading,.quick-section>header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.section-icon{color:#356c91;background:#e7f1f6;border-radius:9px;flex:none;place-items:center;width:37px;height:37px;display:grid}.staff-overview .section-icon{color:#277053;background:#e6f3eb}.overview-heading>div:nth-child(2),.quick-section>header>div{gap:2px;min-width:0;display:grid}.overview-heading h3,.quick-section h3{color:#30253a;margin:0;font-size:14px}.overview-heading p,.quick-section p{color:var(--muted);margin:0;font-size:9px}.headline-total{background:#ffffffe0;border:1px solid #d2c5d7;border-radius:9px;justify-content:space-between;align-items:center;gap:18px;min-width:178px;margin-left:auto;padding:8px 12px;display:flex}.headline-total span{color:#6f6372;letter-spacing:.05em;text-transform:uppercase;font-size:8px;font-weight:700}.headline-total strong{color:#3c2b4b;font-size:22px;line-height:1}.overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.overview-card{background:#fff;border:1px solid #d9e1e7;border-radius:10px;overflow:hidden}.overview-card.boys{border-color:#bdd9ed}.overview-card.girls{border-color:#edc8de}.overview-card>header{background:#eef7fd;align-items:center;gap:10px;min-height:66px;padding:10px 12px;display:flex}.overview-card.overall>header{background:#f2f1f3}.overview-card.girls>header{background:#fcedf5}.overview-avatar{color:#27698f;background:#d8edf9;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:grid}.overall .overview-avatar{color:#55485b;background:#e2dfe4}.girls .overview-avatar{color:#b04f82;background:#f5d8e8}.overview-card>header>div{flex:1;gap:2px;min-width:0;display:grid}.overview-card h4{color:#28354a;margin:0;font-size:12px}.overview-card.girls h4{color:#9c3d6d}.overview-card>header span{color:#77808d;font-size:8px}.overview-card>header>strong{color:#274c78;font-size:22px}.overview-card.girls>header>strong{color:#ad3f78}.overview-rows{gap:0;padding:6px 12px;display:grid}.overview-rows>div{color:#66596c;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:4px;min-height:27px;display:grid}.overview-rows svg{color:#6d4d7c}.overview-rows span{color:#403846;text-overflow:ellipsis;white-space:nowrap;font-size:8.5px;overflow:hidden}.overview-rows strong{color:#382945;font-size:10px}.overview-card footer{border-top:1px solid #eee8e5;gap:5px;padding:7px 10px 10px;display:grid}.net-row{border-radius:7px;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:4px;min-height:27px;padding:0 8px;font-size:8.5px;font-weight:700;display:grid}.net-row.school{color:#2f5d86;background:#e8f3fb}.net-row.hostel{color:#28705a;background:#e8f6ee}.net-row strong{font-size:10px}.quick-section{border-color:#ddd8e5}.quick-section>header .section-icon{color:#65506f;background:#f0eaf2}.quick-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.quick-card{border:1px solid;border-radius:10px;flex-direction:column;min-height:132px;padding:13px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex}.quick-card:hover{transform:translateY(-1px);box-shadow:0 7px 16px #30203314}.quick-card>span{align-items:center;gap:7px;font-size:9px;font-weight:750;display:flex}.quick-card small{opacity:.72;font-size:8px}.quick-card dl{opacity:.9;border-top:1px solid;gap:7px;margin:12px 0 0;padding-top:10px;display:grid}.quick-card dl div{justify-content:space-between;align-items:center;gap:8px;display:flex}.quick-card dt{font-size:10px}.quick-card dd{margin:0;font-size:11px;font-weight:800}.quick-card.gold{color:#80580f;background:#fff6d9;border-color:#ecd28e}.quick-card.blue{color:#255d84;background:#eaf7fd;border-color:#bedbed}.quick-card.rose{color:#9c3f55;background:#fff0f3;border-color:#ebc4cf}.quick-card.green{color:#1e6b50;background:#e8f8f0;border-color:#b9dfce}.quick-card.violet{color:#694493;background:#f3eafa;border-color:#d9c6ed}.quick-card.sand{color:#7a571c;background:#fff8e6;border-color:#ead49f}@media (width<=1100px){.overview-grid{grid-template-columns:1fr 1fr}.overview-card.overall{grid-area:1/1/auto/-1}.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=700px){.headline-total{min-width:0}.overview-grid{grid-template-columns:1fr}.overview-card.overall{grid-column:auto}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=500px){.overview-heading{flex-wrap:wrap;align-items:flex-start}.headline-total{width:100%;margin-left:0}.quick-grid{grid-template-columns:1fr}}.staff-management-page{gap:14px;display:grid}.staff-page-header{justify-content:space-between;align-items:center;min-height:58px;display:flex}.staff-page-header>div{align-items:center;gap:12px;display:flex}.staff-title-icon{color:#fff;background:#49355a;border-radius:11px;place-items:center;width:44px;height:44px;display:grid}.staff-page-header h2{letter-spacing:-.04em;margin:0;font:700 23px Plus Jakarta Sans,sans-serif}.staff-page-header p{color:var(--muted);margin:3px 0 0;font-size:10px}.primary-action{color:#fff;background:#49355a;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 14px;font-size:10px;font-weight:700;display:inline-flex;box-shadow:0 7px 18px #49355a2e}.primary-action:hover{background:#392945}.primary-action:disabled{cursor:wait;opacity:.65}.staff-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.staff-summary-card{background:#fff;border:1px solid #e2dad5;border-radius:10px;align-items:center;gap:12px;min-height:78px;padding:13px;display:flex;box-shadow:0 5px 16px #30203306}.staff-summary-icon{border-radius:10px;flex:none;place-items:center;width:40px;height:40px;display:grid}.staff-summary-icon.blue{color:#2c6e9e;background:#e5f2fa}.staff-summary-icon.plum{color:#674878;background:#f1e9f3}.staff-summary-icon.slate{color:#657486;background:#edf1f4}.staff-summary-icon.green{color:#217754;background:#e7f6ed}.staff-summary-icon.pink{color:#b44778;background:#fbe8f1}.staff-summary-card>div{gap:4px;display:grid}.staff-summary-card span{color:var(--muted);font-size:9px}.staff-summary-card strong{font-size:20px}.staff-table-card{background:#fff;border:1px solid #e1d9d4;border-radius:11px;overflow:hidden;box-shadow:0 7px 24px #30203309}.staff-filters{border-bottom:1px solid #e8e1dc;grid-template-columns:minmax(210px,1.7fr) repeat(4,minmax(115px,.75fr)) auto auto;gap:8px;padding:12px;display:grid}.staff-search{color:#8b818d;background:#fff;border:1px solid #ded5cf;border-radius:8px;align-items:center;gap:8px;height:37px;padding:0 11px;display:flex}.staff-search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:10px}.staff-filters select{color:#4b424f;background:#fff;border:1px solid #ded5cf;border-radius:8px;outline:none;min-width:0;height:37px;padding:0 9px;font-size:9px}.staff-filters select:focus,.staff-search:focus-within{border-color:#8b7198;box-shadow:0 0 0 3px #49355a12}.filter-reset,.filter-refresh{color:#574461;background:#eee7f0;border:0;border-radius:8px;height:37px;font-size:9px;font-weight:700}.filter-reset{padding:0 12px}.filter-refresh{place-items:center;width:37px;display:grid}.staff-table-wrap{overflow-x:auto}.staff-table-wrap table{border-collapse:collapse;width:100%;min-width:950px}.staff-table-wrap th{color:#4e4652;text-align:left;letter-spacing:.025em;text-transform:uppercase;background:#f5f3f4;border-bottom:1px solid #dfe2e7;height:40px;padding:0 11px;font-size:8px;font-weight:800}.staff-table-wrap td{color:#524956;white-space:nowrap;border-bottom:1px solid #eee9e6;height:46px;padding:8px 11px;font-size:9px}.staff-table-wrap tbody tr:hover td{background:#fbf8fc}.staff-name-cell{font-weight:700;color:#2f2634!important}.table-badge{border-radius:7px;align-items:center;min-height:24px;padding:0 8px;font-size:8px;font-weight:700;display:inline-flex}.table-badge.type{color:#554063;background:#eee6f1}.table-badge.status{color:#914b42;background:#fdece9}.table-badge.status.active{color:#20744e;background:#e5f5eb}.edit-row{color:#5d426a;background:#f5eff7;border:1px solid #cbbad2;border-radius:7px;place-items:center;width:29px;height:29px;display:grid}.edit-row:hover{color:#fff;background:#5b4268}.table-state{text-align:center;height:180px!important;color:var(--muted)!important}.table-footer{min-height:52px;color:var(--muted);justify-content:space-between;align-items:center;padding:8px 13px;font-size:9px;display:flex}.table-footer>div{align-items:center;gap:7px;display:flex}.table-footer button{color:#5d5361;background:#fff;border:1px solid #ddd4ce;border-radius:7px;place-items:center;width:31px;height:31px;display:grid}.table-footer button:disabled{cursor:default;opacity:.4}.table-footer>div span{text-align:center;min-width:42px}.inline-alert button{color:inherit;background:0 0;border:0;margin-left:auto;font-size:9px;font-weight:700}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#2218279e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.staff-modal{background:#fff;border-radius:13px;width:min(680px,100%);max-height:min(780px,100vh - 40px);overflow-y:auto;box-shadow:0 28px 80px #180f1d47}.staff-modal>header{border-bottom:1px solid #e9e1dd;justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 20px;display:flex}.staff-modal h3{margin:0;font-size:16px}.staff-modal header p{color:var(--muted);margin:4px 0 0;font-size:9px}.staff-modal header button{color:#6e6470;background:#f5f1ef;border:0;border-radius:8px;place-items:center;width:31px;height:31px;display:grid}.staff-modal form{padding:18px 20px}.staff-form-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.staff-form-grid label{gap:6px;display:grid}.staff-form-grid label>span{color:#5e5361;font-size:9px;font-weight:700}.staff-form-grid input,.staff-form-grid select{width:100%;height:39px;color:var(--ink);background:#fff;border:1px solid #ddd3ce;border-radius:8px;outline:0;padding:0 10px;font-size:10px}.staff-form-grid input:focus,.staff-form-grid select:focus{border-color:#8b7198;box-shadow:0 0 0 3px #49355a12}.staff-modal form>footer{border-top:1px solid #eee8e4;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:15px;display:flex}.staff-modal form>footer>button:first-child{color:#625863;background:#fff;border:1px solid #ddd3ce;border-radius:8px;min-height:38px;padding:0 14px;font-size:10px;font-weight:700}@media (width<=1150px){.staff-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.staff-filters{grid-template-columns:repeat(3,minmax(130px,1fr))}.staff-search{grid-column:span 2}}@media (width<=700px){.staff-page-header{align-items:flex-start;gap:16px}.staff-summary-grid,.staff-filters{grid-template-columns:1fr 1fr}.staff-search{grid-column:1/-1}.staff-form-grid{grid-template-columns:1fr}}@media (width<=450px){.staff-page-header{flex-direction:column}.staff-page-header .primary-action{width:100%}.staff-summary-grid,.staff-filters{grid-template-columns:1fr}.staff-search{grid-column:auto}.table-footer{flex-direction:column;align-items:flex-start;gap:9px}}.hostel-layout-page{gap:11px;display:grid}.layout-tabs{align-items:center;gap:14px;display:flex}.layout-tabs>div{background:#fff;border:1px solid #e0d7d2;border-radius:9px;display:flex;overflow-x:auto}.layout-tabs button{color:#665b68;white-space:nowrap;background:#fff;border:0;border-right:1px solid #e5ddd8;justify-content:center;align-items:center;gap:7px;min-width:105px;height:39px;padding:0 13px;font-size:9px;display:flex}.layout-tabs button:last-child{border-right:0}.layout-tabs button.active{color:#fff;background:#563f64}.room-visibility-toolbar{background:#fff;border:1px solid #ded7e1;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;display:flex}.room-visibility-toolbar>div:first-child{color:#5d4568;white-space:nowrap;align-items:center;gap:8px;display:flex}.room-visibility-toolbar>div:first-child span{gap:1px;display:grid}.room-visibility-toolbar strong{font-size:10px}.room-visibility-toolbar small{color:var(--muted);font-size:8px}.room-visibility-toolbar>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.room-visibility-toolbar button{color:#5f4c68;background:#faf8fb;border:1px solid #d8cfe0;border-radius:7px;align-items:center;gap:5px;min-height:29px;padding:0 9px;font-size:8px;font-weight:800;display:inline-flex}.room-visibility-toolbar button.hidden{color:#9a4c4c;background:#fff1f1;border-color:#efcaca}.room-visibility-toolbar button.show-all{color:#fff;background:#563f64;border-color:#563f64}@media (width<=760px){.room-visibility-toolbar{flex-direction:column;align-items:flex-start}.room-visibility-toolbar>div:last-child{justify-content:flex-start}}.layout-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.layout-summary article{background:#fff;border:1px solid #e2dad5;border-radius:9px;align-items:center;gap:10px;min-height:67px;padding:10px;display:flex}.layout-summary article>div{gap:3px;display:grid}.layout-summary small{color:var(--muted);font-size:8px}.layout-summary strong{font-size:18px}.layout-summary .metric-icon{width:37px;height:37px}.layout-workspace{grid-template-columns:minmax(0,1.4fr) minmax(330px,.8fr);gap:10px;display:grid}.fullscreen-layout-button{color:#573f63;white-space:nowrap;background:#f5eff7;border:1px solid #cfc0d5;border-radius:7px;align-items:center;gap:6px;min-height:31px;padding:0 9px;font-size:8px;font-weight:800;display:inline-flex}.fullscreen-layout-button:hover{color:#fff;background:#563f64}.layout-workspace:fullscreen{background:#ede8e4;grid-template-columns:minmax(0,1.6fr) minmax(370px,.7fr);gap:12px;width:100vw;height:100vh;padding:12px;overflow:hidden}:is(.layout-workspace:fullscreen .room-explorer,.layout-workspace:fullscreen .room-detail){height:calc(100vh - 24px);min-height:0}.layout-workspace:fullscreen .room-explorer{grid-template-rows:auto minmax(0,1fr) auto;display:grid}.layout-workspace:fullscreen .layout-visual{min-height:0}.layout-workspace:fullscreen .layout-visual.real-3d{height:auto}.layout-workspace:fullscreen .layout-visual>img{height:100%;min-height:0}.layout-workspace:fullscreen .room-detail{overflow-y:auto}.layout-workspace:fullscreen .room-3d{min-height:285px}.layout-workspace:fullscreen .room-3d-floor{gap:18px 22px}.room-explorer,.room-detail{background:#fff;border:1px solid #e1d9d4;border-radius:11px;min-height:440px;overflow:hidden;box-shadow:0 7px 24px #30203309}.room-explorer>header,.room-detail>header{background:#faf8f7;border-bottom:1px solid #e8e1dc;justify-content:space-between;align-items:center;min-height:58px;padding:11px 14px;display:flex}.room-explorer h3,.room-detail h3{margin:0;font-size:13px}.room-explorer header p{color:var(--muted);margin:4px 0 0;font-size:8px}.layout-visual{isolation:isolate;background:#1d2630;min-height:370px;position:relative;overflow:hidden}.layout-visual>img{object-fit:cover;object-position:center;width:100%;height:100%;min-height:370px;display:block}.layout-visual.real-3d{cursor:grab;background:#dfe9ed;border-top:1px solid #d5cbc4;height:510px;min-height:510px;box-shadow:inset 0 0 55px #32394214}.layout-visual.real-3d:active{cursor:grabbing}.hostel-3d-canvas{position:absolute;inset:0}.hostel-3d-canvas canvas{touch-action:none;display:block;width:100%!important;height:100%!important}.model-toolbar{z-index:5;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#ffffff75;border:1px solid #ffffffa3;border-radius:9px;align-items:center;gap:6px;padding:4px;display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 8px 25px #27252b21}.model-toolbar span,.model-toolbar button{color:#4b5056;background:#fffc;border:1px solid #2f394121;border-radius:6px;padding:6px 8px;font-size:6.5px;font-weight:700}.model-toolbar button{cursor:pointer;color:#fff;background:linear-gradient(135deg,#5b4268,#392a43);box-shadow:0 4px 11px #392a4338}.model-toolbar button:hover{background:#33263d}.model-building-sign{color:#583f2c;letter-spacing:.12em;white-space:nowrap;background:#fff7dce0;border-radius:3px;padding:4px 8px;font-size:8px;font-weight:900;box-shadow:0 3px 10px #2c1f1924}.model-floor-label,.model-room-label{color:#fff;white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#2d2231db;border:1px solid #ffffff8a;font-family:Plus Jakarta Sans,sans-serif;box-shadow:0 4px 13px #00000047}.model-floor-label{border-radius:7px;padding:6px 9px;font-size:8px;font-weight:800}.model-floor-label.active{color:#34273a;background:#f3d064;border-color:#f3d064}.model-room-label{text-align:center;border-radius:6px;gap:1px;min-width:52px;padding:4px 7px;display:grid}.model-room-label strong{font-size:8px}.model-room-label span{color:#dcd0df;font-size:6px}.model-room-label.selected{color:#34273a;background:#f7d05e;border-color:#f7d05e;box-shadow:0 0 0 3px #f7d05e47,0 5px 16px #00000052}.model-room-label.selected span{color:#66512a}.visual-shade{z-index:1;pointer-events:none;background:linear-gradient(90deg,#14131980 0,#1413190a 30%,#14131905 72%,#1413193d 100%),linear-gradient(#0000 64%,#1512195c);position:absolute;inset:0}.building-title{z-index:3;color:#fff;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#1f1825c2;border:1px solid #ffffff4d;border-radius:8px;align-items:center;gap:8px;max-width:70%;min-height:35px;padding:0 14px;font-size:10px;font-weight:800;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 7px 20px #0a080c40}.floor-rail{z-index:4;flex-direction:column-reverse;justify-content:space-around;gap:6px;display:flex;position:absolute;top:58px;bottom:18px;left:10px}.floor-rail button{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1d1921bd;border:1px solid #ffffff42;border-radius:7px;min-width:76px;min-height:34px;padding:6px 10px;font-size:8px;font-weight:700;box-shadow:0 5px 14px #0c090f2e}.floor-rail button:hover,.floor-rail button.active{color:#33263a;background:#f3d06b;border-color:#f3d06b}.room-hotspot{z-index:4;color:#fff;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#281e2ed4;border:1px solid #ffffffb8;border-radius:7px;place-content:center;gap:1px;width:63px;min-height:45px;padding:4px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 5px 16px #0a080c52}.room-hotspot span{font-size:9px;font-weight:800}.room-hotspot strong{font-size:8px}.room-hotspot:hover,.room-hotspot.selected{color:#2e2234;background:#f7d264;border-color:#f7d264;box-shadow:0 0 0 3px #f7d2644d,0 8px 22px #0a080c59}.visual-empty{z-index:4;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#241b2ac2;border:1px solid #ffffff38;border-radius:8px;padding:9px 14px;font-size:8px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.visual-room-strip{background:#faf8f7;border-top:1px solid #e7dfda;gap:8px;min-height:62px;padding:9px 11px;display:flex;overflow-x:auto}.visual-room-strip:empty{display:none}.visual-room-strip button{color:#554a58;text-align:left;background:#fff;border:1px solid #ddd4cf;border-radius:8px;align-content:center;gap:3px;min-width:82px;padding:7px 10px;display:grid}.visual-room-strip button span{font-size:9px;font-weight:800}.visual-room-strip button strong{color:var(--muted);font-size:8px}.visual-room-strip button:hover,.visual-room-strip button.selected{background:#f2ebf4;border-color:#684e75;box-shadow:inset 0 0 0 1px #563f641f}.floor-tabs{border-bottom:1px solid #e8e1dc;gap:6px;padding:10px 12px;display:flex;overflow-x:auto}.floor-tabs button{color:#615663;background:#fff;border:1px solid #ddd4cf;border-radius:7px;min-width:90px;height:34px;padding:0 11px;font-size:9px}.floor-tabs button.active{color:#fff;background:#563f64;border-color:#563f64}.room-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px;display:grid}.room-grid button{color:#4f4552;text-align:left;background:#fff;border:1px solid #dfd7d2;border-radius:10px;align-content:center;gap:5px;min-height:105px;padding:12px;display:grid}.room-grid button:hover{background:#fcf9fd;border-color:#b8a6bf}.room-grid button.selected{background:#f7f1f8;border-color:#6a4c78;box-shadow:inset 0 0 0 2px #563f641f}.room-grid button span{color:#322739;font-size:11px;font-weight:700}.room-grid button strong{font-size:20px}.room-grid button small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.layout-empty{color:var(--muted);text-align:center;grid-column:1/-1;align-self:center;padding:55px 20px;font-size:9px}.room-detail>header>div{align-items:center;gap:8px;display:flex}.room-state{color:#8a4a42;background:#fdeae7;border-radius:99px;padding:4px 7px;font-size:7px;font-weight:800}.room-state.active{color:#24704e;background:#e3f5ea}.room-meta{border-bottom:1px solid #ece5e1;gap:6px;padding:10px 12px;display:flex}.room-meta span{color:#65576a;background:#f2edf3;border-radius:7px;padding:5px 8px;font-size:8px}.room-3d{perspective:650px;background:linear-gradient(145deg,#f4eee7 0 47%,#d7c5b6 48% 100%);border:1px solid #d8cfc9;border-radius:10px;min-height:225px;margin:10px 12px 2px;position:relative;overflow:hidden;box-shadow:inset 0 0 28px #3f2a2214}.room-3d:before{content:"";pointer-events:none;background:linear-gradient(90deg,#ffffff9e,#0000 35%),linear-gradient(#0000 55%,#4e362b1a);position:absolute;inset:0}.room-3d:after{content:"";z-index:0;clip-path:polygon(25% 0,100% 0,100% 100%,0 77%);background:#eee4db;border-left:1px solid #664c3d2e;width:34%;height:68%;position:absolute;top:0;right:0}.room-3d-title{z-index:3;color:#fff;background:#3a2a40db;border-radius:6px;align-items:center;gap:6px;padding:5px 8px;font-size:8px;font-weight:800;display:flex;position:absolute;top:9px;left:10px}.room-3d-window{z-index:1;background:#9cc4d1;border:5px solid #a17d62;grid-template-columns:repeat(3,1fr);gap:2px;width:76px;height:55px;padding:4px;display:grid;position:absolute;top:22px;right:19px;box-shadow:inset 0 0 18px #fff4bebf,0 4px 8px #3e2b2221}.room-3d-window span{border-left:1px solid #4f636a73}.room-3d-floor{z-index:2;transform-origin:bottom;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:12px 16px;padding:8px 3px;display:grid;position:absolute;inset:58px 12px 10px;transform:rotateX(4deg)}.room-bed{grid-template-columns:78px minmax(0,1fr);align-items:center;gap:7px;min-width:0;display:grid}.bed-frame{background:#e8ddd4;border:4px solid #6c4b3e;border-radius:5px 9px 4px 4px;height:42px;position:relative;transform:skewY(-4deg);box-shadow:5px 7px #b89982,6px 9px 8px #3926203d}.bed-frame:before,.bed-frame:after{content:"";background:#594037;border-radius:0 0 2px 2px;width:4px;height:10px;position:absolute;bottom:-10px}.bed-frame:before{left:-3px}.bed-frame:after{right:-3px}.bed-pillow{background:#fffaf2;border-radius:5px;width:19px;height:13px;position:absolute;top:4px;left:4px;box-shadow:inset 0 0 0 1px #5e453b1a}.bed-blanket{background:linear-gradient(135deg,#886898,#5c4268);border-radius:3px;position:absolute;inset:3px 3px 3px 27px}.room-bed.vacant .bed-blanket{background:linear-gradient(135deg,#b8c1c6,#87949b)}.bed-label{background:#ffffffc7;border-radius:6px;gap:2px;min-width:0;padding:5px 6px;display:grid;box-shadow:0 2px 8px #3b292217}.bed-label strong{color:#503c58;font-size:8px}.bed-label span{color:#3f3940;text-overflow:ellipsis;white-space:nowrap;font-size:7px;font-weight:700;overflow:hidden}.bed-label small{color:var(--muted);text-overflow:ellipsis;font-size:6px;overflow:hidden}.room-bed.vacant .bed-label span{color:#718087}.student-live-state{text-overflow:ellipsis;white-space:nowrap;border-radius:99px;width:max-content;max-width:100%;margin-top:2px;padding:2px 5px;font-size:6px;font-style:normal;font-weight:800;overflow:hidden}.student-live-state.in-hostel{color:#20704b;background:#dff3e7}.student-live-state.school{color:#276ca0;background:#e1f0fa}.student-live-state.sick{color:#6b45a0;background:#efe6fa}.student-live-state.outing{color:#966114;background:#fff0d1}.student-live-state.absent{color:#ab403c;background:#fbe4e2}.room-3d-empty{color:#fff;background:#3f3043bd;border-radius:7px;grid-column:1/-1;justify-self:center;padding:8px 11px;font-size:8px}.cot-heading{justify-content:space-between;align-items:center;padding:11px 12px 8px;display:flex}.cot-heading h4{margin:0;font-size:10px}.cot-heading button{color:#5c4268;background:#f6f0f7;border:1px solid #d6c9db;border-radius:7px;align-items:center;gap:5px;padding:6px 9px;font-size:8px;font-weight:700;display:flex}.cot-grid{grid-template-columns:1fr 1fr;gap:8px;padding:4px 12px 12px;display:grid}.cot-grid article{background:#faf9f8;border:1px solid #ded7d2;border-radius:9px;min-height:74px;padding:9px}.cot-grid article.occupied{background:#f0f9f4;border-color:#c8dfd2}.cot-grid article header{justify-content:space-between;gap:8px;display:flex}.cot-grid article header strong{font-size:9px}.cot-grid article header span{color:#707a75;font-size:7px;font-weight:700}.cot-grid article p{color:#4e4650;margin:10px 0 2px;font-size:9px;font-weight:700}.cot-grid article small{color:var(--muted);font-size:7px}.cot-grid article .student-live-state{margin-top:5px;display:block}@media (width<=1050px){.layout-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.layout-workspace{grid-template-columns:1fr}.room-detail{min-height:300px}.layout-workspace:fullscreen{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)}}@media (width<=700px){.layout-tabs{flex-direction:column;align-items:stretch}.layout-summary,.room-grid{grid-template-columns:1fr 1fr}.layout-visual,.layout-visual>img{min-height:310px}.floor-rail button{min-width:65px}.room-hotspot{width:52px;min-height:39px}.layout-workspace:fullscreen{grid-template-columns:1fr;overflow-y:auto}:is(.layout-workspace:fullscreen .room-explorer,.layout-workspace:fullscreen .room-detail){height:auto;min-height:520px}}@media (width<=450px){.layout-summary,.room-grid,.cot-grid{grid-template-columns:1fr}.layout-visual,.layout-visual>img{min-height:270px}.building-title{width:max-content;max-width:calc(100% - 22px)}.floor-rail{top:53px}.floor-rail button{min-width:56px;padding:5px;font-size:7px}.room-hotspot{width:46px;min-height:36px}.room-3d-floor{grid-template-columns:1fr;overflow-y:auto}}.attendance-page{gap:10px;display:grid}.attendance-date{color:#57475e;background:#fff;border:1px solid #ddd3ce;border-radius:8px;align-items:center;gap:7px;padding:9px 12px;font-size:9px;font-weight:700;display:flex}.attendance-periods{background:#fff;border:1px solid #dfd7d2;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.attendance-periods button{color:#554b58;text-align:left;background:#fff;border:0;border-right:1px solid #e5ddd8;align-items:center;gap:10px;min-height:64px;padding:9px 14px;display:flex}.attendance-periods button:last-child{border-right:0}.attendance-periods button>span{color:#8c651f;background:#fff2d9;border-radius:9px;flex:none;place-items:center;width:36px;height:36px;display:grid}.attendance-periods button:last-child>span{color:#7048a0;background:#f1e9fa}.attendance-periods button>div{gap:3px;display:grid}.attendance-periods strong{font-size:10px}.attendance-periods small{color:var(--muted);font-size:8px}.attendance-periods button.active{color:#fff;background:#563e64}.attendance-periods button.active>span{color:#fff;background:#ffffff21}.attendance-periods button.active small{color:#d9cddd}.attendance-workspace{background:#fff;border:1px solid #e1d9d4;border-radius:11px;overflow:hidden;box-shadow:0 7px 24px #30203309}.attendance-workspace>header{background:#faf8f7;border-bottom:1px solid #e8e1dc;align-items:center;min-height:48px;padding:0 14px;display:flex}.attendance-workspace>header>div{align-items:center;gap:10px;display:flex}.attendance-workspace h3{margin:0;font-size:13px}.session-state{color:#7d526f;background:#efe6ee;border-radius:99px;padding:5px 8px;font-size:8px;font-weight:800}.session-state.open{color:#23704f;background:#def3e7}.attendance-empty{color:#6a5871;text-align:center;place-content:center;justify-items:center;min-height:300px;padding:30px;display:grid}.attendance-empty h4{margin:12px 0 5px;font-size:13px}.attendance-empty p{max-width:520px;color:var(--muted);margin:0;font-size:9px;line-height:1.6}.attendance-summary{border-bottom:1px solid #e8e1dc;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:11px 12px;display:grid}.attendance-summary article{border:1px solid #e5ded9;border-radius:9px;align-items:center;gap:9px;min-height:61px;padding:9px;display:flex}.attendance-summary article>div{gap:3px;display:grid}.attendance-summary small{color:var(--muted);font-size:8px}.attendance-summary strong{font-size:18px}.attendance-summary .metric-icon{width:35px;height:35px}.metric-icon.green{color:#24754f;background:#e3f5ea}.metric-icon.red{color:#b54844;background:#fbe9e7}.metric-icon.slate{color:#657384;background:#edf1f4}.attendance-filters{border-bottom:1px solid #e8e1dc;grid-template-columns:repeat(4,minmax(110px,.7fr)) minmax(220px,1.5fr);gap:8px;padding:10px 12px;display:grid}.attendance-filters select{color:#4c434f;background:#fff;border:1px solid #ded5cf;border-radius:8px;height:36px;padding:0 9px;font-size:9px}.attendance-table-wrap{overflow-x:auto}.attendance-table-wrap table{border-collapse:collapse;width:100%;min-width:920px}.attendance-table-wrap th{color:#4d4651;text-align:left;text-transform:uppercase;background:#eef5f8;border-bottom:1px solid #dce3e7;height:38px;padding:0 10px;font-size:8px}.attendance-table-wrap td{color:#514953;border-bottom:1px solid #eee9e6;height:45px;padding:6px 10px;font-size:9px}.attendance-status,.remarks-input{color:#514953;background:#fff;border:1px solid #ddd5d0;border-radius:7px;width:100%;height:31px;padding:0 8px;font-size:8px}.attendance-status.present{color:#20704b;background:#e4f5ea}.attendance-status.absent{color:#a7413c;background:#fde9e7}.attendance-status.sick,.attendance-status.sick_leave{color:#654398;background:#f0e8fa}.attendance-status.outing{color:#996315;background:#fff2da}.attendance-actions{justify-content:space-between;align-items:center;gap:15px;min-height:58px;padding:10px 13px;display:flex}.attendance-actions>div{gap:3px;display:grid}.attendance-notice{color:#23704f;font-size:9px}.attendance-error{color:#a8453d;font-size:9px}@media (width<=1100px){.attendance-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-filters{grid-template-columns:repeat(2,minmax(130px,1fr))}.attendance-filters .staff-search{grid-column:1/-1}}@media (width<=700px){.attendance-periods{grid-template-columns:1fr 1fr}.attendance-periods button:nth-child(2){border-right:0}.attendance-periods button:nth-child(-n+2){border-bottom:1px solid #e5ddd8}.attendance-summary{grid-template-columns:1fr 1fr}}@media (width<=450px){.attendance-periods,.attendance-summary,.attendance-filters{grid-template-columns:1fr}.attendance-periods button{border-bottom:1px solid #e5ddd8;border-right:0}.attendance-filters .staff-search{grid-column:auto}}.students-management-page{gap:14px;display:grid}.student-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.student-breadcrumb{color:#6d6370;align-items:center;gap:8px;font-size:11px;display:flex}.student-breadcrumb span:last-child{color:#3c3042;font-weight:800}.students-management-page .staff-page-header{padding:14px 16px}.students-management-page .primary-action{background:#1476df;border-radius:8px;min-height:42px;padding:0 15px}.student-search-button{color:#fff;background:#1476df;border:0;border-radius:7px;align-items:center;gap:6px;min-height:38px;padding:0 16px;font-weight:800;display:flex}.student-row-actions{align-items:center;gap:6px;display:flex}.delete-row{color:#c43f3b;background:#fff0ef;border:1px solid #efb9b7;border-radius:7px;place-items:center;width:29px;height:29px;display:grid}.delete-row:hover{color:#fff;background:#d94a45}.force-delete-student{color:#fff;white-space:nowrap;background:#c53b37;border:1px solid #c53b37;border-radius:7px;min-width:72px;height:29px;padding:0 9px;font-size:9px;font-weight:700}.force-delete-student:hover{background:#a92f2b}.force-delete-student:disabled{cursor:not-allowed;opacity:.6}.student-summary-card{border:1px solid;border-radius:10px;align-items:center;gap:12px;min-height:82px;padding:13px;display:flex}.student-summary-card>span{background:#ffffff9e;border-radius:10px;flex:none;place-items:center;width:41px;height:41px;display:grid}.student-summary-card>div{gap:2px;display:grid}.student-summary-card small{font-size:9px;font-style:normal}.student-summary-card strong{font-size:20px}.student-summary-card em{opacity:.68;font-size:7.5px;font-style:normal}.student-summary-card.blue{color:#235f91;background:#eaf5fc;border-color:#c7dded}.student-summary-card.green{color:#24704e;background:#eaf7ef;border-color:#c2dfce}.student-summary-card.pink{color:#a84370;background:#faecf3;border-color:#e8c9d8}.student-summary-card.gold{color:#8e6319;background:#fff7df;border-color:#ead9a9}.student-summary-card.slate{color:#586578;background:#f0f3f6;border-color:#d8dee5}.student-table-card{background:#fff;border:1px solid #e1d9d4;border-radius:11px;overflow:hidden;box-shadow:0 7px 24px #30203309}.student-search-row{gap:10px;padding:12px 12px 8px;display:flex}.student-search-row .staff-search{flex:1}.student-filters{border-bottom:1px solid #e8e1dc;grid-template-columns:repeat(7,minmax(100px,1fr));gap:8px;padding:0 12px 12px;display:grid}.student-filter{gap:5px;display:grid}.student-filter>span{color:#685e6b;font-size:8px;font-weight:700}.student-filter select{color:#4a414d;background:#fff;border:1px solid #ddd4cf;border-radius:8px;outline:none;width:100%;height:36px;padding:0 9px;font-size:9px}.student-filter select:focus{border-color:#8b7198;box-shadow:0 0 0 3px #49355a12}.student-table-wrap{overflow-x:auto}.student-table-wrap table{border-collapse:collapse;width:100%;min-width:1320px}.student-table-wrap th{color:#4e4652;text-align:left;letter-spacing:.02em;text-transform:uppercase;background:#f5f3f4;border-bottom:1px solid #dfe2e7;height:40px;padding:0 9px;font-size:7.5px;font-weight:800}.student-table-wrap td{color:#524956;white-space:nowrap;border-bottom:1px solid #eee9e6;height:44px;padding:7px 9px;font-size:8.5px}.student-table-wrap tbody tr:hover td{background:#fbf8fc}.table-badge.prestigious-yes{color:#1f754d;background:#def3e7}.table-badge.prestigious-no{color:#66717e;background:#edf0f3}.checkbox-field{grid-template-columns:auto 1fr;align-self:end;align-items:center;min-height:39px;display:flex!important}.checkbox-field input{accent-color:#49355a;width:16px;height:16px}.checkbox-field span{font-size:10px!important}.student-assignment-modal{width:min(940px,100vw - 32px);max-height:92vh;overflow-y:auto}.student-assignment-modal form{gap:0;display:grid}.student-form-section{border-bottom:1px solid #ebe3df;padding:16px 20px}.student-form-section>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.student-form-section>header strong{color:#3e3342;font-size:12px}.student-form-section>header span{color:#8a7d8d;font-size:9px}.student-assignment-modal .assignment-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.student-assignment-modal select:disabled{cursor:not-allowed;opacity:.55}.uppercase-student-fields input:not([type=date]),.uppercase-student-fields select{text-transform:uppercase}.student-field-help{color:#8a7f89;text-transform:none;margin-top:-2px;font-size:7px;font-weight:500}@media (width<=1150px){.student-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.student-filters{grid-template-columns:repeat(4,minmax(110px,1fr))}}@media (width<=700px){.student-summary-grid,.student-filters,.student-assignment-modal .assignment-grid{grid-template-columns:1fr 1fr}}@media (width<=450px){.student-summary-grid,.student-filters{grid-template-columns:1fr}}.layout-page-actions,.room-interior-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.secondary-action{color:#543f60;background:#fff;border:1px solid #cdbfd2;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-size:9px;font-weight:800;display:inline-flex}.secondary-action:hover{background:#f5eff7;border-color:#765f80}.secondary-action:disabled{cursor:not-allowed;opacity:.45}.hostel-building-2d{background:#f2ede8;border:1px solid #d7ccc4;border-radius:14px;width:min(1160px,100%);margin:2px auto 22px;animation:.32s both layoutEnter;position:relative;overflow:hidden;box-shadow:0 22px 52px #3123321f}.wing-building-stack{gap:18px;display:grid}.wing-building-stack .hostel-building-2d{margin-bottom:0}.wing-building-stack .hostel-building-2d:nth-child(2){animation-delay:60ms}.wing-building-stack .hostel-building-2d:nth-child(3){animation-delay:.12s}.hostel-building-2d>header{color:#fff;text-align:center;background:linear-gradient(135deg,#31243a,#5a4265);flex-direction:column;justify-content:center;align-items:center;min-height:76px;padding:12px 18px;display:flex}.hostel-building-2d>header span{color:#d9cadd;letter-spacing:.16em;text-transform:uppercase;font-size:7px;font-weight:800}.hostel-building-2d>header h3{color:#fff;letter-spacing:.02em;margin:5px 0 2px;font:700 18px Georgia,serif}.hostel-building-2d>header p{color:#ded3e1;margin:0;font-size:8px}.building-roof{background:linear-gradient(#efe8e1 0 60%,#765866 61% 100%);grid-template-columns:1fr auto 1fr;align-items:end;gap:12px;height:35px;padding:0 8%;display:grid}.building-roof span{border:3px solid #765866;border-bottom-width:0;height:15px}.building-roof strong{color:#5d4334;letter-spacing:.12em;text-transform:uppercase;background:#fff7de;border:1px solid #c4a979;border-radius:4px;align-self:center;padding:5px 14px;font-size:8px;box-shadow:0 4px 12px #452f261f}.building-storeys{background:linear-gradient(90deg,#d7c6b7,#f4ebe2 9%,#f7efe7 91%,#d7c6b7);padding:0 3.2% 8px}.building-storey{background:#e8dbce;border-bottom:8px solid #765866;grid-template-columns:112px minmax(0,1fr);min-height:156px;display:grid;position:relative;box-shadow:inset 0 1px #ffffffe6}.building-storey:before,.building-storey:after{content:"";z-index:4;background:linear-gradient(90deg,#6f5045,#9b7462);width:13px;position:absolute;top:0;bottom:-8px;box-shadow:0 3px 8px #402a252e}.building-storey:before{left:0}.building-storey:after{right:0}.building-storey>aside{z-index:5;color:#594551;background:linear-gradient(90deg,#d6c4b4,#eadfd4);flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding:15px 16px 22px 24px;display:flex;position:relative}.building-storey>aside strong{font-size:9px}.building-storey>aside small{color:#8a7b80;font-size:7px}.storey-corridor{background:linear-gradient(#f3e8dd,#e8d9ca);min-width:0;padding:15px 23px 38px 9px;position:relative}.room-facades{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:stretch;gap:12px 10px;padding:0 4px;display:grid;overflow:visible}.facade-room{--room-accent:#8b6f61;border:1px solid color-mix(in srgb, var(--room-accent) 38%, #d8c9bd);border-top:4px solid var(--room-accent);color:#493d47;background:linear-gradient(135deg, var(--room-bg-start,#f8f1e9), var(--room-bg-end,#e7d7c8));cursor:pointer;border-radius:6px 6px 2px 2px;width:100%;min-width:0;min-height:120px;transition:transform .22s,border-color .22s,box-shadow .22s;position:relative;overflow:hidden;box-shadow:0 7px 15px #4b322b14}.facade-room.room-purpose-student{--room-accent:#2878c8;--room-bg-start:#f1f8ff;--room-bg-end:#d8eafb}.facade-room.room-purpose-staff{--room-accent:#8052ae;--room-bg-start:#f8f2ff;--room-bg-end:#e6d8f5}.facade-room.room-purpose-worker{--room-accent:#c27617;--room-bg-start:#fff8e9;--room-bg-end:#f4dfb8}.facade-room.room-purpose-store{--room-accent:#617384;--room-bg-start:#f3f6f8;--room-bg-end:#dce4e9}.facade-room.room-purpose-office{--room-accent:#4f56b7;--room-bg-start:#f2f3ff;--room-bg-end:#dcdef4}.facade-room.room-purpose-medical{--room-accent:#c44753;--room-bg-start:#fff4f5;--room-bg-end:#f5d9dc}.facade-room.room-purpose-maintenance{--room-accent:#d25f24;--room-bg-start:#fff4eb;--room-bg-end:#f1d5c1}.facade-room.room-purpose-mixed{--room-accent:#248879;--room-bg-start:#effcf9;--room-bg-end:#d2eee8}.facade-room.room-purpose-other{--room-accent:#75676f;--room-bg-start:#f7f3f5;--room-bg-end:#e4dce0}.facade-room:hover{z-index:3;border-color:#7b5d87;transform:translateY(-4px);box-shadow:0 12px 25px #3f2c442e,inset 0 0 0 2px #5b416814}.facade-window{background:linear-gradient(145deg,#cce8ed,#83b3c3);border:5px solid #91725f;grid-template-columns:1fr 1fr;gap:2px;width:56px;height:42px;padding:4px;display:grid;position:absolute;top:14px;left:15px;box-shadow:inset 0 0 13px #fff9}.facade-window i{border-right:1px solid #3e5b6559}.facade-door{color:#ddb84e;background:linear-gradient(135deg,#5e3c37,#795247);border:4px solid #81604f;border-radius:2px 2px 0 0;place-items:center;width:40px;height:70px;transition:filter .2s;display:grid;position:absolute;top:10px;right:17px}.facade-room:hover .facade-door{filter:brightness(1.18)}.facade-room-label{z-index:2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffffe6;border:1px solid #ffffffa6;border-radius:6px;justify-content:space-between;align-items:flex-end;gap:8px;padding:6px 8px;display:flex;position:absolute;bottom:7px;left:8px;right:8px;box-shadow:0 3px 10px #3928261a}.facade-room-label strong{font-size:11px}.facade-room-meta{text-align:right;gap:3px;min-width:0;display:grid}.facade-room-label small{color:var(--room-accent);font-size:8.5px;font-weight:900}.facade-room-label em{color:#554c52;white-space:nowrap;font-size:8px;font-style:normal;font-weight:800}.corridor-rail{z-index:5;border-top:4px solid #514b53;justify-content:space-around;height:25px;display:flex;position:absolute;bottom:5px;left:5px;right:17px}.corridor-rail i{background:#514b53;width:3px;height:24px}.empty-storey-room{color:#755f7d;background:#ffffff73;border:1px dashed #b49fae;border-radius:8px;align-self:center;width:min(460px,100%);min-height:88px;font-size:8px;font-weight:800}.filtered-storey-room{color:#695870;text-align:center;background:#ffffff7a;border:1px dashed #b9acbd;border-radius:8px;place-content:center;align-self:center;justify-items:center;gap:4px;width:min(460px,100%);min-height:88px;display:grid}.filtered-storey-room strong{font-size:9px}.filtered-storey-room small{color:#887b8c;font-size:8px}.empty-building-floor,.building-state{color:#776b77;text-align:center;place-items:center;min-height:260px;padding:35px;font-size:10px;display:grid}.hostel-building-2d>footer{color:#e9dde8;background:#35273e;justify-content:space-between;align-items:center;min-height:42px;padding:0 22px;font-size:7px;display:flex}.room-interior-view{gap:12px;animation:.34s cubic-bezier(.2,.78,.25,1) both roomEnter;display:grid}.room-interior-header{background:#fff;border:1px solid #ded5d0;border-radius:11px;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;min-height:74px;padding:11px 14px;display:grid;box-shadow:0 7px 23px #2f21300a}.room-interior-header>button{color:#5c4666;background:#f7f2f8;border:1px solid #d8ced9;border-radius:8px;align-items:center;gap:6px;width:max-content;padding:8px 10px;font-size:8px;font-weight:800;display:flex}.room-interior-header>div:nth-child(2){text-align:center}.room-interior-header>div:nth-child(2) span{color:#a75b45;letter-spacing:.14em;text-transform:uppercase;font-size:7px;font-weight:800}.room-interior-header h3{margin:3px 0 2px;font:700 19px Georgia,serif}.room-interior-header p{color:var(--muted);margin:0;font-size:8px}.room-interior-actions{justify-self:end}.room-interior-actions>button:not(.primary-action){color:#5d4865;background:#fff;border:1px solid #d8ced9;border-radius:8px;align-items:center;gap:6px;min-height:36px;padding:0 10px;font-size:8px;font-weight:800;display:flex}.room-capacity-strip{justify-content:center;gap:9px;display:flex}.room-capacity-strip span{color:#5a4f59;background:#fff;border:1px solid #dfd7d2;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-width:125px;padding:10px 13px;font-size:8px;display:flex}.room-capacity-strip strong{font-size:14px}.room-capacity-strip .occupied{color:#27704f;background:#eef8f2}.room-capacity-strip .vacant{color:#66727d;background:#f2f5f6}.room-floor-plan{background:repeating-linear-gradient(90deg,#79574109 0 1px,#0000 1px 70px),repeating-linear-gradient(0deg,#79574109 0 1px,#0000 1px 70px),#f2e8dc;border:16px solid #725848;border-radius:11px;min-height:510px;padding:67px 58px 64px;position:relative;box-shadow:inset 0 0 45px #5b423314,0 18px 45px #36252c1a}.room-floor-plan:before{content:"";pointer-events:none;border:1px solid #6f523f26;position:absolute;inset:12px}.room-windows{justify-content:space-around;display:flex;position:absolute;top:-16px;left:10%;right:10%}.room-windows span{color:#4d7581;text-transform:uppercase;background:repeating-linear-gradient(90deg,#bce1e8 0 38px,#719cac 39px 41px);border:0 solid #855f48;border-width:0 7px;place-items:center;width:125px;height:23px;font-size:6px;font-weight:800;display:grid}.room-bed-grid{grid-template-columns:repeat(var(--bed-columns), minmax(150px, 1fr));align-content:center;gap:26px 34px;min-height:350px;display:grid}.floor-plan-bed{color:#443943;text-align:left;cursor:pointer;background:#f7f2ea;border:5px solid #76574a;border-radius:8px 13px 8px 8px;grid-template-columns:38px 1fr;min-height:154px;padding:12px;transition:transform .2s,box-shadow .2s;display:grid;position:relative;box-shadow:8px 10px #b69a83,9px 13px 18px #442d252e}.floor-plan-bed:hover{transform:translateY(-5px);box-shadow:8px 14px #a98a72,10px 20px 25px #442d2533}.floor-plan-bed.vacant{border-color:#8d989d;box-shadow:8px 10px #bec6c9,9px 13px 18px #3e454821}.bed-head{background:#fffdf8;border-radius:7px 0 0 7px;position:relative;box-shadow:inset 0 0 0 1px #e0d3c7}.bed-head i{background:#fff;border-radius:8px;height:38px;position:absolute;top:12px;left:5px;right:5px;box-shadow:0 2px 6px #4230291f}.bed-body{background:linear-gradient(135deg,#765381,#4f3960);border-radius:0 7px 7px 0;flex-direction:column;justify-content:center;gap:4px;min-width:0;padding:9px 11px;display:flex}.vacant .bed-body{background:linear-gradient(135deg,#aeb9bd,#78868c)}.bed-body strong{color:#fff;font-size:9px}.bed-body em{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-style:normal;font-weight:800;overflow:hidden}.bed-body small{color:#ffffffb3;font-size:6.5px}.bed-body .student-live-state{margin-top:5px}.floor-plan-bed.occupied{grid-template-columns:42px minmax(0,1fr);min-height:205px}.floor-plan-bed.occupied .bed-body{justify-content:flex-start;gap:9px;padding:13px 15px}.bed-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.bed-card-top>strong{letter-spacing:.04em;font-size:12px}.bed-card-top .student-live-state{text-align:center;border:1px solid #ffffff80;border-radius:999px;min-width:78px;margin:0;padding:7px 11px;font-size:10px;font-weight:900;line-height:1;box-shadow:0 3px 10px #00000029}.bed-card-top .student-live-state.in-hostel{color:#0c633b;background:#e6f8ed;border-color:#bce8cf}.bed-student-name{border-bottom:1px solid #ffffff2e;gap:2px;padding-bottom:8px;display:grid}.bed-student-name>small{color:#ffffffb8;text-transform:uppercase;letter-spacing:.06em;font-size:8px;font-weight:700}.bed-student-name>em{color:#fff;white-space:normal;font-size:16px;font-style:normal;font-weight:900;line-height:1.2}.bed-student-name>i{color:#ffffffb8;font-size:8px;font-style:normal}.bed-student-details{grid-template-columns:repeat(2,minmax(72px,1fr));gap:7px;display:grid}.bed-student-details>span{background:#ffffff1c;border-radius:6px;gap:3px;min-width:0;padding:8px;display:grid}.bed-student-details small{color:#ffffffb3;text-transform:uppercase;letter-spacing:.04em;font-size:7px;font-weight:700}.bed-student-details b{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.25;overflow:hidden}.vacant-cot-label{margin:auto 0;font-size:12px!important}.floor-plan-bunk{background:linear-gradient(135deg,#876858,#654a3f);border:5px solid #5d4439;border-radius:10px;align-self:start;min-width:0;padding:8px;overflow:hidden;box-shadow:9px 12px #aa8b76,10px 16px 22px #442d2533}.floor-plan-bunk>header{color:#fff;align-items:center;gap:7px;padding:4px 5px 10px;display:flex}.floor-plan-bunk>header strong{font-size:10px}.floor-plan-bunk>header em{color:#553b2f;background:#f1d49a;border-radius:999px;padding:3px 6px;font-size:7px;font-style:normal;font-weight:900}.floor-plan-bunk>header span{color:#eadfd7;margin-left:auto;font-size:7px}.floor-plan-bunk>div{gap:7px;display:grid}.floor-plan-bunk.double-bunker>div{grid-template-columns:repeat(2,minmax(0,1fr))}.floor-plan-bunk .floor-plan-bed{width:100%;min-height:145px;box-shadow:none;border-width:3px;transform:none}.floor-plan-bunk .floor-plan-bed.occupied{min-height:205px}.floor-plan-bunk .floor-plan-bed:hover{transform:translate(3px);box-shadow:0 6px 14px #28191433}.bunk-position{color:#fff4ca;letter-spacing:.05em;background:#ffffff24;border-radius:5px;margin-left:auto;padding:4px 6px;font-size:7px;font-style:normal;font-weight:900}.bunk-position+.student-live-state{margin-left:0}.empty-room-actions{gap:8px;display:flex}.empty-room-actions button{color:#543f60;background:#fff;border:1px solid #cdbfd2;border-radius:7px;align-items:center;gap:6px;min-height:36px;padding:0 11px;font-size:8px;font-weight:800;display:inline-flex}.room-cupboard-zone{z-index:2;background:linear-gradient(135deg,#fffaf0f0,#e1ceb5f0);border:1px solid #b89d82;border-radius:10px;gap:10px;margin-top:36px;padding:14px;display:grid;position:relative;box-shadow:0 10px 24px #4d33241c}.cupboard-zone-title{color:#654b35;align-items:center;gap:8px;display:flex}.cupboard-zone-title>span{gap:2px;display:grid}.cupboard-zone-title strong{font-size:10px}.cupboard-zone-title small{color:#8a7767;font-size:7px}.cupboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.room-cupboard{background:#8a6245;border:5px solid #76533a;border-radius:7px;overflow:hidden;box-shadow:7px 8px #b39476,8px 11px 18px #4b301f2b}.room-cupboard>header{color:#fff8e9;background:linear-gradient(135deg,#67442f,#8d6345);justify-content:space-between;align-items:center;gap:8px;padding:9px 11px;display:flex}.room-cupboard>header div{gap:2px;display:grid}.room-cupboard>header strong{font-size:11px}.room-cupboard>header small,.room-cupboard>header>span{color:#e8d6c3;font-size:7px}.cupboard-lockers{background:#68452f;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:4px;display:grid}.cupboard-lockers button{color:#5b4636;text-align:left;background:linear-gradient(145deg,#f8ead4,#d9bd99);border:1px solid #b99673;border-radius:3px;align-items:center;gap:8px;min-height:54px;padding:8px;display:flex;box-shadow:inset 0 0 0 1px #ffffff61}.cupboard-lockers button:hover{filter:brightness(1.05);transform:translateY(-1px)}.cupboard-lockers button.assigned{color:#fff;background:linear-gradient(145deg,#765381,#503a60);border-color:#806090}.cupboard-lockers button>span{gap:2px;min-width:0;display:grid}.cupboard-lockers button strong{font-size:8px}.cupboard-lockers button small{color:inherit;text-overflow:ellipsis;white-space:nowrap;opacity:.82;font-size:7px;overflow:hidden}.room-door{color:#fff;text-transform:uppercase;background:#593c36;border:0 solid #725848;border-width:0 8px;justify-content:center;align-items:center;gap:6px;width:105px;height:47px;font-size:7px;font-weight:800;display:flex;position:absolute;bottom:-16px;right:40px}.empty-room-plan{color:#716571;text-align:center;grid-column:1/-1;place-items:center;gap:7px;display:grid}.empty-room-plan h4{margin:0;font-size:14px}.empty-room-plan p{color:var(--muted);margin:0 0 5px;font-size:8px}.cot-drawer-backdrop{z-index:110;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#23192675;animation:.2s both fadeIn;position:fixed;inset:0}.cot-details-drawer{background:#fff;width:min(410px,94vw);height:100%;animation:.28s both drawerIn;position:absolute;top:0;right:0;overflow-y:auto;box-shadow:-22px 0 60px #1d142038}.cot-details-drawer>header{color:#fff;background:linear-gradient(135deg,#34263d,#654b70);justify-content:space-between;align-items:center;min-height:78px;padding:15px 18px;display:flex}.cot-details-drawer header span{color:#dacdde;text-transform:uppercase;letter-spacing:.12em;font-size:7px}.cot-details-drawer header h3{color:#fff;margin:4px 0 0;font-size:17px}.cot-details-drawer header button{color:#fff;background:#ffffff14;border:1px solid #ffffff40;border-radius:8px;place-items:center;width:31px;height:31px;display:grid}.drawer-profile{border-bottom:1px solid #e8e1dc;align-items:center;gap:12px;padding:17px 18px;display:flex}.drawer-profile>span{color:#5a4266;background:#eee7f1;border-radius:12px;place-items:center;width:48px;height:48px;display:grid}.drawer-profile>div{gap:3px;display:grid}.drawer-profile strong{font-size:13px}.drawer-profile small{color:var(--muted);font-size:8px}.cot-details-drawer dl{margin:0;padding:8px 18px}.cot-details-drawer dl div{border-bottom:1px solid #eee9e6;grid-template-columns:120px 1fr;align-items:center;min-height:44px;display:grid}.cot-details-drawer dt{color:var(--muted);font-size:8px}.cot-details-drawer dd{color:#453b47;margin:0;font-size:9px;font-weight:700}.cot-details-drawer>footer{gap:8px;padding:16px 18px;display:flex}.cot-details-drawer>footer a{color:#5a4266;border:1px solid #d5c9da;border-radius:8px;align-items:center;gap:6px;min-height:36px;padding:0 10px;font-size:8px;font-weight:800;text-decoration:none;display:flex}.vacant-cot-details{color:#69767d;text-align:center;place-items:center;gap:9px;padding:70px 25px;display:grid}.vacant-cot-details h4{margin:0;font-size:16px}.vacant-cot-details p{margin:0;font-size:9px}.vacant-cot-details small{max-width:280px;color:var(--muted);font-size:8px;line-height:1.5}.locker-alert{margin:12px 18px 0}.locker-release{color:#ac3d38;background:#fff1f0;border:1px solid #efbcb8;border-radius:7px;min-height:38px;padding:0 13px;font-size:9px;font-weight:800}@keyframes layoutEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes roomEnter{0%{opacity:0;transform:scale(.975)translateY(8px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}}@keyframes drawerIn{0%{transform:translate(100%)}}@media (width<=900px){.building-storey{grid-template-columns:90px minmax(0,1fr)}.building-storey>aside{padding-left:18px}.room-interior-header{grid-template-columns:1fr 1fr}.room-interior-header>div:nth-child(2){grid-area:1/1/auto/-1}.room-interior-actions{justify-self:end}.room-bed-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media (width<=620px){.layout-page-actions{width:100%}.layout-page-actions button{flex:1}.building-storey{grid-template-columns:1fr}.building-storey>aside{flex-direction:row;justify-content:flex-start;align-items:center;min-height:51px;padding:10px 21px}.storey-corridor{overflow:visible}.room-facades{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.facade-room{width:100%}.room-interior-header{flex-direction:column;align-items:stretch;display:flex}.room-interior-header>div:nth-child(2){order:-1}.room-interior-header>button{justify-content:center;width:100%}.room-interior-actions{justify-content:center}.room-capacity-strip{grid-template-columns:1fr 1fr;display:grid}.room-capacity-strip span:first-child{grid-column:1/-1}.room-capacity-strip span{min-width:0}.room-floor-plan{border-width:12px;min-height:460px;padding:62px 28px 64px}.room-bed-grid{grid-template-columns:1fr;gap:25px}.room-windows span{width:85px}.cupboard-grid{grid-template-columns:1fr}.model-toolbar span{display:none}}[data-theme=dark] .hostel-building-2d,[data-theme=dark] .room-interior-header,[data-theme=dark] .room-capacity-strip span,[data-theme=dark] .cot-details-drawer{color:#eee8ef;background:#2c2530;border-color:#594c5e}[data-theme=dark] .building-storeys{background:#4a3c45}[data-theme=dark] .building-storey{background:#4a3d43}[data-theme=dark] .storey-corridor{background:#44383e}[data-theme=dark] .facade-room{color:#eee7ee;background:#554750;border-color:#6a5864}[data-theme=dark] .room-floor-plan{background-color:#41363b}[data-theme=dark] .cot-details-drawer dd{color:#eee8ef}[data-theme=dark] .room-cupboard-zone{color:#eee8ef;background:linear-gradient(135deg,#3e332d,#493a30);border-color:#665345}.outing-page{gap:11px;display:grid}.outing-notice{color:#256b49;background:#e9f7ef;border:1px solid #bcdcc9;border-radius:8px;padding:9px 12px;font-size:8px;font-weight:700}.outing-tabs{background:#fff;border:1px solid #dfd6d1;border-radius:9px;grid-template-columns:repeat(6,minmax(0,1fr));display:grid;overflow:hidden}.outing-tabs button{color:#5e5460;background:#fff;border:0;border-right:1px solid #e6dfdb;justify-content:center;align-items:center;gap:7px;min-height:38px;font-size:8px;font-weight:700;display:flex}.outing-tabs button:last-child{border-right:0}.outing-tabs button.active{color:#fff;background:#563f64}.outing-tabs button span{color:#fff;background:#d65a50;border-radius:99px;place-items:center;min-width:19px;height:19px;font-size:7px;display:grid}.outing-tabs button.active span{color:#563f64;background:#fff}.outing-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;display:grid}.outing-summary article{border:1px solid;border-radius:10px;align-items:center;gap:10px;min-height:73px;padding:11px;display:flex}.outing-summary article>span{background:#ffffffa6;border-radius:9px;flex:none;place-items:center;width:39px;height:39px;display:grid}.outing-summary article>div{gap:2px;display:grid}.outing-summary small{font-size:8px}.outing-summary strong{font-size:19px}.outing-summary em{opacity:.7;font-size:6.5px;font-style:normal}.outing-summary .amber{color:#996115;background:#fff5db;border-color:#ecd8a8}.outing-summary .green{color:#23734e;background:#e7f6ed;border-color:#bee0cc}.outing-summary .blue{color:#286d9f;background:#e8f4fb;border-color:#bfd9ea}.outing-summary .red{color:#a9433e;background:#fceae8;border-color:#ecc8c4}.outing-summary .violet{color:#694a91;background:#f1eafa;border-color:#d7c9e8}.outing-workspace{background:#fff;border:1px solid #dfd7d2;border-radius:11px;overflow:hidden;box-shadow:0 8px 26px #3022310a}.outing-filters{border-bottom:1px solid #e7e0dc;grid-template-columns:repeat(4,minmax(95px,.7fr)) repeat(2,minmax(115px,.85fr)) minmax(180px,1.4fr);gap:7px;padding:10px;display:grid}.outing-filters label{gap:4px;min-width:0;display:grid}.outing-filters label>span{color:#6c626e;font-size:7px;font-weight:700}.outing-filters select,.outing-filters input{color:#4f4552;background:#fff;border:1px solid #ddd4cf;border-radius:7px;outline:0;width:100%;min-width:0;height:34px;padding:0 8px;font-size:8px}.outing-search i{color:#8a808b;border:1px solid #ddd4cf;border-radius:7px;align-items:center;gap:6px;height:34px;padding:0 8px;font-style:normal;display:flex}.outing-search i input{border:0;height:30px;padding:0}.outing-table-wrap{overflow-x:auto}.outing-table-wrap table{border-collapse:collapse;width:100%;min-width:1050px}.outing-table-wrap th{color:#4e4651;text-align:left;text-transform:uppercase;background:#edf4f8;height:38px;padding:0 9px;font-size:7px}.outing-table-wrap td{color:#504752;white-space:nowrap;border-bottom:1px solid #eee9e6;height:47px;padding:7px 9px;font-size:8px}.outing-table-wrap tbody tr:hover td{background:#fcf9fc}.outing-student{align-items:center;gap:7px;display:flex}.outing-student>span{color:#5c4666;background:#eee7f1;border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.outing-student>div{gap:1px;display:grid}.outing-student strong{color:#382e3a;font-size:8px}.outing-student small{color:var(--muted);font-size:6px}.outing-status{border-radius:7px;justify-content:center;align-items:center;min-width:84px;min-height:24px;padding:0 8px;font-size:7px;font-weight:800;display:inline-flex}.outing-status.pending{color:#956015;background:#fff0ce}.outing-status.approved{color:#217149;background:#ddf3e6}.outing-status.currently_out{color:#2c6ea0;background:#deeffb}.outing-status.returned{color:#694496;background:#eee5fa}.outing-status.denied,.outing-status.overdue{color:#a63e39;background:#fbe3e1}.outing-row-actions{gap:4px;display:flex}.outing-row-actions button{color:#316d99;background:#f4f8fb;border:1px solid #d4dce4;border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.outing-row-actions button.approve{color:#21724c;background:#e6f5ec;border-color:#c1dfcd}.outing-row-actions button.deny{color:#a83f3a;background:#fbe9e7;border-color:#ecc5c2}.outing-detail-grid{grid-template-columns:minmax(300px,.75fr) minmax(430px,1.25fr);gap:10px;display:grid}.outing-workflow,.outing-receipt{background:#fff;border:1px solid #ded6d1;border-radius:10px;overflow:hidden}.outing-workflow h3{border-bottom:1px solid #e9e2de;margin:0;padding:12px 14px;font-size:10px}.outing-workflow article{align-items:center;gap:10px;min-height:49px;padding:7px 13px;display:flex;position:relative}.outing-workflow article:not(:last-child):after{content:"";background:#d9dfe2;width:2px;height:18px;position:absolute;bottom:-9px;left:24px}.outing-workflow article.done:not(:last-child):after{background:#63b887}.outing-workflow article>span{z-index:1;color:#71808a;background:#e8edf0;border-radius:50%;flex:none;place-items:center;width:23px;height:23px;font-size:7px;display:grid}.outing-workflow article.done>span{color:#fff;background:#31a768}.outing-workflow article>div{gap:3px;display:grid}.outing-workflow strong{font-size:8px}.outing-workflow small{color:var(--muted);font-size:6.5px}.outing-workflow article.rejected>span,.outing-workflow article.blocked>span{color:#fff;background:#d94b4b}.outing-workflow article.rejected:not(:last-child):after,.outing-workflow article.blocked:not(:last-child):after{background:#e08b8b}.outing-workflow article.rejected strong,.outing-workflow article.blocked strong{color:#a63030}.outing-workflow article.blocked{opacity:.78}.outing-receipt>header{color:#fff;background:#4e5c6c;justify-content:space-between;align-items:center;min-height:58px;padding:9px 13px;display:flex}.outing-receipt header small{color:#dce1e6;font-size:6px}.outing-receipt header h3{color:#fff;margin:3px 0 0;font-size:10px}.outing-receipt header button{color:#fff;background:#ffffff14;border:1px solid #ffffff4d;border-radius:7px;align-items:center;gap:5px;padding:7px 9px;font-size:7px;display:flex}.receipt-body{grid-template-columns:1fr 1fr;padding:10px 14px 13px;display:grid}.receipt-body>div{border-bottom:1px dashed #d9d0ca;grid-template-columns:95px 1fr;align-items:center;min-height:31px;display:grid}.receipt-body dt{color:#766d76;font-size:6.5px}.receipt-body dd{color:#403640;margin:0;font-size:7px;font-weight:700}.outing-drawer-backdrop{z-index:120;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#22182694;place-items:center;padding:22px;animation:.2s both fadeIn;display:grid;position:fixed;inset:0}.outing-request-drawer{background:#fff;border:1px solid #ffffff7a;border-radius:14px;width:min(760px,96vw);max-height:min(760px,100vh - 44px);animation:.28s cubic-bezier(.2,.78,.25,1) both roomEnter;position:relative;overflow-y:auto;box-shadow:0 32px 90px #1b121e52}.outing-request-drawer>header{color:#fff;background:linear-gradient(135deg,#34263d,#654b70);justify-content:space-between;align-items:center;min-height:75px;padding:13px 19px;display:flex}.outing-request-drawer header span{color:#d9ccdd;letter-spacing:.13em;text-transform:uppercase;font-size:6px}.outing-request-drawer header h3{color:#fff;margin:3px 0 0;font-size:16px}.outing-request-drawer header button{color:#fff;background:0 0;border:1px solid #ffffff40;border-radius:7px;place-items:center;width:31px;height:31px;display:grid}.outing-request-drawer form{grid-template-columns:1fr 1fr;gap:13px 15px;padding:19px;display:grid}.outing-request-drawer form>label,.outing-form-grid label{gap:5px;display:grid}.outing-request-drawer form>label:first-child,.request-student-card,.outing-form-grid,.outing-request-drawer form>footer{grid-column:1/-1}.outing-request-drawer label>span,.outing-request-drawer legend{color:#5f5561;font-size:8px;font-weight:800}.outing-request-drawer input,.outing-request-drawer select,.outing-request-drawer textarea{color:#4b414d;background:#fff;border:1px solid #dbd2cd;border-radius:8px;outline:0;width:100%;min-height:38px;padding:8px 9px;font:9px inherit}.outing-form-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.request-student-card{background:#f6f1f7;border:1px solid #d8cedd;border-radius:9px;align-items:center;gap:9px;padding:10px;display:flex}.request-student-card>span{color:#594264;background:#ebe3ee;border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.request-student-card>div{gap:3px;display:grid}.request-student-card strong{font-size:9px}.request-student-card small{color:var(--muted);font-size:7px}.outing-request-drawer fieldset{border:1px solid #ded5d0;border-radius:8px;gap:18px;padding:9px 10px;display:flex}.outing-request-drawer fieldset legend{padding:0 5px}.outing-request-drawer fieldset label{align-items:center;gap:5px;font-size:8px;display:flex}.outing-request-drawer fieldset input{accent-color:#563f64;width:14px;min-height:14px}.outing-request-drawer form>footer{border-top:1px solid #e8e1dd;justify-content:flex-end;gap:8px;padding-top:13px;display:flex}.outing-request-drawer form>footer>button:first-child{color:#625863;background:#fff;border:1px solid #ddd3ce;border-radius:8px;min-height:38px;padding:0 13px;font-size:8px;font-weight:800}@media (width<=1100px){.outing-summary{grid-template-columns:repeat(3,1fr)}.outing-filters{grid-template-columns:repeat(4,1fr)}.outing-search{grid-column:span 2}}@media (width<=750px){.outing-tabs{grid-template-columns:repeat(3,1fr)}.outing-summary,.outing-filters{grid-template-columns:1fr 1fr}.outing-detail-grid{grid-template-columns:1fr}.outing-search{grid-column:1/-1}}@media (width<=480px){.outing-summary,.outing-filters{grid-template-columns:1fr}.outing-search{grid-column:auto}.outing-request-drawer form,.outing-form-grid{grid-template-columns:1fr}.outing-request-drawer form>label,.outing-request-drawer fieldset{grid-column:1}.receipt-body{grid-template-columns:1fr}}.school-absent-page{gap:11px;display:grid}.staff-title-icon.absent{background:#d94c4c}.school-absent-actions{gap:7px;display:flex}.school-absent-actions button,.school-absent-actions a{color:#574b58;background:#fff;border:1px solid #d9d0cc;border-radius:8px;align-items:center;gap:6px;min-height:37px;padding:0 11px;font-size:8px;font-weight:800;text-decoration:none;display:flex}.school-absent-actions a{color:#fff;background:#563f64;border-color:#563f64}.absent-summary{grid-template-columns:1.35fr repeat(5,1fr);gap:8px;display:grid}.absent-summary article{border:1px solid;border-radius:10px;align-items:center;gap:9px;min-height:78px;padding:10px;display:flex}.absent-summary article>span{background:#ffffffa6;border-radius:9px;flex:none;place-items:center;width:38px;height:38px;display:grid}.absent-summary article>div{gap:2px;display:grid}.absent-summary small{font-size:7.5px}.absent-summary strong{font-size:19px}.absent-summary em{opacity:.72;font-size:6.5px;font-style:normal}.absent-summary .slate{color:#566574;background:#eef2f5;border-color:#d6dde3}.absent-summary .blue{color:#286d9f;background:#e8f4fb;border-color:#bfd9ea}.absent-summary .red{color:#aa403c;background:#fce9e7;border-color:#ecc7c3}.absent-summary .amber{color:#986115;background:#fff4db;border-color:#ead7aa}.absent-summary .violet{color:#694793;background:#f1eafa;border-color:#d8cae9}.absent-summary .rose{color:#a44c62;background:#f9eaee;border-color:#e9cbd2}.school-absent-workspace{background:#fff;border:1px solid #dfd7d2;border-radius:11px;overflow:hidden;box-shadow:0 8px 25px #3022310a}.school-absent-filters{border-bottom:1px solid #e7e0dc;grid-template-columns:repeat(5,minmax(100px,.75fr)) minmax(210px,1.5fr);gap:8px;padding:10px;display:grid}.school-absent-filters label{gap:4px;min-width:0;display:grid}.school-absent-filters label>span{color:#6b616c;font-size:7px;font-weight:800}.school-absent-filters select,.school-absent-filters input{color:#4f4552;background:#fff;border:1px solid #ddd4cf;border-radius:7px;width:100%;min-width:0;height:35px;padding:0 8px;font-size:8px}.school-absent-search i{color:#8b818c;border:1px solid #ddd4cf;border-radius:7px;align-items:center;gap:6px;height:35px;padding:0 8px;font-style:normal;display:flex}.school-absent-search i input{border:0;outline:0;height:30px;padding:0}.school-absent-table{overflow-x:auto}.school-absent-table table{border-collapse:collapse;width:100%;min-width:1100px}.school-absent-table th{color:#4e4651;text-align:left;text-transform:uppercase;background:#edf5f8;height:39px;padding:0 9px;font-size:7px}.school-absent-table td{color:#504752;white-space:nowrap;border-bottom:1px solid #eee9e6;height:47px;padding:7px 9px;font-size:8px}.school-absent-table tbody tr:hover td{background:#fcf9fc}.absent-student{align-items:center;gap:7px;display:flex}.absent-student>span{color:#5d4666;background:#eee7f1;border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.absent-student>div{gap:1px;display:grid}.absent-student strong{color:#372e39;font-size:8px}.absent-student small{color:var(--muted);font-size:6px}.absence-reason,.absence-status{border-radius:7px;justify-content:center;align-items:center;min-height:24px;padding:0 8px;font-size:7px;font-weight:800;display:inline-flex}.absence-reason.outing{color:#9b6012;background:#fff0cf}.absence-reason.sick_rest{color:#684398;background:#eee5fa}.absence-reason.other{color:#596672;background:#edf1f4}.absence-status{color:#a83f3a;background:#fbe4e2}.view-absence{color:#316d99;background:#f4f8fb;border:1px solid #d4dce4;border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.absence-insights{grid-template-columns:1fr 1.05fr 1.15fr;gap:10px;display:grid}.absence-insights>section{background:#fff;border:1px solid #ded6d1;border-radius:10px;min-height:190px;overflow:hidden}.absence-insights h3{border-bottom:1px solid #e9e2de;margin:0;padding:11px 13px;font-size:10px}.absence-donut-wrap{justify-content:center;align-items:center;gap:22px;padding:15px;display:flex}.absence-donut{--outing:0%;--sick:0%;background:radial-gradient(circle at center,#fff 0 49%,transparent 50%),conic-gradient(#f39a17 0 var(--outing),#7d42dc var(--outing) var(--sick),#e8515d var(--sick) 100%);text-align:center;border-radius:50%;flex:none;place-content:center;width:108px;height:108px;display:grid}.absence-donut strong{font-size:17px}.absence-donut span{color:var(--muted);font-size:7px}.absence-donut-wrap ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.absence-donut-wrap li{grid-template-columns:9px 1fr auto;align-items:center;gap:6px;font-size:8px;display:grid}.absence-donut-wrap li i{border-radius:50%;width:9px;height:9px}.absence-donut-wrap i.outing{background:#f39a17}.absence-donut-wrap i.sick{background:#7d42dc}.absence-donut-wrap i.other{background:#e8515d}.hostel-bars{justify-content:center;align-items:flex-end;gap:35px;min-height:145px;padding:15px 18px 9px;display:flex}.hostel-bars>div{justify-items:center;gap:5px;display:grid}.hostel-bars span{font-size:7px;font-weight:800}.hostel-bars i{background:repeating-linear-gradient(0deg,#f7f9fa 0 21px,#e7ecef 22px 23px);border-bottom:1px solid #aeb9c1;align-items:flex-end;width:65px;height:112px;display:flex}.hostel-bars b{color:#fff;background:linear-gradient(#7c55a7,#563f64);place-items:center;width:100%;min-height:8px;font-size:7px;display:grid}.absence-insights table{border-collapse:collapse;width:100%}.absence-insights th{background:#edf5f8;height:32px;font-size:7px}.absence-insights td{text-align:center;border-bottom:1px solid #eee9e6;height:29px;font-size:7px}.absence-drawer-backdrop{z-index:115;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#22182678;position:fixed;inset:0}.absence-drawer{background:#fff;width:min(390px,94vw);height:100%;animation:.28s both drawerIn;position:absolute;top:0;right:0;overflow-y:auto;box-shadow:-22px 0 60px #1d142038}.absence-drawer>header{color:#fff;background:linear-gradient(135deg,#34263d,#654b70);justify-content:space-between;align-items:center;min-height:74px;padding:13px 17px;display:flex}.absence-drawer header span{color:#dacdde;letter-spacing:.12em;text-transform:uppercase;font-size:6px}.absence-drawer header h3{color:#fff;margin:3px 0 0;font-size:16px}.absence-drawer header button{color:#fff;background:0 0;border:1px solid #ffffff3d;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.absence-profile{border-bottom:1px solid #e8e1dd;align-items:center;gap:10px;padding:15px 17px;display:flex}.absence-profile>span{color:#5a4266;background:#eee7f1;border-radius:11px;place-items:center;width:44px;height:44px;display:grid}.absence-profile>div{gap:3px;display:grid}.absence-profile strong{font-size:11px}.absence-profile small{color:var(--muted);font-size:7px}.absence-drawer dl{margin:0;padding:8px 17px}.absence-drawer dl div{border-bottom:1px solid #eee9e6;grid-template-columns:105px 1fr;align-items:center;min-height:41px;display:grid}.absence-drawer dt{color:var(--muted);font-size:7px}.absence-drawer dd{margin:0;font-size:8px;font-weight:700}.absence-confirm{color:#a8433e;background:#fce9e7;border:1px solid #efcdca;border-radius:8px;gap:9px;margin:12px 17px;padding:11px;display:flex}.absence-confirm>div{gap:3px;display:grid}.absence-confirm strong{font-size:8px}.absence-confirm span{font-size:7px;line-height:1.4}.absence-drawer>a{color:#5a4266;border:1px solid #d5c9da;border-radius:8px;place-items:center;min-height:37px;margin:13px 17px;font-size:8px;font-weight:800;text-decoration:none;display:grid}@media (width<=1100px){.absent-summary,.school-absent-filters{grid-template-columns:repeat(3,1fr)}.school-absent-search{grid-column:span 2}.absence-insights{grid-template-columns:1fr 1fr}.absence-insights>section:last-child{grid-column:1/-1}}@media (width<=700px){.school-absent-actions{width:100%}.school-absent-actions>*{flex:1;justify-content:center}.absent-summary,.school-absent-filters{grid-template-columns:1fr 1fr}.school-absent-search{grid-column:1/-1}.absence-insights{grid-template-columns:1fr}.absence-insights>section:last-child{grid-column:auto}}@media (width<=450px){.absent-summary,.school-absent-filters{grid-template-columns:1fr}.school-absent-search{grid-column:auto}}.sick-page{gap:11px;display:grid}.staff-title-icon.sick{color:#67418d;background:#e7dff4}.module-action{color:#fff;background:linear-gradient(135deg,#2e7cda,#1164c8);border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:37px;padding:0 13px;font-size:8px;font-weight:800;display:flex;box-shadow:0 7px 16px #216bc52b}.sick-notice{color:#24724d;background:#eaf8ef;border:1px solid #b9dfca;border-radius:8px;align-items:center;gap:7px;padding:9px 12px;font-size:8px;display:flex}.sick-notice button{color:inherit;background:0 0;border:0;margin-left:auto}.sick-summary{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.sick-summary article{border:1px solid;border-radius:10px;align-items:center;gap:10px;min-height:76px;padding:11px;display:flex}.sick-summary article>span{background:#ffffffa8;border-radius:11px;place-items:center;width:40px;height:40px;display:grid}.sick-summary article>div{gap:2px;display:grid}.sick-summary em{opacity:.7;font-size:7px;font-style:normal}.sick-summary .amber{color:#9a6415;background:#fff5da;border-color:#efd7a5}.sick-summary .violet{color:#684293;background:#f0eafa;border-color:#d7c8e8}.sick-summary .red{color:#a63e3c;background:#fceae9;border-color:#ecc7c4}.sick-summary .green{color:#26744e;background:#e6f6ed;border-color:#bee0cb}.sick-workspace{grid-template-columns:minmax(440px,.92fr) minmax(440px,1.08fr);align-items:start;gap:10px;display:grid}.sick-list,.sick-detail{background:#fff;border:1px solid #dfd7d2;border-radius:11px;overflow:hidden;box-shadow:0 8px 25px #3022310a}.sick-filters{border-bottom:1px solid #e8e1dd;grid-template-columns:1fr 1fr 1fr 1.5fr;gap:7px;padding:10px;display:grid}.sick-filters select,.sick-filters input{color:#4f4552;background:#fff;border:1px solid #ddd4cf;border-radius:7px;width:100%;min-width:0;height:35px;padding:0 8px;font-size:8px}.sick-filters label{color:#8b818c;border:1px solid #ddd4cf;border-radius:7px;align-items:center;gap:6px;padding:0 8px;display:flex}.sick-filters label input{border:0;outline:0;height:31px;padding:0}.sick-table{overflow:auto}.sick-table table{border-collapse:collapse;width:100%;min-width:700px}.sick-table th{color:#4e4651;text-align:left;text-transform:uppercase;background:#edf5f8;height:38px;padding:0 8px;font-size:7px}.sick-table td{color:#504752;white-space:nowrap;border-bottom:1px solid #eee9e6;height:48px;padding:6px 8px;font-size:8px}.sick-table tbody tr{cursor:pointer}.sick-table tbody tr:hover td,.sick-table tbody tr.selected td{background:#f3f8fd}.sick-list>footer{color:#756b75;padding:12px;font-size:8px}.sick-student{align-items:center;gap:7px;display:flex}.sick-student>span,.sick-avatar{color:#2165aa;background:#e3f0fc;border-radius:50%;place-items:center;font-weight:800;display:grid}.sick-student>span{width:27px;height:27px;font-size:9px}.sick-student>div{gap:1px;display:grid}.sick-student small{color:var(--muted);font-size:6px}.sick-status{color:#5a6670;background:#edf1f4;border-radius:7px;justify-content:center;align-items:center;min-height:23px;padding:0 8px;font-size:7px;font-weight:800;display:inline-flex}.sick-status.sick,.sick-status.reported{color:#916017;background:#fff0c7}.sick-status.sick_leave,.sick-status.rest{color:#69439a;background:#eee3fb}.sick-status.at_hospital{color:#ac3d3c;background:#fbe0df}.sick-detail>header{border-bottom:1px solid #e8e1dd;align-items:center;gap:11px;padding:14px;display:flex}.sick-detail>header>div:nth-child(2){flex:1}.sick-detail h3{margin:0;font-size:15px}.sick-detail header p{color:#665b67;margin:3px 0;font-size:8px}.sick-detail header small{color:var(--muted);font-size:7px}.sick-avatar{color:#fff;background:#2f68ae;flex:none;width:49px;height:49px;font-size:14px}.sick-detail nav{border-bottom:1px solid #e8e1dd;gap:3px;padding:8px 10px;display:flex}.sick-detail nav button{color:#675d68;background:#f3f6f8;border:0;border-radius:7px;align-items:center;gap:5px;padding:8px 9px;font-size:7px;font-weight:800;display:flex}.sick-detail nav button.active{color:#1467cb;background:#e7f1fd;box-shadow:inset 0 -2px #1467cb}.sick-detail-body{padding:12px}.section-heading{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.section-heading h4{margin:0;font-size:11px}.section-heading span{color:var(--muted);font-size:7px}.medical-timeline article{border-bottom:1px solid #eee9e6;grid-template-columns:10px 105px 1fr;gap:8px;padding:8px 0;display:grid;position:relative}.medical-timeline article>i{background:#2878d2;border-radius:50%;width:9px;height:9px;margin-top:3px}.medical-timeline time{color:#706670;font-size:7px}.medical-timeline p{color:#625962;margin:3px 0;font-size:7px}.medical-timeline span{color:#476780;background:#edf5fb;border-radius:5px;align-items:center;gap:3px;margin-right:4px;padding:4px 6px;font-size:6.5px;display:inline-flex}.empty-note{color:var(--muted);padding:20px;font-size:8px}.followup-form{background:#f5faff;border:1px solid #d7e4ef;border-radius:9px;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px;padding:11px;display:grid}.followup-form .section-heading,.followup-form .wide,.followup-form .followup-checks,.followup-form>.module-action{grid-column:1/-1}.followup-form label{gap:4px;display:grid}.followup-form label>span{color:#5f5561;font-size:7px;font-weight:800}.followup-form input,.followup-form textarea,.sick-modal input,.sick-modal select,.sick-modal textarea{color:#4c434f;background:#fff;border:1px solid #d8dfe6;border-radius:6px;width:100%;min-height:32px;padding:7px;font:8px inherit}.followup-form textarea,.sick-modal textarea{resize:vertical;min-height:54px}.followup-checks{gap:16px;display:flex}.followup-checks label{align-items:center;gap:4px;font-size:7px;display:flex}.followup-checks input{accent-color:#156bd1;width:14px;min-height:14px}.medical-cards article{color:#2f70b1;background:#fbfdff;border:1px solid #e2e8ed;border-radius:8px;gap:10px;margin-bottom:7px;padding:12px;display:flex}.medical-cards article>div{gap:3px;display:grid}.medical-cards article strong{color:#403740;font-size:9px}.medical-cards article p,.medical-cards article small,.medical-cards article em{color:#6e646e;margin:0;font-size:7px;font-style:normal}.sick-overview article{background:#f4f8fc;border-radius:8px;padding:12px}.sick-overview h4{margin:0 0 5px;font-size:10px}.sick-overview p{color:#5e5560;margin:0;font-size:8px;line-height:1.5}.sick-overview dl{margin:10px 0 0}.sick-overview dl div{border-bottom:1px solid #eee9e6;grid-template-columns:120px 1fr;padding:8px 0;display:grid}.sick-overview dt{color:var(--muted);font-size:7px}.sick-overview dd{margin:0;font-size:8px;font-weight:700}.sick-empty{color:#a497a4;place-content:center;justify-items:center;min-height:430px;display:grid}.sick-empty h3{color:#504651;margin:8px 0 2px;font-size:12px}.sick-empty p{font-size:8px}.sick-modal{background:#fff;border-radius:13px;width:min(560px,95vw);position:relative;overflow:hidden;box-shadow:0 28px 80px #21172555}.sick-modal>header{color:#fff;background:linear-gradient(135deg,#34263d,#654b70);justify-content:space-between;align-items:center;padding:17px 19px;display:flex}.sick-modal header span{letter-spacing:.12em;text-transform:uppercase;color:#dacdde;font-size:7px}.sick-modal header h3{color:#fff;margin:4px 0 0;font-size:16px}.sick-modal header button{color:#fff;background:0 0;border:0}.sick-modal form{grid-template-columns:1fr 1fr;gap:12px;padding:18px;display:grid}.sick-modal form label{gap:5px;display:grid}.sick-modal form label>span{font-size:8px;font-weight:800}.sick-modal .wide,.sick-modal footer{grid-column:1/-1}.sick-modal footer{border-top:1px solid #eee9e6;justify-content:flex-end;gap:7px;padding-top:12px;display:flex}.sick-modal footer>button:first-child{background:#fff;border:1px solid #ddd4cf;border-radius:8px;padding:0 14px;font-size:8px}@media (width<=1050px){.sick-workspace{grid-template-columns:1fr}.sick-detail{min-height:400px}.sick-summary{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.sick-summary,.sick-filters,.followup-form,.sick-modal form{grid-template-columns:1fr}.sick-detail nav{overflow:auto}.sick-modal .wide,.sick-modal footer,.followup-form .wide,.followup-form .section-heading,.followup-form .followup-checks,.followup-form>.module-action{grid-column:auto}}.sick-page{font-size:12px}.sick-page .staff-page-header h2{font-size:24px}.sick-page .staff-page-header p{font-size:12px}.sick-page .module-action{min-height:44px;font-size:12px}.sick-summary small{font-size:11px}.sick-summary strong{font-size:27px}.sick-summary em{font-size:10px}.sick-filters select,.sick-filters input{height:42px;font-size:12px}.sick-table th{font-size:10px}.sick-table td{height:58px;font-size:12px}.sick-student strong{font-size:12px}.sick-student small{font-size:10px}.sick-status{min-height:28px;font-size:10px}.sick-list>footer{font-size:11px}.sick-detail h3{font-size:20px}.sick-detail header p{font-size:11px}.sick-detail header small{font-size:10px}.sick-detail nav button{padding:10px;font-size:10px}.section-heading h4{font-size:14px}.section-heading span{font-size:10px}.medical-timeline article{grid-template-columns:12px 125px 1fr}.medical-timeline time{font-size:10px}.medical-timeline strong{font-size:11px}.medical-timeline p{font-size:10px}.medical-timeline span{font-size:9px}.followup-form label>span{font-size:10px}.followup-form input,.followup-form textarea{min-height:40px;font-size:11px}.followup-checks label{font-size:10px}.medical-cards article strong{font-size:12px}.medical-cards article p,.medical-cards article small,.medical-cards article em{font-size:10px}.sick-overview h4{font-size:13px}.sick-overview p{font-size:11px}.sick-overview dt{font-size:10px}.sick-overview dd{font-size:11px}.sick-modal header h3{font-size:19px}.sick-modal header span{font-size:9px}.sick-modal form label>span{font-size:10px}.sick-modal input,.sick-modal select,.sick-modal textarea{min-height:40px;font-size:11px}.sick-delete{color:#b93e38;background:#fff4f3;border:1px solid #efb8b5;border-radius:7px;align-items:center;gap:5px;min-height:32px;padding:0 9px;font-size:10px;font-weight:800;display:flex}.sick-delete:hover{background:#fde5e3}.sick-delete:disabled{cursor:not-allowed;opacity:.55}.followup-form select{color:#4c434f;background:#fff;border:1px solid #d8dfe6;border-radius:6px;width:100%;min-height:40px;padding:7px;font-size:11px}.followup-form .document-note{color:#587086;background:#eaf4fb;border-radius:6px;grid-column:1/-1;margin:0;padding:9px;font-size:9px;line-height:1.45}.medical-cards .section-heading>span{color:#875f12;letter-spacing:.04em;background:#fff5d7;border:1px solid #e2d3a5;border-radius:999px;align-items:center;min-height:25px;padding:0 9px;font-size:9px;font-weight:800;display:inline-flex}.medical-leave-actions{border-top:1px solid #e8e1dd;justify-content:flex-end;gap:9px;margin-top:12px;padding-top:12px;display:flex}.medical-leave-actions>button{color:#a63c38;background:#fff7f6;border:1px solid #e1b9b6;border-radius:8px;min-height:42px;padding:0 16px;font-size:11px;font-weight:800}.medical-leave-actions>.module-action{color:#fff;background:linear-gradient(135deg,#2e7cda,#1164c8);border:0}.medical-cards>.document-note{color:#4d6c83;background:#eef7fd;border:1px solid #cbdfee;border-radius:8px;align-items:flex-start;margin:12px 0 0;padding:11px 12px;font-size:10px;line-height:1.5;display:flex}.medical-cards>.document-note:before{content:"i";color:#fff;background:#2f78c8;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;margin-right:8px;font-size:10px;font-weight:900;display:grid}.sick-status.medical_leave_out{color:#236a8d;background:#dff1fb}[data-theme=dark] .medical-leave-actions{border-color:#493e4d}[data-theme=dark] .medical-leave-actions>button{color:#ffaaa5;background:#3b292c;border-color:#714a4a}[data-theme=dark] .medical-cards>.document-note{color:#c8deed;background:#293945;border-color:#40596a}[data-theme=dark] .medical-cards .section-heading>span{color:#f3d48d;background:#3b3526;border-color:#665631}.study-page{gap:11px;display:grid}.staff-title-icon.study{color:#245fb5;background:#e3edff}.study-date{background:#fff;border:1px solid #d9d0cc;border-radius:8px;align-items:center;gap:7px;padding:0 10px;display:flex}.study-date input{color:#4f4552;border:0;outline:0;font-size:10px}.study-summary{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.study-summary article{border:1px solid;border-radius:10px;align-items:center;gap:10px;min-height:78px;padding:11px;display:flex}.study-summary article>span{background:#ffffffa8;border-radius:50%;place-items:center;width:41px;height:41px;display:grid}.study-summary article>div{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.study-summary strong{width:100%;font-size:10px}.study-summary b{font-size:25px}.study-summary small{font-size:9px}.study-summary .blue{color:#2269ae;background:#e9f5fc;border-color:#c4dceb}.study-summary .amber{color:#986016;background:#fff5dc;border-color:#eed8a4}.study-summary .red{color:#b23e40;background:#fceaea;border-color:#edc9c7}.study-summary .green{color:#24764e;background:#e6f6ed;border-color:#bee1cc}.study-tabs{background:#fff;border-bottom:1px solid #ddd6d1;display:flex;overflow:auto}.study-tabs button,.detail-tabs button{color:#514852;white-space:nowrap;background:#fff;border:0;border-bottom:3px solid #0000;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:0 14px;font-size:10px;display:flex}.study-tabs button.active,.detail-tabs button.active{color:#146bd0;border-bottom-color:#146bd0;font-weight:800}.study-workspace{grid-template-columns:minmax(500px,1.15fr) minmax(420px,.85fr);gap:10px;display:grid}.study-list,.study-detail{background:#fff;border:1px solid #ded6d1;border-radius:11px;overflow:hidden}.study-filters{border-bottom:1px solid #e8e1dd;grid-template-columns:repeat(4,1fr) 1.5fr;gap:7px;padding:10px;display:grid}.study-filters select,.study-filters input{background:#fff;border:1px solid #d8dfe7;border-radius:7px;width:100%;min-width:0;height:38px;padding:0 8px;font-size:10px}.study-filters label{color:#777;border:1px solid #d8dfe7;border-radius:7px;align-items:center;gap:6px;padding:0 8px;display:flex}.study-filters label input{border:0;outline:0;height:32px;padding:0}.study-table{overflow:auto}.study-table table{border-collapse:collapse;width:100%;min-width:850px}.study-table th{color:#48525e;text-align:left;background:#edf5fa;height:40px;padding:0 8px;font-size:8px}.study-table td{white-space:nowrap;border-bottom:1px solid #edf0f2;height:48px;padding:6px 8px;font-size:10px}.study-table tr{cursor:pointer}.study-table tr.selected td,.study-table tr:hover td{background:#f2f8ff}.study-table td button{color:#146bd0;background:#e6f1fc;border:0;border-radius:6px;padding:6px 10px;font-size:9px}.study-badge{color:#596672;background:#edf1f4;border-radius:6px;justify-content:center;align-items:center;min-height:27px;padding:0 8px;font-size:9px;font-weight:800;display:inline-flex}.study-badge.updated,.study-badge.assigned,.study-badge.completed,.study-badge.yes{color:#197148;background:#dff5e8}.study-badge.pending{color:#956113;background:#fff0c9}.study-detail>header{border-bottom:1px solid #e8e1dd;align-items:center;gap:10px;padding:13px;display:flex}.class-avatar{color:#1764c1;background:#e4f0ff;border-radius:50%;place-items:center;width:43px;height:43px;font-size:13px;font-weight:800;display:grid}.study-detail header>div:nth-child(2){flex:1}.study-detail h3{margin:0;font-size:15px}.study-detail header p{color:#665d67;margin:3px 0;font-size:9px}.detail-tabs{border-bottom:1px solid #e8e1dd;gap:4px;padding:8px;display:flex}.detail-tabs button{background:#f2f6fa;border-radius:6px;flex:1;min-height:35px;padding:0 7px;font-size:9px}.study-panel{background:#f1f8fd;border:1px solid #c6e0f1;border-radius:8px;margin:10px;padding:11px}.study-panel h4{color:#126bd1;margin:0 0 8px;font-size:11px}.study-panel p{color:#514852;margin:0;font-size:10px;line-height:1.5}.study-panel.purple{background:#f6f0ff;border-color:#ded0f2}.study-panel.purple h4{color:#684098}.study-panel.red{background:#fff1f1;border-color:#f0caca}.study-panel.red h4{color:#b43e40}.study-empty{color:#a398a5;place-content:center;justify-items:center;min-height:430px;display:grid}.study-empty h3{color:#514852;margin:8px 0 2px;font-size:13px}.study-empty p{font-size:9px}@media (width<=1050px){.study-workspace{grid-template-columns:1fr}.study-summary{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.study-summary,.study-filters{grid-template-columns:1fr}.study-date{min-height:38px}}.security-page{gap:11px;display:grid}.staff-title-icon.security{color:#263e9a;background:#e4ebff}.security-date{background:#fff;border:1px solid #d9d0cc;border-radius:8px;align-items:center;gap:7px;padding:0 10px;display:flex}.security-date input{border:0;outline:0;font-size:10px}.security-summary{grid-template-columns:repeat(5,1fr);gap:9px;display:grid}.security-summary article{border:1px solid;border-radius:10px;align-items:center;gap:10px;min-height:76px;padding:11px;display:flex}.security-summary article>span{background:#ffffffa8;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.security-summary article>div{gap:3px;display:grid}.security-summary strong{font-size:10px}.security-summary b{font-size:24px}.security-summary a{font-size:9px;text-decoration:underline}.security-summary .blue{color:#2469ad;background:#e9f5fd;border-color:#c2deef}.security-summary .green{color:#24764f;background:#e6f6ed;border-color:#bee1cc}.security-summary .amber{color:#986117;background:#fff5dc;border-color:#eed7a5}.security-summary .violet{color:#69439a;background:#f2ebfd;border-color:#d6c7eb}.security-summary .red{color:#b0403d;background:#fcebea;border-color:#ecc9c5}.security-tabs{background:#fff;border-bottom:1px solid #ddd6d1;display:flex}.security-tabs button{color:#514852;background:#fff;border:0;border-bottom:3px solid #0000;align-items:center;gap:7px;padding:12px 16px;font-size:10px;display:flex}.security-tabs button.active{color:#126bd1;border-bottom-color:#126bd1;font-weight:800}.security-panel,.gate-log{background:#fff;border:1px solid #ded6d1;border-radius:11px;overflow:hidden}.security-panel>header,.gate-log>header{background:#f2f8ff;border-bottom:1px solid #e8e1dd;justify-content:space-between;align-items:center;padding:11px 13px;display:flex}.security-panel>header>div,.gate-log>header>div{color:#176bc9;align-items:center;gap:8px;display:flex}.security-panel h3,.gate-log h3{color:#213d66;margin:0;font-size:13px}.security-panel p,.gate-log p{color:#687482;margin:3px 0 0;font-size:9px}.security-panel>header .module-action,.gate-log button{min-height:34px;font-size:9px}.security-filters{border-bottom:1px solid #e8e1dd;grid-template-columns:1fr 150px 140px;gap:8px;padding:10px;display:grid}.security-filters label{color:#7c8790;border:1px solid #d7dfe8;border-radius:7px;align-items:center;gap:6px;padding:0 8px;display:flex}.security-filters input,.security-filters select{border:0;outline:0;width:100%;min-width:0;height:36px;font-size:10px}.security-panel table,.gate-log table{border-collapse:collapse;width:100%}.security-panel th,.gate-log th{color:#4d5965;text-align:left;background:#edf5fa;height:37px;padding:0 9px;font-size:8px}.security-panel td,.gate-log td{border-bottom:1px solid #edf0f2;height:44px;padding:6px 9px;font-size:10px}.gate-type,.gate-status,.visitor-status{color:#216bb3;background:#e5f2ff;border-radius:6px;padding:5px 8px;font-size:9px;font-weight:700;display:inline-flex}.gate-status{color:#23764e;background:#def4e6}.visitor-status{color:#986114;background:#fff0c8}.gate-action{color:#fff;background:#1473de;border:0;border-radius:6px;align-items:center;gap:5px;padding:7px 10px;font-size:9px;display:flex}.icon-action{color:#176bd1;background:#f2f8ff;border:1px solid #d8e0e7;border-radius:6px;padding:6px}.gate-log>header{background:#f2f8ff}.gate-log>header button{color:#176bd1;background:#fff;border:1px solid #cbdce8;border-radius:6px;align-items:center;gap:5px;padding:0 9px;display:flex}.gate-in,.gate-out{color:#23764e;background:#dff4e6;border-radius:5px;padding:4px 8px;font-size:9px;font-weight:800;display:inline-flex}.gate-out{color:#a53e3c;background:#fbe2e0}.security-modal{background:#fff;border-radius:12px;width:min(520px,95vw);overflow:hidden}.security-modal header{color:#fff;background:linear-gradient(135deg,#183b70,#2467b6);justify-content:space-between;padding:16px 19px;display:flex}.security-modal h3{color:#fff;margin:0;font-size:17px}.security-modal header button{color:#fff;background:0 0;border:0}.security-modal form{grid-template-columns:1fr 1fr;gap:12px;padding:18px;display:grid}.security-modal label{gap:5px;font-size:10px;font-weight:800;display:grid}.security-modal input{border:1px solid #d8dfe6;border-radius:7px;height:38px;padding:7px;font-size:11px}.security-modal footer{border-top:1px solid #eee9e6;grid-column:1/-1;justify-content:flex-end;gap:7px;padding-top:12px;display:flex}.security-modal footer>button:first-child{background:#fff;border:1px solid #ddd4cf;border-radius:7px;padding:0 14px}@media (width<=900px){.security-summary{grid-template-columns:repeat(3,1fr)}.security-filters{grid-template-columns:1fr 1fr}.security-filters label{grid-column:1/-1}}@media (width<=600px){.security-summary{grid-template-columns:1fr 1fr}.security-tabs{overflow:auto}.security-modal form{grid-template-columns:1fr}}.page-content{padding:28px 32px 48px}.page-content>section{width:min(1380px,100%)}.staff-page-header h2,.dashboard-title-row h2{letter-spacing:-.035em;font-size:26px!important}.staff-page-header p,.overview-heading p{line-height:1.5;font-size:12px!important}.dashboard-title-row span{font-size:11px!important}.overview-heading h3,.quick-section h3{font-size:17px!important}.overview-heading p,.quick-section p{font-size:11px!important}.headline-total span{font-size:10px!important}.headline-total strong{font-size:27px!important}.overview-card h4{font-size:15px!important}.overview-card>header span{font-size:11px!important}.overview-card>header>strong{font-size:27px!important}.overview-rows span,.net-row span{font-size:11px!important}.overview-rows strong,.net-row strong{font-size:13px!important}.quick-card span{font-size:12px!important}.quick-card small,.page-content table th{font-size:10px!important}.page-content table td{font-size:11px!important}.page-content select,.page-content input,.page-content textarea,.page-content button{font-size:11px}.page-content article small,.page-content article em{font-size:10px}.page-content article>div>strong{line-height:1.15}.overview-section,.quick-section,.staff-page-header,.school-absent-workspace,.outing-workspace,.attendance-workspace,.sick-list,.sick-detail,.study-list,.study-detail,.security-panel,.gate-log,.holiday-calendar,.holiday-list,.holiday-detail,.phone-table,.prestige-list,.prestige-detail,.report-browser,.users-table,.setup-table{box-shadow:0 12px 34px #1f2d3d12}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#f2edf4;--muted:#b8aebc;--line:#423846;--white:#211c24;background:#171419}[data-theme=dark] body,[data-theme=dark] .app-shell,[data-theme=dark] .page-content{color:#eee9f0;background:#171419}[data-theme=dark] .topbar{background:#1b171df5;border-color:#3b323f}[data-theme=dark] .topbar-icon,[data-theme=dark] .profile-trigger:hover,[data-theme=dark] .mobile-menu{color:#e9e2ec;background:#28222b;border-color:#4a3f4e}[data-theme=dark] .popover,[data-theme=dark] .user-popover,[data-theme=dark] .notification-popover{color:#eee8f0;background:#272129;border-color:#4a3e4d}[data-theme=dark] .notification-list article,[data-theme=dark] .popover-header,[data-theme=dark] .user-popover>div{border-color:#443946}[data-theme=dark] .notification-list article.unread{background:#302635}[data-theme=dark] .page-content :is(.staff-page-header,.overview-section,.quick-section,.overview-card,.school-absent-workspace,.outing-workspace,.outing-workflow,.outing-receipt,.attendance-workspace,.sick-list,.sick-detail,.study-list,.study-detail,.security-panel,.gate-log,.holiday-calendar,.holiday-list,.holiday-detail,.phone-table,.phone-filters,.prestige-list,.prestige-detail,.report-browser,.report-charts article,.users-table,.setup-table,.hostel-cards article,.settings-workspace>nav,.settings-workspace>main>header){color:#eee9f0;background:#242027;border-color:#423846}[data-theme=dark] .page-content :is(h1,h2,h3,h4,strong,td,th,dt,dd,p){color:inherit}[data-theme=dark] .page-content :is(table th,.study-table th,.security-panel th,.gate-log th,.holiday-detail th,.phone-table th,.prestige-table th,.users-table th,.setup-table th){color:#e9e3ec;background:#302a33}[data-theme=dark] .page-content :is(table td,.overview-card footer,.study-panel,.kit-panel,.remarks-panel){border-color:#3f3742}[data-theme=dark] .page-content tbody tr:hover td,[data-theme=dark] .page-content tbody tr.selected td{background:#312a34}[data-theme=dark] .page-content :is(input,select,textarea){color:#eee9f0;background:#2c2630;border-color:#4b414f}[data-theme=dark] .page-content :is(.study-tabs,.security-tabs,.holiday-detail nav,.prestige-detail nav){background:#242027;border-color:#423846}[data-theme=dark] .page-content :is(.study-tabs button,.security-tabs button,.holiday-detail nav button){color:#d8d0dc;background:#242027}[data-theme=dark] .page-content :is(.overview-card>header,.overview-card.overall>header,.overview-card.girls>header,.security-panel>header,.gate-log>header,.holiday-detail>header,.panel-heading){background:#302a34}[data-theme=dark] .page-content :is(.study-panel,.sick-overview article,.followup-form,.remarks-panel){background:#2c2630}[data-theme=dark] .page-content .inline-alert{color:#ffb5ac;background:#382725;border-color:#704943}[data-theme=dark] .page-content .secondary-button,[data-theme=dark] .page-content .phone-settings,[data-theme=dark] .page-content .prestige-export{color:#e9e2ec;background:#2a242d;border-color:#4b414f}[data-theme=dark] .sidebar{background:#15111b;border-color:#221c28}[data-theme=dark] .sidebar-nav a.active{background:#513d61}[data-theme=dark] .dashboard-reference{color:#f4eff6}[data-theme=dark] .dashboard-title-row span{color:#f19a78}[data-theme=dark] .overview-section{background:linear-gradient(145deg,#28222c,#211c25 58%,#1e1a21);border-color:#4d4252}[data-theme=dark] .student-overview{border-color:#38546b}.staff-overview{border-color:#cfe3d8}[data-theme=dark] .staff-overview{border-color:#365849}[data-theme=dark] .overview-heading h3,[data-theme=dark] .quick-section h3{color:#f6f1f7}[data-theme=dark] .overview-heading p,[data-theme=dark] .quick-section p{color:#bdb1c1}[data-theme=dark] .headline-total{background:#332b37;border-color:#65556e}[data-theme=dark] .headline-total span{color:#c8bdcc}[data-theme=dark] .headline-total strong{color:#fff}[data-theme=dark] .overview-card{background:#211c24;border-color:#504553;box-shadow:0 12px 28px #0004}[data-theme=dark] .overview-card.boys{border-color:#41647d}[data-theme=dark] .overview-card.girls{border-color:#72465f}[data-theme=dark] .overview-card>header,[data-theme=dark] .overview-card.overall>header,[data-theme=dark] .overview-card.girls>header{background:linear-gradient(135deg,#39313e,#302934)}[data-theme=dark] .overview-card h4,[data-theme=dark] .overview-card.girls h4{color:#fff}[data-theme=dark] .overview-card>header span{color:#b9aebd}[data-theme=dark] .overview-card>header>strong{color:#9dd8ff}[data-theme=dark] .overview-card.girls>header>strong{color:#ff8fc1}[data-theme=dark] .overview-rows>div,[data-theme=dark] .overview-rows span{color:#d8cfdb}[data-theme=dark] .overview-rows strong{color:#fff}[data-theme=dark] .overview-rows svg{color:#b78dca}[data-theme=dark] .overview-card footer{background:#1d1920;border-color:#433a46}[data-theme=dark] .net-row.school{color:#a8ddff;background:#253846}[data-theme=dark] .net-row.hostel{color:#9be0c4;background:#243a32}[data-theme=dark] .quick-section{background:linear-gradient(145deg,#28222c,#201b23);border-color:#4b4050}[data-theme=dark] .quick-card{filter:saturate(.75)brightness(.82);box-shadow:0 8px 22px #0003}[data-theme=dark] .quick-card:hover{filter:saturate(.9)brightness(.95)}[data-theme=dark] .students-management-page{color:#f3edf5}[data-theme=dark] .students-management-page .staff-page-header{background:linear-gradient(135deg,#29232d,#211c25);border:1px solid #443949;border-radius:12px;box-shadow:0 14px 34px #0004}[data-theme=dark] .students-management-page .staff-title-icon{color:#a8d9ff;background:#263b4b}[data-theme=dark] .students-management-page .primary-action{color:#fff;background:linear-gradient(135deg,#2588ef,#1165c5);box-shadow:0 9px 22px #146ed144}[data-theme=dark] .student-summary-card{box-shadow:0 10px 25px #0003;border-color:#443a47!important}[data-theme=dark] .student-summary-card.blue{color:#a8d9ff;background:linear-gradient(135deg,#233747,#202a34)}[data-theme=dark] .student-summary-card.green{color:#93e0b8;background:linear-gradient(135deg,#243a32,#1f2e29)}[data-theme=dark] .student-summary-card.pink{color:#ff9bc7;background:linear-gradient(135deg,#422b38,#32242d)}[data-theme=dark] .student-summary-card.gold{color:#f4cf7a;background:linear-gradient(135deg,#403622,#302a20)}[data-theme=dark] .student-summary-card.slate{color:#c8d1dc;background:linear-gradient(135deg,#303640,#252a31)}[data-theme=dark] .student-summary-card>span{background:#ffffff0e}[data-theme=dark] .student-table-card{color:#ece6ef;background:#231e26;border-color:#493f4c;box-shadow:0 18px 42px #0005}[data-theme=dark] .student-search-row,[data-theme=dark] .student-filters{background:#231e26;border-color:#443b47}[data-theme=dark] .student-search-row .staff-search{color:#c9becd;background:#2d2730;border-color:#514653}[data-theme=dark] .student-search-row input{color:#f5eff7;background:0 0}[data-theme=dark] .student-filter>span{color:#c5bac9}[data-theme=dark] .student-filter select{color:#f0eaf2;background:#2d2730;border-color:#514653}[data-theme=dark] .student-table-wrap th{color:#d9d0dd;background:#342d37;border-color:#4b414e}[data-theme=dark] .student-table-wrap td{color:#ded6e2;background:#231e26;border-color:#403742}[data-theme=dark] .student-table-wrap .staff-name-cell{text-shadow:0 1px #000;font-weight:800;color:#fff!important}[data-theme=dark] .student-table-wrap tbody tr:hover .staff-name-cell{color:#bfe4ff!important}[data-theme=dark] .student-table-wrap tbody tr:nth-child(2n) td{background:#272129}[data-theme=dark] .student-table-wrap tbody tr:hover td{color:#fff;background:#332b36}[data-theme=dark] .student-table-card .table-footer{color:#c9becd;background:#211c24;border-color:#443a47}[data-theme=dark] .student-table-card .edit-row{color:#d9b9ea;background:#392c40;border-color:#70587b}[data-theme=dark] .student-table-card .delete-row{color:#ffaaa5;background:#422a2b;border-color:#794947}[data-theme=dark] .student-table-card .delete-row:hover{color:#fff;background:#c84b47}[data-theme=dark] .student-table-card .force-delete-student{color:#fff;background:#b63d39;border-color:#e16059}[data-theme=dark] .student-table-card .filter-reset{color:#ddd2e1;background:#342b38;border-color:#54475a}[data-theme=dark] .modal-backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#08060bc7}[data-theme=dark] .staff-modal{color:#f4eef6;background:#241f27;border:1px solid #524557;box-shadow:0 32px 95px #000b,0 0 0 1px #ffffff08}[data-theme=dark] .staff-modal>header{background:linear-gradient(135deg,#322a36,#29222d);border-color:#493e4d}[data-theme=dark] .staff-modal h3{color:#fff;font-size:18px}[data-theme=dark] .staff-modal header p{color:#bdb2c1;font-size:10px}[data-theme=dark] .staff-modal header button{color:#e4dbe7;background:#3a313e;border:1px solid #55485a}[data-theme=dark] .staff-modal form{background:#241f27}[data-theme=dark] .staff-form-grid label>span{color:#d8cedc;font-size:10px}[data-theme=dark] .staff-form-grid input,[data-theme=dark] .staff-form-grid select{color:#f5eff7;background:#302933;border-color:#554959;box-shadow:inset 0 1px #ffffff08}[data-theme=dark] .staff-form-grid input::placeholder{color:#8f8394}[data-theme=dark] .staff-form-grid input:focus,[data-theme=dark] .staff-form-grid select:focus{border-color:#8f6ca0;box-shadow:0 0 0 3px #77568a33}[data-theme=dark] .checkbox-field input{accent-color:#8a5ea0}[data-theme=dark] .checkbox-field span{color:#ddd3e0!important}[data-theme=dark] .staff-modal form>footer{border-color:#493e4d}[data-theme=dark] .staff-modal form>footer>button:first-child{color:#e6dee9;background:#332c37;border-color:#5a4d5e}[data-theme=dark] .staff-modal .primary-action{color:#fff;background:linear-gradient(135deg,#2688ee,#1268ce);box-shadow:0 8px 20px #126bd044}[data-theme=dark] .student-form-section{border-color:#493e4d}[data-theme=dark] .student-form-section>header strong{color:#fff}[data-theme=dark] .student-form-section>header span{color:#bdb2c1}@media (width<=700px){.page-content{padding:18px 14px 36px}}:root{color:#29222f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#29222f;--muted:#766e7b;--green:#3b2c4d;--green-dark:#2c203b;--cream:#f7c66c;--line:#e9ded5;--white:#fffdf9;background:#fbf5ec;font-family:Plus Jakarta Sans,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%}body{min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit}
