:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#12233b;background:#f3f6fa;--nav:#163a63;--nav2:#214d7c;--blue:#1769d2;--line:#dfe6ef;--muted:#738196;--card:#fff;--green:#087a55;--red:#b42318;--amber:#b76e00;--cyan:#177bb5;--shadow:0 12px 32px rgba(20,50,84,.07)}*{box-sizing:border-box}body{margin:0;background:#f3f6fa}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:12px}.error{color:var(--red);font-size:13px;min-height:18px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 0,#e7f0ff,#f4f7fb 50%)}.login-card{width:min(470px,100%);background:#fff;border:1px solid var(--line);border-radius:26px;padding:32px;box-shadow:var(--shadow)}.logo-big,.brand-l{display:grid;place-items:center;border-radius:50%;background:var(--nav);color:#fff;font-weight:900}.logo-big{width:64px;height:64px;font-size:32px;margin-bottom:18px}.login-tabs{display:flex;gap:8px;margin:20px 0}.seg-btn,.btn,.icon-btn{border:1px solid var(--line);background:#fff;color:#29415e;border-radius:11px;padding:10px 13px;font-weight:700}.seg-btn.active,.btn.primary{background:var(--nav);color:#fff;border-color:var(--nav)}.btn.danger{background:#fff1f0;color:var(--red);border-color:#ffd3cf}.btn.small{padding:7px 9px;font-size:12px}.form{display:grid;gap:13px}.field{display:grid;gap:6px;font-size:13px;font-weight:700}.field input,.field select,.field textarea,.search-input{width:100%;border:1px solid #cfd8e5;border-radius:11px;padding:10px 12px;background:#fff;outline:0}.field input:focus,.field select:focus,.field textarea:focus,.search-input:focus{border-color:#8eb8ee;box-shadow:0 0 0 3px #e8f2ff}.shell{min-height:100vh;display:grid;grid-template-columns:230px minmax(0,1fr)}.sidebar{background:var(--nav);color:#fff;padding:22px 15px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 24px}.brand-l{width:40px;height:40px;font-size:21px;border:2px solid rgba(255,255,255,.25)}.brand strong{font-size:18px;letter-spacing:.04em}.brand small{display:block;color:#b6c8dc;margin-top:2px}.nav{display:grid;gap:5px}.nav button{border:0;background:transparent;color:#dbe7f3;text-align:left;border-radius:10px;padding:11px 12px;font-weight:650}.nav button:hover,.nav button.active{background:rgba(255,255,255,.13);color:#fff}.side-foot{margin-top:auto;padding:16px 8px 0;border-top:1px solid rgba(255,255,255,.15)}.side-user{font-size:13px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-role{font-size:11px;color:#b6c8dc;margin-top:3px}.logout{display:inline-block;color:#dbe7f3;font-size:12px;margin-top:10px;text-decoration:none}.main{min-width:0;padding:26px 32px 60px}.topbar{height:54px;display:flex;align-items:center;gap:18px;margin-bottom:20px}.global-search{position:relative;width:min(560px,55vw)}.search-input{padding-left:38px}.search-icon{position:absolute;left:13px;top:11px;color:#8190a4}.search-results{position:absolute;top:48px;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 55px rgba(18,35,59,.16);z-index:80;overflow:hidden}.search-result{display:block;width:100%;border:0;background:#fff;text-align:left;padding:11px 13px}.search-result:hover{background:#f4f8fd}.search-result strong{display:block}.search-result span{font-size:12px;color:var(--muted)}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#2a78d3;font-weight:850;font-size:10px}.page-head h1{font-size:29px;letter-spacing:-.03em;margin:3px 0 3px}.page-head p{margin:0}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:15px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 2px 4px rgba(20,50,84,.02)}.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-7{grid-column:span 7}.span-6{grid-column:span 6}.span-5{grid-column:span 5}.span-4{grid-column:span 4}.span-3{grid-column:span 3}.card h2,.card h3{margin:0 0 5px;letter-spacing:-.02em}.card h2{font-size:20px}.card h3{font-size:16px}.card p{margin:0}.weekbar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-top:13px}.day{border:1px solid var(--line);border-radius:12px;padding:9px;min-height:78px}.day.today{border-color:#94bde9;background:#f3f8ff}.day b{display:block;font-size:12px}.day .date{font-size:11px;color:var(--muted)}.day .dot{height:5px;border-radius:8px;background:#bdd6f3;margin-top:7px}.session-row,.list-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #edf1f5}.session-row:last-child,.list-row:last-child{border-bottom:0}.session-time{width:64px;font-weight:850}.grow{min-width:0;flex:1}.grow strong{display:block}.grow small{display:block;color:var(--muted);margin-top:2px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;background:#eef3f8;color:#52667e;font-size:11px;font-weight:780}.badge.green{background:#e9f8f1;color:var(--green)}.badge.red{background:#fff0ee;color:var(--red)}.badge.amber{background:#fff6df;color:var(--amber)}.badge.blue{background:#eaf5fc;color:var(--cyan)}.course-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-course-cards{margin-top:12px}.course-card{border:1px solid var(--line);border-radius:15px;padding:15px;cursor:pointer;background:#fff}.course-card:hover{border-color:#9abde5;box-shadow:0 9px 24px rgba(20,50,84,.06)}.course-card h3{font-size:16px;margin:4px 0}.course-card .code{font-size:10px;color:#2a78d3;font-weight:850;text-transform:uppercase}.tabs{display:flex;gap:5px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:0 0 17px}.tab-btn{border:0;background:transparent;padding:10px 11px;color:#68788d;font-weight:720;border-bottom:2px solid transparent}.tab-btn.active{color:#163a63;border-bottom-color:#1769d2}.toolbar{display:flex;gap:9px;align-items:end;flex-wrap:wrap;margin:12px 0}.toolbar .field{min-width:150px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px}table{width:100%;border-collapse:collapse;font-size:12px;background:#fff}th{position:sticky;top:0;background:#f8fafc;color:#64748b;font-weight:800;text-align:left;padding:9px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:9px;border-bottom:1px solid #eef2f6;vertical-align:middle}tr:last-child td{border-bottom:0}.student-link{border:0;background:transparent;padding:0;color:#163a63;font-weight:750;text-align:left}.att-present{background:#ecfbf3}.att-absent{background:#fff2f0}.att-excused{background:#fff8e8}.att-notified{background:#edf8ff}.status-select{min-width:135px;border:1px solid #ccd6e2;border-radius:8px;padding:6px}.drawer-backdrop{position:fixed;inset:0;background:rgba(9,20,34,.24);z-index:100}.drawer{position:fixed;right:0;top:0;height:100vh;width:min(610px,95vw);background:#fff;z-index:101;box-shadow:-20px 0 55px rgba(15,35,60,.18);overflow:auto;padding:24px}.drawer-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.icon-btn{width:38px;height:38px;padding:0;display:grid;place-items:center}.drawer-tabs{display:flex;gap:5px;margin:18px 0;border-bottom:1px solid var(--line)}.empty{padding:28px;text-align:center;color:#8996a8}.attention{border-left:4px solid #e4a11b;padding-left:12px}.qr-wrap{display:grid;place-items:center;padding:15px}.qr-box{width:330px;height:330px;max-width:78vw;display:grid;place-items:center}.qr-box img,.qr-box canvas{max-width:100%;height:auto!important}.modal-backdrop{position:fixed;inset:0;background:rgba(9,20,34,.35);z-index:110;display:grid;place-items:center;padding:18px}.modal{width:min(720px,98vw);max-height:92vh;overflow:auto;background:#fff;border-radius:20px;padding:22px;box-shadow:0 25px 80px rgba(0,0,0,.25)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start}.room-department-modal{width:min(760px,94vw);max-height:88vh;overflow:auto}.room-department-close{float:right}.room-department-fieldset{border:1px solid var(--border,#31536c);border-radius:12px;margin:16px 0;padding:16px}.room-department-choice{display:flex;gap:12px;align-items:center;padding:10px 0}.room-department-checkbox{width:auto}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.kpi{border:1px solid var(--line);border-radius:13px;padding:12px}.kpi b{font-size:23px;display:block}.kpi span{font-size:11px;color:var(--muted)}.supervisor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.supervisor-card{border:1px solid var(--line);border-radius:15px;padding:15px}.tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.tag{font-size:10px;background:#eef4fb;color:#355d87;border-radius:999px;padding:4px 7px}.free{color:var(--green);font-weight:850}.full{color:var(--red);font-weight:850}.import-preview{max-height:360px;overflow:auto}.toast{position:fixed;right:22px;top:20px;z-index:500;background:#173a63;color:#fff;border-radius:12px;padding:11px 14px;box-shadow:var(--shadow);font-size:13px}.mobile-nav{display:none}.service-note{border:1px dashed #c9d5e3;background:#f8fafc;border-radius:13px;padding:12px}.manage-student-add-note,.system-technical-note{margin-top:8px}.security-table-wrap{margin-top:12px}.split{display:flex;gap:10px;align-items:center;justify-content:space-between}.nowrap{white-space:nowrap}
@media(max-width:1050px){.shell{grid-template-columns:190px 1fr}.main{padding:22px 20px}.span-8,.span-7,.span-5,.span-4{grid-column:span 12}.course-cards,.supervisor-grid{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.shell{display:block}.sidebar{display:none}.main{padding:14px 12px 76px}.topbar{height:auto;position:sticky;top:0;background:#f3f6fa;z-index:50;padding:7px 0}.global-search{width:100%}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:25px}.grid{display:block}.card{margin-bottom:12px}.weekbar{overflow-x:auto;grid-template-columns:repeat(7,110px)}.mobile-nav{display:grid;position:fixed;bottom:0;left:0;right:0;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid var(--line);z-index:90}.mobile-nav button{border:0;background:#fff;padding:10px 4px;font-size:11px;color:#697b91}.mobile-nav button.active{color:#1769d2;font-weight:800}.qr-box{width:280px;height:280px}.kpis{grid-template-columns:repeat(2,1fr)}}
.student-shell{min-height:100vh}.student-top{background:var(--nav);color:#fff;padding:14px max(18px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px}.student-brand{display:flex;gap:10px;align-items:center;color:#fff;text-decoration:none}.student-brand .brand-l{width:38px;height:38px}.student-brand small{display:block;color:#bfd0e2;font-size:11px}.student-logout{margin-left:14px}.student-nav{max-width:1120px;margin:18px auto 0;padding:0 18px;display:flex;gap:6px;overflow:auto}.student-nav button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 14px;color:#5d7088;font-weight:750;white-space:nowrap}.student-nav button.active{background:var(--nav);border-color:var(--nav);color:#fff}.student-main{max-width:1120px;margin:14px auto;padding:0 18px 60px}.student-hero{background:linear-gradient(135deg,#173a63,#24588f);color:#fff}.student-hero .muted{color:#cfdeed}.student-course{cursor:default}.metric-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.metric{border:1px solid var(--line);border-radius:12px;padding:10px}.metric b{display:block;font-size:20px}.metric span{font-size:10px;color:var(--muted)}.requirement{padding:9px 0;border-bottom:1px solid #edf1f5}.requirement:last-child{border-bottom:0}@media(max-width:720px){.student-top{padding:12px 14px}.student-top>div:last-child{font-size:12px}.student-main{padding:0 12px 70px}.student-nav{padding:0 12px}.metric-row{grid-template-columns:repeat(2,1fr)}}
.public-main{max-width:980px;margin:0 auto;padding:24px 18px 60px}.public-brand{display:flex;align-items:center;gap:10px;margin-bottom:20px}.public-brand .brand-l{width:42px;height:42px}.public-brand strong{display:block;font-size:20px}.public-brand small{display:block;color:var(--muted)}.public-hero{margin-bottom:14px}.supervisor-card.selectable{cursor:pointer;transition:.15s}.supervisor-card.selectable:hover{border-color:#8cb8e9;box-shadow:0 8px 22px rgba(20,50,84,.07)}.supervisor-card.selected{border-color:var(--blue);box-shadow:0 0 0 3px #e4f0ff}.supervisor-card.disabled{opacity:.56}.public-step{margin-top:14px}.person-results{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:8px}.person-results:empty{display:none}.choice-summary{background:#f4f8fd;border:1px solid #cfe0f4;border-radius:14px;padding:14px}.success-card{text-align:center;padding:32px}.success-mark{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:#e9f8f1;color:var(--green);font-size:36px;font-weight:900}@media(max-width:720px){.public-main{padding:14px 12px 40px}.supervisor-grid{grid-template-columns:1fr}.public-brand{margin-bottom:14px}}

/* beta.3 r3 acceptance refinements */
.side-system{display:block;width:100%;margin-top:12px;border:0;background:transparent;color:#dbe7f3;text-align:left;border-radius:9px;padding:8px 0;font-size:12px;font-weight:700}.side-system:hover,.side-system.active{color:#fff;text-decoration:underline}.compact-empty{padding:8px 0;color:#8996a8;font-size:13px}.week-session{margin-top:6px;border-radius:7px;background:#e8f2ff;color:#244c78;padding:4px 5px;font-size:10px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-more{margin-top:5px;color:#718299;font-size:10px}.session-day{padding:14px 0 5px;border-bottom:1px solid var(--line);font-size:13px;color:#2d425c;font-weight:850}.session-day:first-child{padding-top:4px}.course-session-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #edf1f5}.course-session-row:last-child{border-bottom:0}.course-session-row .session-main{min-width:0;flex:1}.course-session-row .session-main strong{display:block}.course-session-row .session-main small{display:block;color:var(--muted);margin-top:2px}.session-state{font-size:10px;color:#728197}.qr-presenter{width:100%;border:1px solid var(--line);border-radius:18px;background:#fff;margin:14px 0;padding:18px;display:grid;place-items:center;text-align:center}.qr-presenter h3{font-size:20px;margin:0 0 4px}.qr-presenter .qr-meta{font-size:13px;color:var(--muted);margin-bottom:8px}.qr-presenter .qr-countdown{font-size:18px;font-weight:850;color:#163a63;margin:8px 0}.qr-presenter .preview-warning{max-width:620px;margin:8px auto 10px;padding:10px 12px;border-radius:11px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:12px}.qr-presenter:fullscreen{background:#fff;padding:3vh 4vw;display:flex;flex-direction:column;justify-content:center}.qr-presenter:fullscreen .qr-box{width:min(62vmin,760px);height:min(62vmin,760px);max-width:none}.qr-presenter:fullscreen h3{font-size:clamp(26px,3vw,46px)}.qr-presenter:fullscreen .qr-meta{font-size:clamp(16px,1.6vw,25px)}.qr-presenter:fullscreen .qr-countdown{font-size:clamp(20px,2vw,30px)}.system-test-tools{border-color:#f1c27d;background:#fffaf2}.danger-note{color:#9a3412}.request-id{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;color:#8795a8;margin-top:5px}.system-foot-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}

/* beta.3 r3 projector + attendance editor */
.session-actions{align-items:center;flex-wrap:wrap}.live-duration{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:750;color:#64748b}.live-duration select{width:auto;min-width:100px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.att-edit{display:flex;flex-direction:column;gap:7px;min-width:210px}.att-reason-box{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(180px,1.3fr);gap:6px}.status-detail,.status-comment{width:100%;border:1px solid var(--line);border-radius:9px;padding:7px 8px;background:#fff;font-size:12px}.qr-layer{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:18px;background:rgba(2,8,17,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);isolation:isolate}.qr-layer>.qr-presenter{width:min(920px,calc(100vw - 36px));max-height:calc(100dvh - 36px);margin:0;overflow:auto}.qr-layer.is-projector{padding:0;background:#030c1b}.qr-layer.is-projector>.qr-presenter{max-height:none}.qr-layer-open{overflow:hidden}.qr-presenter{position:relative}.qr-presenter-toolbar{width:100%;display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:8px}.qr-presenter .qr-box{width:min(360px,72vw);height:min(360px,72vw);display:grid;place-items:center;background:#fff}.qr-presenter .qr-box canvas,.qr-presenter .qr-box img{width:100%!important;height:100%!important;image-rendering:pixelated}.qr-live-meta{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:10px}.qr-live-meta>div{display:flex;flex-direction:column;gap:3px}.qr-live-meta strong{font-size:16px}.qr-live-meta span{font-size:12px;color:var(--muted)}.qr-hint{font-size:12px;color:var(--muted);margin:10px 0 3px}.qr-brand{font-size:11px;color:#8b98aa}.qr-ended{height:100%;width:100%;display:grid;place-items:center;align-content:center;gap:6px;color:#7a3340;background:#fff7f7;border:1px dashed #efb7bf;border-radius:14px;padding:18px}.qr-ended span{font-size:12px;color:#8b6470}.qr-presenter.projector-mode{position:fixed;inset:0;z-index:6500;width:100vw;height:100vh;margin:0;border:0;border-radius:0;padding:2vh 3vw;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#fff;box-shadow:none}.qr-presenter.projector-mode .qr-presenter-toolbar{position:fixed;left:18px;right:18px;top:16px;width:auto;z-index:6501}.qr-presenter.projector-mode h3{font-size:clamp(28px,3vw,48px);margin:2px 0 4px}.qr-presenter.projector-mode .qr-meta{font-size:clamp(15px,1.45vw,23px);margin-bottom:.7vh}.qr-presenter.projector-mode .qr-box{width:min(70vmin,800px);height:min(70vmin,800px);max-width:none}.qr-presenter.projector-mode .qr-live-meta{font-size:clamp(15px,1.4vw,23px);margin-top:.8vh}.qr-presenter.projector-mode .qr-live-meta strong{font-size:clamp(17px,1.6vw,26px)}.qr-presenter.projector-mode .qr-live-meta span{font-size:clamp(13px,1.15vw,18px)}.qr-presenter.projector-mode .qr-hint{font-size:clamp(13px,1vw,17px);margin:.5vh 0 2px}.qr-presenter.projector-mode .qr-brand{font-size:clamp(10px,.8vw,14px)}.qr-presenter.projector-mode .preview-warning{max-width:900px}.qr-presenter:fullscreen{width:100vw;height:100vh;border:0;border-radius:0;background:#fff;padding:2vh 3vw}.qr-projector-open{overflow:hidden}
@media(max-width:720px){.att-reason-box{grid-template-columns:1fr}.qr-live-meta{gap:8px;flex-direction:column}.qr-presenter.projector-mode{padding:62px 12px 16px}.qr-presenter.projector-mode .qr-box{width:min(88vw,66vh);height:min(88vw,66vh)}}

/* beta.3 r4 — owner management + restored dark navigation */
:root{--nav:#101828;--nav2:#1D2939}
.sidebar{background:#101828}
.nav button{color:#e4e7ec}
.nav button:hover{background:#182230;color:#fff}
.nav button.active{background:#1D2939;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}
.brand small,.side-role{color:#98a2b3}.side-foot{border-top-color:#344054}.logout,.side-system{color:#d0d5dd}.brand-l{background:#101828;border-color:#475467}
.management-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}.management-tabs button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 12px;font-weight:750;color:#5c6b7e}.management-tabs button.active{background:#1D2939;color:#fff;border-color:#1D2939}
.management-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:15px}.management-stack{display:grid;gap:12px}.panel-soft{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:13px}.panel-soft h3{margin:0 0 8px}.quick-actions{display:flex;flex-wrap:wrap;gap:7px}.group-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px}.group-card.active{border-color:#98bce4;box-shadow:0 0 0 2px #edf5ff}.group-card button.group-open{border:0;background:transparent;text-align:left;width:100%;padding:0;color:inherit}.group-card strong{display:block}.group-card small{color:var(--muted)}
.manage-students-table td:first-child{min-width:230px}.role-pill{display:inline-flex;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:800;background:#eef2f6;color:#56667a}.role-pill.headman{background:#e8f2ff;color:#245b94}.role-pill.deputy{background:#f2ecff;color:#6e4aa5}
.bulk-file-row{border:1px solid var(--line);border-radius:12px;padding:11px;margin-top:8px;background:#fff}.bulk-file-row .status{font-size:11px;color:var(--muted);margin-top:4px}.batch-list{display:grid;gap:8px;margin-top:10px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.check-grid label{display:flex;gap:7px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff}.check-grid small{display:block;color:var(--muted);font-weight:400;margin-top:2px}
.course-admin-card{border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff}.course-admin-card h3{margin:0}.staff-admin-row{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(140px,.7fr) minmax(260px,1.4fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f5}.staff-admin-row:last-child{border-bottom:0}
.calendar-source{border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff}.calendar-source .meta{font-size:11px;color:var(--muted);margin-top:4px}.calendar-source-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.calendar-source-result{margin-top:8px;font-size:12px}
.journal-cell-btn{border:0;background:transparent;width:100%;min-width:54px;padding:6px 5px;border-radius:7px;color:#49596e;font-size:11px;font-weight:750}.journal-cell-btn:hover{outline:1px solid #9abde5;background:#f7fbff}.journal-cell-btn.present{color:var(--green)}.journal-cell-btn.absent{color:var(--red)}.journal-cell-btn.excused{color:var(--amber)}.journal-cell-btn.notified{color:var(--cyan)}
.bulk-work-table input,.bulk-work-table select{width:100%;min-width:100px;border:1px solid #ccd6e2;border-radius:8px;padding:7px}.bulk-work-table .remove-row{border:0;background:transparent;color:var(--red);font-size:18px}.info-actions{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.settings-section{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.settings-section:first-child{border-top:0;padding-top:0;margin-top:0}.config-card{border:1px solid var(--line);border-radius:14px;padding:13px;margin-top:9px}.config-card .config-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.config-explain{font-size:11px;color:var(--muted);margin-top:4px}.session-type-checks{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.session-type-checks label{font-size:12px}.sticky-name{position:sticky;left:0;background:#fff;z-index:3}.table-wrap thead .sticky-name{background:#f8fafc;z-index:5}
.student-directory-toolbar{display:flex;gap:9px;align-items:end;flex-wrap:wrap;margin-bottom:12px}.student-directory-toolbar .field{min-width:180px}.student-drawer-section{margin-top:14px}.student-drawer-section h3{margin:0 0 8px}.student-admin-actions{display:flex;gap:7px;flex-wrap:wrap}.student-detail-tabs{display:flex;gap:5px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:14px 0}.student-detail-pane{display:none}.student-detail-pane.active{display:block}.student-detail-course{border:1px solid var(--line);border-radius:13px;padding:12px;margin-bottom:9px}
@media(max-width:1100px){.management-grid{grid-template-columns:1fr}.staff-admin-row{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr}}

/* beta.3 r4 functional-completion polish */
.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.modal.wide{width:min(980px,98vw)}
.session-modal .qr-presenter:not(.projector-mode){max-width:540px;margin:14px auto;padding:14px}.session-modal .qr-presenter:not(.projector-mode) .qr-box{width:min(300px,64vw);height:min(300px,64vw)}.session-modal .qr-presenter:not(.projector-mode) .qr-live-meta{gap:12px}.session-modal .qr-presenter:not(.projector-mode) .qr-hint{max-width:430px}
.group-card.archived{opacity:.58}.course-admin-card .code{font-size:10px;color:#2a78d3;font-weight:850;text-transform:uppercase}.calendar-source-result:not(:empty){padding-top:8px;color:#52667e}.side-system{display:block;border:0;background:transparent;padding:0;margin-top:10px;text-align:left;font-size:12px}.nav button[data-page="management"]{margin-top:8px;border-top:1px solid #344054;border-radius:0;padding-top:16px}.nav button[data-page="management"].active{border-radius:10px;border-top-color:transparent;padding-top:11px}
@media(max-width:720px){.two-col{grid-template-columns:1fr}.management-tabs{overflow:auto;flex-wrap:nowrap}.management-tabs button{white-space:nowrap}}

/* beta.3 r5 — analytics, inline journal, cohorts, rewards */
.week-session{margin-top:6px;padding:5px 6px;border-radius:8px;background:#edf5ff;color:#244b74;line-height:1.15;overflow:hidden}.week-session strong{display:block;font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-session span{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.week-more{font-size:9px;color:var(--muted);margin-top:4px}.day{min-height:94px}
.role-pill.headman,.role-pill.deputy{font-weight:850}.role-star{font-size:13px;line-height:1}.role-pill.student-role{opacity:.62}
.group-filter-tools{display:grid;grid-template-columns:1fr;gap:6px;margin-top:10px}.group-filter-tools input,.group-filter-tools select{width:100%;border:1px solid #cfd8e5;border-radius:9px;padding:8px;background:#fff}
.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.check-line{display:flex;align-items:flex-start;gap:8px;font-size:13px;margin-top:10px}.check-line input{margin-top:2px}
.attendance-popover{position:fixed;z-index:7500;width:310px;background:#fff;border:1px solid #ccd8e6;border-radius:15px;padding:11px;box-shadow:0 18px 55px rgba(10,30,55,.22)}.attendance-popover-title{font-weight:800;font-size:12px;padding:2px 3px 8px}.attendance-popover-title small{display:block;color:var(--muted);font-weight:500;margin-top:2px}.attendance-quick-list{display:grid;gap:4px}.attendance-choice{border:0;background:#f8fafc;border-radius:9px;padding:7px 9px;display:grid;grid-template-columns:26px 1fr;align-items:center;text-align:left;color:#344054}.attendance-choice:hover,.attendance-choice.active{background:#edf5ff}.attendance-choice b{font-size:13px;text-align:center}.attendance-choice:disabled{opacity:.35;cursor:not-allowed}.attendance-popover .field{margin-top:8px}.journal-cell-btn.just-saved{box-shadow:0 0 0 2px #52b788;background:#effcf5}.journal-legend{display:flex;gap:7px;flex-wrap:wrap;margin:7px 0 10px}.legend{font-size:10px;border-radius:999px;padding:4px 7px;background:#f3f5f8;color:#667085}.legend.present{background:#ecfbf3;color:var(--green)}.legend.absent{background:#fff2f0;color:var(--red)}.legend.excused{background:#fff8e8;color:var(--amber)}.legend.notified{background:#edf8ff;color:var(--cyan)}.journal-summary-head{background:#eef3f8!important;border-left:1px solid #d7e0ea}.journal-summary-cell{background:#fbfcfe;border-left:1px solid #edf1f5;min-width:105px}.journal-summary-cell strong{display:block}.journal-summary-cell small{display:block;color:var(--muted);margin-top:2px}.journal-control-input{width:105px;border:1px solid #ccd6e2;border-radius:7px;padding:5px 6px;font-size:11px}.journal-rec-select{width:135px;border:1px solid #ccd6e2;border-radius:7px;padding:5px 6px;font-size:11px}.reward-mini{display:inline-block;border-radius:8px;background:#fff7d6;color:#7a5a00;padding:4px 6px;font-size:10px;font-weight:760;margin:2px;max-width:180px;white-space:normal}
.analytics-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.analytics-group-card{border:1px solid var(--line);border-radius:14px;padding:12px}.analytics-pct{font-size:22px;color:#163a63}.analytics-bars{display:flex;gap:9px;flex-wrap:wrap;margin-top:8px;font-size:10px;color:#667085}.analytics-absent{color:var(--red);font-weight:800}.analytics-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.session-modal .qr-presenter:not(.projector-mode) #liveQr,.session-modal .qr-presenter:not(.projector-mode) .qr-box{width:280px!important;height:280px!important;max-width:280px!important;max-height:280px!important;overflow:hidden}.session-modal .qr-presenter:not(.projector-mode) #liveQr canvas,.session-modal .qr-presenter:not(.projector-mode) #liveQr img{width:280px!important;height:280px!important;max-width:280px!important;max-height:280px!important}.session-modal .qr-presenter:not(.projector-mode){overflow:hidden}
@media(max-width:1100px){.analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.three-col{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.three-col{grid-template-columns:1fr}.attendance-popover{width:min(310px,calc(100vw - 18px))}.analytics-kpis{grid-template-columns:1fr}.week-session span{display:none}}
/* r5 — restored individual/source fields */
.source-values{margin-top:14px;padding-top:12px;border-top:1px solid var(--border,#e5e7eb);display:grid;gap:9px}.source-values .field{margin:0}.source-values input{max-width:100%}.list-stack{display:grid;gap:8px}

/* beta.3 r5 — owner setup checklist */
.setup-checklist{margin-bottom:12px;padding:14px 16px}.setup-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.setup-item{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 11px;display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:start;text-align:left;color:inherit}.setup-item>span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:12px}.setup-item.ok>span{background:#ecfbf3;color:#137a4d}.setup-item.warn>span{background:#fff4e5;color:#a35a00}.setup-item:hover{border-color:#aebed0;background:#fbfdff}.setup-item strong,.setup-item small{display:block}.setup-item small{margin-top:2px;color:var(--muted);font-size:10px;line-height:1.25}
@media(max-width:1000px){.setup-items{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.setup-items{grid-template-columns:1fr}}

/* beta.3 r6 — permanent diploma QR */
.diploma-qr-card .split{align-items:center}.diploma-qr-thumb{width:112px;height:112px;flex:0 0 112px;background:#fff;border-radius:10px;padding:4px}.diploma-qr-thumb canvas,.diploma-qr-thumb img{max-width:100%;height:auto}.diploma-qr-modal{max-width:720px}.diploma-qr-stage{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:10px}.diploma-qr-stage #diplomaQrLarge{background:#fff;padding:12px;border-radius:14px}.diploma-qr-stage canvas,.diploma-qr-stage img{display:block;max-width:min(520px,72vw);height:auto}.diploma-qr-stage small{max-width:620px;word-break:break-all;color:var(--muted)}.diploma-qr-actions{justify-content:center}.danger-zone{margin-top:14px;border-top:1px solid var(--border);padding-top:12px}.danger-zone summary{cursor:pointer;font-weight:700;color:#b42318}.diploma-qr-modal:fullscreen{max-width:none;width:100vw;height:100vh;border-radius:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#fff}.diploma-qr-modal:fullscreen .modal-head{position:absolute;left:30px;right:30px;top:24px}.diploma-qr-modal:fullscreen .diploma-qr-stage #diplomaQrLarge canvas,.diploma-qr-modal:fullscreen .diploma-qr-stage #diplomaQrLarge img{max-width:min(62vh,720px);width:min(62vh,720px)}

/* beta.3 r6 — railway role markers */
.train-mark{width:16px;height:16px;display:inline-block;vertical-align:-3px;color:#d99a00;filter:drop-shadow(0 1px 0 rgba(255,255,255,.65));margin-right:4px}
.train-mark.secondary{color:#b8892b}
.role-pill.headman{display:inline-flex;align-items:center;background:#fff7d6;color:#6f5400;border:1px solid #f0d47b;border-radius:999px;padding:2px 7px;font-weight:800}
.role-pill.deputy{display:inline-flex;align-items:center;background:#fffaf0;color:#725f2b;border:1px solid #e8dcb7;border-radius:999px;padding:2px 7px;font-weight:760}

/* beta.3 r6 — discoverability, module engine and visual polish */
body{font-size:16px}
.page-head h1{font-size:31px}.card h2{font-size:21px}.card h3{font-size:17px}
.small{font-size:12.5px}table{font-size:13px}th,td{padding:10px}
.day b{font-size:13.5px;color:#344054}.day .date{font-size:13px;font-weight:750;color:#667085;margin-top:2px;display:block}
.day.weekend{background:#fff7f7;border-color:#f5dada}.day.weekend b,.day.weekend .date{color:#a64b4b}
.day.calendar-exception{background:#fff8ec;border-color:#f0d7a8}.day.calendar-exception .day-note{display:block;margin-top:4px;font-size:9.5px;line-height:1.15;color:#925f16;font-weight:750}
.week-session{cursor:pointer;transition:border-color .15s,background .15s,transform .15s}.week-session:hover{background:#dfeeff;box-shadow:0 0 0 1px #9bc1eb;transform:translateY(-1px)}
.week-group-link{border:0;background:transparent;padding:0;color:inherit;font:inherit;font-weight:900;text-decoration:underline;text-decoration-color:rgba(36,75,116,.28);text-underline-offset:2px;cursor:pointer}.week-group-link:hover{text-decoration-color:currentColor}
.help-q{display:inline-grid;place-items:center;width:20px;height:20px;margin-left:4px;border:1px solid #c9d5e3;border-radius:50%;background:#f8fafc;color:#52667e;font-size:11px;font-weight:900;vertical-align:2px;padding:0}.help-q:hover{background:#edf5ff;border-color:#93b8df;color:#245b94}.help-popover{position:fixed;z-index:9000;width:min(360px,calc(100vw - 24px));background:#fff;border:1px solid #ccd8e6;border-radius:14px;padding:12px 14px;box-shadow:0 18px 55px rgba(10,30,55,.22)}.help-popover strong{display:block;margin-bottom:5px}.help-popover p{margin:0;color:#667085;font-size:13px;line-height:1.45}
.course-card{display:flex;align-items:stretch;gap:10px;padding:0;cursor:default;overflow:hidden}.course-card-main{min-width:0;flex:1;border:0;background:transparent;text-align:left;color:inherit;padding:15px;cursor:pointer}.course-card-actions{display:flex;align-items:center;gap:6px;padding:10px 12px 10px 0}.course-card:hover .course-card-main{background:#fbfdff}
.friendly-empty{padding:28px;border:1px dashed #cdd8e5;border-radius:14px;background:#fbfcfe;text-align:center;color:#667085}.friendly-empty strong{display:block;color:#344054;font-size:16px}.friendly-empty p{max-width:720px;margin:7px auto 13px;line-height:1.45}
.matrix-wrap{max-width:100%;margin-top:12px}.matrix-table{min-width:max-content}.matrix-table th,.matrix-table td{text-align:center}.matrix-table .sticky-name{text-align:left;min-width:220px}.sticky-summary{position:sticky;right:0;background:#fbfcfe;z-index:3;min-width:105px;border-left:1px solid #e6ebf1}.matrix-table thead .sticky-summary{background:#f1f5f9;z-index:5}.sticky-summary small{display:block;color:#667085;font-size:10px;margin-top:2px}
.matrix-status{width:94px;min-height:48px;border:1px solid #d8e0ea;border-radius:9px;background:#fff;color:#52667e;padding:5px 6px;display:grid;place-items:center;gap:2px}.matrix-status b{font-size:15px}.matrix-status span{font-size:9px;line-height:1.05}.matrix-status:hover:not(:disabled){border-color:#91b6dd;background:#f6faff}.matrix-status.accepted,.matrix-status.tracker-accepted{background:#ecfbf3;border-color:#b9e7cf;color:#087a55}.matrix-status.remarks,.matrix-status.tracker-remarks{background:#fff8e8;border-color:#efd89d;color:#976300}.matrix-status.revision,.matrix-status.tracker-revision{background:#edf5ff;border-color:#bdd6f0;color:#245b94}.matrix-status.not-shown,.matrix-status.tracker-not_shown{background:#fafbfc;color:#7b8797}
.cell-popover{position:fixed;z-index:7600;width:340px;background:#fff;border:1px solid #cbd7e5;border-radius:15px;padding:12px;box-shadow:0 18px 55px rgba(10,30,55,.23)}.cell-pop-title strong,.cell-pop-title small{display:block}.cell-pop-title small{color:#667085;margin-top:2px}.cell-status-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin:10px 0}.cell-status-choice{border:1px solid #dde5ee;background:#f8fafc;border-radius:9px;padding:8px;text-align:left;color:#475467}.cell-status-choice:hover,.cell-status-choice.active{border-color:#8fb6df;background:#edf5ff;color:#244b74}.popover-actions{display:flex;gap:7px;margin-top:9px}
.work-plan-strip{display:flex;gap:8px;overflow:auto;padding:10px 0}.work-plan-chip{min-width:160px;border:1px solid #dce4ed;border-radius:11px;padding:9px;background:#fbfcfe}.work-plan-chip strong,.work-plan-chip span{display:block}.work-plan-chip span{font-size:10px;color:#667085;margin:2px 0 6px}.work-plan-chip input{width:100%;border:1px solid #ccd6e2;border-radius:7px;padding:5px}.legend-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.status-dot{border-radius:999px;padding:4px 8px;font-size:10px;background:#f4f6f8;color:#667085}.status-dot.accepted{background:#ecfbf3;color:#087a55}.status-dot.remarks{background:#fff8e8;color:#976300}.status-dot.revision{background:#edf5ff;color:#245b94}
.source-matrix input.source-cell{width:118px;border:1px solid transparent;background:transparent;border-radius:7px;padding:6px}.source-matrix input.source-cell:hover,.source-matrix input.source-cell:focus{border-color:#9dbde0;background:#fff;outline:0;box-shadow:0 0 0 2px #edf5ff}.source-matrix th small{display:block;font-size:9px;font-weight:500;color:#8a97a8;margin-top:2px}
.tracker-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.tracker-matrix .matrix-status{width:104px}.tracker-matrix .matrix-status span{white-space:normal}
.module-disabled{text-align:center;padding:34px}.module-disabled .module-icon{width:44px;height:44px;margin:0 auto 10px;border-radius:14px;display:grid;place-items:center;background:#edf5ff;color:#245b94;font-size:28px;font-weight:500}.module-disabled p{max-width:700px;margin:6px auto 14px}
.security-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.security-tabs button{border:1px solid #d9e2ec;background:#fff;border-radius:9px;padding:8px 10px;color:#5a697b;font-weight:750}.security-tabs button.active{background:#1D2939;color:#fff;border-color:#1D2939}.audit-toolbar{display:flex;gap:8px;margin:10px 0}.audit-toolbar input{flex:1;border:1px solid #cfd8e5;border-radius:9px;padding:9px 10px}.audit-toolbar pre{white-space:pre-wrap}
.export-json-card{position:relative;overflow:hidden}.export-json-card .btn{display:inline-flex;margin-top:10px}.service-note p{line-height:1.45}
@media(max-width:1100px){.course-card{display:block}.course-card-actions{padding:0 15px 14px}.tracker-head{display:block}.tracker-head .quick-actions{margin-top:8px}}
@media(max-width:720px){body{font-size:15px}.page-head h1{font-size:27px}.day b{font-size:12px}.day .date{font-size:12px}.cell-popover{width:min(340px,calc(100vw - 20px))}.course-card-actions{flex-wrap:wrap}.matrix-table .sticky-name{min-width:170px}.help-popover{font-size:12px}}

/* beta.3 r7 — final pre-release polish */
.train-mark.headman-mark{color:#d99a00}.train-mark.deputy-mark{color:#1685a3}
.role-pill.headman{background:#fff6cf;color:#6d5100;border-color:#ebcf6d}
.role-pill.deputy{background:#e9f8fb;color:#12657a;border-color:#a9dce6;font-weight:800}

.student-detail-course{padding:18px;margin-bottom:14px;border-radius:15px}.student-detail-course>h3{margin:0 0 14px}.student-attendance-block{padding-bottom:15px;border-bottom:1px solid var(--line)}
.student-section-title{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}.student-section-title>span{font-size:11px;color:var(--muted)}
.student-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.student-plan-card{display:flex;flex-direction:column;gap:6px;padding:12px 13px;border:1px solid #dce5ee;border-radius:12px;background:#fbfcfe}.student-plan-card>strong{font-size:13px;color:#344054;margin-bottom:2px}.student-plan-card>span{display:flex;justify-content:space-between;gap:10px;color:#667085;font-size:12px}.student-plan-card b{color:#25364a;font-weight:800}
.student-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:14px}.student-module-card{display:flex;flex-direction:column;gap:6px;padding:12px 13px;border-radius:12px;background:#f7f9fc}.student-module-card strong{font-size:12px}.student-module-card span{font-size:12px;line-height:1.35}.student-recommendation{margin:14px 0 0!important;padding-top:11px;border-top:1px dashed #dce4ed}

.reward-campaign-grid{margin-top:14px}.reward-campaign-card{display:flex;flex-direction:column;gap:11px}.reward-effect{padding:10px 12px;border-radius:11px;background:#edf6ff;border:1px solid #cfe3f7}.reward-effect small,.reward-terms small{display:block;color:#667085;font-size:10px;font-weight:750;margin-bottom:3px}.reward-effect strong{display:block;color:#244b74}.reward-terms{padding-top:8px;border-top:1px dashed #d8e1eb}.reward-terms p{margin:2px 0 0;font-size:12px;line-height:1.45;color:#667085}.reward-pool-box{margin:12px 0;padding:12px 14px;border:1px solid #d7e6f3;background:#f8fbff;border-radius:12px}.reward-pool-box p{margin:4px 0 9px}.reward-rule-checks{display:grid;gap:6px;margin:10px 0}.reward-save{margin-top:14px}

.diploma-year-switcher{display:flex;gap:7px;flex-wrap:wrap;margin:2px 0 12px}.diploma-year-switcher button{display:flex;flex-direction:column;gap:1px;align-items:flex-start;min-width:105px;border:1px solid #d9e2ec;background:#fff;border-radius:11px;padding:8px 11px;color:#425466}.diploma-year-switcher button small{font-size:9px;color:#8390a0;text-transform:uppercase}.diploma-year-switcher button.active{background:#163a63;border-color:#163a63;color:#fff}.diploma-year-switcher button.active small{color:#c9d9e9}
.diploma-tabs{display:flex;gap:5px;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:14px;padding-bottom:7px}.diploma-tabs button{white-space:nowrap;border:0;background:transparent;border-radius:9px;padding:8px 10px;color:#667085;font-weight:760}.diploma-tabs button:hover:not(:disabled){background:#f1f5f9}.diploma-tabs button.active{background:#1d2939;color:#fff}.diploma-tabs button:disabled{opacity:.38}
.diploma-campaign-panel{max-width:760px;margin-top:14px}.diploma-import-box{margin-top:18px;padding:14px;border:1px dashed #cbd8e6;border-radius:13px;background:#fbfcfe}.diploma-import-box>strong{display:block}.diploma-reconcile-settings{margin:14px 0;padding:14px;border:1px solid #d8e4ef;border-radius:13px;background:rgba(248,251,255,.78)}.diploma-reconcile-settings h3{margin:0 0 4px}.diploma-reconcile-banner{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:14px 0;padding:11px 13px;border:1px solid #cfe4d9;border-radius:12px;background:rgba(246,252,249,.84)}.diploma-reconcile-banner.warn{border-color:#e5b8a8;background:#fff8f4}.diploma-reconcile-banner span{font-size:12px;color:#536477}.diploma-reconcile-banner small{flex-basis:100%;color:#667085}.diploma-allocation-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:16px 0}.diploma-allocation-summary>div{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid #d8e4ef;border-radius:12px;background:rgba(255,255,255,.72)}.diploma-allocation-summary strong{font-size:22px;line-height:1}.diploma-allocation-summary span{font-size:11px;color:#667085}.diploma-allocation-summary .warn{border-color:#e5b8a8;background:#fff8f4}.diploma-allocation-board{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(0,2fr);gap:14px;margin-top:16px}.diploma-unassigned-column,.diploma-supervisor-drop{border:1px solid #d8e4ef;border-radius:13px;background:rgba(255,255,255,.72);padding:12px}.diploma-unassigned-column h3,.diploma-outgoing-list h3{margin:0 0 10px}.diploma-supervisor-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;align-content:start}.diploma-supervisor-drop{min-height:120px;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.diploma-supervisor-drop.drag-over{border-color:#5592d0;box-shadow:0 8px 22px rgba(33,91,150,.14);transform:translateY(-1px)}.diploma-supervisor-drop.full{background:rgba(250,247,247,.8)}.diploma-assigned-list{display:grid;gap:7px;margin-top:10px}.diploma-student-chip{display:grid;gap:3px;padding:9px 10px;border:1px solid #dbe5ef;border-radius:10px;background:#fff;cursor:grab}.diploma-student-chip.compact{padding:7px 8px}.diploma-student-chip span{font-size:10px;color:#667085}.diploma-student-chip .btn{justify-self:start;margin-top:3px}.diploma-outgoing-drop{display:grid;gap:3px;margin-top:12px;padding:12px;border:1px dashed #b9c9d9;border-radius:11px;background:#f8fbfe}.diploma-outgoing-drop span{font-size:10px;color:#667085}.diploma-outgoing-list{display:grid;gap:8px;margin-top:18px}.diploma-outgoing-list .service-note{display:flex;align-items:center;gap:10px;justify-content:space-between}.diploma-order-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px;margin-top:16px}.diploma-order-check{display:flex;gap:9px;align-items:flex-start;padding:9px 0;border-bottom:1px solid #e6edf4}.diploma-order-check>span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#eef2f6;font-weight:900}.diploma-order-check.ok>span{background:#e8f6ef;color:#20714a}.diploma-order-check.warn>span{background:#fff1e8;color:#a24e20}.diploma-order-check div{display:grid;gap:2px}.diploma-order-check small{color:#667085}.diploma-order-settings{padding:14px;border:1px solid #d8e4ef;border-radius:13px;background:rgba(248,251,255,.76)}.diploma-order-settings h3{margin-top:0}.diploma-order-actions{margin-top:14px;padding-top:12px;border-top:1px dashed #d8e4ef}.diploma-home-card{display:grid;gap:10px}.diploma-home-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #e5edf4}.diploma-home-row div{display:grid;gap:2px}.diploma-home-row span{font-size:11px;color:#667085}.capacity-input{width:78px}.capacity-input.over{border-color:#e5a6a6;background:#fff7f7}.capacity-over-row{background:#fff9f7}.capacity-warning{color:#b42318;font-size:10px;font-weight:800}.diploma-qr-main{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:760px;margin-top:14px;padding:18px}.diploma-public-url{display:block;word-break:break-all;color:#667085;margin:6px 0 12px}.public-verify-field{margin-top:11px!important;padding-top:10px;border-top:1px dashed #d7e0e9}.public-verify-field small{display:block;color:#667085;font-size:10px;line-height:1.35;margin-top:4px}
@media(max-width:720px){.student-detail-course{padding:14px}.student-plan-grid,.student-module-grid{grid-template-columns:1fr}.student-section-title{display:block}.student-section-title>span{display:block;margin-top:3px}.diploma-qr-main{display:block}.diploma-qr-main .diploma-qr-thumb{margin-top:14px}.diploma-tabs{margin-left:-4px;margin-right:-4px}.diploma-allocation-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.diploma-allocation-board,.diploma-order-grid{grid-template-columns:1fr}.diploma-supervisor-columns{grid-template-columns:1fr}.diploma-outgoing-list .service-note,.diploma-home-row{align-items:flex-start;flex-direction:column}}
.diploma-linea-groups label{align-items:flex-start}.diploma-linea-groups label span{display:flex;flex-direction:column;gap:2px}.diploma-linea-groups label small{color:var(--muted);font-size:10px}

/* beta.3 r8 — acceptance fixes and interaction polish */
.topbar{justify-content:space-between}.server-clock{margin-left:auto;white-space:nowrap;border:1px solid #d9e2ec;background:#fff;border-radius:11px;padding:9px 12px;font-size:12px;font-weight:850;color:#28445f;letter-spacing:.02em;box-shadow:0 2px 8px rgba(20,50,84,.04)}

/* Clickable surfaces get motion, but never lose contrast. */
.course-card,.course-admin-card,.attention-action,.setup-item,.panel-soft,.diploma-year-switcher button,.month-session{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background-color .15s ease,color .15s ease}.course-card:hover,.course-admin-card:hover,.attention-action:hover,.setup-item:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(20,50,84,.08);border-color:#aac5e1}
.diploma-year-switcher button:hover:not(.active){transform:translateY(-1px);background:#eaf3ff;border-color:#8bb6e4;color:#173a63;box-shadow:0 7px 17px rgba(26,73,121,.10)}.diploma-year-switcher button:hover:not(.active) small{color:#476b90}.diploma-year-switcher button.active:hover{transform:translateY(-1px);background:#204b78;color:#fff;box-shadow:0 7px 17px rgba(16,49,82,.22)}.diploma-year-switcher button.active:hover small{color:#d7e6f4}
.identity-lock-note{margin:8px 0 2px;padding:10px 12px;border:1px solid #d7e5f2;border-radius:11px;background:#f7fbff;color:#536b84;font-size:12px;line-height:1.4}

/* Headman/deputy need to be distinguishable at a glance. */
.role-pill{display:inline-flex;align-items:center;gap:5px;border:1px solid #d8e0e8}.role-pill .train-mark,.train-mark{width:17px;height:17px;vertical-align:-3px}.role-pill.headman{background:#fff2b8;color:#624800;border-color:#d9b83b;box-shadow:inset 0 0 0 1px rgba(217,184,59,.12)}.role-pill.deputy{background:#d7f4fa;color:#075a70;border-color:#58b8ca;box-shadow:inset 0 0 0 1px rgba(88,184,202,.15)}.train-mark.headman-mark{color:#c98700}.train-mark.deputy-mark{color:#08758e}

/* Custom/student labels are separate from official group roles. */
.student-label-row,.student-public-labels{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.student-label{display:inline-flex;align-items:center;gap:5px;border:1px solid transparent;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:820;line-height:1}.student-label small{font-size:8px;font-weight:700;opacity:.75;margin-left:2px}.student-label-icon{display:inline-grid;place-items:center;width:16px;height:16px}.student-label-icon svg{width:16px;height:16px}.student-label.tone-slate{background:#eef2f6;color:#405267;border-color:#d3dce6}.student-label.tone-blue{background:#eaf3ff;color:#175d9c;border-color:#bdd8f3}.student-label.tone-teal{background:#e2f7f5;color:#10675e;border-color:#a7ded8}.student-label.tone-amber{background:#fff4cf;color:#805e00;border-color:#ebcf70}.student-label.tone-red{background:#fff0ef;color:#a12820;border-color:#efb6b1}.student-label.tone-black{background:#171c24;color:#fff;border-color:#171c24;box-shadow:0 2px 9px rgba(0,0,0,.14)}.student-label.staff-only{border-style:dashed}.student-label-manager{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe}.student-label-assignments{display:grid;gap:8px;margin:12px 0}.label-assign-row{display:grid;grid-template-columns:minmax(230px,.9fr) 1fr;gap:10px;align-items:center;padding:10px;border:1px solid #e1e7ef;border-radius:11px;background:#fff}.label-assign-row input[type=text],.label-assign-row>input{width:100%;border:1px solid #cfd8e5;border-radius:9px;padding:8px 10px}.label-definition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.label-definition-card p{margin-top:8px!important}

/* Bonus form: presets are the primary UX, numeric value only appears when needed. */
.reward-wording-box,.reward-terms-box{margin:12px 0;padding:13px 14px;border:1px solid #d9e5f0;border-radius:13px;background:#fbfdff}.reward-wording-box>p{margin:7px 0 0!important}.reward-terms-box textarea{line-height:1.45}

/* Shared multi-group audience and event pair planner. */
.audience-box{margin-top:8px}.audience-all{padding:8px 0;font-weight:800}.audience-groups{margin-top:7px}.audience-groups label{background:#fff}.timing-mode{display:flex;gap:5px;margin:12px 0 10px;padding:4px;background:#eef3f8;border-radius:11px;width:max-content}.timing-mode button{border:0;background:transparent;color:#607185;border-radius:8px;padding:8px 11px;font-weight:800}.timing-mode button.active{background:#fff;color:#173a63;box-shadow:0 2px 8px rgba(20,50,84,.08)}.event-pair-row{display:grid;grid-template-columns:180px minmax(0,1fr) 38px;gap:10px;align-items:end;padding:10px 0;border-bottom:1px solid #e8edf3}.event-pair-row:last-child{border-bottom:0}.pair-choice{display:flex;gap:6px;flex-wrap:wrap}.pair-choice label{position:relative}.pair-choice input{position:absolute;opacity:0;pointer-events:none}.pair-choice span{display:block;border:1px solid #d3dde8;background:#fff;border-radius:9px;padding:8px 9px;font-size:11px;font-weight:780;color:#566a80;cursor:pointer}.pair-choice input:checked+span{background:#173a63;border-color:#173a63;color:#fff}.info-explain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:12px}.info-explain{padding:11px 12px;border:1px solid #dce5ee;border-radius:12px;background:#f9fbfd}.info-explain strong{display:block;font-size:12px;margin-bottom:3px}.info-explain span{display:block;color:#6c7b8e;font-size:11px;line-height:1.4}

/* Home week navigation + month academic calendar. */
.week-nav{display:flex;align-items:center;gap:7px}.semester-calendar-card{margin-top:15px}.calendar-nav{display:flex;align-items:center;gap:8px}.calendar-nav strong{min-width:140px;text-align:center;text-transform:capitalize}.month-grid-head{display:grid;grid-template-columns:62px repeat(7,minmax(0,1fr));gap:5px;margin-top:12px}.month-grid-head>div{font-size:10px;font-weight:850;color:#718096;text-align:center;padding:4px}.month-grid{display:grid;gap:5px}.month-week-row{display:grid;grid-template-columns:62px repeat(7,minmax(0,1fr));gap:5px}.month-week-no{display:grid;place-items:center;border:1px solid #dde5ee;border-radius:10px;background:#f7f9fc;color:#617287;font-size:10px;text-align:center;line-height:1.25;padding:4px}.month-week-no b{display:block;font-size:13px;color:#2e455f}.month-day{min-height:91px;border:1px solid #dde5ee;border-radius:10px;background:#fff;padding:6px;overflow:hidden}.month-day.weekend{background:#fff7f6}.month-day.outside{opacity:.42}.month-day.has-exception{border-color:#efb4ae;background:#fff3f1}.month-date{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#758399;font-weight:800}.month-date b{font-size:12px;color:#2d4259}.month-exception{margin-top:4px;padding:3px 5px;border-radius:6px;background:#fee4e2;color:#9c2d24;font-size:8px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-session{display:block;width:100%;margin-top:4px;border:0;border-radius:6px;background:#edf5ff;color:#245985;text-align:left;padding:4px 5px;font-size:8px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-session:hover{background:#dcecff;color:#173f69;transform:translateY(-1px)}

@media(max-width:900px){.server-clock{font-size:11px;padding:8px}.label-definition-grid{grid-template-columns:1fr}.info-explain-grid{grid-template-columns:1fr}.month-grid-head,.month-week-row{grid-template-columns:48px repeat(7,minmax(84px,1fr))}.semester-calendar-scroll{overflow-x:auto}.event-pair-row{grid-template-columns:1fr 38px}.event-pair-row>.field{grid-column:1/-1}.label-assign-row{grid-template-columns:1fr}}
@media(max-width:720px){.topbar{gap:8px}.server-clock{position:fixed;right:10px;top:9px;z-index:55;background:rgba(255,255,255,.96)}.global-search{padding-right:118px}.diploma-year-switcher button{min-width:96px}.timing-mode{width:100%}.timing-mode button{flex:1}.month-grid{min-width:770px}.month-grid-head{min-width:770px}.student-public-labels{margin-top:10px}}
.month-grid-head{align-items:end}.month-grid-head>span{font-size:10px;font-weight:850;color:#718096;text-align:center;padding:4px}.month-calendar{display:grid;gap:5px}.month-day.calendar-exception{border-color:#efb4ae;background:#fff3f1}.month-date{display:block;font-size:11px;color:#2d4259;font-weight:850}.month-week-no strong{display:block;font-size:13px;color:#2e455f}.month-week-no span{font-size:9px;color:#6e7d8f}.month-more{display:block;margin-top:4px;color:#64748b;font-size:8px;font-weight:800}

.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.diploma-roster-actions{margin-top:12px;align-items:center}.diploma-linea-groups label:has(input:checked){border-color:#79a9df;background:#eef6ff;box-shadow:0 0 0 1px rgba(55,114,176,.08)}

/* r9 final acceptance polish */
.server-clock{font-size:18px;font-weight:900;padding:11px 16px;min-width:138px;text-align:center;border-width:1.5px;box-shadow:0 5px 16px rgba(20,50,84,.08)}
.diploma-year-switcher button:hover:not(.active){background:#173a63!important;border-color:#173a63!important;color:#fff!important;box-shadow:0 8px 20px rgba(17,53,89,.22)!important;transform:translateY(-2px)}
.diploma-year-switcher button:hover:not(.active) strong,.diploma-year-switcher button:hover:not(.active) small{color:#fff!important}
.diploma-year-switcher button.active,.diploma-year-switcher button.active:hover{background:#102f50!important;border-color:#102f50!important;color:#fff!important;box-shadow:0 8px 20px rgba(17,53,89,.24)}
.diploma-year-switcher button.active strong,.diploma-year-switcher button.active small,.diploma-year-switcher button.active:hover strong,.diploma-year-switcher button.active:hover small{color:#fff!important}
.role-pill.deputy .train-mark{width:21px;height:21px}.role-pill.headman .train-mark{width:19px;height:19px}
.tracker-matrix th{min-width:128px}.tracker-col-code{display:block;font-size:12px;color:#27496b;margin-bottom:3px}.tracker-col-title{display:block;white-space:normal;font-size:10px;line-height:1.2;color:#5a6c80}.tracker-item-editor td:first-child{width:56px;text-align:center;font-weight:850}.tracker-item-editor input{width:100%}.tracker-date-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0 10px}.tracker-date-strip span{display:flex;flex-direction:column;background:#f5f8fb;border:1px solid #e0e7ef;border-radius:8px;padding:7px 8px;font-size:10px;color:#52667e}.tracker-date-strip b{font-size:9px;color:#7a8797;margin-bottom:2px}.tracker-detail-popover{min-width:430px}
.source-matrix th,.source-matrix td{border-right:1px solid #edf1f5}.source-matrix tr{border-bottom:1px solid #edf1f5}.source-matrix tbody tr:hover{background:#f8fbff}.source-matrix input.source-cell{width:124px;border:1px solid #dce5ee;background:#fff;border-radius:7px;padding:7px 8px}.source-matrix input.source-cell:hover,.source-matrix input.source-cell:focus{border-color:#75a8d6;background:#fff;outline:0;box-shadow:0 0 0 2px #eaf3fb}.source-grid-help{margin:8px 0 10px;padding:8px 10px;background:#f6f9fc;border:1px solid #e3eaf2;border-radius:8px;color:#65768a;font-size:11px}
.info-row-actions{display:flex;gap:5px;align-items:center;margin-left:8px;flex-wrap:wrap}.info-row-actions .btn{padding:5px 8px}.registration-actions{display:flex;gap:5px;justify-content:flex-end}.campaign-access-mode{margin:8px 0}.campaign-date-presets{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
@media(max-width:900px){.server-clock{font-size:15px;min-width:116px;padding:9px 12px}.tracker-date-strip{grid-template-columns:1fr}.tracker-detail-popover{min-width:320px}}

/* r10 pre-production: group-context workflows and unambiguous controls */
.diploma-tabs button:hover:not(:disabled){background:#e9f2fc!important;color:#173a63!important;transform:none!important}
.diploma-tabs button.active,.diploma-tabs button.active:hover{background:#173a63!important;color:#fff!important;box-shadow:inset 0 0 0 1px #173a63!important}
.work-chip-head{display:flex;align-items:center;justify-content:space-between;gap:7px}.work-chip-remove{width:22px;height:22px;border:1px solid #efc8c4;border-radius:7px;background:#fff5f4;color:#b42318;font-weight:900;line-height:1;padding:0}.work-chip-remove:hover{background:#ffe9e7;border-color:#e79b94}.work-plan-chip>span{max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.coursework-final{margin-top:18px;padding-top:16px;border-top:1px solid #dde5ee}.coursework-final-head{margin-bottom:9px}.coursework-final-head strong{font-size:14px}.coursework-final-cell{border:1px solid #cfdbe7;background:#fff;border-radius:8px;padding:7px 9px;font-weight:780;color:#29415e;min-width:104px}.coursework-final-cell:hover:not(:disabled){background:#edf5ff;border-color:#8db5dc;color:#173a63}.coursework-final-popover{min-width:470px}
@media(max-width:720px){.coursework-final-popover{min-width:320px}}
.tracker-scope-note{display:inline-flex;gap:5px;align-items:center;margin:7px 0 0;padding:5px 8px;border:1px solid #dbe5ef;border-radius:8px;background:#f7fafd;color:#52677d;font-size:10px}.tracker-scope-note b{color:#304a65}.coursework-final-cell strong,.coursework-final-cell small{display:block}.coursework-final-cell small{margin-top:2px;color:#718096;font-size:9px;font-weight:650}

/* LINEA 2.0 beta.3 r11 — UX simplification: group-first workspace */
.nav-spacer{height:14px;margin-top:5px;border-top:1px solid rgba(255,255,255,.14)}
.nav .nav-secondary{color:#b8cadd;font-size:13px}
.nav-section{display:block;margin:14px 10px 3px;color:#98a2b3;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.nav-section:first-of-type{margin-top:7px}.nav-management-section{margin-top:18px}
.setup-route{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:0;margin:16px 0 0;list-style:none}.setup-route button{width:100%;min-height:76px;border:1px solid #d7e2ef;border-radius:12px;padding:10px;background:#fbfdff;text-align:left;color:#244564}.setup-route button:hover{border-color:#86b1e1;background:#f3f8ff}.setup-route strong,.setup-route span{display:block}.setup-route strong{font-size:12px}.setup-route span{margin-top:4px;color:#718197;font-size:10px;line-height:1.25}.public-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:11px;margin-top:14px}.public-choice{min-height:88px;border:1px solid #cdddec;border-radius:14px;padding:14px;background:#fff;text-align:left;color:#173a63}.public-choice:hover:not(:disabled){border-color:#70a9e4;background:#f5f9ff}.public-choice:disabled{cursor:not-allowed;opacity:.58}.public-choice strong,.public-choice span{display:block}.public-choice span{margin-top:6px;color:#718197;font-size:12px}.topic-choice-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.topic-choice{border:1px solid #cfdbe8;border-radius:999px;padding:8px 12px;background:#fff;color:#284a6d;font-weight:700;font-size:12px}.topic-choice.active{border-color:#1769d2;background:#eaf3ff;color:#14539f}
@media(max-width:720px){.setup-route{grid-template-columns:1fr}.setup-route button{min-height:58px}.public-choice-grid{grid-template-columns:1fr}}
.nav .nav-secondary:hover,.nav .nav-secondary.active{color:#fff}
.group-directory-card{padding:20px}.group-directory-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:18px}.group-directory-toolbar .grow{min-width:280px}.group-year-section+ .group-year-section{margin-top:24px}.group-year-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 2px 9px}.group-year-title strong{font-size:18px;color:#173a63}.group-year-title span{font-size:11px;color:#718096}.group-work-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.group-work-card{border:1px solid #dbe4ee;background:#fff;border-radius:15px;padding:15px;text-align:left;color:#17324f;transition:.14s ease}.group-work-card:hover{border-color:#9dbfe5;background:#f7fbff;box-shadow:0 8px 24px rgba(20,50,84,.07);transform:translateY(-1px)}.group-work-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.group-work-card-top strong{display:block;font-size:20px}.group-work-card-top span{display:block;margin-top:2px;font-size:11px;color:#718096}.group-work-card-top span.warn{color:#b54708}.group-work-card-top b{font-size:18px;color:#386b9f}.group-course-mini{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0 10px}.group-course-mini span{font-size:10px;border-radius:999px;padding:4px 7px;background:#edf4fc;color:#355f8a}.group-work-card>small{color:#718096}
.group-workspace-head{margin-bottom:10px}.group-context-bar{position:sticky;top:0;z-index:34;display:flex;gap:14px;align-items:end;justify-content:space-between;background:rgba(243,246,250,.96);backdrop-filter:blur(8px);padding:10px 0 13px;margin-bottom:12px;border-bottom:1px solid #dde5ee}.group-context-bar>.field{min-width:340px}.group-view-switch,.group-work-switcher{display:flex;gap:5px;flex-wrap:wrap}.group-view-switch button,.group-work-switcher button{border:1px solid #dbe4ee;background:#fff;color:#53677e;border-radius:10px;padding:9px 11px;font-weight:760}.group-view-switch button:hover,.group-work-switcher button:hover{background:#f2f7fc;color:#173a63}.group-view-switch button.active,.group-work-switcher button.active{background:#173a63;color:#fff;border-color:#173a63}.group-course-row{display:block;width:100%;border:1px solid #e0e6ed;background:#fff;border-radius:11px;padding:10px 11px;text-align:left;margin-top:7px}.group-course-row.active{background:#f1f7fd;border-color:#a9c9ea}.group-course-row strong,.group-course-row span{display:block}.group-course-row span{font-size:11px;color:#718096;margin-top:2px}.group-quick-actions{display:flex;gap:8px;margin-top:14px}.context-pill{display:inline-flex;align-items:center;gap:5px;border:1px solid #d8e3ef;background:#f7faff;border-radius:10px;padding:10px 12px;color:#53677e;font-size:12px}.roster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.roster-person{border:1px solid #e0e6ed;border-radius:11px;background:#fff;text-align:left;padding:10px;color:#173a63}.roster-person:hover{background:#f6faff;border-color:#afcae7}
.attendance-workspace{padding:20px}.attendance-title{align-items:flex-start}.attendance-mode-hint{display:flex;align-items:center;gap:7px;border:1px solid #dbe5ef;border-radius:11px;padding:7px 10px;background:#f8fbff;color:#6d7c8f;font-size:11px}.attendance-mode-hint span:first-child{font-weight:850;color:#1769d2}.attendance-mode-hint strong{color:#173a63}.attendance-toolbar{margin-top:14px}.attendance-only-table .sticky-name{min-width:185px}.attendance-person{vertical-align:top}.student-name-two-line{display:inline-grid;gap:1px;line-height:1.13}.student-name-two-line strong{font-size:14px;color:#173a63}.student-name-two-line span{font-size:12px;color:#52677f;font-weight:650}.journal-session-head{display:grid;gap:3px;justify-items:start;min-width:94px}.journal-session-head>strong{font-size:11px;color:#334e68}.journal-session-head>span{font-size:9px;color:#78879a}.mini-action{border:1px solid #cfdcea;background:#fff;color:#2c5d8a;border-radius:7px;padding:4px 6px;font-size:9px;font-weight:800}.mini-action:hover{background:#edf5ff}.mini-action.disabled,.mini-action:disabled{opacity:.4;cursor:not-allowed}.attendance-footer-note{display:flex;gap:9px;align-items:baseline;margin-top:10px;border:1px solid #e1e7ee;border-radius:11px;padding:10px 12px;background:#f9fbfd;font-size:11px;color:#66788d}.attendance-footer-note strong{color:#36516d;white-space:nowrap}.roll-call-modal{width:min(820px,98vw)}.roll-call-list{max-height:55vh;overflow:auto;margin:12px 0;border:1px solid #e0e6ed;border-radius:12px}.roll-call-row{display:grid;grid-template-columns:1fr 210px;gap:12px;align-items:center;padding:9px 11px;border-bottom:1px solid #edf1f5}.roll-call-row:last-child{border-bottom:0}.roll-call-name{display:flex;align-items:center;gap:8px}.roll-call-name .student-name-two-line{pointer-events:none}.roll-call-row select{border:1px solid #ccd8e6;border-radius:9px;padding:8px;background:#fff}.roll-call-actions{display:flex;justify-content:flex-end;gap:8px}
.work-plan-strip{align-items:stretch}.work-plan-chip{position:relative}.work-drag{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:4px;border:0;background:transparent;color:#8a99ab;cursor:grab;font-size:17px}.work-plan-chip.dragging{opacity:.45;transform:scale(.98)}.work-chip-edit{border:0;background:transparent;color:#315f8c;text-align:left;font-weight:800;padding:0}.work-chip-edit:hover{text-decoration:underline}.tracker-head.simplified{border-top:1px solid #edf1f5;margin-top:12px;padding-top:14px}.tracker-scope-note{font-size:11px;color:#66788d;margin-top:7px!important}.coursework-final{margin-top:18px;border-top:2px solid #dce7f3;padding-top:15px}.coursework-final-head{margin-bottom:10px}.coursework-final td{white-space:nowrap}.tracker-matrix .sticky-name{min-width:190px}
.compact-academic-calendar{margin-top:15px;padding:16px 18px}.compact-month-head,.compact-month-week{display:grid;grid-template-columns:58px repeat(7,minmax(0,1fr));gap:5px}.compact-month-head{margin-top:12px}.compact-month-head>span{padding:4px;text-align:center;color:#6c7d91;font-size:10px;font-weight:850}.compact-month-head>span.weekend{color:#b42318}.compact-month-body{display:grid;gap:5px}.compact-week-label{min-height:55px;border:1px solid #dfe7ef;border-radius:10px;background:#f7f9fc;display:grid;place-items:center;align-content:center;gap:0;color:#61738a}.compact-week-label strong{font-size:12px}.compact-week-label span{font-size:10px;font-weight:850}.compact-month-day{position:relative;min-height:55px;border:1px solid #dfe7ef;border-radius:10px;background:#fff;color:#304b68;padding:7px;text-align:left;transition:.12s ease}.compact-month-day>strong{font-size:15px;display:block}.compact-month-day.weekend{background:#fff8f7;color:#a63b31}.compact-month-day.outside{opacity:.38}.compact-month-day.has-sessions{background:#f7fbff;border-color:#cfe0f2}.compact-month-day:hover{border-color:#8fb8e3;box-shadow:0 4px 12px rgba(20,50,84,.06);transform:translateY(-1px)}.compact-month-count{display:block;margin-top:5px;font-size:10px;color:#2c669e;font-weight:800}.compact-month-empty{display:block;margin-top:5px;color:#c0c8d2}.compact-exception-dot{position:absolute;right:7px;top:7px;width:7px;height:7px;border-radius:50%;background:#e5484d}.calendar-nav strong{text-transform:capitalize}
.diploma-tabs button{color:#5d7087!important}.diploma-tabs button:hover:not(:disabled){background:#edf5fd!important;color:#173a63!important}.diploma-tabs button.active,.diploma-tabs button.active:hover{background:#173a63!important;color:#fff!important}.identity-lock-note{font-size:11px;color:#65788e;border:1px solid #dce6f0;background:#f8fbfe;border-radius:10px;padding:9px 11px}
@media(max-width:1100px){.group-work-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-context-bar{align-items:stretch;flex-direction:column}.group-context-bar>.field{min-width:0;width:100%}.compact-month-head,.compact-month-week{grid-template-columns:48px repeat(7,minmax(68px,1fr))}.compact-academic-calendar{overflow-x:auto}.compact-month-head,.compact-month-body{min-width:650px}}
@media(max-width:720px){.mobile-nav{grid-template-columns:repeat(6,1fr)}.mobile-nav button{font-size:10px}.group-work-cards,.roster-grid{grid-template-columns:1fr}.group-directory-toolbar{display:grid}.group-view-switch,.group-work-switcher{width:100%;overflow-x:auto;flex-wrap:nowrap}.group-view-switch button,.group-work-switcher button{white-space:nowrap}.roll-call-row{grid-template-columns:1fr}.attendance-footer-note{display:grid}.student-name-two-line strong{font-size:13px}.student-name-two-line span{font-size:11px}}
.group-work-switcher{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #dce5ef;background:#fff;border-radius:15px;padding:12px 14px;margin-bottom:12px}.group-work-switcher>div:first-child strong,.group-work-switcher>div:first-child span{display:block}.group-work-switcher>div:first-child span{font-size:11px;color:#718096;margin-top:2px}.group-work-mode-buttons{display:flex;gap:5px;flex-wrap:wrap}.group-work-mode-buttons button{border:1px solid #dbe4ee;background:#fff;color:#53677e;border-radius:10px;padding:9px 11px;font-weight:760}.group-work-mode-buttons button:hover{background:#f2f7fc;color:#173a63}.group-work-mode-buttons button.active{background:#173a63;color:#fff;border-color:#173a63}.person-two-line,.student-name-two-line{white-space:normal}.person-two-line strong,.student-name-two-line strong{display:block}.person-two-line span,.student-name-two-line span{display:block}
@media(max-width:900px){.group-work-switcher{align-items:stretch;flex-direction:column}.group-work-mode-buttons{overflow-x:auto;flex-wrap:nowrap}.group-work-mode-buttons button{white-space:nowrap}}

/* r11.2.5 — clearer lesson types and attendance journal */
.session-type-legend{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 3px}.session-type-badge{border:1px solid transparent;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;white-space:nowrap}.session-type-lecture{background:#eaf3ff!important;border-color:#bfd8f7!important;color:#245b98!important}.session-type-practice{background:#eaf8f5!important;border-color:#bfe6dc!important;color:#167264!important}.session-type-lab{background:#fff5e5!important;border-color:#efd8aa!important;color:#966300!important}.session-row.session-type-lecture,.course-session-row.session-type-lecture{box-shadow:inset 4px 0 0 #6fa7e5;background:#f8fbff}.session-row.session-type-practice,.course-session-row.session-type-practice{box-shadow:inset 4px 0 0 #5eb6a5;background:#f8fcfb}.session-row.session-type-lab,.course-session-row.session-type-lab{box-shadow:inset 4px 0 0 #dea84b;background:#fffdf8}.session-row.session-type-lecture,.session-row.session-type-practice,.session-row.session-type-lab{padding-left:10px;border-radius:8px}.course-session-row.session-type-lecture,.course-session-row.session-type-practice,.course-session-row.session-type-lab{padding-left:12px;border-radius:8px}
.attendance-action-guide{display:grid;gap:3px;min-width:175px;border:1px solid #dbe5ef;border-radius:11px;padding:8px 10px;background:#f8fbff;color:#60748b;font-size:10px}.attendance-action-guide strong{color:#173a63;font-size:11px}.attendance-action-guide span{white-space:nowrap}.journal-wrap{max-height:calc(100vh - 290px);min-height:330px;overflow:auto;position:relative;scrollbar-gutter:stable}.journal-wrap .journal-table thead th{position:sticky;top:0;z-index:8}.journal-wrap .journal-table thead .sticky-name{left:0;z-index:12}.journal-wrap .journal-table tbody .sticky-name{position:sticky;left:0;z-index:5;background:#fff;box-shadow:8px 0 12px -14px rgba(19,58,99,.75)}.journal-wrap .journal-table tbody tr:nth-child(even) .sticky-name{background:#fcfdff}.journal-session-col.session-type-lecture{box-shadow:inset 0 4px 0 #6fa7e5}.journal-session-col.session-type-practice{box-shadow:inset 0 4px 0 #5eb6a5}.journal-session-col.session-type-lab{box-shadow:inset 0 4px 0 #dea84b}.journal-person-name{display:grid;gap:2px;line-height:1.08;white-space:normal}.journal-person-name strong{font-size:14px;color:#173a63;font-weight:850}.journal-person-name span{font-size:11px;color:#718096;font-weight:650}.journal-session-head{min-width:106px}.journal-session-head .mini-action{white-space:nowrap}.student-message-history{display:grid;gap:7px;margin-top:10px}.student-message-row{display:flex;justify-content:space-between;gap:10px;border:1px solid #e0e8f1;border-radius:11px;padding:10px 11px;background:#fbfdff}.student-message-row strong,.student-message-row small{display:block}.student-message-row small{margin-top:2px;color:#718096;font-size:11px}.student-message-row p{margin:7px 0 0;color:#405872;font-size:12px;white-space:pre-wrap}.student-message-row .badge{align-self:flex-start}.student-drawer-section+.student-drawer-section{margin-top:18px;padding-top:16px;border-top:1px solid #e7edf3}.student-drawer-section h3{margin:0 0 4px}
@media(max-width:720px){.attendance-title{display:grid}.attendance-action-guide{width:100%}.journal-wrap{max-height:62vh;min-height:300px}.student-message-row{display:grid}.student-message-row .badge{justify-self:start}.session-type-legend{margin-bottom:8px}}

/* r11.2 — mobile/student + diploma + home polish */
.home-week-primary{padding:22px}.home-week-primary .day{min-height:104px}.home-week-primary .week-session{font-size:11px}.home-status-card{min-height:150px}.home-courses-card{align-self:start}
.compact-academic-calendar{margin-top:0!important;align-self:start;padding:14px!important}.compact-academic-calendar .calendar-title-row{align-items:flex-start}.compact-academic-calendar .calendar-title-row h2{font-size:18px}.compact-academic-calendar .calendar-nav{display:grid;grid-template-columns:30px 1fr 30px;align-items:center;gap:4px;min-width:0}.compact-academic-calendar .calendar-nav .icon-btn{width:30px;height:30px}.compact-academic-calendar .calendar-nav strong{font-size:11px;text-align:center;white-space:nowrap}.compact-academic-calendar .compact-month-head,.compact-academic-calendar .compact-month-week{grid-template-columns:34px repeat(7,minmax(0,1fr));gap:3px}.compact-academic-calendar .compact-week-label{min-height:42px;border-radius:8px}.compact-academic-calendar .compact-week-label strong{font-size:9px}.compact-academic-calendar .compact-week-label span{font-size:8px}.compact-academic-calendar .compact-month-day{min-height:42px;padding:5px;border-radius:8px}.compact-academic-calendar .compact-month-day>strong{font-size:12px}.compact-academic-calendar .compact-month-count{font-size:8px;margin-top:3px}.compact-academic-calendar .compact-month-head>span{font-size:8px;padding:3px}.compact-calendar-hint{margin-top:8px!important}
.student-coursework,.student-tracker-summary{margin-top:16px}.student-coursework-items{display:grid;gap:6px;margin-top:9px}.student-coursework-row{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:10px 11px;background:#fff}.student-coursework-row>span{font-size:11px;font-weight:800;color:#5d7088}.student-coursework-row.status-accepted{background:#f3fbf7;border-color:#ccebdd}.student-coursework-row.status-remarks,.student-coursework-row.status-revision{background:#fffaf0;border-color:#f0dfba}.student-coursework-final{margin-top:9px}.student-coursework-compact{display:flex;justify-content:space-between;gap:12px;margin-top:12px;border-top:1px solid #e8eef4;padding-top:11px;font-size:12px}.student-coursework-compact span{color:var(--muted)}.student-tracker-summary{display:grid;gap:3px;border:1px solid var(--line);border-radius:11px;padding:10px 11px}.student-tracker-summary>span,.student-tracker-summary>small{color:var(--muted);font-size:11px}
.manual-applicant-help{margin-top:8px}.manual-applicant-help .btn{background:transparent;border-color:transparent;padding-left:0;color:#4f6d8d}.public-verify-field small{line-height:1.45}.student-add-panel{position:sticky;top:10px;z-index:2;border-color:#b8d2ee;background:#f8fbff}
@media(max-width:1050px){.home-week-primary,.home-status-card,.home-courses-card,.compact-academic-calendar{grid-column:span 12}.compact-academic-calendar .compact-month-head,.compact-academic-calendar .compact-month-body{min-width:0}.compact-academic-calendar{overflow:visible}.compact-academic-calendar .compact-month-head,.compact-academic-calendar .compact-month-week{grid-template-columns:34px repeat(7,minmax(38px,1fr))}}
@media(max-width:720px){.student-top>div:last-child{display:flex;align-items:center;gap:6px;max-width:58%;text-align:right}.student-top #studentName{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-logout{margin-left:4px}.student-nav{gap:5px}.student-nav button{padding:9px 13px}.student-coursework-row{align-items:flex-start}.student-coursework-row>span{max-width:42%;text-align:right}.student-coursework-compact{display:grid}.student-add-panel{position:static}.compact-academic-calendar .compact-month-head,.compact-academic-calendar .compact-month-week{grid-template-columns:30px repeat(7,minmax(34px,1fr))}.compact-academic-calendar .compact-month-day{min-height:38px}}

/* r11.2 final consolidation — global rewards + safe maintenance */
.reward-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.reward-hub-course{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff}.reward-hub-course h3{margin:4px 0 3px}.reward-hub-campaigns{display:grid;gap:7px;margin:12px 0}.reward-hub-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:#f6f9fc}.reward-hub-row small{display:block;color:var(--muted);margin-top:3px}.maintenance-session-list{display:grid;gap:7px;margin:10px 0 14px}.maintenance-session-row{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}.maintenance-session-row span{display:grid;gap:3px}.maintenance-session-row small{color:var(--muted)}.future-attendance-note{margin:8px 0 10px}.future-attendance-note p{margin:4px 0 0}.system-maintenance-tools .system-foot-actions{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:900px){.reward-hub-grid{grid-template-columns:1fr}}


/* r11.2.1 — production QA bugfix: readable home + direct controls */
.home-week-primary .weekbar{align-items:stretch}
.home-week-primary .day{min-height:112px;padding:10px 9px;gap:4px}
.home-week-primary .day.week-day-empty{min-height:84px;background:#fafbfd;border-color:#edf1f5;color:#8a98a9}
.home-week-primary .day.week-day-empty.weekend{background:#fffafa}
.home-week-primary .week-session{display:grid;gap:2px;padding:8px 7px;font-size:inherit;white-space:normal}
.home-week-primary .week-session.session-type-lecture{background:#e3f0ff!important;border:1px solid #9bc4f2;box-shadow:inset 4px 0 0 #397fca}.home-week-primary .week-session.session-type-practice{background:#def7ef!important;border:1px solid #94d8c6;box-shadow:inset 4px 0 0 #218b78}.home-week-primary .week-session.session-type-lab{background:#fff0cf!important;border:1px solid #ecc87e;box-shadow:inset 4px 0 0 #b97810}.home-week-primary .week-session.session-type-lecture .week-session-main,.home-week-primary .week-session.session-type-lecture .week-session-course{color:#173f70}.home-week-primary .week-session.session-type-practice .week-session-main,.home-week-primary .week-session.session-type-practice .week-session-course{color:#116858}.home-week-primary .week-session.session-type-lab .week-session-main,.home-week-primary .week-session.session-type-lab .week-session-course{color:#775000}.home-week-primary .week-session.session-type-lecture .week-session-meta{color:#3d6f9e}.home-week-primary .week-session.session-type-practice .week-session-meta{color:#3b887a}.home-week-primary .week-session.session-type-lab .week-session-meta{color:#926a1f}
.home-week-primary .week-session-main{font-size:13px;line-height:1.18;font-weight:850;color:#183b62;white-space:nowrap}
.home-week-primary .week-session-main .week-group-link{font-size:inherit;font-weight:inherit}
.home-week-primary .week-session-course{font-size:12px;line-height:1.25;font-weight:760;color:#223c59;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.home-week-primary .week-session-meta{font-size:10.5px;line-height:1.2;color:#6c7e92;font-weight:650}
.compact-academic-calendar .compact-month-day>strong{font-size:13px}
.compact-month-groups{display:grid;gap:1px;margin-top:3px;min-width:0}
.compact-month-groups>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8.5px;line-height:1.16;font-weight:850;color:#2c669e}
.compact-month-more{display:block;margin-top:1px;font-size:8px;line-height:1;color:#60758d;font-weight:850}
.reward-hub-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.reward-hub-row .grow{min-width:0}.diploma-year-danger{margin-top:18px;padding-top:14px;border-top:1px solid #f0d3d3}.diploma-year-danger>strong{display:block;margin-bottom:4px}
@media(max-width:720px){.home-week-primary .day{min-height:100px}.home-week-primary .day.week-day-empty{min-height:72px}.home-week-primary .week-session-main{font-size:12px}.home-week-primary .week-session-course{font-size:11.5px}.compact-month-groups>span{font-size:8px}.reward-hub-row{align-items:flex-start}.reward-hub-row-actions{justify-content:flex-start}}
.home-week-primary .week-session-main>span{display:inline!important;font-size:inherit!important;white-space:nowrap!important;overflow:visible!important;margin:0!important}

/* r11.2.2 — reliability + actionable attention + reward history */
.attention-action{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 10px;text-align:left;border:1px solid var(--line);border-radius:11px;background:#fff;padding:10px 11px;margin-top:7px;color:var(--text);cursor:pointer}
.attention-action strong{min-width:0;font-size:12px;line-height:1.25}.attention-action>small{grid-column:1/-1;color:var(--muted);font-size:10.5px;line-height:1.35}.attention-action>span{grid-column:2;grid-row:1;color:#315f8d;font-size:10px;font-weight:850;white-space:nowrap}.attention-action.attention-session{border-color:#c8dcee;background:#f8fbff}
.attention-session-list{display:grid;gap:8px;margin-top:12px}.attention-session-choice{display:grid;gap:4px;width:100%;text-align:left;border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px;cursor:pointer;color:var(--text)}.attention-session-choice:hover{background:#f6f9fc;border-color:#aac5e1}.attention-session-choice strong{font-size:13px}.attention-session-choice span{font-size:11px;line-height:1.35;color:var(--muted)}
.diploma-delete-rule{display:grid;gap:3px;margin-top:9px}.diploma-delete-rule span{font-size:11px;line-height:1.4}
.reward-history-card{display:grid;gap:14px}.reward-history-course-tabs{display:flex;gap:6px;flex-wrap:wrap}.reward-history-course-tabs button{border:1px solid #dbe4ee;background:#fff;color:#53677e;border-radius:10px;padding:8px 11px;font-weight:800;cursor:pointer}.reward-history-course-tabs button.active{background:#173a63;border-color:#173a63;color:#fff}.reward-history-head{display:flex;align-items:center;justify-content:space-between;border:1px solid #dce6f0;background:#f8fbfe;border-radius:12px;padding:11px 13px}.reward-history-head strong,.reward-history-head span{display:block}.reward-history-head strong{font-size:14px}.reward-history-head span{margin-top:3px;font-size:11px;color:var(--muted)}.reward-history-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.reward-history-table td>small{display:block;max-width:520px;margin-top:4px;color:var(--muted);font-size:10px;line-height:1.35}.reward-history-table td{vertical-align:top}
@media(max-width:1000px){.reward-history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.attention-action{grid-template-columns:1fr}.attention-action>span{grid-column:1;grid-row:auto;margin-top:3px}.reward-history-filters{grid-template-columns:1fr}.reward-history-course-tabs{overflow-x:auto;flex-wrap:nowrap}.reward-history-course-tabs button{white-space:nowrap}}

/* r11.2.5 draft — plain-language RPD and room correction flows */
.room-override-modal,.rpd-plan-modal{width:min(820px,98vw)}.room-course-context{display:grid;gap:3px;margin:14px 0;border:1px solid #cfe0f2;border-radius:13px;padding:11px 13px;background:#f5faff}.room-course-context strong{font-size:11px;color:#52708f;text-transform:uppercase;letter-spacing:.06em}.room-course-context span{font-weight:800;color:#183b62}.room-change-step{display:flex;gap:10px;align-items:flex-start;margin:18px 0 10px}.room-step-number{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:50%;background:#173a63;color:#fff;font-size:13px;font-weight:850}.room-change-step h3{margin:1px 0 3px;font-size:15px}.room-change-step p{margin:0}.room-preview{margin:10px 0 13px;border:1px dashed #c9d7e6;border-radius:13px;padding:12px;background:#f8fbff;color:#586d84;font-size:12px;line-height:1.45}.room-preview>strong{display:block;color:#183b62;margin-bottom:7px}.room-preview-list{display:grid;gap:6px;margin:0;padding-left:18px}.room-preview-list li{padding-left:2px}.room-preview-list li span{display:block;color:#718399;margin-top:1px}.room-safety-note{margin:11px 0 0}.rpd-purpose{margin:14px 0}.rpd-semester-picker{margin:15px 0;border-top:1px solid #e1e8f0;border-bottom:1px solid #e1e8f0;padding:13px 0}.rpd-semester-picker>strong{font-size:14px}.rpd-semester-picker>p{margin:4px 0 9px}.rpd-semester-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.rpd-semester-option{display:grid;gap:3px;text-align:left;border:1px solid #cfddea;border-radius:12px;background:#fff;color:#29415e;padding:11px;cursor:pointer}.rpd-semester-option:hover{border-color:#8fb9e6;background:#f7fbff}.rpd-semester-option.active{border-color:#1769d2;background:#edf6ff;box-shadow:0 0 0 2px #dceeff}.rpd-semester-option b{font-size:14px}.rpd-semester-option span{font-size:11px;color:#62758a}.rpd-save-note{margin:12px 0!important}@media(max-width:720px){.rpd-semester-options{grid-template-columns:1fr}.room-override-modal,.rpd-plan-modal{padding:17px}.room-change-step{margin-top:15px}}

/* ===== LINEA Beta 6 r2 workflow polish ===== */
.home-today-anchor{display:inline-grid;grid-template-columns:auto auto;grid-template-areas:"tag date" "tag meta";column-gap:11px;align-items:center;margin:-4px 0 14px;padding:10px 14px;border:1px solid #b9d2ec;border-radius:14px;background:linear-gradient(135deg,#edf6ff,#fff);box-shadow:0 4px 15px rgba(27,92,156,.05)}
.home-today-anchor>span{grid-area:tag;align-self:stretch;display:grid;place-items:center;padding:0 9px;border-radius:9px;background:#173a63;color:#fff;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.home-today-anchor>strong{grid-area:date;font-size:20px;line-height:1.05;color:#102943}.home-today-anchor>small{grid-area:meta;color:#60738a;font-weight:700;text-transform:capitalize}.today-marker{display:inline-flex;margin-bottom:5px;padding:2px 6px;border-radius:999px;background:#173a63;color:#fff;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.day.today{border:2px solid #6ba6e1;background:#edf6ff;box-shadow:0 0 0 3px rgba(44,115,190,.06)}.compact-month-day.today{border:2px solid #347fc6!important;background:#eaf4ff!important;box-shadow:inset 0 0 0 2px rgba(52,127,198,.08)}.compact-month-day.today>strong{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#173a63;color:#fff;margin:-2px 0 2px}
.active-session-chip{margin-left:auto;border:1px solid #b9d2ec;background:#edf6ff;color:#173a63;border-radius:12px;padding:7px 11px;text-align:left;line-height:1.1;box-shadow:0 3px 12px rgba(20,50,84,.05)}.active-session-chip strong,.active-session-chip span{display:block}.active-session-chip strong{font-size:12px}.active-session-chip span{font-size:10px;margin-top:3px;color:#526b85}.active-session-chip:hover{background:#e2f0ff;border-color:#8eb9e2}
.session-section{margin-top:4px}.session-section-title,.session-past>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-radius:11px;background:#f5f8fb;color:#28435f}.session-section-title span,.session-past>summary span{display:grid;place-items:center;min-width:27px;height:23px;border-radius:999px;background:#e5edf6;font-size:10px;font-weight:850}.session-past{margin-top:12px;border-top:1px solid #e3eaf2;padding-top:10px}.session-past>summary{cursor:pointer;list-style:none}.session-past>summary::-webkit-details-marker{display:none}.session-past>summary:before{content:'›';font-size:18px;transform:rotate(0deg);transition:.15s}.session-past[open]>summary:before{transform:rotate(90deg)}.session-past>summary strong{margin-right:auto}.session-row [data-session-edit]{white-space:nowrap}
.stream-builder{margin-top:12px}.stream-compact-card{margin-top:10px}.stream-group-pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.stream-group-pills span{padding:5px 8px;border:1px solid #dce5ef;border-radius:999px;background:#f6f9fc;color:#425c76;font-size:11px;font-weight:750}.stream-free-groups{margin-top:12px}.service-note.attention{border-color:#e4c36f;background:#fffaf0}
.current-control-matrix th{text-align:center;vertical-align:top}.control-head{display:grid;gap:4px;justify-items:center}.control-head strong{white-space:normal}.mini-action{border:0;background:transparent;color:#316b9e;font-size:9px;font-weight:800;padding:2px 4px}.current-control-matrix .control-wide{min-width:120px}
.analytics-page{display:grid;gap:12px}.analytics-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.analytics-plan-grid,.analytics-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px}.analytics-plan-card,.analytics-module-card{border:1px solid #dfe7ef;border-radius:12px;padding:11px;background:#fafcfe}.analytics-plan-card strong,.analytics-plan-card b,.analytics-plan-card span,.analytics-module-card strong,.analytics-module-card span{display:block}.analytics-plan-card b{font-size:21px;margin:5px 0;color:#173a63}.analytics-plan-card span,.analytics-module-card span{font-size:10px;color:#6f8093}.analytics-module-score{display:flex;gap:7px;align-items:baseline;margin-top:8px}.analytics-module-score strong{font-size:24px;color:#173a63}.attendance-visuals{display:flex;align-items:center;gap:22px;margin:15px 0}.attendance-donut{--p:0;--a:0;--e:0;width:132px;height:132px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#37a66f 0 calc(var(--p)*1%),#d95b57 calc(var(--p)*1%) calc((var(--p) + var(--a))*1%),#e8ae42 calc((var(--p) + var(--a))*1%) calc((var(--p) + var(--a) + var(--e))*1%),#7db8db calc((var(--p) + var(--a) + var(--e))*1%) 100%);position:relative}.attendance-donut:after{content:'';position:absolute;inset:18px;border-radius:50%;background:#fff}.attendance-donut span{position:relative;z-index:1;font-size:20px;font-weight:900;color:#173a63}.attendance-legend-r2{display:grid;gap:7px;font-size:12px;font-weight:750}.attendance-legend-r2 span:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px}.attendance-legend-r2 .present:before{background:#37a66f}.attendance-legend-r2 .absent:before{background:#d95b57}.attendance-legend-r2 .excused:before{background:#e8ae42}.attendance-legend-r2 .notified:before{background:#7db8db}.analytics-absent{color:#a82922;font-weight:850}
.coursework-final table th{text-align:center}.coursework-final table th:first-child{text-align:left}.readiness-cell{display:grid;gap:2px;min-width:92px}.readiness-cell strong{font-size:12px}.readiness-cell small{font-size:9px;color:#7c8897}.readiness-cell.ready strong{color:#087a55}.coursework-auto-summary{min-width:245px;white-space:normal;border-radius:9px;padding:8px 9px;font-size:10px;font-weight:720;line-height:1.35}.coursework-auto-summary.ok{background:#ecf9f2;color:#087a55}.coursework-auto-summary.warn{background:#fff7e3;color:#8a6000}.coursework-auto-summary.danger{background:#fff0ee;color:#a72c24}.defense-history{display:grid;gap:6px;margin:12px 0}.defense-history>div{display:flex;justify-content:space-between;gap:12px;border:1px solid #e1e8ef;border-radius:10px;padding:8px 10px}.defense-history span{color:#6e7e90;font-size:11px}.tracker-matrix th{text-align:center}.tracker-matrix th .tracker-col-code,.tracker-matrix th .tracker-col-title{width:100%;text-align:center}.tracker-matrix th:first-child{text-align:left}
.delete-course-status{border:1px solid #dde6ef;border-radius:13px;padding:13px;margin:14px 0}.delete-course-status.safe{background:#f3fbf7;border-color:#bee4d1}.delete-course-status.blocked{background:#fff6f2;border-color:#f0c5bb}.delete-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:11px 0}.delete-kpis span{display:grid;gap:1px;padding:8px;border:1px solid rgba(90,110,130,.14);border-radius:9px;background:rgba(255,255,255,.65);font-size:9px;color:#718096}.delete-kpis b{font-size:18px;color:#173a63}
@media(max-width:900px){.active-session-chip{margin-left:0}.analytics-plan-grid,.analytics-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-visuals{align-items:flex-start}.delete-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.home-today-anchor{display:grid}}
/* ===== LINEA Beta 6 r2 workflow polish end ===== */

/* ===== LINEA Beta 6 r3 visual system ===== */
/* Sidebar: one palette, explicit active state, no accidental special colour for Students. */
.nav button,.nav .nav-secondary{position:relative;color:#d7e4f0!important;transition:background .14s ease,color .14s ease,box-shadow .14s ease,transform .14s ease}
.nav button:hover,.nav .nav-secondary:hover{background:rgba(71,143,214,.14)!important;color:#fff!important}
.nav button.active,.nav .nav-secondary.active{background:linear-gradient(90deg,rgba(51,127,204,.26),rgba(255,255,255,.09))!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(112,177,236,.2),0 6px 20px rgba(5,20,38,.08)}
.nav button.active::before,.nav .nav-secondary.active::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:#65b4ff;box-shadow:0 0 12px rgba(88,173,255,.72)}
.nav-section{color:#8fa9c4!important}.side-foot{color:#d7e4f0}.side-role{color:#9db2c8}.side-system,.logout{color:#b7c8da!important}

/* Home: one stretched today anchor, with week/parity as one coherent line. */
.home-today-anchor-r3{display:flex!important;align-items:stretch;width:min(700px,100%);margin:4px 0 16px!important;padding:0!important;border:1px solid #bad5ef!important;border-radius:14px!important;background:linear-gradient(135deg,#edf6ff 0%,#f9fcff 68%,#fff 100%)!important;box-shadow:0 5px 18px rgba(38,105,174,.08)!important;overflow:hidden}
.home-today-anchor-r3 .today-chip{display:flex!important;align-items:center;justify-content:center;min-width:94px;padding:12px 15px!important;border-radius:0!important;background:#173a63!important;color:#fff!important;font-size:10px!important;font-weight:900!important;letter-spacing:.09em;text-transform:uppercase}
.home-today-anchor-r3 .today-main{display:grid;gap:3px;align-content:center;padding:10px 16px;min-width:0}
.home-today-anchor-r3 .today-main strong{font-size:19px;line-height:1.05;color:#102943;text-transform:none}.home-today-anchor-r3 .today-main small{font-size:12px;color:#5c7189;font-weight:760;text-transform:capitalize}
/* Today should read as the primary day card, not merely a badge. */
.home-week-primary .day.today,.weekbar .day.today{border-color:#5aa7ea!important;background:linear-gradient(180deg,#f1f8ff,#fff)!important;box-shadow:0 0 0 2px rgba(67,151,224,.17),0 0 22px 5px rgba(62,161,239,.22),0 9px 24px rgba(25,94,151,.10)!important}
.compact-month-day.today{border-color:#68a9df!important;background:#eef7ff!important;box-shadow:0 0 0 1px rgba(64,145,214,.18),0 0 11px rgba(62,154,228,.14)!important}

/* Names in working group screens: patronymic/name is the teaching anchor. */
.student-name-two-line{display:inline-grid!important;gap:1px!important;line-height:1.14!important;vertical-align:middle}
.student-name-two-line .student-surname,.student-name-two-line>span.student-surname{font-size:11.5px!important;color:#6b7d91!important;font-weight:650!important;letter-spacing:0!important}
.student-name-two-line .student-given,.student-name-two-line>strong.student-given{font-size:14px!important;color:#173a63!important;font-weight:850!important}
.numbered-student-cell{display:grid;grid-template-columns:28px minmax(145px,1fr) auto;gap:8px;align-items:center;min-width:210px}.row-number{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#f0f4f8;color:#687b90;font-size:10px;font-weight:850;flex:0 0 auto}

/* Group module selection and settings. */
.activity-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}.activity-choice{display:flex;gap:9px;align-items:flex-start;border:1px solid #dce6ef;border-radius:12px;padding:11px;background:#fff}.activity-choice input{margin-top:2px}.activity-choice span{display:grid;gap:3px}.activity-choice small{color:#718096;font-size:10px;line-height:1.3}.group-settings-list{display:grid;gap:9px;margin-top:14px}.group-settings-row{display:flex;align-items:center;gap:12px;border:1px solid #e0e7ef;border-radius:12px;padding:12px 13px}.group-settings-row small{display:block;margin-top:2px;color:#718096}.tags.compact{margin-top:6px}.tags.compact span{border-radius:999px;background:#eef4fb;color:#45657f;padding:4px 7px;font-size:9px;font-weight:750}

/* Current control: header and data cells share one exact grid. */
.r3-current-control-table{table-layout:fixed}.r3-current-control-table th,.r3-current-control-table td{text-align:center;vertical-align:middle}.r3-current-control-table th:first-child,.r3-current-control-table td:first-child{text-align:left;width:270px;min-width:270px;position:sticky;left:0;z-index:3;background:#fff}.r3-current-control-table thead th:first-child{background:#f8fafc;z-index:5}.r3-current-control-table th:not(:first-child),.r3-current-control-table td:not(:first-child){width:160px;min-width:160px}.r3-current-control-table input,.r3-current-control-table select{width:118px;max-width:100%;margin-inline:auto;text-align:center}.current-control-head{display:grid;justify-items:center;gap:5px}.current-control-head strong{text-align:center}.current-control-head .quick-actions{justify-content:center;margin:0}

/* Tracker editor and headers. */
.tracker-item-editor{table-layout:fixed}.tracker-item-editor th{text-align:center}.tracker-item-editor th:nth-child(1){width:50px}.tracker-item-editor th:nth-child(4){width:126px}.tracker-item-editor td:first-child{text-align:center}.tracker-item-editor input{width:100%;border:1px solid #d3deea;border-radius:8px;padding:7px 8px}.mini-stack{display:flex;gap:4px;justify-content:center;flex-wrap:wrap}

/* Course project finalization: balanced six-column grid and compact status. */
.r3-coursework-final table{table-layout:fixed;min-width:1040px}.r3-coursework-final col.c-student{width:25%}.r3-coursework-final col.c-ready{width:11%}.r3-coursework-final col.c-defense{width:17%}.r3-coursework-final col.c-portfolio{width:13%}.r3-coursework-final col.c-summary{width:24%}.r3-coursework-final col.c-gradebook{width:10%}.r3-coursework-final th{text-align:center!important;vertical-align:middle}.r3-coursework-final th:first-child{text-align:left!important}.r3-coursework-final td{text-align:center;white-space:normal!important;vertical-align:middle}.r3-coursework-final td:first-child{text-align:left}.r3-coursework-final .readiness-cell{justify-items:center;min-width:0}.r3-coursework-final .coursework-final-cell{display:grid;place-items:center;gap:2px;width:100%;min-height:48px;border:1px solid #dce5ee;border-radius:10px;background:#fff;color:#35516d;padding:7px 8px;font-size:10px;font-weight:800}.r3-coursework-final .coursework-final-cell:hover:not(:disabled){border-color:#8fb8df;background:#f5faff}.r3-coursework-final .coursework-final-cell.eligible{border-color:#add9c4;background:#f2fbf6;color:#087a55}.r3-coursework-final .coursework-final-cell small{display:block;color:#7a8998;font-size:8px}.r3-coursework-final .coursework-auto-summary{display:inline-block;min-width:0!important;max-width:100%;padding:7px 9px!important;text-align:left;font-size:9.5px!important;line-height:1.35!important}
.r3-context-menu{z-index:280;min-width:210px;padding:7px;display:grid;gap:4px}.r3-context-menu button{width:100%;border:0;border-radius:8px;background:#fff;padding:8px 9px;text-align:left;color:#294b6c;font-size:11px;font-weight:720}.r3-context-menu button:hover{background:#edf5ff}.r3-context-menu button.danger{color:#a72c24;background:#fff8f7}

/* Templates / work programs / rollover. */
.template-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}.template-card{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border:1px solid #dfe7ef;border-radius:13px;padding:13px;background:#fff}.template-card>div:first-child{min-width:0}.work-program-list{display:grid;gap:10px;margin-top:15px}.work-program-row{display:flex;gap:14px;align-items:center;border:1px solid #dfe7ef;border-radius:13px;padding:13px}.work-program-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}

/* Reward wizard: progressively disclosed, not a technical wall. */
.reward-wizard-r3{width:min(860px,98vw)}.reward-wizard-section{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:15px 0;border-top:1px solid #edf1f5}.reward-wizard-section:first-of-type{margin-top:10px}.reward-wizard-section .step-no{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#e9f3ff;color:#1769d2;font-weight:900}.reward-wizard-section h3{margin:2px 0 12px}.reward-rule-checks{display:grid;gap:8px;margin-top:10px}.advanced-settings{margin-top:12px;border:1px solid #dfe7ef;border-radius:10px;padding:9px 11px}.advanced-settings summary{cursor:pointer;font-weight:780;color:#4e657d}.advanced-settings .field{margin-top:10px}.reward-save{margin-top:12px}.service-note.warn{border-color:#ebc77e;background:#fff9e9}.badge.amber{background:#fff5d8;color:#8f6200}

/* Analytics: metrics must breathe instead of concatenating. */
.analytics-group-card,.analytics-student-row{line-height:1.35}.analytics-group-card .small,.analytics-student-row .small{line-height:1.45}.analytics-lesson-lines{display:grid;gap:7px}.analytics-lesson-line{display:grid;gap:2px;padding:5px 0;border-bottom:1px solid #edf1f5}.analytics-lesson-line:last-child{border-bottom:0}.analytics-lesson-line strong{font-size:11px}.analytics-lesson-line small{display:block;color:#718096}.analytics-table td{vertical-align:top}.analytics-table .student-name-two-line{min-width:150px}

/* Student check-in feedback history. */
.feedback-history-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:9px;align-items:start;padding:9px 0;border-bottom:1px solid #edf1f5}.feedback-history-row:last-child{border-bottom:0}.feedback-history-emoji{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#f2f6fa;font-size:18px}.feedback-history-row small{display:block;color:#758399;margin-bottom:2px}.feedback-history-row p{margin:0;line-height:1.4}

@media(max-width:900px){.activity-choice-grid,.template-card-grid{grid-template-columns:1fr}.home-today-anchor-r3{width:100%}.work-program-row{align-items:flex-start;flex-direction:column}.work-program-actions{justify-content:flex-start}.r3-current-control-table th:first-child,.r3-current-control-table td:first-child{width:220px;min-width:220px}}
@media(max-width:620px){.home-today-anchor-r3 .today-chip{min-width:74px;padding-inline:10px!important}.home-today-anchor-r3 .today-main strong{font-size:16px}.home-today-anchor-r3 .today-main small{font-size:10px}.reward-wizard-section{grid-template-columns:1fr}.reward-wizard-section .step-no{display:none}}
/* ===== LINEA Beta 6 r3 visual system end ===== */


/* r3 final alignment: exact grid used by the live current-control markup. */
.r3-control-matrix{table-layout:fixed;min-width:760px}.r3-control-matrix th,.r3-control-matrix td{vertical-align:middle}.r3-control-matrix .row-no-head,.r3-control-matrix .row-no{width:46px;min-width:46px;text-align:center!important}.r3-control-matrix th.sticky-name,.r3-control-matrix td.sticky-name{width:260px;min-width:260px;text-align:left!important}.r3-control-matrix th:not(.row-no-head):not(.sticky-name),.r3-control-matrix td:not(.row-no):not(.sticky-name){width:170px;min-width:170px;text-align:center!important}.r3-control-matrix .control-head{display:grid;justify-items:center;gap:6px}.r3-control-matrix .control-head>strong{text-align:center;line-height:1.2}.r3-control-matrix .control-head-actions{display:flex;justify-content:center;gap:5px;flex-wrap:wrap}.r3-control-matrix .control-wide{display:block;width:122px;max-width:100%;margin-inline:auto;text-align:center}

/* RPD reconciliation preview. */
.rpd-check-grid{display:grid;gap:10px;margin:14px 0}.rpd-check-card{border:1px solid #dfe7ef;border-radius:13px;padding:12px;background:#fff}.rpd-check-card> .split small{display:block;margin-top:2px;color:#718096}.rpd-check-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.rpd-check-kpis>span{display:grid;gap:2px;justify-items:center;padding:8px;border-radius:10px;background:#f5f8fb;text-align:center}.rpd-check-kpis b{font-size:13px;color:#173a63}.rpd-check-kpis small{font-size:9px;color:#718096}.rpd-excess-list{display:grid;gap:6px;margin-top:10px;padding-top:9px;border-top:1px solid #edf1f5}.rpd-excess-row{display:flex;gap:8px;align-items:flex-start;padding:7px 8px;border:1px solid #e3eaf1;border-radius:9px;background:#fbfdff}.rpd-excess-row span{display:grid;gap:2px}.rpd-excess-row small{color:#718096}

/* Slightly stronger but still calm current-day halo. */
.home-week-primary .day.today,.weekbar .day.today{box-shadow:0 0 0 2px rgba(67,151,224,.22),0 0 30px 8px rgba(62,161,239,.30),0 10px 26px rgba(25,94,151,.12)!important}
\n\n/* ===== LINEA Beta 6 r3.1 hotfix ===== */
/* In teaching tables the name + patronymic is the primary visual anchor. */
.student-name-two-line,.session-person-name,.journal-person-name,.person-two-line{line-height:1.12!important}
.student-name-two-line .student-surname,.session-person-name .student-surname,.journal-person-name .student-surname,.person-two-line .student-surname{display:block!important;font-size:10.5px!important;line-height:1.1!important;font-weight:560!important;color:#718096!important;letter-spacing:0!important;text-transform:none!important}
.student-name-two-line .student-given,.session-person-name .student-given,.journal-person-name .student-given,.person-two-line .student-given{display:block!important;margin-top:2px!important;font-size:14.5px!important;line-height:1.13!important;font-weight:900!important;color:#102a4c!important;letter-spacing:-.01em!important}
/* Upper date block: date on the left, I/II week as a separate fast-scanning signal. */
.home-today-anchor-r3{width:min(780px,100%)!important;display:grid!important;grid-template-columns:auto minmax(230px,1fr) minmax(160px,.48fr)!important;align-items:stretch!important}
.home-today-anchor-r3 .today-main{display:grid!important;align-content:center!important;padding:10px 16px!important}
.home-today-anchor-r3 .today-main small{text-transform:capitalize!important}
.home-today-anchor-r3 .today-week{display:grid;align-content:center;justify-items:center;gap:2px;padding:9px 16px;border-left:1px solid rgba(72,116,157,.18)}
.home-today-anchor-r3 .today-week strong{font-size:15px;line-height:1;font-weight:950;letter-spacing:.045em;white-space:nowrap}
.home-today-anchor-r3 .today-week small{font-size:9.5px;font-weight:780;white-space:nowrap}
.home-today-anchor-r3 .today-week.week-i{background:#eaf4ff;color:#145da0}
.home-today-anchor-r3 .today-week.week-ii{background:#eaf8f7;color:#176c70}
/* The outline already identifies the current weekday; do not repeat the word Today inside the week grid. */
.home-week-primary .today-marker{display:none!important}
@media(max-width:720px){.home-today-anchor-r3{grid-template-columns:auto 1fr!important}.home-today-anchor-r3 .today-week{grid-column:1/-1;border-left:0;border-top:1px solid rgba(72,116,157,.18);grid-template-columns:auto auto;justify-content:center;gap:10px}.home-today-anchor-r3 .today-week small{align-self:center}}
/* ===== LINEA Beta 6 r3.1 hotfix end ===== */


/* ===== LINEA Beta 6 r3.2 fix pack ===== */
.tracker-col-title-only{display:block;font-weight:800;line-height:1.14;font-size:12px;text-align:center;max-width:150px;margin:0 auto}
#systemStaffAccess .system-role-divider{height:1px;background:var(--line,#d8e2ee);margin:18px 0}
#systemStaffAccess .quick-actions{align-items:center;flex-wrap:wrap}
#systemStaffAccess .role-template-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}
.attendance-person .journal-person-name .student-surname{font-weight:560!important;color:#718096!important;font-size:10.5px!important;line-height:1.1!important}
.attendance-person .journal-person-name .student-given{font-weight:900!important;color:#102a4c!important;font-size:14.5px!important;line-height:1.13!important}
/* ===== LINEA Beta 6 r3.2 fix pack end ===== */


/* ===== LINEA Beta 6 r3.3 ===== */
/* Every real navigation item uses one typography token; section headers stay secondary. */
.nav button,.nav .nav-secondary{font-size:15px!important;font-weight:720!important;line-height:1.15!important}
/* Home decorative railway illustration. The asset is local (~300 KB WebP) and can be replaced independently. */
/* RPD reconciliation: explicit decisions rather than ambiguous checkboxes. */
.r33-rpd-modal{width:min(980px,98vw)}.r33-rpd-steps{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 14px}.r33-rpd-steps span{padding:6px 9px;border-radius:999px;background:#f0f4f8;color:#65778b;font-size:10px;font-weight:800}.r33-rpd-steps span.active{background:#e6f2ff;color:#1769d2}.r33-rpd-rule{display:grid;gap:9px;padding:13px;border:1px solid #cfe0f2;border-radius:13px;background:#f8fbff}.r33-rpd-section{margin-top:17px;padding-top:14px;border-top:1px solid #e7edf4}.r33-rpd-section h3{margin:0 0 3px}.r33-rpd-groups{display:grid;gap:9px;margin-top:10px}.r33-rpd-tail{display:grid;gap:7px;margin-top:11px;padding-top:10px;border-top:1px solid #edf1f5}.r33-rpd-tail-head{display:grid;gap:2px}.r33-rpd-tail-head small{color:#718096}.r33-rpd-decision{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,270px);gap:10px;align-items:center;border:1px solid #e2e9f1;border-radius:10px;padding:9px;background:#fbfdff}.r33-rpd-decision>div{display:grid;gap:2px}.r33-rpd-decision small{color:#718096}.r33-rpd-choice{width:100%;border:1px solid #cad6e2;border-radius:9px;background:#fff;padding:8px 9px;font-weight:720;color:#29415e}.r33-rpd-summary{margin:13px 0;padding:11px 12px;border-radius:12px;background:#f5f8fb;border:1px solid #e0e8f0}.r33-rpd-summary p{margin:4px 0 0}.r33-rpd-excluded-list{margin-top:8px}.r33-program-tags span{white-space:normal;line-height:1.3}
@media(max-width:1180px){.main.home-railway-mode::before{left:700px;right:16px;opacity:.42}}
@media(max-width:900px){.main.home-railway-mode::before{display:none}.r33-rpd-decision{grid-template-columns:1fr}.r33-rpd-modal{padding:17px}}
@media(max-width:720px){.nav button,.nav .nav-secondary{font-size:14px!important}}
/* ===== LINEA Beta 6 r3.3 end ===== */

/* Beta 6 r3.4: railway artwork is a background layer, never a standalone picture. */
.main.home-railway-mode{position:relative;isolation:isolate}
.main.home-railway-mode::before{content:"";position:absolute;z-index:0;top:50px;left:200px;right:30px;height:190px;background-image:url('/linea-railway-hero-approved.png?v=2.2.6');background-repeat:no-repeat;background-size:100% auto;background-position:right 60%;opacity:.86;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.45) 12%,#000 30%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.45) 12%,#000 30%,#000 100%)}
.main.home-railway-mode>.topbar,.main.home-railway-mode>#content{position:relative;z-index:1}
@media(max-width:1350px){.main.home-railway-mode::before{left:160px;right:20px;opacity:.80;background-size:100% auto;background-position:right 60%}}
@media(max-width:1050px){.main.home-railway-mode::before{display:none}}

/* ===== LINEA Beta 6 r4: practice workspace ===== */
.practice-campaign-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.practice-campaign-card{cursor:pointer;display:grid;gap:15px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.practice-campaign-card:hover{border-color:#9dbfe6;box-shadow:0 12px 28px rgba(20,50,84,.07);transform:translateY(-1px)}.practice-card-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.practice-card-kpis .practice-kpi{padding:8px}.practice-card-kpis .practice-kpi b{font-size:16px}.practice-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px;border-top:1px solid #edf1f5}.practice-empty{grid-column:1/-1;text-align:left;padding:28px}.practice-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:15px}.practice-kpi{border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff}.practice-kpi.good{background:#f2fbf6;border-color:#c9e9d8}.practice-kpi b{display:block;color:#173a63;font-size:22px;line-height:1.05}.practice-kpi span{display:block;color:var(--muted);font-size:10px;margin-top:4px}.practice-page-head{align-items:flex-start}.practice-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.text-back{display:block;border:0;background:transparent;color:#52708f;padding:0;margin:0 0 7px;font-size:11px;font-weight:780}.text-back:hover{color:#1769d2}.practice-workspace{padding:15px}.practice-toolbar{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(180px,1.2fr) minmax(160px,.9fr) minmax(200px,1.4fr) auto;gap:9px;align-items:end;margin-bottom:10px}.practice-filter-toggles{display:grid;gap:4px;align-self:center;padding-bottom:3px}.practice-filter-toggles .check-line{white-space:nowrap}.practice-table-summary{display:flex;gap:7px;align-items:center;margin:4px 0 9px}.practice-table-wrap{max-height:68vh}.practice-table{min-width:1320px}.practice-table th:nth-child(1),.practice-table td:nth-child(1){width:42px;text-align:center}.practice-table .sticky-name{min-width:220px}.practice-table th:nth-child(3){min-width:86px}.practice-table th:nth-child(4){min-width:235px}.practice-table th:nth-child(5){min-width:145px}.practice-table th:nth-child(6){min-width:250px}.practice-row-number{font-weight:850;color:#738196}.practice-student-link{display:grid;gap:4px}.practice-student-name{display:grid}.practice-department-badge{margin-top:6px}.practice-place-cell strong{line-height:1.35}.practice-assignment-button{display:-webkit-box;width:100%;max-width:290px;min-height:40px;border:1px dashed #cdd9e6;border-radius:9px;background:#fbfdff;color:#5f738a;text-align:left;padding:7px 9px;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.35}.practice-assignment-button.has-value{color:#29415e;border-style:solid;background:#fff}.practice-inline-select{min-width:122px;border:1px solid #ccd6e2;border-radius:8px;padding:7px;background:#fff}.practice-grade-select{min-width:66px}.practice-import-modal{width:min(1160px,98vw)}.practice-import-steps{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 14px}.practice-import-steps span{padding:6px 9px;border-radius:999px;background:#f0f4f8;color:#65778b;font-size:10px;font-weight:800}.practice-import-steps span.active{background:#e6f2ff;color:#1769d2}.practice-import-meta{margin-top:14px;padding:13px;border:1px solid #e0e8f0;border-radius:13px;background:#fbfdff}.practice-import-section{margin-top:17px;padding-top:15px;border-top:1px solid #e8edf3}.practice-import-section h3{margin:0 0 4px}.practice-supervisor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}.practice-supervisor-map{border:1px solid #e1e8f0;border-radius:10px;padding:10px;background:#fff}.practice-supervisor-map>span{font-size:11px;font-weight:700;line-height:1.35;color:#3e536a}.practice-import-table{max-height:420px;margin-top:10px}.practice-import-table table{min-width:1160px}.practice-import-site{line-height:1.35;margin-bottom:4px}.practice-unresolved-row{background:#fffaf0}.practice-match-select{min-width:210px;border:1px solid #cdd7e3;border-radius:8px;padding:7px}.practice-update-note{margin-top:13px;border-style:solid;border-color:#bfd9f3;background:#f4f9ff}.practice-skip-unmatched{margin:13px 0;padding:10px;border:1px solid #f0d49a;border-radius:10px;background:#fffaf0}.practice-import-actions{display:flex;gap:8px;margin-top:15px}.practice-record-modal{width:min(900px,98vw)}.practice-record-sites{margin:14px 0}.practice-site-card{display:grid;gap:2px;padding:10px 11px;border:1px solid #e1e8f0;border-radius:10px;margin-top:7px;background:#fbfdff}.practice-site-card span,.practice-site-card small{color:#6f8194}.practice-assignment-editor{margin:15px 0}.practice-record-actions{display:flex;gap:8px;margin-top:13px}.practice-history-row{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(0,1.25fr);gap:12px;align-items:start;padding:9px 0;border-bottom:1px solid #edf1f5}.practice-history-row:last-child{border-bottom:0}.practice-history-row small{display:block;color:#7a899a;margin-top:2px}.practice-history-row>span{font-size:11px;color:#42576d;line-height:1.4}.practice-student-history-row{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;padding:10px 0;border-bottom:1px solid #edf1f5}.practice-student-history-row:last-child{border-bottom:0}.practice-student-history-row p{margin:5px 0 0;font-size:11px;color:#5f7288;line-height:1.4}.practice-student-history-status{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:220px}
@media(max-width:1100px){.practice-campaign-grid{grid-template-columns:1fr}.practice-card-kpis,.practice-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.practice-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-filter-toggles{grid-column:1/-1;display:flex;gap:14px}.practice-supervisor-grid{grid-template-columns:1fr}}
@media(max-width:720px){.practice-kpi-grid,.practice-card-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-toolbar{grid-template-columns:1fr}.practice-filter-toggles{display:grid}.practice-import-actions,.practice-record-actions{flex-direction:column}.practice-history-row{grid-template-columns:1fr}.practice-student-history-row{display:grid}.practice-student-history-status{justify-content:flex-start;max-width:none}.mobile-nav{grid-template-columns:repeat(7,minmax(72px,1fr));overflow-x:auto}.mobile-nav button{min-width:72px}}
/* ===== LINEA Beta 6 r4: practice workspace end ===== */

/* ===== LINEA Beta 6 r4.1: global student search overlay ===== */
body>.search-results{position:fixed;right:auto;z-index:1000;overflow:auto;background:#fff;border:1px solid #d7e0ea;border-radius:14px;box-shadow:0 20px 60px rgba(18,35,59,.2);overscroll-behavior:contain}
body>.search-results .search-result{display:grid;gap:4px;padding:11px 13px;border-bottom:1px solid #edf2f7}
body>.search-results .search-result:last-child{border-bottom:0}
body>.search-results .search-result:hover,body>.search-results .search-result.keyboard-active{background:#f1f6fc}
.search-person{display:flex;align-items:center;gap:7px;min-width:0}.search-person-surname{font-size:11px;color:#738196;font-weight:650}.search-person strong{font-size:14px;color:#173a63;font-weight:850}.search-person .badge{padding:2px 6px;font-size:9px}
/* ===== LINEA Beta 6 r4.1: global student search overlay end ===== */

/* ===== LINEA Beta 6 r4.1: practice assignment import + table spacing ===== */
.practice-table th:nth-child(3){min-width:150px}.practice-table th:nth-child(4){min-width:285px}.practice-table th:nth-child(5){min-width:155px}.practice-table th:nth-child(6){min-width:280px}
.practice-group-cell{min-width:150px;white-space:normal}.practice-group-cell small{display:block;color:#7b8a9a;font-size:9px;line-height:1.15;margin-bottom:3px}.practice-group-cell strong{display:block;color:#173a63;font-size:12px}.practice-group-cell span{display:block;margin-top:4px;color:#66798e;font-size:10px}.practice-group-cell span b{color:#36526f}
.practice-place-cell{padding-left:15px!important;padding-right:15px!important;min-width:285px;line-height:1.4;overflow-wrap:anywhere}.practice-place-cell strong{display:block;line-height:1.4}.practice-place-cell small{display:block;margin-top:3px}
.practice-assignment-button{-webkit-line-clamp:2;max-width:330px;min-height:42px}
.practice-assignment-import-table{max-height:52vh;margin-top:10px}.practice-assignment-import-table table{min-width:1120px}.practice-assignment-import-table th:nth-child(1){min-width:190px}.practice-assignment-import-table th:nth-child(2){min-width:95px}.practice-assignment-import-table th:nth-child(3),.practice-assignment-import-table th:nth-child(4){min-width:330px}.practice-assignment-import-text{max-width:390px;max-height:86px;overflow:auto;white-space:pre-wrap;line-height:1.35;color:#40566e}
/* ===== LINEA Beta 6 r4.1: practice assignment import + table spacing end ===== */

/* ===== LINEA Beta 7 RC2: assignment generator workspace + acceptance fixes ===== */
.b7-workspace-backdrop{padding:14px}.b7-assignment-workspace{width:min(1600px,96vw);max-width:none;height:94vh;max-height:94vh;overflow:hidden;padding:0;display:flex;flex-direction:column}.b7-assignment-workspace>.modal-head{flex:0 0 auto;padding:18px 22px 14px;border-bottom:1px solid var(--line);background:#fff;z-index:3}.b7-workspace-scroll{flex:1;min-height:0;overflow:auto;padding:18px 22px 26px;overscroll-behavior:contain}.b7-kpis{grid-template-columns:repeat(6,minmax(0,1fr));margin:14px 0}.b7-deadline-row{display:flex;align-items:end;gap:10px;max-width:520px;margin:12px 0}.b7-deadline-row .field{flex:1}.b7-upload-field{margin-top:12px;max-width:560px}.b7-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:18px 0 8px}.b7-section-head strong{display:block;color:#173a63}.b7-section-head span{display:block;color:var(--muted);font-size:11px;margin-top:2px}.b7-block{display:block;margin-top:4px}.b7-level-stack{display:grid;gap:5px;min-width:138px}.b7-level-stack strong{display:block;color:#173a63;line-height:1.2}.b7-level-stack>span:not(.badge){display:block;color:#6d7e91;font-size:10px;line-height:1.25}.b7-input-table-wrap{max-height:42vh}.b7-input-table{min-width:1120px}.b7-input-table th:nth-child(1){min-width:225px}.b7-input-table th:nth-child(5){min-width:230px}.b7-input-table th:nth-child(6){min-width:175px}.b7-input-table th:last-child{min-width:120px}.b7-row-attention{background:#fffaf0}.b7-manual-card{margin-top:12px;border-color:#a9c9ec;background:#f8fbff}.b7-import-summary{margin-top:14px}.b7-import-table-wrap{margin-top:10px;max-height:50vh}.b7-import-table{min-width:1320px}.b7-import-table th:nth-child(1){min-width:210px}.b7-import-table th:nth-child(2){min-width:230px}.b7-import-table th:nth-child(3){min-width:240px}.b7-import-table th:nth-child(4){min-width:105px}.b7-import-table th:nth-child(5){min-width:130px}.b7-import-table th:nth-child(6){min-width:235px}.b7-import-table th:nth-child(7){min-width:175px}.b7-inline-details{margin-top:6px}.b7-inline-details summary{cursor:pointer;color:#55708d;font-size:10px;font-weight:800}.b7-inline-details .status-select{margin-top:5px;min-width:210px}.b7-generation-actions{margin-top:14px}.b7-generation-actions .btn:disabled{opacity:.48;cursor:not-allowed}.b7-blocker-note{margin-top:10px;border-style:solid;border-color:#f0d49a;background:#fffaf0}.b7-blocker-note ul{margin:7px 0 0;padding-left:20px;color:#6c5320;font-size:11px;line-height:1.5}.b7-draft-note{margin-top:16px}.b7-group-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0}.b7-group-summary span{border:1px solid #e1e8f0;border-radius:10px;background:#fff;padding:8px 10px;color:#5f7186;font-size:10px;line-height:1.35}.b7-group-summary b{color:#29415e}.b7-draft-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin:8px 0 10px}.b7-draft-overview-wrap{max-height:42vh}.b7-review-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:12px;min-height:520px}.b7-review-list{border:1px solid var(--line);border-radius:13px;background:#fbfdff;overflow:auto;max-height:64vh}.b7-review-list button{display:grid;gap:4px;width:100%;border:0;border-bottom:1px solid #e8edf3;background:transparent;text-align:left;padding:10px 11px;color:#29415e}.b7-review-list button:last-child{border-bottom:0}.b7-review-list button:hover,.b7-review-list button.active{background:#eef5fd}.b7-review-list strong{font-size:11px}.b7-review-list span{font-size:9px;color:#718196}.b7-review-detail{border:1px solid var(--line);border-radius:13px;background:#fff;padding:14px;min-width:0}.b7-review-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.b7-review-head h3{font-size:18px;margin:2px 0 4px}.b7-review-head p{margin:0}.b7-review-nav{display:flex;align-items:center;gap:8px;white-space:nowrap}.b7-review-nav strong{font-size:11px;color:#64748b}.b7-review-cards .card{box-shadow:none}.b7-review-detail .three-col,.b7-review-detail .two-col{gap:9px}.b7-review-detail .status-select{min-width:100px;width:100%}
@media(max-width:1200px){.b7-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.b7-review-layout{grid-template-columns:250px minmax(0,1fr)}.b7-group-summary{grid-template-columns:1fr}}
@media(max-width:820px){.b7-workspace-backdrop{padding:0}.b7-assignment-workspace{width:100vw;height:100vh;max-height:100vh;border-radius:0}.b7-workspace-scroll{padding:14px}.b7-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.b7-review-layout{grid-template-columns:1fr}.b7-review-list{max-height:220px}.b7-review-head{display:grid}.b7-review-nav{justify-content:space-between}.b7-deadline-row{display:grid}.b7-group-summary{grid-template-columns:1fr}}
/* ===== LINEA Beta 7 RC2 end ===== */
.b7-level-presets{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dbe7f4;border-radius:12px;background:#f8fbff;padding:10px 12px}.b7-level-presets>div:first-child{display:grid;gap:3px}.b7-level-presets .btn.active{background:#173a63;color:#fff;border-color:#173a63}.b7-level-presets .quick-actions{margin:0}
@media(max-width:820px){.b7-level-presets{display:grid}.b7-level-presets .quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Beta 7 RC5: correction/export workspace */
.b7-group-downloads a.disabled{pointer-events:none;opacity:.45}


/* Beta 7 RC8: course-project card clarity and column-first export selection */
.student-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.student-facts>div{min-width:0;padding:9px 10px;border:1px solid #e1e8f0;border-radius:10px;background:#fbfdff}
.student-facts>div.fact-wide{grid-column:1/-1}
.student-facts small{display:block;color:#748398;font-size:10px;line-height:1.2;margin-bottom:3px}
.student-facts strong{display:block;color:#24364d;font-size:12px;line-height:1.3;overflow-wrap:anywhere}
.student-course-project-card .student-facts{margin-top:12px}
.b7-export-student-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:8px;max-height:260px;overflow:auto;align-items:start}
.b7-export-student-column{display:grid;gap:6px;align-content:start}
.student-assignment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.student-assignment-fact{min-width:0;padding:10px 12px;border:1px solid #dce5ee;border-radius:11px;background:#fbfcfe}
.student-assignment-fact.wide{grid-column:1/-1}
.student-assignment-fact span{display:block;color:#667085;font-size:11px;line-height:1.25;margin-bottom:4px}
.student-assignment-fact strong{display:block;color:#25364a;font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.student-assignment-table{margin-top:10px}
.student-assignment-table th,.student-assignment-table td{white-space:nowrap}
.student-assignment-subtitle{margin-top:2px;color:#667085;font-size:11px}
@media(max-width:900px){.b7-export-student-grid{grid-template-columns:1fr}.student-course-project-card .student-facts{grid-template-columns:1fr}.student-course-project-card .student-facts>div.fact-wide{grid-column:auto}}
@media(max-width:520px){.student-assignment-grid{grid-template-columns:1fr}.student-assignment-fact.wide{grid-column:auto}.student-assignment-table{overflow-x:auto}.student-assignment-table table{min-width:430px}}

/* Beta 7 RC8 · platform provenance branding */
.side-platform-mark{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:2px;color:#8fa9c4;font-size:9.5px;line-height:1.35}.side-platform-mark strong{color:#d7e4f0;font-size:10px;letter-spacing:.08em}.side-platform-mark.hidden{display:none!important}.student-platform-footer{max-width:1120px;margin:0 auto;padding:2px 18px 28px;text-align:center;color:#8b98aa;font-size:11px;line-height:1.4}.student-platform-footer strong{color:#60738a;letter-spacing:.08em}.student-platform-footer span{margin-left:5px}.qr-brand strong:last-child{font-weight:700}@media(max-width:720px){.student-platform-footer{padding:2px 12px 22px;font-size:10.5px}.student-platform-footer strong,.student-platform-footer span{display:inline}.side-platform-mark{font-size:9px}}


/* LINEA Beta 8 DEV-1 · assignment generator constructor foundation */
.b8-generator-grid{grid-template-columns:1fr;gap:14px}.b8-generator-card{gap:14px}.b8-profile-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.b8-profile-facts>div{border:1px solid var(--line,#dbe3ec);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}.b8-profile-facts small{color:var(--muted,#6b7a90)}.b8-catalog-list{display:grid;gap:4px;margin-top:8px}.b8-config-preview{max-height:320px;overflow:auto;white-space:pre-wrap;background:#f7f9fc;border:1px solid var(--line,#dbe3ec);border-radius:12px;padding:12px;font-size:12px}@media(max-width:900px){.b8-profile-facts{grid-template-columns:1fr 1fr}}@media(max-width:600px){.b8-profile-facts{grid-template-columns:1fr}}

.modal.xwide{width:min(1240px,98vw);max-height:94vh;overflow:auto}.b8-generator-card .quick-actions{margin-top:12px;align-items:center}.b8-generator-card table input,.b8-generator-card table select{min-width:0}

/* Beta 8 DEV-8 — assignment settings library and human-facing editor */
.b8-library{padding:18px}.b8-library-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:16px}.b8-library-head h2{margin:2px 0 4px}.b8-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.b8-setting-card{display:flex;flex-direction:column;gap:14px;border:1px solid var(--line,#dbe3ec);border-radius:16px;padding:16px;background:#fff;min-width:0}.b8-setting-card.needs-attention{border-color:#e9c56f;box-shadow:0 0 0 2px rgba(231,184,66,.08)}.b8-setting-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.b8-setting-top h3{margin:3px 0 4px;font-size:18px;line-height:1.2}.b8-compare-check{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted,#6b7a90);white-space:nowrap}.b8-attention-strip{border:1px solid #e8c66f;background:#fff9e9;border-radius:12px;padding:10px 12px;text-align:left;display:flex;flex-direction:column;gap:2px;cursor:pointer;color:inherit}.b8-attention-strip:hover{background:#fff4d8}.b8-attention-strip strong{color:#8a6200}.b8-attention-strip span{font-size:12px;color:#6b5a2f}.b8-composition{display:grid;grid-template-columns:1fr 1fr;gap:10px}.b8-composition>div,.b8-usage-block{border:1px solid var(--line,#dbe3ec);border-radius:12px;padding:12px;background:#fbfcfe}.b8-composition span,.b8-label{display:block;color:var(--muted,#6b7a90);font-size:11px;font-weight:760;text-transform:uppercase;letter-spacing:.04em}.b8-composition strong{display:block;margin-top:5px;line-height:1.35}.b8-composition small{display:block;margin-top:4px;color:var(--muted,#6b7a90)}.b8-usage-block strong{display:block;margin-top:4px}.b8-usage-block .tags{margin-top:8px}.b8-setting-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.b8-usage-list{display:grid;gap:10px}.b8-usage-row{display:flex;gap:14px;align-items:center;border:1px solid var(--line,#dbe3ec);border-radius:12px;padding:12px}.b8-usage-row.needs-attention{border-color:#e8c66f;background:#fffaf0}.b8-history-list{display:grid;gap:4px}

.b8-editor{display:grid!important;grid-template-columns:220px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;column-gap:18px;overflow:hidden!important;padding:0!important}.b8-editor>.modal-head{grid-column:1/-1;padding:20px 22px 16px;border-bottom:1px solid var(--line,#dbe3ec);margin:0}.b8-editor>.b8-wizard-tabs{grid-column:1;grid-row:2;display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:16px 10px 18px 18px;border-right:1px solid var(--line,#dbe3ec);overflow:auto;background:#fafbfd}.b8-editor>.b8-wizard-tabs .btn{justify-content:flex-start;text-align:left;width:100%;border-color:transparent;background:transparent}.b8-editor>.b8-wizard-tabs .btn.primary{background:#15233a;color:#fff;border-color:#15233a}.b8-step-context{font-size:11px;font-weight:800;color:#6b7a90;padding:3px 8px 8px;text-transform:uppercase;letter-spacing:.04em}.b8-editor>[data-b8-step-block]{grid-column:2;grid-row:2;overflow:auto;margin:16px 18px 16px 0!important;align-self:start;max-height:calc(94vh - 180px)}.b8-editor>.modal-actions{grid-column:1/-1;grid-row:3;margin:0;padding:12px 18px;border-top:1px solid var(--line,#dbe3ec);background:#fff;position:sticky;bottom:0;z-index:2}.b8-editor .service-note[data-b8-step-block]{background:#fff}.b8-document-step .advanced-settings{margin-top:8px}


@media(max-width:1050px){.b8-settings-grid{grid-template-columns:1fr}.b8-composition{grid-template-columns:1fr}.b8-editor{grid-template-columns:180px minmax(0,1fr)}}
/* Beta 8 DEV8 FIX2: assignment impact review. */
.b8-impact-list{display:grid;gap:10px;margin-top:10px}.b8-impact-student{border:1px solid #ecd49a;background:#fffdf7;border-radius:12px;padding:11px 12px}.b8-impact-student>div:first-child{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.b8-impact-student ul{margin:8px 0 10px;padding-left:20px;display:grid;gap:4px}.b8-before{text-decoration:line-through;color:#8a5f5f}.b8-after{font-weight:800;color:#245d3c}.b8-student-impact{grid-column:1/-1;border-color:#e5c36b;background:#fffaf0}.b8-student-impact ul{margin:8px 0 10px;padding-left:20px}.b8-impact-dot{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;margin-left:5px;border-radius:999px;background:#fff0c2;color:#7a5600;font-size:10px;font-weight:900}.b7-review-list button.has-profile-impact{border-left:3px solid #d6a72b;background:#fffaf0}.b7-draft-overview-wrap tr.has-profile-impact td{background:#fffdf7}
.b8-impact-row td{background:#fffdf7}.b7-review-list button.needs-attention{border-left:3px solid #d6a72b;background:#fffaf0}.b8-student-impact{margin-bottom:14px}.b8-impact-changes{list-style:none;padding:0!important;margin:10px 0!important;display:grid;gap:7px}.b8-impact-changes li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid #ead9a8;border-radius:10px;background:#fff}.b8-impact-diff{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.b8-impact-diff span:first-child{color:#8a5f5f;text-decoration:line-through}.b8-impact-diff span:last-child{font-weight:800;color:#245d3c}.b8-impact-actions{margin-top:10px}
/* Beta 8 DEV8 FIX3: decision-oriented assignment impacts. */
.b8-impact-change-card{border:1px solid #ead9a8;border-radius:11px;background:#fff;padding:10px 11px;display:grid;gap:7px}.b8-impact-change-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.b8-impact-change-head>div{display:grid;gap:2px}.b8-impact-change-head small{color:var(--muted)}.b8-impact-change-values{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center}.b8-impact-change-values span{border-radius:8px;padding:7px 9px;background:#f6f8fb}.b8-impact-change-values .before{color:#7a4b4b}.b8-impact-change-values .after{font-weight:800;color:#245d3c}.b8-impact-change-actions{display:flex;gap:7px;flex-wrap:wrap}.b8-impact-info{border-color:#d8e3ef;background:#f8fbff}.b8-impact-info .b8-impact-change-values{display:block}.b8-impact-info .b8-impact-change-values span{display:block}.b8-campaign-adopt{margin-top:12px;border-color:#b7d3ef;background:#f4f9ff}.b8-manual-target{outline:3px solid rgba(23,105,210,.22);outline-offset:2px;transition:outline .2s ease}
/* ===== Beta 8 DEV8 FIX3: semantic assignment change review ===== */
.b8-impact-change-list{display:grid;gap:9px;margin-top:10px}.b8-impact-change-values span{display:grid;gap:2px}.b8-impact-change-values span small{font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em}.b8-impact-arrow{color:var(--muted);font-size:16px}.b8-impact-info{margin-top:10px;padding:10px 11px;border:1px solid #d8e3ef;border-radius:10px;background:#f8fbff;display:grid;gap:8px}.b8-impact-info>strong{font-size:13px}.b8-impact-info>div{display:grid;grid-template-columns:minmax(130px,.6fr) minmax(0,1fr);gap:3px 10px;padding-top:7px;border-top:1px solid #e5edf5}.b8-impact-info>div:first-of-type{border-top:0;padding-top:0}.b8-impact-info>div b{font-size:12px}.b8-impact-info>div span{font-size:11px;color:#3d526a}.b8-impact-info>div small{grid-column:1/-1;color:var(--muted);line-height:1.35}.b8-campaign-impact{margin-bottom:12px}.b8-campaign-impact .quick-actions{align-items:center}@media(max-width:760px){.b8-impact-change-values{grid-template-columns:1fr}.b8-impact-arrow{transform:rotate(90deg);justify-self:center}.b8-impact-info>div{grid-template-columns:1fr}}

/* LINEA beta8 ui1 — removable source-data columns */
.source-field-head{position:relative;display:flex;align-items:flex-start;justify-content:center;gap:7px;min-width:0;padding:0 2px}
.source-field-title{display:flex;min-width:0;flex-direction:column;align-items:center;line-height:1.18}
.source-field-delete{flex:0 0 auto;width:22px;height:22px;margin-top:-4px;margin-right:-5px;border:1px solid #d8e2ee;border-radius:7px;background:#fff;color:#718198;font:700 16px/18px system-ui,sans-serif;cursor:pointer;opacity:.68;transition:.15s ease}
.source-field-delete:hover{border-color:#e5a2a2;background:#fff4f4;color:#b42318;opacity:1}
.source-field-delete:focus-visible{outline:2px solid #75a7e8;outline-offset:2px;opacity:1}
.source-field-delete:disabled{cursor:wait;opacity:.35}
@media(max-width:760px){.source-field-delete{width:26px;height:26px;opacity:.86}}

/* LINEA 2.2.0 — central anonymous feedback hub */
.feedback-hub-filter-card{margin-bottom:14px}.feedback-hub-filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:end}.feedback-session-filter{grid-column:span 4}.feedback-filter-actions{display:flex;gap:8px;align-items:end}.feedback-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 14px}.feedback-kpi{padding:15px 16px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(15,35,64,.035)}.feedback-kpi span,.feedback-kpi small{display:block;color:#6d7d91;font-size:12px}.feedback-kpi strong{display:block;margin:5px 0 2px;font-size:23px;color:#172b45}.feedback-analysis-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.feedback-dist-row{display:grid;grid-template-columns:minmax(130px,1.2fr) 2fr 32px;gap:9px;align-items:center;margin:10px 0;font-size:12px}.feedback-dist-bar{height:8px;border-radius:99px;background:#edf2f7;overflow:hidden}.feedback-dist-bar i{display:block;height:100%;border-radius:99px;background:#5d99df}.feedback-dist-row b{text-align:right}.feedback-comments{display:grid;gap:9px}.feedback-comments article{padding:13px 14px;border:1px solid #e3e9f0;border-radius:14px;background:#fafcff}.feedback-comments p{margin:0 0 7px;line-height:1.5}.feedback-comments small{color:#77869a}.mobile-nav [data-page="feedback"]{min-width:max-content}
@media(max-width:1200px){.feedback-hub-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.feedback-session-filter{grid-column:span 2}.feedback-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.feedback-analysis-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.feedback-hub-filters{grid-template-columns:1fr 1fr}.feedback-session-filter{grid-column:1/-1}.feedback-filter-actions{grid-column:1/-1}.feedback-kpis{grid-template-columns:1fr 1fr}.feedback-analysis-grid{grid-template-columns:1fr}.feedback-dist-row{grid-template-columns:1fr 1.5fr 28px}}

/* LINEA 2.2.5 — session-scoped feedback + restored approved hero */
.qr-eyebrow{color:#111827!important;font-weight:900;letter-spacing:.08em}.qr-session-title{color:#1766bd!important;font-weight:900}.qr-session-meta{color:#425b78!important;font-weight:700}.qr-instructions{margin-top:14px;display:grid;gap:4px}.qr-instructions .qr-hint{margin:0}.qr-hint-secondary{color:#7b8a9d!important}.qr-brand{margin-top:18px!important;padding-top:6px}.qr-presenter.projector-mode .qr-eyebrow{font-size:clamp(13px,1vw,18px);margin-bottom:4px}.qr-presenter.projector-mode .qr-session-title{font-size:clamp(30px,3.2vw,50px);color:#1766bd!important}.qr-presenter.projector-mode .qr-session-meta{font-size:clamp(17px,1.6vw,25px)!important;color:#344d6b!important;font-weight:750}.qr-presenter.projector-mode .qr-instructions{margin-top:1.2vh;gap:.35vh}.qr-presenter.projector-mode .qr-brand{margin-top:1.6vh!important}.feedback-hub-filter-card .btn.danger,#fbCleanup{white-space:nowrap}

/* LINEA 2.2.5 — approved 3240x520 railway panorama for the home header. */
.main.home-railway-mode::before{top:50px;left:650px;right:30px;height:190px;background-image:url('/linea-railway-hero-3240x520.png?v=2.2.6-railway-1');background-size:100% auto;background-position:center center;background-repeat:no-repeat;opacity:.96;-webkit-mask-image:none;mask-image:none}
@media(max-width:1500px){.main.home-railway-mode::before{left:500px;right:20px}}
@media(max-width:1050px){.main.home-railway-mode::before{display:none}}

/* LINEA 2.2.6 — clearer home status and warmer feedback selection UX. */
.home-session-lift-scope .session-row{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
@media(hover:hover) and (pointer:fine){.home-session-lift-scope .session-row:hover{transform:translateY(-2px);border-color:#a9c6e4;box-shadow:0 8px 20px rgba(20,50,84,.085)}}
.home-day-finished{display:grid;gap:4px;text-align:left;padding:12px 0 4px}.home-day-finished strong{color:#314b67}.home-day-finished span{font-size:11px;color:#7a899a}
.home-today-past{margin-top:10px}.home-today-past>summary{padding:9px 11px;background:#f7f9fc}.home-today-past>summary strong{font-size:12px}.home-past-session-list{padding-top:2px}.home-past-session-list .session-row{opacity:.78}.home-past-session-list .session-time{color:#60738a}

/* LINEA 2.3.0 — Schedule Foundation */
.schedule-page-head{align-items:flex-end}.schedule-head-actions{display:flex;gap:8px;flex-wrap:wrap}.schedule-control-card{padding:14px 16px;margin-bottom:14px}.schedule-controls{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.schedule-controls .field.compact,.schedule-subtoolbar .field.compact{min-width:230px;margin:0}.schedule-week-switch{margin-bottom:1px}.schedule-kpis{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.schedule-kpis span{display:flex;align-items:baseline;gap:5px;padding:7px 10px;border:1px solid #dfe7f0;border-radius:11px;background:#fafcff;color:#60738a;font-size:11px}.schedule-kpis b{font-size:15px;color:#213a57}.schedule-kpis .warn{border-color:#ebcf82;background:#fffaf0}.schedule-tabs{display:flex;gap:5px;margin-top:13px;border-top:1px solid #edf1f5;padding-top:10px;overflow-x:auto}.schedule-tabs button{border:0;background:transparent;padding:8px 11px;border-radius:9px;color:#60738a;font-weight:750;cursor:pointer;white-space:nowrap}.schedule-tabs button:hover{background:#f3f7fb;color:#274866}.schedule-tabs button.active{background:#173a63;color:#fff}.schedule-workspace{padding:14px;min-height:250px;overflow:hidden}.schedule-subtoolbar{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:13px}.schedule-room-facts{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.schedule-room-facts span{padding:6px 9px;border-radius:999px;background:#eef5fb;color:#48627d;font-size:11px}.schedule-free-count{display:flex;gap:9px;align-items:center;margin-left:auto;padding:7px 10px;border:1px solid #dce7f1;border-radius:12px;background:#f8fbff}.schedule-free-count strong{font-size:23px;color:#1c5e9c}.schedule-free-count span{font-size:10px;color:#6f7f91;line-height:1.25}.schedule-grid{display:grid;gap:1px;background:#dce5ee;border:1px solid #dce5ee;border-radius:14px;overflow:auto;min-width:780px}.schedule-grid.schedule-days-5{grid-template-columns:90px repeat(5,minmax(150px,1fr))}.schedule-grid.schedule-days-7{grid-template-columns:90px repeat(7,minmax(150px,1fr))}.schedule-grid-corner,.schedule-grid-day,.schedule-grid-time,.schedule-grid-cell{background:#fff}.schedule-grid-corner,.schedule-grid-day{position:sticky;top:0;z-index:3;padding:10px 8px;background:#f7f9fc;font-size:12px;font-weight:850;color:#304a66;text-align:center}.schedule-grid-corner{left:0;z-index:4}.schedule-grid-time{position:sticky;left:0;z-index:2;min-height:88px;padding:11px 8px;background:#f9fbfd;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px}.schedule-grid-time strong{font-size:14px;color:#1d3856}.schedule-grid-time span{font-size:10px;color:#7a8999;text-align:center}.schedule-grid-cell{min-height:88px;padding:5px;display:grid;gap:5px;align-content:start}.schedule-lesson{display:grid;gap:3px;width:100%;padding:8px 9px;border:1px solid #c9ddef;border-left:3px solid #4c91d3;border-radius:10px;background:#f2f8fe;color:#203c59;text-align:left;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.schedule-lesson.session-practice{border-left-color:#3ba97c;background:#f2fbf7}.schedule-lesson.session-lab{border-left-color:#9a76d2;background:#f8f5fd}.schedule-lesson.session-other{border-left-color:#8795a7;background:#f7f9fb}.schedule-lesson-top{display:flex;gap:5px;align-items:center;min-width:0}.schedule-lesson strong{font-size:11px;line-height:1.2;overflow:hidden;text-overflow:ellipsis}.schedule-lesson>span{font-size:10px;font-weight:750;color:#415c77;line-height:1.2}.schedule-lesson small{font-size:9.5px;line-height:1.25;color:#6a7d91}.schedule-teachers{overflow-wrap:anywhere}.schedule-conflict-dot{margin-left:auto;display:grid;place-items:center;min-width:17px;height:17px;border-radius:999px;background:#f7d981;color:#714f00;font-size:10px;font-weight:900}.schedule-compare-tag{margin-left:auto;padding:2px 5px;border-radius:999px;background:#dbeafd;font-size:9px;color:#235f9d}.schedule-lesson.compare-a{box-shadow:inset 0 0 0 1px #7eaee0}.schedule-lesson.compare-b{box-shadow:inset 0 0 0 1px #91c5aa}.schedule-lesson.compare-common{background:#fff8e8;border-color:#dfbd63;border-left-color:#d6a52c}.schedule-conflict-summary{margin-bottom:12px;border-color:#ecd28b;background:#fffaf0}.schedule-empty{margin:12px 0}.schedule-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.schedule-form-grid .span-2{grid-column:span 2}.schedule-relations{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.schedule-relations section{border:1px solid #e0e8f0;border-radius:13px;padding:12px;background:#fbfcfe;min-width:0}.schedule-relations h3{margin:0}.schedule-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:9px;max-height:210px;overflow:auto}.check-card{display:flex;align-items:center;gap:8px;padding:8px 9px;border:1px solid #dce5ee;border-radius:9px;background:#fff;font-size:11px;color:#38516c;cursor:pointer}.check-card:has(input:checked){border-color:#83afd9;background:#f2f8fe}.check-card input{margin:0}.schedule-personal-box{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:14px 0;padding:12px;border:1px solid #cfe0f0;border-radius:13px;background:#f7fbff}.schedule-personal-box>div:first-child{margin-right:auto}.schedule-personal-box p{margin:3px 0 0}.mobile-nav [data-page="schedule"]{min-width:max-content}
@media(hover:hover) and (pointer:fine){.schedule-lesson:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(24,61,98,.10);border-color:#8fb6dc}}
@media(max-width:1100px){.schedule-kpis{margin-left:0;width:100%}.schedule-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-relations{grid-template-columns:1fr}.schedule-grid{min-width:720px}.schedule-workspace{overflow-x:auto}}
@media(max-width:760px){.schedule-page-head{display:grid;gap:10px}.schedule-control-card{padding:11px}.schedule-controls{display:grid;grid-template-columns:1fr;gap:9px}.schedule-controls .field.compact,.schedule-subtoolbar .field.compact{min-width:0;width:100%}.schedule-week-switch{display:grid;grid-template-columns:repeat(3,1fr)}.schedule-kpis{display:grid;grid-template-columns:1fr 1fr}.schedule-tabs{margin-left:-3px;margin-right:-3px}.schedule-workspace{padding:10px}.schedule-grid{display:none}.schedule-workspace .schedule-grid+*{display:block}.schedule-form-grid{grid-template-columns:1fr}.schedule-form-grid .span-2{grid-column:auto}.schedule-check-grid{grid-template-columns:1fr}.schedule-relations{margin:10px 0}.schedule-subtoolbar{display:grid;grid-template-columns:1fr}.schedule-free-count{margin-left:0}.schedule-personal-box{display:grid;align-items:stretch}.schedule-workspace:has(.schedule-grid){overflow:visible}.schedule-grid::after{content:'На телефоне используйте карточки через фильтры преподавателя или аудитории.';display:block}.schedule-page-head h1{margin-bottom:3px}}
.schedule-mobile-list{display:none}.schedule-mobile-list section{display:grid;gap:7px}.schedule-mobile-list section+section{margin-top:15px}.schedule-mobile-list h3{margin:0 0 2px;color:#263f5b}.schedule-mobile-row{display:grid;grid-template-columns:48px minmax(0,1fr);gap:7px;align-items:stretch}.schedule-mobile-time{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #dce5ee;border-radius:10px;background:#f8fafc}.schedule-mobile-time strong{font-size:14px}.schedule-mobile-time span{font-size:9px;color:#738399}
@media(max-width:760px){.schedule-grid{display:none!important}.schedule-mobile-list{display:block}.schedule-grid::after{display:none}}

/* LINEA 2.3.1 · Schedule Import & Directory */
.schedule-person-facts{display:flex;gap:7px;flex-wrap:wrap;align-items:center;min-height:37px;padding:6px 9px;border:1px solid #e1e8f0;border-radius:11px;background:#fafcff}.schedule-person-facts strong{font-size:12px;color:#263f5b}.schedule-person-facts span{font-size:10px;color:#6a7c90}.schedule-compare-pending{margin-left:auto;max-width:360px;padding:8px 10px;border:1px solid #e1e8f0;border-radius:11px;background:#fafcff;color:#6a7c90;font-size:10px;line-height:1.35}.schedule-quick-room{margin-top:6px}.check-card small{display:block;margin-top:2px;color:#7a8998;font-size:9px;line-height:1.15}.schedule-import-start{display:grid;gap:16px}.schedule-import-intro{display:flex;gap:20px;justify-content:space-between;align-items:flex-start}.schedule-import-intro h2{margin:2px 0 5px}.schedule-import-safety{display:grid;gap:3px;min-width:270px;padding:11px 13px;border:1px solid #cfe1f2;border-radius:13px;background:#f6fbff;color:#36526f}.schedule-import-safety strong{font-size:12px}.schedule-import-safety span{font-size:10px;color:#6b8197}.schedule-import-form{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,2fr) auto;gap:12px;align-items:end;padding:14px;border:1px solid #e0e8f0;border-radius:14px;background:#fbfcfe}.schedule-import-form .span-2{min-width:0}.schedule-import-history{display:grid;gap:7px}.schedule-import-history h3{margin:3px 0}.schedule-import-history-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 11px;border:1px solid #e2e9f0;border-radius:11px;background:#fff}.schedule-import-history-row>div{display:grid;gap:2px}.schedule-import-history-row small{color:#76879a}.schedule-import-preview{display:grid;gap:14px}.schedule-import-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.schedule-import-summary>div{display:grid;gap:2px;padding:10px 12px;border:1px solid #dfe7ef;border-radius:12px;background:#fafcff}.schedule-import-summary strong{font-size:22px;color:#1c5d98}.schedule-import-summary span{font-size:10px;color:#718397}.schedule-import-summary .warn{border-color:#ead08a;background:#fffaf0}.schedule-import-columns{display:grid;grid-template-columns:1.35fr 1fr;gap:12px}.schedule-import-columns section,.schedule-import-pairs,.schedule-import-missing{padding:12px;border:1px solid #e0e8f0;border-radius:13px;background:#fbfcfe}.schedule-import-columns h3,.schedule-import-pairs h3,.schedule-import-missing h3{margin:0}.schedule-import-entities{display:grid;gap:7px;margin-top:9px}.schedule-import-entity{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 10px;border:1px solid #e0e7ef;border-radius:10px;background:#fff}.schedule-import-entity>div{display:grid;gap:2px}.schedule-import-entity small{color:#77889a;font-size:9.5px}.schedule-import-entity>span,.schedule-import-entity div>span{font-size:10px;color:#65809a}.schedule-import-entity.new{border-color:#bad8ef;background:#f7fbff}.schedule-import-entity.changed{border-color:#ead08a;background:#fffaf0}.schedule-import-entity.warn{border-color:#e5b5b5;background:#fff8f8}.schedule-import-entity.ok{border-color:#cfe6da;background:#f7fcf9}.schedule-import-entity select{min-width:210px}.schedule-import-pairs .table-wrap{margin-top:10px;max-height:520px}.schedule-import-pairs table{min-width:1060px}.schedule-import-pairs th{position:sticky;top:0;z-index:1;background:#f5f8fb}.schedule-import-review-row{background:#fffaf4}.schedule-import-missing details{margin:10px 0}.schedule-missing-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,2fr);gap:12px;padding:7px 0;border-bottom:1px solid #edf1f4;font-size:10px}.danger-check{margin-top:10px;color:#8a3c3c}.schedule-import-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.schedule-import-actions .muted{margin-left:auto}.badge.amber{background:#fff3cf;color:#795a00}.service-note.error{border-color:#e8bcbc;background:#fff8f8;color:#7d3838}
@media(max-width:1000px){.schedule-import-form{grid-template-columns:1fr}.schedule-import-columns{grid-template-columns:1fr}.schedule-import-summary{grid-template-columns:repeat(3,1fr)}.schedule-import-intro{display:grid}.schedule-import-safety{min-width:0}.schedule-compare-pending{margin-left:0}}
@media(max-width:620px){.schedule-import-summary{grid-template-columns:1fr 1fr}.schedule-import-entity{grid-template-columns:1fr}.schedule-import-entity select{min-width:0;width:100%}.schedule-import-actions{display:grid}.schedule-import-actions .muted{margin-left:0}.schedule-missing-row{grid-template-columns:1fr}}
/* LINEA 2.3.1 HOTFIX1 · schedule import review wizard */
.schedule-import-stepper{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;padding:8px;border:1px solid #e1e8ef;border-radius:13px;background:#f8fafc}.schedule-import-stepper button{border:0;border-radius:9px;padding:9px 8px;background:transparent;color:#6d7f91;font:inherit;font-size:10px;font-weight:700;cursor:pointer}.schedule-import-stepper button.active{background:#173a61;color:#fff;box-shadow:0 3px 10px rgba(31,67,105,.14)}.schedule-import-wizard-card{display:grid;gap:14px;padding:14px;border:1px solid #e0e8f0;border-radius:14px;background:#fbfcfe}.schedule-import-wizard-card h2{margin:0 0 4px}.schedule-import-ready-ring{display:grid;place-items:center;min-width:86px;min-height:70px;border:1px solid #cfe1f2;border-radius:14px;background:#f6fbff}.schedule-import-ready-ring strong{font-size:25px;color:#1c5d98;line-height:1}.schedule-import-ready-ring span{font-size:9px;color:#6b8197}.schedule-import-ready-ring.warn{border-color:#ead08a;background:#fffaf0}.schedule-import-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.schedule-import-summary-grid>div{display:grid;gap:2px;padding:11px 12px;border:1px solid #e0e8f0;border-radius:12px;background:#fff}.schedule-import-summary-grid b{font-size:20px;color:#1c5d98}.schedule-import-summary-grid span{font-size:10px;font-weight:700;color:#40576e}.schedule-import-summary-grid small{font-size:9px;color:#7b8b9b}.schedule-import-entities-large .schedule-import-entity{align-items:flex-start}.schedule-import-professional{display:grid;gap:2px;margin-top:4px}.schedule-import-professional span{font-size:9.5px!important;color:#526b83!important}.schedule-import-professional b{color:#334b63}.schedule-profile-diff{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:5px}.schedule-profile-diff>div{padding:7px;border:1px solid #eadfb8;border-radius:9px;background:rgba(255,255,255,.7)}.schedule-import-resolution-list{display:grid;gap:9px}.schedule-import-resolution-list>h3{margin:0 0 2px}.schedule-import-resolution{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:12px;align-items:center;padding:11px 12px;border:1px solid #e0e7ef;border-radius:11px;background:#fff}.schedule-import-resolution>div{display:grid;gap:3px}.schedule-import-resolution strong{color:#243c55}.schedule-import-resolution span,.schedule-import-resolution small{font-size:9.5px;color:#728598}.schedule-import-resolution .field{margin:0}.schedule-import-other-issues{padding:11px 12px;border:1px solid #e0e8f0;border-radius:12px;background:#fff}.schedule-import-other-issues h3{margin:0 0 8px}.schedule-issue-pill{display:inline-flex;margin:0 6px 6px 0;padding:5px 8px;border-radius:999px;background:#fff3cf;color:#795a00;font-size:9.5px;font-weight:700}.schedule-issue-row{display:grid;gap:2px;padding:7px 0;border-bottom:1px solid #edf1f4;font-size:9.5px}.schedule-issue-row span{color:#748597}.service-note.success{border-color:#cfe6da;background:#f7fcf9;color:#365c49}.service-note.warn{border-color:#ead08a;background:#fffaf0;color:#6d5613}.block.blue{color:#1c6cab}.schedule-import-wizard-card .schedule-import-actions{padding-top:2px}
@media(max-width:1000px){.schedule-import-stepper{grid-template-columns:repeat(3,1fr)}.schedule-import-summary-grid{grid-template-columns:1fr 1fr}.schedule-import-resolution{grid-template-columns:1fr}.schedule-profile-diff{grid-template-columns:1fr}}
@media(max-width:620px){.schedule-import-stepper{grid-template-columns:1fr 1fr}.schedule-import-summary-grid{grid-template-columns:1fr}.schedule-import-ready-ring{min-width:72px}}

/* LINEA 2.3.1 HOTFIX3 · import operator controls */
.schedule-import-profile-edit{margin-top:7px;padding-top:6px;border-top:1px dashed #d9e2eb}.schedule-import-profile-edit summary{cursor:pointer;color:#315a80;font-size:9.5px;font-weight:700}.schedule-import-profile-edit[open] summary{margin-bottom:7px}.schedule-import-profile-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.schedule-import-profile-fields .field{margin:0}.schedule-import-profile-fields input{min-width:0}.schedule-import-bulk-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.schedule-import-resolution.is-skipped{border-color:#d8e0e8;background:#f8fafc}.schedule-resolution-note{color:#60768b!important}.schedule-import-excluded-row{background:#f7f9fb;color:#65798d}.schedule-import-excluded-row strong{color:#52677c}.schedule-import-excluded-row td{opacity:.86}
@media(max-width:760px){.schedule-import-profile-fields{grid-template-columns:1fr}}

/* LINEA 2.3.2 · RUT schedule source + operator-first import UX */
.schedule-source-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:12px}.schedule-source-card{display:grid;align-content:start;gap:12px;padding:14px;border:1px solid #dfe7ef;border-radius:14px;background:#fff}.schedule-source-card.primary{border-color:#bdd9ee;background:linear-gradient(180deg,#f8fcff,#fff)}.schedule-source-card h3{margin:1px 0 4px}.schedule-rut-code-row{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:9px;align-items:end}.schedule-rut-candidate{display:grid;gap:11px;padding:12px;border:1px solid #cee1f1;border-radius:12px;background:#f7fbff}.schedule-rut-candidate .split>div{display:grid;gap:2px}.schedule-rut-candidate .split span,.schedule-rut-candidate .split small{font-size:9.5px;color:#71869a}.schedule-rut-observed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.schedule-rut-observed>div{display:grid;gap:3px;padding:8px;border:1px solid #dfe8f0;border-radius:10px;background:#fff}.schedule-rut-observed b{font-size:9.5px;color:#36526d}.schedule-rut-observed span{font-size:9.5px;color:#667b8f;line-height:1.35}.schedule-rut-source{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f5}.schedule-rut-source:last-child{border-bottom:0}.schedule-rut-source>div:first-child{display:grid;gap:2px}.schedule-rut-source span,.schedule-rut-source small{font-size:9.5px;color:#718397}.schedule-rut-source.changed{margin:0 -7px;padding:10px 7px;border:1px solid #edce80;border-radius:11px;background:#fffaf0}.schedule-manual-upload{padding:11px 13px;border:1px solid #e0e7ef;border-radius:12px;background:#fafcff}.schedule-manual-upload summary{cursor:pointer;color:#365775;font-weight:800}.schedule-import-entity.is-disabled{opacity:.56;background:#f7f9fb;border-color:#e3e8ed}.schedule-import-include{margin-bottom:4px;font-weight:700;color:#365775}.schedule-import-other-issues .schedule-issue-row{padding:10px 0;font-size:10.5px;line-height:1.35}.schedule-import-other-issues .schedule-issue-row strong{font-size:11px;color:#2a435d}.schedule-import-other-issues .schedule-issue-row span{font-size:10px;line-height:1.4}.schedule-import-resolution-context{display:flex;gap:6px;flex-wrap:wrap;margin-top:3px}.schedule-import-resolution-context span{display:inline-flex;padding:3px 6px;border-radius:999px;background:#eef4f9;color:#516b84!important;font-size:9px!important}.schedule-source-status-note{font-size:9.5px;color:#718397;line-height:1.4}
@media(max-width:1000px){.schedule-source-grid{grid-template-columns:1fr}.schedule-rut-observed{grid-template-columns:1fr 1fr}.schedule-rut-code-row{grid-template-columns:1fr auto}}
@media(max-width:620px){.schedule-rut-observed,.schedule-rut-code-row{grid-template-columns:1fr}.schedule-rut-source{grid-template-columns:1fr}.schedule-rut-source .quick-actions{justify-content:flex-start}}

/* LINEA 2.3.2 HOTFIX1 — schedule source/parser acceptance fixes */
.schedule-rut-timetable-status{display:grid;gap:5px;margin-top:2px}.schedule-rut-timetable-status>div{display:flex;flex-wrap:wrap;gap:5px}.schedule-source-check{display:inline-flex!important;align-items:center;padding:3px 7px;border-radius:999px;font-size:9px!important;font-weight:800}.schedule-source-check.ok{background:#eaf7ef;color:#31684a!important}.schedule-source-check.warn{background:#fff4d5;color:#795a00!important}
.schedule-import-other-issues-large{display:grid;gap:10px;padding:14px}.schedule-issue-section{border:1px solid #dfe7ef;border-radius:12px;background:#fbfcfe;overflow:hidden}.schedule-issue-section>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}.schedule-issue-section>summary::-webkit-details-marker{display:none}.schedule-issue-section>summary>span:first-child{display:grid;gap:2px}.schedule-issue-section>summary strong{font-size:12px;color:#233e59}.schedule-issue-section>summary small{font-size:10px;color:#718397}.schedule-issue-section[open]>summary{border-bottom:1px solid #e5ebf1;background:#f6f9fc}.schedule-issue-list{display:grid;padding:0 14px}.schedule-issue-card{display:grid;gap:8px;padding:13px 0;border-bottom:1px solid #e8edf2}.schedule-issue-card:last-child{border-bottom:0}.schedule-issue-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.schedule-issue-card-head>strong{font-size:11.5px;color:#263f59}.schedule-issue-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 16px}.schedule-issue-context span{font-size:10.5px;color:#61768a;line-height:1.4}.schedule-issue-context b{color:#334f69}.schedule-slot-issue strong{font-size:11.5px}.schedule-slot-issue span,.schedule-slot-issue small{font-size:10px!important}
@media(max-width:760px){.schedule-issue-context{grid-template-columns:1fr}.schedule-issue-card-head{align-items:flex-start;flex-direction:column}.schedule-import-other-issues-large{padding:10px}.schedule-issue-list{padding:0 10px}}


/* LINEA 2.3.3 HOTFIX2 · schedule review readability + login/sidebar polish */
.side-user{font-size:12.5px;font-weight:780;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.28;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-height:2.6em;overflow:hidden;word-break:normal}
.side-platform-mark{font-size:10px;line-height:1.42}.side-platform-mark strong{font-size:10.5px}.side-platform-mark span{max-width:190px}
.login-card{width:min(390px,calc(100vw - 32px))}.login-secondary-entry{border:0;background:transparent;color:#657a90;font:inherit;font-size:12px;font-weight:700;cursor:pointer;margin:4px auto 0;padding:7px 10px;text-decoration:underline;text-underline-offset:3px}.login-secondary-entry:hover{color:#173a61}
.schedule-import-preview{font-size:14px}.schedule-import-stepper button{font-size:12px;padding:10px 9px}.schedule-import-wizard-card{gap:16px;padding:17px}.schedule-import-wizard-card h2{font-size:22px;line-height:1.18}.schedule-import-wizard-card h3{font-size:16px}.schedule-import-wizard-card>.split .muted,.schedule-import-wizard-card>div>.muted{font-size:13px;line-height:1.45}.schedule-import-summary-grid span{font-size:12px}.schedule-import-summary-grid small{font-size:11px;line-height:1.35}.schedule-import-resolution{padding:14px 15px;gap:16px}.schedule-import-resolution strong{font-size:14px}.schedule-import-resolution span,.schedule-import-resolution small{font-size:12px;line-height:1.45}.schedule-issue-section>summary{padding:15px 16px}.schedule-issue-section>summary strong{font-size:15px}.schedule-issue-section>summary small{font-size:12px}.schedule-issue-list{padding:0 16px}.schedule-issue-card{gap:10px;padding:16px 0}.schedule-issue-card-head>strong{font-size:14px;line-height:1.35}.schedule-issue-context{gap:7px 20px}.schedule-issue-context span{font-size:12.5px;line-height:1.5}.schedule-issue-help{margin:0;color:#65798d;font-size:12.5px;line-height:1.5}.schedule-issue-resolution-card{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:16px;align-items:center;margin:14px 0;padding:14px 15px;border:1px solid #cfe0ef;border-radius:12px;background:#f7fbff}.schedule-issue-resolution-card>div{display:grid;gap:4px}.schedule-issue-resolution-card strong{font-size:14px;color:#24435f}.schedule-issue-resolution-card span{font-size:12px;color:#557087}.schedule-issue-resolution-card small{font-size:11.5px;line-height:1.45;color:#718397}.schedule-slot-issue strong{font-size:14px}.schedule-slot-issue span,.schedule-slot-issue small{font-size:12px!important;line-height:1.45}.schedule-import-pairs .table-wrap{max-height:560px}.schedule-import-pairs table{font-size:13px}.schedule-import-pairs th{font-size:11.5px;padding:10px 9px}.schedule-import-pairs td{padding:11px 9px;vertical-align:top;line-height:1.42}.schedule-import-pairs td strong{font-size:13px}.schedule-pair-course{display:grid;gap:5px;min-width:220px}.schedule-pair-course>strong{display:block}.schedule-pair-course>small{display:block;font-size:11.5px;line-height:1.4;margin:0}.schedule-week-pill{display:inline-flex;align-items:center;min-height:25px;padding:3px 8px;border-radius:999px;background:#edf4fb;color:#315979;font-size:11.5px;font-weight:800;white-space:nowrap}.schedule-import-actions{gap:9px;flex-wrap:wrap}.schedule-import-actions .btn{min-height:38px}
@media(max-width:900px){.schedule-issue-resolution-card{grid-template-columns:1fr}.schedule-import-preview{font-size:13px}}


/* LINEA 2.3.3 HOTFIX3 · exact RUT weeks + owner review actions */
.side-platform-mark span{display:block;max-width:190px}.side-platform-mark span+span{margin-top:1px;color:#a8bfd6}.student-platform-footer span{display:block;margin-left:0}
.schedule-import-entity{padding:13px 14px;gap:12px}.schedule-import-entity>div{gap:4px}.schedule-import-entity>div>strong{font-size:14px;line-height:1.28}.schedule-import-entity>span,.schedule-import-entity div>span{font-size:12px;line-height:1.4}.schedule-import-entity small{font-size:11.5px;line-height:1.42}.schedule-import-professional span{font-size:11.5px!important;line-height:1.4}.schedule-import-profile-edit summary{font-size:12px;font-weight:750}.schedule-import-include{font-size:12px}
.schedule-resolution-controls{display:grid;gap:8px;min-width:320px}.schedule-issue-resolution-card.nonblocking{border-color:#bfe0d0;background:#f7fcf9}.nonblocking-zone{border-color:#cfe6da;background:#fbfffd}.schedule-issue-card .badge.green{white-space:nowrap}.schedule-issue-card-head{gap:12px}.schedule-issue-card-head>strong{font-size:15px}.schedule-issue-context span{font-size:13px;line-height:1.55}.schedule-import-pairs table{font-size:13.5px}.schedule-import-pairs td{font-size:13px}.schedule-week-pill{font-size:12px}
@media(max-width:900px){.schedule-resolution-controls{min-width:0}.schedule-import-entity>div>strong{font-size:13.5px}}

/* LINEA 2.3.3 HOTFIX3 — non-blocking unresolved-group clarity */
.schedule-import-warning-row{background:color-mix(in srgb,#f59e0b 5%,transparent)}
.schedule-pair-groups{display:flex;flex-direction:column;gap:4px;min-width:150px}
.schedule-inline-warning{display:block;color:#9a6700;font-size:11.5px;line-height:1.35;font-weight:650;white-space:normal}

/* LINEA 2.3.3 HOTFIX6: schedule import publication table spacing */
.schedule-import-pairs td .block{display:block;margin-top:4px;line-height:1.25}.schedule-import-pairs td:nth-child(2){min-width:68px}.schedule-import-pairs td:nth-child(7){min-width:78px}.schedule-import-pairs td:nth-child(8){min-width:104px}.schedule-import-pairs td:nth-child(2)>strong{display:block;margin-bottom:2px}.schedule-import-pairs td:nth-child(7)>small{margin-top:4px}

/* LINEA 2.3.3 HOTFIX7: week-aware schedule views */
.schedule-week-context{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 10px;padding:7px 10px;border:1px solid #dfe7f0;border-radius:10px;background:#f8fbfe;color:#667a90;font-size:11px}.schedule-week-context strong{color:#244868;font-size:12px}.schedule-week-context small{margin-left:2px;color:#7b8b9c}.schedule-lesson-top>strong{min-width:0;flex:1}.schedule-lesson-tags{margin-left:auto;display:inline-flex;align-items:center;gap:4px;flex:0 0 auto}.schedule-week-tag,.schedule-compare-tag{display:inline-flex;align-items:center;min-height:17px;padding:1px 5px;border-radius:999px;font-size:9px;font-weight:850;line-height:1;white-space:nowrap}.schedule-week-tag{background:#edf3f8;color:#49647f;border:1px solid #d7e2ec}.schedule-week-tag.week-1{background:#eaf4ff;color:#266293;border-color:#cfe3f5}.schedule-week-tag.week-2{background:#f4edff;color:#68479a;border-color:#dfd0f3}.schedule-week-tag.week-both{background:#eef8f2;color:#2f7253;border-color:#d3eadc}.schedule-week-tag.week-unknown{background:#fff7e8;color:#8a650f;border-color:#ead89e}.schedule-compare-tag{margin-left:0;background:#dbeafd;color:#235f9d}.schedule-lesson-tags+.schedule-conflict-dot{margin-left:0}.schedule-free-count span{min-width:118px}.schedule-week-context+.friendly-empty{margin-top:0}@media(max-width:760px){.schedule-week-context{align-items:flex-start}.schedule-week-context small{width:100%;margin-left:0}.schedule-lesson-tags{gap:3px}}


/* LINEA 2.3.3 HOTFIX8: schedule reconcile + comfortable desktop scale */
.schedule-grid.schedule-days-5{grid-template-columns:92px repeat(5,minmax(178px,1fr))}.schedule-grid.schedule-days-7{grid-template-columns:92px repeat(7,minmax(178px,1fr))}
.schedule-grid-corner,.schedule-grid-day{padding:11px 9px;font-size:13px}
.schedule-grid-time{min-height:94px;padding:12px 8px;gap:4px}
.schedule-grid-time strong{font-size:15px}.schedule-grid-time span{font-size:10.8px;line-height:1.25}
.schedule-grid-cell{min-height:94px;padding:7px;gap:7px}
.schedule-lesson{gap:4px;padding:10px 11px;border-radius:11px}
.schedule-lesson strong{font-size:12.8px;line-height:1.28;white-space:normal;overflow:visible;text-overflow:clip}
.schedule-lesson .schedule-groups{font-size:11.5px;font-weight:800;line-height:1.28;color:#38536f}
.schedule-lesson .schedule-meta{font-size:10.8px;line-height:1.32;color:#61778e}
.schedule-lesson .schedule-teachers{font-size:10.6px;line-height:1.32;color:#6b7f93}
.schedule-week-tag,.schedule-compare-tag,.schedule-reconciled-tag{min-height:19px;padding:2px 6px;font-size:9.8px}
.schedule-reconciled-tag{display:inline-flex;align-items:center;border-radius:999px;background:#eef5fb;border:1px solid #d6e4ef;color:#4a6885;font-weight:850;line-height:1;white-space:nowrap}
.schedule-reconcile-note{padding-left:7px;border-left:1px solid #d7e2ec;color:#496984!important}
.schedule-conflict-dot{min-width:19px;height:19px;font-size:10.5px}
.schedule-week-context{font-size:11.8px;padding:8px 11px}.schedule-week-context strong{font-size:12.8px}
.schedule-person-facts strong{font-size:13px}.schedule-person-facts span,.schedule-room-facts span{font-size:11.5px}
@media(min-width:1500px){
  .schedule-grid.schedule-days-5{grid-template-columns:96px repeat(5,minmax(196px,1fr))}.schedule-grid.schedule-days-7{grid-template-columns:96px repeat(7,minmax(196px,1fr))}
  .schedule-grid-time{min-height:102px}.schedule-grid-cell{min-height:102px;padding:8px;gap:8px}
  .schedule-lesson{padding:11px 12px;gap:5px}
  .schedule-lesson strong{font-size:13.8px}.schedule-lesson .schedule-groups{font-size:12.3px}.schedule-lesson .schedule-meta{font-size:11.6px}.schedule-lesson .schedule-teachers{font-size:11.3px}
  .schedule-grid-corner,.schedule-grid-day{font-size:13.5px}.schedule-grid-time strong{font-size:16px}.schedule-grid-time span{font-size:11.2px}
  .schedule-week-tag,.schedule-compare-tag,.schedule-reconciled-tag{font-size:10.2px;min-height:20px}
}
@media(max-width:1100px){.schedule-grid{min-width:780px}}
/* LINEA 2.3.3 HOTFIX9: RUT queue, department staging, split comparison */
.schedule-rut-observed{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-rut-department{display:block;color:#355b7d!important;font-weight:750}.schedule-rut-source-main{display:grid;gap:2px;min-width:0}.schedule-rut-queue-tools{display:grid;grid-template-columns:minmax(180px,1fr) minmax(190px,.8fr);gap:8px;margin-bottom:9px}.schedule-rut-queue-tools select{border:1px solid #cfd8e5;border-radius:10px;padding:9px 10px;background:#fff}.schedule-rut-queue-kpis{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:9px}.schedule-rut-queue-kpis span{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid #dfe7f0;border-radius:999px;background:#f8fbfe;color:#5d7288;font-size:10.5px}.schedule-rut-queue-kpis b{color:#173f67;font-size:12px}.schedule-rut-queue-section{border:1px solid #e0e7ef;border-radius:11px;background:#fff;margin-top:8px;overflow:hidden}.schedule-rut-queue-section>summary{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;cursor:pointer;background:#f8fafc}.schedule-rut-queue-section>summary span{display:flex;align-items:center;gap:7px}.schedule-rut-queue-section>summary strong{font-size:12px}.schedule-rut-queue-section>summary small{display:inline-grid;place-items:center;min-width:21px;height:21px;border-radius:999px;background:#e7eef5;color:#45627e;font-weight:800}.schedule-rut-queue-section.changed>summary{background:#fff9eb}.schedule-rut-queue-section.needs>summary{background:#f3f8ff}.schedule-rut-queue-list{padding:0 9px}.schedule-rut-queue-list .schedule-rut-source{padding:9px 2px}.schedule-rut-queue-list .schedule-rut-source:last-child{border-bottom:0}.schedule-coteacher-actions{display:flex;gap:7px;flex-wrap:wrap}.schedule-coteacher-actions .btn:first-child{border-color:#d8dfeb;color:#536b83;background:#f8fafc}
.schedule-compare-head{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px}.schedule-compare-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}.schedule-compare-split>section{min-width:0;border:1px solid #dce5ee;border-radius:13px;background:#fbfdff;overflow:hidden}.schedule-compare-split>section>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid #dfe7ef;background:#f6f9fc}.schedule-compare-split>section>header strong{font-size:13px;color:#1d405f}.schedule-compare-split>section>header span{font-size:10px;color:#718399;text-align:right}.schedule-compare-mini-grid{display:grid;grid-template-columns:52px repeat(5,minmax(82px,1fr));min-width:0}.schedule-compare-mini-corner,.schedule-compare-mini-day{padding:6px 4px;border-right:1px solid #e3eaf1;border-bottom:1px solid #dce5ee;background:#f8fafc;text-align:center;font-size:9px;font-weight:850;color:#5c7186}.schedule-compare-mini-time{min-height:62px;padding:7px 3px;border-right:1px solid #e3eaf1;border-bottom:1px solid #e3eaf1;background:#fafcff;text-align:center;display:grid;align-content:start;gap:2px}.schedule-compare-mini-time strong{font-size:11px}.schedule-compare-mini-time span{font-size:8px;color:#7a8c9f}.schedule-compare-mini-cell{min-height:62px;padding:3px;border-right:1px solid #e7edf3;border-bottom:1px solid #e7edf3;display:grid;gap:3px;align-content:start;background:#fff}.schedule-compare-mini-card{position:relative;width:100%;border:1px solid #d9e4ee;border-left:3px solid #5a8ec7;border-radius:7px;background:#f7fbff;text-align:left;padding:5px 6px;display:grid;gap:2px;color:#29425d;overflow:hidden}.schedule-compare-mini-card.session-practice{border-left-color:#24a176;background:#f4fbf8}.schedule-compare-mini-card.session-lab{border-left-color:#9b6bd4;background:#faf6ff}.schedule-compare-mini-card.joint{box-shadow:inset 0 0 0 1px #e6bf58;background:#fff9ea}.schedule-compare-mini-card>div{display:flex;align-items:flex-start;gap:4px}.schedule-compare-mini-card strong{font-size:8.8px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.schedule-compare-mini-card span{font-size:8px;font-weight:750;line-height:1.2}.schedule-compare-mini-card small{font-size:7.5px;line-height:1.2;color:#6e8093}.schedule-compare-mini-card em{font-size:7.5px;font-style:normal;font-weight:850;color:#8a650f}.schedule-compare-mini-card .schedule-week-tag{font-size:7px;min-height:14px;padding:1px 4px;margin-left:auto}.schedule-compare-mini-conflict{position:absolute;right:3px;bottom:3px;display:grid;place-items:center;width:14px;height:14px;border-radius:50%;background:#ffe2a8;color:#8a5b00;font-size:8px}.schedule-compare-free{margin-top:12px;padding:11px 12px;border:1px solid #d9e5ef;border-radius:12px;background:#f8fbfe;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}.schedule-compare-free>div:first-child{display:grid;gap:2px;min-width:155px}.schedule-compare-free strong{font-size:12px;color:#244867}.schedule-compare-free>div:first-child span{font-size:9.5px;color:#72869a}.schedule-compare-free-chips{display:flex;gap:5px;flex-wrap:wrap}.schedule-compare-free-chips span{padding:4px 7px;border-radius:999px;background:#fff;border:1px solid #d7e2ec;color:#44647f;font-size:9.5px;font-weight:750}.schedule-compare-free-chips .none{background:#fff7e8;color:#8a650f;border-color:#ead89e}
@media(max-width:1250px){.schedule-compare-split{grid-template-columns:1fr}.schedule-compare-mini-grid{grid-template-columns:54px repeat(5,minmax(105px,1fr));overflow-x:auto}.schedule-compare-head{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.schedule-rut-queue-tools,.schedule-compare-head{grid-template-columns:1fr}.schedule-compare-free{grid-template-columns:1fr}.schedule-rut-observed{grid-template-columns:1fr}.schedule-compare-split>section{overflow-x:auto}.schedule-compare-mini-grid{min-width:620px}}

/* ===== LINEA 3.0.0-rc.2 — Identity & Organization Core ===== */
.identity-page-head{align-items:flex-start;gap:18px}.identity-page-head h1{margin-bottom:6px}.identity-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.identity-kpis>div{background:var(--surface,#fff);border:1px solid var(--border,#dfe5eb);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:3px}.identity-kpis strong{font-size:27px;line-height:1}.identity-kpis span{font-size:13px;color:var(--muted,#667085)}.identity-kpis .attention{border-color:#e7c36a;background:#fffaf0}.identity-toolbar-card{display:grid;grid-template-columns:minmax(320px,1.7fr) repeat(3,minmax(170px,.75fr));gap:12px;align-items:start;margin-bottom:12px}.identity-search-box>label{display:block;font-size:12px;font-weight:700;margin-bottom:6px}.identity-search-box>small{display:block;margin-top:6px;color:var(--muted,#667085)}.identity-autocomplete{position:relative}.identity-search-results{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:40;background:var(--surface,#fff);border:1px solid var(--border,#dfe5eb);border-radius:14px;box-shadow:0 18px 45px rgba(17,24,39,.16);padding:6px;max-height:330px;overflow:auto}.identity-search-results button{width:100%;border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:10px;display:flex;flex-direction:column;gap:3px;color:inherit;cursor:pointer}.identity-search-results button:hover{background:var(--surface-2,#f4f6f8)}.identity-search-results button strong{font-size:14px}.identity-search-results button span,.identity-search-empty{font-size:12px;color:var(--muted,#667085)}.identity-search-empty{padding:12px}.identity-source-strip{display:flex;align-items:center;gap:12px;padding:8px 3px 13px;color:var(--muted,#667085);font-size:13px}.identity-health{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--text,#1d2939)}.identity-health i{width:9px;height:9px;border-radius:99px;background:#98a2b3}.identity-health.healthy i{background:#12b76a}.identity-health.degraded i{background:#f79009}.identity-health.outage i{background:#f04438}.identity-directory{padding:0;overflow:hidden}.identity-directory-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--border,#e5e7eb)}.identity-person-list{display:flex;flex-direction:column}.identity-person-row{border:0;border-bottom:1px solid var(--border,#edf0f2);background:transparent;color:inherit;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;text-align:left;padding:14px 18px;cursor:pointer}.identity-person-index{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;align-self:center;border:1px solid var(--border,#dfe5eb);border-radius:9px;color:var(--muted,#667085);font-size:11px;font-weight:850;font-variant-numeric:tabular-nums;background:var(--surface-2,#f4f6f8)}.identity-person-row:last-child{border-bottom:0}.identity-person-row:hover{background:var(--surface-2,#f8fafb)}.identity-person-main{display:flex;flex-direction:column;gap:5px;min-width:0}.identity-person-main>strong{font-size:15px}.identity-person-main>span{font-size:12px;color:var(--muted,#667085);line-height:1.45}.identity-person-meta{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;font-size:12px}.identity-person-drawer{width:min(720px,96vw)}.identity-person-section{padding:16px 20px;border-top:1px solid var(--border,#e5e7eb)}.identity-person-section:first-of-type{border-top:0}.identity-person-section h3{margin:0 0 10px}.identity-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.identity-facts>div{border:1px solid var(--border,#e5e7eb);border-radius:13px;padding:12px;display:flex;flex-direction:column;gap:4px}.identity-facts small,.identity-facts span{font-size:11px;color:var(--muted,#667085)}.identity-facts strong{font-size:14px}.identity-affiliation-list,.identity-check-list{display:flex;flex-direction:column;gap:8px}.identity-affiliation-list>div,.identity-check-list>div{border:1px solid var(--border,#e5e7eb);border-radius:12px;padding:10px 12px;display:grid;gap:3px}.identity-affiliation-list span,.identity-affiliation-list small,.identity-check-list span,.identity-check-list small{font-size:12px;color:var(--muted,#667085)}.identity-change-card{border:1px solid #ead6a2;background:#fffaf0;border-radius:14px;padding:12px;margin-top:9px}.identity-change-card>strong{display:block;margin-bottom:9px}.identity-change-compare{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:10px}.identity-change-compare>div{background:rgba(255,255,255,.72);border:1px solid rgba(187,149,54,.2);border-radius:10px;padding:9px;min-width:0}.identity-change-compare small{display:block;color:var(--muted,#667085);margin-bottom:4px}.identity-change-compare div div{display:grid;gap:2px}.identity-change-compare div div small{color:var(--muted,#667085)}.identity-migration-modal .check-line{margin:14px 0;display:flex;align-items:flex-start;gap:9px}.identity-migration-modal .check-line input{margin-top:3px}
@media(max-width:1100px){.identity-kpis{grid-template-columns:repeat(2,1fr)}.identity-toolbar-card{grid-template-columns:1fr 1fr}.identity-search-box{grid-column:1/-1}.identity-facts{grid-template-columns:1fr}.identity-person-row{grid-template-columns:34px 1fr}.identity-person-meta{grid-column:2;justify-content:flex-start}.identity-person-index{grid-row:1/3;align-self:start}}
@media(max-width:680px){.identity-kpis{grid-template-columns:1fr 1fr}.identity-toolbar-card{grid-template-columns:1fr}.identity-search-box{grid-column:auto}.identity-change-compare{grid-template-columns:1fr}}
.identity-toolbar-card>.field{margin:0;display:grid;grid-template-rows:auto auto 30px;align-content:start}.identity-toolbar-card>.field>small{display:block;min-height:30px;margin-top:6px;color:var(--muted,#667085);font-size:11px;line-height:1.35}.identity-search-box{display:grid;grid-template-rows:auto auto 30px;align-content:start}.identity-search-box>small{min-height:30px}
.identity-view-tabs{display:inline-flex;gap:4px;padding:4px;margin:0 0 14px;border:1px solid var(--border,#dfe5eb);border-radius:13px;background:var(--surface,#fff)}.identity-view-tabs button{border:0;border-radius:9px;padding:8px 12px;background:transparent;color:var(--muted,#667085);font:inherit;font-size:12px;font-weight:800;cursor:pointer}.identity-view-tabs button.active{background:var(--accent,#1570ef);color:#fff}.identity-view-tabs button:hover:not(.active){background:var(--surface-2,#f4f6f8);color:var(--text,#1d2939)}
.identity-org-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.identity-org-tree{display:grid;gap:14px}.identity-org-group{border:1px solid var(--border,#dfe5eb);border-radius:16px;background:var(--surface,#fff);overflow:hidden}.identity-org-group-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;border-bottom:1px solid var(--border,#e5e7eb)}.identity-org-group-head>div{display:grid;gap:3px}.identity-org-group-head span,.identity-org-group-head small{font-size:11px;color:var(--muted,#667085)}.identity-org-group-head strong{font-size:15px}.identity-org-group-head a{font-size:11px;font-weight:800}.identity-org-children{display:grid}.identity-org-department{border:0;border-bottom:1px solid var(--border,#edf0f2);background:transparent;color:inherit;padding:13px 17px;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;cursor:pointer}.identity-org-department:last-child{border-bottom:0}.identity-org-department:hover{background:var(--surface-2,#f8fafb)}.identity-org-department>div{display:flex;align-items:center;gap:10px;min-width:0}.identity-org-department strong{font-size:13px}.identity-org-department>span{font-size:11px;color:var(--muted,#667085);white-space:nowrap}.identity-org-code{display:inline-flex;min-width:58px;justify-content:center;border:1px solid var(--border,#dfe5eb);border-radius:999px;padding:4px 7px;font-size:10px;font-weight:850;color:var(--text,#1d2939);background:var(--surface-2,#f4f6f8)}
.identity-org-sync-list{display:grid;gap:7px;max-height:420px;overflow:auto;margin:12px 0}.identity-org-sync-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--border,#e5e7eb);border-radius:11px}.identity-org-sync-row>div{display:grid;gap:2px}.identity-org-sync-row small{font-size:11px;color:var(--muted,#667085)}
.identity-add-staff-modal{max-width:760px}.identity-add-staff-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:12px}.identity-rut-add{margin:12px 0;padding:14px;border:1px solid var(--border,#dfe5eb);border-radius:14px;background:var(--surface-2,#f8fafb);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.identity-rut-preview{grid-column:1/-1;border-top:1px solid var(--border,#dfe5eb);padding-top:12px;display:grid;gap:10px}.identity-rut-preview-main{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.identity-rut-preview-main>div{display:grid;gap:3px}.identity-rut-preview-main span,.identity-rut-preview-main small{font-size:11px;color:var(--muted,#667085)}.identity-rut-preview-main strong{font-size:15px}.identity-rut-positions{display:grid;gap:6px}.identity-rut-positions>div{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--border,#dfe5eb);border-radius:10px;background:var(--surface,#fff)}.identity-rut-positions small{font-size:11px;color:var(--muted,#667085)}.identity-rut-match-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.identity-manual-add{position:relative;margin-top:12px;padding-top:12px;border-top:1px solid var(--border,#e5e7eb);display:grid;gap:10px}.identity-inline-results{position:relative;top:auto;left:auto;right:auto;margin-top:-6px}
@media(max-width:900px){.identity-org-kpis{grid-template-columns:1fr 1fr}.identity-add-staff-grid{grid-template-columns:1fr}.identity-rut-add{grid-template-columns:1fr}.identity-rut-add>.btn{width:100%}.identity-org-department{align-items:flex-start;flex-direction:column}.identity-org-department>span{white-space:normal}}
@media(max-width:680px){.identity-view-tabs{display:grid;grid-template-columns:1fr;width:100%}.identity-org-kpis{grid-template-columns:1fr}.identity-rut-preview-main{flex-direction:column}.identity-toolbar-card>.field,.identity-search-box{grid-template-rows:auto auto auto}.identity-toolbar-card>.field>small,.identity-search-box>small{min-height:0}}

/* ===== Identity & Organization Core end ===== */
.schedule-rut-search-wrap{position:relative;min-width:320px}.schedule-rut-search-results{top:calc(100% + 5px);left:0;right:0}.schedule-rut-source.search-focus{outline:2px solid #5376a8;outline-offset:2px;transition:outline-color .2s ease}

/* LINEA 3.0.0-rc.2 schedule history */
.schedule-import-history{border:1px solid #dfe7ef;border-radius:12px;background:#fff;overflow:hidden}.schedule-import-history>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;list-style:none}.schedule-import-history>summary::-webkit-details-marker{display:none}.schedule-import-history>summary strong{font-size:12px;color:#284761}.schedule-import-history>summary span{font-size:10px;color:#718397}.schedule-import-history[open]>summary{border-bottom:1px solid #e7edf3;background:#f8fbfe}.schedule-import-history-list{max-height:420px;overflow:auto;padding:0 12px}


/* ===== LINEA 3.0.0-rc.2 — Owner teacher-view preview ===== */
.teacher-view-toggle{width:100%;margin:7px 0 4px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(255,255,255,.08);color:inherit;padding:9px 10px;font:inherit;font-size:11px;font-weight:750;text-align:left;cursor:pointer}.teacher-view-toggle:hover{background:rgba(255,255,255,.14)}
.teacher-view-banner{margin:12px 18px 0;padding:10px 13px;border:1px solid #c7d7ea;border-radius:13px;background:#f3f8ff;color:#244867;display:flex;align-items:center;justify-content:space-between;gap:16px}.teacher-view-banner>div{display:grid;gap:2px}.teacher-view-banner strong{font-size:12px}.teacher-view-banner span{font-size:10.5px;color:#607a94}.teacher-view-banner button{border:1px solid #b6cbe2;border-radius:9px;background:#fff;color:#315779;padding:7px 10px;font:inherit;font-size:10.5px;font-weight:800;white-space:nowrap;cursor:pointer}.teacher-view-banner button:hover{background:#eaf3fc}
@media(max-width:760px){.teacher-view-banner{margin:8px 10px 0;align-items:flex-start;flex-direction:column}.teacher-view-banner button{width:100%}}
/* ===== Owner teacher-view preview end ===== */


/* LINEA 3.0 RC3 — teacher-first shell + schedule consistency UX */
.brand-title-row{display:flex;align-items:center;gap:7px;min-width:0}.brand-role-badge{display:inline-flex;align-items:center;min-height:17px;padding:2px 6px;border:1px solid #35577b;border-radius:999px;background:#173a63;color:#dcecff;font-size:8px;font-weight:850;letter-spacing:.02em;white-space:nowrap}.brand-role-badge.owner{border-color:#7c6740;background:#3f3420;color:#ffe8b3}.teacher-view-banner{display:none!important}.teacher-view-toggle{width:100%;text-align:left}
.schedule-grid{max-height:calc(100vh - 300px)}.schedule-grid.schedule-days-5{grid-template-columns:82px repeat(5,minmax(160px,1fr))}.schedule-grid.schedule-days-7{grid-template-columns:82px repeat(7,minmax(160px,1fr))}.schedule-grid-time,.schedule-grid-cell{min-height:74px}.schedule-grid-time{padding:8px 6px}.schedule-grid-cell{padding:5px;gap:4px}.schedule-grid-corner,.schedule-grid-day{padding:8px 7px}.schedule-lesson{padding:6px 7px;gap:2px}.schedule-lesson strong{font-size:10.5px}.schedule-lesson>span{font-size:9.5px}.schedule-lesson small{font-size:9px}.schedule-grid-day{z-index:6}.schedule-grid-corner{z-index:8}.schedule-grid-time{z-index:5}
.schedule-compare-matrix{display:grid;grid-template-columns:48px repeat(5,minmax(90px,1fr)) 48px repeat(5,minmax(90px,1fr));min-width:1180px;border:1px solid #dce5ee;border-radius:13px;overflow:auto;max-height:calc(100vh - 310px);background:#e3eaf1}.schedule-compare-teacher-head{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;background:#edf5fc;border-bottom:1px solid #d5e2ee;color:#1d405f}.schedule-compare-teacher-head.left{grid-column:1/7}.schedule-compare-teacher-head.right{grid-column:7/13}.schedule-compare-teacher-head strong{font-size:12px}.schedule-compare-teacher-head span{font-size:9px;color:#718399}.schedule-compare-matrix .schedule-compare-mini-corner,.schedule-compare-matrix .schedule-compare-mini-day{position:sticky;top:36px;z-index:7}.schedule-compare-matrix .schedule-compare-mini-time,.schedule-compare-matrix .schedule-compare-mini-cell{min-height:64px}.schedule-compare-matrix .schedule-compare-mini-time{position:sticky;z-index:4;background:#fafcff}.schedule-compare-matrix .schedule-compare-mini-time:nth-child(12n + 1){left:0}.schedule-compare-matrix .schedule-compare-mini-cell{background:#fff}.schedule-compare-split{display:none!important}
@media(max-width:1100px){.schedule-grid{max-height:calc(100vh - 275px)}.schedule-compare-matrix{max-height:calc(100vh - 285px)}}
@media(max-width:760px){.schedule-grid{max-height:none}.schedule-compare-matrix{min-width:1180px;max-height:none}.brand-role-badge{font-size:7.5px}}


/* LINEA 3.0.0-rc.5 — academic responsibility and stable role hierarchy */
.brand .brand-l{width:40px;height:40px;min-width:40px;min-height:40px;flex:0 0 40px;border-radius:50%}
.brand-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.brand-copy>strong{line-height:1.05}
.brand-copy>small{display:block;margin-top:2px}
.brand-role-badge{display:block;margin-top:4px;max-width:190px;white-space:normal;line-height:1.15}

/* LINEA 3.0.0-rc.6 — acceptance hotfix */
.server-clock-stack{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.server-clock-stack .server-clock{margin-left:0}
.active-session-chip{margin-left:0!important;min-width:190px;padding:10px 14px!important;border-radius:13px!important;text-align:right!important}
.active-session-chip strong{font-size:14px!important;line-height:1.2}.active-session-chip span{font-size:11.5px!important;margin-top:4px!important}
.week-more{margin-top:4px;border:1px solid #c9d8e7;background:#f7fbff;color:#27557d;border-radius:9px;padding:5px 8px;font-size:9.5px;font-weight:800;cursor:pointer}
.week-more:hover{background:#eaf5ff;border-color:#9fc1df}
.notice-context{margin-top:4px!important;color:#456985!important;font-weight:700}
.management-hero h1{font-size:28px}.management-hero .eyebrow{font-size:10px;letter-spacing:.11em}
.management-context{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}.management-context>span{padding:6px 9px;border:1px solid #d8e4ef;background:#f8fbfe;border-radius:9px;font-size:11px;font-weight:760;color:#36536f}
.management-role-line{font-size:12px;color:#60768d;margin-top:8px}.management-role-line strong{color:#173a63;font-size:13px}
.management-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.side-user{font-size:12px!important;font-weight:850}.side-role{font-size:10.5px!important;margin-top:3px}.brand-role-badge{font-size:9px!important;padding:4px 7px!important}
.schedule-free-slots{margin-top:14px;padding-top:12px;border-top:1px solid #dfe8f0}.schedule-free-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.schedule-free-pills span{padding:6px 8px;border:1px solid #d7e4ef;border-radius:999px;background:#f6fafe;font-size:10px;font-weight:750;color:#385b79}
.schedule-participation-note{margin-bottom:10px}.schedule-issue-list{display:grid;gap:7px}.schedule-issue-row{display:grid;gap:3px;text-align:left;width:100%;border:1px solid #dce6ef;background:#fff;border-radius:11px;padding:10px 12px;cursor:pointer}.schedule-issue-row:hover{border-color:#9ebedc;background:#f8fbff}.schedule-issue-row strong{color:#193e60}.schedule-issue-row span,.schedule-issue-row small{font-size:10px;color:#61778b}.schedule-issue-row small{font-weight:800;color:#8b5a00}
.identity-bulk-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.identity-bulk-summary>div{border:1px solid #dce6ef;background:#f8fbfe;border-radius:11px;padding:10px;display:grid;gap:3px}.identity-bulk-summary strong{font-size:22px;color:#173a63}.identity-bulk-summary span{font-size:9px;color:#6e8194}
@media(max-width:760px){.server-clock-stack{gap:4px}.active-session-chip{min-width:0}.management-source-grid,.identity-bulk-summary{grid-template-columns:1fr 1fr}}

/* RC6.1 acceptance fixes */
.home-info-column{display:flex;flex-direction:column;gap:14px;align-self:start}.home-info-column>.card{width:100%}.home-notices-card .notice-home-row{align-items:flex-start}.notice-clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.student-login-entry{display:block;text-align:center;text-decoration:none;margin-top:10px}
.student-pair-shell{max-width:720px;margin:0 auto;padding:28px 18px}.student-pair-card{background:#fff;border:1px solid #dbe3ec;border-radius:26px;padding:26px;box-shadow:0 18px 50px rgba(15,39,71,.09)}.student-pair-qr{width:min(360px,80vw);height:min(360px,80vw);margin:20px auto;display:flex;align-items:center;justify-content:center}.student-pair-qr img,.student-pair-qr canvas{max-width:100%;height:auto}.student-pair-code{text-align:center;font-size:34px;letter-spacing:.16em;font-weight:800;color:#0f2747}.student-pair-device{text-align:center;color:#667085;margin:8px 0 16px}.student-pair-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.student-device-list{display:grid;gap:10px;margin-top:12px}.student-device-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 14px;border:1px solid #e1e7ef;border-radius:14px}.student-device-row small{display:block;color:#667085}.student-device-badge{white-space:nowrap}.student-device-help{margin-top:14px;padding:14px;border-radius:14px;background:#f4f7fb;color:#344054}.management-hero+.home-today-anchor{margin-top:0}
@media(max-width:760px){.student-device-row{align-items:flex-start;flex-direction:column}}

/* LINEA 3.0.0-rc.6.2 — acceptance/access/operations polish */
.toast{font-size:16px!important;line-height:1.42!important;padding:15px 18px!important;max-width:min(620px,calc(100vw - 28px))!important;border-radius:14px!important;box-shadow:0 16px 44px rgba(18,35,59,.2)!important}
/* One semantic palette across home + schedule: lecture blue, practice green, lab lilac. */
.session-type-lab,.home-week-primary .week-session.session-type-lab{background:#f7f0ff!important;border-color:#d9c4f2!important;border-left-color:#8f63c9!important;color:#4d3571!important}
.schedule-type-badge{display:inline-flex;align-items:center;padding:2px 6px;border-radius:999px;font-size:10px;font-weight:850;margin-right:5px;border:1px solid transparent}
.schedule-type-badge.session-lecture{background:#edf5ff;color:#245f98;border-color:#cfe2f5}.schedule-type-badge.session-practice{background:#eaf8f1;color:#216c50;border-color:#c7e8d8}.schedule-type-badge.session-lab{background:#f4edff;color:#674398;border-color:#ddcff1}.schedule-type-badge.session-other{background:#f1f4f7;color:#53697c;border-color:#dce4eb}
.schedule-meta{display:flex!important;gap:4px;align-items:center;flex-wrap:wrap}.schedule-week-tag{font-size:10.5px!important;min-height:21px!important;padding:3px 7px!important}.schedule-personal-tag{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:#fff7df;border:1px dashed #d6ad4e;color:#7a5810;font-size:10px;font-weight:850}.schedule-lesson.personal-overlay{outline:1px dashed #d6ad4e}
.schedule-readonly-modal .schedule-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.schedule-detail-grid>div{display:grid;gap:4px;padding:11px;border:1px solid #e0e8f0;border-radius:11px;background:#f9fbfd}.schedule-detail-grid>div>span{font-size:11px;color:#718398}.schedule-detail-grid>div>strong{font-size:14px}.schedule-detail-grid .span-2{grid-column:1/-1}
.schedule-personal-modal{max-width:720px}.schedule-personal-modal textarea{resize:vertical}.service-note.attention{border-color:#efd18b;background:#fff9e8}
.schedule-compare-matrix{font-size:1.06em}.schedule-compare-mini-time,.schedule-compare-mini-cell{min-height:76px!important}.schedule-compare-mini-card{padding:7px 8px!important}.schedule-compare-mini-card strong{font-size:10.5px!important}.schedule-compare-mini-card span{font-size:9.5px!important}.schedule-compare-mini-card small{font-size:9px!important}.schedule-compare-teacher-head strong{font-size:15px!important}
.schedule-free-slots{margin-top:14px;padding:0;border:1px solid #d9e5ef;border-radius:12px;background:#f8fbfe}.schedule-free-slots>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:12px 14px;list-style:none}.schedule-free-slots>summary::-webkit-details-marker{display:none}.schedule-free-slots>summary>div{display:grid;gap:2px}.schedule-free-pills{padding:0 14px 14px}
.room-availability{margin-bottom:16px;padding:14px;border:1px solid #dce6ef;border-radius:14px;background:#fbfdff}.room-availability-days{display:grid;gap:12px;margin-top:12px}.room-availability-days article{border:1px solid #e1e8ef;border-radius:11px;overflow:hidden;background:#fff}.room-availability-days article>header{padding:8px 10px;background:#f3f7fb;font-weight:850}.room-availability-table{display:grid;grid-template-columns:72px repeat(var(--room-count,2),minmax(130px,1fr));overflow:auto}.room-av-corner,.room-av-room,.room-av-time,.room-av-cell{min-height:48px;padding:7px;border-right:1px solid #e6ecf2;border-bottom:1px solid #e6ecf2}.room-av-corner,.room-av-room{background:#f8fafc;font-size:11px;font-weight:850}.room-av-time{display:grid;align-content:center;text-align:center}.room-av-time span{font-size:10px;color:#728397}.room-av-cell{display:grid;align-content:center;gap:2px;text-align:left;border-top:0;border-left:0;background:#fff}.room-av-cell.free{background:#f3fbf7;color:#276c52}.room-av-cell.occupied{color:#314a64}.room-av-cell small{font-size:9.5px;color:#728397}.session-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.session-dot.session-lecture{background:#5e9bd5}.session-dot.session-practice{background:#36a57d}.session-dot.session-lab{background:#9564cc}
.home-date-strip{display:grid;grid-template-columns:110px minmax(240px,1fr) minmax(190px,.42fr);max-width:880px;border:1px solid #cfe0ef;border-radius:14px;overflow:hidden;background:#fff;margin:-5px 0 14px}.home-date-strip>div{padding:11px 16px;display:grid;align-content:center}.home-date-today{background:#173d67;color:#fff;font-weight:850;text-transform:uppercase;font-size:11px}.home-date-main{border-right:1px solid #d8e4ef}.home-date-main strong{font-size:17px}.home-date-main span,.home-date-week span{font-size:11px;color:#728398}.home-date-week{background:#edf9f7;text-align:center}.home-date-week strong{font-size:15px;color:#146a62}.management-attention-list{margin-top:10px}.system-health-card .health-dot{width:12px;height:12px;border-radius:50%;background:#aeb9c4}.system-health-card .health-dot.ok{background:#25a36f;box-shadow:0 0 0 5px #e7f7f0}.health-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.health-metrics>div{display:grid;gap:2px;padding:8px;border-radius:9px;background:#f5f8fb}.health-metrics span{font-size:10px;color:#728398}.health-metrics strong{font-size:14px}.management-source-inline{display:flex;gap:18px;flex-wrap:wrap;margin-top:5px;font-size:11px;color:#718398}
.notice-home-edit{align-self:flex-start;flex:0 0 auto}.capability-catalog{display:grid;gap:14px;margin-top:14px}.capability-card{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(260px,.45fr);gap:16px;align-items:start}.capability-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#edf4fb;color:#214d7c;font-size:24px;font-weight:800}.capability-request-area{display:grid;gap:8px}.capability-philosophy{margin-bottom:14px}.capability-philosophy p{margin:5px 0 0;color:#65788e}
.identity-bulk-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.identity-bulk-summary button,.identity-bulk-summary>div{display:grid;gap:2px;text-align:left;padding:10px;border:1px solid #dce5ed;border-radius:10px;background:#f8fbfd}.identity-bulk-summary strong{font-size:19px}.identity-bulk-summary span{font-size:10px;color:#728397}.identity-bulk-results{max-height:340px;overflow:auto;border:1px solid #e2e8ef;border-radius:11px}.identity-bulk-result{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid #edf1f5}.identity-bulk-result:last-child{border-bottom:0}.identity-bulk-result>div{display:grid;gap:2px}.identity-bulk-result small{color:#708399}
.system-collapsible{padding:0!important}.system-collapsible>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 17px;cursor:pointer;list-style:none}.system-collapsible>summary::-webkit-details-marker{display:none}.system-collapsible[open]>summary{border-bottom:1px solid #e2e8ef}.system-collapsible>*:not(summary){margin:14px 17px}.system-access-intro{background:#fafdff}.module-request-admin .list-row{margin-top:8px}
@media(max-width:900px){.home-date-strip{grid-template-columns:90px 1fr}.home-date-week{grid-column:1/-1}.capability-card{grid-template-columns:auto 1fr}.capability-request-area{grid-column:1/-1}.identity-bulk-summary{grid-template-columns:1fr 1fr}.room-availability-table{min-width:430px}}

/* RC6.3 — canonical access management and owner operational hierarchy */
.side-role{font-size:12px!important;line-height:1.25!important;font-weight:750!important;color:#c2d3e5!important}
.brand-role-badge{font-size:11px!important;padding:5px 9px!important;line-height:1.1!important;min-height:23px!important;width:max-content;max-width:190px}
.brand-role-badge.owner{font-size:11.5px!important;padding:5px 10px!important}
.special-role-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:850;background:#e9f1fa;color:#274f78;border:1px solid #cfdfef}.special-role-badge.owner{background:#fff4d8;color:#76530d;border-color:#ead092}
.access-account-list{display:grid;gap:7px;margin-top:13px}.access-account-row{display:grid;grid-template-columns:minmax(210px,1fr) minmax(300px,1.6fr) auto auto;gap:12px;align-items:center;padding:12px 13px;border:1px solid #e4eaf1;border-radius:13px;background:#fff}.access-account-row.owner-account{background:#fffdf8;border-color:#ebdfc2}.access-account-person{display:grid;gap:3px}.access-account-person strong{font-size:14px}.access-account-person span{font-size:11px;color:#728297}.access-account-roles{display:flex;gap:6px;flex-wrap:wrap}.access-role-chip{display:grid;gap:2px;border-radius:10px;padding:6px 8px;background:#f1f6fb;border:1px solid #dce7f1}.access-role-chip b{font-size:11px;color:#173a63}.access-role-chip small{font-size:9px;color:#6d7f92}.canonical-role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;margin-top:12px}.canonical-role-card{border:1px solid #e0e8f0;border-radius:14px;padding:13px;background:#fbfdff}.canonical-role-card.root-role{background:#fffdf8;border-color:#eadfc5}.canonical-role-card p{font-size:11px;color:#687a8e;margin:7px 0 8px}.role-scope-hint{font-size:10px;color:#66788b;font-weight:700}.role-capabilities{margin-top:9px}.role-capabilities>summary{font-size:10px;font-weight:800;color:#315879;cursor:pointer}.access-model-note{margin-top:13px}.access-assignment-list{display:grid;gap:9px;margin:12px 0}.access-assignment-option{display:grid;grid-template-columns:minmax(280px,1fr) minmax(180px,.8fr);gap:10px;align-items:center;border:1px solid #e1e8f0;border-radius:12px;padding:10px;background:#fbfdff}.access-assignment-option label{display:flex;gap:9px;align-items:flex-start}.access-assignment-option label span{display:grid;gap:2px}.access-assignment-option label small{font-size:10px;color:#728297;font-weight:500}.access-assignment-option select{border:1px solid #ced9e5;border-radius:9px;padding:8px;background:#fff}.owner-security-collapsible .security-tabs{margin-top:12px}.system-security-head{align-items:flex-start}.system-technical-actions{display:flex;gap:8px;flex-wrap:wrap}
/* Restore the original warm laboratory semantic colour. */
.session-type-lab{background:#fff5e5!important;border-color:#efd8aa!important;color:#966300!important}.home-week-primary .week-session.session-type-lab{background:#fff0cf!important;border:1px solid #ecc87e!important;border-left-color:#b97810!important;color:#775000!important}
@media(max-width:1100px){.access-account-row{grid-template-columns:1fr}.access-assignment-option{grid-template-columns:1fr}.canonical-role-grid{grid-template-columns:1fr}}

/* RC6.7 student entry and profile responsive UX hotfix */
.login-card{width:min(460px,calc(100vw - 32px));padding:34px}.login-card h1{font-size:34px;line-height:1.08;margin:12px 0}.login-card>.muted{line-height:1.45;margin-bottom:20px}.login-card .form .btn{width:100%;min-height:46px}.student-login-entry{display:grid;width:100%;min-height:58px;margin:12px 0 4px;padding:10px 16px;place-content:center;gap:2px;border:1px solid #1769d2;border-radius:12px;background:#1769d2;color:#fff;text-align:center;text-decoration:none;box-shadow:0 6px 16px rgba(23,105,210,.16);transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.student-login-entry strong{font-size:15px;line-height:1.2}.student-login-entry span{font-size:12px;line-height:1.2;color:#eaf3ff}.student-login-entry:hover{background:#0f5fbe;transform:translateY(-1px);box-shadow:0 9px 20px rgba(23,105,210,.22)}.login-secondary-entry{display:block}.login-card #loginSystemEntry,.login-card #loginStaffEntry{margin:9px auto 0}
.student-bg{min-height:100vh;background:radial-gradient(circle at 20% 0,#e7f0ff,#f4f7fb 50%)}.student-login-card{width:min(520px,100%);margin:0 auto;padding:32px}.student-login-card .brand-mark{display:grid;place-items:center;width:54px;height:54px;margin-bottom:16px;border-radius:50%;background:#101828;color:#fff;font-size:25px;font-weight:900}.student-login-card h1{margin:8px 0 12px;font-size:34px;line-height:1.1}.student-login-card>p{line-height:1.5}.student-login-form{display:grid;gap:14px;margin-top:22px}.student-form-field{display:grid;gap:7px;min-width:0;color:#24364d;font-size:13px;font-weight:800}.student-form-field input{display:block;width:100%;min-width:0;height:46px;border:1px solid #cfd8e5;border-radius:11px;padding:10px 12px;background:#fff;color:#12233b;outline:0}.student-form-field input:focus{border-color:#8eb8ee;box-shadow:0 0 0 3px #e8f2ff}.student-login-form .btn,.student-trusted-login{width:100%;min-height:46px}.student-trusted-login{margin-top:10px}.student-login-card .student-device-help{margin-top:18px;line-height:1.45}.student-login-card .student-pair-actions{margin-top:18px}
.student-profile-head{margin-bottom:14px}.student-profile-card{margin-top:14px}.student-profile-facts{padding-top:6px;padding-bottom:6px}.student-profile-row{display:grid;grid-template-columns:minmax(150px,.4fr) minmax(0,1fr);gap:24px;align-items:center;padding:15px 0;border-bottom:1px solid #edf1f5}.student-profile-row:last-child{border-bottom:0}.student-profile-row>span{font-size:13px;font-weight:800;color:#25364a}.student-profile-row>strong{text-align:right;font-size:14px;line-height:1.35;overflow-wrap:anywhere}.student-profile-login{color:#173a63}.student-profile-help{max-width:820px;margin-top:4px!important;line-height:1.5}.student-profile-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:17px}.student-profile-submit{grid-column:1/-1;justify-self:start;min-width:190px}.student-device-request{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.55fr);gap:12px;align-items:end;margin-top:14px}.student-device-request .student-device-help{grid-column:1/-1;margin:0}.student-device-request .btn{min-height:46px}.student-device-row>div:first-child{min-width:0}.student-device-row strong,.student-device-row small{overflow-wrap:anywhere}
@media(max-width:720px){.login-wrap{padding:12px}.login-card{width:100%;padding:24px;border-radius:22px}.login-card h1{font-size:29px}.student-login-entry{min-height:60px}.student-pair-shell{padding:16px 12px}.student-login-card{padding:24px 20px;border-radius:22px}.student-login-card h1{font-size:30px}.student-profile-row{grid-template-columns:1fr;gap:5px;padding:14px 0}.student-profile-row>span{font-size:12px;color:#667085}.student-profile-row>strong{text-align:left;font-size:15px}.student-profile-form,.student-device-request{grid-template-columns:1fr}.student-profile-submit{grid-column:auto;width:100%;justify-self:stretch}.student-device-request .student-device-help{grid-column:auto}.student-device-row{display:grid;gap:10px;align-items:start}.student-device-row .student-pair-actions{justify-content:flex-start;margin-top:0}.student-profile-card{padding:18px}.student-profile-card h2{font-size:22px}}

/* RC6.7 student dashboard: attendance visual, course spacing and trusted-phone feedback */
.student-course-grid{gap:24px;align-items:start}.course-cards{gap:20px;align-items:start}.student-attendance-visual{display:grid;grid-template-columns:118px minmax(0,1fr);gap:18px;align-items:center;margin-top:12px;padding:14px;border:1px solid #dfe7ef;border-radius:15px;background:linear-gradient(135deg,#fbfdff,#f5f9fd)}.student-attendance-donut{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(#229a68 0 calc(var(--present)*1%),#d65b57 calc(var(--present)*1%) calc((var(--present) + var(--absent))*1%),#e3a63b calc((var(--present) + var(--absent))*1%) calc((var(--present) + var(--absent) + var(--excused))*1%),#65a9d4 calc((var(--present) + var(--absent) + var(--excused))*1%) calc((var(--present) + var(--absent) + var(--excused) + var(--notified))*1%),#d9e1ea calc((var(--present) + var(--absent) + var(--excused) + var(--notified))*1%) 100%);box-shadow:inset 0 0 0 1px rgba(20,50,84,.05)}.student-attendance-donut:after{content:'';position:absolute;inset:15px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(20,50,84,.08)}.student-attendance-donut>div{position:relative;z-index:1;display:grid;text-align:center}.student-attendance-donut strong{font-size:22px;line-height:1;color:#173a63}.student-attendance-donut span{margin-top:4px;color:#718096;font-size:9px;font-weight:750}.student-attendance-visual-details{display:grid;gap:12px}.student-attendance-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px}.student-attendance-legend span{display:flex;align-items:center;gap:7px;color:#52667e;font-size:11px}.student-attendance-legend span:before{content:'';width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#d9e1ea}.student-attendance-legend span b{margin-left:auto;color:#24364d}.student-attendance-legend .present:before{background:#229a68}.student-attendance-legend .absent:before{background:#d65b57}.student-attendance-legend .excused:before{background:#e3a63b}.student-attendance-legend .notified:before{background:#65a9d4}.student-plan-progress{display:grid;gap:6px;color:#6c7f94;font-size:10px}.student-plan-progress i{display:block;height:6px;overflow:hidden;border-radius:999px;background:#dfe7ef}.student-plan-progress i b{display:block;height:100%;border-radius:inherit;background:#4d86c2}.student-attendance-types{margin-top:15px}.student-attendance-types>strong{display:block;margin-bottom:9px;color:#344054;font-size:12px}.student-attendance-empty{display:grid;gap:4px;margin-top:12px;padding:14px;border:1px dashed #cfdae6;border-radius:14px;background:#f8fafc;color:#738196}.student-attendance-empty strong{color:#52667e;font-size:12px}.student-attendance-empty span,.student-attendance-empty small{font-size:11px}.student-trusted-status{margin-top:10px;border-radius:11px;padding:11px 12px;font-size:12px;font-weight:700;line-height:1.4}.student-trusted-status.warning{border:1px solid #f0d6a7;background:#fff8e8;color:#8a5a00}.student-trusted-status.success{border:1px solid #bfe5d2;background:#eefaf4;color:#087a55}.student-trusted-login:disabled{cursor:wait;opacity:.72}
@media(max-width:720px){.student-course-grid{gap:18px}.student-course-grid>.span-6{margin-bottom:0}.course-cards{gap:16px}.student-attendance-visual{grid-template-columns:96px minmax(0,1fr);gap:12px;padding:12px}.student-attendance-donut{width:92px;height:92px}.student-attendance-donut:after{inset:13px}.student-attendance-donut strong{font-size:18px}.student-attendance-legend{grid-template-columns:1fr}.student-trusted-login{line-height:1.25}}

/* RC6.7 student upcoming lessons: visible separation without inflating the list */
.student-main .session-row+.session-row{margin-top:6px}


/* LINEA 3.0.0-rc.6.4 comprehensive acceptance */
.week-session.session-type-lab{background:#fff3d6!important;border-color:#edd29a!important;border-left-color:#d89b28!important;color:#5d481c!important}.schedule-lesson.session-lab,.schedule-compare-mini-card.session-lab{background:#fff8e8!important;border-color:#ead7a7!important;border-left-color:#d89b28!important}.schedule-type-badge.session-lab{background:#fff2cf!important;color:#76530d!important;border-color:#efd59b!important}.session-dot.session-lab{background:#d89b28!important}
.brand-role-badge.owner{font-size:13px!important;padding:6px 11px!important;min-height:27px!important}.side-role{font-size:13px!important;font-weight:800!important}
.room-selector-card{display:grid;grid-template-columns:minmax(220px,330px) minmax(280px,1fr) auto;gap:14px;align-items:end;padding:14px;border:1px solid #dce6ef;border-radius:14px;background:#fbfdff;margin-bottom:14px}.room-selector-field select{font-size:15px;font-weight:850}.schedule-room-hero{display:grid;gap:2px;align-content:center}.schedule-room-hero strong{font-size:24px;line-height:1;color:#153b60}.schedule-room-hero span{font-size:13px;font-weight:800;color:#35526d}.schedule-room-hero small{font-size:11px;color:#71859a}.room-free-details,.schedule-free-grouped{margin-top:14px;border:1px solid #d9e5ef;border-radius:13px;background:#f8fbfe;overflow:hidden}.room-free-details>summary,.schedule-free-grouped>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;cursor:pointer;list-style:none}.room-free-details>summary>div,.schedule-free-grouped>summary>div{display:grid;gap:3px}.free-day-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;padding:0 14px 14px}.free-day-grid section{border:1px solid #dfe8f0;border-radius:10px;background:#fff;overflow:hidden}.free-day-grid h4{margin:0;padding:8px 10px;background:#f2f7fb}.free-slot-row{display:flex;justify-content:space-between;gap:8px;padding:7px 10px;border-top:1px solid #edf1f5;font-size:11px}.free-slot-row span{color:#647c92}.schedule-mine-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;padding:11px 13px;border:1px solid #dbe6ef;border-radius:12px;background:#f8fbfe}.schedule-mine-actions>div{display:grid;gap:2px}.schedule-mine-actions span{font-size:10.5px;color:#6b8195}.find-window-results{display:grid;gap:8px;margin-top:14px}.find-window-choice{border:1px solid #d7e5ef;border-radius:11px;background:#fff;text-align:left;padding:11px 13px;display:grid;grid-template-columns:1fr auto;gap:3px 10px;color:#294861}.find-window-choice:hover{border-color:#81afd8;background:#f7fbff}.find-window-choice span{font-size:11px}.find-window-choice small{grid-column:2;grid-row:1/3;align-self:center;color:#3973a5;font-weight:800}.schedule-compare-mini-grid{grid-template-columns:58px repeat(5,minmax(105px,1fr))}.schedule-compare-mini-time,.schedule-compare-mini-cell{min-height:78px}.schedule-compare-mini-card{padding:7px}.schedule-compare-mini-card strong{font-size:10px}.schedule-compare-mini-card span{font-size:9px}.schedule-compare-mini-card small{font-size:8.5px}.work-source-context{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:13px 0}.work-source-context>div{padding:10px;border:1px solid #dde7ef;border-radius:10px;background:#f8fbfd;display:grid;gap:3px}.work-source-context span{font-size:9.5px;color:#74889a;text-transform:uppercase;font-weight:850}.work-source-context strong{font-size:16px;color:#1f405f}.work-model-note{margin-bottom:12px}.capability-details{margin-top:12px;border-top:1px solid #e1e8ef;padding-top:10px}.capability-details>summary{cursor:pointer;font-weight:850;color:#245e91}.capability-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.capability-detail-grid section{border:1px solid #dfe8ef;border-radius:10px;background:#fbfdff;padding:11px}.capability-detail-grid h3{margin:0 0 6px}.capability-detail-grid p,.capability-detail-grid li{font-size:11px;line-height:1.45}.capability-examples{display:flex;flex-wrap:wrap;gap:5px}.capability-examples span{padding:4px 7px;border-radius:999px;background:#edf5fc;font-size:9.5px;font-weight:750}.birthday-list{display:grid;gap:6px;margin-top:9px}.birthday-row{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:8px;border:1px solid #e0e8ef;border-radius:9px;background:#fff;padding:7px 9px;text-align:left}.birthday-row span{font-size:9px;color:#2e74a9;font-weight:850}.birthday-row strong{font-size:11px}.birthday-row small{font-size:9px;color:#74879a}.kpi-warning{border-color:#ead79b!important;background:#fffaf0!important}.health-metrics>div small{display:block;font-size:8px;color:#7c8fa0}.toast{font-size:17px!important;line-height:1.35!important;max-width:min(620px,calc(100vw - 30px))!important;padding:14px 17px!important}
@media(max-width:900px){.room-selector-card{grid-template-columns:1fr}.capability-detail-grid{grid-template-columns:1fr}.work-source-context{grid-template-columns:1fr}.birthday-row{grid-template-columns:64px 1fr}.birthday-row small{grid-column:2}.schedule-compare-mini-grid{min-width:740px}}

.staff-setup-layer{position:fixed;inset:0;z-index:10000}.staff-setup-layer .modal{max-height:92vh;overflow:auto;background:#0b2238;color:#edf5ff}.staff-setup-layer .modal-backdrop{height:100%;display:flex;align-items:center;justify-content:center;padding:20px;background:#030c18cc}.staff-setup-layer .field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.staff-password-control{position:relative;display:flex;align-items:center}.staff-password-control input{padding-right:48px}.staff-password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:10px;padding:0;display:grid;place-items:center;background:transparent;cursor:pointer}.staff-password-eye{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.staff-password-eye-hide{display:none}.staff-password-toggle[aria-pressed="true"] .staff-password-eye-show{display:none}.staff-password-toggle[aria-pressed="true"] .staff-password-eye-hide{display:block}.staff-setup-error{color:#ffc5bf}.staff-guide-lead{font-size:17px;line-height:1.6}.staff-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.staff-guide-grid article{background:#132e48;border:1px solid #315676;border-radius:14px;padding:20px}.staff-guide-grid article>span{color:#ebc776;font-weight:700}.staff-guide-grid p{line-height:1.55;color:#d5e3f1}.staff-guide-grid h3{margin:10px 0}@media(max-width:650px){.staff-guide-grid{grid-template-columns:1fr}.staff-setup-layer .modal-backdrop{padding:10px}}

/* Schedule actualization: exception-first owner workflow. */
.schedule-actualization-preview{gap:18px;color:#edf6ff}
.schedule-actualization-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:4px 0 2px}
.schedule-actualization-head h2{margin:3px 0 4px;color:#f5f9ff}
.schedule-actualization-head .muted{color:#b9cadc}
.schedule-actualization-kpis{display:grid;grid-template-columns:repeat(4,minmax(86px,1fr));gap:8px;min-width:min(460px,100%)}
.schedule-actualization-kpis>div{display:grid;gap:3px;padding:11px 12px;border:1px solid rgba(87,151,211,.30);border-radius:12px;background:rgba(7,25,43,.88);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.schedule-actualization-kpis b{font-size:20px;color:#f7fbff}.schedule-actualization-kpis span{font-size:10px;color:#aebfd2}
.schedule-actualization-list{display:grid;gap:9px}
.schedule-actualization-row{display:grid;grid-template-columns:36px minmax(0,1fr);gap:11px;align-items:start;padding:12px 14px;border:1px solid rgba(83,144,199,.28);border-left:3px solid #4b9df2;border-radius:13px;background:linear-gradient(135deg,rgba(10,36,59,.96),rgba(7,25,43,.92));box-shadow:0 8px 24px rgba(1,9,18,.16)}
.schedule-actualization-row.change{border-left-color:#60c7ef}.schedule-actualization-row.remove{border-left-color:#d67a7a}
.schedule-actualization-row>div{display:grid;gap:4px}.schedule-actualization-row strong{color:#f4f9ff;font-size:13px;line-height:1.35}.schedule-actualization-row span,.schedule-actualization-row small{color:#b8cadc;font-size:11px;line-height:1.4}
.schedule-change-mark{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:rgba(55,145,235,.16);font-size:18px!important;font-weight:900;color:#83c2ff!important}
.schedule-actualization-row.change .schedule-change-mark{background:rgba(69,184,226,.14);color:#83ddff!important}.schedule-actualization-row.remove .schedule-change-mark{background:rgba(207,95,95,.14);color:#ffaaaa!important}
.schedule-actualization-before-after{display:grid;gap:5px;margin-top:3px}.schedule-actualization-before-after span{display:block;padding:5px 8px;border-radius:8px;background:rgba(255,255,255,.035)}.schedule-actualization-before-after b{color:#eaf5ff}
@media(max-width:900px){.schedule-actualization-head{display:grid}.schedule-actualization-kpis{min-width:0;grid-template-columns:repeat(2,1fr)}}

/* Attendance v2: one QR + adaptive 15-second classroom code. */
.qr-stepup-panel{margin-top:10px;padding:10px 16px;border:1px solid var(--line);border-radius:14px;display:grid;gap:2px;min-width:250px;background:#f8fafc}
.qr-stepup-panel span{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.qr-stepup-panel strong{font-size:30px;line-height:1.1;letter-spacing:.12em;color:#163a63}
.qr-stepup-panel small{font-size:11px;color:var(--muted)}
.qr-presenter.projector-mode .qr-stepup-panel,.qr-presenter:fullscreen .qr-stepup-panel{padding:1.2vh 2vw;min-width:min(520px,80vw)}
.qr-presenter.projector-mode .qr-stepup-panel span,.qr-presenter:fullscreen .qr-stepup-panel span{font-size:clamp(12px,1.05vw,18px)}
.qr-presenter.projector-mode .qr-stepup-panel strong,.qr-presenter:fullscreen .qr-stepup-panel strong{font-size:clamp(36px,4vw,68px)}
.qr-presenter.projector-mode .qr-stepup-panel small,.qr-presenter:fullscreen .qr-stepup-panel small{font-size:clamp(12px,1vw,17px)}
.att-verification-badge{display:inline-flex;margin-left:7px;vertical-align:middle}

/* roster batch comparison */
.roster-batch-modal .batch-list{margin-top:14px}
.roster-batch-card{display:grid;gap:10px}
.roster-compare-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.roster-compare-grid>div{border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:rgba(255,255,255,.55)}
.roster-compare-grid>div.warn{border-color:#e8ca79;background:#fff8e5}
.roster-compare-grid b,.roster-compare-grid span{display:block}
.roster-compare-grid b{font-size:18px}.roster-compare-grid span{font-size:11px;color:var(--muted);margin-top:2px}
.roster-change-details{border-top:1px solid var(--line);padding-top:8px}
.roster-change-details summary{cursor:pointer;font-weight:800;color:#315f8e}
.roster-change-list{display:grid;gap:6px;margin-top:8px}
.roster-change-person{border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.roster-change-person strong,.roster-change-person span{display:block}
.roster-change-person span{font-size:11px;color:var(--muted);margin-top:2px}
@media(max-width:720px){.roster-compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Diploma workflow UX */
.diploma-primary-tabs{gap:8px;padding-bottom:10px}
.diploma-primary-tabs button{padding:9px 14px;font-size:13px}
.diploma-overview{display:grid;gap:16px}
.diploma-overview-head{display:flex;justify-content:space-between;gap:22px;align-items:flex-start}
.diploma-overview-status{display:grid;justify-items:end;gap:2px;min-width:120px}
.diploma-overview-status strong{font-size:30px;line-height:1}
.diploma-overview-status small{font-size:10px;color:var(--muted)}
.diploma-progress{height:7px;border-radius:999px;background:#e9eef5;overflow:hidden}
.diploma-progress span{display:block;height:100%;border-radius:inherit;background:#2684ff}
.diploma-step-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.diploma-step-card{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff;color:inherit}
.diploma-step-card:hover{border-color:#83afe0;transform:translateY(-1px)}
.diploma-step-card>span:nth-child(2){display:grid;gap:2px;min-width:0}
.diploma-step-card small{color:var(--muted);font-size:10px}
.diploma-step-no{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#eef3f8;font-weight:850}
.diploma-step-card.ok .diploma-step-no{background:#e8f6ef;color:#18724b}
.diploma-step-card.needs .diploma-step-no{background:#fff4e7;color:#a45a18}
.diploma-attention-block{display:grid;gap:7px;border:1px solid var(--line);border-radius:14px;padding:14px}
.diploma-attention-row{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;text-align:left;border:0;border-top:1px solid var(--line);background:transparent;color:inherit;padding:10px 0}
.diploma-attention-row>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff4e7;color:#a45a18;font-weight:850}
.diploma-attention-row div{display:grid;gap:2px}.diploma-attention-row small{color:var(--muted)}
.diploma-attention-row b{font-size:11px;color:#4c78a8}
.diploma-overview-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.diploma-tools-menu{position:relative}.diploma-tools-menu summary{cursor:pointer;font-weight:700;padding:8px 10px}
.diploma-tools-menu>div{position:absolute;right:0;top:100%;z-index:20;display:grid;gap:6px;min-width:160px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 14px 34px rgba(0,0,0,.14)}
.diploma-subview-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}
.diploma-subview-head h2{margin:1px 0 3px}
.diploma-roster-hero{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 14px}
.diploma-roster-hero>div{display:grid;gap:2px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}
.diploma-roster-hero strong{font-size:24px}.diploma-roster-hero span{font-size:10px;color:var(--muted)}
.diploma-roster-hero .warn{border-color:#e3aa76}
.diploma-bulk-tools{margin-top:16px}.diploma-bulk-tools>summary{cursor:pointer;color:var(--muted);font-size:11px;font-weight:750}
.diploma-supervisor-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px}
.diploma-supervisor-card{display:grid;gap:11px;border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}
.diploma-supervisor-card.over{border-color:#d69b9b}
.diploma-supervisor-card-head{display:flex;justify-content:space-between;gap:12px}.diploma-supervisor-card-head>div{display:grid;gap:2px}
.diploma-supervisor-card-head small{color:var(--muted);font-size:10px}
.diploma-supervisor-capacity{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.diploma-supervisor-capacity>div{display:grid;gap:2px;padding:9px;border:1px solid var(--line);border-radius:10px}
.diploma-supervisor-capacity strong{font-size:20px}.diploma-supervisor-capacity span{font-size:10px;color:var(--muted)}
.diploma-capacity-bar{height:6px;border-radius:999px;background:#edf1f5;overflow:hidden}.diploma-capacity-bar span{display:block;height:100%;background:#2c83dd}
.diploma-supervisor-stream{font-size:11px;font-weight:750}.diploma-supervisor-summary{line-height:1.45}
.diploma-supervisor-modal{width:min(820px,96vw)}
.diploma-source-switch{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:15px 0}
.diploma-source-switch button{border:1px solid var(--line);border-radius:10px;padding:10px;background:transparent;color:inherit;font-weight:750}
.diploma-source-switch button.active{border-color:#438bd5;background:#eaf3ff}
.diploma-selected-person{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:12px}
.diploma-selected-person>div{display:grid;gap:2px}.diploma-selected-person span,.diploma-selected-person small{font-size:11px;color:var(--muted)}
.diploma-staff-candidates{display:grid;gap:6px;max-height:260px;overflow:auto;margin-top:8px}
.diploma-staff-candidates button{display:grid;grid-template-columns:1fr auto;text-align:left;gap:2px 10px;border:1px solid var(--line);border-radius:10px;padding:10px;background:transparent;color:inherit}
.diploma-staff-candidates button strong{grid-column:1}.diploma-staff-candidates button span{grid-column:2;grid-row:1}.diploma-staff-candidates button small{grid-column:1/3;color:var(--muted)}
.diploma-supervisor-participation{display:grid;gap:13px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.diploma-supervisor-participation h3{margin:0}
.diploma-two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.diploma-choice-block>span{display:block;margin-bottom:7px;font-size:12px;font-weight:750}
.diploma-choice-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.diploma-choice-heading>span{font-size:12px;font-weight:800}.diploma-choice-heading>small,.diploma-required-field>span>small{font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.diploma-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}
.diploma-choice{position:relative}.diploma-choice input{position:absolute;opacity:0;pointer-events:none}
.diploma-choice>span{display:grid;gap:4px;min-height:58px;align-content:center;border:1px solid var(--line);border-radius:11px;padding:10px 38px 10px 12px;cursor:pointer;position:relative;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.diploma-choice>span>strong{font-size:12px;line-height:1.35}.diploma-choice>span>small{font-size:9.5px;font-weight:750}.diploma-choice-on{display:none}.diploma-choice input:checked+span .diploma-choice-off{display:none}.diploma-choice input:checked+span .diploma-choice-on{display:block}.diploma-choice input:checked+span::after{content:'✓';position:absolute;right:12px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:12px;font-weight:900}.diploma-choice input:focus-visible+span{outline:2px solid currentColor;outline-offset:2px}
.diploma-capacity-field{max-width:180px}.diploma-required-field>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.diploma-selected-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.diploma-form-readiness{display:flex;align-items:center;gap:10px;min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;margin:4px 0 10px}.diploma-form-readiness span{font-size:11px;font-weight:850}.diploma-form-readiness strong{font-size:11px}.diploma-form-readiness small{font-size:10px}.diploma-supervisor-save:disabled{cursor:not-allowed;opacity:.55}.diploma-required-choice.is-missing .diploma-choice-heading>span,.diploma-required-field input.is-missing{animation:diploma-required-pulse .35s ease-out}.diploma-staff-candidates button:hover{transform:translateY(-1px)}@keyframes diploma-required-pulse{0%{transform:translateX(0)}35%{transform:translateX(2px)}70%{transform:translateX(-2px)}100%{transform:translateX(0)}}
.diploma-tag-editor{display:grid;gap:7px}.diploma-tag-choices{display:flex;flex-wrap:wrap;gap:6px}
.diploma-tag-choices button{border:1px solid var(--line);border-radius:999px;padding:6px 9px;background:transparent;color:inherit;font-size:11px}
.diploma-tag-choices button.active{border-color:#438bd5;background:#eaf3ff}
.diploma-tag-add{display:flex;gap:7px}.diploma-tag-add input{flex:1;border:1px solid #cfd8e5;border-radius:10px;padding:8px 10px}
.diploma-profile-details{border-top:1px solid var(--line);padding-top:9px}.diploma-profile-details summary{cursor:pointer;font-weight:750;margin-bottom:8px}
.diploma-supervisor-save,.diploma-create-submit{width:100%;margin-top:14px}
.diploma-quick-create{width:min(560px,95vw)}.diploma-year-field{margin-top:16px}
.diploma-create-preview{display:grid;gap:3px;padding:14px;border:1px solid var(--line);border-radius:12px;margin-top:12px}
.diploma-create-preview span,.diploma-create-preview small{font-size:10px;color:var(--muted)}.diploma-create-preview strong{font-size:18px}
.diploma-topic-summary{display:flex;align-items:baseline;gap:8px;margin:8px 0 16px}.diploma-topic-summary strong{font-size:28px}.diploma-topic-summary span{color:var(--muted)}
.diploma-topic-group{display:grid;gap:8px}.diploma-topic-card{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px}
.diploma-topic-card>div:first-child{display:grid;gap:3px;min-width:0}.diploma-topic-card small{color:var(--muted)}.diploma-topic-card p{margin-top:5px}
.diploma-topic-state{display:flex;align-items:center;gap:8px;flex-shrink:0}.diploma-ready-topics{margin-top:14px}.diploma-ready-topics summary{cursor:pointer;font-weight:750;margin-bottom:8px}
@media(max-width:980px){.diploma-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.diploma-overview-head{flex-direction:column}.diploma-overview-status{justify-items:start}.diploma-two-col{grid-template-columns:1fr}}
@media(max-width:720px){.diploma-step-grid,.diploma-roster-hero{grid-template-columns:1fr}.diploma-topic-card{align-items:flex-start;flex-direction:column}.diploma-topic-state{width:100%;justify-content:space-between}.diploma-tools-menu>div{left:0;right:auto}}


/* Diploma friendly preparation — Issue #326 */
.diploma-step-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.diploma-overview-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}
.diploma-parameter-head{align-items:center;margin-bottom:12px}
.diploma-context-actions{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.diploma-parameters-form{display:grid;gap:12px}
.diploma-parameter-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,1fr);gap:10px}
.diploma-parameter-card{display:grid;gap:4px;padding:13px;border:1px solid var(--line);border-radius:12px}
.diploma-parameter-card>span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.diploma-parameter-card>strong{font-size:18px}
.diploma-parameter-card small{font-size:10px;color:var(--muted)}
label.diploma-parameter-card select{margin-top:2px}
.diploma-parameter-details{border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.diploma-parameter-details>summary{cursor:pointer;font-weight:780}
.diploma-parameter-details[open]>summary{margin-bottom:12px}
.diploma-cohort-confirm{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px;border:1px solid var(--line);border-radius:14px;margin:4px 0 12px}
.diploma-cohort-confirm>div:first-child{display:grid;gap:3px}
.diploma-cohort-confirm span{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.diploma-cohort-confirm strong{font-size:25px;line-height:1.1}
.diploma-cohort-confirm small{color:var(--muted)}
.diploma-cohort-control{display:grid;gap:10px;max-width:620px;margin:12px 0;padding:14px;border:1px solid var(--line);border-radius:13px}
.diploma-cohort-control h3{margin:0}
.diploma-cohort-tools{margin:14px 0 8px}
.diploma-cohort-exceptions{display:grid;gap:10px;margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:14px}
.diploma-cohort-exceptions h3{margin:0}
.diploma-full-roster{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.diploma-full-roster>summary{cursor:pointer;font-weight:780;color:var(--muted)}
.diploma-full-roster[open]>summary{margin-bottom:10px}
.diploma-supervisor-modal{width:min(680px,96vw);max-height:min(88vh,780px);overflow:auto}
.diploma-staff-candidates{max-height:190px}
.diploma-supervisor-participation{gap:11px}
.diploma-single-choice{display:grid;gap:3px;padding:11px 12px;border:1px solid var(--line);border-radius:11px}
.diploma-single-choice>span{font-size:10px;text-transform:uppercase;font-weight:800;color:var(--muted)}
.diploma-single-choice small{color:var(--muted)}
.diploma-capacity-field{max-width:240px}
.diploma-capacity-field small{color:var(--muted);font-size:10px}
.diploma-supervisor-optional{border-top:1px solid var(--line);padding-top:10px}
.diploma-supervisor-optional>summary{cursor:pointer;font-weight:760;margin-bottom:8px}
.diploma-form-error{margin-top:4px}
@media(max-width:900px){.diploma-step-grid{grid-template-columns:1fr}.diploma-parameter-grid{grid-template-columns:1fr}.diploma-cohort-confirm{align-items:flex-start;flex-direction:column}.diploma-overview-footer{align-items:flex-start;flex-direction:column}}


/* #343: bulk first-time supervisor setup */
.diploma-supervisor-bulk-modal{width:min(920px,96vw);max-height:min(90vh,820px);overflow:auto}
.diploma-bulk-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 18px}
.diploma-bulk-step{display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:11px;font-weight:760}
.diploma-bulk-step b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid currentColor;font-size:10px}
.diploma-bulk-step.active{border-color:#438bd5;background:#eaf3ff;color:inherit}.diploma-bulk-step.done{opacity:.72}
.diploma-bulk-select-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.diploma-bulk-selected-count{margin:10px 0 8px;color:var(--muted);font-size:11px}.diploma-bulk-selected-count strong{font-size:16px;color:inherit}
.diploma-bulk-select-list{display:grid;gap:6px;max-height:390px;overflow:auto;padding-right:3px}
.diploma-bulk-person{display:flex;align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:11px;cursor:pointer}
.diploma-bulk-person input{width:17px;height:17px;flex:0 0 auto}.diploma-bulk-person span{display:grid;gap:2px}.diploma-bulk-person small{color:var(--muted)}
.diploma-bulk-intro{margin-bottom:10px}.diploma-bulk-intro p{margin-top:3px}
.diploma-bulk-rows{display:grid;gap:7px}.diploma-bulk-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,1.3fr);gap:14px;align-items:center;padding:10px 11px;border:1px solid var(--line);border-radius:11px}
.diploma-bulk-row>div:first-child{display:grid;gap:2px}.diploma-bulk-row small{color:var(--muted)}
.diploma-bulk-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.diploma-bulk-choice button{border:1px solid var(--line);border-radius:9px;padding:8px 9px;background:transparent;color:inherit;font-size:11px;font-weight:720}
.diploma-bulk-choice button.active{border-color:#438bd5;background:#eaf3ff}
.diploma-bulk-capacity-list{display:grid;gap:7px}.diploma-bulk-capacity{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:14px;align-items:center;padding:9px 11px;border:1px solid var(--line);border-radius:11px}
.diploma-bulk-capacity>span{display:grid;gap:2px}.diploma-bulk-capacity small{color:var(--muted)}.diploma-bulk-capacity input{text-align:center}
.diploma-bulk-summary{display:grid;gap:6px}.diploma-bulk-summary>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.8fr) 90px;gap:12px;align-items:center;padding:9px 11px;border-bottom:1px solid var(--line)}
.diploma-bulk-summary span{display:grid;gap:2px}.diploma-bulk-summary small{color:var(--muted)}.diploma-bulk-summary em{font-style:normal;text-align:right;font-weight:800}
.diploma-bulk-footer{display:flex;justify-content:space-between;gap:10px;margin-top:16px;padding-top:13px;border-top:1px solid var(--line)}
@media(max-width:760px){.diploma-bulk-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.diploma-bulk-select-tools,.diploma-bulk-row{grid-template-columns:1fr}.diploma-bulk-choice{grid-template-columns:1fr}.diploma-bulk-summary>div{grid-template-columns:1fr}.diploma-bulk-summary em{text-align:left}}


/* #333: unified student group-role UI */
.role-pill{gap:7px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:750;line-height:1.15;box-shadow:none!important}
.role-pill .role-dot{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.88;flex:0 0 7px}
.role-pill.headman{background:rgba(232,185,73,.12);color:#e7c56c;border-color:rgba(231,197,108,.35)}
.role-pill.deputy{background:rgba(102,186,218,.10);color:#8fd1e8;border-color:rgba(143,209,232,.30)}
.student-role-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px}
.student-role-inline select{min-height:30px!important;padding:5px 28px 5px 9px!important;font-size:12px!important;border-radius:999px!important}
.student-drawer-section{margin-top:20px}
.student-drawer-section+.student-drawer-section{margin-top:24px;padding-top:20px}
.student-drawer-section>.student-section-title,.student-drawer-section>.split{margin-bottom:12px}


/* #336 / #337: role train badge + scalable student summary */
.role-pill.headman .train-mark,.role-pill.deputy .train-mark{
  width:18px;
  height:18px;
  flex:0 0 18px;
  overflow:visible;
  vertical-align:middle;
}
.role-pill .train-outline{filter:drop-shadow(0 1px 1px rgba(0,0,0,.14))}
.role-pill .train-window,.role-pill .train-lamp,.role-pill .train-rail{pointer-events:none}
.role-pill .role-crown-mark{width:15px;height:15px;flex:0 0 15px;overflow:visible;vertical-align:middle}
.role-pill .role-crown-mark .role-crown-shape{filter:drop-shadow(0 1px 1px rgba(0,0,0,.16))}
.role-pill.headman{background:rgba(232,185,73,.13);color:#e8c75f;border-color:rgba(232,199,95,.38)}
.role-pill.deputy{background:rgba(81,190,222,.12);color:#7fd7ef;border-color:rgba(127,215,239,.34)}
.student-summary-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:11px}
.student-summary-head>div{display:grid;gap:2px}
.student-summary-head>div>strong{font-size:13px}
.student-summary-head>div>span,.student-summary-head>small{font-size:11px;color:var(--muted)}
.student-summary-courses{display:grid;gap:14px}
.student-course-accordion{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.025)}
#studentPane>.student-course-accordion+.student-course-accordion{margin-top:14px}
.student-course-accordion>summary{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:9px;list-style:none;cursor:pointer;padding:12px 14px}
.student-course-accordion>summary::-webkit-details-marker{display:none}
.student-course-chevron:before{content:'›';display:block;font-size:19px;line-height:1;transition:transform .16s ease}
.student-course-accordion[open] .student-course-chevron:before{transform:rotate(90deg)}
.student-course-summary-title{font-size:13px;font-weight:800;min-width:0}
.student-course-summary-meta{font-size:10px;color:var(--muted);white-space:nowrap}
.student-course-accordion[open]>summary{border-bottom:1px solid var(--line);background:rgba(122,166,209,.06)}
.student-course-accordion-body{padding:14px 15px 15px}
@media(max-width:720px){.student-summary-head{display:block}.student-summary-head>small{display:block;margin-top:4px}.student-course-accordion>summary{grid-template-columns:16px minmax(0,1fr)}.student-course-summary-meta{grid-column:2;white-space:normal}}

.student-course-summary-meta:empty{display:none}
.student-course-accordion-body>.student-detail-course{border:0;padding:0;margin:0;background:transparent}
.student-course-accordion-body>.student-detail-course>h3{display:none}
.student-course-accordion-body>.student-course-project-card{margin:0;padding:0}
.student-course-accordion-body>.student-course-project-card+.student-course-project-card{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}

/* #348: contextual diploma workspaces */
.diploma-allocation-summary{gap:12px;margin:18px 0}
.diploma-allocation-summary>div{padding:15px 16px;min-height:68px;border-radius:14px}
.diploma-allocation-summary strong{font-size:26px}.diploma-allocation-summary span{font-size:12px}
.diploma-allocation-board{grid-template-columns:minmax(260px,.78fr) minmax(0,2fr);gap:16px;margin-top:18px}
.diploma-unassigned-column,.diploma-supervisor-drop{padding:15px;border-radius:14px}
.diploma-supervisor-columns{grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:12px}
.diploma-supervisor-drop{min-height:145px;position:relative}.diploma-supervisor-drop>.split strong{font-size:14px;line-height:1.3}.diploma-supervisor-drop>small{font-size:11px}
.diploma-assigned-list{gap:9px;margin-top:12px}.diploma-student-chip{padding:12px 13px;gap:5px;border-radius:11px}.diploma-student-chip.compact{padding:10px 11px}.diploma-student-chip strong{font-size:13px;line-height:1.3}.diploma-student-chip span{font-size:11px}
.diploma-bulk-stepper.three{grid-template-columns:repeat(3,minmax(0,1fr))}.diploma-bulk-step{font-size:12px;padding:10px 12px}.diploma-bulk-step b{width:22px;height:22px;font-size:11px}
.diploma-bulk-selected-count{font-size:12px;margin:12px 0 9px}.diploma-bulk-selected-count strong{font-size:18px}
.diploma-bulk-select-list{gap:8px;max-height:430px}.diploma-bulk-person{gap:12px;padding:14px 15px;border-radius:12px}.diploma-bulk-person input{width:19px;height:19px;flex-basis:19px}.diploma-bulk-person strong{font-size:13px}.diploma-bulk-person small{font-size:11px;line-height:1.35}
.diploma-bulk-row,.diploma-bulk-capacity{padding:13px 14px;min-height:58px}.diploma-bulk-choice button{padding:10px 11px;font-size:12px}.diploma-bulk-summary.single>div{grid-template-columns:minmax(0,1fr) 100px}
.diploma-notice-host{position:relative}.diploma-context-notice{position:absolute;z-index:20;left:12px;right:12px;top:52px;padding:11px 13px;border:1px solid #e5b8a8;border-radius:11px;background:#fff8f4;color:#8a3b1c;font-size:12px;font-weight:750;line-height:1.35;box-shadow:0 12px 30px rgba(0,0,0,.18);opacity:0;transform:translateY(-5px);transition:opacity .16s ease,transform .16s ease;pointer-events:none}.diploma-context-notice.show{opacity:1;transform:translateY(0)}
.diploma-topic-group{gap:10px}.diploma-topic-card{padding:15px 16px;border-radius:14px;min-height:72px}.diploma-topic-card strong{font-size:13px}.diploma-topic-card small{font-size:11px}.diploma-topic-inline-card{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.7fr);align-items:start;gap:16px}.diploma-topic-person{display:grid;gap:4px;padding-top:5px}.diploma-topic-inline{display:grid;gap:9px}.diploma-topic-inline textarea{width:100%;min-height:68px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:transparent;color:inherit;font:inherit;font-size:13px;line-height:1.4;resize:vertical}.diploma-topic-inline-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.diploma-topic-inline-error{margin:0}.diploma-topic-correction{margin:0}.diploma-ready-topics{margin-top:18px}.diploma-ready-topics>summary{font-size:13px;font-weight:780;cursor:pointer;margin-bottom:10px}
@media(max-width:760px){.diploma-allocation-board,.diploma-topic-inline-card{grid-template-columns:1fr}.diploma-supervisor-columns{grid-template-columns:1fr}.diploma-bulk-stepper.three{grid-template-columns:1fr}.diploma-context-notice{top:48px}.diploma-topic-inline-meta{align-items:flex-start;flex-direction:column}}

/* #350: diploma navigation, filters and visual hierarchy */
.diploma-year-switcher{display:flex;align-items:stretch;justify-content:space-between;gap:14px;margin:8px 0 16px}
.diploma-year-list{display:flex;gap:8px;flex-wrap:wrap;min-width:0}
.diploma-year-switcher .diploma-year-card{min-width:116px;padding:10px 13px;border-radius:12px}
.diploma-year-switcher .diploma-year-card strong{font-size:14px;line-height:1.2}
.diploma-year-switcher .diploma-new-year{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:9px;min-width:190px;padding:10px 14px;border-style:dashed;border-radius:12px;font-size:12px;white-space:nowrap}
.diploma-new-year>span{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border:1px solid currentColor;border-radius:50%;font-size:19px;line-height:1;font-weight:500}
.diploma-new-year>strong{font-size:12px}
.diploma-primary-tabs{gap:8px;margin-bottom:18px}.diploma-primary-tabs button{min-height:40px;padding:9px 16px;font-size:13px;border-radius:11px}
.diploma-page-grid>.card{padding:20px}
.diploma-reconcile-banner{padding:14px 16px;border-radius:13px;display:grid;gap:4px}.diploma-reconcile-banner strong{font-size:13px}.diploma-reconcile-banner span{line-height:1.45}
.diploma-allocation-board{grid-template-columns:minmax(280px,.78fr) minmax(0,2fr)}
.diploma-supervisor-columns{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}
.diploma-supervisor-drop{min-width:0;min-height:160px;padding:16px 17px}
.diploma-supervisor-card-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}
.diploma-supervisor-card-head>strong{font-size:14px;line-height:1.35;min-width:0;overflow-wrap:anywhere}
.diploma-capacity-count{display:inline-flex;align-items:center;justify-content:center;min-width:44px;padding:4px 8px;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:850;line-height:1.15;white-space:nowrap}
.diploma-supervisor-meta{display:grid;gap:3px;margin-top:7px;font-size:11px;line-height:1.35;color:var(--muted)}
.diploma-supervisor-meta span{display:block;min-width:0;overflow-wrap:anywhere}.diploma-supervisor-meta b{font-weight:850;color:inherit}
.diploma-assigned-list{margin-top:14px}.diploma-student-chip{min-width:0}.diploma-student-chip .btn{margin-top:3px}
.diploma-order-grid{gap:18px}.diploma-order-check{padding:12px 0;align-items:flex-start}.diploma-order-check>span{margin-top:1px;flex:0 0 auto}.diploma-order-check>div{display:grid;gap:4px;min-width:0}.diploma-order-check strong{font-size:13px;line-height:1.35}.diploma-order-check small{font-size:11px;line-height:1.45}
.diploma-order-settings{padding:16px 17px;border-radius:14px}.diploma-order-settings .field{margin-top:8px}
.diploma-topic-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 16px}
.diploma-topic-summary>div{display:grid;gap:3px;padding:12px 14px;border:1px solid var(--line);border-radius:12px}.diploma-topic-summary strong{font-size:24px}.diploma-topic-summary span{font-size:11px}
.diploma-topic-filters{display:grid;grid-template-columns:minmax(210px,1.4fr) minmax(150px,.8fr) minmax(130px,.65fr) minmax(170px,.9fr) minmax(180px,1fr);gap:10px;align-items:end;padding:14px;margin-bottom:14px;border:1px solid var(--line);border-radius:14px}
.diploma-topic-filters .field{margin:0}.diploma-topic-filters .field>input,.diploma-topic-filters .field>select{min-height:38px}
.diploma-topic-filter-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:30px}.diploma-topic-filter-actions>span{margin-right:auto;color:var(--muted);font-size:11px;font-weight:700}
.diploma-topic-filter-list{gap:11px}.diploma-topic-card{min-width:0;padding:16px 17px}.diploma-topic-card.hidden{display:none!important}
.diploma-topic-person{min-width:0}.diploma-topic-person strong{font-size:14px}.diploma-topic-person small{line-height:1.4}.diploma-topic-person p{line-height:1.45}
.diploma-topic-state{align-self:center}.diploma-topic-state .badge{white-space:normal;text-align:center;line-height:1.25}
.diploma-outgoing-form{width:min(720px,95vw)}.diploma-outgoing-form .modal-head{margin-bottom:18px}.diploma-outgoing-form .field{display:grid;gap:7px;margin:0 0 16px}.diploma-outgoing-form .field small{display:block;margin-top:0;line-height:1.45}.diploma-outgoing-form textarea{min-height:82px}
@media(max-width:1180px){.diploma-topic-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.diploma-topic-search{grid-column:1/-1}.diploma-supervisor-columns{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}}
@media(max-width:760px){.diploma-year-switcher{align-items:stretch;flex-direction:column}.diploma-year-list{width:100%}.diploma-year-switcher .diploma-new-year{width:100%}.diploma-primary-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.diploma-topic-summary,.diploma-topic-filters{grid-template-columns:1fr}.diploma-topic-search,.diploma-topic-filter-actions{grid-column:auto}.diploma-topic-filter-actions{align-items:flex-start;flex-direction:column}.diploma-supervisor-columns{grid-template-columns:1fr}.diploma-page-grid>.card{padding:16px}}

/* #352: diploma final Aurora polish + staff-only working notes */
.diploma-allocation-workspace{position:relative;overflow:hidden}
.diploma-allocation-head{align-items:flex-start;margin-bottom:4px}.diploma-allocation-head h2{font-size:22px;margin:2px 0 4px}.diploma-allocation-head .eyebrow{margin-bottom:2px}
.diploma-reconcile-banner{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:15px 16px}.diploma-reconcile-banner>div{display:grid;gap:3px}.diploma-reconcile-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-size:16px;font-weight:900}
.diploma-reconcile-banner.ok{border-color:rgba(73,190,149,.36)}.diploma-reconcile-banner.ok .diploma-reconcile-icon{background:rgba(73,190,149,.13);color:#72d7b2}.diploma-reconcile-banner.warn .diploma-reconcile-icon{background:rgba(226,170,84,.14);color:#e7b85f}
.diploma-allocation-board{grid-template-columns:minmax(300px,.72fr) minmax(0,2.2fr);gap:18px}
.diploma-unassigned-column{min-width:0;padding:17px}.diploma-unassigned-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.diploma-unassigned-head>div{display:grid;gap:2px}.diploma-unassigned-head>div>span{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.diploma-unassigned-head h3{margin:0}.diploma-unassigned-head>b{display:grid;place-items:center;min-width:32px;height:32px;border-radius:10px;font-size:14px}
.diploma-supervisor-columns{grid-template-columns:repeat(auto-fit,minmax(365px,1fr));gap:16px}
.diploma-supervisor-drop{min-height:190px;padding:18px;border-radius:16px;box-shadow:inset 0 2px 0 rgba(102,189,236,.13);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.diploma-supervisor-drop[data-stream="IIPZD"]{box-shadow:inset 0 2px 0 rgba(84,204,233,.48)}
.diploma-supervisor-drop[data-stream="OTUS"]{box-shadow:inset 0 2px 0 rgba(177,115,238,.48)}
.diploma-supervisor-card-head>strong{font-size:15px;line-height:1.38}.diploma-capacity-count{min-width:48px;padding:5px 9px;font-size:12px}
.diploma-supervisor-meta{gap:8px;margin-top:9px}.diploma-supervisor-direction{font-size:11px;font-weight:760}.diploma-supervisor-capacity-line{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px}.diploma-supervisor-capacity-line b{font-size:16px}.diploma-supervisor-loadbar{height:7px;margin-top:10px;border-radius:999px;overflow:hidden;background:rgba(123,150,181,.14)}.diploma-supervisor-loadbar>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,rgba(58,174,230,.92),rgba(112,120,236,.92))}
.diploma-supervisor-drop[data-stream="OTUS"] .diploma-supervisor-loadbar>span{background:linear-gradient(90deg,rgba(120,103,236,.9),rgba(190,82,213,.9))}
.diploma-supervisor-empty-state{display:grid;gap:3px;padding:14px 2px;color:var(--muted)}.diploma-supervisor-empty-state span{font-size:12px;font-weight:750}.diploma-supervisor-empty-state small{font-size:10px}
.diploma-student-chip{gap:8px;padding:13px 14px;border-radius:12px}.diploma-student-chip.compact{padding:12px 13px}.diploma-student-chip-main{display:grid;gap:3px}.diploma-student-chip-main strong{font-size:13px;line-height:1.35}.diploma-student-chip-main span{font-size:10px}.diploma-student-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.diploma-working-note{display:grid;gap:7px;padding-top:2px}.diploma-working-note-body{display:grid;gap:3px;padding:9px 10px;border:1px solid rgba(191,157,84,.28);border-radius:10px;background:rgba(190,145,55,.07)}.diploma-working-note-body>span{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.055em;color:#d3b46c}.diploma-working-note-body p{margin:0;font-size:11px;line-height:1.42;color:inherit;white-space:pre-wrap;overflow-wrap:anywhere}
.diploma-working-note-edit{justify-self:start;border:0;background:transparent;padding:0;color:var(--muted);font-size:10px;font-weight:760;cursor:pointer}.diploma-working-note-edit:hover{color:inherit}
.diploma-working-note-editor{display:grid;gap:8px;padding:11px;border:1px solid var(--line);border-radius:11px;background:rgba(12,24,39,.12)}.diploma-working-note-editor label{display:grid;gap:5px;font-size:10px;font-weight:780}.diploma-working-note-editor textarea{width:100%;min-height:64px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:transparent;color:inherit;font:inherit;font-size:11px;line-height:1.4;resize:vertical}.diploma-working-note-editor>small{font-size:9.5px;line-height:1.4;color:var(--muted)}
.diploma-outgoing-list{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.diploma-outgoing-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.diploma-outgoing-row>div:first-child{display:grid;gap:3px}.diploma-outgoing-row>div:first-child span{font-size:10px;color:var(--muted)}
.diploma-order-grid>div:first-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:start}.diploma-order-grid>div:first-child>h3{grid-column:1/-1;margin-bottom:2px}
.diploma-order-check{margin:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025)}.diploma-order-check.ok{border-color:rgba(76,188,145,.23)}.diploma-order-check.warn{border-color:rgba(222,164,80,.27)}.diploma-order-check>span{width:26px;height:26px}.diploma-order-check strong{font-size:12px}
.diploma-topic-card{border-radius:15px}.diploma-topic-card.needs{box-shadow:inset 3px 0 0 rgba(229,174,73,.46)}.diploma-topic-card.ready{box-shadow:inset 3px 0 0 rgba(74,192,149,.42)}.diploma-topic-inline-card{box-shadow:inset 3px 0 0 rgba(82,164,228,.38)}
@media(max-width:1420px){.diploma-supervisor-columns{grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}}
@media(max-width:1040px){.diploma-allocation-board{grid-template-columns:1fr}.diploma-unassigned-column{order:0}.diploma-supervisor-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.diploma-order-grid>div:first-child{grid-template-columns:1fr}}
@media(max-width:760px){.diploma-supervisor-columns{grid-template-columns:1fr}.diploma-outgoing-row{grid-template-columns:1fr}.diploma-supervisor-drop{min-height:auto}}

/* #354: final diploma Topics workspace */
.diploma-topics-workspace{overflow:hidden}
.diploma-topic-overview{display:grid;grid-template-columns:minmax(320px,1fr) auto auto;gap:12px;align-items:stretch;margin:14px 0 16px}
.diploma-topic-progress-main{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:14px}
.diploma-topic-progress-main>div:first-child{display:grid;gap:2px;min-width:110px}.diploma-topic-progress-main>div:first-child>span{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.055em;color:var(--muted)}.diploma-topic-progress-main strong{font-size:27px;line-height:1}.diploma-topic-progress-main strong small{font-size:14px;font-weight:700;color:var(--muted)}
.diploma-topic-progressbar{height:7px;border-radius:999px;overflow:hidden;background:rgba(124,151,184,.14)}.diploma-topic-progressbar>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,rgba(63,187,218,.92),rgba(87,143,235,.94))}
.diploma-topic-progress-main>small{font-size:10px;color:var(--muted);white-space:nowrap}
.diploma-topic-mini-stat{display:grid;align-content:center;min-width:116px;padding:12px 15px;border:1px solid var(--line);border-radius:14px}.diploma-topic-mini-stat strong{font-size:22px;line-height:1.1}.diploma-topic-mini-stat span{font-size:10px;color:var(--muted);margin-top:3px}
.diploma-topic-toolbar{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(125px,.65fr) minmax(120px,.58fr) minmax(150px,.78fr) minmax(180px,1fr) auto;gap:8px;align-items:end;padding:10px 11px;margin-bottom:15px;border:1px solid var(--line);border-radius:14px}
.diploma-topic-toolbar>label{display:grid;gap:4px;min-width:0}.diploma-topic-toolbar>label>span{font-size:9px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.045em}.diploma-topic-toolbar input,.diploma-topic-toolbar select{width:100%;min-width:0;min-height:36px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:transparent;color:inherit;font:inherit;font-size:11px}
.diploma-topic-toolbar-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:36px;white-space:nowrap}.diploma-topic-toolbar-meta>span{font-size:9.5px;color:var(--muted)}.diploma-topic-reset{border:0;background:transparent;color:var(--muted);font-size:10px;font-weight:760;padding:5px;cursor:pointer}.diploma-topic-reset:hover{color:inherit}
.diploma-topic-list{display:grid;gap:10px}
.diploma-topic-row{display:grid;grid-template-columns:minmax(215px,.72fr) minmax(360px,1.7fr) minmax(165px,.58fr);gap:16px;align-items:center;min-width:0;padding:15px 16px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.018)}
.diploma-topic-row.hidden{display:none!important}.diploma-topic-row.is-editable{box-shadow:inset 3px 0 0 rgba(78,166,226,.5)}.diploma-topic-row.needs-correction{box-shadow:inset 3px 0 0 rgba(225,169,76,.58)}.diploma-topic-row.is-confirmed{padding-top:12px;padding-bottom:12px;box-shadow:inset 3px 0 0 rgba(73,188,146,.42);opacity:.93}.diploma-topic-row.is-unassigned{box-shadow:inset 3px 0 0 rgba(154,166,184,.3)}
.diploma-topic-identity{display:grid;gap:4px;min-width:0}.diploma-topic-identity strong{font-size:14px;line-height:1.35;overflow-wrap:anywhere}.diploma-topic-identity>span{font-size:10px;font-weight:760;color:var(--muted)}.diploma-topic-identity>small{font-size:10px;line-height:1.35;color:var(--muted);overflow-wrap:anywhere}
.diploma-topic-editor{display:grid;gap:7px;min-width:0}.diploma-topic-editor textarea{width:100%;min-height:70px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:transparent;color:inherit;font:inherit;font-size:12px;line-height:1.45;resize:vertical}.diploma-topic-editor textarea:focus{outline:none}
.diploma-topic-inline-error{margin:0}.diploma-topic-correction{display:grid;gap:3px;padding:9px 10px;border-radius:10px;background:rgba(222,165,72,.08);border:1px solid rgba(222,165,72,.23)}.diploma-topic-correction strong{font-size:10px}.diploma-topic-correction p{margin:0;font-size:10px;line-height:1.4}
.diploma-topic-readonly{display:grid;gap:5px;min-width:0}.diploma-topic-readonly>span{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.diploma-topic-readonly p{margin:0;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.diploma-topic-message{display:grid;gap:3px}.diploma-topic-message strong{font-size:12px}.diploma-topic-message span{font-size:10px;color:var(--muted)}
.diploma-topic-row-action{display:grid;justify-items:stretch;gap:7px;align-content:center}.diploma-topic-row-action .btn{width:100%;justify-content:center}.diploma-topic-status{display:block;font-size:9.5px;font-weight:800;line-height:1.3;color:var(--muted);text-align:center;padding:0 3px}.diploma-topic-status.ok{color:#77d5b4}.diploma-topic-status.warn{color:#e2b961}
@media(max-width:1280px){.diploma-topic-toolbar{grid-template-columns:minmax(240px,1.4fr) repeat(2,minmax(120px,.7fr));}.diploma-topic-toolbar>label:nth-of-type(4),.diploma-topic-toolbar>label:nth-of-type(5){grid-row:2}.diploma-topic-toolbar-meta{grid-row:2;grid-column:-2/-1}.diploma-topic-row{grid-template-columns:minmax(190px,.7fr) minmax(300px,1.5fr) minmax(150px,.55fr)}}
@media(max-width:900px){.diploma-topic-overview{grid-template-columns:1fr 1fr}.diploma-topic-progress-main{grid-column:1/-1}.diploma-topic-toolbar{grid-template-columns:1fr 1fr}.diploma-topic-search{grid-column:1/-1}.diploma-topic-toolbar>label:nth-of-type(4),.diploma-topic-toolbar>label:nth-of-type(5),.diploma-topic-toolbar-meta{grid-row:auto;grid-column:auto}.diploma-topic-toolbar-meta{grid-column:1/-1;justify-content:space-between}.diploma-topic-row{grid-template-columns:1fr}.diploma-topic-row-action{grid-template-columns:auto minmax(160px,220px);justify-content:end;align-items:center}.diploma-topic-row-action .diploma-topic-status{grid-column:1/-1;text-align:left}.diploma-topic-row-action .btn{width:auto}}
@media(max-width:560px){.diploma-topic-overview,.diploma-topic-toolbar{grid-template-columns:1fr}.diploma-topic-progress-main{grid-template-columns:1fr}.diploma-topic-progress-main>small{white-space:normal}.diploma-topic-search,.diploma-topic-toolbar-meta{grid-column:auto}.diploma-topic-row{padding:13px}.diploma-topic-row-action{grid-template-columns:1fr}.diploma-topic-row-action .btn{width:100%}}

/* #358: alphabetical diploma allocation board, filters and compact notes */
.diploma-supervisor-only-tabs{display:inline-flex;grid-template-columns:1fr;max-width:max-content}
.diploma-allocation-summary-compact{display:grid;grid-template-columns:1.1fr repeat(3,minmax(105px,.7fr)) minmax(240px,1.25fr);gap:8px;align-items:stretch}
.diploma-allocation-summary-compact>div{min-height:64px;padding:10px 12px}
.diploma-allocation-summary-compact .diploma-allocation-summary-main strong{font-size:26px}
.diploma-allocation-summary-secondary{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-around;gap:10px}
.diploma-allocation-summary-secondary span{display:grid;gap:2px;text-align:center;font-size:9px!important}
.diploma-allocation-summary-secondary b{font-size:14px;color:inherit}
.diploma-allocation-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:12px;align-items:end;margin:14px 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:13px}
.diploma-allocation-search{display:grid;gap:4px;min-width:0}.diploma-allocation-search>span,.diploma-allocation-streams>span{font-size:9px;font-weight:820;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.diploma-allocation-search input{width:100%;min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:transparent;color:inherit;font:inherit;font-size:11px}
.diploma-allocation-streams{display:grid;gap:4px}.diploma-allocation-streams>div{display:flex;gap:5px;padding:3px;border:1px solid var(--line);border-radius:10px}
.diploma-allocation-streams button{min-height:29px;padding:5px 10px;border:0;border-radius:7px;background:transparent;color:var(--muted);font:inherit;font-size:10px;font-weight:780;cursor:pointer}
.diploma-allocation-streams button.active{background:rgba(87,151,225,.15);color:inherit;box-shadow:inset 0 0 0 1px rgba(103,174,236,.25)}
.diploma-allocation-filter-count{align-self:center;font-size:9.5px;color:var(--muted);white-space:nowrap}
.diploma-supervisor-board{min-width:0}.diploma-supervisor-columns{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
.diploma-supervisor-drop{min-height:148px;padding:14px 15px;border-radius:14px;box-shadow:inset 0 1px 0 rgba(102,189,236,.12)}
.diploma-supervisor-drop[data-stream="IIPZD"],.diploma-supervisor-drop[data-stream="OTUS"]{box-shadow:inset 0 1px 0 rgba(102,189,236,.12)}
.diploma-supervisor-card-head>strong{font-size:14px}.diploma-supervisor-meta{gap:6px;margin-top:7px}
.diploma-supervisor-direction{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:3px 7px;border-radius:999px;border:1px solid rgba(94,179,224,.22);background:rgba(68,163,211,.08);font-size:9.5px;font-weight:820}
.diploma-supervisor-drop[data-stream="IIPZD"] .diploma-supervisor-direction{border-color:rgba(75,207,218,.34);background:rgba(63,190,201,.10);color:#81dce1}
.diploma-supervisor-drop[data-stream="OTUS"] .diploma-supervisor-direction{border-color:rgba(177,116,235,.34);background:rgba(164,96,221,.10);color:#d0a1f2}
.diploma-supervisor-drop[data-stream="OTUS"] .diploma-supervisor-loadbar>span{background:linear-gradient(90deg,rgba(58,174,230,.92),rgba(112,120,236,.92))}
.diploma-assigned-list{gap:6px;margin-top:8px}.diploma-student-chip{gap:5px;padding:9px 10px}.diploma-student-chip.compact{padding:9px 10px}
.diploma-student-chip-main{gap:2px}.diploma-student-chip-main strong{font-size:12px}.diploma-student-actions{gap:5px}
.diploma-working-note{display:block;min-width:0;padding:0}.diploma-working-note-edit,.diploma-working-note-readonly{display:block;max-width:100%;min-width:0;border:0;background:transparent;padding:0;color:var(--muted);font:inherit;font-size:9.5px;text-align:left}
.diploma-working-note-edit{cursor:pointer}.diploma-working-note-edit:hover{color:inherit}
.diploma-working-note-body{display:flex;align-items:center;gap:6px;min-width:0;max-width:100%;padding:0;border:0;border-radius:0;background:transparent}
.diploma-working-note-body>span:first-child{flex:0 0 auto;font-size:8.5px;font-weight:820;text-transform:uppercase;letter-spacing:.04em;color:#d3b46c}
.diploma-working-note-body>[data-working-note-text]{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;line-height:1.3;color:inherit}
.diploma-working-note-empty{font-size:9.5px;color:var(--muted)}.diploma-working-note-editor{margin-top:6px}
.diploma-topic-confirm-guide{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;align-items:baseline;margin:12px 0 14px;padding:11px 13px;border:1px solid rgba(82,165,226,.24);border-radius:12px;background:rgba(67,145,207,.07)}
.diploma-topic-confirm-guide strong{font-size:11px}.diploma-topic-confirm-guide span,.diploma-topic-confirm-hint{font-size:9.5px;line-height:1.45;color:var(--muted)}
.diploma-topic-editor{display:grid;gap:5px}.diploma-topic-confirm-hint{display:block}
@media(max-width:1180px){.diploma-allocation-summary-compact{grid-template-columns:repeat(4,minmax(0,1fr))}.diploma-allocation-summary-secondary{grid-column:1/-1}.diploma-allocation-toolbar{grid-template-columns:minmax(220px,1fr) auto}.diploma-allocation-filter-count{grid-column:1/-1}}
@media(max-width:760px){.diploma-allocation-summary-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.diploma-allocation-summary-secondary{grid-column:1/-1;flex-wrap:wrap}.diploma-allocation-toolbar{grid-template-columns:1fr}.diploma-allocation-streams>div{width:max-content;max-width:100%}.diploma-allocation-filter-count{grid-column:auto}.diploma-topic-confirm-guide{grid-template-columns:1fr}.diploma-supervisor-only-tabs{max-width:100%}}

/* #360: diploma allocation component convergence */
.diploma-supervisor-columns{align-items:start;align-content:start}
.diploma-supervisor-drop{align-self:start;min-height:0}
.diploma-supervisor-card-head{min-height:38px;align-items:start}
.diploma-supervisor-direction{box-sizing:border-box;min-height:21px;padding:4px 8px;line-height:1.15}
.diploma-assigned-list{gap:0;margin-top:9px;border-top:1px solid var(--line)}
.diploma-supervisor-drop .diploma-student-chip{gap:5px;padding:9px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.diploma-supervisor-drop .diploma-student-chip.compact{padding:9px 0}
.diploma-supervisor-drop .diploma-student-chip:last-child{border-bottom:0;padding-bottom:0}
.diploma-unassigned-column{padding:14px 12px}
.diploma-unassigned-column .diploma-student-chip{gap:5px;padding:10px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.diploma-unassigned-column .diploma-student-chip:last-of-type{border-bottom:0}
.diploma-student-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:nowrap;min-width:0}
.diploma-student-actions .diploma-working-note{flex:1 1 auto;min-width:0}
.diploma-student-actions .btn{flex:0 0 auto;margin:0!important}
.diploma-working-note-edit.has-preview,.diploma-working-note-readonly{width:100%;overflow:hidden}
.diploma-supervisor-empty-state{padding:10px 0 2px}
@media(max-width:760px){.diploma-supervisor-card-head{min-height:0}}

/* #362: supervisor preparation convergence + CSP-safe capacity progress */
.diploma-capacity-progress{display:block;width:100%;height:7px;margin:0;border:0;border-radius:999px;overflow:hidden;appearance:none;-webkit-appearance:none;background:transparent}
.diploma-capacity-progress::-webkit-progress-bar{background:rgba(123,150,181,.16);border-radius:999px}
.diploma-capacity-progress::-webkit-progress-value{background:linear-gradient(90deg,rgba(59,185,224,.95),rgba(101,129,235,.95));border-radius:999px}
.diploma-capacity-progress::-moz-progress-bar{background:linear-gradient(90deg,rgba(59,185,224,.95),rgba(101,129,235,.95));border-radius:999px}
.diploma-capacity-progress.is-full::-webkit-progress-value{background:linear-gradient(90deg,rgba(71,190,176,.95),rgba(95,145,225,.95))}
.diploma-capacity-progress.is-full::-moz-progress-bar{background:linear-gradient(90deg,rgba(71,190,176,.95),rgba(95,145,225,.95))}
.diploma-supervisor-management-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.diploma-supervisor-management-head>div:first-child{display:grid;gap:3px}.diploma-supervisor-management-head>div:first-child>strong{font-size:13px}
.diploma-supervisor-filterbar{display:grid;grid-template-columns:minmax(240px,1.35fr) minmax(130px,.7fr) minmax(130px,.7fr) minmax(160px,.85fr) auto;gap:8px;align-items:end;padding:10px 11px;margin-bottom:14px;border:1px solid var(--line);border-radius:14px}
.diploma-supervisor-filterbar>label{display:grid;gap:4px;min-width:0}.diploma-supervisor-filterbar>label>span{font-size:9px;font-weight:820;text-transform:uppercase;letter-spacing:.045em;color:var(--muted)}
.diploma-supervisor-filterbar input,.diploma-supervisor-filterbar select{width:100%;min-width:0;min-height:36px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:transparent;color:inherit;font:inherit;font-size:11px}
.diploma-supervisor-filter-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:36px;white-space:nowrap}.diploma-supervisor-filter-meta>span{font-size:9.5px;color:var(--muted)}
.diploma-supervisor-cards{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:12px;align-items:stretch}
.diploma-supervisor-card{display:flex;flex-direction:column;gap:10px;min-width:0;padding:16px;border-radius:15px}
.diploma-supervisor-card-head{min-height:54px}.diploma-supervisor-card-head>div{min-width:0}.diploma-supervisor-card-head>div>strong{font-size:14px;line-height:1.32}
.diploma-supervisor-card .diploma-supervisor-capacity{gap:8px}.diploma-supervisor-card .diploma-supervisor-capacity>div{padding:10px 11px}
.diploma-supervisor-card .diploma-supervisor-capacity strong{font-size:21px}.diploma-supervisor-card .diploma-supervisor-capacity span{font-size:9.5px;text-transform:uppercase;letter-spacing:.035em}
.diploma-supervisor-card .diploma-capacity-progress{margin-top:-1px}
.diploma-supervisor-stream{font-size:10.5px;font-weight:800;line-height:1.35}
.diploma-supervisor-specialization{display:grid;gap:8px;min-height:86px;align-content:start}
.diploma-supervisor-specialization .tags{display:flex;gap:5px;flex-wrap:wrap}.diploma-supervisor-specialization .tag{font-size:9.5px;padding:4px 7px}
.diploma-supervisor-specialization-empty{font-size:10px;color:var(--muted)}
.diploma-supervisor-summary{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0;line-height:1.45;min-height:0}
.diploma-supervisor-card-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:3px}
@media(max-width:1180px){.diploma-supervisor-filterbar{grid-template-columns:minmax(220px,1.2fr) repeat(2,minmax(130px,.7fr))}.diploma-supervisor-filterbar>label:nth-of-type(4),.diploma-supervisor-filter-meta{grid-row:2}.diploma-supervisor-filter-meta{grid-column:-2/-1}}
@media(max-width:760px){.diploma-supervisor-management-head{flex-direction:column}.diploma-supervisor-filterbar{grid-template-columns:1fr}.diploma-supervisor-filterbar>label:nth-of-type(4),.diploma-supervisor-filter-meta{grid-row:auto;grid-column:auto}.diploma-supervisor-filter-meta{justify-content:space-between}.diploma-supervisor-cards{grid-template-columns:1fr}.diploma-supervisor-card-head{min-height:0}.diploma-supervisor-specialization{min-height:0}}

/* STAGING QA #370 — Employees structure/readability */
.identity-org-tree{gap:12px}.identity-org-group{border-radius:18px}.identity-org-group-head{padding:16px 18px}.identity-org-children{padding:8px;gap:7px}.identity-org-department{border:1px solid var(--border,#dfe5eb);border-radius:12px;padding:12px 14px}.identity-org-department:last-child{border-bottom:1px solid var(--border,#dfe5eb)}.identity-add-staff-modal{width:min(760px,calc(100vw - 28px));padding:22px}.identity-rut-add{padding:16px;border-radius:16px}.identity-rut-add .field{margin:0}.identity-rut-add input{min-height:42px}.identity-rut-add>.btn{min-height:42px}.identity-manual-add{margin-top:14px;padding-top:14px}
.identity-org-group-head{border-left:3px solid var(--accent,#1570ef)}.identity-org-group-head>div{gap:4px}.identity-org-group-head strong{font-size:16px}.identity-org-department>div{gap:12px}.identity-org-department strong{font-size:13.5px;line-height:1.3}.identity-add-staff-modal .modal-head h2{font-size:20px}.identity-add-staff-modal .modal-head p{font-size:12.5px;line-height:1.5;max-width:620px}.identity-add-staff-modal .field{font-size:12px;font-weight:750}.identity-add-staff-modal input,.identity-add-staff-modal select{font-size:13px}.identity-rut-add{gap:12px}.identity-rut-add .btn{font-weight:800}.identity-manual-add>button{justify-self:start}

/* #375: diploma supervisor work-surface hierarchy */
.diploma-supervisor-filterbar{grid-template-columns:minmax(260px,1.45fr) minmax(150px,.72fr) minmax(150px,.72fr) auto}
.diploma-supervisor-card,.diploma-supervisor-drop{position:relative;isolation:isolate;overflow:hidden}
.diploma-supervisor-card::before,.diploma-supervisor-drop::before{content:"";position:absolute;z-index:0;inset:0 auto 0 0;width:2px;border-radius:inherit;background:rgba(111,160,204,.24);pointer-events:none}
.diploma-supervisor-card>* ,.diploma-supervisor-drop>*{position:relative;z-index:1}
.diploma-supervisor-card[data-stream="IIPZD"]::before,.diploma-supervisor-drop[data-stream="IIPZD"]::before{background:rgba(72,205,220,.72)}
.diploma-supervisor-card[data-stream="OTUS"]::before,.diploma-supervisor-drop[data-stream="OTUS"]::before{background:rgba(174,112,232,.68)}
.diploma-supervisor-card-head{min-height:38px}
.diploma-supervisor-card .diploma-supervisor-stream{display:inline-flex;align-items:center;width:max-content;max-width:100%;min-height:21px;padding:4px 8px;border:1px solid rgba(94,179,224,.22);border-radius:999px;font-size:9.5px;font-weight:820;line-height:1.15}
.diploma-supervisor-card[data-stream="IIPZD"] .diploma-supervisor-stream{border-color:rgba(75,207,218,.34);background:rgba(63,190,201,.09);color:#81dce1}
.diploma-supervisor-card[data-stream="OTUS"] .diploma-supervisor-stream{border-color:rgba(177,116,235,.34);background:rgba(164,96,221,.09);color:#d0a1f2}
.diploma-supervisor-specialization{min-height:78px}
.diploma-unassigned-column{box-shadow:0 8px 22px rgba(0,0,0,.14)}
@media(max-width:1180px){.diploma-supervisor-filterbar{grid-template-columns:minmax(220px,1.2fr) repeat(2,minmax(130px,.72fr)) auto}.diploma-supervisor-filterbar>label:nth-of-type(4),.diploma-supervisor-filter-meta{grid-row:auto;grid-column:auto}}
@media(max-width:760px){.diploma-supervisor-filterbar{grid-template-columns:1fr}.diploma-supervisor-filter-meta{grid-column:auto}.diploma-supervisor-card-head{min-height:0}.diploma-supervisor-specialization{min-height:0}}

/* #386: larger, navigable bulk supervisor wizard */
.diploma-supervisor-bulk-modal{width:min(1080px,calc(100vw - 36px));max-height:min(86vh,920px);padding:22px 24px 0}
.diploma-supervisor-bulk-modal .modal-head h2{font-size:22px;line-height:1.25}
.diploma-supervisor-bulk-modal .modal-head p{font-size:13px;line-height:1.5}
.diploma-supervisor-bulk-modal .diploma-bulk-stepper{position:sticky;top:-22px;z-index:6;margin:14px -4px 16px;padding:10px 4px;background:inherit}
.diploma-bulk-step{appearance:none;text-align:left;background:transparent;font:inherit;cursor:pointer;min-height:48px;font-size:13px}
.diploma-bulk-step:disabled{cursor:default;opacity:1}
.diploma-bulk-step.done:not(:disabled){cursor:pointer}
.diploma-bulk-step b{width:24px;height:24px;font-size:11px}
.diploma-bulk-body{min-height:240px}
.diploma-bulk-intro>strong{font-size:15px}.diploma-bulk-intro p{font-size:12px;line-height:1.5}
.diploma-bulk-person{min-height:58px;padding:14px 15px}.diploma-bulk-person strong{font-size:14px}.diploma-bulk-person small{font-size:12px}
.diploma-bulk-row,.diploma-bulk-capacity{min-height:64px;padding:14px 15px}.diploma-bulk-row strong,.diploma-bulk-capacity strong{font-size:14px}
.diploma-bulk-capacity input{min-height:40px;font-size:15px;font-weight:800}
.diploma-bulk-summary>div{grid-template-columns:minmax(0,1fr) minmax(160px,.55fr) 92px auto;min-height:58px;padding:11px 10px}
.diploma-bulk-summary.single>div{grid-template-columns:minmax(0,1fr) 92px auto}
.diploma-bulk-summary strong{font-size:13px}.diploma-bulk-summary small{font-size:11px}.diploma-bulk-summary em{font-size:13px}
.diploma-bulk-review-actions{display:flex!important;gap:6px!important;justify-content:flex-end}
.diploma-bulk-footer{position:sticky;bottom:0;z-index:7;margin:16px -24px 0;padding:13px 24px 16px;background:inherit;border-top:1px solid var(--line)}
.diploma-bulk-footer .btn{min-height:40px;padding-inline:16px}
@media(max-width:760px){.diploma-supervisor-bulk-modal{width:min(100vw - 16px,1080px);padding:16px 14px 0}.diploma-supervisor-bulk-modal .diploma-bulk-stepper{top:-16px}.diploma-bulk-summary>div,.diploma-bulk-summary.single>div{grid-template-columns:1fr}.diploma-bulk-review-actions{justify-content:flex-start}.diploma-bulk-footer{margin:12px -14px 0;padding:12px 14px}}

/* #394: explicit department diploma direction setup */
.diploma-stream-setup-note{margin:0 0 12px}
.diploma-stream-setup-modal{width:min(900px,calc(100vw - 28px));max-height:min(90vh,940px)}
.diploma-stream-setup-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:14px 0}
.diploma-stream-setup-list .diploma-choice{display:grid;gap:4px}.diploma-stream-setup-list .diploma-choice small{padding:0 10px;color:var(--muted);font-size:10px;line-height:1.35}
.diploma-stream-supervisor-setup{display:grid;gap:8px;margin:16px 0}.diploma-stream-supervisor-setup>div:first-child{margin-bottom:2px}
.diploma-stream-supervisor-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.65fr);gap:12px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:11px}.diploma-stream-supervisor-row>span{display:grid;gap:3px;min-width:0}.diploma-stream-supervisor-row strong{font-size:12.5px}.diploma-stream-supervisor-row small{font-size:10px;color:var(--muted)}.diploma-stream-supervisor-row select{min-height:38px;width:100%}
@media(max-width:760px){.diploma-stream-setup-modal{width:min(100vw - 16px,900px)}.diploma-stream-supervisor-row{grid-template-columns:1fr}}

/* #393: larger academic-first supervisor picker */
.diploma-supervisor-modal{width:min(1040px,calc(100vw - 36px));max-height:min(90vh,940px);padding:24px}
.diploma-supervisor-modal .modal-head h2{font-size:22px;line-height:1.25}
.diploma-supervisor-modal .modal-head p{font-size:13px;line-height:1.5}
.diploma-staff-scope{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:9px 0 10px;color:var(--muted);font-size:11px}
.diploma-staff-scope>span{min-width:0}
.diploma-staff-candidates{gap:8px;max-height:500px}
.diploma-staff-candidates button{min-height:58px;padding:12px 14px;border-radius:11px}
.diploma-staff-candidates button strong{font-size:13px;line-height:1.3}
.diploma-staff-candidates button span,.diploma-staff-candidates button small{font-size:10.5px;line-height:1.35}
.diploma-bulk-staff-scope{margin-top:10px}
@media(max-width:760px){.diploma-supervisor-modal{width:min(100vw - 16px,1040px);padding:16px}.diploma-staff-scope{align-items:flex-start;flex-direction:column}.diploma-staff-candidates{max-height:430px}}

/* #388: graduating department group-family scope */
.diploma-group-family-modal{width:min(920px,calc(100vw - 32px));max-height:min(88vh,920px)}
.diploma-group-family-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px;margin:14px 0}
.diploma-group-family-grid .diploma-choice{display:grid;gap:4px;align-content:start;min-height:72px}
.diploma-group-family-grid .diploma-choice small{padding:0 10px;color:var(--muted);font-size:10px;line-height:1.35}
.diploma-group-scope-warning{margin:12px 0}
@media(max-width:760px){.diploma-group-family-modal{width:min(100vw - 16px,920px)}.diploma-group-family-grid{grid-template-columns:1fr}}

/* #389: incoming diploma students from other departments */
.diploma-incoming-modal{width:min(980px,calc(100vw - 32px));max-height:min(88vh,940px)}
.diploma-incoming-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.42fr);gap:12px;margin:14px 0}
.diploma-incoming-results{display:grid;gap:8px;max-height:480px;overflow:auto;padding-right:2px}
.diploma-incoming-candidate{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid var(--line);border-radius:11px}
.diploma-incoming-candidate>span{display:grid;gap:4px;min-width:0}.diploma-incoming-candidate strong{font-size:13px}.diploma-incoming-candidate small{font-size:10.5px;color:var(--muted)}
.diploma-incoming-footer{justify-content:flex-end;margin-top:14px}
.diploma-incoming-badge{margin-left:6px;font-size:9px;vertical-align:middle}
@media(max-width:760px){.diploma-incoming-modal{width:min(100vw - 16px,980px)}.diploma-incoming-tools{grid-template-columns:1fr}.diploma-incoming-candidate{align-items:flex-start;flex-direction:column}}

/* #404: transparent incoming-student state and clearer roster actions */
.diploma-summary-link{appearance:none;border:0;background:transparent;color:inherit;font:inherit;padding:0;display:grid;gap:2px;text-align:center;font-size:9px!important;cursor:pointer}
.diploma-summary-link b{font-size:14px;color:inherit}
.diploma-summary-link:hover{text-decoration:underline}
.diploma-roster-tools{display:grid;gap:10px;margin:14px 0 8px}
.diploma-roster-tools .diploma-cohort-tools{margin:0}
.diploma-group-scope-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid var(--line);border-radius:11px}
.diploma-group-scope-status>span{font-size:11px;color:var(--muted)}
.diploma-group-scope-status>span strong{color:var(--text)}
.diploma-incoming-summary-card{display:grid;gap:10px;margin:12px 0;padding:13px 14px;border:1px solid var(--line);border-radius:13px}
.diploma-incoming-summary-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:7px}
.diploma-incoming-summary-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:10px}
.diploma-incoming-summary-row>span:first-child{display:grid;gap:3px;min-width:0}
.diploma-incoming-summary-row strong{font-size:12px}.diploma-incoming-summary-row small{font-size:10px;color:var(--muted)}
.diploma-incoming-selected{margin:13px 0 4px;padding:12px;border:1px solid var(--line);border-radius:12px}
.diploma-incoming-selected-head{margin-bottom:9px}.diploma-incoming-selected-head>div{display:grid;gap:3px}.diploma-incoming-selected-head span{font-size:10px;color:var(--muted)}
.diploma-incoming-selected-list{display:grid;gap:7px}
.diploma-incoming-selected-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid var(--line);border-radius:10px}
.diploma-incoming-selected-row>span{display:grid;gap:3px;min-width:0}.diploma-incoming-selected-row strong{font-size:12px}.diploma-incoming-selected-row small{font-size:10px;color:var(--muted)}
.diploma-incoming-selected-empty{display:grid;gap:3px}.diploma-incoming-selected-empty span{font-size:10px;color:var(--muted)}
.diploma-incoming-candidate.is-added{border-width:2px}
.diploma-incoming-candidate .badge{margin-left:6px;vertical-align:middle}
.diploma-incoming-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
@media(max-width:760px){.diploma-group-scope-status,.diploma-incoming-summary-row,.diploma-incoming-selected-row,.diploma-incoming-footer{align-items:flex-start;flex-direction:column}.diploma-incoming-summary-list{grid-template-columns:1fr}}

/* Issue #442: visible but non-blocking wrong-session preflight. */
.session-open-review{margin:12px 0;border:2px solid #d9a22e;background:#fff8e8;box-shadow:0 0 0 3px rgba(217,162,46,.12)}
.session-open-review>strong{display:block;color:#8a5a00;font-size:14px}
.session-open-review-selected,.session-open-review-expected{display:grid;gap:4px;margin-top:9px;padding:9px 11px;border-radius:10px;background:rgba(255,255,255,.65)}
.session-open-review-selected span,.session-open-review-expected span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#8c6b2c}
.session-open-review-selected strong,.session-open-review-expected strong{font-size:12px;color:#4f3b15}

/* Contingent reconciliation: evidence-first, Aurora-compatible workflow. */
.roster-dialog .roster-dialog-panel{width:min(860px,94vw);padding:22px 24px 24px;border:1px solid #315676;background:linear-gradient(145deg,#102b45,#081b2f);color:#edf6ff}
.roster-dialog .roster-dialog-head{padding-bottom:15px;margin-bottom:16px;border-bottom:1px solid #315676}
.roster-dialog .roster-dialog-head h2{margin:3px 0 0;font-size:23px}
.roster-dialog .eyebrow{color:#73c9ff}
.roster-dialog .muted{color:#b7c9da}
.roster-dialog .field input,.roster-dialog .field select,.roster-dialog .field textarea{background:#0b2035;color:#edf6ff;border-color:#315676}
.roster-dialog .service-note{background:#102d48;border-color:#3c6383;color:#edf6ff}
.roster-dialog .card{background:#102a43;border-color:#315676;color:#edf6ff;box-shadow:none}
.roster-dialog-body{display:grid;gap:14px}.roster-message:not(:empty){margin:16px 0 0;padding:10px 12px;border-radius:10px;background:#112f4b;border:1px solid #3e6380}
.roster-review-intro,.roster-queue-intro{padding:13px 15px;border-radius:13px;background:#0d2740;border:1px solid #315676}
.roster-review-intro p,.roster-queue-intro p{margin:5px 0 0}
.roster-review-card{display:grid;gap:12px}.roster-review-card p{line-height:1.5}.roster-review-rows{max-height:250px;overflow:auto;padding:8px 0}
.roster-attention-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.roster-attention-group{display:grid;gap:7px;text-align:left;padding:14px;border:1px solid #315676;border-radius:13px;background:#0d2740;color:#edf6ff}
.roster-attention-group:hover,.roster-attention-group:focus-visible{border-color:#68bfff;box-shadow:0 0 0 2px #2e8ddd33;outline:0}.roster-attention-group strong{font-size:18px}.roster-attention-group small{color:#a9c4d9}
.roster-student-summary{padding:2px 2px 8px}.roster-student-summary h3{font-size:20px;margin:0 0 5px}.roster-student-summary p{margin:0;color:#c6d7e5}
.roster-evidence-card{display:grid;gap:12px;padding:17px;border:1px solid #377aa6;border-radius:15px;background:linear-gradient(135deg,#123a59,#0d2841)}
.roster-move-route{display:flex;align-items:center;gap:11px;font-size:24px;letter-spacing:-.02em}.roster-move-route span{color:#68c8ff}.roster-evidence-card p{margin:0;color:#d4e4ef;line-height:1.5}
.roster-evidence-tags{display:flex;gap:6px;flex-wrap:wrap}.roster-primary-decision{justify-self:start}
.roster-manual-decision,.roster-history{border:1px solid #315676;border-radius:12px;background:#0b2137;padding:0 13px 13px}.roster-manual-decision>summary,.roster-history>summary{cursor:pointer;padding:12px 0;font-weight:700}.roster-manual-decision form{display:grid;gap:2px}
.roster-file-list{gap:8px}.roster-file-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid var(--line);border-radius:11px}.roster-file-main{display:grid;grid-template-columns:minmax(90px,auto) minmax(180px,1fr);align-items:baseline;gap:2px 10px;min-width:0}.roster-file-main strong{font-size:13px}.roster-file-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-file-main small{grid-column:1/-1;color:var(--muted)}
.management-kpi-action.has-attention{cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s}.management-kpi-action.has-attention:hover,.management-kpi-action.has-attention:focus-visible{border-color:#e7bb57!important;box-shadow:0 0 0 2px #d9a83c2e;transform:translateY(-1px);outline:0}
@media(max-width:700px){.roster-dialog .roster-dialog-panel{width:100%;padding:17px}.roster-move-route{font-size:20px}.roster-file-row{align-items:flex-start;flex-direction:column}.roster-file-main{grid-template-columns:1fr}}

body.glass-home.glass-workspace #modalLayer .roster-batch-modal .roster-compare-grid>div{background:#17355035;border-color:#74a9d238}
body.glass-home.glass-workspace #modalLayer .roster-batch-modal .roster-compare-grid>div.warn{background:#59451438;border-color:#d1ad575c}
body.glass-home.glass-workspace #modalLayer .roster-batch-modal .roster-change-details{border-color:#74a9d238}
body.glass-home.glass-workspace #modalLayer .roster-batch-modal .roster-change-details summary{color:#a8dbff}
body.glass-home.glass-workspace #modalLayer .roster-batch-modal .roster-change-person,
body.glass-home.glass-workspace #modalLayer .roster-batch-modal .roster-file-row{background:#17355035;border-color:#74a9d238}


/* #489 · unified actionable management queue */
.attention-home-actions{align-items:center;justify-content:flex-end}
.attention-home-summary{margin-top:10px;text-align:left}
.attention-work-queue-modal{max-width:980px}
.attention-work-summary{display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:baseline;gap:2px 8px;margin:2px 0 14px;padding:11px 13px;border:1px solid #315676;border-radius:12px;background:#0b2137}
.attention-work-summary strong{font-size:19px;color:#edf6ff}.attention-work-summary span{font-size:11px;color:#a9c4d9}
.attention-work-filters{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}.attention-work-filters .tab-btn{margin:0}
.attention-work-list{display:grid;gap:10px;max-height:min(62vh,680px);overflow:auto;padding-right:3px}
.attention-work-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:15px 16px;border:1px solid #315676;border-radius:14px;background:linear-gradient(135deg,#102f4a,#0b2238)}
.attention-work-copy{min-width:0}.attention-work-copy h3{margin:7px 0 5px;font-size:17px;color:#edf6ff}.attention-work-copy p{margin:0;color:#c6d7e5;line-height:1.45}
.attention-work-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.attention-work-meta>span:last-child{font-size:11px;color:#91adc3}
.attention-work-current{display:block;margin-top:7px;color:#93bad5;line-height:1.35}
.attention-work-resolver{display:flex;gap:7px;align-items:baseline;margin-top:10px;font-size:11px}.attention-work-resolver span{color:#7f9cb4}.attention-work-resolver strong{color:#d8e8f4;font-size:11px}
.attention-work-item>.btn{min-width:150px}
.attention-work-empty{padding:24px}
@media(max-width:720px){.attention-home-actions{width:100%;justify-content:flex-start}.attention-work-summary{grid-template-columns:auto 1fr}.attention-work-item{grid-template-columns:1fr}.attention-work-item>.btn{width:100%;min-width:0}.attention-work-list{max-height:68vh}}


/* #499 · teacher-first teaching-department resolver */
.teaching-department-resolver{display:grid;gap:14px}
.teaching-person-list{display:grid;gap:12px}
.teaching-person-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:rgba(10,30,49,.56)}
.teaching-person-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,360px);gap:18px;align-items:start}
.teaching-person-heading h3{margin:0 0 4px}.teaching-person-heading p{margin:0}
.teaching-person-courses{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.teaching-person-courses span{font-size:11px;padding:5px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.teaching-person-actions{display:grid;gap:8px}
.teaching-person-actions .field{margin:0}
.teaching-person-detail{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);display:grid;gap:12px}
@media(max-width:900px){.teaching-person-main{grid-template-columns:1fr}.teaching-person-actions{grid-template-columns:1fr}.teaching-person-actions .btn{width:100%}}


/* #502/#505 · inline management attention geometry.
   Aurora owns surface, border, text, hover and focus treatment. */
.management-attention-card{align-self:start}
.management-attention-inline-list{display:grid;gap:8px;margin-top:10px}
.management-attention-inline-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;transition:transform .16s}
.management-attention-inline-copy{min-width:0}
.management-attention-inline-copy h3{margin:5px 0 3px;font-size:14px}
.management-attention-inline-copy p{margin:0;line-height:1.38}
.management-attention-inline-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.management-attention-inline-meta strong{font-size:11px}
.management-attention-inline-item>.btn{min-width:150px}
.management-attention-inline-item.attention-inline-highlight{transform:translateY(-1px)}
@media(max-width:720px){.attention-home-actions{width:100%;justify-content:flex-start}.management-attention-inline-item{grid-template-columns:1fr}.management-attention-inline-item>.btn{width:100%;min-width:0}}

/* Canonical staff access card — Aurora hierarchy for role, responsibility, scope and security. */
.staff-access-layer .staff-access-modal{
  width:min(1080px,calc(100vw - 32px))!important;
  max-width:1080px!important;
  padding:0!important;
  overflow:hidden!important;
}
.staff-access-layer .staff-access-modal>.modal-head{
  padding:22px 24px 0;
}
.staff-access-layer .staff-access-content{
  max-height:calc(92vh - 124px);
  overflow:auto;
  padding:0 24px 24px;
}
.staff-access-layer .staff-access-modal>.staff-setup-error{
  margin:8px 24px 16px;
  min-height:1em;
}
.staff-access-layer .access-identity-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:18px 0 8px;
  padding:18px 20px;
  border:1px solid var(--linea-card-border);
  border-radius:18px;
  background:
    radial-gradient(circle at 0 0,var(--linea-aurora-cyan-haze),transparent 42%),
    var(--linea-card-surface);
}
.staff-access-layer .access-eyebrow{
  display:block;
  margin-bottom:4px;
  color:var(--linea-text-subtle);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.staff-access-layer .access-identity-card h3{
  margin:0;
  color:var(--linea-text-primary);
  font-size:20px;
}
.staff-access-layer .access-identity-card p{
  margin:5px 0 0;
  color:var(--linea-text-secondary);
  font-size:13px;
}
.staff-access-layer .access-state-pill,
.staff-access-layer .access-section-count{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border:1px solid var(--linea-status-neutral-border);
  border-radius:999px;
  background:var(--linea-status-neutral-bg);
  color:var(--linea-status-neutral-fg);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.staff-access-layer .access-state-pill.active{
  border-color:var(--linea-status-success-border);
  background:var(--linea-status-success-bg);
  color:var(--linea-status-success-fg);
}
.staff-access-layer .access-state-pill.action{
  border-color:var(--linea-status-info-border);
  background:var(--linea-status-info-bg);
  color:var(--linea-status-info-fg);
}
.staff-access-layer .access-form{
  display:grid;
  gap:14px;
}
.staff-access-layer .access-section{
  padding:20px;
  border:1px solid var(--linea-card-border);
  border-radius:18px;
  background:var(--linea-card-surface);
}
.staff-access-layer .access-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.staff-access-layer .access-section-head h3{
  margin:0;
  color:var(--linea-text-primary);
  font-size:16px;
}
.staff-access-layer .access-section-head p{
  margin:5px 0 0;
  max-width:720px;
  color:var(--linea-text-secondary);
  font-size:13px;
  line-height:1.45;
}
.staff-access-layer .access-choice-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.staff-access-layer .access-choice-card{
  position:relative;
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:11px;
  align-items:start;
  min-height:96px;
  padding:14px;
  border:1px solid var(--linea-control-border);
  border-radius:14px;
  background:var(--linea-control-surface);
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.staff-access-layer .access-choice-card:hover{
  border-color:var(--linea-control-border-hover);
  background:var(--linea-control-surface-hover);
}
.staff-access-layer .access-choice-card>input{
  position:absolute;
  inline-size:1px;
  block-size:1px;
  opacity:0;
  pointer-events:none;
}
.staff-access-layer .access-choice-check{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border:1px solid var(--linea-control-border);
  border-radius:10px;
  background:var(--linea-field-surface);
  color:transparent;
  font-weight:900;
}
.staff-access-layer .access-choice-card:has(input:checked){
  border-color:var(--linea-status-info-border);
  background:color-mix(in srgb,var(--linea-status-info-bg) 68%,var(--linea-card-surface));
  box-shadow:inset 3px 0 0 var(--linea-aurora-cyan),0 10px 28px color-mix(in srgb,var(--linea-aurora-cyan) 8%,transparent);
}
.staff-access-layer .access-choice-card:has(input:checked) .access-choice-check{
  border-color:var(--linea-status-info-border);
  background:var(--linea-status-info-bg);
  color:var(--linea-status-info-fg);
}
.staff-access-layer .access-choice-card:has(input:focus-visible){
  outline:2px solid var(--linea-aurora-cyan);
  outline-offset:2px;
}
.staff-access-layer .access-choice-copy{
  display:grid;
  gap:5px;
}
.staff-access-layer .access-choice-copy strong{
  color:var(--linea-text-primary);
  font-size:13px;
  line-height:1.35;
}
.staff-access-layer .access-choice-meta{
  color:var(--linea-text-secondary);
  font-size:12px;
  font-weight:700;
  line-height:1.35;
}
.staff-access-layer .access-choice-copy small{
  color:var(--linea-text-muted);
  font-size:11px;
  line-height:1.42;
}
.staff-access-layer .access-choice-card:has(input:checked) .access-choice-meta{
  color:var(--linea-status-info-fg);
}
.staff-access-layer .access-retained-note,
.staff-access-layer .access-empty{
  margin:12px 0 0;
  padding:10px 12px;
  border:1px solid var(--linea-status-neutral-border);
  border-radius:12px;
  background:var(--linea-status-neutral-bg);
  color:var(--linea-status-neutral-fg);
  font-size:12px;
}

.staff-access-layer .access-scope-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:-2px 0 12px;
}
.staff-access-layer .access-scope-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  padding:5px 7px 5px 9px;
  border:1px solid var(--linea-status-info-border);
  border-radius:999px;
  background:var(--linea-status-info-bg);
  color:var(--linea-status-info-fg);
  font-size:11px;
}
.staff-access-layer .access-scope-chip>span{
  color:var(--linea-text-secondary);
}
.staff-access-layer .access-scope-chip strong{
  max-width:320px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--linea-text-primary);
}
.staff-access-layer .access-scope-chip button{
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--linea-status-info-fg);
  cursor:pointer;
}
.staff-access-layer .access-scope-chip button:hover{
  background:var(--linea-control-surface-hover);
}
.staff-access-layer .access-empty-inline{
  color:var(--linea-text-muted);
  font-size:12px;
}

.staff-access-layer .access-scope-details{
  border:1px solid var(--linea-control-border);
  border-radius:14px;
  background:var(--linea-control-surface);
  overflow:hidden;
}
.staff-access-layer .access-scope-details summary{
  padding:13px 15px;
  color:var(--linea-text-primary);
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}
.staff-access-layer .access-scope-details[open] summary{
  border-bottom:1px solid var(--linea-control-border);
}
.staff-access-layer .access-scope-details>.field{
  margin:14px 15px;
}
.staff-access-layer .access-native-scope select{
  min-height:190px;
  padding:8px;
  border:1px solid var(--linea-field-border);
  border-radius:12px;
  background:var(--linea-field-surface);
  color:var(--linea-text-primary);
}
.staff-access-layer .access-native-scope option{
  padding:7px 8px;
  border-radius:7px;
}
.staff-access-layer .access-native-scope option:checked{
  background:var(--linea-status-info-bg);
  color:var(--linea-status-info-fg);
}
.staff-access-layer .access-responsibility-grid{
  align-items:start;
}
.staff-access-layer .access-responsibility-item{
  display:grid;
  gap:9px;
}
.staff-access-layer .access-responsibility-item .access-choice-card{
  min-height:118px;
}
.staff-access-layer .access-responsibility-summary{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:4px 8px;
  border:1px solid var(--linea-status-neutral-border);
  border-radius:999px;
  background:var(--linea-status-neutral-bg);
  color:var(--linea-status-neutral-fg);
  font-size:10px;
  font-weight:800;
}
.staff-access-layer .access-responsibility-card:has(input:checked) .access-responsibility-summary{
  border-color:var(--linea-status-info-border);
  background:var(--linea-status-info-bg);
  color:var(--linea-status-info-fg);
}
.staff-access-layer .access-responsibility-config{
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid var(--linea-control-border);
  border-radius:14px;
  background:color-mix(in srgb,var(--linea-control-surface) 82%,transparent);
}
.staff-access-layer .access-responsibility-config[hidden],
.staff-access-layer .access-responsibility-permissions[hidden]{
  display:none!important;
}
.staff-access-layer .access-responsibility-mode{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.staff-access-layer .access-responsibility-mode label,
.staff-access-layer .access-permission-chip{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:10px 11px;
  border:1px solid var(--linea-control-border);
  border-radius:11px;
  background:var(--linea-field-surface);
  cursor:pointer;
}
.staff-access-layer .access-responsibility-mode input,
.staff-access-layer .access-permission-chip input{
  margin:2px 0 0;
  accent-color:var(--linea-aurora-cyan);
}
.staff-access-layer .access-responsibility-mode label:has(input:checked),
.staff-access-layer .access-permission-chip:has(input:checked){
  border-color:var(--linea-status-info-border);
  background:color-mix(in srgb,var(--linea-status-info-bg) 56%,var(--linea-field-surface));
}
.staff-access-layer .access-responsibility-mode span,
.staff-access-layer .access-permission-chip>span{
  display:grid;
  gap:3px;
}
.staff-access-layer .access-responsibility-mode strong,
.staff-access-layer .access-permission-chip strong{
  color:var(--linea-text-primary);
  font-size:11px;
  line-height:1.3;
}
.staff-access-layer .access-responsibility-mode small,
.staff-access-layer .access-permission-chip small{
  color:var(--linea-text-muted);
  font-size:10px;
  line-height:1.35;
}
.staff-access-layer .access-responsibility-permissions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  padding-top:2px;
}
.staff-access-layer .access-security-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.staff-access-layer .access-security-action{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  min-height:82px;
  padding:14px 15px;
  border:1px solid var(--linea-control-border);
  border-radius:14px;
  background:var(--linea-control-surface);
  color:var(--linea-text-primary);
  text-align:left;
  cursor:pointer;
}
.staff-access-layer .access-security-action>span:first-child{
  display:grid;
  gap:5px;
}
.staff-access-layer .access-security-action strong{
  font-size:13px;
}
.staff-access-layer .access-security-action small{
  color:var(--linea-text-muted);
  font-size:11px;
  line-height:1.4;
}
.staff-access-layer .access-security-action:hover:not(:disabled){
  border-color:var(--linea-control-border-hover);
  background:var(--linea-control-surface-hover);
}
.staff-access-layer .access-security-action.danger{
  border-color:var(--linea-status-danger-border);
  background:color-mix(in srgb,var(--linea-status-danger-bg) 42%,var(--linea-card-surface));
}
.staff-access-layer .access-security-action.danger strong,
.staff-access-layer .access-security-action.danger>span:last-child{
  color:var(--linea-status-danger-fg);
}
.staff-access-layer .access-security-action:disabled{
  opacity:.46;
  cursor:not-allowed;
}
.staff-access-layer .access-footer{
  position:sticky;
  bottom:-24px;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:4px -24px -24px;
  padding:14px 24px 16px;
  border-top:1px solid var(--linea-card-border);
  background:var(--linea-card-surface-strong);
}
.staff-access-layer .access-footer.static{
  position:static;
  margin:18px 0 0;
  padding:14px 0 0;
  background:transparent;
}
.staff-access-layer .access-footer-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.staff-access-layer .access-save-state{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--linea-status-neutral-fg);
}
.staff-access-layer .access-save-state span{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border:1px solid var(--linea-status-neutral-border);
  border-radius:8px;
  background:var(--linea-status-neutral-bg);
  font-weight:900;
}
.staff-access-layer .access-save-state p{
  margin:0;
  font-size:12px;
  font-weight:750;
}
.staff-access-layer .access-save-state.dirty{
  color:var(--linea-status-info-fg);
}
.staff-access-layer .access-save-state.dirty span{
  border-color:var(--linea-status-info-border);
  background:var(--linea-status-info-bg);
}
.staff-access-layer .access-save-state.invalid{
  color:var(--linea-status-danger-fg);
}
.staff-access-layer .access-save-state.invalid span{
  border-color:var(--linea-status-danger-border);
  background:var(--linea-status-danger-bg);
}
.staff-access-layer .access-credential-result{
  padding:18px 0 4px;
}
.staff-access-layer .access-credential-result h3{
  margin:14px 0 6px;
}
.staff-access-layer .access-credential-result>p{
  color:var(--linea-text-secondary);
}
.staff-access-layer .access-credential-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}
.staff-access-layer .access-readonly{
  padding:18px 0 0;
}
@media(max-width:760px){
  .staff-access-layer .staff-access-modal{
    width:min(100%,calc(100vw - 18px))!important;
  }
  .staff-access-layer .staff-access-content{
    padding:0 14px 14px;
  }
  .staff-access-layer .access-identity-card,
  .staff-access-layer .access-section{
    padding:15px;
  }
  .staff-access-layer .access-identity-card,
  .staff-access-layer .access-section-head,
  .staff-access-layer .access-footer{
    align-items:stretch;
    flex-direction:column;
  }
  .staff-access-layer .access-choice-grid,
  .staff-access-layer .access-responsibility-mode,
  .staff-access-layer .access-responsibility-permissions,
  .staff-access-layer .access-security-grid,
  .staff-access-layer .access-credential-grid{
    grid-template-columns:1fr;
  }
  .staff-access-layer .access-footer{
    bottom:-14px;
    margin:4px -14px -14px;
    padding:12px 14px 14px;
  }
  .staff-access-layer .access-footer-actions{
    width:100%;
  }
  .staff-access-layer .access-footer-actions .btn{
    flex:1;
  }
}
