/* Shared workspace skin. Current permissions, page renderers and action handlers own behaviour. */
body.glass-home.glass-workspace{--ink:#e8f1ff;--muted:#a9bfd9;--line:#365779;--blue:#63b9ff;--cyan:#6adddf;--green:#83d9ba;--amber:#f2cf8d;--red:#ffacb9;--nav:#081b32;--surface:#102842;color-scheme:dark}
body.glass-home.glass-workspace #shell .gs-empty-section{display:none!important}
body.glass-home.glass-workspace:not(.glass-page-home) #shell .main:before{content:"";display:block;position:absolute;inset:65px 0 0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#06162bb3,#06162b80 60%,#06162b),url('/glass-home-v1/ribbon-art-v1.webp') center top/cover no-repeat;opacity:.42;width:auto;height:auto;mask:none}
body.glass-home.glass-workspace:not(.glass-page-home) #shell .main:after{display:none}
body.glass-home.glass-workspace:not(.glass-page-home) #shell #content{padding:20px 0 24px;min-height:calc(100vh - 127px)}
body.glass-home.glass-workspace:not(.glass-page-home) #shell .page-head{align-items:center;gap:16px;padding:5px 0 18px;margin:0 0 16px;border-bottom:1px solid #4873a046;flex-wrap:wrap}
body.glass-home.glass-workspace #shell .page-head h1{font-size:clamp(24px,2vw,31px);font-weight:600;line-height:1.2;letter-spacing:-.025em;color:#edf6ff;margin:5px 0 8px}
body.glass-home.glass-workspace #shell .eyebrow{color:#88cfff;font-size:10px;font-weight:600;letter-spacing:.10em}
body.glass-home.glass-workspace #shell .page-head p{font-size:13px;color:#b0c7e2;max-width:850px;line-height:1.6}
body.glass-home.glass-workspace:not(.glass-page-home) #shell .card{border:1px solid #5c92c669;border-top-color:#86b9e986;background:linear-gradient(135deg,#163c6099,#0b203aeb 63%,#123354b8);box-shadow:inset 0 1px #cde8ff14,0 8px 24px #000b2430;border-radius:13px;padding:18px}
body.glass-home.glass-workspace #shell .field{color:#bdcfe5;font-size:12px;gap:7px;min-width:0}
body.glass-home.glass-workspace :is(#shell,#modalLayer,#drawerLayer) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea){border:1px solid #4a719655;background:#102b48;color:#ecf4ff;border-radius:8px;min-height:35px;box-shadow:inset 0 1px #cae7ff08;font-size:13px;padding:8px 10px;max-width:100%}
body.glass-home.glass-workspace :is(#shell,#modalLayer,#drawerLayer) textarea{min-height:94px;line-height:1.6}
body.glass-home.glass-workspace :is(#shell,#modalLayer,#drawerLayer) input::placeholder,body.glass-home.glass-workspace :is(#shell,#modalLayer,#drawerLayer) textarea::placeholder{color:#99b1cb;opacity:1}
body.glass-home.glass-workspace :is(#shell,#modalLayer,#drawerLayer) :is(input,select,textarea):focus-visible{outline:2px solid #65c8ff;outline-offset:2px;border-color:#87c4ed}
body.glass-home.glass-workspace :is(#shell,#modalLayer,#drawerLayer) :is(input[type=checkbox],input[type=radio]){accent-color:#239bff;width:16px;height:16px;vertical-align:middle}
body.glass-home.glass-workspace #shell .topbar .global-search input{background:none;border:0;box-shadow:none;padding:0;font-size:12px}
body.glass-home.glass-workspace #shell .topbar{z-index:35}
body.glass-home.glass-workspace #shell .search-results{background:#102942;border:1px solid #5c87b5;box-shadow:0 16px 40px #0008;color:#d5e8fd}
body.glass-home.glass-workspace #shell .search-results :is(button,a){color:#d5e8fd}
body.glass-home.glass-workspace :is(#shell,#modalLayer,#drawerLayer) :is(.btn,.icon-btn){color:#d6e9ff;border:1px solid #5281ad66;background:linear-gradient(125deg,#1b416566,#17375455);border-radius:8px;font-size:12px;min-height:34px;line-height:1.4;padding:7px 12px;font-weight:500}
body.glass-home.glass-workspace :is(#shell,#modalLayer,#drawerLayer) .btn.primary{color:#fff;border-color:#6bc5ff77;background:linear-gradient(110deg,#0aa1e9,#076dff);box-shadow:inset 0 1px #b5f2ff55,0 0 14px #1689ff26}
body.glass-home.glass-workspace :is(#shell,#modalLayer,#drawerLayer) .btn.danger{color:#ffc4cf;border-color:#b2687966;background:#572b3c99}
body.glass-home.glass-workspace :is(#shell,#modalLayer,#drawerLayer) :is(.btn,.icon-btn):hover{border-color:#8cc9ff;background-color:#23598966}
body.glass-home.glass-workspace :is(#shell,#modalLayer,#drawerLayer) button:disabled{opacity:.5;cursor:not-allowed}
body.glass-home.glass-workspace :is(#shell,#modalLayer,#drawerLayer) .btn.small{padding:5px 9px;font-size:11px;min-height:29px}
body.glass-home.glass-workspace #shell :is(.tabs,.drawer-tabs,.schedule-tabs,.group-view-switch,.group-work-switcher){gap:6px;flex-wrap:wrap;border-color:#345978}
body.glass-home.glass-workspace #shell :is(.tabs,.drawer-tabs,.schedule-tabs,.group-view-switch,.group-work-switcher) button{color:#b8d1eb;background:#142e4c;border:1px solid #456b9255;border-radius:8px;padding:8px 12px}
body.glass-home.glass-workspace #shell :is(.tabs,.drawer-tabs,.schedule-tabs,.group-view-switch,.group-work-switcher) button.active{color:#eafbff;background:linear-gradient(110deg,#176ca080,#174ea080);border-color:#61bdf8;box-shadow:inset 0 -2px #6dd8ff}
body.glass-home.glass-workspace :is(#shell,#modalLayer,#drawerLayer) table{color:#d9e8f9;background:#0d243de0;border-color:#345573;border-collapse:separate;border-spacing:0;font-size:12px}
body.glass-home.glass-workspace :is(#shell,#modalLayer,#drawerLayer) :is(th,td){border-color:#385e7b66;padding:10px;line-height:1.45}
body.glass-home.glass-workspace :is(#shell,#modalLayer,#drawerLayer) th{color:#bfdbf7;background:#18344f;font-weight:600}
body.glass-home.glass-workspace :is(#shell,#modalLayer,#drawerLayer) tbody tr:hover>td{box-shadow:inset 0 0 0 999px #438bc80c}
body.glass-home.glass-workspace :is(#shell,#modalLayer,#drawerLayer) .table-wrap{border:1px solid #456d9355;border-radius:10px;max-width:100%;overflow:auto}
body.glass-home.glass-workspace #shell :is(.session-hub-row,.session-item,.session-row,.course-session-row){border-radius:9px;border-width:1px;border-left-width:3px;padding:11px 12px;margin-bottom:7px}
body.glass-home.glass-workspace #shell :is(.session-type-lecture,.att-notified){background:#163b634f;color:#c6e3ff;border-color:#509dde66}
body.glass-home.glass-workspace #shell :is(.session-type-practice,.att-present){background:#11505555;color:#b9eeea;border-color:#4cbfb377}
body.glass-home.glass-workspace #shell :is(.session-type-lab,.att-excused){background:#64512155;color:#f5dfac;border-color:#c1a36177}
body.glass-home.glass-workspace #shell .att-absent{background:#612f4055;color:#f8c3cc}
body.glass-home.glass-workspace #shell :is(.session-hub-row,.session-item,.session-row,.course-session-row) :is(strong,.session-time){color:inherit}
body.glass-home.glass-workspace #shell :is(.session-hub-row,.session-item,.session-row,.course-session-row) small{color:#bdd0e5}
body.glass-home.glass-workspace #shell :is(.service-note,.settings-section,.group-context-bar,.source-values,.context-bar){background:#102c4899;border-color:#527da255;color:#bad1eb;border-radius:10px}
body.glass-home.glass-workspace #shell .group-context-bar{padding:12px;backdrop-filter:blur(12px)}
body.glass-home.glass-workspace #shell .service-note.warn{background:#4a3a1d80;border-color:#af945966;color:#edcf98}
body.glass-home.glass-workspace #shell :is(.badge,.tag){border:1px solid #6a92bb33;background:#20466b77;color:#c3dfff}
body.glass-home.glass-workspace #shell :is(.badge.green,.badge.success){background:#16544b88;color:#a4e7d0;border-color:#5eba9c55}
body.glass-home.glass-workspace #shell :is(.badge.warn,.badge.amber,.badge.orange){background:#5c482a88;color:#f2d192;border-color:#bd995c55}
body.glass-home.glass-workspace #shell :is(.badge.red,.badge.danger){background:#642f4088;color:#ffc3ce;border-color:#cc768b55}
body.glass-home.glass-workspace #shell :is(.empty,.compact-empty){color:#adc1d9}
body.glass-home.glass-workspace #shell :is(.management-attention-card,.system-health-card,.management-sources-compact,.birthday-card){background:linear-gradient(125deg,#163c60b0,#0a203ae0);border-color:#6ca2d575;border-radius:13px}
body.glass-home.glass-workspace #shell .management-dashboard-grid{gap:14px}
body.glass-home.glass-workspace #shell .management-dashboard-grid>.span-3 h2{font-size:27px;color:#b7e8ff;margin:6px 0}
body.glass-home.glass-workspace #shell .management-dashboard-grid .health-metrics>div{background:#15365499;border:1px solid #537fa333;border-radius:9px;color:#ddedff}
body.glass-home.glass-workspace #shell .management-dashboard-grid .health-metrics :is(span,small){color:#a6c0dd}
body.glass-home.glass-workspace #shell .gs-management-hero{margin-bottom:17px;display:flex}
body.glass-home.glass-workspace #shell .gs-management-hero .hero-copy{max-width:72%}
body.glass-home.glass-workspace #shell .gs-management-date{display:flex;width:max-content;max-width:100%;min-width:0;margin:18px 0 0;box-shadow:none;background:#123c5f9c;border:1px solid #5fa3d966;border-radius:10px;overflow:hidden}
body.glass-home.glass-workspace #shell .gs-management-date .home-date-today{background:#1d63815c;color:#bce7ff}
body.glass-home.glass-workspace #shell .gs-management-date .home-date-main{background:none;color:#e0f1ff;padding:10px 15px}
body.glass-home.glass-workspace #shell .gs-management-date .home-date-main span{color:#adc9e3}
body.glass-home.glass-workspace #shell .gs-management-date .home-date-week{background:#20566455;color:#8ae2e1;border-left:1px solid #73c2d144;padding:10px 15px}
body.glass-home.glass-workspace #shell .gs-management-date .home-date-week span{color:#b5cfdf}
body.glass-home.glass-workspace :is(#modalLayer,#drawerLayer,.help-popover){color-scheme:dark;color:#deebfb;--ink:#e8f1ff;--muted:#aac2dc;--line:#3b607f;--blue:#8acbff;--cyan:#86dadf}
body.glass-home.glass-workspace :is(.modal,.drawer,.help-popover,.attendance-popover){background:linear-gradient(135deg,#142f4af5,#091c32fa);color:#e1edfc;border:1px solid #6999c777;box-shadow:0 24px 90px #0009;backdrop-filter:blur(16px)}
body.glass-home.glass-workspace :is(.modal-backdrop,.drawer-backdrop){background:#020b1bbd;backdrop-filter:blur(4px)}
body.glass-home.glass-workspace :is(.modal,.drawer) :is(h1,h2,h3,h4){color:#ecf5ff}
body.glass-home.glass-workspace :is(.modal,.drawer) :is(.field,label,.muted,.small){color:#aec6df}
body.glass-home.glass-workspace :is(.modal,.drawer) :is(.service-note,.settings-section){background:#19365188;border-color:#52799f66;color:#b5cee8}
body.glass-home.glass-workspace :is(.qr-box,.qr-wrap){background:#fff!important;color:#07162a!important;border-radius:8px}
body.glass-home.glass-workspace .toast{background:#153954;color:#e2f6ff;border:1px solid #5fb9df;box-shadow:0 12px 36px #0008}
body.glass-home.glass-workspace .error{color:#ffb7c7}
body.glass-home.glass-workspace .workspace-footer{border-top:1px solid #3f6c9644;margin-top:18px}
body.glass-home.glass-workspace.lightweight #shell .card{background:#102842;backdrop-filter:none}
@media(max-width:800px){body.glass-home.glass-workspace:not(.glass-page-home) #shell #content{padding-top:17px}body.glass-home.glass-workspace #shell .page-head{align-items:flex-start}body.glass-home.glass-workspace #shell .page-head h1{font-size:25px}body.glass-home.glass-workspace #shell .gs-management-hero .hero-copy{max-width:100%}body.glass-home.glass-workspace #shell .gs-management-date{flex-wrap:wrap;width:100%}body.glass-home.glass-workspace #shell .gs-management-date .home-date-today{display:none}body.glass-home.glass-workspace #shell .gs-management-date .home-date-main{flex:1}body.glass-home.glass-workspace #shell .management-dashboard-grid>.card{grid-column:1/-1}body.glass-home.glass-workspace :is(.modal,.drawer){padding:18px}body.glass-home.glass-workspace #shell .sidebar{z-index:80}}
@media print{body.glass-home.glass-workspace{background:#fff!important;color:#111!important}body.glass-home.glass-workspace :is(#content,.modal,.drawer) *{color:#111!important;box-shadow:none!important;text-shadow:none!important;background-color:transparent!important;backdrop-filter:none!important}body.glass-home.glass-workspace #shell :is(.sidebar,.topbar,.workspace-footer){display:none!important}body.glass-home.glass-workspace #shell{display:block}body.glass-home.glass-workspace #shell .main:before,body.glass-home.glass-workspace #shell .main:after{display:none!important}body.glass-home.glass-workspace :is(.card,.modal,.drawer,table,th,td){background:#fff!important}}

body.glass-home.glass-workspace:not(.glass-page-home) #shell .session-type-lecture{background:#143553!important;color:#c6e3ff!important;border-color:#396996!important}
body.glass-home.glass-workspace:not(.glass-page-home) #shell .session-type-practice{background:#113a40!important;color:#b9eeea!important;border-color:#32776f!important}
body.glass-home.glass-workspace:not(.glass-page-home) #shell .session-type-lab{background:#3b3424!important;color:#f5dfac!important;border-color:#8e7848!important}
body.glass-home.glass-workspace #shell .session-row .grow strong{font-size:13px;line-height:1.45}body.glass-home.glass-workspace #shell .session-row .grow small{font-size:11px;line-height:1.5}
body.glass-home.glass-workspace #shell .management-dashboard-grid>.management-attention-card{grid-column:span 8}
@media(max-width:1100px){body.glass-home.glass-workspace #shell .management-dashboard-grid>.management-attention-card,body.glass-home.glass-workspace #shell .management-dashboard-grid>.system-health-card{grid-column:span 6}body.glass-home.glass-workspace #shell .management-dashboard-grid>.span-3{grid-column:span 6}}
@media(max-width:800px){body.glass-home.glass-workspace #shell .management-dashboard-grid>.card{grid-column:1/-1}}
@media(max-width:600px){
 body.glass-home.glass-workspace:not(.glass-page-home) #shell .toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px}
 body.glass-home.glass-workspace:not(.glass-page-home) #shell .toolbar>.field{min-width:0;width:100%}
 body.glass-home.glass-workspace:not(.glass-page-home) #shell .toolbar>.field:first-child,body.glass-home.glass-workspace:not(.glass-page-home) #shell .toolbar>.field.grow{grid-column:1/-1}
 body.glass-home.glass-workspace:not(.glass-page-home) #shell :is(.session-row,.course-session-row){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:13px}
 body.glass-home.glass-workspace:not(.glass-page-home) #shell :is(.session-row,.course-session-row)>.session-time{grid-row:1;grid-column:1;width:auto;align-self:start}
 body.glass-home.glass-workspace:not(.glass-page-home) #shell :is(.session-row,.course-session-row)>:is(.grow,.session-main){grid-row:2;grid-column:1/-1}
 body.glass-home.glass-workspace:not(.glass-page-home) #shell :is(.session-row,.course-session-row)>.badge{grid-row:1;grid-column:2;justify-self:end;white-space:normal;text-align:right;max-width:100%}
 body.glass-home.glass-workspace:not(.glass-page-home) #shell :is(.session-row,.course-session-row)>.btn{min-height:38px}
 body.glass-home.glass-workspace #shell .course-cards{grid-template-columns:1fr}
}

/* Stable workspace artwork and a single right-hand action group. */
body.glass-home.glass-workspace #shell{background:#020a16}
body.glass-home.glass-workspace #shell .main.home-railway-mode:before{bottom:auto;height:max(1100px,100vh);max-height:none;background-size:100% 100%,100% auto;background-position:center,center top;filter:contrast(1.22);opacity:.7}
body.glass-home.glass-workspace #shell .topbar{background:#061528f0;justify-content:flex-start;gap:14px}
body.glass-home.glass-workspace #shell .topbar .global-search{margin-right:0;flex:0 1 465px;padding:0 12px}
body.glass-home.glass-workspace #shell .topbar .global-search .search-icon{position:static;transform:none;flex:none;width:14px}
body.glass-home.glass-workspace #shell .topbar .global-search input{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;min-height:36px;height:36px}
body.glass-home.glass-workspace #shell .topbar .glass-top-actions{margin-left:auto;padding:0;background:none;gap:10px}
body.glass-home.glass-workspace #shell .topbar .server-clock-stack{flex:none;margin-left:4px}
body.glass-home.glass-workspace #shell .topbar #serverClock{font-size:15px}
/* Schedule header: existing controls are moved, so their handlers stay intact. */
body.glass-home.glass-workspace #shell #content .schedule-page-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;padding:0;margin:0 0 8px;border:0}
body.glass-home.glass-workspace #shell #content .schedule-page-head h1{font-size:27px;margin:0}
body.glass-home.glass-workspace #shell #content .schedule-page-head :is(.eyebrow,p.muted){display:none}
body.glass-home.glass-workspace #shell #content .schedule-page-head .schedule-controls{margin-left:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
body.glass-home.glass-workspace #shell #content .schedule-page-head .field{display:flex;align-items:center;gap:8px;margin:0;font-size:11px}
body.glass-home.glass-workspace #shell #content .schedule-page-head .field select{width:auto;min-width:170px}
body.glass-home.glass-workspace #shell #content :is(.schedule-page-head,.schedule-control-card,.schedule-workspace) :is(select,.btn,.seg-btn){min-height:32px;padding:6px 10px;font-size:12px}
body.glass-home.glass-workspace #shell #content .schedule-kpis{display:flex;margin:0;gap:6px;flex-wrap:wrap}
body.glass-home.glass-workspace #shell #content .schedule-kpis>span{padding:5px 8px;font-size:10px;min-width:0}
body.glass-home.glass-workspace #shell #content .schedule-kpis b{font-size:12px}
body.glass-home.glass-workspace #shell #content .schedule-control-card{padding:0 0 8px;margin:0 0 8px;border:0;border-bottom:1px solid #41648966;border-radius:0;background:none;box-shadow:none;backdrop-filter:none}
body.glass-home.glass-workspace #shell #content .schedule-tabs{margin:0;padding:0;border:0;gap:6px}
body.glass-home.glass-workspace #shell #content .schedule-tabs button{min-height:32px;padding:6px 13px;font-size:12px}
body.glass-home.glass-workspace #shell #content .schedule-workspace{padding:10px;margin:0;background:#091b30ed;border-color:#47739880}
body.glass-home.glass-workspace #shell #content :is(.schedule-mine-actions,.schedule-subtoolbar,.room-selector-card,.schedule-compare-head){margin:0 0 8px;padding:0;border:0;border-radius:0;background:none;min-height:32px;align-items:center;gap:12px}
body.glass-home.glass-workspace #shell #content .schedule-mine-actions>div>strong{display:none}
body.glass-home.glass-workspace #shell #content .schedule-mine-actions>div>span{font-size:11px;color:#b1c9e2}
body.glass-home.glass-workspace #shell #content :is(.schedule-subtoolbar,.room-selector-card,.schedule-compare-head) .field{display:flex;align-items:center;gap:8px;margin:0;font-size:11px}
body.glass-home.glass-workspace #shell #content .schedule-subtoolbar .schedule-person-facts>strong{display:none}
body.glass-home.glass-workspace #shell #content .schedule-room-hero{display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px}
body.glass-home.glass-workspace #shell #content .schedule-room-hero strong{display:none}
body.glass-home.glass-workspace #shell #content .schedule-room-hero span{font-size:11px}
body.glass-home.glass-workspace #shell #content .schedule-room-hero small{font-size:10px}
body.glass-home.glass-workspace #shell #content .room-selector-card{grid-template-columns:minmax(190px,260px) 1fr auto}
body.glass-home.glass-workspace #shell #content .gs-schedule-info{position:relative;margin:0 0 7px;color:#9ab9d5;font-size:10px}
body.glass-home.glass-workspace #shell #content .gs-schedule-info>summary{cursor:pointer;width:max-content;max-width:100%;padding:2px 0}
body.glass-home.glass-workspace #shell #content .gs-schedule-info .schedule-week-context{position:absolute;left:0;top:100%;z-index:15;width:min(580px,100%);background:#102b45;border:1px solid #678db4;padding:12px;box-shadow:0 8px 26px #0009}
/* Lines belong to every cell, including empty slots. */
body.glass-home.glass-workspace #shell #content .schedule-grid{display:grid;grid-template-columns:68px repeat(var(--schedule-days),minmax(145px,1fr));max-height:none;min-width:0;overflow:visible;gap:0;border:1px solid #54799b;border-radius:8px;background:#08182b}
body.glass-home.glass-workspace #shell #content .schedule-grid>:is(.schedule-grid-corner,.schedule-grid-day,.schedule-grid-time,.schedule-grid-cell){border:0;border-right:1px solid #456b8b99;border-bottom:1px solid #456b8b99;border-radius:0;min-width:0;background:#0a1d32;position:static}
body.glass-home.glass-workspace #shell #content .schedule-grid>:is(.schedule-grid-corner,.schedule-grid-day){padding:6px;font-size:12px;background:#15334e;color:#cce7ff}
body.glass-home.glass-workspace #shell #content .schedule-grid .schedule-grid-time{padding:7px 3px;min-height:76px;background:#102b43;gap:3px}
body.glass-home.glass-workspace #shell #content .schedule-grid-time strong{font-size:14px}
body.glass-home.glass-workspace #shell #content .schedule-grid-time span{font-size:9px}
body.glass-home.glass-workspace #shell #content .schedule-grid-cell{padding:3px;gap:3px;min-height:76px;align-content:start}
@media(min-width:1500px){body.glass-home.glass-workspace #shell #content .schedule-grid-cell:has(>.schedule-lesson:nth-child(2)){grid-template-columns:repeat(2,minmax(0,1fr))}}
body.glass-home.glass-workspace #shell #content .schedule-grid .schedule-lesson{padding:3px 6px;gap:0;border-radius:5px;min-height:0;line-height:1.2;border-left-width:3px;background:#173650}
body.glass-home.glass-workspace #shell #content .schedule-grid .schedule-lesson.session-practice{background:#123b40;border-left-color:#51bbae}
body.glass-home.glass-workspace #shell #content .schedule-grid .schedule-lesson.session-lab{background:#3c3526;border-left-color:#d7b45c}
body.glass-home.glass-workspace #shell #content .schedule-grid .schedule-lesson strong{font-size:11px;line-height:13px}
body.glass-home.glass-workspace #shell #content .schedule-grid .schedule-groups{font-size:10px;line-height:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.glass-home.glass-workspace #shell #content .schedule-grid .schedule-meta{font-size:9px;line-height:11px;gap:6px}
body.glass-home.glass-workspace #shell #content .schedule-grid .schedule-type-badge{font-size:8px;padding:0 4px;line-height:11px}
body.glass-home.glass-workspace #shell #content .schedule-grid .schedule-teachers{font-size:9px;line-height:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.glass-home.glass-workspace #shell #content .gs-teacher-grid .schedule-teachers{display:none}
body.glass-home.glass-workspace #shell #content .schedule-grid .schedule-week-tag{font-size:8px!important;min-height:13px!important;height:13px!important;padding:1px 4px!important;line-height:10px!important}
body.glass-home.glass-workspace #shell #content .schedule-compare-matrix{min-width:980px;max-height:none;overflow:visible;border-color:#54799b;grid-template-columns:44px repeat(5,minmax(80px,1fr)) 44px repeat(5,minmax(80px,1fr))}
body.glass-home.glass-workspace #shell #content .schedule-compare-matrix>div{position:static;border-color:#456b8b99;background:#0a1d32}
body.glass-home.glass-workspace #shell #content .schedule-compare-matrix>:is(.schedule-compare-teacher-head,.schedule-compare-mini-corner,.schedule-compare-mini-day){background:#15334e;padding:5px}
body.glass-home.glass-workspace #shell #content .schedule-compare-teacher-head strong{font-size:12px!important}
body.glass-home.glass-workspace #shell #content .schedule-compare-matrix :is(.schedule-compare-mini-time,.schedule-compare-mini-cell){min-height:76px!important}
body.glass-home.glass-workspace #shell #content .schedule-compare-mini-card{padding:2px 4px!important;gap:0}
body.glass-home.glass-workspace #shell #content .schedule-compare-mini-card strong{font-size:9px!important;line-height:11px}
body.glass-home.glass-workspace #shell #content .schedule-compare-mini-card span{font-size:8px!important;line-height:10px}
body.glass-home.glass-workspace #shell #content .schedule-compare-mini-card small{font-size:8px!important;line-height:10px}
body.glass-home.glass-workspace #shell #content .schedule-compare-mini-card>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.glass-home.glass-workspace #shell #content .schedule-compare-mini-card .schedule-week-tag{font-size:7px!important;min-height:12px!important;height:12px!important;padding:1px 3px!important;line-height:9px!important}
@media(min-width:1100px){body.glass-home.glass-workspace #shell #content .schedule-grid{grid-template-rows:28px repeat(var(--gs-slots,8),auto);min-height:var(--gs-grid-height,650px)}body.glass-home.glass-workspace #shell #content .schedule-compare-matrix{grid-template-rows:30px 24px repeat(var(--gs-slots,8),auto);min-height:var(--gs-grid-height,680px)}}
@media(max-width:1099px){body.glass-home.glass-workspace #shell #content .schedule-page-head .schedule-controls{margin-left:0}body.glass-home.glass-workspace #shell #content .schedule-workspace{overflow-x:auto}body.glass-home.glass-workspace #shell #content .schedule-grid{min-width:810px}}
@media(max-width:800px){body.glass-home.glass-workspace #shell #content .topbar .global-search{flex:1;max-width:none}body.glass-home.glass-workspace #shell #content .schedule-page-head .schedule-controls{gap:8px}body.glass-home.glass-workspace #shell #content .schedule-page-head .field{flex-wrap:wrap}body.glass-home.glass-workspace #shell #content .schedule-kpis{width:100%}body.glass-home.glass-workspace #shell #content :is(.schedule-subtoolbar,.room-selector-card,.schedule-compare-head){display:flex;flex-wrap:wrap}body.glass-home.glass-workspace #shell #content .schedule-mine-actions{align-items:flex-start}body.glass-home.glass-workspace #shell #content .schedule-mine-actions .btn{white-space:normal}body.glass-home.glass-workspace #shell #content .schedule-grid{display:none}}
body.glass-home.glass-workspace #shell #content .schedule-grid .schedule-lesson-top>strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-width:0}

body.glass-home.glass-workspace .schedule-source-grid{display:flex;flex-direction:column;gap:12px}
body.glass-home.glass-workspace .schedule-source-grid>.schedule-source-card:not(.primary){order:-1;width:100%}
body.glass-home.glass-workspace .schedule-source-grid>.primary{width:100%;min-height:0}
body.glass-home.glass-workspace .rut-connect-details{border:1px solid #557c9b66;border-radius:10px}
body.glass-home.glass-workspace .rut-connect-details>summary{padding:12px;cursor:pointer;font-weight:600;color:#b8d9f5}
body.glass-home.glass-workspace .schedule-import-intro{margin-bottom:12px}
body.glass-home.glass-workspace .schedule-import-intro p{max-width:950px;font-size:12px}
body.glass-home.glass-workspace .rut-batch-toolbar{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;margin:12px 0}
body.glass-home.glass-workspace #rutQueueProgress{font-size:12px;color:#adcde6}
body.glass-home.glass-workspace .rut-table-wrap{overflow:auto;margin-top:12px}
body.glass-home.glass-workspace .rut-source-table{width:100%;table-layout:auto}
body.glass-home.glass-workspace .rut-source-table th{font-size:12px}
body.glass-home.glass-workspace .rut-source-table td{padding:9px 12px;vertical-align:middle;border-bottom:1px solid #45688a66}
body.glass-home.glass-workspace .rut-source-table td:first-child{width:35px}
body.glass-home.glass-workspace .rut-source-table strong{font-size:15px;color:#e0edff}
body.glass-home.glass-workspace .rut-source-table small{display:block;margin-top:3px;font-size:10px;color:#93b4d1}
body.glass-home.glass-workspace .rut-source-table .quick-actions{justify-content:flex-end;flex-wrap:wrap}
body.glass-home.glass-workspace .rut-result{font-size:12px}
body.glass-home.glass-workspace .rut-review-return{display:flex;align-items:center;gap:14px;margin-bottom:14px}
body.glass-home.glass-workspace .rut-review-return span{font-size:11px;color:#aec5df}
/* Keep names legible in the attendance dialog. */
body.glass-home.glass-workspace .session-modal .session-person-name{display:grid;gap:3px}
body.glass-home.glass-workspace .session-modal .session-person-name>:first-child{font-size:17px!important;font-weight:750!important;line-height:1.25;color:#ecf5ff!important}
body.glass-home.glass-workspace .session-modal .session-person-name>:last-child{font-size:13px!important;font-weight:500!important;line-height:1.25;color:#b7cde4!important}
body.glass-home.glass-workspace .session-modal{width:min(920px,calc(100vw - 32px));max-width:920px}
/* A QR is always an intact square, including the SVG renderer and its quiet zone. */
body.glass-home.glass-workspace #qrPresenter{position:relative;isolation:isolate;color:#e4efff;background:linear-gradient(135deg,#17304bcc,#071426e8);border:1px solid #77a1d27a;box-shadow:inset 0 1px #d1e9ff20,0 16px 55px #0005;backdrop-filter:blur(8px);overflow:hidden;width:100%;max-width:100%;padding:18px;border-radius:18px}
body.glass-home.glass-workspace #qrPresenter #liveQr{box-sizing:border-box;width:min(320px,66vw)!important;height:auto!important;aspect-ratio:1;max-width:none!important;max-height:none!important;padding:14px!important;display:grid;place-items:center;overflow:visible;background:#fff!important;flex:none;border:0;border-radius:10px;line-height:0}
body.glass-home.glass-workspace #qrPresenter #liveQr>:is(svg,canvas,img){display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain;image-rendering:pixelated}
body.glass-home.glass-workspace #qrPresenter #liveQr img[style*="display: none"]{display:none!important}
body.glass-home.glass-workspace #qrPresenter .qr-light-wave{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.7}
body.glass-home.glass-workspace #qrPresenter .qr-wave-cloth{transform-origin:center;animation:qr-cloth 11s ease-in-out infinite alternate}
body.glass-home.glass-workspace #qrPresenter .qr-wave-pulse{stroke-dasharray:95 905;stroke-dashoffset:1000;animation:qr-pulse 12s linear infinite}
@keyframes qr-cloth{from{transform:translateY(-18px) scaleY(.88)}to{transform:translateY(22px) scaleY(1.09)}}
@keyframes qr-pulse{to{stroke-dashoffset:0}}
body.glass-home.glass-workspace #qrPresenter:is(.projector-mode,:fullscreen){position:fixed;inset:0;z-index:6500;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:60px 24px 18px;border:0;border-radius:0;display:flex;flex-direction:column;justify-content:center;gap:3px;background:#030c1b;backdrop-filter:none;overflow:auto}
body.glass-home.glass-workspace #qrPresenter:is(.projector-mode,:fullscreen) #liveQr{width:min(61vh,70vw,760px)!important;padding:clamp(12px,1.6vmin,22px)!important;box-shadow:0 0 0 1px #c7dbff55,0 20px 90px #5267e320}
body.glass-home.glass-workspace #qrPresenter:is(.projector-mode,:fullscreen) .qr-session-title{font-size:clamp(21px,2.2vw,36px);max-width:1200px;line-height:1.15;margin:2px 0}
body.glass-home.glass-workspace #qrPresenter:is(.projector-mode,:fullscreen) .qr-session-meta{font-size:clamp(13px,1.2vw,20px);margin-bottom:8px}
body.glass-home.glass-workspace #qrPresenter .qr-live-meta{padding:10px 18px;border-radius:12px;background:#10264399;border:1px solid #7099cd3d;backdrop-filter:blur(9px);gap:18px}
body.glass-home.glass-workspace #qrPresenter .qr-presenter-toolbar{flex:none}
body.glass-home.glass-workspace #qrPresenter .qr-brand{color:#9cb6d5;margin-top:8px}
body.glass-home.glass-workspace #qrPresenter:has(.qr-ended) .qr-instructions{display:none}
body.glass-home.glass-workspace #qrPresenter #liveQr:has(.qr-ended){background:linear-gradient(140deg,#242440aa,#0e1b33b8)!important;border:1px solid #bd98e777;box-shadow:0 0 70px #7848ba26;line-height:1.3}
body.glass-home.glass-workspace #qrPresenter .qr-ended{background:transparent;border:0;border-radius:0;gap:22px;padding:20px;color:#fff;line-height:1.3}
body.glass-home.glass-workspace #qrPresenter .qr-ended strong{font-size:30px!important;font-weight:800!important;line-height:1.12;color:#ffd6ee!important;text-shadow:0 0 28px #be73e44d}
body.glass-home.glass-workspace #qrPresenter:is(.projector-mode,:fullscreen) .qr-ended strong{font-size:clamp(38px,4.6vw,76px)!important;max-width:650px}
body.glass-home.glass-workspace #qrPresenter .qr-ended span{font-size:15px;line-height:1.5;color:#c6c6e4;max-width:480px}
body.glass-home.glass-workspace #qrPresenter:is(.projector-mode,:fullscreen) .qr-ended span{font-size:clamp(15px,1.3vw,21px)}
@media(prefers-reduced-motion:reduce){body.glass-home.glass-workspace #qrPresenter :is(.qr-wave-cloth,.qr-wave-pulse){animation:none}}
@media(max-width:800px){body.glass-home.glass-workspace .rut-source-table{min-width:760px}body.glass-home.glass-workspace .rut-review-return{align-items:flex-start;flex-direction:column}body.glass-home.glass-workspace #qrPresenter:is(.projector-mode,:fullscreen){padding:54px 12px 14px}body.glass-home.glass-workspace #qrPresenter .qr-live-meta{gap:7px;padding:8px}body.glass-home.glass-workspace #qrPresenter .qr-live-meta strong{font-size:14px}body.glass-home.glass-workspace #qrPresenter .qr-hint{font-size:11px}}
