:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#15233c;font-synthesis:none;background:#eef3f8;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}.login-page{background:radial-gradient(circle at 8% 8%,#075da814 0 2px,#0000 3px) 0 0/28px 28px,#eef3f8;place-items:center;min-height:100svh;padding:28px 40px;display:grid;position:relative;overflow:hidden}.login-page:before,.login-page:after{content:"";border:1px solid #265cb51a;border-radius:50%;width:360px;height:360px;position:absolute}.login-page:before{top:-230px;right:-120px}.login-page:after{bottom:-260px;left:-100px}.login-shell{z-index:1;background:#fff;border:1px solid #1a365d12;border-radius:30px;grid-template-columns:minmax(420px,.92fr) minmax(460px,1.08fr);width:min(1080px,100%);min-height:650px;display:grid;overflow:hidden;box-shadow:0 30px 90px #19315324}.login-panel{place-items:center;padding:48px clamp(42px,5vw,74px);display:grid}.login-content{width:min(100%,410px)}.brand{width:min(100%,270px);text-decoration:none;display:block}.brand-logo{object-fit:contain;width:100%;height:auto;display:block}.login-heading{margin:44px 0 32px}.kicker{letter-spacing:.12em;text-transform:uppercase;margin:0 0 9px;font-weight:800;color:#075da8!important;font-size:.76rem!important}.login-heading h1{color:#15233c;letter-spacing:-.045em;margin:0;font-size:clamp(2rem,3vw,2.55rem);line-height:1.12}.login-heading p:last-child{color:#718097;margin:15px 0 0;font-size:.94rem;line-height:1.65}.login-form{display:grid}.login-form label{color:#34435a;margin:0 0 9px;font-size:.82rem;font-weight:700}.field{margin-bottom:21px;position:relative}.field svg{fill:none;stroke:#8997aa;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;pointer-events:none;width:19px;position:absolute;top:50%;left:17px;transform:translateY(-50%)}.field input{color:#15233c;background:#fbfcfe;border:1px solid #dce4ed;border-radius:12px;outline:none;width:100%;height:55px;padding:0 17px 0 49px;transition:border-color .16s,box-shadow .16s,background .16s}.field input::placeholder{color:#a0aaba}.field input:hover{border-color:#bdc9d9}.field input:focus{background:#fff;border-color:#075da8;box-shadow:0 0 0 4px #075da81a}.field input[aria-invalid=true]{border-color:#dc5262}.field input:disabled{cursor:not-allowed;opacity:.7}.form-error{color:#a83240;background:#fff5f6;border:1px solid #f4cbd0;border-radius:10px;align-items:flex-start;gap:9px;margin:-3px 0 14px;padding:11px 13px;font-size:.78rem;line-height:1.45;display:flex}.form-error span{color:#fff;background:#dc5262;border-radius:50%;flex:none;place-items:center;width:17px;height:17px;font-size:.65rem;font-weight:900;display:grid}.login-button{color:#fff;cursor:pointer;background:#075da8;border:0;border-radius:12px;justify-content:center;align-items:center;gap:12px;height:56px;margin-top:9px;font-weight:750;transition:transform .16s,background .16s,box-shadow .16s;display:flex;box-shadow:0 13px 28px #075da83d}.login-button span{font-size:1.3rem;font-weight:400;line-height:1;transition:transform .16s}.login-button:hover{background:#064c88;transform:translateY(-1px);box-shadow:0 16px 32px #075da84d}.login-button:hover span{transform:translate(3px)}.login-button:focus-visible{outline-offset:3px;outline:3px solid #075da840}.login-button:disabled{cursor:wait;opacity:.78;transform:none}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:17px;height:17px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-page{background:#eef3f8;place-items:center;min-height:100svh;padding:32px;display:grid}.dashboard-card{text-align:center;background:#fff;border:1px solid #1a365d12;border-radius:26px;width:min(560px,100%);padding:clamp(32px,7vw,58px);box-shadow:0 24px 70px #19315321}.dashboard-check{color:#16a05c;background:#e9f8ef;border-radius:18px;place-items:center;width:62px;height:62px;margin:0 auto 24px;font-size:1.65rem;font-weight:900;display:grid}.dashboard-card h1{color:#15233c;letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,5vw,2.5rem)}.dashboard-card p{color:#718097;margin:14px 0 0;line-height:1.6}.dashboard-card strong{color:#34435a}.visual-panel{color:#fff;background:#075da8;flex-direction:column;min-width:0;padding:48px 58px;display:flex;position:relative;overflow:hidden}.visual-panel:before,.visual-panel:after{content:"";border:1px solid #ffffff21;position:absolute;transform:rotate(28deg)}.visual-panel:before{border-radius:52px;width:280px;height:280px;top:-110px;right:-70px}.visual-panel:after{border-radius:50%;width:360px;height:360px;bottom:-150px;right:-120px}.dot-grid{opacity:.3;background:radial-gradient(circle,#fff 1.5px,#0000 2px) 0 0/15px 15px;width:96px;height:70px;position:absolute;top:34px;right:37px}.visual-copy{z-index:1;position:relative}.visual-badge{letter-spacing:.06em;text-transform:uppercase;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:999px;padding:8px 13px;font-size:.7rem;font-weight:700;display:inline-block}.visual-copy h2{letter-spacing:-.045em;margin:22px 0 14px;font-size:clamp(2rem,3.6vw,3rem);line-height:1.08}.visual-copy p{color:#ffffffbd;max-width:420px;margin:0;font-size:.92rem;line-height:1.65}.schedule-card{z-index:2;color:#1c2a40;background:#fffffff5;border:1px solid #ffffffbf;border-radius:19px;width:min(100%,415px);margin-top:auto;padding:23px;position:relative;transform:rotate(-1.5deg);box-shadow:0 24px 55px #07226740}.schedule-topline{justify-content:space-between;align-items:center;margin-bottom:20px;font-size:.85rem;font-weight:800;display:flex}.week-pill{color:#075da8;background:#edf3ff;border-radius:7px;padding:6px 9px;font-size:.58rem}.schedule-row{grid-template-columns:43px 1fr;align-items:stretch;margin-top:9px;display:grid}.schedule-time{color:#8c98a9;padding-top:9px;font-size:.58rem;font-weight:700}.schedule-event{border-left:3px solid;border-radius:6px;align-content:center;min-height:48px;padding:7px 12px;font-size:.67rem;font-weight:750;display:grid}.schedule-event small{color:#7e8b9e;margin-top:3px;font-size:.53rem;font-weight:500}.schedule-event.blue{background:#edf3ff;border-color:#075da8}.schedule-event.yellow{background:#fff8e5;border-color:#f1b929}.schedule-event.pale{background:#f5f7fa;border-color:#dce5ef;min-height:33px}.muted-row{opacity:.75}.status-card{z-index:3;color:#233149;background:#fffffff5;border:1px solid #ffffffb3;border-radius:12px;align-items:center;gap:10px;padding:12px 16px;display:flex;position:absolute;bottom:32px;right:32px;box-shadow:0 12px 28px #07226738}.status-icon{color:#19a663;background:#e6f8ee;border-radius:50%;place-items:center;width:29px;height:29px;font-size:.78rem;font-weight:900;display:grid}.status-card>span:last-child{display:grid}.status-card strong{font-size:.65rem}.status-card small{color:#8995a7;margin-top:3px;font-size:.52rem}.copyright{z-index:1;color:#8794a6;margin:0;font-size:.68rem;position:absolute;bottom:12px}@media (max-width:880px){.login-page{padding:24px}.login-shell{grid-template-columns:1fr;width:min(560px,100%);min-height:0}.login-panel{padding:48px clamp(28px,8vw,64px) 54px}.login-heading{margin:50px 0 32px}.visual-panel{display:none}}@media (max-width:520px){.login-page{background:#fff;padding:0;display:block}.login-shell{min-height:100svh;box-shadow:none;border:0;border-radius:0}.login-panel{padding:38px 24px}.login-heading{margin:56px 0 34px}.login-heading h1{font-size:2rem}.copyright{display:none}}.rooms-content{width:min(1580px,100%);margin:0 auto;padding:clamp(34px,2.4vw,48px) clamp(26px,3.2vw,58px) 32px}.rooms-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.rooms-heading h1{color:#17233b;letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,2.2vw,2.45rem)}.rooms-heading>div>p:last-child{color:#7c899d;margin:9px 0 0;font-size:.82rem}.rooms-error{margin-bottom:18px}.room-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.room-summary{color:#2074c8;background:#fff;border:1px solid #e3e9f0;border-radius:13px;align-items:center;gap:14px;min-height:94px;padding:18px;display:flex;box-shadow:0 5px 18px #1f33520a}.room-summary>span{background:color-mix(in srgb, currentcolor 12%, white);border-radius:11px;place-items:center;width:44px;height:44px;display:grid}.room-summary svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:21px}.room-summary>div{gap:5px;display:grid}.room-summary small{color:#7f8b9d;font-size:.65rem}.room-summary strong{color:#202c43;font-size:1.25rem}.room-summary-green{color:#299766}.room-summary-violet{color:#8058cc}.room-summary-orange{color:#e88230}.room-directory{padding:24px}.room-toolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.room-search{background:#fbfcfe;border:1px solid #dbe3ec;border-radius:10px;align-items:center;gap:10px;width:min(500px,100%);height:44px;padding:0 13px;display:flex}.room-search svg{fill:none;stroke:#8794a6;stroke-width:1.8px;flex:none;width:18px}.room-search input{color:#27344b;background:0 0;border:0;outline:0;width:100%;font-size:.69rem}.room-filters{background:#f1f4f7;border-radius:10px;padding:4px;display:flex}.room-filters button{color:#718095;cursor:pointer;background:0 0;border:0;border-radius:7px;min-height:34px;padding:0 12px;font-size:.6rem;font-weight:750}.room-filters button.active{color:#075da8;background:#fff;box-shadow:0 2px 8px #1e324e14}.room-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.room-card{background:#fcfdfe;border:1px solid #e0e7ef;border-radius:12px;gap:16px;min-width:0;padding:18px;display:grid}.room-card-heading{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;display:grid}.room-card-heading>span{color:#1472c2;background:#e8f3fc;border-radius:11px;place-items:center;width:42px;height:42px;display:grid}.room-card-heading svg{fill:none;stroke:currentColor;stroke-width:1.7px;width:21px}.room-card-heading>div{gap:3px;min-width:0;display:grid}.room-card-heading small{color:#718095;font-size:.57rem;font-weight:800}.room-card-heading strong{color:#253249;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.room-card-heading b{color:#27815a;background:#eaf8f0;border-radius:20px;padding:6px 8px;font-size:.56rem}.room-location,.room-equipment{gap:6px;display:grid}.room-location>span,.room-equipment>span{color:#929dac;text-transform:uppercase;font-size:.54rem;font-weight:800}.room-location strong{color:#4b596e;text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;overflow:hidden}.room-equipment>div{flex-wrap:wrap;gap:5px;min-height:25px;display:flex}.room-equipment small{color:#58687d;text-overflow:ellipsis;white-space:nowrap;background:#f0f4f8;border-radius:6px;max-width:120px;padding:5px 7px;font-size:.53rem;overflow:hidden}.room-equipment em{color:#9aa5b4;font-size:.58rem;font-style:normal}.room-card-actions{gap:8px;padding-top:2px;display:flex}.room-card-actions button{color:#075da8;cursor:pointer;background:#fff;border:1px solid #c9d9e8;border-radius:8px;flex:1;min-height:36px;font-size:.6rem;font-weight:800}.room-card-actions .room-delete{color:#b54b58;border-color:#eed1d5}.rooms-empty{color:#94a0b0;text-align:center;place-content:center;justify-items:center;min-height:300px;display:grid}.rooms-empty svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:32px;margin-bottom:12px}.rooms-empty strong{color:#526077;font-size:.74rem}.rooms-empty p{margin:6px 0 0;font-size:.62rem}.room-dialog{width:min(570px,100%)}@media (max-width:1200px){.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.room-stats{grid-template-columns:repeat(2,1fr)}.room-toolbar{flex-direction:column;align-items:stretch}.room-search{width:100%}.room-filters{grid-template-columns:repeat(4,1fr);display:grid}}@media (max-width:650px){.rooms-content{padding:24px 16px}.rooms-heading{flex-direction:column;align-items:stretch}.rooms-heading>.primary-action{width:100%}.room-directory{padding:17px}.room-grid,.room-stats{grid-template-columns:1fr}}@media (max-width:430px){.room-filters{grid-template-columns:repeat(2,1fr)}.room-card-heading{grid-template-columns:auto minmax(0,1fr)}.room-card-heading b{grid-column:1/-1;width:fit-content}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.session-check-page{color:#718097;background:#f4f7fb;place-content:center;justify-items:center;gap:15px;min-height:100svh;display:grid}.session-check-page p{margin:0;font-size:.82rem;font-weight:650}.session-check-spinner{border:3px solid #dce7f2;border-top-color:#075da8;border-radius:50%;width:34px;height:34px;animation:.7s linear infinite spin}.admin-shell{--navy:#172954;--blue:#1769c2;--ink:#17233c;--muted:#76839a;--sidebar-width:clamp(270px, 15vw, 292px);min-height:100svh;color:var(--ink);background:#f4f7fb;display:flex}.admin-shell.sidebar-collapsed{--sidebar-width:84px}.admin-shell button,.admin-shell input{font:inherit}.admin-shell button{color:inherit}.admin-sidebar{z-index:20;width:var(--sidebar-width);background:#fff;border-right:1px solid #e5eaf1;flex-direction:column;transition:width .18s,transform .18s;display:flex;position:fixed;inset:0 auto 0 0;box-shadow:8px 0 32px #1f355808}.sidebar-brand{border-bottom:1px solid #eef1f5;align-items:center;height:clamp(92px,5.2vw,104px);padding:18px 28px;display:flex;position:relative}.sidebar-brand img{width:clamp(174px,10vw,194px);height:auto}.sidebar-logo-mark{display:none}.sidebar-collapse-toggle{z-index:1;color:#64748b;cursor:pointer;background:#fff;border:1px solid #dbe4ef;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;transition:color .15s,background .15s,transform .18s;display:grid;position:absolute;bottom:-14px;right:-14px;box-shadow:0 4px 12px #1f35581f}.sidebar-collapse-toggle:hover{color:#075da8;background:#edf5ff}.sidebar-collapse-toggle:focus-visible{outline-offset:2px;outline:3px solid #075da833}.sidebar-collapse-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:15px;transform:rotate(180deg)}.sidebar-close{display:none}.sidebar-nav{flex:1;padding:24px 14px}.sidebar-nav p{color:#a2adbd;letter-spacing:.12em;text-transform:uppercase;margin:0 14px 11px;font-size:.72rem;font-weight:800}.sidebar-nav p.sidebar-section{margin-top:29px}.sidebar-nav button{color:#657188;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:13px;width:100%;height:clamp(48px,3vw,54px);margin-bottom:4px;padding:0 15px;font-size:.86rem;font-weight:650;transition:all .15s;display:flex;position:relative}.sidebar-nav button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:19px}.sidebar-nav button:hover{color:var(--blue);background:#f4f7fb}.sidebar-nav button:disabled{cursor:default;opacity:.58}.sidebar-nav button:disabled:hover{color:#657188;background:0 0}.sidebar-nav button.active{color:#075da8;background:#edf5ff;font-weight:800}.sidebar-nav button.active i{background:#075da8;border-radius:5px 0 0 5px;width:3px;height:24px;position:absolute;right:0}.sidebar-support{background:#f4f8fd;border:1px solid #dfe9f5;border-radius:12px;align-items:center;gap:11px;margin:0 18px 15px;padding:14px;display:flex}.sidebar-support>span{color:#075da8;background:#dcecff;border-radius:9px;flex:none;place-items:center;width:31px;height:31px;font-size:.8rem;font-weight:900;display:grid}.sidebar-support div{gap:3px;display:grid}.sidebar-support strong{font-size:.74rem}.sidebar-support small{color:#8290a5;font-size:.64rem}.sidebar-footer{color:#a2adbd;text-align:center;padding:13px 20px 18px;font-size:.63rem}.admin-workspace{width:calc(100% - var(--sidebar-width));min-width:0;margin-left:var(--sidebar-width);transition:width .18s,margin-left .18s}@media (min-width:821px){.sidebar-collapsed .sidebar-brand{justify-content:center;padding:18px 12px}.sidebar-collapsed .sidebar-logo-full{display:none}.sidebar-collapsed .sidebar-logo-mark{object-fit:contain;width:48px;height:48px;display:block}.sidebar-collapsed .sidebar-collapse-toggle svg{transform:none}.sidebar-collapsed .sidebar-nav{padding-inline:12px}.sidebar-collapsed .sidebar-nav p,.sidebar-collapsed .sidebar-nav button span,.sidebar-collapsed .sidebar-support div,.sidebar-collapsed .sidebar-footer{display:none}.sidebar-collapsed .sidebar-nav p.sidebar-section{background:#e8edf4;height:1px;margin:18px 8px;font-size:0;display:block;overflow:hidden}.sidebar-collapsed .sidebar-nav button{justify-content:center;gap:0;padding:0}.sidebar-collapsed .sidebar-nav button svg{width:21px}.sidebar-collapsed .sidebar-nav button.active i{right:-12px}.sidebar-collapsed .sidebar-support{justify-content:center;margin-inline:12px;padding:10px}}.admin-topbar{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-bottom:1px solid #e9edf3;justify-content:space-between;align-items:center;height:clamp(78px,4.6vw,88px);padding:0 clamp(22px,3vw,44px);display:flex;position:sticky;top:0}.mobile-menu{display:none}.topbar-search{background:#f8fafc;border:1px solid #e1e7ef;border-radius:10px;align-items:center;gap:11px;width:min(460px,42vw);height:46px;padding:0 12px 0 14px;display:flex}.topbar-search svg{fill:none;stroke:#8995a7;stroke-linecap:round;stroke-width:1.8px;flex:none;width:18px}.topbar-search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:.8rem}.topbar-search input::placeholder{color:#a1abba}.topbar-search kbd{color:#8b97a8;background:#fff;border:1px solid #dce2e9;border-radius:5px;padding:3px 6px;font-size:.63rem;box-shadow:0 1px 1px #1428460d}.topbar-actions,.user-menu{align-items:center;display:flex}.topbar-actions{gap:15px}.profile-menu-container{position:relative}.notification-button{cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;width:42px;height:42px;display:grid;position:relative}.notification-button:hover{background:#f2f5f9}.notification-button svg{fill:none;stroke:#647188;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:19px}.notification-button span{background:#ed5555;border:1.5px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:8px;right:7px}.topbar-divider{background:#e8ecf1;width:1px;height:32px}.user-menu{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;gap:10px;padding:4px;transition:background .15s}.user-menu:hover,.user-menu.is-open{background:#f2f6fa}.user-avatar{color:#fff;background:linear-gradient(145deg,#196fc7,#074c8d);border-radius:10px;place-items:center;width:42px;height:42px;font-size:.76rem;font-weight:850;display:grid}.user-copy{gap:2px;display:grid}.user-copy strong{font-size:.76rem}.user-copy small{color:#8a96a7;font-size:.64rem}.user-chevron{color:#8c97a7;margin-left:4px;transition:transform .15s}.user-menu.is-open .user-chevron{transform:rotate(180deg)}.profile-dropdown{z-index:40;background:#fff;border:1px solid #dfe6ee;border-radius:14px;width:286px;animation:.14s ease-out profile-menu-in;position:absolute;top:calc(100% + 12px);right:0;overflow:hidden;box-shadow:0 18px 50px #182b4929}@keyframes profile-menu-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.profile-dropdown-heading{border-bottom:1px solid #edf0f4;align-items:center;gap:12px;padding:18px;display:flex}.user-avatar.large{flex:none;width:44px;height:44px}.profile-dropdown-heading>div{gap:4px;min-width:0;display:grid}.profile-dropdown-heading strong,.profile-dropdown-heading small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-dropdown-heading strong{color:#253149;font-size:.8rem}.profile-dropdown-heading small{color:#8793a5;font-size:.68rem}.profile-dropdown-context{border-bottom:1px solid #edf0f4;grid-template-columns:70px minmax(0,1fr);gap:8px 10px;padding:14px 18px;display:grid}.profile-dropdown-context span{color:#98a2b1;font-size:.63rem}.profile-dropdown-context strong{color:#56647a;text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;font-weight:700;overflow:hidden}.logout-button{text-align:left;cursor:pointer;background:#fff2f3;border:0;border-radius:9px;align-items:center;gap:10px;width:calc(100% - 20px);height:42px;margin:10px;padding:0 12px;font-weight:750;transition:background .15s;display:flex;color:#c43e4c!important;font-size:.72rem!important}.logout-button:hover{background:#ffe5e8}.logout-button:disabled{cursor:wait;opacity:.65}.logout-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:17px}.logout-error{color:#b13442;margin:-3px 12px 12px;font-size:.65rem;line-height:1.45}.dashboard-content{width:min(1580px,100%);margin:0 auto;padding:clamp(34px,2.4vw,48px) clamp(26px,3.2vw,58px) 28px}.dashboard-heading-row{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px;display:flex}.dashboard-eyebrow{letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-weight:800;color:#075da8!important;font-size:.7rem!important}.dashboard-heading-row h1{color:#17233b;letter-spacing:-.04em;margin:0;font-size:clamp(2rem,2.35vw,2.65rem)}.dashboard-heading-row h1 span{font-weight:430}.dashboard-heading-row>div>p:last-child{color:#7c899d;margin:8px 0 0;font-size:.84rem}.academic-year-select{background:#fff;border:1px solid #dfe5ed;border-radius:10px;gap:4px;min-width:210px;padding:13px 42px 13px 16px;display:grid;position:relative;box-shadow:0 3px 12px #1f34550a}.academic-year-select>span:first-child{color:#8b96a7;font-size:.64rem}.academic-year-select strong{color:#26334a;font-size:.82rem}.academic-year-select label{gap:4px;display:grid}.academic-year-select label span{color:#8b96a7;font-size:.64rem}.academic-year-select select{color:#26334a;cursor:pointer;background:0 0;border:0;outline:none;max-width:270px;font-size:.78rem;font-weight:750}.select-chevron{color:#6f7c91;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.dashboard-alert{color:#8b6223;background:#fff9ec;border:1px solid #f0d6a1;border-radius:10px;margin:-10px 0 20px;padding:12px 15px;font-size:.7rem}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(15px,1.15vw,22px);margin-bottom:24px;display:grid}.stat-card{background:#fff;border:1px solid #e5eaf1;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;min-width:0;min-height:clamp(126px,7.4vw,142px);padding:22px 19px;display:grid;position:relative;overflow:hidden;box-shadow:0 6px 20px #1f33520a}.stat-card:after{content:"";opacity:.035;background:currentColor;border-radius:50%;width:92px;height:92px;position:absolute;top:-30px;right:-30px}.stat-icon{background:currentColor;border-radius:12px;place-items:center;width:50px;height:50px;display:grid}.stat-icon svg{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:23px}.stat-card>div{min-width:0;display:grid}.stat-card small{color:#7e8a9d;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:650;overflow:hidden}.stat-card strong{color:#17233b;letter-spacing:-.04em;margin:4px 0 2px;font-size:clamp(1.65rem,1.5vw,1.9rem)}.stat-card p{color:#97a0af;white-space:nowrap;margin:0;font-size:.61rem}.stat-card p b{color:currentColor}.stat-card>button{color:#8c97a7;cursor:pointer;background:#f4f6f9;border:0;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.stat-card>button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:13px}.stat-blue{color:#1c75cc}.stat-green{color:#25a76f}.stat-violet{color:#8058cc}.stat-orange{color:#ed8a38}.dashboard-main-grid{grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:24px;margin-bottom:24px;display:grid}.panel{background:#fff;border:1px solid #e5eaf1;border-radius:14px;box-shadow:0 6px 20px #1f33520a}.programs-panel,.schedule-panel{min-height:clamp(380px,23vw,440px);padding:clamp(22px,1.5vw,28px)}.panel-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.panel-header h2,.progress-title h2{color:#202c43;letter-spacing:-.015em;margin:0;font-size:1rem}.panel-header p,.progress-title p{color:#929dac;margin:5px 0 0;font-size:.67rem}.panel-header>button,.full-schedule-link,.progress-panel>button{color:#075da8;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:.68rem;font-weight:750;display:flex}.panel-header button svg,.full-schedule-link svg,.progress-panel>button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px;width:14px}.program-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.program-card{background:#fff;border:1px solid #e5eaf1;border-radius:11px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-width:0;min-height:88px;padding:15px;transition:all .15s;display:grid}.program-card:hover{border-color:color-mix(in srgb, currentcolor 28%, white);transform:translateY(-1px);box-shadow:0 8px 22px #1b315412}.program-code{background:color-mix(in srgb, currentcolor 12%, white);color:currentColor;border-radius:10px;place-items:center;width:48px;height:48px;font-size:.69rem;font-weight:850;display:grid}.program-card>div{gap:5px;min-width:0;display:grid}.program-card strong{color:#253149;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.program-card small{color:#98a2b1;font-size:.61rem}.program-card button{color:#8b96a6;cursor:pointer;background:#f4f6f9;border:0;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.program-card button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:12px}.program-blue{color:#2074c8}.program-green{color:#319a5b}.program-violet{color:#8b52c4}.program-orange{color:#ed792e}.program-teal{color:#168c90}.program-rose{color:#bd4d7b}.empty-state{color:#929dac;text-align:center;grid-column:1/-1;font-size:.68rem}.panel-header.compact{align-items:center}.panel-header .calendar-action{color:#647189;border:1px solid #dfe7f0;border-radius:9px;place-items:center;width:40px;height:40px;display:grid}.panel-header .calendar-action svg{width:16px}.session-list{align-content:start;gap:9px;min-height:270px;display:grid}.session-item{background:color-mix(in srgb, currentcolor 6%, white);border-left:3px solid;border-radius:8px;grid-template-columns:45px 1fr;gap:13px;padding:12px;display:grid}.session-date{border-right:1px solid color-mix(in srgb, currentcolor 15%, white);align-content:center;justify-items:center;display:grid}.session-date strong{text-transform:uppercase;font-size:.59rem}.session-date span{color:#263249;margin-top:2px;font-size:.95rem;font-weight:850}.session-details{grid-template-columns:1fr auto;gap:3px 8px;min-width:0;display:grid}.session-details strong{color:#253149;text-overflow:ellipsis;white-space:nowrap;font-size:.69rem;overflow:hidden}.session-details span{color:#67758b;align-items:center;gap:4px;font-size:.6rem;display:flex}.session-details span svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:11px}.session-details small{color:#929dac;grid-column:1/-1;font-size:.59rem}.session-color-0{color:#2675c6}.session-color-1{color:#32a66c}.session-color-2{color:#8b5bca}.session-color-3{color:#ed8434}.schedule-empty{color:#93a0b2;text-align:center;align-content:center;justify-items:center;min-height:260px;display:grid}.schedule-empty>span{color:#407bac;background:#edf4fb;border-radius:12px;place-items:center;width:52px;height:52px;margin-bottom:10px;display:grid}.schedule-empty svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:20px}.schedule-empty strong{color:#5d6b80;font-size:.76rem}.schedule-empty small{margin-top:5px;font-size:.62rem}.full-schedule-link{border-top:1px solid #edf0f4;justify-content:center;width:100%;padding-top:15px}.progress-panel{grid-template-columns:minmax(210px,1fr) minmax(360px,1.8fr) auto;align-items:center;gap:28px;min-height:118px;padding:22px 26px;display:grid}.progress-title{align-items:center;gap:13px;display:flex}.progress-title>span{color:#249364;background:#e9f5ef;border-radius:11px;flex:none;place-items:center;width:48px;height:48px;display:grid}.progress-title svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:20px}.progress-metrics{grid-template-columns:auto auto 1fr;align-items:center;gap:32px;display:grid}.progress-metrics>div:not(.progress-visual){gap:5px;display:grid}.progress-metrics small{color:#8e99aa;font-size:.64rem}.progress-metrics strong{color:#273349;font-size:1.05rem}.progress-visual{gap:7px;display:grid}.progress-visual>span{background:#e8edf2;border-radius:10px;height:9px;overflow:hidden}.progress-visual b{border-radius:inherit;background:linear-gradient(90deg,#299b69,#43bd82);height:100%;display:block}.progress-visual small{color:#299b69;font-weight:750}.dashboard-footer{color:#9aa4b3;justify-content:space-between;padding:18px 3px 0;font-size:.64rem;display:flex}.academics-content{width:min(1580px,100%);margin:0 auto;padding:clamp(34px,2.4vw,48px) clamp(26px,3.2vw,58px) 32px}.academics-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.academics-heading h1{color:#17233b;letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,2.2vw,2.45rem)}.academics-heading>div>p:last-child{color:#7c899d;margin:9px 0 0;font-size:.82rem}.academics-actions{flex-wrap:wrap;gap:10px;display:flex}.primary-action,.secondary-action{cursor:pointer;border-radius:10px;min-height:44px;padding:0 17px;font-size:.72rem;font-weight:800}.primary-action{background:#075da8;border:0;box-shadow:0 8px 20px #075da82e;color:#fff!important}.secondary-action{background:#fff;border:1px solid #ccd9e7;color:#075da8!important}.primary-action:disabled,.secondary-action:disabled{cursor:wait;opacity:.65}.academics-error{margin:0 0 18px}.academics-success{color:#238254;background:#eefaf3;border:1px solid #bde5ce;border-radius:10px;margin-bottom:18px;padding:12px 15px;font-size:.72rem}.academics-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.academics-tabs{background:#edf2f7;border:1px solid #dce4ed;border-radius:14px;grid-template-columns:repeat(4,minmax(170px,1fr));gap:6px;margin-bottom:18px;padding:6px;display:grid;overflow-x:auto}.academics-tabs button{color:#68778c;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;min-height:50px;padding:0 14px;font-size:.7rem;font-weight:800;display:flex}.academics-tabs button:hover{color:#315f88;background:#ffffff8c}.academics-tabs button.active{color:#075da8;background:#fff;box-shadow:0 3px 11px #1e36561a}.academics-tabs svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;flex:none;width:19px;height:19px}.academics-tabs button b{min-width:24px;color:inherit;text-align:center;background:#68778c1a;border-radius:20px;margin-left:auto;padding:4px 7px;font-size:.58rem}.academics-tabs button.active b{background:#e7f2fc}.academic-summary{color:#2074c8;background:#fff;border:1px solid #e3e9f0;border-radius:13px;align-items:center;gap:14px;min-height:94px;padding:18px;display:flex;box-shadow:0 5px 18px #1f33520a}.academic-summary>span{background:color-mix(in srgb, currentcolor 12%, white);border-radius:11px;place-items:center;width:44px;height:44px;display:grid}.academic-summary svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:21px}.academic-summary div{gap:5px;display:grid}.academic-summary small{color:#7f8b9d;font-size:.65rem}.academic-summary strong{color:#202c43;font-size:1.25rem}.summary-green{color:#299766}.summary-violet{color:#8058cc}.summary-orange{color:#e88230}.academics-grid{grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);align-items:start;gap:22px;display:grid}.academic-years-panel,.programs-list-panel{padding:24px}.academics-section-title{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.academics-section-title h2{color:#202c43;margin:0;font-size:1rem}.academics-section-title p{color:#929dac;margin:5px 0 0;font-size:.66rem}.academics-section-title>span{color:#6e7c91;background:#f0f4f8;border-radius:20px;padding:6px 9px;font-size:.61rem;font-weight:750}.academic-year-list,.academic-program-list{gap:12px;display:grid}.academic-year-card{background:#fbfcfe;border:1px solid #e0e7ef;border-radius:12px;padding:18px;position:relative}.academic-year-card.active{background:#f8fbff;border-color:#a8ccec;box-shadow:inset 3px 0 #075da8}.year-card-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.year-card-heading>div{gap:5px;display:grid}.year-card-heading strong{color:#263249;font-size:.82rem}.year-card-heading small{color:#8c98a9;font-size:.61rem}.year-card-heading>button{color:#075da8;cursor:pointer;background:#fff;border:1px solid #bad3eb;border-radius:8px;padding:6px 10px;font-size:.61rem;font-weight:750}.active-year-badge{color:#238254;background:#e8f7ee;border-radius:20px;padding:6px 9px;font-size:.59rem;font-weight:800}.semester-list{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.semester-chip{background:#fff;border:1px solid #e1e7ee;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;min-width:165px;padding:9px 10px;display:flex}.semester-chip>span{gap:3px;display:grid}.semester-chip b{color:#344158;font-size:.66rem}.semester-chip small{color:#929dac;font-size:.52rem}.semester-chip button{color:#a1aab8;cursor:pointer;background:0 0;border:0}.semester-chip-actions{align-items:center;gap:5px;display:flex}.semester-chip-actions button:first-child{color:#075da8;font-size:.54rem;font-weight:750}.add-semester{color:#55708c;cursor:pointer;background:0 0;border:1px dashed #b9c9da;border-radius:9px;min-height:43px;padding:0 12px;font-size:.6rem;font-weight:700}.archive-year{cursor:pointer;background:0 0;border:0;padding:0;font-size:.58rem;font-weight:700;color:#b35660!important}.year-card-actions{align-items:center;gap:14px;margin-top:15px;display:flex}.year-card-actions>button{color:#075da8;cursor:pointer;background:0 0;border:0;padding:0;font-size:.58rem;font-weight:750}.academic-program-list{max-height:610px;padding-right:3px;overflow:auto}.academic-program-row{border:1px solid #e5eaf0;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px;display:grid}.academic-program-row>div{gap:4px;min-width:0;display:grid}.academic-program-row strong{color:#2c384e;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.academic-program-row small{color:#9aa4b3;font-size:.56rem}.academic-program-row>button{color:#8996a8;cursor:pointer;background:0 0;border:0}.levels-classes-panel{margin-top:22px;padding:24px}.academics-tab-panel{margin-top:0}.academic-level-list-expanded{flex-wrap:wrap;margin-bottom:0;overflow:visible}.levels-classes-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.levels-classes-heading h2{color:#202c43;margin:2px 0 0;font-size:1.05rem}.levels-classes-heading>div>p:last-child{color:#8996a8;margin:6px 0 0;font-size:.68rem}.academic-level-list{gap:10px;margin-bottom:22px;padding:1px 1px 6px;display:flex;overflow-x:auto}.academic-level-card{background:#fbfcfe;border:1px solid #dfe7ef;border-radius:11px;align-items:center;gap:11px;min-width:165px;padding:12px;display:flex}.academic-level-card>span{color:#0865b5;background:#e9f3fc;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;font-size:.66rem;font-weight:850;display:grid}.academic-level-card>div{gap:3px;min-width:0;display:grid}.academic-level-card>button{color:#a24e58;cursor:pointer;background:#f2f5f8;border:0;border-radius:7px;flex:none;place-items:center;width:28px;height:28px;display:grid}.academic-level-card strong{color:#263249;font-size:.72rem}.academic-level-card small{color:#8c98a9;text-overflow:ellipsis;white-space:nowrap;font-size:.57rem;overflow:hidden}.academic-level-empty{color:#7d8a9c;text-align:center;border:1px dashed #cbd7e4;border-radius:10px;width:100%;padding:14px;font-size:.65rem}.class-list{border:1px solid #e0e7ef;border-radius:12px;overflow:hidden}.class-list-header,.class-row{grid-template-columns:minmax(190px,1.45fr) minmax(90px,.65fr) minmax(90px,.8fr) minmax(70px,.5fr) minmax(65px,.45fr) auto;align-items:center;gap:14px;display:grid}.class-list-header{color:#7a879a;text-transform:uppercase;letter-spacing:.04em;background:#f5f8fb;padding:11px 15px;font-size:.58rem;font-weight:800}.class-row{color:#4d5b70;border-top:1px solid #e8edf2;min-height:64px;padding:11px 15px;font-size:.66rem}.class-row:nth-child(odd){background:#fcfdfe}.class-identity{gap:4px;min-width:0;display:grid}.class-identity strong{color:#263249;font-size:.72rem}.class-identity small{color:#8996a8;text-overflow:ellipsis;white-space:nowrap;font-size:.57rem;overflow:hidden}.class-headcount{color:#28364e;font-size:.72rem}.class-actions{gap:7px;display:flex}.class-actions>button{color:#075da8;cursor:pointer;background:#fff;border:1px solid #c9d9e8;border-radius:8px;min-height:34px;padding:0 11px;font-size:.61rem;font-weight:800}.class-actions>.class-delete{color:#b54b58;border-color:#eed1d5}.academic-archives-panel{margin-top:22px;padding:24px}.academic-archive-list{gap:9px;display:grid}.academic-archive-row{background:#fbfcfd;border:1px solid #e1e7ee;border-radius:10px;grid-template-columns:minmax(70px,auto) minmax(180px,1fr) auto auto;align-items:center;gap:14px;padding:12px 14px;display:grid}.academic-archive-row>span{color:#59677a;text-align:center;background:#edf1f5;border-radius:8px;padding:7px 9px;font-size:.62rem;font-weight:850}.academic-archive-row>div{gap:4px;min-width:0;display:grid}.academic-archive-row strong{color:#2b374d;text-overflow:ellipsis;white-space:nowrap;font-size:.69rem;overflow:hidden}.academic-archive-row small,.academic-archive-row time{color:#8b97a7;font-size:.56rem}.academic-archive-row>button{color:#b54b58;cursor:pointer;background:#fff;border:1px solid #edcfd3;border-radius:8px;min-height:34px;padding:0 11px;font-size:.6rem;font-weight:800}.academics-empty{color:#9aa5b5;place-content:center;justify-items:center;min-height:150px;display:grid}.academics-empty svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:25px}.academics-empty p{font-size:.68rem}.academic-dialog-backdrop{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#121f3580;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.academic-dialog{background:#fff;border-radius:16px;width:min(520px,100%);max-height:calc(100svh - 40px);padding:27px;position:relative;overflow:auto;box-shadow:0 30px 90px #0f1e3740}.dialog-close{z-index:1;color:#68768a;cursor:pointer;background:#f1f4f7;border:0;border-radius:8px;place-items:center;width:32px;height:32px;font-size:1.2rem;display:grid;position:absolute;top:14px;right:14px}.dialog-error{color:#a93845;background:#fff4f5;border:1px solid #f0c8cd;border-radius:8px;margin:20px 36px 16px 0;padding:10px 12px;font-size:.66rem;line-height:1.45}.academic-form{gap:15px;display:grid}.academic-form h2,.archive-confirm h2{color:#202c43;margin:0;font-size:1.2rem}.academic-form>p,.archive-confirm>p{color:#7f8c9f;margin:-7px 36px 4px 0;font-size:.68rem;line-height:1.55}.academic-field{gap:7px;display:grid}.academic-field span{color:#435168;font-size:.66rem;font-weight:750}.academic-field small{color:#7f8c9f;margin-top:-2px;font-size:.61rem;line-height:1.35}.academic-field input,.academic-field select,.academic-field textarea{color:#243149;background:#fbfcfe;border:1px solid #dbe3ec;border-radius:9px;outline:none;width:100%;height:46px;padding:0 13px;font-size:.72rem}.academic-field textarea{resize:vertical;min-height:100px;padding:12px 13px}.academic-field select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#738196 50%),linear-gradient(135deg,#738196 50%,#0000 50%);background-position:calc(100% - 18px) 20px,calc(100% - 13px) 20px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:36px}.academic-field input:focus,.academic-field select:focus,.academic-field textarea:focus{border-color:#2c79bd;box-shadow:0 0 0 3px #075da817}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.check-field{color:#56647a;align-items:center;gap:9px;font-size:.67rem;display:flex}.check-field input{accent-color:#075da8;width:17px;height:17px}.academic-form>.primary-action{margin-top:4px}.archive-confirm{text-align:center;justify-items:center;gap:13px;display:grid}.archive-warning{color:#c33f4d;background:#fff0f1;border-radius:50%;place-items:center;width:48px;height:48px;font-size:1.1rem;font-weight:900;display:grid}.archive-confirm>p{margin:0}.archive-confirm>small{color:#a06b71;font-size:.61rem;line-height:1.45}.archive-confirm>div{gap:10px;width:100%;margin-top:5px;display:flex}.archive-confirm button{cursor:pointer;background:#fff;border:1px solid #dce3eb;border-radius:9px;flex:1;min-height:43px;font-size:.7rem;font-weight:750}.archive-confirm .danger-action{color:#fff;background:#ca4653;border-color:#ca4653}@media (max-width:1100px){.academics-stats{grid-template-columns:repeat(2,1fr)}.academics-grid{grid-template-columns:1fr}.academic-program-list{max-height:none}.academic-archive-row{grid-template-columns:auto minmax(0,1fr) auto}.academic-archive-row time{display:none}.class-list-header,.class-row{grid-template-columns:minmax(170px,1.4fr) minmax(82px,.65fr) minmax(82px,.7fr) minmax(65px,.5fr) minmax(60px,.4fr) auto;gap:10px}}@media (max-width:680px){.academics-content{padding:24px 16px}.academics-heading{flex-direction:column;align-items:stretch}.academics-actions{grid-template-columns:1fr 1fr;display:grid}.academics-stats{grid-template-columns:1fr}.academics-tabs{grid-template-columns:repeat(4,minmax(155px,1fr))}.academic-years-panel,.programs-list-panel,.levels-classes-panel,.academic-archives-panel{padding:17px}.levels-classes-heading{flex-direction:column;align-items:stretch}.levels-classes-heading .academics-actions{width:100%}.class-list{border:0;overflow:visible}.class-list-header{display:none}.class-row{background:#fff;border:1px solid #e0e7ef;border-radius:11px;grid-template-columns:1fr 1fr;gap:12px 16px;margin-top:10px;padding:15px}.class-identity{grid-column:1/-1}.class-row>[data-label]:before{color:#98a3b2;content:attr(data-label);text-transform:uppercase;margin-bottom:3px;font-size:.52rem;font-weight:800;display:block}.class-actions{grid-column:1/-1}.class-actions>button{flex:1}.academic-archive-row{grid-template-columns:auto minmax(0,1fr)}.academic-archive-row>button{grid-column:1/-1}.year-card-heading{flex-direction:column}.semester-chip{width:100%}.form-row{grid-template-columns:1fr}}@media (min-width:1440px){html{font-size:17px}}@media (min-width:2200px){html{font-size:18px}.dashboard-content{width:min(1760px,100%)}}@media (max-width:1180px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-main-grid{grid-template-columns:1fr}.progress-panel{grid-template-columns:1fr auto}.progress-metrics{grid-area:2/1/auto/-1}}@media (max-width:820px){.admin-shell.sidebar-collapsed{--sidebar-width:clamp(270px, 15vw, 292px)}.admin-sidebar{width:min(300px,88vw);transition:transform .18s;transform:translate(-105%)}.sidebar-collapse-toggle{display:none}.admin-sidebar.is-open{transform:translate(0)}.sidebar-close{background:#f2f5f9;border:0;border-radius:8px;place-items:center;width:30px;height:30px;font-size:1.2rem;display:grid;position:absolute;top:27px;right:14px}.sidebar-backdrop{z-index:15;background:#101e3673;border:0;position:fixed;inset:0}.admin-workspace{width:100%;margin-left:0}.mobile-menu{color:#334259;cursor:pointer;background:#f2f5f9;border:0;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.admin-topbar{gap:14px}.topbar-search{flex:1;width:auto}.user-copy,.topbar-divider{display:none}.user-chevron{margin:0 3px 0 0}}@media (max-width:620px){.admin-topbar{height:66px;padding:0 16px}.topbar-search{display:none}.topbar-actions{margin-left:auto}.dashboard-content{padding:22px 16px 18px}.dashboard-heading-row{flex-direction:column;align-items:flex-start}.academic-year-select{width:100%}.stat-grid,.program-grid{grid-template-columns:1fr}.stat-card{min-height:105px}.programs-panel,.schedule-panel{padding:17px}.progress-panel,.progress-metrics{grid-template-columns:1fr}.progress-panel>button{grid-column:1}.progress-metrics{gap:15px}.dashboard-footer{text-align:center;flex-direction:column;align-items:center;gap:7px}}.teachers-content{width:min(1580px,100%);margin:0 auto;padding:clamp(34px,2.4vw,48px) clamp(26px,3.2vw,58px) 32px}.teachers-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.teachers-heading h1{color:#17233b;letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,2.2vw,2.45rem)}.teachers-heading>div>p:last-child{color:#7c899d;margin:9px 0 0;font-size:.82rem}.teachers-error{margin-bottom:18px}.teacher-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.teacher-summary{color:#2074c8;background:#fff;border:1px solid #e3e9f0;border-radius:13px;align-items:center;gap:14px;min-height:94px;padding:18px;display:flex;box-shadow:0 5px 18px #1f33520a}.teacher-summary>span{background:color-mix(in srgb, currentcolor 12%, white);border-radius:11px;place-items:center;width:44px;height:44px;display:grid}.teacher-summary svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:21px}.teacher-summary>div{gap:5px;display:grid}.teacher-summary small{color:#7f8b9d;font-size:.65rem}.teacher-summary strong{color:#202c43;font-size:1.25rem}.teacher-summary-green{color:#299766}.teacher-summary-violet{color:#8058cc}.teacher-summary-orange{color:#e88230}.teacher-directory{padding:24px}.teacher-toolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.teacher-search{background:#fbfcfe;border:1px solid #dbe3ec;border-radius:10px;align-items:center;gap:10px;width:min(470px,100%);height:44px;padding:0 13px;display:flex}.teacher-search svg{fill:none;stroke:#8794a6;stroke-width:1.8px;flex:none;width:18px}.teacher-search input{color:#27344b;background:0 0;border:0;outline:0;width:100%;font-size:.69rem}.teacher-filters{background:#f1f4f7;border-radius:10px;padding:4px;display:flex}.teacher-filters button{color:#718095;cursor:pointer;background:0 0;border:0;border-radius:7px;min-height:34px;padding:0 12px;font-size:.6rem;font-weight:750}.teacher-filters button.active{color:#075da8;background:#fff;box-shadow:0 2px 8px #1e324e14}.teacher-list{border:1px solid #e0e7ef;border-radius:12px;overflow:hidden}.teacher-list-header,.teacher-row{grid-template-columns:minmax(210px,1.25fr) minmax(90px,.55fr) minmax(180px,1fr) minmax(180px,1fr) auto;align-items:center;gap:16px;display:grid}.teacher-list-header{color:#7a879a;text-transform:uppercase;letter-spacing:.04em;background:#f5f8fb;padding:11px 15px;font-size:.58rem;font-weight:800}.teacher-row{color:#4d5b70;border-top:1px solid #e8edf2;min-height:76px;padding:12px 15px;font-size:.66rem}.teacher-row:nth-child(odd){background:#fcfdfe}.teacher-identity{align-items:center;gap:11px;min-width:0;display:flex}.teacher-identity>span{color:#0865b5;background:#e7f2fc;border-radius:11px;flex:none;place-items:center;width:40px;height:40px;font-size:.68rem;font-weight:850;display:grid}.teacher-identity>div,.teacher-contact{gap:4px;min-width:0;display:grid}.teacher-identity strong,.teacher-contact>span{color:#29364d;text-overflow:ellipsis;white-space:nowrap;font-size:.69rem;overflow:hidden}.teacher-identity small,.teacher-contact small{color:#929dac;font-size:.56rem}.employment-badge{border-radius:20px;width:fit-content;padding:6px 9px;font-size:.58rem;font-weight:800}.employment-internal{color:#268158;background:#e8f7ee}.employment-adjunct{color:#7550b8;background:#f0eafa}.teacher-specialties{flex-wrap:wrap;gap:5px;min-width:0;display:flex}.teacher-specialties>span{color:#58687d;text-overflow:ellipsis;white-space:nowrap;background:#f0f4f8;border-radius:6px;max-width:115px;padding:5px 7px;font-size:.54rem;overflow:hidden}.teacher-specialties small{color:#8e9aab;font-size:.56rem}.teacher-actions{gap:7px;display:flex}.teacher-actions button{color:#075da8;cursor:pointer;background:#fff;border:1px solid #c9d9e8;border-radius:8px;min-height:34px;padding:0 10px;font-size:.59rem;font-weight:800}.teacher-actions .teacher-delete{color:#b54b58;border-color:#eed1d5}.teachers-empty{color:#94a0b0;text-align:center;place-content:center;justify-items:center;min-height:250px;display:grid}.teachers-empty svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:30px;margin-bottom:12px}.teachers-empty strong{color:#526077;font-size:.74rem}.teachers-empty p{margin:6px 0 0;font-size:.62rem}.teacher-dialog{width:min(590px,100%)}@media (max-width:1100px){.teacher-stats{grid-template-columns:repeat(2,1fr)}.teacher-list-header,.teacher-row{grid-template-columns:minmax(190px,1.2fr) 90px minmax(160px,1fr) auto}.teacher-list-header>:nth-child(4),.teacher-row>:nth-child(4){display:none}}@media (max-width:760px){.teachers-content{padding:24px 16px}.teachers-heading,.teacher-toolbar{flex-direction:column;align-items:stretch}.teachers-heading>.primary-action,.teacher-search{width:100%}.teacher-directory{padding:17px}.teacher-filters{grid-template-columns:repeat(3,1fr);display:grid}.teacher-list{border:0;overflow:visible}.teacher-list-header{display:none}.teacher-row{background:#fff;border:1px solid #e0e7ef;border-radius:11px;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px;padding:15px}.teacher-identity,.teacher-actions{grid-column:1/-1}.teacher-row>[data-label]:before{color:#98a3b2;content:attr(data-label);text-transform:uppercase;margin-bottom:5px;font-size:.51rem;font-weight:800;display:block}.teacher-actions button{flex:1}}@media (max-width:520px){.teacher-stats,.teacher-row{grid-template-columns:1fr}.teacher-row>[data-label],.teacher-actions{grid-column:1}}.catalog-content{width:min(1580px,100%);margin:0 auto;padding:clamp(34px,2.4vw,48px) clamp(26px,3.2vw,58px) 32px}.catalog-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.catalog-heading h1{color:#17233b;letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,2.2vw,2.45rem)}.catalog-heading>div>p:last-child{color:#7c899d;margin:9px 0 0;font-size:.82rem}.catalog-heading-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:min(560px,100%);display:grid}.catalog-secondary-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.catalog-secondary-actions .secondary-action,.catalog-heading-actions>.primary-action{white-space:nowrap;min-height:42px;padding-inline:16px}.catalog-secondary-actions .secondary-action{justify-content:center;font-size:.67rem}.catalog-heading-actions>.primary-action{justify-content:center;min-width:158px}.catalog-import-input{display:none}.catalog-error{margin-bottom:18px}.catalog-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.catalog-summary{color:#2074c8;background:#fff;border:1px solid #e3e9f0;border-radius:13px;align-items:center;gap:14px;min-height:94px;padding:18px;display:flex;box-shadow:0 5px 18px #1f33520a}.catalog-summary>span{background:color-mix(in srgb, currentcolor 12%, white);border-radius:11px;place-items:center;width:44px;height:44px;display:grid}.catalog-summary svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:21px}.catalog-summary>div{gap:5px;display:grid}.catalog-summary small{color:#7f8b9d;font-size:.65rem}.catalog-summary strong{color:#202c43;font-size:1.25rem}.catalog-summary-green{color:#299766}.catalog-summary-violet{color:#8058cc}.catalog-summary-orange{color:#e88230}.catalog-layout{grid-template-columns:minmax(280px,.32fr) minmax(0,1fr);align-items:start;gap:22px;display:grid}.course-types-panel,.modules-panel{padding:24px}.course-type-list{gap:9px;display:grid}.course-type-row{background:#fbfcfe;border:1px solid #e1e7ee;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.course-type-row.active{background:#f7fbff;border-color:#9cc5e8;box-shadow:inset 3px 0 #075da8}.course-type-row>button:first-child{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;min-width:0;padding:11px;display:flex}.course-type-row>button:first-child>span{border-radius:5px;flex:none;width:12px;height:36px}.course-type-row>button:first-child>div{gap:4px;min-width:0;display:grid}.course-type-row strong{color:#2b384e;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.course-type-row small{color:#8a97a9;font-size:.55rem;font-weight:800}.course-type-delete{color:#ae505b;cursor:pointer;background:#f1f4f7;border:0;border-radius:7px;place-items:center;width:29px;height:29px;margin-right:9px;display:grid}.clear-type-filter{color:#075da8;cursor:pointer;background:0 0;border:1px dashed #b9c9da;border-radius:8px;width:100%;margin-top:12px;padding:9px;font-size:.59rem;font-weight:750}.module-toolbar{grid-template-columns:minmax(120px,.45fr) minmax(220px,.9fr) minmax(180px,.8fr);align-items:center;gap:14px;margin-bottom:20px;display:grid}.module-toolbar>div{min-width:0}.module-toolbar h2{color:#202c43;margin:0;font-size:1rem}.module-toolbar>div>p{color:#929dac;margin:5px 0 0;font-size:.61rem}.catalog-search{background:#fbfcfe;border:1px solid #dbe3ec;border-radius:9px;align-items:center;gap:9px;width:100%;min-width:0;height:42px;padding:0 12px;display:flex}.catalog-search svg{fill:none;stroke:#8794a6;stroke-width:1.8px;flex:none;width:17px}.catalog-search input{color:#27344b;background:0 0;border:0;outline:0;width:100%;font-size:.67rem}.catalog-program-filter{gap:5px;min-width:0;display:grid}.catalog-program-filter>span{color:#77869a;font-size:.58rem;font-weight:800}.catalog-program-filter select{color:#27344b;background:#fbfcfe;border:1px solid #dbe3ec;border-radius:9px;outline:0;width:100%;min-width:0;height:42px;padding:0 32px 0 11px;font-size:.67rem}.module-list{background:#fcfdfe;border:1px solid #e0e7ef;border-radius:10px;overflow-x:auto}.module-list-header,.module-row{grid-template-columns:minmax(210px,1.45fr) minmax(170px,1.05fr) minmax(120px,.8fr) 80px minmax(130px,.85fr) minmax(120px,.8fr) 116px;align-items:center;gap:12px;display:grid}.module-list-header{color:#8794a6;text-transform:uppercase;background:#f7f9fc;border-bottom:1px solid #e8edf2;min-width:1060px;padding:10px 14px;font-size:.54rem;font-weight:850}.module-row{border-bottom:1px solid #e8edf2;min-width:1060px;padding:11px 14px}.module-row:last-child{border-bottom:0}.module-row-title{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.module-row-title>span{border-radius:5px;width:8px;height:34px}.module-row-title>div,.module-row-cell{gap:3px;min-width:0;display:grid}.module-row-title strong,.module-row-cell strong{color:#27344a;text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;overflow:hidden}.module-row-title small{color:#77859a;text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;line-height:1.35;overflow:hidden}.module-row-cell:before{content:attr(data-label);display:none}.module-row-cell.compact strong{color:#075da8}.module-row-actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.module-row-actions button{color:#286da8;cursor:pointer;background:#f8fbfe;border:1px solid #dbe3ec;border-radius:8px;height:30px;padding:0 10px;font-size:.6rem;font-weight:750}.module-row-actions .module-delete-action{color:#ae505b;background:#f1f4f7;border:0;place-items:center;width:30px;padding:0;display:grid}.module-pagination{color:#77869a;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:.61rem;font-weight:750;display:flex}.module-pagination>div{align-items:center;gap:8px;display:flex}.module-pagination button{color:#286da8;cursor:pointer;background:#fbfcfe;border:1px solid #dbe3ec;border-radius:8px;height:32px;padding:0 11px;font-size:.59rem;font-weight:800}.module-pagination button:disabled{cursor:not-allowed;opacity:.45}.module-pagination strong{color:#27344a;font-size:.6rem}.catalog-empty{color:#9aa5b5;text-align:center;place-content:center;justify-items:center;min-height:190px;display:grid}.catalog-empty svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:27px}.catalog-empty p{font-size:.62rem}.catalog-dialog{width:min(600px,100%)}@media (max-width:1120px){.catalog-layout{grid-template-columns:1fr}.course-type-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:850px){.catalog-stats{grid-template-columns:repeat(2,1fr)}.module-toolbar{grid-template-columns:1fr;align-items:stretch}.catalog-search,.catalog-program-filter{width:100%}.module-list{overflow:visible}.module-list-header{display:none}.module-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px 14px;min-width:0;padding:13px}.module-row-title{grid-column:1/-1}.module-row-cell{grid-template-columns:74px minmax(0,1fr);align-items:center}.module-row-cell:before{color:#929dac;font-size:.53rem;font-weight:800;display:block}.module-row-actions{grid-column:1/-1;justify-content:flex-start}.module-pagination{flex-direction:column;align-items:stretch}.module-pagination>div{justify-content:space-between}}@media (max-width:650px){.catalog-content{padding:24px 16px}.catalog-heading{flex-direction:column;align-items:stretch}.catalog-heading-actions{grid-template-columns:1fr;min-width:0}.catalog-secondary-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.course-types-panel,.modules-panel{padding:17px}.module-row{grid-template-columns:1fr}.module-row-cell{grid-template-columns:82px minmax(0,1fr)}.course-type-list,.catalog-stats{grid-template-columns:1fr}}@media (max-width:430px){.catalog-secondary-actions{grid-template-columns:1fr}}.schedules-content{width:min(1800px,100%);margin:0 auto;padding:clamp(28px,2.2vw,46px) clamp(20px,2.8vw,52px) 42px}.schedule-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:25px;display:flex}.schedule-heading h1{color:#17233b;letter-spacing:-.045em;margin:0;font-size:clamp(1.9rem,2.3vw,2.55rem)}.schedule-heading>div:first-child>p:last-child{color:#7c899d;max-width:760px;margin:9px 0 0;font-size:clamp(.78rem,.72vw,.9rem);line-height:1.55}.schedule-heading-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:min(560px,100%);display:grid}.schedule-secondary-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.schedule-secondary-actions .secondary-action,.schedule-heading-actions>.primary-action{white-space:nowrap;min-height:42px;padding-inline:16px}.schedule-secondary-actions .secondary-action{justify-content:center;font-size:.67rem}.schedule-heading-actions>.primary-action{justify-content:center;min-width:178px}.schedule-error{margin-bottom:18px}.schedule-setup-banner{background:#fffaf0;border:1px solid #f0d6a6;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:15px 18px;display:flex}.schedule-setup-banner>div{gap:4px;display:grid}.schedule-setup-banner strong{color:#7b5316;font-size:.78rem}.schedule-setup-banner span{color:#9a7948;font-size:.67rem;line-height:1.45}.schedule-setup-banner button,.prepare-offering-button{color:#075da8;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #cbd9e7;border-radius:9px;min-height:40px;padding:0 14px;font-size:.66rem;font-weight:800}.schedule-setup-banner button:disabled,.prepare-offering-button:disabled{cursor:not-allowed;opacity:.48}.schedule-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.schedule-summary article{background:#fff;border:1px solid #e0e7ef;border-radius:13px;align-items:center;gap:13px;min-height:88px;padding:17px;display:flex;box-shadow:0 5px 18px #1f33520a}.schedule-summary article>span{color:#1672c4;background:#eaf3fb;border-radius:10px;flex:none;place-items:center;width:42px;height:42px;display:grid}.schedule-summary article:nth-child(2)>span{color:#258a59;background:#e7f5ed}.schedule-summary article:nth-child(3)>span{color:#7b52c8;background:#f0ebfa}.schedule-summary article:nth-child(4)>span{color:#dc7628;background:#fff1e6}.schedule-summary svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:20px}.schedule-summary article>div{gap:5px;display:grid}.schedule-summary small{color:#7f8b9d;font-size:.68rem}.schedule-summary strong{color:#202c43;font-size:1.2rem}.schedule-workspace{overflow:hidden}.schedule-toolbar{border-bottom:1px solid #e4eaf1;justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;display:flex}.week-navigation{align-items:center;gap:7px;display:flex}.week-navigation>button{color:#516178;cursor:pointer;background:#fff;border:1px solid #d8e1ea;border-radius:9px;place-items:center;width:38px;height:38px;font-size:1.25rem;display:grid}.week-navigation>.today-button{color:#075da8;width:auto;padding:0 13px;font-size:.65rem;font-weight:800;display:block}.week-navigation>div{gap:3px;margin-left:8px;display:grid}.week-navigation small{color:#929dac;text-transform:uppercase;letter-spacing:.04em;font-size:.56rem}.week-navigation strong{color:#26344b;font-size:clamp(.72rem,.75vw,.88rem)}.schedule-filters{background:#f9fbfd;border-bottom:1px solid #e5eaf0;grid-template-columns:repeat(5,minmax(150px,1fr)) auto;align-items:end;gap:10px;padding:16px 22px;display:grid}.schedule-filters>label{gap:6px;min-width:0;display:grid}.schedule-filters label>span{color:#68768b;font-size:.59rem;font-weight:800}.schedule-filters select{color:#344158;text-overflow:ellipsis;background:#fff;border:1px solid #dbe3ec;border-radius:8px;outline:0;width:100%;min-width:0;height:39px;padding:0 28px 0 10px;font-size:.64rem;overflow:hidden}.clear-schedule-filters{color:#075da8;white-space:nowrap;cursor:pointer;background:0 0;border:1px dashed #aebed0;border-radius:8px;height:39px;padding:0 12px;font-size:.61rem;font-weight:800}.schedule-grid-header{justify-content:space-between;align-items:center;gap:18px;padding:18px 22px;display:flex}.schedule-grid-header>div:first-child{gap:4px;display:grid}.schedule-grid-header strong{color:#26334a;font-size:.82rem}.schedule-grid-header>div:first-child span{color:#8b97a8;font-size:.6rem}.schedule-legend{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.schedule-legend span{color:#68768a;align-items:center;gap:5px;font-size:.56rem;font-weight:800;display:flex}.schedule-legend i{border:1px solid;border-radius:4px;width:13px;height:13px}.schedule-grid-wrap{border-top:1px solid #e5eaf0;min-height:520px;position:relative}.weekly-calendar-scroll{background:#fff;overflow:auto}.weekly-calendar{grid-template-rows:65px auto;grid-template-columns:82px repeat(6,minmax(168px,1fr));min-width:1110px;display:grid}.calendar-corner,.calendar-day-heading{z-index:5;color:#fff;background:#0d2137;border-bottom:1px solid #dce4ec;border-right:1px solid #dce4ec;align-content:center;display:grid;position:sticky;top:0}.calendar-corner{z-index:7;text-align:center;padding:0 11px;font-size:.6rem;font-weight:800;left:0}.calendar-day-heading{justify-items:center;gap:4px}.calendar-day-heading strong{font-size:.71rem}.calendar-day-heading span{color:#b8c9d9;text-transform:capitalize;font-size:.59rem}.calendar-day-heading.today{background:#123f69;box-shadow:inset 0 -3px #58a8e9}.calendar-time-axis{z-index:4;background:#eef5fb;position:sticky;left:0}.calendar-time-axis>div{border-bottom:1px solid #dce5ed;border-right:1px solid #cbd9e7;align-content:start;justify-items:center;height:78px;padding-top:9px;display:grid}.calendar-time-axis strong{color:#1e4d8c;font-size:.62rem}.calendar-time-axis small{color:#93a5b6;margin-top:auto;margin-bottom:5px;font-size:.48rem}.calendar-day-column{background:#fff;border-right:1px solid #dce5ed;min-width:0;position:relative}.calendar-day-column.today{background:#f7fbff}.calendar-hour-line{background-image:linear-gradient(#0000 50%,#dde5ed8c 50% calc(50% + 1px),#0000 calc(50% + 1px));border-bottom:1px solid #e2e8ef;height:78px}.calendar-session{z-index:2;color:#243249;text-align:left;cursor:pointer;border:1px solid;border-left-width:4px;border-radius:7px;align-content:start;gap:3px;min-width:0;padding:7px 8px;display:grid;position:absolute;overflow:hidden;box-shadow:0 2px 5px #182d460f}.calendar-session:hover{z-index:3;filter:saturate(1.08)brightness(.985);box-shadow:0 6px 14px #182d4621}.calendar-session>span{text-overflow:ellipsis;white-space:nowrap;font-size:.54rem;font-weight:900;overflow:hidden}.calendar-session>strong{color:#233148;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(.58rem,.6vw,.7rem);line-height:1.25;display:-webkit-box;overflow:hidden}.calendar-session>small{color:#59677a;text-overflow:ellipsis;white-space:nowrap;font-size:.51rem;overflow:hidden}.calendar-session>em{color:#788597;font-size:.48rem;font-style:normal;font-weight:750}.schedule-week-empty{z-index:3;color:#8390a2;text-align:center;background:#fffffff0;border:1px solid #dce5ed;border-radius:13px;justify-items:center;gap:8px;min-width:310px;padding:24px;display:grid;position:absolute;top:120px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #1b2f4814}.schedule-week-empty svg{fill:none;stroke:#297bbd;stroke-width:1.6px;width:25px}.schedule-week-empty strong{color:#344158;font-size:.72rem}.schedule-week-empty span{font-size:.59rem}.schedule-loading{color:#7a879a;border-top:1px solid #e5eaf0;justify-content:center;align-items:center;gap:12px;min-height:420px;font-size:.69rem;display:flex}.schedule-dialog-wide{width:min(760px,100%)}.session-form,.offering-form{padding-top:2px}.schedule-date-time-fields{grid-template-columns:1.35fr 1fr 1fr;gap:12px;display:grid}.schedule-recurrence-toggle{cursor:pointer;background:#f8fbfd;border:1px solid #dbe5ed;border-radius:10px;align-items:flex-start;gap:11px;padding:13px;display:flex}.schedule-recurrence-toggle input{accent-color:#075da8;width:17px;height:17px;margin-top:1px}.schedule-recurrence-toggle>span{gap:4px;display:grid}.schedule-recurrence-toggle strong{color:#344158;font-size:.67rem}.schedule-recurrence-toggle small{color:#8491a3;font-size:.57rem}.recurrence-fields{background:#fbfcfe;border:1px solid #e0e7ee;border-radius:10px;gap:12px;padding:15px;display:grid}.recurrence-days{border:1px solid #dfe6ed;border-radius:9px;flex-wrap:wrap;gap:8px;margin:0;padding:12px;display:flex}.recurrence-days legend{color:#58667b;padding:0 5px;font-size:.58rem;font-weight:800}.recurrence-days label{color:#56647a;align-items:center;gap:4px;font-size:.58rem;display:flex}.recurrence-days input{accent-color:#075da8}.schedule-form-note{color:#866632;background:#fffaf1;border:1px solid #e8d8b6;border-radius:9px;padding:13px;font-size:.61rem;line-height:1.45}.conflict-review{text-align:center;justify-items:center;gap:12px;display:grid}.conflict-review>span{border-radius:50%;place-items:center;width:50px;height:50px;font-size:1.15rem;font-weight:900;display:grid}.conflict-review>span.blocking{color:#bd3f4c;background:#fff0f1}.conflict-review>span.warning{color:#c47a15;background:#fff7e5}.conflict-review h2,.session-details h2,.recurrences-dialog h2{color:#202c43;margin:0;font-size:1.2rem}.conflict-review>p,.recurrences-dialog>p{color:#7e8b9e;margin:-4px 0 2px;font-size:.66rem}.conflict-list{text-align:left;gap:8px;width:100%;display:grid}.conflict-list>div{background:#fafbfd;border:1px solid #e4e9ef;border-radius:9px;gap:4px;padding:12px;display:grid}.conflict-list strong{color:#4d5b70;font-size:.57rem}.conflict-list span{color:#68768a;font-size:.64rem}.override-form{gap:12px;width:100%;display:grid}.override-form>div,.recurrence-cancel-form>div,.session-detail-actions{gap:10px;display:flex}.override-form button,.recurrence-cancel-form button,.session-detail-actions button{color:#526076;cursor:pointer;background:#fff;border:1px solid #dbe3eb;border-radius:9px;flex:1;min-height:42px;font-size:.65rem;font-weight:800}.session-details{gap:13px;display:grid}.session-details-code{color:#126cb8;background:#eaf3fb;border-radius:6px;width:max-content;padding:5px 8px;font-size:.58rem;font-weight:900}.session-details dl{border:1px solid #e2e8ee;border-radius:10px;gap:0;margin:2px 0;display:grid}.session-details dl>div{border-bottom:1px solid #e8edf2;grid-template-columns:115px 1fr;gap:12px;padding:10px 12px;display:grid}.session-details dl>div:last-child{border-bottom:0}.session-details dt{color:#8a96a7;font-size:.6rem}.session-details dd{color:#344158;margin:0;font-size:.65rem;font-weight:700}.session-notes,.rescheduled-note{color:#657388;background:#f4f7fa;border-radius:8px;margin:0;padding:11px;font-size:.62rem;line-height:1.5}.rescheduled-note{color:#85642e;background:#fff8eb}.danger-action{color:#b3404d!important;background:#fff5f6!important;border-color:#e8cbd0!important}.cancel-reason{text-align:left;width:100%}.recurrences-dialog{gap:14px;display:grid}.recurrence-list{gap:8px;max-height:330px;display:grid;overflow:auto}.recurrence-list article{background:#fbfcfd;border:1px solid #e0e7ed;border-radius:9px;justify-content:space-between;align-items:center;gap:16px;padding:12px 13px;display:flex}.recurrence-list article>div{gap:5px;display:grid}.recurrence-list strong{color:#344158;font-size:.67rem}.recurrence-list small{color:#8591a2;font-size:.56rem}.recurrence-list button{color:#aa4652;cursor:pointer;background:#fff;border:1px solid #e3cbd0;border-radius:8px;min-height:34px;padding:0 11px;font-size:.58rem;font-weight:800}.recurrence-cancel-form{border-top:1px solid #e4e9ef;gap:12px;padding-top:15px;display:grid}.recurrence-cancel-form h3{color:#344158;margin:0;font-size:.76rem}@media (min-width:2000px){.schedules-content{width:min(2040px,100%)}.weekly-calendar{grid-template-columns:94px repeat(6,minmax(200px,1fr))}.calendar-session>strong{font-size:.73rem}}@media (max-width:1280px){.schedule-filters{grid-template-columns:repeat(3,minmax(170px,1fr))}.clear-schedule-filters{width:max-content}}@media (max-width:900px){.schedule-heading,.schedule-toolbar{flex-direction:column;align-items:stretch}.schedule-heading-actions{grid-template-columns:1fr;min-width:0}.schedule-secondary-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-summary{grid-template-columns:repeat(2,1fr)}.schedule-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-grid-header{flex-direction:column;align-items:flex-start}.schedule-legend{justify-content:flex-start}}@media (max-width:640px){.schedules-content{padding:24px 14px 34px}.schedule-heading-actions{grid-template-columns:1fr}.schedule-summary{gap:9px}.schedule-summary article{min-height:78px;padding:13px}.schedule-summary article>span{width:36px;height:36px}.schedule-summary strong{font-size:1rem}.schedule-toolbar,.schedule-filters,.schedule-grid-header{padding-left:14px;padding-right:14px}.week-navigation{flex-wrap:wrap}.week-navigation>div{width:100%;margin:7px 0 0}.prepare-offering-button{width:100%}.schedule-filters{grid-template-columns:1fr}.clear-schedule-filters{width:100%}.schedule-setup-banner{flex-direction:column;align-items:stretch}.schedule-date-time-fields,.form-row{grid-template-columns:1fr}.academic-dialog.schedule-dialog{padding:22px 18px}.session-details dl>div{grid-template-columns:90px 1fr}.schedule-week-empty{min-width:280px;left:245px}}.progress-management-content{width:min(1800px,100%);margin:0 auto;padding:clamp(30px,2.4vw,48px) clamp(20px,3vw,56px) 44px}.progress-management-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.progress-management-heading h1{color:#17233b;letter-spacing:-.045em;margin:0;font-size:clamp(1.9rem,2.3vw,2.55rem)}.progress-management-heading>div>p:last-child{color:#7c899d;max-width:760px;margin:9px 0 0;font-size:clamp(.78rem,.72vw,.9rem);line-height:1.55}.progress-tabs{background:#edf2f7;border:1px solid #dce4ed;border-radius:12px;gap:4px;width:max-content;max-width:100%;margin-bottom:18px;padding:5px;display:flex}.progress-tabs button{color:#68778c;cursor:pointer;background:0 0;border:0;border-radius:9px;min-height:42px;padding:0 18px;font-size:.72rem;font-weight:800}.progress-tabs button.active{color:#075da8;background:#fff;box-shadow:0 3px 11px #1e36561a}.progress-filter-panel{background:#fff;border:1px solid #dfe6ee;border-radius:14px;grid-template-columns:repeat(4,minmax(170px,1fr)) auto;align-items:end;gap:13px;margin-bottom:20px;padding:18px;display:grid;box-shadow:0 5px 18px #1f33520a}.progress-filter{gap:7px;min-width:0;display:grid}.progress-filter>span{color:#5b6980;font-size:.67rem;font-weight:800}.progress-filter select{appearance:none;color:#27354d;text-overflow:ellipsis;background:linear-gradient(45deg,#0000 50%,#76859a 50%) calc(100% - 17px) 19px/5px 5px no-repeat,linear-gradient(135deg,#76859a 50%,#0000 50%) calc(100% - 12px) 19px/5px 5px no-repeat,#fbfcfe;border:1px solid #d7e0ea;border-radius:9px;outline:0;width:100%;height:44px;padding:0 34px 0 12px;font-size:.69rem;font-weight:650;overflow:hidden}.progress-filter select:focus{border-color:#2c79bd;box-shadow:0 0 0 3px #075da817}.progress-clear-filters{color:#627187;cursor:pointer;background:#fff;border:1px solid #d2dce7;border-radius:9px;min-height:44px;padding:0 14px;font-size:.67rem;font-weight:800}.progress-clear-filters:disabled{cursor:default;opacity:.45}.progress-loading,.progress-empty-state{color:#7e8b9f;text-align:center;background:#fff;border:1px solid #e0e7ef;border-radius:15px;align-content:center;place-items:center;gap:11px;min-height:340px;padding:35px;display:grid}.progress-empty-state>svg{fill:none;stroke:#1975c5;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;background:#eaf3fc;border-radius:11px;width:42px;height:42px;padding:10px}.progress-empty-state h2{color:#25334b;margin:3px 0 0;font-size:1rem}.progress-empty-state p{max-width:530px;margin:0 0 7px;font-size:.72rem;line-height:1.55}.publication-layout{grid-template-columns:minmax(0,1.55fr) minmax(320px,.72fr);align-items:start;gap:18px;display:grid}.publication-card,.workflow-history-panel,.module-progress-panel,.realization-panel{background:#fff;border:1px solid #dfe6ee;border-radius:15px;min-width:0;padding:clamp(20px,1.6vw,28px);box-shadow:0 6px 21px #1f33520a}.publication-card-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.publication-card-heading h2{color:#1e2b42;margin:0;font-size:clamp(1.15rem,1.2vw,1.4rem)}.publication-card-heading>div>p:last-child{color:#8490a2;margin:7px 0 0;font-size:.67rem}.workflow-status{color:#627086;white-space:nowrap;background:#f2f5f8;border:1px solid #dce4ed;border-radius:999px;align-items:center;min-height:29px;padding:0 10px;font-size:.61rem;font-weight:850;display:inline-flex}.workflow-status.status-submitted{color:#176bab;background:#eaf4fd;border-color:#b9d8f4}.workflow-status.status-approved{color:#7553c4;background:#f1edfc;border-color:#c9baf1}.workflow-status.status-rejected{color:#b93e4c;background:#fff0f1;border-color:#f0c3c9}.workflow-status.status-published{color:#23845a;background:#ebf9f1;border-color:#b8e4cc}.workflow-track{grid-template-columns:repeat(4,1fr);margin:32px 0 27px;display:grid;position:relative}.workflow-track:before{content:"";background:#e0e6ee;height:2px;position:absolute;top:16px;left:12.5%;right:12.5%}.workflow-track>div{z-index:1;color:#9aa5b5;justify-items:center;gap:9px;font-size:.66rem;display:grid;position:relative}.workflow-track>div>span{background:#fff;border:2px solid #dfe6ee;border-radius:50%;place-items:center;width:34px;height:34px;font-size:.66rem;font-weight:900;display:grid}.workflow-track>div.reached{color:#075da8}.workflow-track>div.reached>span{color:#fff;background:#237bc3;border-color:#237bc3}.workflow-rejection,.workflow-note{background:#fff5f6;border:1px solid #f0c6cb;border-radius:10px;margin-top:14px;padding:14px 16px}.workflow-note{background:#f7f9fb;border-color:#d9e3ed}.workflow-rejection strong,.workflow-note strong{color:#a33744;font-size:.69rem}.workflow-note strong{color:#405069}.workflow-rejection p,.workflow-note p{color:#7b5360;margin:6px 0 0;font-size:.68rem;line-height:1.5}.workflow-note p{color:#68768a}.workflow-rejection time{color:#aa7780;margin-top:7px;font-size:.59rem;display:block}.workflow-checksum{background:#f4f7fa;border-radius:9px;gap:6px;margin-top:15px;padding:12px 14px;display:grid}.workflow-checksum span{color:#6f7c90;font-size:.6rem;font-weight:750}.workflow-checksum code{color:#344158;text-overflow:ellipsis;white-space:nowrap;font-size:.61rem;overflow:hidden}.workflow-actions{border-top:1px solid #e5ebf1;flex-wrap:wrap;gap:10px;margin-top:24px;padding-top:20px;display:flex}.workflow-reject-button{color:#b33a48;cursor:pointer;background:#fff;border:1px solid #e7bac0;border-radius:10px;min-height:44px;padding:0 17px;font-size:.72rem;font-weight:800}.progress-section-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.progress-section-heading h2{color:#243149;margin:0;font-size:.94rem}.progress-section-heading p{color:#8591a3;margin:6px 0 0;font-size:.65rem}.progress-section-heading>span{color:#176eb6;background:#edf3f9;border-radius:8px;place-items:center;min-width:30px;height:30px;font-size:.65rem;font-weight:850;display:grid}.workflow-history-list{gap:9px;display:grid}.workflow-history-list article{background:#fbfcfd;border:1px solid #e3e9f0;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:13px;display:grid}.workflow-history-list article>div{gap:4px;display:grid}.workflow-history-list strong{color:#334158;font-size:.69rem}.workflow-history-list small{color:#8a96a7;font-size:.58rem}.workflow-history-list p{color:#a04b56;grid-column:1/-1;margin:2px 0 0;font-size:.62rem;line-height:1.45}.progress-overview-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:18px;display:grid}.progress-metric-card{color:#2378c5;background:#fff;border:1px solid #dfe6ee;border-radius:13px;align-items:center;gap:14px;min-height:102px;padding:18px;display:flex;box-shadow:0 5px 18px #1f33520a}.progress-metric-card>span{background:color-mix(in srgb, currentcolor 12%, white);border-radius:11px;flex:none;place-items:center;width:46px;height:46px;display:grid}.progress-metric-card svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:22px}.progress-metric-card>div{gap:6px;display:grid}.progress-metric-card small{color:#8290a3;font-size:.67rem;font-weight:650}.progress-metric-card strong{color:#1d2940;font-size:1.28rem}.progress-metric-card.green{color:#2b9d6b}.progress-metric-card.orange{color:#e58235}.progress-metric-card.violet{color:#805bd0}.pedagogy-progress-layout{grid-template-columns:minmax(0,1.7fr) minmax(350px,.75fr);align-items:start;gap:18px;display:grid}.module-progress-table-wrap{overflow-x:auto}.module-progress-table{border-collapse:collapse;width:100%;min-width:900px}.module-progress-table th{color:#7b899d;text-align:left;letter-spacing:.035em;text-transform:uppercase;border-bottom:1px solid #dfe6ee;padding:10px 11px;font-size:.59rem;font-weight:850}.module-progress-table td{color:#44536a;vertical-align:middle;border-bottom:1px solid #e8edf2;padding:14px 11px;font-size:.66rem}.module-progress-table tbody tr:last-child td{border-bottom:0}.module-progress-table td>strong,.module-progress-table td>small{display:block}.module-progress-table td>strong{color:#27354d}.module-progress-table td>small{color:#8794a6;text-overflow:ellipsis;white-space:nowrap;max-width:190px;margin-top:4px;overflow:hidden}.module-progress-value{align-items:center;gap:9px;min-width:145px;display:flex}.module-progress-value>div{background:#e8edf2;border-radius:99px;width:96px;height:7px;overflow:hidden}.module-progress-value i{border-radius:inherit;background:#2a9e6b;height:100%;display:block}.module-progress-value strong{color:#2a8e63;min-width:42px;font-size:.63rem}.progress-panel-empty{color:#8b97a8;text-align:center;place-items:center;min-height:190px;font-size:.7rem;display:grid}.realization-list{gap:10px;max-height:700px;display:grid;overflow-y:auto}.realization-list article{background:#fbfcfe;border:1px solid #e2e8ef;border-radius:11px;grid-template-columns:5px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.realization-list article>span{border-radius:99px;width:5px;height:100%;min-height:60px}.realization-list article>div{gap:4px;min-width:0;display:grid}.realization-list strong{color:#29364d;text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;overflow:hidden}.realization-list p,.realization-list time,.realization-list small{color:#8090a4;margin:0;font-size:.59rem}.realization-list small{color:#a16b30;line-height:1.35}.realization-list button{color:#126ab3;cursor:pointer;background:#fff;border:1px solid #c9d9e8;border-radius:8px;min-height:36px;padding:0 10px;font-size:.59rem;font-weight:800}.realization-list button:disabled{cursor:not-allowed;opacity:.48}.progress-dialog{width:min(590px,100%)}.workflow-confirm-symbol{color:#146eb7;background:#eaf4fd;border-radius:50%;place-items:center;width:52px;height:52px;font-size:1.18rem;font-weight:900;display:grid}.workflow-confirm small{color:#758399;font-size:.65rem}.workflow-reject-form{text-align:left;justify-items:stretch}.workflow-reject-form>h2,.workflow-reject-form>p,.workflow-reject-form>.archive-warning{text-align:center;justify-self:center}.workflow-reject-reason{width:100%}.realize-session-summary{grid-template-columns:repeat(3,1fr);gap:9px;margin:0;display:grid}.realize-session-summary>div{background:#f4f7fa;border-radius:9px;gap:5px;padding:11px;display:grid}.realize-session-summary dt{color:#8491a3;font-size:.58rem}.realize-session-summary dd{color:#344158;margin:0;font-size:.65rem;font-weight:750}@media (max-width:1350px){.progress-filter-panel{grid-template-columns:repeat(2,minmax(190px,1fr))}.progress-clear-filters{width:max-content}.progress-overview-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.pedagogy-progress-layout{grid-template-columns:1fr}}@media (max-width:960px){.publication-layout{grid-template-columns:1fr}}@media (max-width:680px){.progress-management-content{padding:24px 14px 34px}.progress-tabs{width:100%;display:grid}.progress-tabs button{width:100%}.progress-filter-panel,.progress-overview-cards{grid-template-columns:1fr}.progress-clear-filters{width:100%}.publication-card,.workflow-history-panel,.module-progress-panel,.realization-panel{padding:17px}.workflow-track strong{font-size:.56rem}.workflow-actions{display:grid}.workflow-actions button{width:100%}.pedagogy-progress-layout{display:block}.realization-panel{margin-top:15px}.realization-list article{grid-template-columns:5px minmax(0,1fr)}.realization-list article>button{grid-column:2;width:100%}.realize-session-summary,.realize-session-form .form-row{grid-template-columns:1fr}}.sites-content{width:min(1680px,100%);margin:0 auto;padding:clamp(30px,2.4vw,48px) clamp(20px,3vw,56px) 44px}.sites-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px;display:flex}.sites-heading h1{color:#17233b;letter-spacing:-.045em;margin:0;font-size:clamp(1.9rem,2.3vw,2.55rem)}.sites-heading>div>p:last-child{color:#7c899d;max-width:760px;margin:9px 0 0;font-size:.82rem;line-height:1.55}.site-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:20px 0;display:grid}.site-summary{color:#2378c5;background:#fff;border:1px solid #dfe6ee;border-radius:13px;align-items:center;gap:14px;min-height:98px;padding:18px;display:flex;box-shadow:0 5px 18px #1f33520a}.site-summary>span{background:color-mix(in srgb, currentcolor 12%, white);border-radius:11px;place-items:center;width:45px;height:45px;display:grid}.site-summary svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:22px}.site-summary>div{gap:5px;display:grid}.site-summary small{color:#8290a3;font-size:.67rem}.site-summary strong{color:#1d2940;font-size:1.25rem}.site-summary.green{color:#2b9d6b}.site-summary.violet{color:#805bd0}.site-summary.orange{color:#e58235}.site-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.site-card{background:#fff;border:1px solid #dfe6ee;border-radius:14px;min-width:0;padding:20px;box-shadow:0 6px 20px #1f33520a}.site-card.inactive{opacity:.68}.site-card-heading{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.site-card-heading>span{color:#176fb8;background:#eaf3fc;border-radius:11px;place-items:center;width:44px;height:44px;display:grid}.site-card-heading svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:21px}.site-card-heading small{color:#1980cd;font-size:.59rem;font-weight:850}.site-card-heading h2{color:#26334a;text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:.88rem;overflow:hidden}.site-card-heading b{color:#27835a;background:#ebf9f1;border-radius:99px;padding:6px 9px;font-size:.56rem}.site-card.inactive .site-card-heading b{color:#7b8797;background:#f1f3f5}.site-card>p{color:#7b889c;min-height:38px;margin:17px 0;font-size:.66rem;line-height:1.45}.site-card dl{grid-template-columns:1fr 1fr;gap:9px;margin:0;display:grid}.site-card dl>div{background:#f5f7fa;border-radius:9px;justify-content:space-between;align-items:center;padding:11px;display:flex}.site-card dt{color:#7d8a9d;font-size:.61rem}.site-card dd{color:#314058;margin:0;font-size:.72rem;font-weight:850}.site-card-actions{border-top:1px solid #e7ecf1;gap:9px;margin-top:17px;padding-top:15px;display:flex}.site-card-actions button{color:#176db4;cursor:pointer;background:#fff;border:1px solid #cfdae6;border-radius:8px;min-height:36px;padding:0 12px;font-size:.62rem;font-weight:800}.site-card-actions .site-delete-button{color:#b6414e;border-color:#ecc6cb}.room-site-filter{gap:5px;min-width:190px;display:grid}.room-site-filter span{color:#7b889b;font-size:.57rem;font-weight:800}.room-site-filter select{color:#435169;background:#fff;border:1px solid #d8e1ea;border-radius:8px;height:39px;padding:0 30px 0 10px;font-size:.63rem}@media (max-width:1100px){.site-summary-grid,.site-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.sites-content{padding:24px 14px 34px}.sites-heading{flex-direction:column;align-items:stretch}.site-summary-grid,.site-grid{grid-template-columns:1fr}.room-site-filter{width:100%}}.settings-content{width:min(1580px,100%);margin:0 auto;padding:clamp(34px,2.4vw,48px) clamp(26px,3.2vw,58px) 36px}.settings-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.settings-heading h1{color:#17233b;letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,2.2vw,2.45rem)}.settings-heading>div>p:last-child{color:#7c899d;max-width:720px;margin:9px 0 0;font-size:.82rem}.settings-tabs{background:#edf2f7;border:1px solid #dce4ed;border-radius:12px;width:max-content;margin-bottom:18px;padding:5px;display:flex}.settings-tabs button{color:#68778c;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;min-height:42px;padding:0 18px;font-size:.72rem;font-weight:800;display:flex}.settings-tabs button.active{color:#075da8;background:#fff;box-shadow:0 3px 11px #1e36561a}.settings-tabs svg,.settings-search svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:18px;height:18px}.settings-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.settings-stat{color:#2074c8;background:#fff;border:1px solid #e2e8ef;border-left:4px solid;border-radius:12px;gap:7px;padding:17px 18px;display:grid;box-shadow:0 5px 18px #1f33520a}.settings-stat small{color:#7f8b9d;font-size:.64rem}.settings-stat strong{color:#202c43;font-size:1.3rem}.settings-stat-green{color:#299766}.settings-stat-violet{color:#8058cc}.settings-stat-orange{color:#e88230}.users-settings-panel{padding:24px}.settings-panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.settings-panel-heading h2{color:#202c43;margin:0;font-size:1.05rem}.settings-panel-heading p{color:#8996a8;margin:6px 0 0;font-size:.68rem}.settings-panel-heading>span{color:#68778c;background:#eef3f8;border-radius:20px;padding:6px 10px;font-size:.6rem;font-weight:800}.user-settings-filters{grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(150px,.75fr));gap:10px;margin-bottom:16px;display:grid}.settings-search{color:#8a97a9;background:#fbfcfe;border:1px solid #dbe3ec;border-radius:9px;align-items:center;gap:9px;height:43px;padding:0 12px;display:flex}.settings-search input{color:#263249;background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:.7rem}.user-settings-filters select{color:#435168;background:#fbfcfe;border:1px solid #dbe3ec;border-radius:9px;height:43px;padding:0 11px;font-size:.66rem}.users-settings-list{border:1px solid #e0e7ef;border-radius:12px;overflow:hidden}.users-settings-header,.users-settings-row{grid-template-columns:minmax(220px,1.35fr) minmax(130px,.8fr) minmax(130px,.8fr) minmax(150px,.9fr) minmax(90px,.55fr) auto;align-items:center;gap:13px;display:grid}.users-settings-header{color:#7a879a;text-transform:uppercase;letter-spacing:.04em;background:#f5f8fb;padding:11px 14px;font-size:.57rem;font-weight:800}.users-settings-row{color:#4d5b70;border-top:1px solid #e8edf2;min-height:70px;padding:11px 14px;font-size:.64rem}.users-settings-row:nth-child(odd){background:#fcfdfe}.settings-user-identity{align-items:center;gap:11px;min-width:0;display:flex}.settings-user-identity>span{color:#075da8;background:#e8f2fc;border-radius:10px;flex:none;place-items:center;width:39px;height:39px;font-size:.66rem;font-weight:850;display:grid}.settings-user-identity>div{gap:4px;min-width:0;display:grid}.settings-user-identity strong,.settings-user-identity small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-user-identity strong{color:#263249;font-size:.69rem}.settings-user-identity small{color:#8996a8;font-size:.57rem}.user-status{color:#68778c;background:#eef2f6;border-radius:20px;width:max-content;padding:6px 9px;font-size:.57rem;font-weight:850}.user-status-active{color:#238254;background:#e8f7ee}.user-status-pending{color:#aa7017;background:#fff4dc}.user-status-disabled,.user-status-suspended{color:#b14b58;background:#fbeaec}.settings-user-actions{gap:7px;display:flex}.settings-user-actions button{color:#075da8;cursor:pointer;background:#fff;border:1px solid #c9d9e8;border-radius:8px;min-height:33px;padding:0 10px;font-size:.58rem;font-weight:800}.settings-user-actions button.danger{color:#b54b58;border-color:#edcfd3}.settings-user-actions button:disabled{cursor:not-allowed;opacity:.45}.settings-empty{color:#8996a8;text-align:center;padding:38px 20px;font-size:.7rem}.settings-hidden{display:none}.role-modules-panel{padding:24px}.role-modules-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.role-module-card{background:#fbfcfe;border:1px solid #dfe7ef;border-radius:13px;overflow:hidden}.role-module-card>header{background:#fff;border-bottom:1px solid #e4eaf0;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.role-module-card>header>div{gap:4px;display:grid}.role-module-card>header strong{color:#263249;font-size:.74rem}.role-module-card>header small{color:#8a97a9;font-size:.55rem}.role-card-meta{align-items:center;gap:7px;display:flex}.role-card-meta>span{color:#075da8;background:#eaf3fb;border-radius:20px;padding:6px 9px;font-size:.56rem;font-weight:800}.role-card-meta>button{color:#b54b58;cursor:pointer;background:#fff;border:1px solid #edcfd3;border-radius:7px;min-height:29px;padding:0 8px;font-size:.53rem;font-weight:800}.role-card-meta>button:disabled{cursor:wait;opacity:.5}.role-module-list{display:grid}.role-module-row{border-top:1px solid #e8edf2;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:70px;padding:11px 14px;display:grid}.role-module-row:first-child{border-top:0}.role-module-icon{color:#075da8;background:#e9f3fc;border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.role-module-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:18px;height:18px}.role-module-row>div{gap:4px;display:grid}.role-module-row>div strong{color:#344158;font-size:.65rem}.role-module-row>div small{color:#8a97a9;font-size:.54rem;line-height:1.35}.role-module-row>.role-action-list{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:220px;display:flex}.role-action-toggle{color:#69788d;cursor:pointer;background:#fff;border:1px solid #d9e1ea;border-radius:7px;align-items:center;gap:5px;min-height:27px;padding:0 7px;display:flex}.role-action-toggle input{opacity:0;position:absolute}.role-action-toggle span{border:1px solid #aeb9c7;border-radius:4px;place-items:center;width:13px;height:13px;display:grid}.role-action-toggle span:after{color:#fff;content:"✓";opacity:0;font-size:.55rem}.role-action-toggle b{font-size:.51rem;font-weight:750}.role-action-toggle:has(input:checked){color:#247b53;background:#edf9f2;border-color:#9ed4ba}.role-action-toggle input:checked+span{background:#2d9969;border-color:#2d9969}.role-action-toggle input:checked+span:after{opacity:1}.role-action-toggle:has(input:disabled){cursor:wait;opacity:.55}.module-access-switch{cursor:pointer}.module-access-switch input{opacity:0;position:absolute}.module-access-switch span{background:#aab5c3;border-radius:20px;width:38px;height:22px;transition:all .2s;display:block;position:relative}.module-access-switch span:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:all .2s;position:absolute;top:3px;left:3px}.module-access-switch input:checked+span{background:#14835a}.module-access-switch input:checked+span:after{transform:translate(16px)}.module-access-switch input:disabled+span{cursor:wait;opacity:.55}.settings-user-dialog{width:min(680px,100%)}.settings-user-dialog>h2{color:#202c43;margin:0 40px 5px 0;font-size:1.2rem}.settings-user-dialog>p{color:#7f8c9f;margin:0 40px 19px 0;font-size:.68rem;line-height:1.55}.academic-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.settings-switch{cursor:pointer;background:#f8fafc;border:1px solid #dfe6ee;border-radius:10px;align-items:center;gap:12px;padding:13px;display:flex}.settings-switch>input{opacity:0;position:absolute}.settings-switch>span{background:#aab5c3;border-radius:20px;flex:none;width:40px;height:23px;transition:all .2s;position:relative}.settings-switch>span:after{content:"";background:#fff;border-radius:50%;width:17px;height:17px;transition:all .2s;position:absolute;top:3px;left:3px}.settings-switch>input:checked+span{background:#14835a}.settings-switch>input:checked+span:after{transform:translate(17px)}.settings-switch>div{gap:3px;display:grid}.settings-switch strong{color:#344158;font-size:.67rem}.settings-switch small{color:#8996a8;font-size:.58rem;line-height:1.4}@media (max-width:1100px){.user-settings-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-search{grid-column:1/-1}.users-settings-list{overflow-x:auto}.users-settings-header,.users-settings-row{min-width:1050px}.role-modules-grid{grid-template-columns:1fr}}@media (max-width:680px){.settings-content{padding:24px 14px 34px}.settings-heading{flex-direction:column;align-items:stretch}.settings-stats,.user-settings-filters,.academic-form-grid{grid-template-columns:1fr}.settings-search{grid-column:auto}.users-settings-panel{padding:16px}}.academic-calendar-content{gap:16px;padding:30px clamp(18px,4vw,52px);display:grid}.academic-calendar-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.academic-calendar-heading h1{color:#172238;margin:6px 0;font-size:clamp(1.65rem,2.1vw,2.1rem);line-height:1.08}.academic-calendar-heading p:last-child{color:#8794a8;max-width:720px;font-size:.9rem;line-height:1.45}.academic-calendar-toolbar{background:#fff;border:1px solid #dfe7f1;border-radius:8px;gap:10px;padding:12px;display:grid}.academic-calendar-summary{flex-wrap:wrap;gap:8px;display:flex}.academic-calendar-metric{background:#f5f8fc;border-radius:999px;align-items:center;gap:7px;min-height:26px;padding:4px 9px;display:flex}.academic-calendar-metric small{color:#6f7d92;font-size:.68rem;font-weight:800}.academic-calendar-metric strong{color:#172238;font-size:.8rem}.academic-calendar-filters{grid-template-columns:minmax(180px,1.25fr) repeat(4,minmax(104px,.72fr)) minmax(160px,.9fr) auto;align-items:end;gap:8px;display:grid}.academic-calendar-filter,.academic-calendar-search{gap:6px;display:grid}.academic-calendar-filter span,.academic-calendar-search span{color:#64738a;text-transform:uppercase;font-size:.68rem;font-weight:900}.academic-calendar-filter select,.academic-calendar-search input{color:#26354c;width:100%;min-height:36px;font:inherit;background:#fdfefe;border:1px solid #d8e3ef;border-radius:8px;padding:0 10px;font-size:.84rem;font-weight:700}.academic-calendar-reset{color:#526075;min-height:36px;font:inherit;background:#fff;border:1px solid #d8e3ef;border-radius:8px;padding:0 14px;font-size:.84rem;font-weight:800}.academic-calendar-reset:disabled{color:#aeb8c5;cursor:not-allowed}.academic-calendar-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:14px;display:grid}.academic-month-panel{background:#fff;border:1px solid #dfe7f1;border-radius:8px;gap:12px;padding:14px;display:grid}.academic-month-header{justify-content:space-between;align-items:center;display:flex}.academic-month-header h2{color:#172238;text-transform:capitalize;margin:0;font-size:1.05rem}.academic-month-header button{color:#536277;cursor:pointer;background:#fff;border:1px solid #d8e3ef;border-radius:8px;place-items:center;width:34px;height:34px;font-size:1.25rem;line-height:1;display:grid}.academic-month-grid{border:1px solid #e4ebf4;border-radius:8px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.academic-weekday{color:#758399;text-align:center;text-transform:uppercase;background:#f7f9fc;border-bottom:1px solid #e4ebf4;border-right:1px solid #e4ebf4;padding:9px 10px;font-size:.68rem;font-weight:900}.academic-weekday:nth-child(7){border-right:0}.academic-day{background:#fff;border-bottom:1px solid #edf2f7;border-right:1px solid #edf2f7;min-height:112px;padding:8px}.academic-day:nth-child(7n){border-right:0}.academic-day:nth-last-child(-n+7){border-bottom:0}.academic-day.muted{color:#a8b3c2;background:#fbfcfe}.academic-day>span{color:#536277;place-items:center;width:24px;height:24px;font-size:.78rem;font-weight:900;display:inline-grid}.academic-day.muted>span{color:#b3bdca}.academic-day>div{gap:4px;margin-top:4px;display:grid}.academic-day button{color:#17314f;cursor:pointer;width:100%;min-height:32px;font:inherit;text-align:left;background:#eef6ff;border:0;border-left:3px solid #0b66b3;border-radius:5px;gap:2px;padding:5px 6px;font-size:.68rem;font-weight:850;line-height:1.15;display:grid}.academic-day button.green{background:#edf9f3;border-left-color:#14835a}.academic-day button.orange{background:#fff4eb;border-left-color:#d76712}.academic-day button.violet{background:#f5efff;border-left-color:#7142c4}.academic-day button.active{outline:2px solid #0b66b338}.academic-day button small{color:#718095;text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;font-weight:800;overflow:hidden}.academic-day em{color:#8290a4;font-size:.66rem;font-style:normal;font-weight:850}.academic-undated-events{gap:8px;padding-top:2px;display:grid}.academic-undated-events h3{color:#6c7a90;text-transform:uppercase;margin:0;font-size:.75rem}.academic-undated-events>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.academic-undated-events button{color:#26354c;cursor:pointer;font:inherit;text-align:left;background:#fff;border:1px solid #e2e9f2;border-radius:8px;gap:3px;padding:9px 10px;display:grid}.academic-undated-events span{font-size:.78rem;font-weight:850}.academic-undated-events small{color:#8794a8;font-size:.68rem;font-weight:800}.academic-calendar-details{background:#fff;border:1px solid #dfe7f1;border-radius:8px;gap:12px;padding:16px;display:grid;position:sticky;top:96px}.academic-calendar-details h2{color:#172238;margin:0;font-size:1rem;line-height:1.25}.academic-calendar-details dl{gap:8px;margin:0;display:grid}.academic-calendar-details div{border-bottom:1px solid #edf2f7;gap:3px;padding-bottom:8px;display:grid}.academic-calendar-details div:last-child{border-bottom:0;padding-bottom:0}.academic-calendar-details dt{color:#8794a8;text-transform:uppercase;font-size:.66rem;font-weight:900}.academic-calendar-details dd{color:#26354c;margin:0;font-size:.82rem;font-weight:800;line-height:1.45}@media (max-width:1180px){.academic-calendar-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.academic-calendar-layout{grid-template-columns:1fr}.academic-month-panel{overflow-x:auto}.academic-month-grid{min-width:840px}.academic-calendar-details{position:static}}@media (max-width:680px){.academic-calendar-content{padding:24px 14px 34px}.academic-calendar-heading{flex-direction:column;align-items:stretch}.academic-calendar-filters,.academic-undated-events>div{grid-template-columns:1fr}}
