:root{
  --bg:#faf9f5; --surface-1:#f3f1ea; --surface-2:#ffffff;
  --text-primary:#1f1e1c; --text-secondary:#5f5e5a; --text-muted:#8a8881;
  --border:#e6e3da; --border-strong:#d3d0c6;
  --accent:#185FA5; --accent-bg:#E6F1FB; --accent-text:#0C447C; --accent-border:#85B7EB;
  --success-bg:#E1F5EE; --success-text:#0F6E56;
  --warning-bg:#FAEEDA; --warning-text:#854F0B;
  --danger-bg:#FCEBEB; --danger-text:#A32D2D;
  --c-lift:#1D9E75; --c-weight:#D85A30; --c-thrust:#378ADD; --c-drag:#BA7517;
  --radius:8px;
  --font-interface:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-reading:var(--font-interface);
  --font:var(--font-interface);
  --type-caption:.75rem;
  --type-help:.8125rem;
  --type-label:.875rem;
  --type-body:1rem;
  --type-body-lg:1.125rem;
  --type-nav-group:.75rem;
  --type-nav-item:.9375rem;
  --type-button:.875rem;
  --type-table:.875rem;
  --type-card-title:1.25rem;
  --type-section-title:1.625rem;
  --type-page-title:clamp(2.125rem,3vw,3rem);
  --form-control-height:46px;
  --form-control-height:2.875rem;
  --form-control-font-size:15px;
  --form-control-font-size:.9375rem;
  --form-label-font-size:13px;
  --form-label-font-size:.8125rem;
  --form-help-font-size:11.5px;
  --form-help-font-size:.75rem;
  --form-action-height:44px;
  --form-action-height:2.75rem;
  --form-check-size:20px;
  --form-check-size:1.25rem;
}

[data-interface-font="sans"]{--font-interface:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
[data-interface-font="serif"]{--font-interface:Georgia,"Iowan Old Style","Times New Roman",serif}
[data-interface-font="legible"]{--font-interface:Verdana,"Atkinson Hyperlegible","Segoe UI",Arial,sans-serif}
[data-interface-font="mono"]{--font-interface:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
[data-reading-font="sans"]{--font-reading:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
[data-reading-font="serif"]{--font-reading:Georgia,"Iowan Old Style","Times New Roman",serif}
[data-reading-font="legible"]{--font-reading:Verdana,"Atkinson Hyperlegible","Segoe UI",Arial,sans-serif}
[data-reading-font="mono"]{--font-reading:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
[data-text-contrast="strong"]{--text-secondary:color-mix(in srgb,var(--text-primary) 82%,var(--bg));--text-muted:color-mix(in srgb,var(--text-primary) 68%,var(--bg))}
[data-text-contrast="soft"]{--text-secondary:color-mix(in srgb,var(--text-primary) 60%,var(--bg));--text-muted:color-mix(in srgb,var(--text-primary) 44%,var(--bg))}

/* Study-note links and drawings */
.study-embedded-diagram{display:grid;gap:7px;width:min(var(--study-embed-width,100%),100%);margin:14px 0;padding:9px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1);box-shadow:0 8px 24px rgba(20,34,48,.08)}
.study-embedded-diagram.align-left{margin-right:auto}.study-embedded-diagram.align-center{margin-right:auto;margin-left:auto}.study-embedded-diagram.align-right{margin-left:auto}
.study-embedded-diagram>svg{display:block;width:100%;height:auto;min-height:120px;max-height:430px;border:1px solid color-mix(in srgb,var(--border) 76%,transparent);background:transparent;object-fit:contain}
.study-embedded-diagram.bg-white>svg{background:#fff}.study-embedded-diagram.bg-paper>svg{background:#fffdf7}.study-embedded-diagram.bg-sky>svg{background:#f3f9fd}.study-embedded-diagram.bg-grid>svg{background-color:#fbfdff;background-image:linear-gradient(rgba(45,114,171,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(45,114,171,.09) 1px,transparent 1px);background-size:20px 20px}.study-embedded-diagram.bg-transparent>svg{background:transparent}
.study-embedded-diagram figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text-muted);font-size:9px;font-weight:700}.study-embedded-diagram figcaption>span{display:inline-flex;align-items:center;gap:5px}.study-embedded-controls{display:flex;align-items:center;gap:5px}.study-embedded-controls button{display:grid;place-items:center;width:29px;height:29px;padding:0;border:1px solid var(--border);border-radius:5px;background:var(--surface-1);color:var(--text-secondary);cursor:pointer}.study-embedded-controls button:hover,.study-embedded-controls button:focus-visible{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text)}
.study-linked-highlight{padding:.03em .1em;border-radius:3px;box-decoration-break:clone;-webkit-box-decoration-break:clone;color:#1f2933!important;cursor:pointer;transition:box-shadow .15s ease,filter .15s ease}.study-linked-highlight:hover,.study-linked-highlight:focus-visible{outline:0;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 48%,transparent);filter:saturate(1.04)}
.study-linked-highlight.color-yellow{background:#fff0a6}.study-linked-highlight.color-cyan{background:#bff2f0}.study-linked-highlight.color-magenta{background:#f3c3eb}.study-linked-highlight.color-green{background:#cceec8}.study-linked-highlight.color-pink{background:#ffd1da}
.study-highlight-toolbar,.study-highlight-popover{position:fixed;z-index:3450;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-1);color:var(--text);box-shadow:0 18px 48px rgba(7,22,36,.24)}
.study-highlight-toolbar{display:grid;grid-template-columns:minmax(185px,1fr) auto auto;align-items:end;gap:9px;width:min(390px,calc(100vw - 20px));padding:10px}.study-highlight-toolbar label{display:grid;gap:4px}.study-highlight-toolbar label>span{color:var(--text-muted);font-size:8px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.study-highlight-toolbar input{width:100%;height:36px;padding:0 9px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface-1);color:var(--text);font:700 11px var(--font)}
.study-highlight-colors{display:flex;align-items:center;gap:4px}.study-highlight-colors button{width:25px;height:25px;padding:0;border:2px solid var(--surface-1);border-radius:50%;box-shadow:0 0 0 1px var(--border-strong);cursor:pointer}.study-highlight-colors button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--accent)}.study-highlight-colors [data-highlight-color="yellow"]{background:#fff0a6}.study-highlight-colors [data-highlight-color="cyan"]{background:#bff2f0}.study-highlight-colors [data-highlight-color="magenta"]{background:#f3c3eb}.study-highlight-colors [data-highlight-color="green"]{background:#cceec8}.study-highlight-colors [data-highlight-color="pink"]{background:#ffd1da}
.study-highlight-toolbar>[data-highlight-create]{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:7px 10px;border:1px solid var(--accent);border-radius:5px;background:var(--accent);color:#fff;font:800 9px var(--font);cursor:pointer}
.study-highlight-popover{width:min(440px,calc(100vw - 24px));padding:16px}.study-highlight-popover header{display:flex;align-items:center;justify-content:space-between;gap:14px}.study-highlight-popover header>span{display:inline-flex;align-items:center;gap:6px;color:var(--accent-text);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.study-highlight-popover header button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:6px;background:var(--surface-2);color:var(--text-secondary);font-size:17px;cursor:pointer}.study-highlight-popover h3{margin:11px 0 8px;font-size:17px}.study-highlight-popover blockquote{margin:0 0 11px;padding:10px 12px;border-left:4px solid var(--accent);background:var(--accent-bg);color:var(--text-secondary);font-size:11.5px;line-height:1.55}.study-highlight-note-preview{max-height:190px;overflow:auto;font-size:11.5px;line-height:1.55}.study-highlight-popover footer{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:13px;padding-top:11px;border-top:1px solid var(--border)}.study-highlight-popover footer button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:36px;min-height:36px;padding:7px 10px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-1);color:var(--text-secondary);font:700 10.5px var(--font);cursor:pointer}.study-highlight-popover footer .study-highlight-delete{width:36px;padding:0;border-color:color-mix(in srgb,var(--danger-text) 42%,var(--border));color:var(--danger-text)}.study-highlight-popover footer .study-highlight-delete:hover,.study-highlight-popover footer .study-highlight-delete:focus-visible{border-color:var(--danger-text);background:var(--danger-bg)}.study-highlight-popover footer .btn-accent{border-color:var(--accent);background:var(--accent);color:#fff}
@media(max-width:620px){.study-highlight-toolbar{grid-template-columns:1fr auto}.study-highlight-colors{grid-column:1}.study-highlight-toolbar>[data-highlight-create]{grid-column:2;grid-row:1/3}.study-highlight-popover footer{align-items:stretch;display:grid;grid-template-columns:repeat(2,1fr)}.study-highlight-popover footer button{width:100%}.study-embedded-diagram{--study-embed-width:100%!important}}
[data-theme="dark"]{
  --bg:#1d1c1a; --surface-1:#27261f; --surface-2:#302f28;
  --text-primary:#ECEAE2; --text-secondary:#B4B2A9; --text-muted:#888780;
  --border:#3c3a32; --border-strong:#4c4a40;
  --accent:#5FA0E0; --accent-bg:#0C447C; --accent-text:#B5D4F4; --accent-border:#185FA5;
  --success-bg:#085041; --success-text:#9FE1CB;
  --warning-bg:#633806; --warning-text:#FAC775;
  --danger-bg:#791F1F; --danger-text:#F7C1C1;
}
[data-theme="sepia"]{
  --bg:#f4ecd8; --surface-1:#efe5cd; --surface-2:#fbf4e2;
  --text-primary:#41371d; --text-secondary:#6a5c3c; --text-muted:#8c7d54;
  --border:#e2d6b4; --border-strong:#cdbd91;
  --accent:#9a6a1c; --accent-bg:#efe0bd; --accent-text:#6a4810; --accent-border:#cbab68;
  --success-bg:#e3ecce; --success-text:#4c5a1f;
  --warning-bg:#f3e2bf; --warning-text:#7a5410;
  --danger-bg:#f2dccf; --danger-text:#8a3a1f;
}
[data-theme="contrast"]{
  --bg:#ffffff; --surface-1:#f4f4f4; --surface-2:#ffffff;
  --text-primary:#000000; --text-secondary:#161616; --text-muted:#3a3a3a;
  --border:#000000; --border-strong:#000000;
  --accent:#0a3d91; --accent-bg:#d9e6fb; --accent-text:#06245c; --accent-border:#0a3d91;
  --success-bg:#d6efe2; --success-text:#0b4a34;
  --warning-bg:#fbe7c2; --warning-text:#7a4f04;
  --danger-bg:#fbd9d9; --danger-text:#8a1313;
}
[data-theme="bau-blue"], [data-theme="aero-blue"]{
  --bg:#F5FBFF; --surface-1:#EAF5FF; --surface-2:#FFFFFF;
  --text-primary:#12324A; --text-secondary:#4F6D82; --text-muted:#8198A8;
  --border:#D9EAF6; --border-strong:#B8D3E7;
  --accent:#0B6EBD; --accent-bg:#DDF0FF; --accent-text:#074B83; --accent-border:#7CBDEC;
  --success-bg:#DDF7F0; --success-text:#0A6D5B;
  --warning-bg:#FFF1D6; --warning-text:#8A5A05;
  --danger-bg:#FFE6E2; --danger-text:#A43A2C;
  --c-lift:#13A88A; --c-weight:#E06A3A; --c-thrust:#2495E8; --c-drag:#DDA12B;
}
[data-theme="fresh"]{
  --bg:#FFFDF7; --surface-1:#EEF8F3; --surface-2:#FFFFFF;
  --text-primary:#152B36; --text-secondary:#53676F; --text-muted:#829096;
  --border:#DDECE5; --border-strong:#BFD9CF;
  --accent:#0E8F9E; --accent-bg:#DFF7F5; --accent-text:#075B63; --accent-border:#7ED6D1;
  --success-bg:#E4F8DE; --success-text:#247A33;
  --warning-bg:#FFF0C7; --warning-text:#8A5E00;
  --danger-bg:#FFE3DE; --danger-text:#B23B32;
  --c-lift:#28B463; --c-weight:#FF6B5A; --c-thrust:#2D7DF6; --c-drag:#F7B731;
}
[data-theme="blossom"]{
  --bg:#FFF9FB; --surface-1:#FDEEF4; --surface-2:#FFFFFF;
  --text-primary:#3A2230; --text-secondary:#7A5A69; --text-muted:#A98D9B;
  --border:#F4DCE7; --border-strong:#E5C0D3;
  --accent:#C74B77; --accent-bg:#FBDFEA; --accent-text:#8E2C53; --accent-border:#E795B6;
  --success-bg:#E3F6E9; --success-text:#237A4B;
  --warning-bg:#FFF0D2; --warning-text:#8A5C08;
  --danger-bg:#FFE3E6; --danger-text:#B23A4C;
  --c-lift:#2FA874; --c-weight:#E0596E; --c-thrust:#7B6CD9; --c-drag:#D9A02B;
}
[data-theme="nature"]{
  --bg:#F7FBF3; --surface-1:#EBF4E4; --surface-2:#FFFFFF;
  --text-primary:#21301C; --text-secondary:#56684E; --text-muted:#87977E;
  --border:#DDEAD2; --border-strong:#BFD6AE;
  --accent:#3E7C32; --accent-bg:#E2F2D9; --accent-text:#2B5A22; --accent-border:#8FC17F;
  --success-bg:#DFF3E0; --success-text:#1F6B45;
  --warning-bg:#F7EFC9; --warning-text:#7E6206;
  --danger-bg:#F8E2DB; --danger-text:#A6442E;
  --c-lift:#2E8B57; --c-weight:#C96A3B; --c-thrust:#3B7DBF; --c-drag:#B58B2A;
}
[data-theme="storm"]{
  --bg:#171B26; --surface-1:#1F2534; --surface-2:#272E40;
  --text-primary:#E8EBF4; --text-secondary:#AEB6CC; --text-muted:#7D8499;
  --border:#333B52; --border-strong:#434D6A;
  --accent:#7259E9; --accent-bg:#2E2A5E; --accent-text:#C9C2FA; --accent-border:#5D51B8;
  --success-bg:#0D4F44; --success-text:#96E2CC;
  --warning-bg:#5E4206; --warning-text:#F8CE7C;
  --danger-bg:#6E2230; --danger-text:#F5B9C4;
}
[data-theme="vortex"]{
  --bg:#F4FCFC; --surface-1:#E4F5F6; --surface-2:#FFFFFF;
  --text-primary:#123238; --text-secondary:#4C6B70; --text-muted:#7F989C;
  --border:#D2EAEB; --border-strong:#ADD6D9;
  --accent:#0F8B94; --accent-bg:#D9F3F4; --accent-text:#075E66; --accent-border:#6EC6CC;
  --success-bg:#DFF6EC; --success-text:#0D6B52;
  --warning-bg:#FFF0CF; --warning-text:#8A5D04;
  --danger-bg:#FDE3DF; --danger-text:#AC402F;
  --c-lift:#12A489; --c-weight:#E26A48; --c-thrust:#1F8FD6; --c-drag:#D0A22C;
}
[data-font="serif"]{--font:Georgia,"Iowan Old Style","Times New Roman",serif}
[data-font="mono"]{--font:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
[data-width="wide"] main{max-width:1320px}
*{box-sizing:border-box}
html{zoom:var(--personal-interface-zoom,1)}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--text-primary);font-family:var(--font);line-height:1.6;-webkit-font-smoothing:antialiased}
.skip-link{position:fixed;left:12px;top:12px;z-index:200;transform:translateY(-140%);background:var(--accent);color:#fff;text-decoration:none;border-radius:var(--radius);padding:9px 13px;font-weight:600;box-shadow:0 10px 28px rgba(0,0,0,.22)}
.skip-link:focus{transform:translateY(0);outline:3px solid var(--accent-bg);outline-offset:2px}
h1{font-size:24px;font-weight:600;margin:.4rem 0 .3rem;color:var(--text-primary)}
h2{font-size:18px;font-weight:600;margin:0;color:var(--text-primary)}
a{color:var(--accent)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app{display:flex;min-height:100vh}

.sidebar{width:288px;flex-shrink:0;border-right:1px solid var(--border);background:var(--surface-1);height:100vh;overflow-y:auto;position:sticky;top:0;padding:1rem .75rem 3rem}
.sidebar .student-feature-link{position:relative;align-items:center;margin:.35rem 0 .7rem;padding:9px 10px;border:1px solid var(--accent-border);border-radius:8px;background:var(--accent-bg);color:var(--accent-text)}
.sidebar .student-feature-link:hover{padding-left:10px;border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--surface-1))}
.sidebar .student-feature-link .nav-num{border-color:var(--accent-border);background:var(--surface-1);color:var(--accent)}
.sidebar .student-feature-link .nav-title{display:flex;min-width:0;flex-direction:column;gap:1px}.sidebar .student-feature-link .nav-title b{font-size:13px}.sidebar .student-feature-link .nav-title small{overflow:hidden;color:var(--text-muted);font-size:9.5px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.sidebar .student-feature-arrow{margin-left:auto;color:var(--accent);font-size:15px}.sidebar .student-feature-link.active .nav-title small{color:rgba(255,255,255,.78)}
.side-head{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:1rem .6rem .35rem}
.side-head:first-child{padding-top:.25rem}
.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius);cursor:pointer;color:var(--text-secondary);font-size:14px;text-decoration:none;transition:background .15s,color .15s,padding-left .15s,box-shadow .15s}
.nav-item:hover{background:var(--surface-2);padding-left:13px}
.nav-item.active{box-shadow:inset 3px 0 0 var(--accent)}
.nav-item.active{background:var(--accent-bg);color:var(--accent-text);font-weight:500}
.nav-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);font-size:12px;flex-shrink:0}
.nav-item.active .nav-num{background:var(--accent);color:#fff;border-color:var(--accent)}
.nav-item.done .nav-num{background:var(--c-lift);color:#fff;border-color:var(--c-lift)}
.nav-title{flex:1;line-height:1.3}
.nav-check{color:var(--c-lift);font-size:16px}
.side-foot{margin-top:1.6rem;padding-top:.8rem;border-top:1px solid var(--border)}
.side-credit{padding:6px 10px 2px}
.side-author{font-size:13px;font-weight:500;color:var(--text-primary)}
.side-lic{font-size:12px;color:var(--text-secondary);margin-top:4px;display:flex;align-items:center;gap:5px}
.side-lic i{font-size:15px}

/* Admin workspace navigation */
.sidebar.admin-sidebar{display:flex;flex-direction:column;padding:0 .7rem 1rem;background-color:var(--surface-1);background-image:linear-gradient(90deg,color-mix(in srgb,var(--accent) 3.5%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--accent) 3.5%,transparent) 1px,transparent 1px);background-size:24px 24px}
.admin-side-top{display:flex;align-items:center;gap:8px;padding:1rem .35rem .85rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-1) 92%,transparent)}
.admin-side-brand{display:flex;align-items:center;gap:10px;min-width:0;flex:1;text-decoration:none;color:var(--text-primary);border-radius:8px;padding:4px}
.admin-side-brand:hover{background:color-mix(in srgb,var(--surface-2) 72%,transparent)}
.admin-side-mark{width:36px;height:36px;flex:0 0 36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-size:20px;box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 25%,transparent)}
.admin-side-copy{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.admin-side-copy small{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}
.admin-side-copy strong{font-size:15px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-side-close{display:none;width:34px;height:34px;padding:0;align-items:center;justify-content:center;background:transparent;border:0;color:var(--text-secondary);font-size:20px}
.admin-nav{display:block;padding:.35rem 0 .2rem}
.admin-nav-section{--admin-nav-color:var(--accent);margin:.38rem 0 .68rem;padding:3px;border:1px solid color-mix(in srgb,var(--admin-nav-color) 12%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--admin-nav-color) 4.5%,var(--surface-1));box-shadow:0 2px 8px color-mix(in srgb,var(--admin-nav-color) 5%,transparent);overflow:hidden;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
.admin-nav-overview{--admin-nav-color:#2563B8}
.admin-nav-teaching{--admin-nav-color:#7654B3}
.admin-nav-communication{--admin-nav-color:#B65F20}
.admin-nav-insight{--admin-nav-color:#15806F}
.admin-nav-quality{--admin-nav-color:#A33A2B}
.admin-nav-course{--admin-nav-color:#8B6B16}
.admin-nav-global{--admin-nav-color:#5B4BA8}
.admin-nav-label{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:34px;padding:.42rem .56rem;border:0;border-radius:9px;background:color-mix(in srgb,var(--admin-nav-color) 5%,transparent);color:var(--text-muted);font:inherit;font-size:10.5px;font-weight:800;letter-spacing:.09em;text-align:left;text-transform:uppercase;line-height:1.2;cursor:pointer;transition:background .16s ease,color .16s ease}
.admin-nav-label:hover{background:color-mix(in srgb,var(--admin-nav-color) 10%,var(--surface-1));color:var(--admin-nav-color)}
.admin-nav-label:focus-visible{outline:2px solid var(--admin-nav-color);outline-offset:1px}
.admin-nav-label-copy{display:flex;align-items:center;gap:7px;min-width:0}
.admin-nav-label-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-nav-label-copy i{color:var(--admin-nav-color);font-size:15px}
.admin-nav-chevron{flex:0 0 auto;color:var(--admin-nav-color);font-size:14px;transition:transform .18s ease}
.admin-nav-links{max-height:520px;overflow:hidden;opacity:1;transition:max-height .24s ease,opacity .16s ease}
.admin-nav-section.is-collapsed{background:color-mix(in srgb,var(--admin-nav-color) 3%,var(--surface-1));box-shadow:none}
.admin-nav-section.is-collapsed .admin-nav-chevron{transform:rotate(-90deg)}
.admin-nav-section.is-collapsed .admin-nav-links{max-height:0;opacity:0;pointer-events:none}
.admin-sidebar .admin-nav .nav-item{position:relative;min-height:40px;margin:2px 0;padding:6px 8px;border:1px solid transparent;border-radius:8px;gap:9px;font-size:13.5px;font-weight:550;transition:background .15s,color .15s,border-color .15s,box-shadow .15s,transform .15s}
.admin-sidebar .admin-nav .nav-item:hover{padding-left:8px;background:color-mix(in srgb,var(--admin-nav-color) 9%,var(--surface-2));border-color:color-mix(in srgb,var(--admin-nav-color) 20%,var(--border));color:var(--text-primary);transform:translateX(2px)}
.admin-sidebar .admin-nav .nav-num{width:29px;height:29px;flex:0 0 29px;border:0;border-radius:7px;background:color-mix(in srgb,var(--admin-nav-color) 12%,var(--surface-2));color:var(--admin-nav-color);font-size:16px}
.admin-sidebar .admin-nav .nav-item.active{padding-left:8px;background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700;box-shadow:0 5px 14px color-mix(in srgb,var(--accent) 26%,transparent);transform:none}
.admin-sidebar .admin-nav .nav-item.active .nav-num{background:rgba(255,255,255,.16);border:0;color:#fff}
.admin-sidebar .admin-nav .nav-item.active:hover{background:var(--accent);color:#fff;transform:none}
.admin-nav-active-dot{width:5px;height:5px;margin-left:auto;border-radius:50%;background:transparent;flex:0 0 5px}
.admin-sidebar .admin-nav .nav-item.active .admin-nav-active-dot{background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.14)}
.admin-nav-section:has(.nav-item.active){border-color:color-mix(in srgb,var(--admin-nav-color) 28%,var(--border));background:color-mix(in srgb,var(--admin-nav-color) 7%,var(--surface-1));box-shadow:0 4px 12px color-mix(in srgb,var(--admin-nav-color) 8%,transparent)}
.admin-nav-section:has(.nav-item.active) .admin-nav-label{color:var(--admin-nav-color)}
.admin-sidebar .side-foot{margin-top:auto;padding:.75rem 0 0;border-top:1px solid var(--border)}
.admin-side-user{display:flex;align-items:center;gap:9px;margin:0 .25rem .55rem;padding:.25rem .35rem .55rem;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)}
.admin-user-avatar{width:32px;height:32px;flex:0 0 32px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--accent-text);font-size:12px;font-weight:800;letter-spacing:.02em}
.admin-side-user>span:last-child{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.admin-side-user strong{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-side-user small{font-size:10.5px;color:var(--text-muted)}
.admin-sidebar .side-foot .nav-item{min-height:36px;margin:1px 0;padding:5px 9px;border:1px solid transparent;border-radius:8px;font-size:12.5px}
.admin-sidebar .side-foot .nav-item:hover{padding-left:9px;background:var(--surface-2);border-color:var(--border)}
.admin-sidebar .side-foot .nav-num{width:25px;height:25px;border:0;border-radius:7px;background:var(--surface-2);font-size:14px}
.admin-sidebar .side-foot .admin-workspace-switch{align-items:center;min-height:48px}
.admin-workspace-switch .nav-title{display:flex;min-width:0;flex-direction:column;gap:2px;line-height:1.15}
.admin-workspace-switch .nav-title b,
.admin-workspace-switch .nav-title small{display:block;overflow:hidden;text-overflow:ellipsis}
.admin-workspace-switch .nav-title b{color:var(--text-primary);font-size:12.5px;white-space:nowrap}
.admin-workspace-switch .nav-title small{color:var(--text-muted);font-size:10.5px;font-weight:500;white-space:normal}
.admin-workspace-switch>i:last-child{flex:0 0 auto;margin-left:auto}
.admin-sidebar .side-foot .nav-item.active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent-text);box-shadow:none;font-weight:700}
.admin-sidebar .side-foot .nav-item.active .nav-num{background:var(--accent);color:#fff}
.admin-sidebar .admin-signout:hover{background:var(--danger-bg);border-color:color-mix(in srgb,var(--danger-text) 25%,var(--border));color:var(--danger-text)}
.admin-sidebar .admin-signout:hover .nav-num{background:var(--danger-bg);color:var(--danger-text)}
.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:1.3rem 0}
.about-grid .card{margin:0}
.muted{color:var(--text-muted);font-size:14px;line-height:1.7}
.lic-badge{display:inline-flex;align-items:center;gap:5px;font-size:19px;color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:8px 14px;margin:.7rem 0}
.lic-badge span{font-size:14px;font-weight:500;margin-left:6px}
.about-list{margin:.3rem 0;padding-left:1.2rem;line-height:1.8;color:var(--text-secondary)}

.content{container-name:app-content;container-type:inline-size;flex:1;min-width:0;max-width:100%;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:5;display:flex;min-width:0;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1.5rem;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.brand{display:flex;min-width:0;align-items:center;gap:11px}
.brand>div{min-width:0}
.brand>i{font-size:24px;color:var(--accent)}
.brand-title,.brand-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.brand-title{font-weight:600;font-size:15px}
.brand-sub{font-size:12px;color:var(--text-secondary)}
.content-editing-marker,.editor-content-editing-marker{display:inline-flex;align-items:center;gap:6px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--accent-bg) 78%,var(--surface-2));color:var(--accent-text);font-size:12px;font-weight:800;letter-spacing:.035em;white-space:nowrap}
.content-editing-marker{flex:0 0 auto;min-height:32px;padding:0 11px;text-transform:uppercase}
.content-editing-marker[hidden]{display:none}
.content-editing-marker i{font-size:16px}
.content-editing-marker>span,.editor-content-editing-marker>span{color:#b42318}
[data-content-editing] .topbar{border-bottom-color:var(--accent-border);box-shadow:inset 0 -2px 0 var(--accent-bg)}
.top-right{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:14px}
.progress{display:flex;align-items:center;gap:9px}
.progress[hidden]{display:none}
.progress-bar{width:120px;height:7px;border-radius:99px;background:var(--surface-1);overflow:hidden;border:1px solid var(--border)}
.progress-bar span{display:block;height:100%;width:0;background:var(--c-lift);transition:width .3s}
.progress-label{font-size:12px;color:var(--text-secondary);min-width:30px}
.icon-btn{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);width:36px;height:36px;cursor:pointer;color:var(--text-secondary);font-size:18px;display:inline-flex;align-items:center;justify-content:center}
.icon-btn[hidden]{display:none}
.icon-btn:hover{background:var(--surface-1)}
.login-modal{position:fixed;inset:0;z-index:140;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.42);backdrop-filter:blur(7px)}
.login-panel{position:relative;width:min(430px,100%);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:18px;padding:1.45rem;box-shadow:0 26px 90px rgba(0,0,0,.3)}
.login-close{position:absolute;right:14px;top:14px}
.login-mark{width:54px;height:54px;border-radius:16px;background:var(--accent-bg);color:var(--accent-text);display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:1rem}
.login-copy h2{font-size:1.45rem;margin:0 2.4rem .25rem 0}
.login-copy p{margin:0 0 1.1rem;color:var(--text-secondary);line-height:1.55}
.login-form{display:flex;flex-direction:column;gap:.85rem}
.login-form label{display:flex;flex-direction:column;gap:.35rem;font-size:13px;font-weight:600;color:var(--text-secondary)}
.login-form input{height:42px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-1);color:var(--text-primary);padding:0 12px;font:inherit}
.login-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}
.login-password{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:7px;align-items:center}
.login-password .icon-btn{width:42px;height:42px}
.login-captcha{border:1px solid var(--border);border-radius:12px;background:var(--surface-1);padding:.75rem}
.login-captcha[hidden]{display:none}
.login-captcha-title{display:flex;align-items:center;gap:7px;color:var(--text-secondary);font-size:13px;font-weight:600;margin-bottom:.6rem}
.login-captcha-title i{font-size:18px;color:var(--accent)}
.login-captcha-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.login-captcha-tile{height:62px;padding:5px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:12px;display:flex;align-items:center;justify-content:center}
.login-captcha-tile svg{width:100%;height:100%;display:block}
.login-captcha-tile:hover{border-color:var(--accent-border);background:var(--accent-bg)}
.login-captcha-tile.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);background:var(--surface-2)}
.bau-login-captcha{background:rgba(255,255,255,.88);border-color:rgba(21,58,111,.22);box-shadow:0 12px 32px rgba(14,35,78,.08)}
.bau-login-captcha>small{display:block;margin-top:.55rem;color:var(--text-secondary);font-size:var(--type-help,13px)}
.login-message{min-height:22px;color:var(--danger-text);font-size:13px;line-height:1.45}
.login-submit{border:0;justify-content:center;width:100%;cursor:pointer}
.login-submit.btn-primary,.login-submit.btn-primary:hover,.login-submit.btn-primary:focus-visible{background:var(--accent);border-color:var(--accent);color:#fff}
.login-submit.btn-primary:hover{filter:brightness(1.07);transform:translateY(-1px)}
.login-submit[disabled]{opacity:.62;cursor:not-allowed;transform:none;filter:none}
.login-submit[disabled]:hover{background:var(--accent);color:#fff;filter:none;transform:none}
.btn-danger{background:var(--danger-text);border-color:var(--danger-text);color:#fff}
.btn-danger:hover{background:var(--danger-text);filter:brightness(1.07)}
.confirm-modal{position:fixed;inset:0;z-index:3200;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(0,0,0,.46);backdrop-filter:blur(6px)}
.confirm-panel{width:min(430px,100%);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.28);padding:1.1rem;display:grid;grid-template-columns:48px minmax(0,1fr);gap:.85rem}
.confirm-panel.wide{width:min(760px,100%)}
.confirm-icon{width:48px;height:48px;border-radius:14px;background:var(--warning-bg);color:var(--warning-text);display:flex;align-items:center;justify-content:center;font-size:25px}
.confirm-panel.notice .confirm-icon,.confirm-panel.prompt .confirm-icon{background:var(--accent-bg);color:var(--accent-text)}
.confirm-panel.danger .confirm-icon{background:var(--danger-bg);color:var(--danger-text)}
.confirm-copy h2{font-size:1.1rem;margin:0 0 .25rem}
.confirm-copy p{margin:0;color:var(--text-secondary);line-height:1.55}
.confirm-details{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0 0}.confirm-details>div{padding:8px 9px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1)}.confirm-details dt{margin:0 0 2px;color:var(--text-primary);font-size:11px;font-weight:800}.confirm-details dd{margin:0;color:var(--text-muted);font-size:10.5px;line-height:1.35}
.confirm-input{grid-column:1/-1;display:flex;flex-direction:column;gap:.35rem;color:var(--text-secondary);font-size:13px;font-weight:700}
.confirm-input input{width:100%;height:44px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-1);color:var(--text-primary);padding:0 12px;font:inherit}
.confirm-input input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.confirm-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:.55rem;margin-top:.25rem}
.confirm-actions button{min-width:112px;justify-content:center}
.login-foot{display:flex;gap:8px;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);color:var(--text-muted);font-size:12px;line-height:1.5}
.login-foot i{font-size:18px;color:var(--accent)}
.portal-locked{grid-template-columns:0 minmax(0,1fr)}
.portal-locked .sidebar{display:none}
.portal-locked .content{grid-column:1 / -1}
.portal-locked .topbar,.portal-locked .teaching-message-dock,.portal-locked .foot{display:none}
.portal-locked main{max-width:none;padding:0}
.portal-session-transition{--transition-blue:#0062ad;min-height:100svh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(circle at 50% 35%,rgba(99,199,239,.18),transparent 24rem),linear-gradient(145deg,#eef5fa,#fff 58%,#edf5fa)}
.portal-session-transition-card{display:flex;width:min(390px,100%);flex-direction:column;align-items:center;padding:2rem;border:1px solid #c9dce9;border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 24px 70px rgba(3,55,100,.14);text-align:center}
.portal-session-transition-card img{display:block;width:min(285px,82%);height:auto;margin-bottom:1.8rem}
.portal-session-transition-mark{display:grid;width:54px;height:54px;margin-bottom:1rem;place-items:center;border-radius:17px;color:#fff;background:var(--transition-blue);box-shadow:0 12px 25px rgba(0,98,173,.22);font-size:1.55rem}
.portal-session-transition-mark i{animation:portal-session-spin .85s linear infinite}
.portal-session-transition-card strong{color:#112538;font-size:1.14rem;letter-spacing:-.015em}
.portal-session-transition-card span{margin-top:.32rem;color:#657789;font-size:.82rem}
@keyframes portal-session-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.portal-session-transition-mark i{animation-duration:1.8s}}
.portal-landing{max-width:1180px;margin:0 auto;padding:2rem 1.2rem 3rem}
.portal-hero{margin-bottom:1.2rem}
.portal-login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,4vw,2.5rem);background:radial-gradient(circle at 48% 0%,color-mix(in srgb,var(--accent-bg) 55%,transparent),transparent 34rem),var(--bg)}
.portal-login-card,.portal-auth-page .portal-login-card{width:min(390px,100%);margin:0 auto;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:14px;padding:1.15rem;box-shadow:0 18px 54px rgba(0,0,0,.12)}
.portal-login-compact .login-mark{width:42px;height:42px;border-radius:12px;font-size:23px;margin:0}
.portal-login-brand{display:flex;align-items:center;gap:.75rem;padding-bottom:.85rem;margin-bottom:.85rem;border-bottom:1px solid var(--border)}
.portal-login-brand h1{font-size:17px;line-height:1.2;margin:0;font-weight:700}
.portal-login-brand p{font-size:12px;color:var(--text-secondary);margin:.15rem 0 0}
.portal-login-compact .login-copy h2{font-size:1.18rem;margin:0 0 .1rem}
.portal-login-compact .login-copy p{font-size:13px;margin:0 0 .8rem}
.portal-login-compact .login-form{gap:.7rem}
.portal-login-compact .login-form input{height:38px}
.portal-login-compact .login-password{grid-template-columns:minmax(0,1fr) 38px}
.portal-login-compact .login-password .icon-btn{width:38px;height:38px}
.portal-login-compact .login-submit{min-height:38px}
.portal-auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:var(--bg)}
.link-btn{border:0;background:transparent;color:var(--accent-text);font:inherit;font-weight:600;cursor:pointer;padding:.45rem .2rem;text-align:center}
.link-btn:hover{text-decoration:underline}
.portal-reset-link{align-self:center}

/* BAU organisational sign-in */
.bau-login-page{
  --bau-blue:#0062ad;
  --bau-blue-deep:#043764;
  --bau-ink:#112538;
  --bau-cyan:#63c7ef;
  min-height:100svh;
  align-items:stretch;
  padding:0;
  overflow:hidden;
  background:#eef3f7;
}
.bau-login-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(420px,.82fr);width:100%;min-height:100svh;background:#fff}
.bau-login-welcome{--landing-campus-tone:#8bdcff;position:relative;isolation:isolate;overflow:hidden;display:flex;padding:clamp(2.2rem,5vw,5.5rem);color:#fff;box-shadow:inset -9rem 0 12rem -4rem rgba(255,255,255,.2);background:
  radial-gradient(circle at 82% 22%,rgba(99,199,239,.25),transparent 25rem),
  radial-gradient(circle at 7% 92%,rgba(56,144,205,.3),transparent 27rem),
  linear-gradient(138deg,#032e55 0%,#005ca4 56%,#007bc4 100%)}
.bau-login-welcome::before{content:"";position:absolute;z-index:-1;inset:0;opacity:.12;background-image:
  linear-gradient(rgba(255,255,255,.42) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.42) 1px,transparent 1px);
  background-size:58px 58px;mask-image:linear-gradient(145deg,rgba(0,0,0,.9),transparent 78%)}
.bau-login-welcome::after{content:"";position:absolute;z-index:-1;width:17rem;height:17rem;right:-6rem;bottom:-5rem;border-radius:38% 62% 58% 42%;background:rgba(255,255,255,.07);transform:rotate(18deg)}
.bau-login-campus-silhouette{position:absolute;z-index:0;inset:0;pointer-events:none;opacity:.34;background-image:linear-gradient(132deg,var(--landing-campus-tone),rgba(255,255,255,.42)),url("../assets/landing/bau-campus-silhouette.png");background-position:center,center;background-size:cover,cover;background-blend-mode:color,normal;filter:contrast(1.08) saturate(.86);mask-image:linear-gradient(100deg,rgba(0,0,0,.88),rgba(0,0,0,.48) 55%,transparent 100%)}
.bau-login-welcome-inner{position:relative;z-index:1}
.bau-login-welcome-rotating{animation:bau-login-welcome-rotate .42s ease both}
@keyframes bau-login-welcome-rotate{from{opacity:.34;transform:scale(1.012)}to{opacity:1;transform:scale(1)}}
.bau-login-welcome[data-landing-variant="flight"]{background:radial-gradient(circle at 79% 18%,rgba(159,225,255,.34),transparent 22rem),radial-gradient(circle at 10% 98%,rgba(61,112,202,.32),transparent 29rem),linear-gradient(141deg,#063f78 0%,#0a74bc 53%,#38a9d4 100%)}
.bau-login-welcome[data-landing-variant="flight"]::before{opacity:.16;background-image:linear-gradient(112deg,transparent 0 45%,rgba(255,255,255,.65) 45.2% 45.5%,transparent 45.7% 100%),linear-gradient(112deg,transparent 0 61%,rgba(255,255,255,.42) 61.2% 61.4%,transparent 61.6% 100%);background-size:100% 100%;mask-image:none}
.bau-login-welcome[data-landing-variant="flight"]::after{width:27rem;height:10rem;right:-5rem;bottom:-4rem;border-radius:50% 50% 0 0;background:rgba(3,45,93,.2);transform:rotate(-8deg)}
.bau-login-welcome[data-landing-variant="pathways"]{background:radial-gradient(circle at 12% 10%,rgba(201,151,255,.28),transparent 21rem),radial-gradient(circle at 88% 86%,rgba(81,190,218,.21),transparent 26rem),linear-gradient(142deg,#28184f 0%,#55408f 55%,#7759b5 100%)}
.bau-login-welcome[data-landing-variant="pathways"]::before{opacity:.16;background-image:radial-gradient(circle at 15% 30%,rgba(255,255,255,.8) 0 2px,transparent 3px),radial-gradient(circle at 67% 66%,rgba(255,255,255,.72) 0 2px,transparent 3px),linear-gradient(35deg,transparent 47%,rgba(255,255,255,.35) 48% 49%,transparent 50%);background-size:72px 72px,88px 88px,100% 100%;mask-image:none}
.bau-login-welcome[data-landing-variant="pathways"]::after{width:21rem;height:21rem;right:-8rem;bottom:-8rem;border-radius:50%;background:rgba(214,184,255,.12);transform:none}
.bau-login-welcome[data-landing-variant="community"]{background:radial-gradient(circle at 78% 18%,rgba(150,234,202,.25),transparent 22rem),radial-gradient(circle at 4% 94%,rgba(22,116,105,.46),transparent 28rem),linear-gradient(142deg,#083e50 0%,#08776e 56%,#17966e 100%)}
.bau-login-welcome[data-landing-variant="community"]::before{opacity:.14;background-image:radial-gradient(circle,rgba(222,255,241,.88) 0 1.3px,transparent 1.7px);background-size:31px 31px;mask-image:linear-gradient(132deg,rgba(0,0,0,.9),transparent 84%)}
.bau-login-welcome[data-landing-variant="community"]::after{width:22rem;height:22rem;right:-9rem;bottom:-10rem;border-radius:42% 58% 52% 48%;background:rgba(209,255,232,.11);transform:rotate(34deg)}
.bau-login-welcome[data-landing-variant="discovery"]{background:radial-gradient(circle at 20% 14%,rgba(215,181,255,.28),transparent 18rem),radial-gradient(circle at 86% 86%,rgba(121,89,226,.34),transparent 25rem),linear-gradient(142deg,#26164e 0%,#563d9b 54%,#8b5fc1 100%)}
.bau-login-welcome[data-landing-variant="discovery"]::before{opacity:.17;background-image:radial-gradient(circle,rgba(255,255,255,.82) 0 1.4px,transparent 1.8px);background-size:39px 39px;mask-image:none}
.bau-login-welcome[data-landing-variant="discovery"]::after{width:24rem;height:24rem;right:-9rem;bottom:-9rem;border-radius:50%;background:rgba(236,221,255,.12);transform:none}
.bau-login-welcome[data-landing-variant="research"]{background:radial-gradient(circle at 82% 18%,rgba(123,246,225,.27),transparent 20rem),radial-gradient(circle at 7% 96%,rgba(14,124,119,.42),transparent 26rem),linear-gradient(142deg,#073e48 0%,#087c79 54%,#25a995 100%)}
.bau-login-welcome[data-landing-variant="research"]::before{opacity:.14;background-image:linear-gradient(90deg,transparent 48%,rgba(225,255,250,.45) 49% 50%,transparent 51%),linear-gradient(transparent 48%,rgba(225,255,250,.45) 49% 50%,transparent 51%);background-size:46px 46px;mask-image:none}
.bau-login-welcome[data-landing-variant="research"]::after{width:25rem;height:15rem;right:-5rem;bottom:-7rem;border-radius:50% 50% 0 0;background:rgba(183,255,241,.12);transform:rotate(-14deg)}
.bau-login-welcome[data-landing-variant="horizon"]{background:radial-gradient(circle at 82% 21%,rgba(255,225,135,.3),transparent 18rem),radial-gradient(circle at 10% 95%,rgba(201,113,13,.35),transparent 27rem),linear-gradient(142deg,#54303d 0%,#a85643 50%,#dc9a2c 100%)}
.bau-login-welcome[data-landing-variant="horizon"]::before{opacity:.16;background-image:linear-gradient(13deg,transparent 0 48%,rgba(255,241,195,.5) 48.4% 48.8%,transparent 49.2% 100%);background-size:100% 64px;mask-image:none}
.bau-login-welcome[data-landing-variant="horizon"]::after{width:19rem;height:19rem;right:-6rem;bottom:-9rem;border-radius:50%;background:rgba(255,230,159,.15);transform:none}
.bau-login-welcome[data-landing-variant="studio"]{background:radial-gradient(circle at 76% 18%,rgba(255,194,218,.28),transparent 19rem),radial-gradient(circle at 7% 95%,rgba(151,44,95,.4),transparent 25rem),linear-gradient(142deg,#481c46 0%,#963963 54%,#cf6389 100%)}
.bau-login-welcome[data-landing-variant="studio"]::before{opacity:.15;background-image:linear-gradient(135deg,transparent 45%,rgba(255,230,240,.42) 45.4% 45.8%,transparent 46.2%);background-size:56px 56px;mask-image:none}
.bau-login-welcome[data-landing-variant="studio"]::after{width:22rem;height:22rem;right:-8rem;bottom:-8rem;border-radius:28% 72% 48% 52%;background:rgba(255,215,230,.13);transform:rotate(24deg)}
.bau-login-welcome[data-landing-variant="global"]{background:radial-gradient(circle at 80% 20%,rgba(177,227,255,.28),transparent 20rem),radial-gradient(circle at 6% 94%,rgba(21,75,143,.43),transparent 27rem),linear-gradient(142deg,#0b335e 0%,#1d67a9 54%,#4b9ad3 100%)}
.bau-login-welcome[data-landing-variant="global"]::before{opacity:.14;background-image:radial-gradient(ellipse at center,transparent 0 44%,rgba(226,248,255,.55) 44.4% 45%,transparent 45.4%);background-size:88px 88px;mask-image:none}
.bau-login-welcome[data-landing-variant="global"]::after{width:24rem;height:24rem;right:-9rem;bottom:-8rem;border-radius:50%;background:rgba(208,240,255,.12);transform:none}
.bau-login-welcome[data-landing-variant="support"]{background:radial-gradient(circle at 78% 19%,rgba(167,245,207,.25),transparent 20rem),radial-gradient(circle at 6% 94%,rgba(12,112,90,.44),transparent 27rem),linear-gradient(142deg,#063f49 0%,#087860 54%,#2fa87c 100%)}
.bau-login-welcome[data-landing-variant="support"]::before{opacity:.14;background-image:radial-gradient(circle at 25% 30%,rgba(228,255,241,.8) 0 2px,transparent 2.5px),radial-gradient(circle at 72% 64%,rgba(228,255,241,.65) 0 1.5px,transparent 2px);background-size:62px 62px,47px 47px;mask-image:none}
.bau-login-welcome[data-landing-variant="support"]::after{width:23rem;height:23rem;right:-8rem;bottom:-10rem;border-radius:45% 55% 58% 42%;background:rgba(202,255,228,.12);transform:rotate(30deg)}
.bau-login-welcome[data-landing-variant="momentum"]{background:radial-gradient(circle at 81% 18%,rgba(160,237,255,.28),transparent 19rem),radial-gradient(circle at 6% 95%,rgba(0,100,158,.43),transparent 26rem),linear-gradient(142deg,#073d65 0%,#087eaf 52%,#20a6d9 100%)}
.bau-login-welcome[data-landing-variant="momentum"]::before{opacity:.15;background-image:linear-gradient(115deg,transparent 0 41%,rgba(220,251,255,.55) 41.4% 41.8%,transparent 42.2% 100%);background-size:100% 100%;mask-image:none}
.bau-login-welcome[data-landing-variant="momentum"]::after{width:27rem;height:12rem;right:-6rem;bottom:-5rem;border-radius:50% 50% 0 0;background:rgba(202,247,255,.12);transform:rotate(-10deg)}
.bau-login-welcome[data-landing-variant="belonging"]{background:radial-gradient(circle at 78% 18%,rgba(255,190,225,.25),transparent 20rem),radial-gradient(circle at 6% 95%,rgba(128,42,96,.43),transparent 26rem),linear-gradient(142deg,#451e49 0%,#8d3e71 54%,#c5679b 100%)}
.bau-login-welcome[data-landing-variant="belonging"]::before{opacity:.14;background-image:radial-gradient(circle,rgba(255,231,242,.78) 0 1.4px,transparent 1.8px);background-size:37px 37px;mask-image:linear-gradient(138deg,rgba(0,0,0,.9),transparent 84%)}
.bau-login-welcome[data-landing-variant="belonging"]::after{width:22rem;height:22rem;right:-8rem;bottom:-9rem;border-radius:50% 46% 54% 50%;background:rgba(255,220,236,.12);transform:rotate(20deg)}
.bau-login-welcome[data-landing-variant="content"]{background:radial-gradient(circle at 80% 18%,rgba(162,218,255,.27),transparent 20rem),radial-gradient(circle at 6% 95%,rgba(28,74,136,.44),transparent 26rem),linear-gradient(142deg,#102f5b 0%,#286aa4 54%,#5c9bcb 100%)}
.bau-login-welcome[data-landing-variant="study"]{background:radial-gradient(circle at 77% 18%,rgba(184,192,255,.25),transparent 20rem),radial-gradient(circle at 5% 95%,rgba(48,54,134,.43),transparent 26rem),linear-gradient(142deg,#22285e 0%,#505eb0 54%,#7d89d4 100%)}
.bau-login-welcome[data-landing-variant="practice"]{background:radial-gradient(circle at 78% 18%,rgba(160,244,255,.27),transparent 20rem),radial-gradient(circle at 6% 95%,rgba(7,116,151,.43),transparent 26rem),linear-gradient(142deg,#07506f 0%,#148eaf 54%,#4ac0d3 100%)}
.bau-login-welcome[data-landing-variant="activities"]{background:radial-gradient(circle at 78% 18%,rgba(255,219,150,.27),transparent 20rem),radial-gradient(circle at 6% 95%,rgba(159,76,18,.43),transparent 26rem),linear-gradient(142deg,#65351e 0%,#bd6a27 54%,#e3a04a 100%)}
.bau-login-welcome[data-landing-variant="collaboration"]{background:radial-gradient(circle at 78% 18%,rgba(162,243,214,.25),transparent 20rem),radial-gradient(circle at 6% 95%,rgba(5,105,83,.43),transparent 26rem),linear-gradient(142deg,#06483f 0%,#117e69 54%,#49ad8c 100%)}
.bau-login-welcome[data-landing-variant="feedback"]{background:radial-gradient(circle at 78% 18%,rgba(255,185,229,.27),transparent 20rem),radial-gradient(circle at 6% 95%,rgba(117,36,94,.43),transparent 26rem),linear-gradient(142deg,#531f53 0%,#9b3d7f 54%,#cf70aa 100%)}
.bau-login-welcome[data-landing-variant="assessment"]{background:radial-gradient(circle at 78% 18%,rgba(255,210,169,.27),transparent 20rem),radial-gradient(circle at 6% 95%,rgba(125,58,29,.43),transparent 26rem),linear-gradient(142deg,#60301e 0%,#a95731 54%,#d98a5e 100%)}
.bau-login-welcome[data-landing-variant="flexible"]{background:radial-gradient(circle at 78% 18%,rgba(190,224,245,.25),transparent 20rem),radial-gradient(circle at 6% 95%,rgba(50,80,106,.43),transparent 26rem),linear-gradient(142deg,#25435b 0%,#527b99 54%,#86a9bc 100%)}
.bau-login-welcome[data-landing-variant="connection"],.bau-login-welcome[data-landing-variant="flight"],.bau-login-welcome[data-landing-variant="global"],.bau-login-welcome[data-landing-variant="content"],.bau-login-welcome[data-landing-variant="practice"],.bau-login-welcome[data-landing-variant="momentum"],.platform-landing-page-preview[data-landing-variant="connection"],.platform-landing-page-preview[data-landing-variant="flight"],.platform-landing-page-preview[data-landing-variant="global"],.platform-landing-page-preview[data-landing-variant="content"],.platform-landing-page-preview[data-landing-variant="practice"],.platform-landing-page-preview[data-landing-variant="momentum"]{--landing-campus-tone:#8bdcff}
.bau-login-welcome[data-landing-variant="pathways"],.bau-login-welcome[data-landing-variant="discovery"],.bau-login-welcome[data-landing-variant="study"],.bau-login-welcome[data-landing-variant="feedback"],.bau-login-welcome[data-landing-variant="belonging"],.platform-landing-page-preview[data-landing-variant="pathways"],.platform-landing-page-preview[data-landing-variant="discovery"],.platform-landing-page-preview[data-landing-variant="study"],.platform-landing-page-preview[data-landing-variant="feedback"],.platform-landing-page-preview[data-landing-variant="belonging"]{--landing-campus-tone:#e9b7ff}
.bau-login-welcome[data-landing-variant="community"],.bau-login-welcome[data-landing-variant="research"],.bau-login-welcome[data-landing-variant="support"],.bau-login-welcome[data-landing-variant="collaboration"],.platform-landing-page-preview[data-landing-variant="community"],.platform-landing-page-preview[data-landing-variant="research"],.platform-landing-page-preview[data-landing-variant="support"],.platform-landing-page-preview[data-landing-variant="collaboration"]{--landing-campus-tone:#9ef0d3}
.bau-login-welcome[data-landing-variant="horizon"],.bau-login-welcome[data-landing-variant="activities"],.bau-login-welcome[data-landing-variant="assessment"],.platform-landing-page-preview[data-landing-variant="horizon"],.platform-landing-page-preview[data-landing-variant="activities"],.platform-landing-page-preview[data-landing-variant="assessment"]{--landing-campus-tone:#ffd48c}
.bau-login-welcome[data-landing-variant="studio"],.platform-landing-page-preview[data-landing-variant="studio"]{--landing-campus-tone:#ffc3da}
.bau-login-welcome[data-landing-variant="flexible"],.platform-landing-page-preview[data-landing-variant="flexible"]{--landing-campus-tone:#c5e7f6}
.bau-login-welcome[data-landing-variant="flight"] .bau-login-career{background:linear-gradient(110deg,rgba(4,52,106,.54),rgba(18,126,181,.34));border-color:rgba(209,247,255,.34)}
.bau-login-welcome[data-landing-variant="pathways"] .bau-login-career{background:linear-gradient(110deg,rgba(39,24,79,.6),rgba(102,73,167,.35));border-color:rgba(229,215,255,.3)}
.bau-login-welcome[data-landing-variant="community"] .bau-login-career{background:linear-gradient(110deg,rgba(5,57,71,.57),rgba(11,119,93,.35));border-color:rgba(214,255,236,.3)}
.bau-login-welcome[data-landing-variant="discovery"] .bau-login-career{background:linear-gradient(110deg,rgba(45,24,90,.59),rgba(118,78,181,.35));border-color:rgba(238,221,255,.3)}
.bau-login-welcome[data-landing-variant="research"] .bau-login-career{background:linear-gradient(110deg,rgba(4,65,74,.59),rgba(10,137,122,.35));border-color:rgba(202,255,245,.3)}
.bau-login-welcome[data-landing-variant="horizon"] .bau-login-career{background:linear-gradient(110deg,rgba(103,48,48,.59),rgba(191,108,37,.35));border-color:rgba(255,237,188,.3)}
.bau-login-welcome[data-landing-variant="studio"] .bau-login-career{background:linear-gradient(110deg,rgba(73,24,66,.6),rgba(164,55,101,.35));border-color:rgba(255,219,234,.3)}
.bau-login-welcome[data-landing-variant="global"] .bau-login-career{background:linear-gradient(110deg,rgba(7,48,93,.6),rgba(29,106,174,.35));border-color:rgba(209,242,255,.32)}
.bau-login-welcome[data-landing-variant="support"] .bau-login-career{background:linear-gradient(110deg,rgba(4,62,70,.59),rgba(9,130,98,.35));border-color:rgba(206,255,232,.3)}
.bau-login-welcome[data-landing-variant="momentum"] .bau-login-career{background:linear-gradient(110deg,rgba(3,58,96,.59),rgba(5,135,186,.35));border-color:rgba(209,246,255,.32)}
.bau-login-welcome[data-landing-variant="belonging"] .bau-login-career{background:linear-gradient(110deg,rgba(76,27,58,.6),rgba(148,56,103,.35));border-color:rgba(255,218,235,.3)}
.bau-login-welcome[data-landing-variant]:not([data-landing-variant="connection"]) .bau-login-career-copy>span{color:#e8faff}
.bau-login-orbit{position:absolute;z-index:-1;border:1px solid rgba(255,255,255,.16);border-radius:50%;pointer-events:none}
.bau-orbit-one{width:34rem;height:34rem;right:-17rem;top:4rem}
.bau-orbit-two{width:24rem;height:24rem;right:-9rem;top:9rem;border-style:dashed;transform:rotate(-16deg)}
.bau-login-welcome-inner{display:flex;flex-direction:column;width:min(720px,100%);min-height:100%;margin:auto 0}
.bau-logo-plate{display:flex;align-items:center;width:min(350px,68%);min-height:0;margin-bottom:clamp(2.3rem,7vh,5rem);padding:0;border-radius:0;background:transparent;box-shadow:none}
.bau-logo-plate img{display:block;width:100%;height:auto;filter:brightness(0) invert(1) drop-shadow(0 3px 12px rgba(0,24,55,.34))}
.bau-login-kicker{display:flex;align-items:center;gap:.55rem;margin-bottom:1.1rem;color:#d9f1ff;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.bau-login-kicker i{font-size:1.15rem;color:#8cdcff}
.bau-login-welcome[data-landing-variant="flight"] .bau-login-kicker,.bau-login-welcome[data-landing-variant="flight"] .bau-login-kicker i{color:#d9f7ff}.bau-login-welcome[data-landing-variant="pathways"] .bau-login-kicker,.bau-login-welcome[data-landing-variant="pathways"] .bau-login-kicker i{color:#e5d7ff}.bau-login-welcome[data-landing-variant="community"] .bau-login-kicker,.bau-login-welcome[data-landing-variant="community"] .bau-login-kicker i{color:#d6ffec}
.bau-login-welcome h1{margin:0;max-width:760px;color:#fff;font-size:clamp(3.15rem,6.4vw,6.9rem);font-weight:760;letter-spacing:-.055em;line-height:.86}
.bau-login-welcome h1 span{color:#8bdcff}
.bau-login-lead{max-width:650px;margin:clamp(1.6rem,3.4vw,2.6rem) 0 0;color:rgba(255,255,255,.82);font-size:clamp(1rem,1.45vw,1.23rem);line-height:1.62}
.bau-login-career{display:grid;grid-template-columns:minmax(0,1fr) 185px;align-items:center;gap:1rem;margin-top:clamp(1.25rem,2.4vw,1.9rem);padding:1rem 1.1rem 1rem 1.2rem;border:1px solid rgba(188,236,255,.3);border-radius:16px;background:linear-gradient(110deg,rgba(3,38,69,.56),rgba(10,93,143,.38));box-shadow:0 14px 34px rgba(0,27,52,.13);backdrop-filter:blur(12px)}
.bau-login-career-copy>span{display:flex;align-items:center;gap:.45rem;color:#9ce4ff;font-size:.64rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.bau-login-career-copy>span i{font-size:1rem}.bau-login-career-copy h2{margin:.32rem 0 .35rem;color:#fff;font-size:clamp(1.15rem,1.65vw,1.45rem);letter-spacing:-.02em}.bau-login-career-copy p{max-width:570px;margin:0;color:rgba(255,255,255,.76);font-size:.72rem;line-height:1.48}.bau-login-career-copy>div{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.65rem}.bau-login-career-copy b{padding:.24rem .48rem;border:1px solid rgba(188,236,255,.22);border-radius:999px;color:#dff6ff;background:rgba(0,24,49,.18);font-size:.57rem;letter-spacing:.025em}.bau-login-career-svg{display:block;width:100%;height:auto;filter:drop-shadow(0 8px 15px rgba(0,20,45,.22))}
.bau-login-capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:clamp(1rem,2vw,1.5rem)}
.bau-login-capabilities>div{display:flex;align-items:flex-start;gap:.72rem;min-width:0;padding:.85rem;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(3,38,69,.23);backdrop-filter:blur(10px)}
.bau-login-capabilities i{flex:0 0 auto;color:#8bdcff;font-size:1.2rem}
.bau-login-welcome[data-landing-variant="flight"] .bau-login-capabilities i{color:#d9f7ff}.bau-login-welcome[data-landing-variant="pathways"] .bau-login-capabilities i{color:#e5d7ff}.bau-login-welcome[data-landing-variant="community"] .bau-login-capabilities i{color:#d6ffec}
.bau-login-capabilities span{display:flex;min-width:0;flex-direction:column;gap:.18rem}
.bau-login-capabilities b{color:#fff;font-size:.78rem;line-height:1.25}
.bau-login-capabilities small{color:rgba(255,255,255,.66);font-size:.66rem;line-height:1.35}
.bau-login-motto{display:flex;align-items:center;gap:.75rem;margin-top:auto;padding-top:clamp(2rem,5vh,4rem);color:rgba(255,255,255,.7);font-size:.75rem;font-weight:650;letter-spacing:.06em}
.bau-login-motto span{width:38px;height:1px;background:#8bdcff}
.bau-login-welcome[data-landing-variant="flight"] h1 span{color:#d9f7ff}.bau-login-welcome[data-landing-variant="flight"] .bau-login-motto span{background:#d9f7ff}.bau-login-welcome[data-landing-variant="pathways"] h1 span{color:#e5d7ff}.bau-login-welcome[data-landing-variant="pathways"] .bau-login-motto span{background:#e5d7ff}.bau-login-welcome[data-landing-variant="community"] h1 span{color:#d6ffec}.bau-login-welcome[data-landing-variant="community"] .bau-login-motto span{background:#d6ffec}
@media(prefers-reduced-motion:reduce){.bau-login-welcome-rotating{animation:none}}
.bau-login-welcome + .bau-login-access{--bau-login-seam-rgb:0,123,196}
.bau-login-welcome[data-landing-variant="flight"] + .bau-login-access{--bau-login-seam-rgb:56,169,212}.bau-login-welcome[data-landing-variant="pathways"] + .bau-login-access{--bau-login-seam-rgb:119,89,181}.bau-login-welcome[data-landing-variant="community"] + .bau-login-access{--bau-login-seam-rgb:23,150,110}.bau-login-welcome[data-landing-variant="discovery"] + .bau-login-access{--bau-login-seam-rgb:139,95,193}.bau-login-welcome[data-landing-variant="research"] + .bau-login-access{--bau-login-seam-rgb:37,169,149}.bau-login-welcome[data-landing-variant="horizon"] + .bau-login-access{--bau-login-seam-rgb:220,154,44}.bau-login-welcome[data-landing-variant="studio"] + .bau-login-access{--bau-login-seam-rgb:207,99,137}.bau-login-welcome[data-landing-variant="global"] + .bau-login-access{--bau-login-seam-rgb:75,154,211}.bau-login-welcome[data-landing-variant="support"] + .bau-login-access{--bau-login-seam-rgb:47,168,124}.bau-login-welcome[data-landing-variant="momentum"] + .bau-login-access{--bau-login-seam-rgb:32,166,217}.bau-login-welcome[data-landing-variant="belonging"] + .bau-login-access{--bau-login-seam-rgb:197,103,155}.bau-login-welcome[data-landing-variant="content"] + .bau-login-access{--bau-login-seam-rgb:92,155,203}.bau-login-welcome[data-landing-variant="study"] + .bau-login-access{--bau-login-seam-rgb:125,137,212}.bau-login-welcome[data-landing-variant="practice"] + .bau-login-access{--bau-login-seam-rgb:74,192,211}.bau-login-welcome[data-landing-variant="activities"] + .bau-login-access{--bau-login-seam-rgb:227,160,74}.bau-login-welcome[data-landing-variant="collaboration"] + .bau-login-access{--bau-login-seam-rgb:73,173,140}.bau-login-welcome[data-landing-variant="feedback"] + .bau-login-access{--bau-login-seam-rgb:207,112,170}.bau-login-welcome[data-landing-variant="assessment"] + .bau-login-access{--bau-login-seam-rgb:217,138,94}.bau-login-welcome[data-landing-variant="flexible"] + .bau-login-access{--bau-login-seam-rgb:134,169,188}
.bau-login-access{position:relative;isolation:isolate;overflow:hidden;display:flex;min-width:0;flex-direction:column;justify-content:center;padding:clamp(2rem,6vw,5.8rem);color:var(--bau-ink);background:#fff}
.bau-login-access::before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;opacity:.3;background-image:linear-gradient(132deg,rgba(var(--bau-login-seam-rgb),.42) 0%,rgba(var(--bau-login-seam-rgb),.19) 54%,rgba(255,255,255,.04) 100%),url("../assets/landing/bau-campus-silhouette.png");background-position:center,72% center;background-size:cover,cover;background-blend-mode:color,normal;filter:contrast(1.06) saturate(1.1);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.1) 20%,rgba(0,0,0,.7) 64%,rgba(0,0,0,.94) 100%)}
.bau-login-access-inner{position:relative;z-index:1;width:min(480px,100%);margin:auto}
.bau-access-logo{display:grid;grid-template-columns:190px 28px minmax(0,1fr);grid-template-rows:88px 72px;align-items:center;column-gap:.3rem;width:min(455px,98%);margin-bottom:2rem;color:#075aae;filter:drop-shadow(0 2px 9px rgba(0,65,126,.14))}
/* The access-side identity is deliberately BAU ◇ LEARN. The full university descriptor
   belongs to the landing artwork, so it never competes with the product name here. */
.bau-access-brand-mark{grid-column:1;grid-row:1;display:block;width:190px;height:88px;overflow:hidden}.bau-access-brand-mark img{display:block;max-width:none;width:auto;height:100%;mask-image:none}.bau-access-separator{grid-column:2;grid-row:1;display:grid;place-items:center;width:28px;height:32px}.bau-access-separator svg{display:block;width:23px;height:23px}.bau-access-learn{grid-column:3;grid-row:1;align-self:center;color:#075aae;font-size:clamp(2rem,3.35vw,3.25rem);font-weight:760;letter-spacing:.025em;line-height:1}.bau-access-learning-path{grid-column:1/-1;grid-row:2;align-self:start;display:block;width:100%;height:auto;margin-top:-.55rem}
.bau-login-access .login-copy h1{margin:0;color:var(--bau-ink);font-size:clamp(2.1rem,3.05vw,3.2rem);font-weight:760;letter-spacing:-.048em;line-height:.95}
.bau-login-product-line{margin:.72rem 0 0;color:#49627a;font-size:clamp(.68rem,.88vw,.78rem);font-weight:760;letter-spacing:.075em;line-height:1.45;text-transform:uppercase}
.bau-login-access .login-copy{margin-bottom:2rem}
.bau-login-form{gap:1rem}
.bau-login-form label{gap:.5rem;color:#344759;font-size:.78rem;font-weight:750}
.bau-login-field{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;min-width:0;height:52px;border:1px solid #c7d4df;border-radius:12px;background:#fff;transition:border-color .15s,box-shadow .15s}
.bau-login-field:focus-within{border-color:var(--bau-blue);box-shadow:0 0 0 4px rgba(0,98,173,.11)}
.bau-login-field>i{justify-self:center;color:#778a9b;font-size:1.05rem}
.bau-login-form .bau-login-field input{width:100%;height:50px;min-width:0;padding:0 13px 0 0;border:0;border-radius:0;background:transparent;color:var(--bau-ink);font-size:.92rem;box-shadow:none}
.bau-login-form .bau-login-field input:focus{outline:0;border:0;box-shadow:none}
.bau-login-form .bau-login-field input::placeholder{color:#93a0aa}
.bau-login-form .bau-login-field input:-webkit-autofill,
.bau-login-form .bau-login-field input:-webkit-autofill:hover,
.bau-login-form .bau-login-field input:-webkit-autofill:focus,
.bau-login-form .bau-login-field input:-webkit-autofill:active{
  -webkit-text-fill-color:var(--bau-ink);
  caret-color:var(--bau-ink);
  -webkit-box-shadow:0 0 0 1000px #fff inset!important;
  box-shadow:0 0 0 1000px #fff inset!important;
  transition:background-color 99999s ease-out 0s
}
.bau-login-form .bau-login-field input:autofill{background:#fff;color:var(--bau-ink);box-shadow:0 0 0 1000px #fff inset}
.bau-login-password{grid-template-columns:minmax(0,1fr) 52px;gap:8px}
.bau-login-password .icon-btn{width:52px;height:52px;border-color:#c7d4df;border-radius:12px;background:#f7f9fb;color:#526779}
.bau-login-form .login-message{min-height:20px;margin-top:-.2rem;font-size:.78rem}
.bau-login-form .login-submit{display:flex;align-items:center;justify-content:space-between;min-height:52px;margin-top:.1rem;padding:0 1.2rem;border-radius:12px;background:var(--bau-blue);box-shadow:0 10px 22px rgba(0,98,173,.18);font-size:.9rem;font-weight:750}
.bau-login-form .login-submit:hover{background:#07558f}
.bau-login-form .portal-reset-link{margin-top:-.35rem;color:var(--bau-blue);font-size:.8rem}
.bau-login-access-foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:auto;padding-top:2rem;color:#8a969f;font-size:.68rem}
@media(max-width:920px){
  .bau-login-layout{grid-template-columns:1fr;min-height:100svh}
  .bau-login-welcome{min-height:auto;padding:1.4rem 1.5rem 1.7rem}
  .bau-login-welcome-inner{width:100%}
  .bau-logo-plate{width:min(285px,72%);min-height:0;margin-bottom:1.6rem;padding:0;border-radius:0}
  .bau-login-welcome h1{font-size:clamp(2.4rem,10vw,4.2rem);line-height:.9}
  .bau-login-lead{max-width:620px;margin-top:1.15rem;font-size:.92rem}
  .bau-login-career{grid-template-columns:minmax(0,1fr) 145px;margin-top:1rem;padding:.85rem 1rem}.bau-login-career-copy h2{font-size:1.08rem}.bau-login-career-copy p{font-size:.68rem}
  .bau-login-capabilities,.bau-login-motto{display:none}
  .bau-login-access{padding:2.2rem 1.5rem}
  .bau-login-access-inner{width:min(560px,100%)}
  .bau-access-logo{grid-template-columns:170px 24px minmax(0,1fr);grid-template-rows:78px 66px;width:min(400px,94%);margin-bottom:1.6rem}.bau-access-brand-mark{width:170px;height:78px}
  .bau-login-access .login-copy h1{font-size:2.35rem}
  .bau-login-access-foot{padding-top:1.5rem}
}
@media(max-width:520px){
  .bau-login-welcome{padding:1.1rem 1rem 1.35rem}
  .bau-logo-plate{width:min(250px,82%);margin-bottom:1.25rem}
  .bau-login-kicker{margin-bottom:.75rem;font-size:.65rem}
  .bau-login-welcome h1{font-size:2.45rem}
  .bau-login-lead{font-size:.8rem;line-height:1.5}
  .bau-login-career{grid-template-columns:1fr;padding:.8rem}.bau-login-career-svg{display:none}.bau-login-career-copy h2{font-size:1rem}.bau-login-career-copy p{font-size:.65rem}.bau-login-career-copy>div{display:none}
  .bau-login-access{justify-content:flex-start;padding:1.7rem 1rem}
  .bau-access-logo{grid-template-columns:122px 18px minmax(0,1fr);grid-template-rows:56px 48px;column-gap:.15rem;width:min(315px,100%);margin-bottom:1.35rem}
  .bau-access-brand-mark{width:122px;height:56px}
  /* Phone lockup: retain the official seal and BAU wordmark, while deliberately
     clipping the long university-name descriptor before the BAU Learn separator. */
  .bau-access-brand-mark img{width:auto;max-width:none;height:100%;object-fit:initial;object-position:left center;mask-image:none}
  .bau-access-separator{width:18px;height:22px}.bau-access-separator svg{width:17px;height:17px}
  .bau-access-learn{font-size:clamp(1.55rem,9.6vw,2.1rem);letter-spacing:0}
  .bau-access-learning-path{margin-top:-.35rem}
  .bau-login-access .login-copy{margin-bottom:1.35rem}
  .bau-login-field,.bau-login-password .icon-btn{height:48px}
  .bau-login-password .icon-btn{width:48px}
  .bau-login-form .bau-login-field input{height:46px}
  .bau-login-form .login-submit{min-height:48px}
}
@media(max-width:360px){
  .bau-access-logo{grid-template-columns:110px 16px minmax(0,1fr);grid-template-rows:50px 43px;width:min(290px,100%)}
  .bau-access-brand-mark{width:110px;height:50px}
  .bau-access-learn{font-size:1.5rem}
}
.nav-button{border:0;background:transparent;width:100%;font:inherit;text-align:left;cursor:pointer}
.admin-page{max-width:1280px;margin:0 auto}
.admin-page h1{margin-top:.6rem}
.admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1rem 0}
.admin-stat{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:1rem}
.admin-stat b{display:block;font-size:1.7rem;color:var(--accent-text)}
.admin-stat span{color:var(--text-secondary);font-size:13px}
.admin-two{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.75fr);gap:1rem;margin-top:1rem}
.admin-form{display:grid;grid-template-columns:150px repeat(4,minmax(0,1fr)) auto;gap:.6rem;align-items:center}
.admin-form input,.admin-form select{height:40px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-1);color:var(--text-primary);padding:0 10px;font:inherit}
.admin-user-list{display:flex;flex-direction:column;gap:.55rem}
.admin-user{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center;border:1px solid var(--border);border-radius:12px;padding:.7rem;background:var(--surface-1)}
.admin-user span{display:block;color:var(--text-secondary);font-size:12px;margin-top:.15rem}
.admin-user-actions{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}
.admin-user-actions button,.admin-user-actions select{border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-2);color:var(--text-primary);padding:.42rem .55rem;cursor:pointer}
.admin-row{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--border);padding:.45rem 0;color:var(--text-secondary)}
.admin-row b{color:var(--text-primary);font-size:12px;text-align:right}
.admin-task-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:1rem}
.admin-task-card{display:flex;flex-direction:column;gap:.45rem;text-decoration:none;color:var(--text-primary);background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:1.05rem;min-height:156px;transition:transform .12s,border-color .12s,box-shadow .12s}
.admin-task-card:hover{border-color:var(--accent-border);box-shadow:0 14px 36px rgba(0,0,0,.08);transform:translateY(-2px)}
.admin-task-card i{width:38px;height:38px;border-radius:11px;background:var(--accent-bg);color:var(--accent-text);display:inline-flex;align-items:center;justify-content:center;font-size:22px}
.admin-task-card strong{font-size:17px}
.admin-task-card span{font-size:13px;line-height:1.55;color:var(--text-secondary)}
.admin-user-edit{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:.45rem;align-items:center}
.admin-user-edit input{height:34px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-2);color:var(--text-primary);padding:0 9px;font:inherit;font-size:13px}
.admin-user-edit strong,.admin-user-edit span{grid-column:1/-1}
.admin-user-msg{grid-column:1/-1}
.admin-user-log{grid-column:1/-1;border-top:1px solid var(--border);padding-top:.6rem}
.event-log-list{display:flex;flex-direction:column;gap:.45rem;max-height:560px;overflow:auto}
.event-log-row{border:1px solid var(--border);border-radius:10px;background:var(--surface-1);padding:.5rem .65rem}
.event-log-row summary{cursor:pointer;display:flex;justify-content:space-between;gap:.8rem;color:var(--text-secondary);font-size:12px}
.event-log-row summary span{font-weight:650;color:var(--text-primary)}
.event-log-row pre{white-space:pre-wrap;font-size:11px;line-height:1.45;margin:.55rem 0 0;color:var(--text-secondary)}
.admin-course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.75rem;margin-top:1rem}
.admin-week-card{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);padding:.85rem;color:var(--text-primary)}
.admin-week-card span{font-size:12px;color:var(--accent-text);font-weight:700}
.admin-week-card strong{margin:.25rem 0;line-height:1.35}
.admin-week-card em{font-style:normal;color:var(--text-secondary);font-size:12px}
.quiz-manager-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0}
.quiz-manager-head label{display:flex;align-items:center;gap:.7rem;font-weight:600}
.quiz-manager-head select,.quiz-settings-grid input,.quiz-settings-grid textarea,.quiz-json-input,.feedback-item textarea{border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-1);color:var(--text-primary);font:inherit}
.quiz-manager-head select{height:40px;padding:0 10px;min-width:310px}
.quiz-admin-grid{display:grid;grid-template-columns:minmax(320px,.65fr) minmax(0,1.35fr);gap:1rem;margin:1rem 0}
.quiz-manager-tabs{display:flex;gap:.45rem;margin:1rem 0;border-bottom:1px solid var(--border);padding-bottom:.55rem}
.quiz-manager-tabs button{height:42px;padding:0 16px;border-radius:9px;display:inline-flex;align-items:center;gap:.45rem;background:var(--surface-1);color:var(--text-secondary)}
.quiz-manager-tabs button.active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent-text);font-weight:700}
.quiz-manager-workspace[hidden]{display:none}
.quiz-manager-workspace{display:flex;flex-direction:column;gap:1rem}
.quiz-workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}
.quiz-workspace-head p{font-size:12px;margin:.2rem 0 0}
.quiz-workspace-head>button{flex-shrink:0}
.quiz-list-toolbar{display:flex;align-items:center;gap:.42rem;flex-wrap:wrap;margin:.8rem 0;padding:.55rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}
.quiz-list-toolbar.professor{margin:.2rem 0 .8rem}
.quiz-list-toolbar-label{padding:0 .25rem;color:var(--text-muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.quiz-list-filter{min-height:36px;padding:.38rem .58rem;border-radius:9px;background:var(--surface-1);color:var(--text-secondary);display:inline-flex;align-items:center;gap:.38rem;font-size:12px;font-weight:700}
.quiz-list-filter:hover{border-color:var(--accent-border);color:var(--accent-text)}
.quiz-list-filter.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text);box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 12%,transparent)}
.quiz-list-filter b{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:var(--surface-2);color:var(--text-secondary);font-size:10px}
.quiz-list-filter.active b{background:var(--accent);color:#fff}
.quiz-list-toolbar-spacer{flex:1 1 20px}
.quiz-list-view-button{min-height:36px;padding:.38rem .62rem;border-radius:9px;background:var(--surface-1);color:var(--text-secondary);display:inline-flex;align-items:center;gap:.38rem;font-size:12px;font-weight:750}
.quiz-list-view-button:hover{border-color:var(--accent-border);color:var(--accent-text)}
.quiz-list-view-button.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text);box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 12%,transparent)}
.quiz-runs-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:1rem;align-items:start}
.quiz-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;align-items:end}
.quiz-settings-grid label{display:flex;flex-direction:column;gap:.25rem;color:var(--text-secondary);font-size:13px}
.quiz-settings-grid input{height:38px;padding:0 9px}
.quiz-settings-grid textarea{padding:9px;resize:vertical;line-height:1.45}
.quiz-opening-label{grid-column:1/-1}
.quiz-run-list{display:flex;flex-direction:column;gap:.4rem;margin:.7rem 0}
.quiz-run-row{display:grid;grid-template-columns:minmax(0,1fr) 38px 38px;gap:.35rem;align-items:center}
.quiz-run-row>button:first-child{min-width:0;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.55rem .65rem;border-radius:10px;background:var(--surface-1)}
.quiz-run-row.active>button:first-child{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent-text)}
.quiz-run-row-head{display:flex!important;align-items:center;justify-content:space-between;gap:.5rem;width:100%;color:inherit!important}
.quiz-run-row-head .quiz-list-status{font-size:9px;padding:.18rem .38rem}
.quiz-run-row strong{font-size:13px;line-height:1.25}
.quiz-run-row span{font-size:11px;color:var(--text-secondary)}
.quiz-run-row.active span{color:var(--accent-text)}
.quiz-run-row>button:not(:first-child){width:38px;height:38px;padding:0;border-radius:10px;justify-content:center}
.quiz-run-detail{min-height:210px;border:1px solid var(--border);border-radius:10px;background:var(--surface-1);padding:1rem}
.quiz-run-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.quiz-run-detail-head h2{font-size:20px;margin:.3rem 0 0}
.quiz-run-detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}
.quiz-status{display:inline-flex;padding:.2rem .48rem;border-radius:999px;font-size:11px;font-weight:700;background:var(--surface-2);color:var(--text-secondary)}
.quiz-status.open{background:color-mix(in srgb,#18a36b 14%,var(--surface-1));color:#08794a}
.quiz-status.scheduled{background:var(--accent-bg);color:var(--accent-text)}
.quiz-status.inactive{background:color-mix(in srgb,#9b5b54 10%,var(--surface-1));color:#8e4138}
.quiz-list-status{display:inline-flex;align-items:center;gap:.3rem;flex:0 0 auto;padding:.27rem .52rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-1);color:var(--text-secondary);font-size:11px;font-weight:800;line-height:1.2;white-space:nowrap}
.quiz-list-status.active{border-color:color-mix(in srgb,#15865e 36%,var(--border));background:color-mix(in srgb,#19a66f 14%,var(--surface-1));color:#08754b}
.quiz-list-status.upcoming{border-color:color-mix(in srgb,#b77900 36%,var(--border));background:color-mix(in srgb,#f1a91b 16%,var(--surface-1));color:#8a5a00}
.quiz-list-status.scheduled{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent-text)}
.quiz-list-status.closed{border-color:color-mix(in srgb,#776d60 28%,var(--border));background:color-mix(in srgb,#82786b 9%,var(--surface-1));color:var(--text-secondary)}
.quiz-list-status.passive{border-color:color-mix(in srgb,#9b5b54 25%,var(--border));background:color-mix(in srgb,#9b5b54 9%,var(--surface-1));color:#87443e}
.quiz-run-opening{color:var(--text-secondary);font-size:13px;line-height:1.5;margin:.8rem 0}
.quiz-run-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:0}
.quiz-run-facts>div:first-child{grid-column:1/-1}
.quiz-run-facts dt{font-size:10px;text-transform:uppercase;color:var(--text-muted);font-weight:700}
.quiz-run-facts dd{font-size:13px;margin:.12rem 0 0;color:var(--text-primary)}
.quiz-run-detail-empty{display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--text-muted)}
.quiz-run-detail-empty .ti{font-size:22px}
.quiz-run-msg{display:block;min-height:1.3em;margin-top:.65rem;font-size:12px}
.quiz-empty-state{min-height:150px;border:1px dashed var(--border-strong);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;text-align:center;color:var(--text-secondary);padding:1rem}
.quiz-empty-state .ti{font-size:26px;color:var(--accent)}
.quiz-empty-state span{font-size:12px;max-width:360px}
.quiz-empty-state.compact{min-height:120px}
.modal-eyebrow{font-size:11px;text-transform:uppercase;color:var(--accent-text);font-weight:700}
.quiz-run-modal-panel{width:min(860px,100%)}
.quiz-display-shell{--quiz-display-zoom:1;display:block;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--surface-2);color:var(--text-primary);box-shadow:0 12px 32px color-mix(in srgb,var(--text-primary) 6%,transparent);transition:background .18s ease,color .18s ease,border-color .18s ease}
.quiz-display-shell[data-quiz-theme="light"]{color-scheme:light;--surface-1:#fff;--surface-2:#f3f6f9;--surface-3:#e8eef4;--text-primary:#142436;--text-secondary:#4e6072;--text-muted:#758596;--border:#d7e0e8;--border-strong:#aebbc7;--accent:#1768b2;--accent-bg:#eaf4fd;--accent-border:#8dbce7;--accent-text:#145f9f;--success-bg:#e8f7f0;--success-text:#176b4a;--warning-bg:#fff2d8;--warning-text:#825400;--danger-bg:#fbe9e7;--danger-text:#923e37;background:#f3f6f9}
.quiz-display-shell[data-quiz-theme="dark"]{color-scheme:dark;--surface-1:#17212d;--surface-2:#0f1721;--surface-3:#223040;--text-primary:#f4f7fa;--text-secondary:#c8d3de;--text-muted:#94a5b5;--border:#344454;--border-strong:#607184;--accent:#64b4f4;--accent-bg:#123b5c;--accent-border:#3d82b8;--accent-text:#9bd2fb;--success-bg:#153d31;--success-text:#86ddba;--warning-bg:#4b3818;--warning-text:#ffd384;--danger-bg:#4b2728;--danger-text:#ffaaa4;background:#0f1721}
.quiz-display-controls{position:relative;z-index:6;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 11px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-1) 94%,transparent);color:var(--text-secondary);box-shadow:0 7px 18px color-mix(in srgb,var(--text-primary) 5%,transparent)}
.quiz-display-control-group{display:flex;align-items:center;gap:5px;padding:4px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}
.quiz-display-control-label{display:inline-flex;align-items:center;gap:5px;padding:0 6px;color:var(--text-muted);font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.quiz-display-control-label i{font-size:15px;color:var(--accent-text)}
.quiz-display-controls button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:34px;height:32px;padding:0 8px;border:1px solid transparent;border-radius:8px;background:var(--surface-1);color:var(--text-secondary);font-size:11px;font-weight:800}.quiz-display-controls button:hover:not(:disabled){border-color:var(--accent-border);color:var(--accent-text)}.quiz-display-controls button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 28%,transparent);outline-offset:1px}.quiz-display-controls button:disabled{opacity:.38}.quiz-display-controls button.active{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent-text);box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 12%,transparent)}
.quiz-display-controls .quiz-zoom-reset{min-width:72px}.quiz-display-controls .quiz-zoom-reset b{font-variant-numeric:tabular-nums}.quiz-display-controls>small{margin-left:auto;color:var(--text-muted);font-size:10px}
.quiz-attempt-content{box-sizing:border-box;zoom:var(--quiz-display-zoom);padding:16px;background:var(--surface-1);color:var(--text-primary);transform-origin:top left;transition:background .18s ease,color .18s ease}
.quiz-display-shell[data-quiz-theme="dark"] .quiz-student-preview-banner{border-color:#35597c;background:linear-gradient(100deg,#162f49,#292a50);color:#eef7ff}.quiz-display-shell[data-quiz-theme="dark"] .quiz-student-preview-banner small{color:#b7cce0}
.quiz-display-shell[data-quiz-theme="dark"] .quiz-listen-prompt{color:var(--text-primary)}
@media(max-width:620px){.quiz-display-controls{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}.quiz-display-control-group{min-width:0;justify-content:space-between}.quiz-display-control-label{margin-right:auto}.quiz-display-controls>small{margin-left:0;text-align:center}.quiz-background-controls button{flex:1 1 auto}.quiz-attempt-content{padding:11px}}
.quiz-student-preview-panel{width:min(1180px,100%)}
.quiz-student-preview-body{width:min(1120px,100%);margin-inline:auto;padding:22px 28px 40px}
.question-draft-preview-modal{z-index:105}
.question-draft-preview-modal .quiz-student-preview-panel{max-height:min(900px,calc(100dvh - 44px));overflow:auto;resize:both}
.question-draft-preview-modal .quiz-student-preview-body{min-height:540px}
.question-draft-preview-modal.is-fullscreen .quiz-student-preview-panel{max-height:100dvh;resize:none}
.quiz-student-preview-banner{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:13px 16px;border:1px solid #8cbbea;border-radius:12px;background:linear-gradient(100deg,#e8f4ff,#f3efff);color:#153a66}
.quiz-student-preview-banner>span{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border-radius:11px;background:#1768b2;color:#fff;font-size:22px;box-shadow:0 7px 18px rgba(23,104,178,.2)}
.quiz-student-preview-banner>div{display:flex;flex-direction:column;gap:2px}.quiz-student-preview-banner strong{font-size:14px}.quiz-student-preview-banner small{color:#4f6680;font-size:12px}
.quiz-preview-loading,.quiz-preview-error{display:flex;min-height:55vh;align-items:center;justify-content:center;flex-direction:column;gap:10px;text-align:center;color:var(--text-muted)}
.quiz-preview-loading i{font-size:32px;color:var(--accent);animation:spin 1s linear infinite}.quiz-preview-error i{font-size:38px;color:var(--text-danger)}.quiz-preview-error h3{margin:2px 0;color:var(--text-primary)}.quiz-preview-error p{margin:0 0 8px}
.quiz-preview-result{width:min(720px,100%);margin:8vh auto 0;padding:38px;border:1px solid var(--accent-border);border-radius:18px;background:linear-gradient(145deg,var(--surface-2),var(--accent-bg));text-align:center;box-shadow:0 18px 45px rgba(20,65,110,.12)}
.quiz-preview-result-icon{display:inline-flex;align-items:center;justify-content:center;width:70px;height:70px;margin-bottom:14px;border-radius:20px;background:var(--accent);color:#fff;font-size:34px;box-shadow:0 10px 25px rgba(24,95,165,.24)}
.quiz-preview-result h2{margin:5px 0;font-size:42px}.quiz-preview-result h2 small{font-size:18px;color:var(--text-muted)}.quiz-preview-result>p:not(.modal-eyebrow){max-width:580px;margin:8px auto 18px;color:var(--text-secondary);line-height:1.5}
.quiz-preview-safety{display:flex;align-items:center;justify-content:center;gap:9px;margin:18px 0;padding:12px;border:1px solid #a7ddc9;border-radius:10px;background:#eaf8f3;color:#17624e;font-size:13px}.quiz-preview-safety i{font-size:21px}
.quiz-preview-result .complete-row{justify-content:center}
.quiz-run-modal-form{align-items:start}
.quiz-run-modal-form select{height:38px;padding:0 9px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-1);color:var(--text-primary);font:inherit}
.quiz-pool-availability{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.quiz-pool-availability span{display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-1);padding:.3rem .55rem;font-size:12px;color:var(--text-secondary)}
.quiz-pool-availability b{color:var(--text-primary)}
.field-muted{opacity:.45}
.field-unit{display:flex;align-items:center;gap:.45rem}
.field-unit input{min-width:0;flex:1}
.field-unit em{font-size:12px;font-style:normal;color:var(--text-muted)}
.form-error{min-height:1.3em;margin:.7rem 0 0;color:#a13229;font-size:12px}
.quiz-attempt-summary{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.9rem}
.quiz-attempt-summary span{border:1px solid var(--border);background:var(--surface-1);border-radius:999px;padding:.35rem .6rem;font-size:12px;color:var(--text-secondary)}
.quiz-attempt-summary b{color:var(--text-primary)}
.quiz-attempt-groups{display:flex;flex-direction:column;gap:.85rem}
.quiz-attempt-group{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface-1)}
.attempt-group-head{display:flex;justify-content:space-between;align-items:center;padding:.65rem .75rem;background:var(--surface-2);font-size:13px;font-weight:700}
.attempt-group-head span{display:flex;align-items:center;gap:.4rem}
.attempt-group-head b{min-width:27px;height:27px;border-radius:999px;background:var(--surface-1);display:flex;align-items:center;justify-content:center;font-size:11px}
.attempt-empty{font-size:12px;color:var(--text-muted);padding:.75rem;margin:0}
.quiz-attempt-list{display:flex;flex-direction:column}
.quiz-attempt-row{display:grid;grid-template-columns:minmax(170px,1.25fr) minmax(170px,1fr) auto;gap:.75rem;align-items:center;padding:.7rem .75rem;border-top:1px solid var(--border)}
.quiz-attempt-row:first-child{border-top:0}
.attempt-person{display:flex;flex-direction:column;min-width:0}
.attempt-person strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.attempt-person>span{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.attempt-time{display:flex;flex-direction:column;font-size:11px;color:var(--text-secondary)}
.attempt-time small{color:var(--text-muted)}
.attempt-score,.attempt-unfinished,.attempt-live{font-size:11px;border-radius:999px;padding:.28rem .5rem;white-space:nowrap}
.attempt-score{background:color-mix(in srgb,#18a36b 14%,var(--surface-1));color:#08794a}
.attempt-unfinished{background:color-mix(in srgb,#b44b3d 12%,var(--surface-1));color:#9b352b}
.attempt-live{display:flex;align-items:center;gap:.35rem;background:var(--accent-bg);color:var(--accent-text)}
.attempt-live span{width:7px;height:7px;border-radius:50%;background:#18a36b;box-shadow:0 0 0 3px color-mix(in srgb,#18a36b 18%,transparent)}
.attempt-result-actions{display:flex;align-items:flex-end;flex-direction:column;gap:.35rem}
.attempt-retake-btn{min-height:30px;padding:.28rem .5rem;border-color:var(--accent-border);color:var(--accent-text);font-size:11px;white-space:nowrap}
.retake-granted{display:inline-flex;align-items:center;gap:.25rem;border-radius:999px;padding:.28rem .5rem;background:var(--success-bg);color:var(--success-text);font-size:11px;font-weight:700;white-space:nowrap}
.attempt-feedback{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem}
.attempt-feedback textarea{border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text-primary);padding:.55rem;font:inherit;resize:vertical}
.attempt-feedback button{align-self:end}
.quiz-attempt-overview{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem;margin:.2rem 0 1rem}
.quiz-attempt-overview button{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;column-gap:.55rem;min-width:0;padding:.75rem;text-align:left;border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:12px;background:linear-gradient(150deg,var(--surface-1),var(--surface-2));color:var(--text-primary);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.quiz-attempt-overview button:hover{transform:translateY(-2px);border-color:var(--accent-border);box-shadow:0 8px 18px rgba(22,65,105,.09)}
.quiz-attempt-overview button>span{grid-row:1/4;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:var(--accent-bg);color:var(--accent-text);font-size:18px}
.quiz-attempt-overview button>b{font-size:22px;line-height:1}.quiz-attempt-overview button>strong{font-size:12px;line-height:1.2}.quiz-attempt-overview button>small{min-width:0;margin-top:2px;color:var(--text-muted);font-size:10px;line-height:1.25}
.quiz-attempt-overview button:nth-child(2){border-top-color:#16845b}.quiz-attempt-overview button:nth-child(2)>span{background:color-mix(in srgb,#16845b 12%,var(--surface-1));color:#08794a}
.quiz-attempt-overview button:nth-child(4){border-top-color:#5a55c4}.quiz-attempt-overview button:nth-child(4)>span{background:color-mix(in srgb,#5a55c4 12%,var(--surface-1));color:#4d48ac}
.quiz-attempt-overview button:nth-child(5){border-top-color:#b15b26}.quiz-attempt-overview button:nth-child(5)>span{background:color-mix(in srgb,#b15b26 12%,var(--surface-1));color:#924617}
.quiz-attempt-overview button:nth-child(6){border-top-color:#77818b}.quiz-attempt-overview button:nth-child(6)>span{background:color-mix(in srgb,#77818b 12%,var(--surface-1));color:#59636c}
.quiz-attempt-directory{border:1px solid var(--border);border-radius:12px;background:var(--surface-1);overflow:hidden}
.quiz-attempt-directory>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .9rem;cursor:pointer;list-style:none;background:var(--surface-2)}
.quiz-attempt-directory>summary::-webkit-details-marker{display:none}.quiz-attempt-directory>summary>span{display:grid;grid-template-columns:auto 1fr;column-gap:.55rem;align-items:center}.quiz-attempt-directory>summary>span>i{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;background:var(--accent-bg);color:var(--accent-text);font-size:18px}.quiz-attempt-directory>summary b{font-size:13px}.quiz-attempt-directory>summary small{color:var(--text-muted);font-size:10px}.quiz-attempt-directory>summary>i{transition:transform .15s ease}.quiz-attempt-directory[open]>summary>i{transform:rotate(180deg)}
.quiz-attempt-directory-body{padding:.85rem}
.quiz-attempt-controls{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(145px,.7fr) minmax(170px,.8fr) minmax(90px,.35fr) auto;gap:.55rem;align-items:end;margin-bottom:.7rem}
.quiz-attempt-controls label{display:flex;min-width:0;flex-direction:column;gap:.25rem;color:var(--text-secondary);font-size:10px;font-weight:700}.quiz-attempt-controls select,.quiz-attempt-controls input{width:100%;height:38px;min-width:0;padding:0 .6rem;border:1px solid var(--border);border-radius:9px;background:var(--surface-1);color:var(--text-primary);font:inherit;font-size:12px;font-weight:500}
.quiz-attempt-search{position:relative}.quiz-attempt-search>i{position:absolute;left:.65rem;bottom:11px;color:var(--text-muted);font-size:16px}.quiz-attempt-search input{padding-left:2rem}
.quiz-attempt-view-switch{display:flex;gap:.3rem}.quiz-attempt-view-switch button{display:flex;align-items:center;justify-content:center;gap:.3rem;height:38px;padding:0 .6rem;border-radius:9px;font-size:11px}.quiz-attempt-view-switch button.active{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent-text);font-weight:700}
.quiz-attempt-result-count{margin:.15rem 0 .55rem;color:var(--text-secondary);font-size:11px}.quiz-attempt-result-count b{color:var(--text-primary)}
.quiz-attempt-directory-results{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface-1)}
.quiz-student-result{display:grid;grid-template-columns:minmax(175px,1.2fr) minmax(160px,.95fr) minmax(135px,.75fr) auto;gap:.65rem;align-items:center;border-top:1px solid var(--border);padding:.65rem .7rem}.quiz-student-result:first-child{border-top:0}
.quiz-attempt-record-meta{display:flex;flex-direction:column;gap:.2rem;color:var(--text-secondary);font-size:10px}.quiz-attempt-record-meta span{display:flex;align-items:center;gap:.3rem}.quiz-attempt-record-meta i{color:var(--accent-text)}
.attempt-not-taken{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .5rem;border-radius:999px;background:var(--surface-2);color:var(--text-secondary);font-size:11px;white-space:nowrap}
.attempt-score{display:inline-flex;align-items:center;gap:.3rem}
.attempt-feedback-disclosure{grid-column:1/-1;border-top:1px dashed var(--border);padding-top:.45rem}.attempt-feedback-disclosure>summary{display:inline-flex;align-items:center;gap:.3rem;cursor:pointer;list-style:none;color:var(--accent-text);font-size:11px;font-weight:700}.attempt-feedback-disclosure>summary::-webkit-details-marker{display:none}.attempt-feedback-disclosure .attempt-feedback{margin-top:.45rem}
.quiz-attempt-directory-results.view-compact .quiz-student-result{min-height:58px;padding:.5rem .65rem}.quiz-attempt-directory-results.view-compact .attempt-person strong{font-size:12px}.quiz-attempt-directory-results.view-compact .attempt-result-actions{gap:.2rem}.quiz-attempt-directory-results.view-compact .attempt-feedback-disclosure{padding-top:.3rem}
.quiz-attempt-directory-results.view-list .quiz-student-result{padding:.85rem}.quiz-attempt-directory-results.view-list .attempt-person strong{font-size:14px}.quiz-attempt-directory-results.view-list .quiz-attempt-record-meta{font-size:11px}
.quiz-attempt-directory-results.view-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:.7rem;padding:.7rem;border:0;background:var(--surface-2)}
.quiz-attempt-directory-results.view-cards .quiz-student-result{grid-template-columns:minmax(0,1fr) auto;align-items:start;border:1px solid var(--border);border-radius:11px;background:var(--surface-1);padding:.8rem}.quiz-attempt-directory-results.view-cards .quiz-attempt-record-meta,.quiz-attempt-directory-results.view-cards .attempt-time{grid-column:1/-1}.quiz-attempt-directory-results.view-cards .attempt-result-actions{grid-column:2;grid-row:1;align-items:flex-end}.quiz-attempt-directory-results.view-cards .attempt-feedback-disclosure{grid-column:1/-1}
.quiz-attempt-pager{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;margin-top:.7rem}.quiz-attempt-pager button{display:flex;align-items:center;gap:.3rem;min-height:34px;padding:.35rem .6rem;border-radius:8px;font-size:11px}.quiz-attempt-pager span{color:var(--text-secondary);font-size:11px}.quiz-attempt-pager span b{color:var(--text-primary)}
.quiz-run-form{border-top:1px solid var(--border);padding-top:.8rem;margin-top:.6rem}
.toggle-line{display:flex!important;flex-direction:row!important;align-items:center!important;gap:.5rem;color:var(--text-primary)!important;font-size:14px!important}
.toggle-line input{width:18px;height:18px}
.week-part-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}
.week-part-msg{display:block;min-height:1.25em;margin-top:.65rem;font-size:12px}
.quiz-submissions-card{margin-top:1rem}
.quiz-json-input{width:100%;min-height:430px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.55;tab-size:2;resize:vertical}
.quiz-json-panel{width:min(1120px,96vw)}
.quiz-json-modal-input{min-height:62vh;background:var(--surface-1)}
.quiz-editor-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.7rem}
.quiz-pool-count{display:inline-flex;align-items:center;margin-left:.45rem;padding:.18rem .45rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-1);color:var(--text-secondary);font-size:11px;font-weight:600;vertical-align:middle}
.quiz-editor-tabs{display:flex;gap:.4rem}
.quiz-editor-tabs button{height:34px;padding:0 10px;border-radius:9px}
.quiz-editor-tabs button.active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent-text);font-weight:700}
.quiz-editor-actions{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center;margin-bottom:.8rem}
.quiz-ai-launch{border-color:#7868D8;background:linear-gradient(135deg,#F2EEFF,#E8F5FF);color:#4937A6;font-weight:800}
.quiz-ai-launch:hover{border-color:#5E4BC5;background:linear-gradient(135deg,#EAE3FF,#DCEFFF)}
.fig-modal-inner:has(.quiz-ai-platform-form){width:min(1680px,calc(100vw - 28px));max-width:none}
.quiz-ai-platform-form .platform-form-body{padding:0}
.quiz-ai-workshop{font-size:14px}
.quiz-ai-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;border-bottom:1px solid var(--border);background:linear-gradient(120deg,color-mix(in srgb,#7257D7 10%,var(--surface-1)),color-mix(in srgb,#2C91D8 8%,var(--surface-1)))}
.quiz-ai-intro>div{display:flex;align-items:center;gap:11px;min-width:0}.quiz-ai-intro>div>i{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,#7257D7,#2C91D8);color:#fff;font-size:23px;box-shadow:0 8px 18px rgba(77,67,165,.2)}
.quiz-ai-intro b,.quiz-ai-intro small{display:block}.quiz-ai-intro b{font-size:15px}.quiz-ai-intro small{margin-top:2px;color:var(--text-muted);font-size:12px}.quiz-ai-intro p{max-width:650px;margin:0;color:var(--text-secondary);font-size:12.5px;line-height:1.5}
.quiz-ai-workshop [hidden]{display:none!important}
.quiz-ai-type-gate{padding:26px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 4%,var(--surface-1)),var(--surface-1))}
.quiz-ai-type-gate-head{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:13px;max-width:940px;margin:0 auto 20px}.quiz-ai-type-gate-head>span{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:linear-gradient(135deg,#7257D7,#2C91D8);color:#fff;font-size:17px;font-weight:900}.quiz-ai-type-gate-head b,.quiz-ai-type-gate-head small{display:block}.quiz-ai-type-gate-head b{font-size:20px}.quiz-ai-type-gate-head small{margin-top:4px;color:var(--text-secondary);font-size:13px;line-height:1.45}
.quiz-ai-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;max-width:1120px;margin:0 auto}.quiz-ai-type-grid>button{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:11px;min-height:92px;padding:14px;text-align:left;border:1px solid var(--border-strong);border-radius:13px;background:var(--surface-1);color:var(--text);box-shadow:0 5px 15px color-mix(in srgb,var(--text) 5%,transparent);cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.quiz-ai-type-grid>button:hover,.quiz-ai-type-grid>button:focus-visible{border-color:var(--accent);box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 14%,transparent);transform:translateY(-2px);outline:0}.quiz-ai-type-grid>button>i:first-child{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:color-mix(in srgb,var(--accent) 11%,var(--surface-2));color:var(--accent);font-size:21px}.quiz-ai-type-grid>button>i:last-child{color:var(--accent);font-size:17px}.quiz-ai-type-grid b,.quiz-ai-type-grid small{display:block}.quiz-ai-type-grid b{font-size:14px}.quiz-ai-type-grid small{margin-top:4px;color:var(--text-muted);font-size:11px;line-height:1.35}
.quiz-manual-type-picker{display:grid;gap:20px;padding:4px 0 8px}.quiz-manual-type-intro{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:13px;padding:15px 17px;border:1px solid var(--accent-border);border-radius:13px;background:linear-gradient(110deg,var(--accent-bg),var(--surface-1))}.quiz-manual-type-intro>span{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:linear-gradient(135deg,#7257D7,#2C91D8);color:#fff;font-weight:900}.quiz-manual-type-intro b,.quiz-manual-type-intro small{display:block}.quiz-manual-type-intro b{font-size:17px}.quiz-manual-type-intro small{margin-top:3px;color:var(--text-secondary);line-height:1.45}.quiz-manual-type-picker .quiz-ai-type-grid{max-width:none}.quiz-manual-type-picker .quiz-ai-type-grid>button.selected{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.quiz-manual-type-picker .quiz-ai-type-grid>button:not(.selected)>i:last-child{opacity:.18}
.quiz-ai-selected-type{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 20px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--accent) 7%,var(--surface-1))}.quiz-ai-selected-type>div{display:flex;align-items:center;gap:10px}.quiz-ai-selected-type>div>i{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--accent);color:#fff}.quiz-ai-selected-type small,.quiz-ai-selected-type b{display:block}.quiz-ai-selected-type small{color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.quiz-ai-selected-type b{font-size:14px}.quiz-ai-selected-type>button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 11px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-1);color:var(--text);font-weight:750;cursor:pointer}
.quiz-ai-grid{display:grid;grid-template-columns:minmax(350px,.92fr) minmax(350px,.92fr) minmax(390px,1.08fr);min-height:640px}
.quiz-ai-step{min-width:0;padding:20px;border-right:1px solid var(--border);background:var(--surface-1)}.quiz-ai-step:last-child{border-right:0}.quiz-ai-step>label{display:flex;flex-direction:column;gap:6px;margin:0 0 13px}.quiz-ai-step>label>span{color:var(--text);font-size:12.5px;font-weight:800}.quiz-ai-step>label>span small{color:var(--text-muted);font-size:11px;font-weight:600}.quiz-ai-step select,.quiz-ai-step textarea{width:100%;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-1);color:var(--text);font:13px/1.5 var(--font);padding:10px 11px}.quiz-ai-step select{min-height:43px}.quiz-ai-step textarea{resize:vertical}.quiz-ai-step textarea:focus,.quiz-ai-step select:focus{border-color:var(--accent);outline:2px solid color-mix(in srgb,var(--accent) 18%,transparent);outline-offset:1px}
.quiz-ai-step-title{display:grid;grid-template-columns:35px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:17px}.quiz-ai-step-title>span{display:grid;place-items:center;width:35px;height:35px;border-radius:9px;background:linear-gradient(135deg,#7257D7,#2C91D8);color:#fff;font-size:15px;font-weight:900}.quiz-ai-step-title b,.quiz-ai-step-title small{display:block}.quiz-ai-step-title b{font-size:16px}.quiz-ai-step-title small{margin-top:2px;color:var(--text-muted);font-size:11.5px;line-height:1.35}
.quiz-ai-step .objective-selector{margin:12px 0;padding:11px}.quiz-ai-step .objective-selector-head{display:block}.quiz-ai-step .objective-selector-head p{font-size:11px}.quiz-ai-step .objective-selector-grid{grid-template-columns:1fr;max-height:250px;overflow:auto}.quiz-ai-step .objective-selector-grid label{min-height:55px}.quiz-ai-step .objective-selector-grid b{font-size:11px}.quiz-ai-step .objective-selector-grid small{font-size:10px}.quiz-ai-step .objective-code{font-size:10px}
.quiz-ai-build,.quiz-ai-validate{width:100%;justify-content:center;min-height:44px}.quiz-ai-exchange-actions{display:flex;align-items:center;gap:8px;margin:-3px 0 14px}.quiz-ai-exchange-actions button,.quiz-ai-exchange-actions a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:7px 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1);color:var(--accent-text);font-size:12px;font-weight:750;text-decoration:none}.quiz-ai-exchange-actions button:disabled{opacity:.45}.quiz-ai-json{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;font-size:12px!important}.quiz-ai-status{min-height:40px;margin:10px 0 0;padding:9px 10px;border-radius:7px;color:var(--text-muted);font-size:11.5px;line-height:1.4}.quiz-ai-status.success{border:1px solid #A9D8BE;background:#EAF7F0;color:#176B3A}.quiz-ai-status.error{border:1px solid #E9B4AD;background:#FFF0EE;color:#A33A2B}
.quiz-ai-preview{background:color-mix(in srgb,var(--surface-2) 60%,var(--surface-1))}.quiz-ai-empty{display:grid;place-items:center;min-height:330px;padding:30px;border:1px dashed var(--border-strong);border-radius:10px;background:var(--surface-1);text-align:center}.quiz-ai-empty i{color:#7257D7;font-size:35px}.quiz-ai-empty b{margin-top:10px;font-size:15px}.quiz-ai-empty span{max-width:310px;color:var(--text-muted);font-size:12px;line-height:1.5}.quiz-ai-preview-card{padding:17px;border:1px solid var(--border-strong);border-top:4px solid #7257D7;border-radius:10px;background:var(--surface-1);box-shadow:0 10px 28px rgba(38,45,66,.08)}.quiz-ai-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.quiz-ai-preview-head span,.quiz-ai-preview-head em{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-style:normal;font-weight:850;text-transform:uppercase}.quiz-ai-preview-head span{background:#FFF0D4;color:#8A5700}.quiz-ai-preview-head em{background:var(--accent-bg);color:var(--accent-text)}.quiz-ai-preview-card h3{margin:16px 0 13px;font-size:16px;line-height:1.45}.quiz-ai-preview-card ol{display:grid;gap:7px;margin:0;padding:0;list-style:none;counter-reset:quiz-ai-option}.quiz-ai-preview-card li{counter-increment:quiz-ai-option;display:grid;grid-template-columns:30px minmax(0,1fr) 20px;align-items:center;gap:8px;min-height:46px;padding:8px 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);font-size:12px;line-height:1.4}.quiz-ai-preview-card li:before{content:counter(quiz-ai-option,upper-alpha);display:grid;place-items:center;width:27px;height:27px;border-radius:6px;background:var(--surface-1);font-weight:900}.quiz-ai-preview-card li.correct{border-color:#73BE97;background:#EAF7F0;color:#176B3A}.quiz-ai-preview-card li.correct:before{background:#176B3A;color:#fff}.quiz-ai-preview-card li>i{font-size:17px}.quiz-ai-explanation{margin-top:14px;padding:11px;border-left:4px solid #2C91D8;background:var(--accent-bg)}.quiz-ai-explanation b{font-size:11px}.quiz-ai-explanation p{margin:5px 0 0;color:var(--text-secondary);font-size:11.5px;line-height:1.5}.quiz-ai-objective-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.quiz-ai-objective-chips span{padding:5px 8px;border:1px solid var(--accent-border);border-radius:999px;background:var(--surface-1);color:var(--accent-text);font-size:10px;font-weight:800}.quiz-ai-safety{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px;margin-top:13px;padding:11px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1)}.quiz-ai-safety>i{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:#EAF7F0;color:#176B3A;font-size:19px}.quiz-ai-safety b,.quiz-ai-safety span{display:block}.quiz-ai-safety b{margin-bottom:2px;font-size:11px}.quiz-ai-safety span{color:var(--text-muted);font-size:10.5px;line-height:1.45}
@media(max-width:1200px){.quiz-ai-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-ai-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-ai-preview{grid-column:1/-1;border-top:1px solid var(--border)}.quiz-ai-step:nth-child(2){border-right:0}}
@media(max-width:760px){.quiz-ai-intro{align-items:flex-start;flex-direction:column}.quiz-ai-type-gate{padding:18px}.quiz-ai-type-grid{grid-template-columns:minmax(0,1fr)}.quiz-ai-selected-type{align-items:flex-start;flex-direction:column}.quiz-ai-grid{grid-template-columns:minmax(0,1fr)}.quiz-ai-step{border-right:0;border-bottom:1px solid var(--border)}.quiz-ai-preview{grid-column:auto}.quiz-ai-exchange-actions{align-items:stretch;flex-direction:column}.quiz-ai-exchange-actions>*{width:100%}}
.quiz-cards-panel{display:flex;flex-direction:column;gap:.35rem;max-height:720px;overflow:auto;padding-right:.25rem}
.question-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;align-items:center;border:1px solid var(--border);background:var(--surface-1);border-radius:10px;padding:.35rem}
.question-list-row.inactive{opacity:.62}
.question-list-main{border:0;background:transparent;padding:.35rem .45rem;text-align:left;display:flex;align-items:center;gap:.65rem;min-width:0}
.question-list-main:hover{background:var(--surface-2)}
.q-list-num{width:30px;height:30px;border-radius:9px;background:var(--accent-bg);color:var(--accent-text);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0}
.q-list-text{display:flex;flex-direction:column;gap:.05rem;min-width:0}
.q-list-text strong{font-size:13px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.q-list-text em{font-style:normal;font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.question-list-actions{display:flex;gap:.25rem}
.question-list-actions button{height:32px;width:34px;padding:0;justify-content:center;border-radius:9px}
.quiz-question-panel{width:min(1180px,calc(100vw - 40px));max-width:1180px;resize:both}
.quiz-question-panel .ed-rich-input{min-height:180px}
.quiz-question-panel .ed-rich-toolbar{position:relative}
.rich-image{display:block;height:auto;max-width:100%;margin:.7rem auto;border-radius:6px}
.ed-rich-field{position:relative}
.ed-rich-input .rich-svg-image{position:relative;cursor:grab;touch-action:none;user-select:none;transition:outline-color .15s,box-shadow .15s}
.ed-rich-input .rich-svg-image:active{cursor:grabbing}
.ed-rich-input .rich-svg-image.ed-rich-svg-selected{outline:2px solid var(--accent);outline-offset:3px;box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 12%,transparent)}
.ed-rich-svg-transform-overlay{position:absolute;z-index:18;box-sizing:border-box;border:1px dashed color-mix(in srgb,var(--accent) 74%,#fff);pointer-events:none}
.ed-rich-svg-transform-overlay[hidden]{display:none}
.ed-rich-svg-transform-actions{position:absolute;left:0;top:-42px;display:flex;max-width:min(920px,calc(100vw - 64px));align-items:center;flex-wrap:wrap;gap:3px;min-height:34px;padding:3px;border:1px solid var(--accent-border);border-radius:9px;background:var(--surface-1);box-shadow:0 8px 22px rgba(9,43,73,.16);pointer-events:auto;white-space:nowrap}
.ed-rich-svg-transform-actions>span{display:inline-flex;align-items:center;gap:5px;padding:0 6px;color:var(--accent-text);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.ed-rich-svg-transform-actions button{display:grid!important;place-items:center;width:27px!important;min-width:27px!important;height:27px!important;min-height:27px!important;padding:0!important;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--text-primary);cursor:pointer}
.ed-rich-svg-transform-actions button:hover,.ed-rich-svg-transform-actions button:focus-visible{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text);outline:0}
.ed-rich-svg-transform-actions output{min-width:32px;color:var(--text-secondary);font-size:10px;font-weight:800;text-align:center}
.ed-rich-svg-transform-actions .ed-rich-svg-control-divider{width:1px;height:22px;margin:0 3px;padding:0;background:var(--border);font-size:0}
.ed-rich-svg-color-control{position:relative;display:inline-flex;align-items:center;justify-content:center;width:29px;height:27px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--text-primary);cursor:pointer;overflow:hidden}
.ed-rich-svg-color-control i{position:absolute;left:3px;top:3px;z-index:1;padding:2px;border-radius:4px;background:color-mix(in srgb,var(--surface-1) 82%,transparent);font-size:11px;pointer-events:none}
.ed-rich-svg-color-control input{width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}
.ed-rich-svg-opacity-control{display:inline-flex;align-items:center;gap:4px;height:27px;padding:0 5px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--text-primary)}
.ed-rich-svg-opacity-control i{font-size:13px}.ed-rich-svg-opacity-control input{width:70px;accent-color:var(--accent);cursor:pointer}.ed-rich-svg-opacity-control output{min-width:31px}
.ed-rich-svg-transform-actions .ed-rich-svg-delete{border-color:color-mix(in srgb,var(--danger-text) 38%,var(--border));color:var(--danger-text)}
.ed-rich-svg-transform-actions .ed-rich-svg-delete:hover,.ed-rich-svg-transform-actions .ed-rich-svg-delete:focus-visible{border-color:var(--danger-text);background:var(--danger-bg);color:var(--danger-text)}
.ed-rich-svg-transform-handle{position:absolute!important;z-index:2;display:grid!important;place-items:center;width:31px!important;min-width:31px!important;height:31px!important;min-height:31px!important;padding:0!important;border:2px solid #fff!important;border-radius:50%!important;background:var(--accent)!important;color:#fff!important;box-shadow:0 4px 12px rgba(9,43,73,.28);pointer-events:auto}
.ed-rich-svg-transform-handle i{font-size:15px}
.ed-rich-svg-transform-rotate{top:-17px;right:-17px;cursor:grab}
.ed-rich-svg-transform-scale{right:-17px;bottom:-17px;cursor:nwse-resize}
@media(max-width:760px){.ed-rich-svg-transform-actions{max-width:min(520px,calc(100vw - 32px));flex-wrap:nowrap;overflow-x:auto}.ed-rich-svg-transform-actions>span{display:none}.ed-rich-svg-opacity-control input{width:52px}}
.ed-rich-image-group{display:inline-flex;align-items:center;gap:4px}
.ed-rich-image-input{min-width:220px}
.question-modal-nav{display:flex;align-items:center;gap:.45rem}
.question-modal-nav button{height:34px;padding:0 10px;border-radius:9px}
.question-modal-nav .icon-btn{width:38px;height:38px;padding:0}
.question-modal-title{display:grid;gap:2px}.question-modal-title>span{color:var(--text-muted);font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.question-modal-title h2{margin:0}.question-type-confirmation{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px;margin-bottom:14px;padding:11px 13px;border:1px solid var(--accent-border);border-radius:11px;background:linear-gradient(110deg,var(--accent-bg),var(--surface-1))}.question-type-confirmation>i{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:var(--accent);color:#fff;font-size:18px}.question-type-confirmation small,.question-type-confirmation strong,.question-type-confirmation span{display:block}.question-type-confirmation small{color:var(--text-muted);font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.question-type-confirmation strong{margin-top:1px;font-size:14px}.question-type-confirmation span{margin-top:2px;color:var(--text-secondary);font-size:11px}
.question-attempt-analytics{margin:0 0 14px;padding:13px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(115deg,color-mix(in srgb,var(--accent) 6%,var(--surface-1)),var(--surface-1))}.question-analytics-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.question-analytics-head>span{display:flex;align-items:center;gap:7px}.question-analytics-head>span>i{color:var(--accent);font-size:18px}.question-analytics-head b{font-size:13px}.question-analytics-head small{color:var(--text-muted);font-size:10.5px}.question-analytics-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--surface-1)}.question-analytics-metrics article{display:flex;min-width:0;flex-direction:column;gap:2px;padding:10px 11px;border-right:1px solid var(--border)}.question-analytics-metrics article:last-child{border-right:0}.question-analytics-metrics strong{color:var(--accent-text);font-size:18px;line-height:1.1}.question-analytics-metrics span{color:var(--text-muted);font-size:9.5px;font-weight:750;line-height:1.25}.question-analytics-metrics article.good strong{color:var(--success-text)}.question-analytics-metrics article.bad strong{color:var(--danger-text)}.question-analytics-loading,.question-analytics-empty{display:flex;align-items:center;gap:10px;min-height:48px;color:var(--text-muted);font-size:11px}.question-analytics-loading i{color:var(--accent);font-size:18px;animation:spin 1s linear infinite}.question-analytics-empty>i{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:9px;background:var(--surface-2);color:var(--accent);font-size:18px}.question-analytics-empty span,.question-analytics-empty b,.question-analytics-empty small{display:block}.question-analytics-empty b{color:var(--text-primary);font-size:12px}.question-analytics-empty small{margin-top:2px;color:var(--text-muted);font-size:10.5px;line-height:1.4}.question-analytics-empty.error>i{background:var(--danger-bg);color:var(--danger-text)}
.question-stem{display:flex;flex-direction:column;gap:.25rem;color:var(--text-secondary);font-size:12px;font-weight:700}
.question-stem textarea,.question-options input,.question-meta input,.question-meta select{border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-2);color:var(--text-primary);font:inherit;padding:8px 9px}
.question-stem textarea{resize:vertical;line-height:1.45}
.question-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem}
.modal-question-options{grid-template-columns:repeat(5,minmax(0,1fr))}
.quiz-question-panel .modal-question-options{grid-template-columns:1fr;gap:.5rem}
.quiz-question-panel .question-option-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:.55rem}.quiz-question-panel .question-option-row>span{height:38px;border-radius:9px;background:var(--accent-bg);color:var(--accent-text);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:850}
.quiz-question-panel .question-correct-toggle{display:block;cursor:pointer}.quiz-question-panel .question-correct-toggle input{position:absolute;opacity:0;pointer-events:none}.quiz-question-panel .question-correct-toggle span{display:flex;align-items:center;justify-content:center;gap:5px;min-width:92px;height:38px;padding:0 10px;border:1px solid var(--danger-text);border-radius:9px;background:var(--danger-bg);color:var(--danger-text);font-size:11px;font-weight:800;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.quiz-question-panel .question-correct-toggle span b{font:inherit}.quiz-question-panel .question-correct-toggle .state-on{display:none}.quiz-question-panel .question-correct-toggle input:checked+span{border-color:var(--success-text);background:var(--success-bg);color:var(--success-text)}.quiz-question-panel .question-correct-toggle input:checked+span .state-off{display:none}.quiz-question-panel .question-correct-toggle input:checked+span .state-on{display:inline}.quiz-question-panel .question-correct-toggle input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}
.quiz-question-panel .modal-question-options input{width:100%;min-width:0}
.question-stem small,.question-meta small{font-weight:500;color:var(--text-muted);margin-left:.35rem}
.question-options label{display:flex;flex-direction:column;gap:.2rem;color:var(--text-secondary);font-size:12px;font-weight:700}
.question-meta{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:.55rem}
.question-meta label{display:flex;flex-direction:column;gap:.25rem;color:var(--text-secondary);font-size:12px;font-weight:700}
.q-difficulty{display:inline-flex;align-items:center;border-radius:999px;padding:1px 7px;margin-right:4px;font-style:normal;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.q-difficulty.easy{background:var(--success-bg);color:var(--success-text)}
.q-difficulty.medium{background:var(--warning-bg);color:var(--warning-text)}
.q-difficulty.hard{background:var(--danger-bg);color:var(--danger-text)}
.quiz-weight-panel{grid-column:1/-1;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);padding:.65rem .75rem}
.quiz-weight-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.45rem;color:var(--text-secondary);font-size:12px;font-weight:700}
.quiz-weight-head strong{color:var(--success-text)}
.quiz-weight-head strong.invalid{color:var(--danger-text)}
.quiz-weight-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.quiz-weight-fields label.disabled{opacity:.42}
.online-quiz-box{margin-bottom:1rem}
.student-quiz-list-surface{position:relative;overflow:hidden;margin:-1rem;padding:1rem;border-radius:inherit;background:linear-gradient(145deg,color-mix(in srgb,var(--accent-bg) 48%,var(--surface-1)),color-mix(in srgb,#dff4ed 26%,var(--surface-1)) 55%,var(--surface-1));isolation:isolate}
.student-quiz-list-surface:before{content:"";position:absolute;z-index:-1;width:280px;height:280px;right:-115px;top:-155px;border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);border-radius:50%;box-shadow:0 0 0 46px color-mix(in srgb,var(--accent) 4%,transparent),0 0 0 94px color-mix(in srgb,var(--accent) 3%,transparent)}
.student-quiz-list-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.student-quiz-list-heading>i{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:var(--accent);color:#fff;font-size:22px;box-shadow:0 9px 24px color-mix(in srgb,var(--accent) 24%,transparent)}
.student-quiz-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem;margin:.75rem 0}
.student-quiz-card{position:relative;display:flex;flex-direction:column;align-items:stretch;min-height:210px;padding:.85rem;text-align:left;border:1px solid var(--border);border-left-width:5px;border-radius:14px;background:color-mix(in srgb,var(--surface-2) 96%,transparent);color:var(--text-primary);box-shadow:0 8px 22px color-mix(in srgb,var(--text-primary) 5%,transparent);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}
.student-quiz-card:hover{transform:translateY(-2px);border-color:var(--accent-border);box-shadow:0 13px 30px color-mix(in srgb,var(--text-primary) 9%,transparent)}
.student-quiz-card.selected{border-color:var(--accent);background:var(--surface-1);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,transparent),0 14px 32px color-mix(in srgb,var(--accent) 12%,transparent)}
.student-quiz-card.status-active{border-left-color:#159a68}.student-quiz-card.status-upcoming{border-left-color:#d29113}.student-quiz-card.status-scheduled{border-left-color:var(--accent)}.student-quiz-card.status-closed,.student-quiz-card.status-passive{border-left-color:var(--border-strong)}
.student-quiz-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.7rem}.student-quiz-card-top>i{font-size:22px;color:var(--accent-text)}
.student-quiz-card>strong{font-size:16px;line-height:1.3}.student-quiz-card-meta{margin-top:.28rem;color:var(--text-secondary);font-size:12px}.student-quiz-card-window{display:flex;align-items:flex-start;gap:.35rem;margin-top:.55rem;color:var(--text-muted);font-size:11px;line-height:1.4}.student-quiz-card-window i{margin-top:1px;color:var(--accent-text)}
.student-quiz-card-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:.55rem;margin-top:auto;padding-top:.8rem;border-top:1px solid var(--border)}
.student-quiz-card-result{display:flex;flex-direction:column;gap:1px}.student-quiz-card-result b{color:var(--accent-text);font-size:14px}.student-quiz-card-result small{color:var(--text-muted);font-size:9px}.student-quiz-card-result.excellent b,.student-quiz-card-result.strong b{color:var(--success-text)}.student-quiz-card-result.developing b,.student-quiz-card-result.reflection b{color:var(--warning-text)}.student-quiz-card-result.review b{color:var(--danger-text)}
.student-quiz-card-open{display:inline-flex;align-items:center;gap:.2rem;color:var(--accent-text);font-size:11px;font-weight:800}.student-quiz-card.selected .student-quiz-card-open i{transform:rotate(180deg)}
.student-quiz-selected-detail{margin-top:.85rem;padding:.75rem;border:1px solid var(--accent-border);border-radius:16px;background:color-mix(in srgb,var(--surface-1) 96%,transparent);box-shadow:0 16px 36px color-mix(in srgb,var(--text-primary) 6%,transparent)}
.student-quiz-selected-detail .online-quiz-run{margin:.45rem 0 0;box-shadow:none}.student-quiz-detail-label{display:flex;align-items:center;gap:.35rem;color:var(--accent-text);font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.student-quiz-expanded-list{margin-top:.65rem}
.online-quiz-run{position:relative;overflow:hidden;border:1px solid var(--border);border-left-width:5px;border-radius:14px;background:var(--surface-2);padding:1rem;margin:.75rem 0;box-shadow:0 7px 20px color-mix(in srgb,var(--text-primary) 5%,transparent)}
.online-quiz-run.status-active{border-left-color:#159a68;background:linear-gradient(100deg,color-mix(in srgb,#1aa36f 6%,var(--surface-2)),var(--surface-2) 36%)}
.online-quiz-run.status-upcoming{border-left-color:#d29113;background:linear-gradient(100deg,color-mix(in srgb,#e5a21b 7%,var(--surface-2)),var(--surface-2) 36%)}
.online-quiz-run.status-scheduled{border-left-color:var(--accent)}
.online-quiz-run.status-closed,.online-quiz-run.status-passive{border-left-color:var(--border-strong);box-shadow:none}
.online-quiz-opening{margin:.55rem 0;color:var(--text-primary);line-height:1.55}
.online-quiz-outcome{display:grid;grid-template-columns:minmax(120px,.72fr) minmax(180px,1.28fr);gap:.75rem;position:relative;overflow:hidden;margin:.75rem 0;padding:.65rem .75rem .8rem;border:1px solid var(--border);border-radius:11px;background:var(--surface-1)}
.online-quiz-outcome span{display:flex;flex-direction:column;gap:.08rem}.online-quiz-outcome small{color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.online-quiz-outcome strong{font-size:14px;color:var(--text-primary)}
.online-quiz-outcome>i{position:absolute;inset:auto 0 0;height:5px;background:linear-gradient(90deg,var(--accent) var(--quiz-score),var(--surface-2) var(--quiz-score));content:""}
.online-quiz-outcome.excellent,.online-quiz-outcome.strong{border-color:color-mix(in srgb,#16966a 28%,var(--border))}.online-quiz-outcome.excellent>i,.online-quiz-outcome.strong>i{background:linear-gradient(90deg,#159a68 var(--quiz-score),var(--surface-2) var(--quiz-score))}
.online-quiz-outcome.developing{border-color:color-mix(in srgb,#d29113 30%,var(--border))}.online-quiz-outcome.developing>i{background:linear-gradient(90deg,#d29113 var(--quiz-score),var(--surface-2) var(--quiz-score))}
.online-quiz-outcome.review{border-color:color-mix(in srgb,#bd4b43 25%,var(--border))}.online-quiz-outcome.review>i{background:linear-gradient(90deg,#bd4b43 var(--quiz-score),var(--surface-2) var(--quiz-score))}
.quiz-attempt-counter{position:sticky;top:72px;z-index:4;display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:center;gap:12px;margin:12px 0 16px;padding:11px 14px 14px;border:1px solid var(--accent-border);border-radius:14px;background:color-mix(in srgb,var(--surface-1) 94%,var(--accent-bg));box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 12%,transparent);backdrop-filter:blur(12px)}
.quiz-attempt-position{display:flex;align-items:center;gap:10px}.quiz-attempt-position>i{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--accent);color:#fff;font-size:21px}.quiz-attempt-position span,.quiz-attempt-metrics span{display:flex;flex-direction:column}.quiz-attempt-position small,.quiz-attempt-metrics small{color:var(--text-muted);font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.quiz-attempt-position strong{margin-top:1px;color:var(--text-primary);font-size:18px}
.quiz-attempt-metrics{display:flex;align-items:center;gap:0}.quiz-attempt-metrics span{min-width:92px;padding:1px 14px;border-left:1px solid var(--border)}.quiz-attempt-metrics strong{margin-top:1px;color:var(--accent-text);font-size:18px}
.quiz-attempt-metrics .quiz-attempt-time{min-width:116px}.quiz-attempt-time strong{font-variant-numeric:tabular-nums;color:var(--accent);letter-spacing:.02em}.quiz-attempt-time.quiz-timer-warn strong,.quiz-attempt-time.quiz-timer-warn small{color:var(--warning-text)}
.quiz-attempt-progress{grid-column:1/-1;height:7px;overflow:hidden;border-radius:999px;background:var(--surface-2)}.quiz-attempt-progress>i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#24a57a);transition:width .22s ease}
.quiz-student-preview-modal .quiz-attempt-counter{top:10px}
.online-question{margin:.75rem 0}
.online-option{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:11px 13px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface-2);cursor:pointer;transition:border-color .16s,background .16s,box-shadow .16s}
.online-option:hover{background:var(--surface-1);border-color:var(--accent-border)}
.online-option-input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}
.online-option .qopt-key{display:grid;place-items:center;flex:0 0 38px;height:38px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-1);color:var(--text-secondary);font-weight:800}
.online-option-text{min-width:0;line-height:1.45}
.online-option.selected,.online-option:has(.online-option-input:checked){border-color:var(--accent);background:var(--accent-bg);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}
.online-option.selected .qopt-key,.online-option:has(.online-option-input:checked) .qopt-key{border-color:var(--accent);background:var(--accent);color:#fff}
.online-option:focus-within{outline:3px solid color-mix(in srgb,var(--accent) 28%,transparent);outline-offset:2px}
.online-quiz-pager{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.8rem 0;padding:.7rem .8rem;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}
.online-question-progress{display:flex;flex-direction:column;gap:.15rem;color:var(--text-secondary)}
.online-question-progress strong{color:var(--text-primary)}
.online-question-progress span{font-size:12px;color:var(--accent-text)}
.online-pager-actions{display:flex;align-items:center;gap:.5rem}
.online-submit-row{margin-top:.8rem}
.online-attempt-row{border-top:1px solid var(--border);padding:.65rem 0;color:var(--text-secondary);font-size:13px}
.online-attempt-row:first-child{border-top:0}
.online-attempt-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.7rem}
.online-attempt-row>span:first-child{display:flex;flex-direction:column;gap:.08rem}.online-attempt-row>span:first-child small{color:var(--text-muted);font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.online-attempt-row .attempt-performance{align-self:start;padding:.25rem .48rem;border-radius:999px;background:var(--surface-1);font-size:11px}.online-attempt-row .attempt-performance.excellent,.online-attempt-row .attempt-performance.strong{background:var(--success-bg);color:var(--success-text)}.online-attempt-row .attempt-performance.developing{background:var(--warning-bg);color:var(--warning-text)}.online-attempt-row .attempt-performance.review{background:var(--danger-bg);color:var(--danger-text)}
.online-attempt-row p{grid-column:1/-1;margin:.2rem 0 0;color:var(--accent-text)}
.online-history-title{font-size:14px;margin:1rem 0 .2rem}
.reflection-feedback{margin-top:.8rem;color:var(--accent-text)}
.feedback-item{display:grid;gap:.55rem;border-bottom:1px solid var(--border);padding:.75rem 0}
.feedback-item:last-child{border-bottom:0}
.feedback-item span{display:block;color:var(--text-secondary);font-size:12px;margin-top:.15rem}
.feedback-item textarea{width:100%;padding:9px 10px;resize:vertical}
.feedback-item button{justify-self:start}
.reflection-answer-list{display:grid;gap:7px;margin:8px 0 11px}
.reflection-review-answer{display:grid;grid-template-columns:minmax(110px,145px) minmax(0,1fr);gap:10px;margin:0;padding:8px 10px;border-left:3px solid var(--accent);background:var(--surface-1);border-radius:0 var(--radius) var(--radius) 0;font-size:13px;line-height:1.5}
.reflection-review-answer b{color:var(--text-secondary)}.reflection-review-answer span{min-width:0;color:var(--text-primary)}
@media(max-width:560px){.reflection-review-answer{grid-template-columns:1fr;gap:2px}}
.feedback-note{margin:.1rem 0;color:var(--text-secondary);line-height:1.55}
.unavailable-week{max-width:720px;margin:2rem auto}
@media (max-width:1000px){
  .admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-two,.admin-form,.quiz-admin-grid,.quiz-runs-layout{grid-template-columns:1fr}
  .admin-user{grid-template-columns:1fr}
  .admin-user-edit,.question-options,.question-meta{grid-template-columns:1fr}
  .quiz-editor-head{align-items:stretch;flex-direction:column}
  .quiz-manager-head{align-items:stretch;flex-direction:column}
  .quiz-manager-head select{min-width:0;width:100%}
  .quiz-settings-grid,.week-part-grid,.quiz-weight-fields{grid-template-columns:1fr}
}
@media (max-width:1180px){
  .quiz-attempt-overview{grid-template-columns:repeat(3,minmax(0,1fr))}
  .quiz-attempt-controls{grid-template-columns:minmax(220px,1.3fr) minmax(150px,.7fr) minmax(170px,.8fr)}
  .quiz-attempt-view-switch{grid-column:2/4;justify-content:flex-end}
  .quiz-student-result{grid-template-columns:minmax(170px,1fr) minmax(145px,.8fr) auto}.quiz-student-result .attempt-time{grid-column:2}.quiz-student-result .attempt-result-actions{grid-column:3;grid-row:1/3}
}
@media (max-width:700px){
  .quiz-list-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-list-toolbar-label{grid-column:1/-1}.quiz-list-filter{justify-content:flex-start}.quiz-list-filter b{margin-left:auto}
  .student-quiz-list-toolbar .quiz-list-toolbar-spacer{display:none}.student-quiz-list-toolbar .quiz-list-view-button{justify-content:center}.student-quiz-card-grid{grid-template-columns:1fr}.student-quiz-list-heading>i{display:none}.student-quiz-selected-detail{padding:.5rem}
  .online-quiz-outcome{grid-template-columns:1fr}.quiz-head-top{align-items:flex-start;flex-direction:column}.online-attempt-row{grid-template-columns:1fr}.online-attempt-row .attempt-performance{justify-self:start}.online-attempt-row p{grid-column:1}
  .quiz-attempt-counter{top:66px;grid-template-columns:1fr;padding:10px 12px 12px}.quiz-attempt-metrics{justify-content:stretch}.quiz-attempt-metrics span{flex:1;min-width:0}.quiz-attempt-metrics span:first-child{padding-left:0;border-left:0}.quiz-student-preview-modal .quiz-attempt-counter{top:8px}
  .online-quiz-pager{align-items:stretch;flex-direction:column}
  .online-pager-actions{display:grid;grid-template-columns:1fr 1fr}
  .online-pager-actions button{justify-content:center;width:100%}
  .quiz-manager-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .quiz-manager-tabs button{justify-content:center;padding:0 8px}
  .question-analytics-head{align-items:flex-start;flex-direction:column}
  .question-analytics-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .question-analytics-metrics article:nth-child(3){border-right:0}
  .question-analytics-metrics article:nth-child(-n+3){border-bottom:1px solid var(--border)}
  .quiz-workspace-head{align-items:stretch;flex-direction:column}
  .quiz-workspace-head>button{align-self:flex-start}
  .quiz-run-detail-head{flex-direction:column}
  .quiz-run-facts{grid-template-columns:1fr}
  .quiz-run-facts>div:first-child{grid-column:auto}
  .quiz-attempt-row{grid-template-columns:minmax(0,1fr) auto}
  .attempt-time{grid-column:1/-1}
  .attempt-result-actions{align-items:flex-end}
  .attempt-feedback{grid-template-columns:1fr}
  .attempt-feedback button{justify-self:start}
  .quiz-attempt-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.quiz-attempt-overview button{padding:.6rem}.quiz-attempt-overview button>small{display:none}
  .quiz-attempt-directory>summary{padding:.7rem}.quiz-attempt-directory>summary small{white-space:nowrap;max-width:210px;overflow:hidden;text-overflow:ellipsis}
  .quiz-attempt-controls{grid-template-columns:1fr}.quiz-attempt-view-switch{grid-column:auto;justify-content:stretch}.quiz-attempt-view-switch button{flex:1}
  .quiz-student-result{grid-template-columns:minmax(0,1fr) auto}.quiz-student-result .quiz-attempt-record-meta,.quiz-student-result .attempt-time{grid-column:1/-1}.quiz-student-result .attempt-result-actions{grid-column:2;grid-row:1;align-items:flex-end}
  .quiz-attempt-directory-results.view-cards{grid-template-columns:1fr}
  .quiz-attempt-pager{justify-content:space-between}.quiz-attempt-pager button{font-size:0}.quiz-attempt-pager button i{font-size:16px}
  .quiz-run-modal{padding:8px}
  .quiz-run-modal-panel{max-height:96vh}
}
.nav-toggle{display:none}
.zoom-ctl{display:flex;align-items:center;gap:3px}
.zoom-label{font-size:12px;color:var(--text-secondary);min-width:40px;text-align:center}
.appearance{position:relative}
.appr-panel{position:absolute;right:0;top:46px;width:250px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:12px;padding:14px;box-shadow:0 10px 34px rgba(0,0,0,.16);z-index:30}
.appr-panel[hidden]{display:none}
.appr-group{margin-bottom:14px}
.appr-group:last-child{margin-bottom:0}
.appr-label{font-size:11px;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}
.appr-themes{display:flex;gap:10px;flex-wrap:wrap}
.theme-swatch{width:34px;height:34px;border-radius:50%;border:2px solid var(--border-strong);cursor:pointer;padding:0}
.theme-swatch.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.appr-row{display:flex;gap:6px}
.appr-opt{flex:1;padding:7px 4px;font-size:13px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2);cursor:pointer;color:var(--text-primary)}
.appr-opt.active{background:var(--accent-bg);color:var(--accent-text);border-color:var(--accent-border);font-weight:500}
.theory-fig{margin:1.1rem 0 .4rem;background:var(--surface-1);border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem;cursor:zoom-in;position:relative}
.theory-fig svg{width:100%;height:auto;display:block}
.theory-fig figcaption{font-size:13px;color:var(--text-secondary);margin-top:.7rem;line-height:1.6}
.fig-zoom-hint{position:absolute;top:9px;right:11px;font-size:11px;color:var(--text-muted);display:inline-flex;align-items:center;gap:4px}
.fig-modal{position:fixed;inset:0;background:rgba(0,0,0,.62);display:flex;align-items:center;justify-content:center;z-index:60;padding:2rem}
.fig-modal[hidden]{display:none}
.fig-modal-inner{background:var(--surface-2);border-radius:14px;padding:1.6rem;max-width:1100px;width:100%;max-height:90vh;overflow:auto;position:relative}
.fig-modal-inner svg{width:100%;height:auto}
.fig-modal-close{position:absolute;top:12px;right:12px;z-index:1}

main{max-width:1120px;width:100%;margin:0;padding:1.6rem 1.5rem 3rem}
.foot{max-width:1120px;margin:0;width:100%;padding:1rem 1.5rem 2rem;color:var(--text-muted);font-size:12px;border-top:1px solid var(--border)}

.chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--text-secondary)}
.chip{padding:3px 10px;border-radius:var(--radius);background:var(--surface-1);border:1px solid var(--border)}
.chip-accent{background:var(--accent-bg);color:var(--accent-text);border-color:var(--accent-border);font-weight:500}
.lead{color:var(--text-secondary);line-height:1.7;margin:.2rem 0 0}
.lead.sm{margin:.2rem 0 1rem;font-size:15px}

.listen-card{margin:.35rem 0 1.1rem;border:1px solid var(--accent-border);border-radius:8px;background:var(--surface-1);overflow:hidden}
[data-study-mode] .listen-card{border-color:var(--accent-border);box-shadow:inset 4px 0 0 var(--accent)}
.listen-toggle{display:flex;width:100%;min-height:48px;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px;border:0;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-bg) 72%,var(--surface-2)),var(--surface-2));color:var(--text-primary);font:inherit;cursor:pointer;text-align:left}
.listen-toggle:hover{background:color-mix(in srgb,var(--accent-bg) 88%,var(--surface-2))}
.listen-toggle-main,.listen-toggle-summary{display:flex;align-items:center;gap:8px;min-width:0}
.listen-icon{width:32px;height:32px;border-radius:7px;background:var(--surface-2);border:1px solid var(--border);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.listen-title{font-weight:700;color:var(--text-primary);line-height:1.2}
.listen-duration{font-size:12px;color:var(--text-muted);white-space:nowrap}
.listen-toggle-state{min-width:24px;color:var(--text-muted);font-size:11px;font-weight:800;text-transform:uppercase}
.listen-switch{position:relative;width:32px;height:18px;flex:0 0 32px;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface-2);transition:background .16s,border-color .16s}
.listen-switch span{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--text-muted);transition:transform .16s,background .16s}
.listen-toggle[aria-expanded="true"] .listen-switch{border-color:var(--accent);background:var(--accent)}
.listen-toggle[aria-expanded="true"] .listen-switch span{background:#fff;transform:translateX(14px)}
.listen-toggle[aria-expanded="true"] .listen-toggle-state{color:var(--accent-text)}
.listen-toggle-chevron{color:var(--text-muted);transition:transform .16s}
.listen-toggle[aria-expanded="true"] .listen-toggle-chevron{transform:rotate(180deg)}
.listen-player{padding:8px 10px 10px;border-top:1px solid var(--border);background:var(--surface-2)}
.listen-player[hidden]{display:none}
.listen-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.listen-controls[hidden],.listen-audio[hidden]{display:none}
.listen-audio{display:flex;align-items:center;gap:8px;justify-content:flex-start;flex-wrap:wrap;width:100%}
.listen-audio audio{display:none}
.listen-ai-note{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-muted);white-space:nowrap}
.listen-meter{flex:1 1 220px;min-width:180px}
.listen-seek{width:100%;accent-color:var(--accent);cursor:pointer}
.listen-progress{height:8px;border-radius:999px;background:var(--surface-1);border:1px solid var(--border);overflow:hidden}
.listen-progress span{display:block;height:100%;width:0;background:var(--accent);transition:width .25s linear}
.listen-time{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:2px;font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums}
.listen-meter-tts{flex-basis:190px}
.listen-btn{height:32px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2);color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 9px;font:inherit;font-size:13px;cursor:pointer}
.listen-btn:hover{background:var(--surface-1);border-color:var(--accent-border)}
.listen-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}
.listen-btn[disabled]{opacity:.52;cursor:not-allowed;background:var(--surface-1);color:var(--text-muted)}
.listen-rate{height:32px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-2);color:var(--text-primary);padding:0 7px;font:inherit;font-size:12px}
.listen-voice{max-width:190px}

.card{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem;margin:1rem 0}
.card-title{font-weight:500;margin-bottom:.5rem;display:flex;align-items:center;gap:8px}
.card ul{margin:0;padding-left:1.2rem;line-height:1.8;color:var(--text-secondary)}

.week-nav{margin-top:1.5rem}
.week-nav-label{display:flex;align-items:center;gap:6px;margin:0 0 6px 2px;color:var(--text-muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.week-nav-label .ti{font-size:15px;color:var(--accent)}
.tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:4px;margin-top:0;padding:6px;border:1px solid var(--border-strong);border-radius:8px;background-color:var(--surface-2);background-image:linear-gradient(90deg,rgba(55,138,221,.035) 1px,transparent 1px),linear-gradient(rgba(55,138,221,.035) 1px,transparent 1px);background-size:24px 24px;overflow:visible;box-shadow:inset 0 1px 0 rgba(255,255,255,.42)}
.tabs::-webkit-scrollbar{display:none}
.tab{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;width:100%;min-width:0;min-height:44px;padding:9px 10px;font-size:14px;font-weight:600;line-height:1.25;border:0;border-radius:5px;background:rgba(255,255,255,.18);color:var(--text-secondary);white-space:normal;overflow-wrap:anywhere;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}
.tab i{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;flex:0 0 27px;border-radius:5px;font-size:17px;color:var(--tab-color,var(--accent));background:var(--tab-wash,var(--accent-bg))}
.tab:hover{background:var(--surface-1);color:var(--text-primary);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.tab.active{background:var(--accent);color:#fff;font-weight:700;box-shadow:0 2px 7px rgba(0,0,0,.18)}
.tab.active i{color:#fff;background:rgba(255,255,255,.16)}
.tab.active:hover{background:var(--accent);color:#fff}
.tab-panel{display:none}
.tab-panel.active{display:block;padding-top:1.6rem;animation:panelIn .28s cubic-bezier(.2,.7,.3,1)}
@keyframes panelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.seclabel{display:flex;align-items:center;gap:10px;margin:2.2rem 0 .8rem}
.secnum{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--accent-bg);color:var(--accent-text);font-size:13px;font-weight:500;flex-shrink:0}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.fcell{background:var(--surface-1);border-radius:var(--radius);padding:.7rem .85rem}
.fcell-t{font-weight:500}
.fcell-d{font-size:13px;color:var(--text-secondary);margin-top:3px}

.topic-flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:1.15rem 0 1.45rem}
.topic-step{position:relative;overflow:hidden;background:var(--surface-2);border:1px solid color-mix(in srgb,var(--step-color) 48%,var(--border));border-radius:12px;padding:.85rem .9rem .95rem;min-height:144px;box-shadow:inset 0 4px 0 var(--step-color)}
.topic-step::after{content:"";position:absolute;right:-28px;top:-32px;width:92px;height:92px;border-radius:50%;background:color-mix(in srgb,var(--step-color) 13%,transparent);pointer-events:none}
.topic-step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.65rem;position:relative;z-index:1}
.topic-step-num{width:25px;height:25px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--step-color);color:#fff;font-size:12px;font-weight:700}
.topic-step i{font-size:24px;color:var(--step-color)}
.topic-step-title{font-weight:650;line-height:1.25;margin-bottom:.3rem;position:relative;z-index:1}
.topic-step-desc{font-size:13px;color:var(--text-secondary);line-height:1.45;position:relative;z-index:1}

.callout{border-radius:12px;padding:.8rem 1rem;margin:.7rem 0;font-size:14px;line-height:1.6;display:flex;gap:11px}
.callout i{font-size:19px;flex-shrink:0;margin-top:1px}
.callout b{font-weight:500}
.callout-accent{background:var(--accent-bg);color:var(--accent-text)}
.callout-warning{background:var(--warning-bg);color:var(--warning-text)}
.callout-info{background:var(--surface-1);color:var(--text-secondary)}
.callout-info b{color:var(--text-primary)}
.easa-ref-line{margin:.6rem 0 1.2rem;font-size:13px}
.easa-ref-card{margin:1rem 0 1.2rem}
.easa-ref-card ul{margin:.55rem 0 0}

.dd{margin-top:.9rem}
.dd-toggle{width:100%;justify-content:space-between;display:flex;align-items:center;gap:8px}
.dd-body{display:none;font-size:14px;color:var(--text-secondary);line-height:1.7;margin-top:.6rem;padding:0 .2rem}
.dd.open .dd-body{display:block}
.theory-sec{margin-top:1.55rem;padding-left:1rem;border-left:3px solid color-mix(in srgb,var(--accent) 38%,var(--border));scroll-margin-top:80px}
.theory-sec h3{font-size:17px;font-weight:650;margin:0 0 .45rem;color:var(--text-primary);line-height:1.35}
.theory-sec p{margin:0 0 .7rem;color:var(--text-secondary);line-height:1.75}
.gl-row{display:flex;gap:14px;padding:8px 0;border-top:1px solid var(--border);font-size:14px}
.gl-row:first-child{border-top:none;padding-top:0}
.gl-term{font-weight:500;min-width:160px;flex-shrink:0}
.gl-def{color:var(--text-secondary)}

button{font-family:inherit;font-size:14px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);padding:9px 14px;cursor:pointer;color:var(--text-primary);display:inline-flex;align-items:center;gap:7px}
button:hover{background:var(--surface-1)}
button:active{transform:scale(.985)}
.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff;transition:filter .15s,transform .15s,box-shadow .15s}
.btn-accent:hover{background:var(--accent);filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.15)}

input[type=range]{-webkit-appearance:none;appearance:none;height:5px;border-radius:99px;background:var(--border-strong);outline:none}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--surface-2)}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--surface-2)}

.lab-host{margin-top:.4rem}
.lab-wrap{background:var(--surface-1);border-radius:12px;padding:.6rem .6rem 1rem}
.dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}
.ctl{display:flex;align-items:center;gap:10px;margin:9px 0}
.ctl .nm{font-size:13px;color:var(--text-secondary);width:104px;display:flex;align-items:center;gap:7px}
.ctl output{font-size:13px;font-weight:500;width:74px;text-align:right}
.lab-concept-note{margin:.85rem 0 0;padding:.72rem .85rem;border-left:4px solid var(--accent);background:var(--accent-bg);color:var(--text-secondary);font-size:13px;line-height:1.55}
.lab-concept-note b{color:var(--text-primary)}
.metric{background:var(--surface-1);border-radius:var(--radius);padding:.7rem .85rem}
.metric .l{font-size:12px;color:var(--text-secondary)}
.metric .v{font-size:17px;font-weight:500;margin-top:3px}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:.7rem}
.eqb{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius);font-size:14px;font-weight:500;margin-top:12px}
.eqb.ok{background:var(--success-bg);color:var(--success-text)}
.eqb.warn{background:var(--warning-bg);color:var(--warning-text)}
.axiscard{background:var(--surface-2);border:1.5px solid var(--border);border-radius:12px;padding:.8rem;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s,background .15s}
.axiscard .axis-eye{margin-left:auto;font-size:15px;color:var(--text-muted);transition:color .15s}
@media (hover:hover){
  .axiscard:hover{transform:translateY(-3px);box-shadow:0 6px 14px rgba(0,0,0,.10);border-color:#8E5BD9}
  .axiscard:hover .axis-eye{color:#8E5BD9}
}
.axiscard.active{border-color:#8E5BD9;background:rgba(142,91,217,.10);box-shadow:0 5px 14px rgba(142,91,217,.22);animation:fbpop .3s ease}
.axiscard.active .axis-eye{color:#8E5BD9}
.axiscard .axis-more{display:none;font-size:12.5px;line-height:1.55;color:var(--text-secondary);margin-top:8px;padding-top:8px;border-top:1px dashed var(--border-strong)}
.axiscard.active .axis-more{display:block;animation:panelIn .25s ease}

.placeholder{background:var(--surface-1);border:1px dashed var(--border-strong);border-radius:12px;padding:1.25rem;color:var(--text-secondary);font-size:14px;line-height:1.7}
.placeholder .pl-name{font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:8px;margin-bottom:.3rem}

.ss-list{margin:.2rem 0;padding-left:1.2rem;line-height:1.9;color:var(--text-secondary)}

.test-tabs{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--border);background:var(--surface-1);border-radius:12px;padding:5px;margin-bottom:1.2rem}
.test-tab{border:1px solid transparent;background:transparent;color:var(--text-secondary);border-radius:9px;padding:8px 13px;font-size:14px;display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.test-tab:hover{background:var(--surface-2);color:var(--text-primary)}
.test-tab.active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent-text);font-weight:500}
.test-panel{display:none}
.test-panel.active{display:block}
.quiz-head{margin-bottom:1.4rem}
.quiz-head-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.quiz-head-title{font-size:16px;font-weight:500;display:inline-flex;align-items:center;gap:8px}
.quiz-score{font-size:13px;color:var(--text-secondary);font-weight:500;white-space:nowrap}
.quiz-pbar{height:9px;border-radius:99px;background:var(--surface-1);overflow:hidden;margin-top:11px;border:1px solid var(--border)}
.quiz-pbar span{display:block;height:100%;width:0;background:linear-gradient(90deg,#378ADD,#1D9E75);border-radius:99px;transition:width .5s cubic-bezier(.2,.7,.3,1)}
.quiz-head-hint{font-size:13px;color:var(--text-secondary);margin:.75rem 0 0;line-height:1.6}
.quiz{margin-bottom:1rem;border-radius:14px}
.q-stem{display:flex;gap:12px;align-items:flex-start;margin-bottom:1rem;font-size:15px;font-weight:500;line-height:1.5}
.q-num{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:500}
.q-text{padding-top:3px}
.qopts{display:flex;flex-direction:column;gap:8px}
.qopt{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:11px 13px;border:1.5px solid var(--border-strong);border-radius:12px;background:var(--surface-2);cursor:pointer;font-size:14px;color:var(--text-primary);transition:background .15s,border-color .15s,transform .15s,box-shadow .15s}
@media (hover:hover){
  .qopt:hover:not(.correct):not(.wrong){background:var(--surface-1);border-color:var(--accent);transform:translateY(-2px);box-shadow:0 5px 12px rgba(0,0,0,.09)}
  .qopt:hover:not(.correct):not(.wrong) .qopt-key{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.08)}
}
.qopt-key{flex-shrink:0;width:27px;height:27px;border-radius:9px;border:1px solid var(--border-strong);background:var(--surface-1);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--text-secondary);transition:background .15s,border-color .15s,color .15s,transform .15s}
.qopt-text{flex:1}
.qopt-mark{flex-shrink:0;font-size:19px;display:inline-flex;align-items:center;min-width:19px}
.qopt.correct{border-color:var(--c-lift);background:var(--success-bg);color:var(--success-text);animation:fbpop .32s ease}
.qopt.correct .qopt-key{background:var(--c-lift);border-color:var(--c-lift);color:#fff}
.qopt.correct .qopt-mark{color:var(--c-lift)}
.qopt.wrong{border-color:var(--c-weight);background:var(--danger-bg);color:var(--danger-text);animation:muShake .4s ease}
.qopt.wrong .qopt-key{background:var(--c-weight);border-color:var(--c-weight);color:#fff}
.qopt.wrong .qopt-mark{color:var(--c-weight)}
.classical-q{margin-bottom:1rem;border-radius:14px}
.classical-source{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600;margin:-.4rem 0 .75rem 40px}
.classical-prompt{color:var(--text-secondary);line-height:1.7;margin:.2rem 0 1rem 40px}
.classical-parts{margin:.2rem 0 0 56px;padding-left:1.1rem;color:var(--text-secondary);line-height:1.75}
.classical-parts li{padding-left:.25rem;margin:.35rem 0}
.classical-answer{margin:1.15rem 0 0 40px;border-top:1px solid var(--border);padding-top:.85rem}
.classical-answer-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:10px 12px;border:1px solid var(--accent-border);border-radius:8px;background:color-mix(in srgb,var(--accent-bg) 58%,var(--surface-2));color:var(--text-primary);text-align:left;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
.classical-answer-toggle:hover,.classical-answer-toggle[aria-expanded="true"]{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 10%,transparent)}
.classical-answer-toggle-copy,.classical-answer-toggle-action{display:flex;align-items:center;gap:10px;min-width:0}
.classical-answer-toggle-copy>.ti{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:8px;background:var(--surface-2);color:var(--accent);font-size:18px}
.classical-answer-toggle-copy span{display:grid;min-width:0}
.classical-answer-toggle-copy b{font-size:14px}
.classical-answer-toggle-copy small{overflow:hidden;color:var(--text-muted);font-size:11px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}
.classical-answer-toggle-action{flex:0 0 auto;color:var(--accent-text);font-size:13px;font-weight:700}
.classical-answer-panel{margin-top:8px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1)}
.classical-answer-panel[hidden]{display:none}
.classical-answer-tools,.classical-answer-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-muted);font-size:11px}
.classical-answer-tools>span,.classical-answer-foot>span{display:inline-flex;align-items:center;gap:6px}
.classical-answer-clear{min-height:32px;padding:5px 9px;font-size:12px}
.classical-answer-panel textarea{display:block;width:100%;min-height:180px;margin:10px 0;padding:13px 14px;resize:vertical;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-2);color:var(--text-primary);font:inherit;font-size:14px;line-height:1.65}
.classical-answer-panel textarea:focus{outline:3px solid color-mix(in srgb,var(--accent) 22%,transparent);border-color:var(--accent)}
.classical-answer-foot [data-classical-answer-status]{color:var(--accent-text);font-weight:600}
.classical-answer-foot [data-classical-answer-status].save-error{color:var(--danger-text)}
@media(max-width:640px){
  .classical-source,.classical-prompt,.classical-answer{margin-left:0}
  .classical-parts{margin-left:14px;padding-left:1rem}
  .classical-answer-toggle{align-items:flex-start;flex-direction:column;gap:8px}
  .classical-answer-toggle-action{align-self:flex-end}
  .classical-answer-toggle-copy small{white-space:normal}
  .classical-answer-tools{align-items:flex-start;flex-direction:column}
  .classical-answer-clear{align-self:flex-end}
}
.unit-cats{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:1rem}
.unit-cat{padding:6px 13px;font-size:13px;border:1px solid var(--border-strong);border-radius:99px;background:var(--surface-2);cursor:pointer;color:var(--text-secondary)}
.unit-cat:hover{background:var(--surface-1)}
.unit-cat.active{background:var(--accent-bg);color:var(--accent-text);border-color:var(--accent-border);font-weight:500}
.unit-input{display:flex;gap:10px;align-items:center;margin-bottom:1.1rem}
.unit-input input[type=number]{flex:1;min-width:0;height:42px;font-size:18px;padding:0 12px;font-family:inherit;background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius)}
.unit-input select{height:42px}
.unit-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}
.u-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:10px 13px;border-radius:var(--radius);background:var(--surface-1);font-size:14px}
.u-row.active{background:var(--accent-bg);box-shadow:inset 0 0 0 1px var(--accent-border)}
.u-name{color:var(--text-secondary)}
.u-val{font-weight:500;font-size:17px;color:var(--text-primary)}
.u-row.active .u-val,.u-row.active .u-name{color:var(--accent-text)}
.u-ref-row{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-top:1px solid var(--border);font-size:14px}
.u-ref-row:first-child{border-top:none;padding-top:0}
.u-ref-k{color:var(--text-secondary)}
.u-ref-v{font-weight:500;text-align:right}
.exp{display:none;font-size:13px;color:var(--text-secondary);margin:8px 0 0;line-height:1.6}
.exp.show{display:block}
.qfeedback{display:none;font-size:13px;margin-top:10px;padding:10px 12px;border-radius:var(--radius);line-height:1.6}
.qfeedback.show{display:block;animation:panelIn .25s ease}
.qfeedback.good{background:var(--success-bg);color:var(--success-text)}
.qfeedback.bad{background:var(--danger-bg);color:var(--danger-text)}
.lab-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:1.3rem}
.lab-chip{padding:7px 15px;font-size:14px;border:1px solid var(--border-strong);border-radius:99px;background:var(--surface-2);cursor:pointer;color:var(--text-secondary)}
.lab-chip:hover{background:var(--surface-1)}
.lab-chip.active{background:var(--accent-bg);color:var(--accent-text);border-color:var(--accent-border);font-weight:500}
.lab-sub{display:none}
.lab-sub.active{display:block}
input[type=text],textarea{font-family:inherit;background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius)}
input[type=text]{height:36px;padding:0 11px;font-size:14px}
input[type=text]:focus,textarea:focus{outline:none;border-color:var(--accent)}
.greeting{font-size:13px;color:var(--text-secondary);white-space:nowrap}
.reflection-debrief{display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid var(--accent-border);border-left:5px solid var(--accent);border-radius:var(--radius);background:var(--accent-bg);margin-bottom:16px}
.reflection-debrief-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:8px;background:var(--surface-2);color:var(--accent-text);border:1px solid var(--accent-border);font-size:25px}
.reflection-debrief>div{min-width:0;flex:1}.reflection-debrief h2{margin:1px 0 4px;font-size:22px}.reflection-debrief p{margin:0;color:var(--text-secondary);line-height:1.55}
.reflection-eyebrow{font-size:11px!important;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text)!important}
.reflection-save-status{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:7px 10px;border-radius:99px;border:1px solid var(--border);background:var(--surface-2);font-size:11px;color:var(--text-muted);white-space:nowrap}
.reflection-save-status.saving,.reflection-save-status.unsaved{color:#A15C00;border-color:#E6C48D;background:#FFF8E8}.reflection-save-status.saved{color:var(--success-text);border-color:#9BCDBB;background:var(--success-bg)}.reflection-save-status.error{color:var(--danger-text);border-color:#E8ADA4;background:var(--danger-bg)}
.reflection-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:16px;align-items:start}
.reflection-step{min-width:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:16px}
.reflection-step-head{display:flex;align-items:center;gap:11px;padding-bottom:13px;border-bottom:1px solid var(--border);margin-bottom:2px}
.reflection-step-number{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800}
.reflection-step-head p{margin:0 0 1px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.reflection-step-head h3{margin:0;font-size:16px}
.reflection-objectives{padding-top:2px}
.reflect-row{padding:13px 0;border-top:1px solid var(--border)}
.reflect-row:first-child{border-top:none}
.reflect-obj{font-size:14px;margin-bottom:9px;color:var(--text-primary);line-height:1.5}
.rate-group{display:flex;gap:6px;flex-wrap:wrap}
.rate-btn{padding:6px 13px;font-size:13px;border:1.5px solid var(--border-strong);border-radius:99px;background:var(--surface-2);cursor:pointer;color:var(--text-secondary);transition:transform .12s,box-shadow .12s,background .12s,border-color .12s,color .12s}
@media (hover:hover){.rate-btn:hover{background:var(--surface-1);transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,.10)}}
.rate-btn.active{font-weight:700;color:#fff;border-color:transparent;animation:fbpop .3s ease}
.rate-btn.active[data-level="0"]{background:#D85A30}
.rate-btn.active[data-level="1"]{background:#DE8A3B}
.rate-btn.active[data-level="2"]{background:#1D9E75}
.reflection-prompt-grid{display:grid;gap:10px;padding-top:12px}
.reflection-prompt{display:block;padding:12px;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--surface-1)}
.reflection-prompt-learn{border-left-color:#7048A8}.reflection-prompt-flight{border-left-color:#0B7285}.reflection-prompt-revisit{border-left-color:#C77800}
.reflection-prompt>span{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:750;color:var(--text-primary)}.reflection-prompt>span i{font-size:18px}.reflection-prompt-learn>span i{color:#7048A8}.reflection-prompt-flight>span i{color:#0B7285}.reflection-prompt-revisit>span i{color:#C77800}
.reflection-prompt small{display:block;margin:3px 0 8px;color:var(--text-muted);font-size:11.5px;line-height:1.45}
.reflection-prompt textarea{display:block;width:100%;min-height:78px;padding:9px 10px;font-size:13px;line-height:1.55;resize:vertical;background:var(--surface-2)}
.reflection-feedback{margin-top:14px!important;padding:12px 14px;border:1px solid var(--accent-border);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--accent-bg);line-height:1.55}.reflection-feedback:empty{display:none}
.reflection-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 2px}.reflection-actions .muted{font-size:12px;line-height:1.45;flex:1;min-width:240px}
@media(max-width:960px){.reflection-layout{grid-template-columns:1fr}.reflection-debrief{align-items:flex-start;flex-wrap:wrap}.reflection-save-status{margin-left:64px}}
@media(max-width:560px){.reflection-debrief{padding:15px;gap:11px}.reflection-debrief-icon{width:40px;height:40px;flex-basis:40px;font-size:21px}.reflection-debrief h2{font-size:19px}.reflection-save-status{margin-left:0;width:100%;justify-content:center}.reflection-step{padding:12px}.rate-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.rate-btn{padding:7px 5px;white-space:normal}.reflection-prompt{padding:10px}.reflection-actions{align-items:stretch}.reflection-actions button{width:100%;justify-content:center}.reflection-actions .muted{min-width:0;width:100%}}

.bridge{border-top:1px solid var(--border);margin-top:.9rem;padding-top:.8rem;font-size:14px;color:var(--text-secondary)}
.complete-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:1.4rem}

/* ---------- Edit mode ---------- */
main.editor-main{max-width:1180px}
.editor-shell{width:100%}
.editor-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.editor-head h1{font-size:28px;margin:.35rem 0 .2rem}
.editor-week{display:flex;align-items:center;gap:8px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;min-width:260px}
.editor-week label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}
select{font-family:inherit;background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius);height:36px;padding:0 10px}
.editor-week select{flex:1;min-width:0}
.editor-ribbon{position:sticky;top:70px;z-index:4;display:flex;align-items:center;gap:7px;flex-wrap:wrap;background:color-mix(in srgb,var(--surface-2) 94%,transparent);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius);padding:9px;margin:1rem 0;box-shadow:0 8px 26px rgba(0,0,0,.08)}
.ed-tool{width:36px;height:36px;padding:0;justify-content:center;border-radius:var(--radius)}
.ed-tool i{font-size:18px}
.ed-upload{display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text-primary);cursor:pointer}
.ed-upload input{display:none}
.ed-ribbon-sep{width:1px;height:28px;background:var(--border);margin:0 2px}
.editor-status{font-size:12px;color:var(--text-muted);margin-left:auto}
.editor-status.good{color:var(--success-text)}
.editor-status.bad{color:var(--danger-text);font-weight:600}
.ed-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:.8rem 0 1rem}
.ed-tab{border-radius:999px;padding:8px 13px;color:var(--text-secondary)}
.ed-tab.active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent-text);font-weight:600}
.editor-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:1rem;align-items:start}
.editor-panel{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}
.editor-work{min-width:0}
.editor-preview{position:sticky;top:148px;max-height:calc(100vh - 170px);overflow:auto}
.ed-preview-head{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-secondary);padding-bottom:.7rem;margin-bottom:.9rem;border-bottom:1px solid var(--border)}
.ed-preview-head i{font-size:18px;color:var(--accent)}
.ed-pane{display:none}
.ed-pane.active{display:block}
.ed-pane-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}
.ed-field{display:flex;flex-direction:column;gap:6px;margin-bottom:.9rem}
.ed-field span{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}
.ed-field input,.ed-field textarea{width:100%;font-size:14px;padding:10px 11px;line-height:1.55}
.ed-field input{height:40px}
.ed-field textarea{resize:vertical;min-height:84px}
.ed-two{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.ed-sections{display:flex;flex-direction:column;gap:.85rem}
.ed-section{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem}
.ed-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;font-size:13px;font-weight:700;color:var(--accent)}
.ed-remove-section{width:32px;height:32px}
.editor-canvas{min-height:620px;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius);padding:1.1rem 1.2rem;color:var(--text-primary);outline:none;line-height:1.75}
.editor-canvas:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.editor-canvas h2{font-size:24px;margin:.2rem 0 .7rem}
.editor-canvas h3{font-size:17px;margin:1.2rem 0 .35rem}
.editor-canvas p{margin:.45rem 0;color:var(--text-secondary)}
.editor-canvas blockquote{margin:1rem 0;padding:.7rem 1rem;border-left:4px solid var(--accent);background:var(--accent-bg);color:var(--accent-text);border-radius:0 var(--radius) var(--radius) 0}
.ed-canvas-fig,.ed-inserted-image{margin:1rem 0;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem}
.ed-canvas-fig svg{width:100%;height:auto;display:block}
.ed-inserted-image img{max-width:100%;height:auto;display:block;border-radius:6px}
.ed-canvas-fig figcaption,.ed-inserted-image figcaption{font-size:12px;color:var(--text-muted);margin-top:.55rem}
#ed-preview-body .topic-flow{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
#ed-preview-body .topic-step{min-height:126px}
#ed-preview-body .theory-sec{padding-left:.8rem}

[data-edit="1"] .topbar,[data-edit="1"] .foot{display:none}
[data-edit="1"] .content{width:100%}
main.editor-main{max-width:none;margin:0;padding:0}
.editor-object-shell{min-height:100vh;background:linear-gradient(180deg,var(--surface-1),var(--bg));width:100%}
.editor-fullbar{position:sticky;top:0;z-index:40;display:grid;grid-template-columns:auto auto minmax(180px,260px) 1fr auto;align-items:center;gap:10px;padding:10px 14px;background:color-mix(in srgb,var(--surface-2) 96%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);box-shadow:0 8px 30px rgba(0,0,0,.08)}
.editor-titlebar{display:flex;flex-direction:column;min-width:0}
.editor-titlebar strong{font-size:14px;line-height:1.2}
.editor-titlebar span{font-size:12px;color:var(--text-muted)}
.editor-content-editing-marker{min-height:36px;padding:0 10px;background:color-mix(in srgb,var(--accent-bg) 86%,var(--surface-1));box-shadow:0 3px 12px rgba(24,95,165,.12)}
.editor-content-editing-marker i{font-size:17px}
.editor-content-editing-marker>span{font-size:12px;text-transform:uppercase}
.editor-content-editing-marker small{padding-left:6px;border-left:1px solid var(--accent-border);color:var(--text-secondary);font-size:11px;font-weight:650;letter-spacing:0}
.editor-version{font-style:normal;font-size:11px;color:var(--accent-text);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:999px;padding:1px 6px;margin-left:5px}
.editor-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.editor-actions button{height:36px;padding:0 11px}
.editor-fullbar .editor-status{margin-left:0;min-width:130px}
.ed-exit{white-space:nowrap}
.ed-object-layout{display:block;padding:18px;max-width:1600px;margin:0 auto}
.ed-object-board{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:0 12px 36px rgba(0,0,0,.08)}
.ed-doc-title{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
.ed-doc-divider{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:1.3rem 0 .8rem;border-top:1px solid var(--border);padding-top:1rem}
.ed-doc-divider span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:700}
.ed-doc-divider button,.ed-section-actions button,.ed-mini-btn{height:32px;padding:0 10px;font-size:13px}
.ed-doc-sections{display:flex;flex-direction:column;gap:12px}
.ed-doc-section{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem}
.ed-doc-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:.75rem}
.ed-doc-section-head div:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.ed-doc-section-head span{font-size:12px;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.ed-doc-section-head strong{font-size:15px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ed-section-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.ed-object-stack{display:flex;flex-direction:column;gap:7px;margin:.6rem 0}
.ed-object-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:stretch}
.ed-object{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;text-align:left;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);padding:12px 13px;color:var(--text-primary);transition:border-color .14s,background .14s,transform .12s,box-shadow .14s}
.ed-object:hover{background:var(--surface-2);border-color:var(--accent-border);box-shadow:0 6px 18px rgba(0,0,0,.07);transform:translateY(-1px)}
.ed-object-icon{width:34px;height:34px;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;background:var(--accent-bg);color:var(--accent-text);font-size:19px}
.ed-object-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.ed-object-label{font-size:13px;font-weight:700;line-height:1.3}
.ed-object-body{font-size:13px;color:var(--text-secondary);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ed-object-meta{font-size:11px;color:var(--text-muted);background:var(--surface-1);border:1px solid var(--border);border-radius:999px;padding:3px 8px;white-space:nowrap}
.ed-object-go{color:var(--text-muted);font-size:18px}
.ed-empty-state,.ed-empty-line{display:flex;align-items:center;gap:8px;color:var(--text-muted);background:var(--surface-1);border:1px dashed var(--border-strong);border-radius:var(--radius);padding:1rem;font-size:13px}
.editor-modal{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.48);display:flex;align-items:center;justify-content:center;padding:22px}
.editor-modal[hidden]{display:none}
.ed-modal-panel{width:min(960px,100%);min-width:min(680px,100%);max-height:92vh;overflow:auto;resize:both;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:0 24px 80px rgba(0,0,0,.28)}
.ed-modal-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--surface-2);border-bottom:1px solid var(--border)}
.ed-modal-head h2{font-size:18px}
.ed-modal-body{padding:16px}
.ed-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--surface-1)}
.ed-modal-actions [data-q-modal-preview]{margin-left:auto;border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent-text)}
.ed-modal-actions [data-q-modal-preview]+[data-q-modal-save]{margin-left:0}
.quiz-modal-window-controls{display:flex;align-items:center;gap:6px}
.quiz-run-modal.is-fullscreen,.quiz-question-modal.is-fullscreen{align-items:stretch;justify-content:stretch;padding:0}
.quiz-run-modal.is-fullscreen .ed-modal-panel,.quiz-question-modal.is-fullscreen .ed-modal-panel{display:flex;flex-direction:column;width:100vw;max-width:none;height:100dvh;max-height:100dvh;min-width:0;overflow:hidden;resize:none;border:0;border-radius:0;box-shadow:none}
.quiz-run-modal.is-fullscreen .ed-modal-head,.quiz-question-modal.is-fullscreen .ed-modal-head{position:relative;flex:0 0 auto}
.quiz-run-modal.is-fullscreen .ed-modal-body,.quiz-question-modal.is-fullscreen .ed-modal-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.quiz-run-modal.is-fullscreen .ed-modal-actions,.quiz-question-modal.is-fullscreen .ed-modal-actions{flex:0 0 auto}
.quiz-run-modal.is-fullscreen .quiz-settings-grid{width:min(1180px,100%);margin-inline:auto}
.quiz-run-modal.is-fullscreen .quiz-pool-availability,.quiz-run-modal.is-fullscreen [data-objective-selector]{width:min(1180px,100%);margin-inline:auto}
.quiz-blank-toggle{grid-column:1/-1;align-items:flex-start!important}.quiz-blank-toggle small{display:block;margin-top:3px;color:var(--text-muted);font-weight:500}
.quiz-pool-home{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 240px;min-height:190px;margin:0 0 18px;overflow:hidden;border:1px solid #4c65b8;border-radius:18px;background:linear-gradient(125deg,#142451 0%,#283e89 55%,#176a7a 100%);color:#fff;box-shadow:0 16px 40px rgba(17,35,78,.18)}
.quiz-pool-home:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.13) 1px,transparent 0);background-size:20px 20px;mask-image:linear-gradient(90deg,#000,transparent)}
.quiz-pool-home-copy{position:relative;z-index:1;padding:30px 36px}.quiz-pool-home-copy>span{display:flex;align-items:center;gap:8px;color:#9ee7ff;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.quiz-pool-home-copy h2{margin:10px 0 6px;color:#fff;font-size:clamp(30px,4vw,48px);letter-spacing:-.035em}.quiz-pool-home-copy p{max-width:720px;margin:0;color:#d8e4ff;font-size:17px;line-height:1.45}
.quiz-pool-orbit{position:relative;align-self:center;justify-self:center;width:150px;height:150px;border:1px dashed #70e2e5;border-radius:50%;animation:quizOrbitSpin 28s linear infinite}.quiz-pool-orbit:before{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.2);border-radius:50%}.quiz-pool-orbit b{position:absolute;inset:47px 34px;display:flex;align-items:center;justify-content:center;border-radius:20px;background:linear-gradient(145deg,#7589ff,#4d5bc1);box-shadow:0 10px 26px rgba(0,0,0,.25);font-size:17px;letter-spacing:.1em}.quiz-pool-orbit span{position:absolute;padding:4px 8px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:#142451;font-size:10px;font-weight:800}.quiz-pool-orbit span:nth-of-type(1){left:-14px;top:62px}.quiz-pool-orbit span:nth-of-type(2){right:-15px;top:25px}.quiz-pool-orbit span:nth-of-type(3){right:0;bottom:4px}@keyframes quizOrbitSpin{to{transform:rotate(360deg)}}.quiz-pool-orbit>*{animation:quizOrbitCounter 28s linear infinite}@keyframes quizOrbitCounter{to{transform:rotate(-360deg)}}
.quiz-pool-subtabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.quiz-pool-subtabs button{display:flex;align-items:center;gap:12px;min-height:66px;padding:10px 16px;text-align:left}.quiz-pool-subtabs button>i{font-size:24px;color:var(--accent)}.quiz-pool-subtabs button>span{display:flex;flex-direction:column}.quiz-pool-subtabs button small{margin-top:2px;color:var(--text-muted);font-weight:500}.quiz-pool-subtabs button.active{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 5px 16px rgba(24,95,165,.1)}
.quiz-pool-controls{display:grid;grid-template-columns:minmax(280px,1fr) minmax(150px,210px) minmax(180px,240px) 105px;gap:10px;align-items:end;margin:14px 0;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-1)}.quiz-pool-controls label{display:flex;flex-direction:column;gap:5px;margin:0;font-size:12px;font-weight:750;color:var(--text-secondary)}.quiz-pool-controls input,.quiz-pool-controls select{width:100%;min-height:44px}.quiz-pool-search{position:relative}.quiz-pool-search i{position:absolute;left:13px;bottom:13px;font-size:18px;color:var(--text-muted)}.quiz-pool-search input{padding-left:40px}.quiz-pool-pager{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:13px;padding:11px 3px 2px;color:var(--text-muted);font-size:13px}.quiz-pool-pager>div{display:flex;align-items:center;gap:6px}.quiz-pool-pager button{width:38px;height:38px;padding:0}.quiz-pool-pager strong{padding:0 8px;color:var(--text-secondary)}.quiz-pool-empty-filter{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;border:1px dashed var(--border-strong);border-radius:12px;color:var(--text-muted);text-align:center}.quiz-pool-empty-filter i{font-size:36px;margin-bottom:8px}.quiz-pool-empty-filter strong{color:var(--text-primary)}
.q-type-badge{display:inline-flex;align-items:center;margin-right:6px;padding:2px 7px;border:1px solid var(--accent-border);border-radius:999px;background:var(--accent-bg);color:var(--accent-text);font-size:10px;font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.quiz-analytics-loading{display:flex;align-items:center;justify-content:center;gap:8px;min-height:180px;color:var(--text-muted)}.quiz-analytics-loading i{font-size:24px;animation:spin 1s linear infinite}.quiz-analytics-loading.error i{animation:none;color:var(--text-danger)}
.quiz-analytics-overview{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 30px;border:1px solid var(--accent-border);border-radius:15px;background:linear-gradient(110deg,var(--surface-2),color-mix(in srgb,var(--accent-bg) 72%,var(--surface-2)))}.quiz-analytics-overview h2{margin:3px 0;font-size:32px}.quiz-analytics-overview p{margin:0;color:var(--text-secondary)}.quiz-analytics-score{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:130px;min-height:110px;border:1px solid var(--accent-border);border-radius:50%;background:var(--surface-2);box-shadow:0 8px 24px rgba(24,95,165,.1)}.quiz-analytics-score strong{font-size:27px;color:var(--accent)}.quiz-analytics-score span{font-size:11px;font-weight:750;color:var(--text-muted);text-transform:uppercase}
.quiz-analytics-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0}.quiz-analytics-kpis article{display:flex;align-items:center;gap:10px;min-height:92px;padding:14px;border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:11px;background:var(--surface-2)}.quiz-analytics-kpis i{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:9px;background:var(--accent-bg);color:var(--accent);font-size:20px}.quiz-analytics-kpis div{display:flex;flex-direction:column}.quiz-analytics-kpis strong{font-size:21px}.quiz-analytics-kpis span{color:var(--text-muted);font-size:11px;font-weight:750;text-transform:uppercase}
.quiz-blank-rules{display:flex;align-items:center;gap:14px;margin-bottom:12px;padding:11px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-1)}.quiz-blank-rules>div{display:flex;gap:7px;flex-wrap:wrap}.quiz-blank-rules span{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:700}.quiz-blank-rules .allows{background:#fff3d6;color:#8b5d00}.quiz-blank-rules .requires{background:#e3f5ed;color:#087555}
.quiz-analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quiz-analytics-grid>.card{padding:0;overflow:hidden}.quiz-analytics-grid header,.quiz-category-analytics>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border)}.quiz-analytics-grid header h3,.quiz-category-analytics h3{margin:2px 0 0}.quiz-analytics-grid header>i{font-size:28px;color:var(--accent)}.quiz-analytics-question-list article{padding:13px 18px;border-bottom:1px solid var(--border)}.quiz-analytics-question-list article:last-child{border-bottom:0}.quiz-analytics-question-list article>div:first-child{display:flex;gap:5px}.quiz-analytics-question-list h4{margin:6px 0 9px;font-size:14px;line-height:1.38}.quiz-analytics-empty{display:flex;align-items:center;gap:8px;padding:24px 18px;color:var(--text-muted)}
.quiz-analytics-bar>div{display:flex;justify-content:space-between;gap:10px;margin-bottom:5px;font-size:11px}.quiz-analytics-bar>div span{color:var(--text-muted)}.quiz-analytics-bar>i{display:block;height:8px;overflow:hidden;border-radius:99px;background:var(--surface-1)}.quiz-analytics-bar>i>span{display:block;height:100%;border-radius:inherit;background:#3576c3}.quiz-analytics-bar>i>.green{background:#19a47a}.quiz-analytics-bar>i>.amber{background:#d89a24}.quiz-analytics-bar>i>.red{background:#d15252}.quiz-category-analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.quiz-category-analytics{margin:0}.quiz-category-analytics>header p{max-width:500px;margin:0;color:var(--text-muted);font-size:12px}.quiz-category-analytics>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:18px}
.quiz-category-analytics>.quiz-category-leaders{display:grid;grid-template-columns:1fr;gap:0;padding:0;border-top:1px solid var(--border)}.quiz-category-leaders article{display:grid;grid-template-columns:minmax(90px,.3fr) minmax(0,1fr) minmax(0,1fr);gap:10px;padding:11px 18px;border-bottom:1px solid var(--border);font-size:11px}.quiz-category-leaders article:last-child{border-bottom:0}.quiz-category-leaders article>b{color:var(--text-secondary)}.quiz-category-leaders article>span{display:flex;align-items:flex-start;gap:5px;min-width:0;color:var(--text-muted)}.quiz-category-leaders article>span:first-of-type i{color:#16916e}.quiz-category-leaders article>span:last-of-type i{color:#c84b4b}.quiz-category-leaders em{overflow:hidden;font-style:normal;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1000px){.quiz-pool-controls{grid-template-columns:1fr 1fr}.quiz-analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-analytics-grid,.quiz-category-analytics-grid{grid-template-columns:1fr}}@media(max-width:700px){.quiz-pool-home{grid-template-columns:1fr}.quiz-pool-orbit{display:none}.quiz-pool-home-copy{padding:24px}.quiz-pool-subtabs,.quiz-pool-controls{grid-template-columns:1fr}.quiz-pool-pager{align-items:flex-start;flex-direction:column}.quiz-analytics-overview{align-items:flex-start;flex-direction:column}.quiz-analytics-score{border-radius:12px}.quiz-analytics-kpis,.quiz-category-analytics>div{grid-template-columns:1fr}.quiz-category-leaders article{grid-template-columns:1fr}.quiz-blank-rules{align-items:flex-start;flex-direction:column}}
.quiz-question-modal.is-fullscreen .ed-modal-body{width:min(1400px,100%);margin-inline:auto}
.ed-preview-modal .ed-modal-panel{width:min(1080px,100%);padding:0}
.ed-preview-modal-body{padding:1.25rem 1.5rem 2rem;max-width:900px;margin:0 auto}
.preview-tabs{pointer-events:none}
.ed-image-tools{display:flex;gap:8px;flex-wrap:wrap;margin:.2rem 0 .9rem}
.ed-upload-wide{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 12px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer;font-size:14px}
.ed-upload-wide input{display:none}
.ed-image-preview{display:flex;align-items:center;justify-content:center;min-height:160px;background:var(--surface-1);border:1px dashed var(--border-strong);border-radius:var(--radius);overflow:hidden;color:var(--text-muted);font-size:13px;margin-left:auto;margin-right:auto;transition:max-width .15s}
.ed-image-preview img,.ed-image-preview svg{max-width:100%;height:auto;display:block}
.ed-range-field>div{display:flex;align-items:center;gap:10px}
.ed-range-field input{flex:1}
.ed-range-field output{font-size:13px;color:var(--text-secondary);min-width:42px;text-align:right}
.ed-svg-text-editor{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);padding:.8rem;margin:.4rem 0 1rem}
.ed-svg-text-title{display:flex;align-items:center;gap:7px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700;margin-bottom:.55rem}
.ed-svg-text-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}
.ed-svg-text-row{display:flex;flex-direction:column;gap:4px}
.ed-svg-text-row span{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ed-svg-text-row input{height:34px;padding:0 9px}
.ed-svg-text-empty{display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:13px}
.ed-svg-source-editor{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);padding:.8rem;margin:.4rem 0 1rem}
.ed-svg-source-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:.55rem}
.ed-svg-source-head span{display:flex;align-items:center;gap:7px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700}
.ed-svg-source-head div{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ed-svg-source-head button{height:30px;padding:0 9px;font-size:12px}
.ed-svg-source-input{width:100%;min-height:240px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45;tab-size:2;white-space:pre;overflow:auto;resize:vertical}
.ed-svg-source-note{margin-top:.45rem;font-size:12px;color:var(--text-muted)}
.ed-svg-source-note.good{color:var(--success-text)}
.ed-svg-source-note.bad{color:var(--danger)}
.ed-lab-card{border-left:4px solid var(--c-lift)}
.ed-lab-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:.15rem 0 .6rem;font-size:12px;color:var(--text-muted)}
.ed-lab-meta span,.ed-lab-badge{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface-1)}
.ed-lab-badge.custom{color:var(--accent-text);border-color:var(--accent-border);background:var(--accent-bg)}
.ed-lab-badge.built{color:var(--success-text);border-color:color-mix(in srgb,var(--success-text) 35%,var(--border));background:var(--success-bg)}
.ed-lab-badge.missing{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--border));background:var(--surface-1)}
.ed-lab-source-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.ed-lab-source-actions button{height:34px;padding:0 10px;font-size:12px}
.ed-lab-source-editor{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);padding:.8rem;margin:.7rem 0 1rem}
.ed-lab-source-input{width:100%;min-height:320px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45;tab-size:2;white-space:pre;overflow:auto;resize:vertical}
.ed-lab-preview-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);padding:.8rem;margin:.7rem 0 0}
.ed-lab-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:.55rem}
.ed-lab-preview-head span{display:flex;align-items:center;gap:7px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:700}
.ed-lab-preview{min-height:220px;padding:.7rem;background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--radius);overflow:auto}
.ed-lab-preview .lab-wrap{margin:0}
.theory-img{max-width:100%;height:auto;display:block;border-radius:6px}
.rich-par{margin:0 0 .7rem;color:var(--text-secondary);line-height:1.75}
.rich-par p{margin:.2rem 0 .7rem}
.rich-par ul,.rich-par ol{margin:.35rem 0 .7rem;padding-left:1.35rem}
.rich-par li{margin:.2rem 0}
.math-inline,.math-block{font-family:Georgia,"Times New Roman",serif;font-style:normal;color:var(--accent-text);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:6px}
.math-inline{display:inline-flex;align-items:center;gap:2px;padding:1px 6px;margin:0 2px;vertical-align:baseline;white-space:nowrap}
.math-block{display:flex;justify-content:center;align-items:center;margin:.7rem 0;padding:.75rem 1rem;font-size:1.08em;overflow-x:auto}
.math-inline mjx-container{margin:0!important}
.math-block mjx-container{margin:0!important;max-width:100%}
.svg-math{background:transparent!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;overflow:visible!important}
.svg-math mjx-container{max-width:100%!important}
.math-frac{display:inline-grid;grid-template-rows:auto auto;align-items:center;text-align:center;line-height:1.05;vertical-align:middle;margin:0 2px}
.math-frac span:first-child{border-bottom:1px solid currentColor;padding:0 3px}
.math-frac span:last-child{padding:0 3px}
.plot-block{display:block;margin:.85rem 0;padding:.65rem;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius)}
.plot-block.ed-plot-selected{outline:2px solid var(--accent);outline-offset:3px}
.plot-svg{width:100%;height:auto;display:block}
.plot-bg{fill:var(--surface-2);stroke:var(--border)}
.plot-grid{stroke:var(--border);stroke-width:1}
.plot-axis{stroke:var(--text-secondary);stroke-width:1.5}
.plot-curve{fill:none;stroke:var(--plot-color);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.plot-shape{fill:color-mix(in srgb,var(--plot-color) 15%,transparent);stroke:var(--plot-color);stroke-width:3}
.plot-label,.plot-title{fill:var(--text-secondary);font-size:13px;font-family:var(--font);font-style:normal}
.plot-title{font-weight:700;fill:var(--text-primary)}
.youtube-block{position:relative;display:block;margin:.9rem auto;padding:0;max-width:760px;aspect-ratio:16/9;background:#111;border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden}
.youtube-block.ed-youtube-selected{outline:2px solid #c4302b;outline-offset:3px}
.youtube-block iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.float-box{display:inline-block;max-width:min(280px,90%);padding:.65rem .8rem;margin:.25rem .5rem .45rem;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));color:var(--text-primary);line-height:1.45;font-size:.94em;box-shadow:0 8px 24px rgba(0,0,0,.08);vertical-align:middle}
.float-box.ed-float-selected{outline:2px solid var(--accent);outline-offset:3px}
.float-box-left{float:left;margin-left:0;margin-right:1rem}
.float-box-right{float:right;margin-left:1rem;margin-right:0}
.float-box-inline{float:none;margin:.15rem .35rem}
.float-box-full{display:block;float:none;max-width:none;margin:.7rem 0;clear:both}
.float-box-rounded{border-radius:var(--radius)}
.float-box-square{border-radius:0}
.float-box-pill{border-radius:22px;padding:.65rem 1rem}
.float-box-note{border-left:5px solid var(--accent)}
.float-box-example{border-left:5px solid var(--c-lift)}
.float-box-warning{border-left:5px solid var(--c-weight)}
.float-box-formula{border-left:5px solid var(--c-thrust);font-family:Georgia,"Times New Roman",serif}
.ed-rich-field{gap:0}
.ed-rich-toolbar{display:flex;flex-direction:column;gap:7px;padding:8px;background:var(--surface-1);border:1px solid var(--border-strong);border-bottom:none;border-radius:var(--radius) var(--radius) 0 0}
.ed-rich-toolbar>.ed-rich-row{width:100%;box-sizing:border-box}
.ed-rich-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex:0 0 100%}
.ed-rich-row+.ed-rich-row{padding-top:7px;border-top:1px solid var(--border)}
.ed-rich-row-primary{justify-content:flex-start}
.ed-rich-row-linkmath{justify-content:flex-start}
.ed-rich-row-tools{justify-content:flex-start}
.ed-rich-btn{width:34px;height:32px;padding:0;justify-content:center;border-radius:7px;background:var(--surface-2)}
.ed-rich-btn i{font-size:17px}
.ed-rich-select{height:32px;max-width:118px;font-size:12px;padding:0 7px}
.ed-rich-mini-input{height:32px;width:128px;font-size:12px;padding:0 8px}
.ed-rich-link-group{display:inline-flex;align-items:center;gap:0;flex:0 0 auto}
.ed-rich-link-group .ed-rich-link-input{width:336px;max-width:min(52vw,336px);border-radius:7px 0 0 7px;border-right:0}
.ed-rich-link-group .ed-rich-btn{border-radius:0;border-left:1px solid var(--border-strong)}
.ed-rich-link-group .ed-rich-btn:last-child{border-radius:0 7px 7px 0}
.ed-rich-math-input{width:150px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.ed-rich-math-group{display:inline-flex;align-items:center;gap:0;flex:0 0 auto}
.ed-rich-math-group .ed-rich-math-input{width:252px;border-radius:7px 0 0 7px;border-right:0}
.ed-rich-math-group .ed-rich-btn{border-radius:0;border-left:1px solid var(--border-strong)}
.ed-rich-math-group .ed-rich-btn:last-child{border-radius:0 7px 7px 0}
.ed-rich-youtube-group{display:inline-flex;align-items:center;gap:0;flex:0 0 auto}
.ed-rich-youtube-group .ed-rich-youtube-input{width:210px;border-radius:7px 0 0 7px;border-right:0}
.ed-rich-youtube-group .ed-rich-youtube-size{max-width:76px;border-radius:0;border-left:1px solid var(--border-strong);border-right:0}
.ed-rich-youtube-group .ed-rich-btn{border-radius:0;border-left:1px solid var(--border-strong);color:#c4302b}
.ed-rich-youtube-group .ed-rich-btn:last-child{border-radius:0 7px 7px 0}
.ed-rich-box-width,.ed-rich-box-border-width,.ed-rich-box-shadow{max-width:104px}
.ed-rich-color{height:32px;min-width:42px;display:inline-flex;align-items:center;justify-content:center;gap:3px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-2);color:var(--text-secondary);cursor:pointer}
.ed-rich-color input{width:22px;height:22px;border:0;background:transparent;padding:0;cursor:pointer}
.ed-rich-svg-button{width:auto;min-width:104px;padding:0 10px;gap:6px;color:var(--accent-text);border-color:var(--accent-border);background:var(--accent-bg)}
.ed-rich-svg-button span{font-size:12px;font-weight:700}
.ed-emoji-pick{position:relative;display:inline-flex;align-items:center;gap:3px;padding:0 3px;border-left:1px solid var(--border)}
.ed-emoji-pick .ed-rich-btn{font-size:15px}
.ed-emoji-panel{position:fixed;z-index:120;width:360px;max-width:calc(100vw - 24px);max-height:420px;overflow:auto;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);padding:9px;box-shadow:0 20px 55px rgba(0,0,0,.25)}
.ed-emoji-panel[hidden]{display:none}
.ed-emoji-search{width:100%;height:32px;margin-bottom:8px;padding:0 9px;font-size:12px}
.ed-emoji-groups{display:flex;flex-direction:column;gap:8px}
.ed-emoji-group-title{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:2px 0 4px}
.ed-emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(32px,1fr));gap:4px}
.ed-emoji-grid .ed-rich-btn{font-size:17px;background:var(--surface-1)}
.ed-html-toggle.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.ed-rich-input{min-height:260px;max-height:54vh;overflow:auto;padding:14px 15px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:0 0 var(--radius) var(--radius);color:var(--text-primary);line-height:1.72;outline:none}
.ed-rich-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.ed-rich-input .youtube-block iframe{pointer-events:none}
.ed-rich-input p{margin:.3rem 0 .75rem}
.ed-rich-input ul,.ed-rich-input ol{padding-left:1.35rem}
.ed-rich-input li{margin:.25rem 0}
.ed-rich-html-input{width:100%;min-height:320px;max-height:58vh;overflow:auto;padding:14px 15px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:0 0 var(--radius) var(--radius);color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.55;tab-size:2;resize:vertical;outline:none}
.ed-rich-html-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}
.ed-latex-panel{width:min(980px,94vw);resize:both;overflow:auto}
.ed-latex-body{display:grid;grid-template-columns:minmax(360px,1fr) minmax(280px,.8fr);gap:14px;align-items:stretch}
.ed-latex-input{min-height:190px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;line-height:1.55}
.ed-latex-side{display:flex;flex-direction:column;gap:8px}
.ed-latex-label{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}
.ed-latex-preview{min-height:118px;display:flex;align-items:center;justify-content:center;padding:12px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);overflow:auto}
.ed-latex-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.ed-latex-examples button{height:auto;min-height:34px;padding:7px 9px;justify-content:flex-start;text-align:left;font-size:12px;background:var(--surface-2)}
@media (max-width:760px){.ed-latex-body{grid-template-columns:1fr}.ed-rich-math-group .ed-rich-math-input{width:160px}}
.ed-rich-svg-modal{z-index:150}
.ed-rich-svg-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(1120px,96vw);height:min(780px,92vh);overflow:hidden;resize:both}
.ed-rich-svg-panel .ed-modal-head{position:static;align-items:flex-start}
.ed-rich-svg-panel .ed-modal-head>div{min-width:0}
.ed-rich-svg-head-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.ed-rich-svg-head-actions .btn-accent{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 13px;border-radius:9px;font-size:12px;font-weight:800}
.ed-rich-svg-panel .ed-modal-head .eyebrow{color:var(--accent-text)}
.ed-rich-svg-panel .ed-modal-head h2{margin:2px 0 3px;font-size:24px}
.ed-rich-svg-panel .ed-modal-head p{margin:0;color:var(--text-muted);font-size:12px}
.ed-rich-svg-controls{display:grid;grid-template-columns:minmax(280px,1fr) minmax(180px,280px) auto;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface-1)}
.ed-rich-svg-controls label{position:relative;display:block}
.ed-rich-svg-controls label i{position:absolute;top:50%;left:12px;z-index:1;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}
.ed-rich-svg-controls input,.ed-rich-svg-controls select{width:100%;height:42px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-2);color:var(--text-primary);font:inherit}
.ed-rich-svg-controls input{padding:0 12px 0 38px}
.ed-rich-svg-controls select{padding:0 10px}
.ed-rich-svg-controls>button{min-height:42px;white-space:nowrap}
.ed-rich-svg-results{min-height:0;overflow:auto;padding:16px;background:color-mix(in srgb,var(--surface-1) 55%,var(--surface-2))}
.ed-rich-svg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ed-rich-svg-card{position:relative;display:grid;height:auto;min-height:250px;grid-template-rows:170px minmax(0,1fr);overflow:hidden;padding:0;text-align:left;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--text-primary);box-shadow:none}
.ed-rich-svg-card:hover,.ed-rich-svg-card:focus-visible{border-color:var(--accent);background:var(--surface-2);box-shadow:0 10px 28px rgba(8,36,62,.12);transform:translateY(-1px)}
.ed-rich-svg-card.is-new{border-color:var(--success-text);box-shadow:0 0 0 3px color-mix(in srgb,var(--success-text) 13%,transparent)}
.ed-rich-svg-copy mark{display:inline-flex;align-items:center;gap:4px;width:max-content;max-width:100%;margin-bottom:3px;padding:3px 6px;border-radius:999px;background:var(--success-bg);color:var(--success-text);font-size:9px;font-weight:850;text-transform:uppercase}
.ed-rich-svg-preview{display:flex;align-items:center;justify-content:center;overflow:hidden;padding:12px;border-bottom:1px solid var(--border);background:var(--surface-1)}
.ed-rich-svg-preview svg{display:block;width:100%;height:100%;max-height:150px}
.ed-rich-svg-copy{display:grid;align-content:start;gap:3px;min-width:0;padding:12px 38px 12px 13px}
.ed-rich-svg-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.ed-rich-svg-copy small{color:var(--accent-text);font-size:10px;font-weight:700}
.ed-rich-svg-copy em{display:-webkit-box;overflow:hidden;margin-top:4px;color:var(--text-muted);font-size:11px;font-style:normal;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.ed-rich-svg-card>i{position:absolute;right:12px;bottom:14px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--accent-bg);color:var(--accent-text);font-size:16px}
.ed-rich-svg-loading,.ed-rich-svg-empty{display:flex;min-height:260px;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--text-muted);text-align:center}
.ed-rich-svg-loading i,.ed-rich-svg-empty i{font-size:34px;color:var(--accent)}
.ed-rich-svg-loading i{animation:svg-rich-spin 1.1s linear infinite}
.ed-rich-svg-empty b{color:var(--text-primary);font-size:16px}
.ed-rich-svg-empty span{font-size:12px}
.ed-rich-svg-panel .ed-modal-actions{justify-content:flex-end}
.ed-rich-svg-panel .ed-modal-actions>span{display:inline-flex;align-items:center;gap:6px;margin-right:auto;color:var(--success-text);font-size:11px;font-weight:700}
@keyframes svg-rich-spin{to{transform:rotate(360deg)}}
@media(max-width:820px){.ed-rich-svg-panel{width:100%;height:96vh;resize:none}.ed-rich-svg-panel .ed-modal-head{gap:10px}.ed-rich-svg-head-actions .btn-accent span{display:none}.ed-rich-svg-controls{grid-template-columns:1fr}.ed-rich-svg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.ed-rich-svg-grid{grid-template-columns:1fr}.ed-rich-svg-card{min-height:220px}.ed-rich-svg-panel .ed-modal-actions>span{display:none}}
.ed-flow-page{max-width:850px;margin:0 auto;padding:.35rem .2rem 1rem}
.editor-object-shell .ed-object-layout{
  width:100%;
  max-width:none;
  margin:0;
  padding:18px clamp(16px,2vw,34px);
}
.editor-object-shell .ed-object-board{
  width:100%;
}
.editor-object-shell .ed-flow-page{
  width:100%;
  max-width:none;
  margin:0;
  padding:.35rem .2rem 1rem;
}
.ed-flow-object{position:relative;margin:.55rem 0;padding:.35rem .55rem;border:1px solid transparent;border-radius:var(--radius);transition:border-color .14s,background .14s,box-shadow .14s}
.ed-flow-object:hover{border-color:var(--accent-border);background:color-mix(in srgb,var(--accent-bg) 38%,transparent);box-shadow:0 8px 24px rgba(0,0,0,.05)}
.ed-flow-object h1{font-size:28px;line-height:1.16;margin:.55rem 0 .35rem}
.ed-flow-object h3{font-size:19px;line-height:1.35;margin:.25rem 0 .4rem}
.ed-flow-object p{color:var(--text-secondary);line-height:1.76;margin:.25rem 0}
.ed-flow-object .rich-par{margin:.25rem 0}
.ed-flow-object.is-inlineable .ed-flow-content{position:relative;border-radius:6px;cursor:text}
.ed-flow-object.is-inlineable .ed-flow-content:hover{box-shadow:inset 0 0 0 1px var(--c-lift);background:color-mix(in srgb,var(--success-bg) 42%,transparent)}
.ed-placeholder{display:flex;justify-content:flex-end;margin:.35rem 0 0}
.ed-handle{height:28px;padding:0 9px;border-radius:999px;font-size:12px;gap:5px;background:var(--surface-2);border:1px dashed var(--accent-border);color:var(--accent-text);box-shadow:none}
.ed-handle:hover{background:var(--accent-bg);border-style:solid}
.ed-handle i{font-size:14px}
.ed-handle-action{border-color:var(--border-strong);color:var(--text-secondary)}
.ed-inline-active{outline:2px solid var(--accent);outline-offset:4px;background:var(--surface-2);border-radius:6px;min-height:1.6em}
.ed-flow-content[contenteditable="true"],.ed-inline-active[contenteditable="true"]{cursor:text}
.ed-inline-actions{display:flex;justify-content:flex-end;margin:-.2rem .55rem .45rem}
.ed-section-flow-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-bottom:.45rem}
.ed-section-flow-actions>span{margin-right:auto;font-size:12px;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.ed-flow-section{padding:.9rem 1rem;background:var(--surface-2);border-color:var(--border)}
.ed-flow-card{margin:.1rem 0}
.ed-flow-topic{margin:.5rem 0}
.ed-flow-topic .topic-step{min-height:122px}
.ed-flow-figure{margin:.35rem 0;background:var(--surface-1)}
.ed-flow-empty{display:flex;align-items:center;justify-content:center;gap:8px;min-height:96px;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-1);color:var(--text-muted);font-size:13px}
.ed-figure-empty{min-height:140px}
.ed-figure-empty-compact{min-height:34px;justify-content:flex-end;padding:.3rem .6rem;background:transparent;border-color:var(--accent-border);color:var(--accent-text)}
.ed-preview-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}

@media(max-width:860px){
  .sidebar{position:fixed;left:0;top:0;z-index:20;transform:translateX(-100%);transition:transform .2s;box-shadow:0 0 40px rgba(0,0,0,.15)}
  .sidebar.open{transform:translateX(0)}
  .sidebar.admin-sidebar{width:min(310px,90vw);padding-bottom:.7rem}
  .admin-side-close{display:inline-flex}
  .admin-side-top{position:sticky;top:0;z-index:2;background:color-mix(in srgb,var(--surface-1) 94%,transparent);backdrop-filter:blur(8px)}
  .progress-bar{width:80px}
  .brand-sub{display:none}
  .progress,.zoom-ctl{display:none}
  .appr-panel{right:-8px;width:min(286px,calc(100vw - 24px))}
  .theme-swatch{width:32px;height:32px}
  .editor-ribbon{top:62px}
  [data-edit="1"] .topbar{display:flex}
  .editor-head{align-items:stretch;flex-direction:column}
  .editor-week{width:100%;min-width:0}
  .editor-grid{grid-template-columns:1fr}
  .editor-preview{position:static;max-height:none}
  .ed-two{grid-template-columns:1fr}
  .editor-fullbar{position:static;grid-template-columns:1fr;align-items:stretch}
  .editor-actions{justify-content:flex-start}
  .ed-object-layout{padding:10px}
  .ed-object-board{padding:.75rem}
  .ed-doc-title{grid-template-columns:1fr}
  .ed-doc-section-head{align-items:flex-start;flex-direction:column}
  .ed-section-actions{width:100%;justify-content:flex-start}
  .ed-object{grid-template-columns:auto minmax(0,1fr) auto}
  .ed-object-meta{display:none}
  .ed-flow-page{max-width:none}
  .ed-flow-object{padding:.3rem}
  .ed-placeholder,.ed-inline-actions,.ed-section-flow-actions{justify-content:flex-start}
  .ed-modal-panel{min-width:0;resize:vertical}
  .listen-controls,.listen-audio{justify-content:flex-start;min-width:0}
  .listen-btn{flex:0 0 auto}
  .listen-meter{flex:1 1 100%;min-width:0;order:3}
  .listen-meter-tts{order:4}
  .listen-rate{flex:0 0 96px}
  .listen-voice{flex:1 1 180px;max-width:none}
  .listen-toggle-summary{gap:6px}.listen-duration{display:none}
}
@media(min-width:861px){
  .app.sidebar-collapsed .sidebar{display:none}
  .app.sidebar-collapsed .content{width:100%}
  .app.sidebar-collapsed main,.app.sidebar-collapsed .foot{margin-right:auto;margin-left:auto}
}
.topbar-left{display:flex;min-width:0;flex:1 1 300px;align-items:center;gap:10px}
@container app-content (max-width:980px){
  .topbar .progress{display:none}
  .topbar .brand-sub{display:none}
  .content-editing-marker{padding:0 9px;font-size:11px}
}
@container app-content (max-width:720px){
  .topbar .zoom-ctl{display:none}
  .topbar .greeting{display:none}
  .content-editing-marker span{display:none}
  .content-editing-marker{width:32px;padding:0;justify-content:center}
}
[data-present] .sidebar,[data-present] .topbar,[data-present] .foot{display:none}
[data-present] main{max-width:1080px;margin:0 auto;padding-top:2.4rem}
.present-exit{position:fixed;top:14px;right:16px;z-index:80;display:none;align-items:center;gap:6px;font-size:13px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:99px;padding:8px 14px;cursor:pointer;color:var(--text-primary);box-shadow:0 4px 16px rgba(0,0,0,.15)}
[data-present] .present-exit{display:inline-flex}

/* Student study mode: an intentionally isolated, single-week workspace. */
.study-mode-bar{display:none}
[data-study-mode]{--study-bg:#F7F9FA;--study-pattern:rgba(49,82,110,.10)}
[data-study-mode] body{background-color:var(--study-bg);background-image:radial-gradient(circle,var(--study-pattern) .7px,transparent .85px);background-position:0 0;background-size:26px 26px}
[data-study-mode] .sidebar,[data-study-mode] .topbar,[data-study-mode] .foot,[data-study-mode] .week-standard-head,[data-study-mode] .week-neighbor-nav{display:none!important}
[data-study-mode] .app{display:block;min-height:100vh}
[data-study-mode] .content{width:100%;min-height:100vh}
[data-study-mode] main{max-width:1320px;margin:0 auto;padding:18px clamp(14px,3vw,34px) 48px}
[data-study-mode] .study-mode-bar{position:sticky;top:0;z-index:28;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:-18px calc(0px - clamp(14px,3vw,34px)) 22px;padding:12px clamp(14px,3vw,34px);border-bottom:2px solid var(--accent);background:color-mix(in srgb,var(--surface-1) 90%,var(--accent-bg));box-shadow:0 8px 24px rgba(20,35,50,.08)}
[data-study-mode] .week-nav{margin:0 0 20px;padding:11px;border:1px solid var(--accent-border);border-radius:9px;background:color-mix(in srgb,var(--surface-1) 96%,var(--accent-bg));box-shadow:inset 0 3px 0 var(--accent),0 7px 22px rgba(20,35,50,.07)}
[data-study-mode] .week-nav-label{margin:0 3px 9px;color:var(--text-muted)}
[data-study-mode] .tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:0;border:0;border-radius:0;background:transparent;background-image:none;box-shadow:none}
[data-study-mode] .tab{min-height:48px;padding:8px 10px;border:1px solid transparent;background:var(--surface-2);white-space:normal;line-height:1.25}
[data-study-mode] .tab:hover{border-color:var(--accent-border);background:var(--accent-bg);box-shadow:none}
[data-study-mode] .tab.active,[data-study-mode] .tab.active:hover{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 3px 9px color-mix(in srgb,var(--accent) 24%,transparent)}
.study-mode-identity,.study-mode-actions{display:flex;align-items:center;gap:11px;min-width:0}.study-mode-mark{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:8px;background:var(--accent);color:#fff;font-size:21px}.study-mode-identity>span:last-child{display:flex;min-width:0;flex-direction:column;gap:2px}.study-mode-identity small{color:var(--accent-text);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.study-mode-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.study-mode-actions>span{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:11px;font-weight:700}.study-mode-actions>span i{color:var(--accent-text);font-size:16px}.study-mode-notes,.study-mode-exit{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-1);color:var(--text-primary);font:700 11px var(--font);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease,filter .15s ease}.study-mode-notes{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 20%,transparent)}.study-mode-notes i,.study-mode-exit i{color:inherit;pointer-events:none}.study-mode-notes:hover,.study-mode-notes:focus-visible,.study-mode-notes:active{border-color:var(--accent)!important;background:var(--accent)!important;color:#fff!important;-webkit-text-fill-color:#fff;filter:brightness(.92);transform:none}.study-mode-exit:hover,.study-mode-exit:focus-visible{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text);filter:none;transform:none}.study-mode-exit:active{border-color:var(--accent);background:color-mix(in srgb,var(--accent-bg) 72%,var(--surface-1));color:var(--accent-text);transform:none}
.study-appearance-wrap{position:relative}.study-mode-appearance{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 11px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-1);color:var(--text-primary);font:700 11px var(--font);cursor:pointer}.study-mode-appearance i{color:var(--accent);font-size:16px;pointer-events:none}.study-mode-appearance:hover,.study-mode-appearance:focus-visible,.study-mode-appearance[aria-expanded="true"]{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text);filter:none;transform:none}.study-appearance-panel{position:absolute;z-index:36;top:calc(100% + 8px);right:0;width:min(390px,calc(100vw - 28px));padding:13px;border:1px solid var(--accent-border);border-top:3px solid var(--accent);border-radius:8px;background:var(--surface-2);box-shadow:0 18px 46px rgba(10,25,40,.2)}.study-appearance-panel[hidden]{display:none}.study-appearance-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}.study-appearance-head b{font-size:12px}.study-appearance-head small{color:var(--text-muted);font-size:8.5px}.study-appearance-label{display:block;margin:9px 0 5px;color:var(--text-muted);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.study-background-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.study-background-options button{display:flex;min-width:0;min-height:53px;align-items:center;justify-content:center;gap:5px;flex-direction:column;padding:6px;border:1px solid var(--border);border-radius:6px;background-color:var(--surface-1);color:var(--text-secondary);font:700 8.5px var(--font);cursor:pointer}.study-background-options button i{color:var(--accent);font-size:18px}.study-background-options button:hover,.study-background-options button.active{border-color:var(--accent);color:var(--accent-text);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}.study-background-options button[data-study-background-choice="grid"]{background-color:#F7F9FA;background-image:radial-gradient(circle,rgba(49,82,110,.18) .7px,transparent .85px);background-size:13px 13px}.study-background-options button[data-study-background-choice="sky"]{background-color:#F5FAFD;background-image:repeating-linear-gradient(0deg,rgba(55,138,221,.06) 0,rgba(55,138,221,.06) 1px,transparent 1px,transparent 18px)}.study-background-options button[data-study-background-choice="blueprint"]{background-color:#F0F6FA;background-image:linear-gradient(rgba(24,95,165,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(24,95,165,.08) 1px,transparent 1px);background-size:16px 16px}.study-background-options button[data-study-background-choice="graph"]{background-color:#F7FBFC;background-image:linear-gradient(rgba(40,126,156,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(40,126,156,.13) 1px,transparent 1px),linear-gradient(rgba(40,126,156,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(40,126,156,.05) 1px,transparent 1px);background-size:20px 20px,20px 20px,5px 5px,5px 5px}.study-background-options button[data-study-background-choice="ruled"]{background-color:#FCFBF7;background-image:linear-gradient(90deg,transparent 0,transparent 18px,rgba(205,93,103,.14) 18px,rgba(205,93,103,.14) 19px,transparent 19px),repeating-linear-gradient(0deg,transparent 0,transparent 12px,rgba(67,130,180,.13) 12px,rgba(67,130,180,.13) 13px)}.study-background-options button[data-study-background-choice="flightlog"]{background-color:#F7FAF7;background-image:linear-gradient(90deg,transparent 0,transparent 32%,rgba(52,122,116,.11) 32%,rgba(52,122,116,.11) calc(32% + 1px),transparent calc(32% + 1px),transparent 67%,rgba(52,122,116,.11) 67%,rgba(52,122,116,.11) calc(67% + 1px),transparent calc(67% + 1px)),repeating-linear-gradient(0deg,rgba(52,122,116,.04) 0,rgba(52,122,116,.04) 1px,transparent 1px,transparent 13px)}.study-background-options button[data-study-background-choice="paper"]{background-color:#FCFAF4;background-image:repeating-linear-gradient(0deg,rgba(117,104,72,.035) 0,rgba(117,104,72,.035) 1px,transparent 1px,transparent 7px)}.study-background-options button[data-study-background-choice="dusk"]{background-color:#F4F3F7;background-image:radial-gradient(circle,rgba(92,83,118,.12) .7px,transparent .85px);background-size:14px 14px}.study-background-options button[data-study-background-choice="clear"]{background:#fff}.study-accent-options{display:flex;align-items:center;gap:8px}.study-accent-options button{display:grid;place-items:center;width:31px;height:31px;padding:0;border:2px solid transparent;border-radius:50%;background:transparent;cursor:pointer}.study-accent-options button>span{display:block;width:21px;height:21px;border:2px solid rgba(255,255,255,.75);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px rgba(0,0,0,.18)}.study-accent-options button[data-study-accent-choice="blue"]>span{background:#185FA5}.study-accent-options button[data-study-accent-choice="teal"]>span{background:#087E8B}.study-accent-options button[data-study-accent-choice="amber"]>span{background:#B86B12}.study-accent-options button[data-study-accent-choice="rose"]>span{background:#B54268}.study-accent-options button[data-study-accent-choice="violet"]>span{background:#6E56CF}.study-accent-options button.active{border-color:var(--text-primary)}
[data-study-mode][data-study-accent="blue"]{--accent:#185FA5!important;--accent-bg:#E6F1FB!important;--accent-text:#0C447C!important;--accent-border:#85B7EB!important}
[data-study-mode][data-study-accent="teal"]{--accent:#087E8B!important;--accent-bg:#DDF5F4!important;--accent-text:#075B63!important;--accent-border:#79CACB!important}
[data-study-mode][data-study-accent="amber"]{--accent:#B86B12!important;--accent-bg:#FFF0D8!important;--accent-text:#754307!important;--accent-border:#E2B66F!important}
[data-study-mode][data-study-accent="rose"]{--accent:#B54268!important;--accent-bg:#FBE7EE!important;--accent-text:#7D2947!important;--accent-border:#DEA0B7!important}
[data-study-mode][data-study-accent="violet"]{--accent:#6E56CF!important;--accent-bg:#EEEAFB!important;--accent-text:#44348A!important;--accent-border:#B8AAEA!important}
[data-study-mode][data-study-background="sky"] body{background-color:#F5FAFD;background-image:repeating-linear-gradient(0deg,rgba(55,138,221,.032) 0,rgba(55,138,221,.032) 1px,transparent 1px,transparent 64px)}
[data-study-mode][data-study-background="blueprint"] body{background-color:#F0F6FA;background-image:linear-gradient(rgba(24,95,165,.052) 1px,transparent 1px),linear-gradient(90deg,rgba(24,95,165,.052) 1px,transparent 1px),linear-gradient(rgba(24,95,165,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(24,95,165,.022) 1px,transparent 1px);background-size:56px 56px,56px 56px,14px 14px,14px 14px}
[data-study-mode][data-study-background="graph"] body{background-color:#F7FBFC;background-image:linear-gradient(rgba(40,126,156,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(40,126,156,.075) 1px,transparent 1px),linear-gradient(rgba(40,126,156,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(40,126,156,.028) 1px,transparent 1px);background-size:80px 80px,80px 80px,16px 16px,16px 16px}
[data-study-mode][data-study-background="ruled"] body{background-color:#FCFBF7;background-image:linear-gradient(90deg,transparent 0,transparent 72px,rgba(205,93,103,.075) 72px,rgba(205,93,103,.075) 73px,transparent 73px),repeating-linear-gradient(0deg,transparent 0,transparent 31px,rgba(67,130,180,.075) 31px,rgba(67,130,180,.075) 32px)}
[data-study-mode][data-study-background="flightlog"] body{background-color:#F7FAF7;background-image:linear-gradient(90deg,transparent 0,transparent 24%,rgba(52,122,116,.065) 24%,rgba(52,122,116,.065) calc(24% + 1px),transparent calc(24% + 1px),transparent 57%,rgba(52,122,116,.065) 57%,rgba(52,122,116,.065) calc(57% + 1px),transparent calc(57% + 1px),transparent 80%,rgba(52,122,116,.065) 80%,rgba(52,122,116,.065) calc(80% + 1px),transparent calc(80% + 1px)),repeating-linear-gradient(0deg,rgba(52,122,116,.034) 0,rgba(52,122,116,.034) 1px,transparent 1px,transparent 48px)}
[data-study-mode][data-study-background="paper"] body{background-color:#FCFAF4;background-image:repeating-linear-gradient(0deg,rgba(117,104,72,.017) 0,rgba(117,104,72,.017) 1px,transparent 1px,transparent 7px),repeating-linear-gradient(90deg,rgba(117,104,72,.012) 0,rgba(117,104,72,.012) 1px,transparent 1px,transparent 11px)}
[data-study-mode][data-study-background="dusk"] body{background-color:#F4F3F7;background-image:radial-gradient(circle,rgba(92,83,118,.075) .7px,transparent .85px);background-size:28px 28px}
[data-study-mode][data-study-background="clear"] body{background:var(--bg);background-image:none}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode]{--study-bg:#1D2022;--study-pattern:rgba(170,187,200,.11)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-accent="blue"]{--accent:#65A9EA!important;--accent-bg:#183A58!important;--accent-text:#C6E2FB!important;--accent-border:#326996!important}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-accent="teal"]{--accent:#4CC4C7!important;--accent-bg:#153F40!important;--accent-text:#BDEDEE!important;--accent-border:#2A7476!important}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-accent="amber"]{--accent:#E2A85A!important;--accent-bg:#4B351A!important;--accent-text:#FFE0AE!important;--accent-border:#8B6736!important}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-accent="rose"]{--accent:#E17B9D!important;--accent-bg:#4A2432!important;--accent-text:#F7C3D4!important;--accent-border:#8A4860!important}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-accent="violet"]{--accent:#9D8AE8!important;--accent-bg:#342D5A!important;--accent-text:#DED6FC!important;--accent-border:#6656A7!important}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-background="sky"] body{background-color:#172128;background-image:repeating-linear-gradient(0deg,rgba(95,160,210,.065) 0,rgba(95,160,210,.065) 1px,transparent 1px,transparent 64px)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-background="blueprint"] body{background-color:#142332;background-image:linear-gradient(rgba(110,174,224,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(110,174,224,.09) 1px,transparent 1px),linear-gradient(rgba(110,174,224,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(110,174,224,.035) 1px,transparent 1px);background-size:56px 56px,56px 56px,14px 14px,14px 14px}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-background="graph"] body{background-color:#142729;background-image:linear-gradient(rgba(94,190,198,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(94,190,198,.10) 1px,transparent 1px),linear-gradient(rgba(94,190,198,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(94,190,198,.035) 1px,transparent 1px);background-size:80px 80px,80px 80px,16px 16px,16px 16px}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-background="ruled"] body{background-color:#211F1C;background-image:linear-gradient(90deg,transparent 0,transparent 72px,rgba(220,111,123,.12) 72px,rgba(220,111,123,.12) 73px,transparent 73px),repeating-linear-gradient(0deg,transparent 0,transparent 31px,rgba(101,163,209,.11) 31px,rgba(101,163,209,.11) 32px)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-background="flightlog"] body{background-color:#182521;background-image:linear-gradient(90deg,transparent 0,transparent 24%,rgba(102,192,174,.10) 24%,rgba(102,192,174,.10) calc(24% + 1px),transparent calc(24% + 1px),transparent 57%,rgba(102,192,174,.10) 57%,rgba(102,192,174,.10) calc(57% + 1px),transparent calc(57% + 1px),transparent 80%,rgba(102,192,174,.10) 80%,rgba(102,192,174,.10) calc(80% + 1px),transparent calc(80% + 1px)),repeating-linear-gradient(0deg,rgba(102,192,174,.06) 0,rgba(102,192,174,.06) 1px,transparent 1px,transparent 48px)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-background="paper"] body{background-color:#211F1A;background-image:repeating-linear-gradient(0deg,rgba(213,193,139,.04) 0,rgba(213,193,139,.04) 1px,transparent 1px,transparent 7px),repeating-linear-gradient(90deg,rgba(213,193,139,.025) 0,rgba(213,193,139,.025) 1px,transparent 1px,transparent 11px)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-background="dusk"] body{background-color:#211E27;background-image:radial-gradient(circle,rgba(161,143,199,.11) .7px,transparent .85px);background-size:28px 28px}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode][data-study-background="clear"] body{background:var(--bg);background-image:none}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode] .study-background-options button[data-study-background-choice="grid"]{background-color:#1D2022;background-image:radial-gradient(circle,rgba(170,187,200,.17) .7px,transparent .85px)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode] .study-background-options button[data-study-background-choice="sky"]{background-color:#172128;background-image:repeating-linear-gradient(0deg,rgba(95,160,210,.10) 0,rgba(95,160,210,.10) 1px,transparent 1px,transparent 18px)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode] .study-background-options button[data-study-background-choice="blueprint"]{background-color:#142332;background-image:linear-gradient(rgba(110,174,224,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(110,174,224,.13) 1px,transparent 1px)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode] .study-background-options button[data-study-background-choice="graph"]{background-color:#142729;background-image:linear-gradient(rgba(94,190,198,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(94,190,198,.15) 1px,transparent 1px),linear-gradient(rgba(94,190,198,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(94,190,198,.05) 1px,transparent 1px);background-size:20px 20px,20px 20px,5px 5px,5px 5px}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode] .study-background-options button[data-study-background-choice="ruled"]{background-color:#211F1C;background-image:linear-gradient(90deg,transparent 0,transparent 18px,rgba(220,111,123,.17) 18px,rgba(220,111,123,.17) 19px,transparent 19px),repeating-linear-gradient(0deg,transparent 0,transparent 12px,rgba(101,163,209,.16) 12px,rgba(101,163,209,.16) 13px)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode] .study-background-options button[data-study-background-choice="flightlog"]{background-color:#182521;background-image:linear-gradient(90deg,transparent 0,transparent 32%,rgba(102,192,174,.15) 32%,rgba(102,192,174,.15) calc(32% + 1px),transparent calc(32% + 1px),transparent 67%,rgba(102,192,174,.15) 67%,rgba(102,192,174,.15) calc(67% + 1px),transparent calc(67% + 1px)),repeating-linear-gradient(0deg,rgba(102,192,174,.08) 0,rgba(102,192,174,.08) 1px,transparent 1px,transparent 13px)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode] .study-background-options button[data-study-background-choice="paper"]{background-color:#211F1A;background-image:repeating-linear-gradient(0deg,rgba(213,193,139,.07) 0,rgba(213,193,139,.07) 1px,transparent 1px,transparent 7px)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode] .study-background-options button[data-study-background-choice="dusk"]{background-color:#211E27;background-image:radial-gradient(circle,rgba(161,143,199,.16) .7px,transparent .85px)}
:is([data-theme="dark"],[data-theme="storm"])[data-study-mode] .study-background-options button[data-study-background-choice="clear"]{background:var(--bg)}
@media(max-width:900px){[data-study-mode] .tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){[data-study-mode] .study-mode-bar{align-items:stretch;flex-direction:column;gap:9px}.study-mode-actions{justify-content:space-between;padding-left:51px}.study-mode-identity strong{white-space:normal}.study-mode-actions>span{font-size:10px}}
@media(max-width:430px){[data-study-mode] .tabs{grid-template-columns:1fr}.study-mode-actions{align-items:stretch;flex-direction:column;padding-left:0}.study-mode-notes,.study-mode-exit{width:100%}}

/* Private study notebook */
body.study-notebook-docked .app{width:calc(100% - clamp(520px,46vw,760px) - 18px);transition:width .2s ease}
.study-notebook-modal{position:fixed;inset:0;z-index:3000;pointer-events:none}
.study-notebook-shell{position:absolute;top:50%;left:50%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(1180px,calc(100vw - 56px));height:min(820px,calc(100dvh - 56px));overflow:hidden;transform:translate(-50%,-50%);pointer-events:auto;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-1);box-shadow:0 24px 72px rgba(5,16,28,.28);transition:width .2s ease,height .2s ease,top .2s ease,left .2s ease,right .2s ease,bottom .2s ease,transform .2s ease,border-radius .2s ease}
.study-notebook-dragging .study-notebook-shell{transition:none}
.study-notebook-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:13px 14px 13px 18px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--accent-bg) 35%,var(--surface-1));user-select:none}
.study-notebook-drag-handle{min-width:0;flex:1;cursor:grab;touch-action:none}.study-notebook-dragging .study-notebook-drag-handle{cursor:grabbing}.study-notebook-drag-handle>span{display:inline-flex;align-items:center;gap:6px;color:var(--accent-text);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.study-notebook-head h2{overflow:hidden;margin:3px 0 2px;font-size:21px;text-overflow:ellipsis;white-space:nowrap}.study-notebook-head p{overflow:hidden;margin:0;color:var(--text-muted);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.study-notebook-window-controls{display:flex;align-items:center;gap:5px;flex:0 0 auto}.study-notebook-window-controls .icon-btn{flex:0 0 34px;width:34px;height:34px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-1);color:var(--text-secondary);font-size:17px;filter:none;transform:none;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.study-notebook-window-controls .icon-btn>i{color:inherit;pointer-events:none}.study-notebook-window-controls .icon-btn:hover:not(:disabled),.study-notebook-window-controls .icon-btn:focus-visible{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text);box-shadow:none;filter:none;transform:none}.study-notebook-window-controls button[aria-pressed="true"],.study-notebook-window-controls button[aria-pressed="true"]:hover{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text);filter:none;transform:none}.study-notebook-window-controls [data-study-close]:hover:not(:disabled),.study-notebook-window-controls [data-study-close]:focus-visible{border-color:color-mix(in srgb,var(--danger-text) 45%,var(--border));background:var(--danger-bg);color:var(--danger-text)}.study-notebook-window-controls button:disabled{opacity:.35;cursor:not-allowed}
.study-notebook-modal[data-window-mode="docked"] .study-notebook-shell{top:9px;right:9px;bottom:9px;left:auto;width:clamp(520px,46vw,760px);height:auto;transform:none;border-radius:8px;box-shadow:0 16px 48px rgba(5,16,28,.22)}
.study-notebook-modal[data-window-mode="fullscreen"] .study-notebook-shell{inset:0;width:100vw;height:100dvh;transform:none;border:0;border-radius:0;box-shadow:none}
.study-notebook-modal[data-window-mode="minimized"] .study-notebook-shell{top:auto;right:16px;bottom:16px;left:auto;width:min(420px,calc(100vw - 32px));height:66px;transform:none;border-color:var(--accent-border);border-radius:8px;box-shadow:0 14px 38px rgba(5,16,28,.26)}
.study-notebook-modal[data-window-mode="minimized"] .study-notebook-body,.study-notebook-modal[data-window-mode="minimized"] .study-notebook-foot{display:none}.study-notebook-modal[data-window-mode="minimized"] .study-notebook-head{align-items:center;height:100%;padding:9px 10px 9px 14px;border:0}.study-notebook-modal[data-window-mode="minimized"] .study-notebook-drag-handle{cursor:default}.study-notebook-modal[data-window-mode="minimized"] .study-notebook-drag-handle>span,.study-notebook-modal[data-window-mode="minimized"] .study-notebook-head p{display:none}.study-notebook-modal[data-window-mode="minimized"] .study-notebook-head h2{margin:0;font-size:13px}.study-notebook-modal[data-window-mode="minimized"] [data-study-dock],.study-notebook-modal[data-window-mode="minimized"] [data-study-fullscreen]{display:none}
.study-notebook-body{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:0}
.study-checkpoint-nav{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-height:0;border-right:1px solid var(--border);background:var(--surface-2)}
.study-checkpoint-nav-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px 8px}.study-checkpoint-nav-head>div{display:flex;flex-direction:column}.study-checkpoint-nav-head b{font-size:13px}.study-checkpoint-nav-head span{color:var(--text-muted);font-size:9px}.study-checkpoint-nav-head button{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#fff;cursor:pointer}
.study-checkpoint-search{position:relative;display:block;margin:0 12px 10px}.study-checkpoint-search i{position:absolute;top:50%;left:10px;transform:translateY(-50%);color:var(--text-muted);font-size:16px;pointer-events:none}.study-checkpoint-search input{width:100%;height:38px;padding:0 10px 0 34px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-1);color:var(--text);font:11px var(--font)}
.study-checkpoint-list{min-height:0;overflow:auto;padding:0 8px 12px}.study-checkpoint-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:62px;margin:0 0 5px;padding:8px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.study-checkpoint-item:hover{border-color:var(--border);background:var(--surface-1)}.study-checkpoint-item.active{border-color:var(--accent);background:var(--accent-bg);box-shadow:inset 3px 0 var(--accent)}.study-checkpoint-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:6px;background:var(--surface-1);color:var(--accent-text);font-size:16px}.study-checkpoint-item.active .study-checkpoint-icon{background:var(--accent);color:#fff}.study-checkpoint-item>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:2px}.study-checkpoint-item b,.study-checkpoint-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.study-checkpoint-item b{font-size:10.5px}.study-checkpoint-item small{color:var(--text-muted);font-size:8px}.study-checkpoint-item em{display:inline-flex;align-items:center;gap:3px;color:var(--text-muted);font-size:8px;font-style:normal}.study-checkpoint-empty,.study-checkpoint-loading{display:flex;align-items:center;justify-content:center;min-height:150px;flex-direction:column;gap:6px;padding:18px;color:var(--text-muted);text-align:center}.study-checkpoint-empty i{font-size:25px}.study-checkpoint-empty b{color:var(--text-secondary);font-size:11px}.study-checkpoint-empty span{font-size:9px;line-height:1.4}.study-checkpoint-loading{flex-direction:row;min-height:120px;font-size:10px}.study-checkpoint-loading i{animation:career-spin 1s linear infinite}
.study-notebook-editor{min-width:0;min-height:0;overflow:auto;padding:17px 18px 22px}.study-editor-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:11px}.study-editor-head>label{display:flex;min-width:260px;max-width:720px;flex:1;flex-direction:column;gap:5px}.study-editor-head label>span{color:var(--text-muted);font-size:8.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.study-editor-head input{width:100%;height:43px;padding:0 11px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-1);color:var(--text);font:700 14px var(--font)}.study-editor-meta{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.study-editor-meta span{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:8.5px;font-weight:700}
.study-editor-tabs{display:flex;align-items:center;gap:5px;margin-bottom:10px;border-bottom:1px solid var(--border)}.study-editor-tabs button{display:inline-flex;align-items:center;gap:6px;min-height:39px;margin-bottom:-1px;padding:8px 12px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--text-secondary);font:800 10.5px var(--font);cursor:pointer}.study-editor-tabs button:hover{color:var(--accent-text)}.study-editor-tabs button.active{border-bottom-color:var(--accent);color:var(--accent-text)}
.study-editor-panel{display:none}.study-editor-panel.active{display:block}.study-note-toolbar{display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:7px;border:1px solid var(--border-strong);border-bottom:0;border-radius:7px 7px 0 0;background:var(--surface-2)}.study-history-controls{display:inline-flex;align-items:center;gap:3px;margin-right:3px;padding-right:6px;border-right:1px solid var(--border)}.study-note-toolbar button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--border);border-radius:5px;background:var(--surface-1);color:var(--text);cursor:pointer}.study-note-toolbar button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-text)}.study-note-toolbar button:disabled{opacity:.38;cursor:not-allowed}.study-note-input{min-height:430px;padding:18px;border:1px solid var(--border-strong);border-radius:0 0 7px 7px;background:var(--surface-1);color:var(--text);font-size:13px;line-height:1.65;outline:none}.study-note-input:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.study-note-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-bg)}
.study-diagram-tools{display:grid;min-width:0;gap:6px;margin-bottom:9px;padding:8px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2)}.study-diagram-toolset{display:flex;min-width:0;align-items:center;gap:5px;flex-wrap:wrap}.study-diagram-toolset[hidden],.study-emoji-strip[hidden],.study-modify-inspector[hidden]{display:none!important}.study-tool-label{padding:0 4px;color:var(--text-muted);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.study-tool-label:not(:first-child){margin-left:5px;padding-left:10px;border-left:1px solid var(--border)}.study-diagram-toolset button{position:relative;display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;padding:0;border:1px solid var(--border);border-radius:5px;background:var(--surface-1);color:var(--text-secondary);cursor:pointer}.study-diagram-toolset button i{font-size:18px}.study-diagram-toolset button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.study-diagram-toolset button:hover,.study-diagram-toolset button.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text)}.study-diagram-properties{display:grid;grid-template-columns:86px minmax(150px,250px) minmax(150px,290px);align-items:end;justify-content:start;gap:7px;padding-top:7px;border-top:1px solid var(--border)}.study-diagram-properties label{display:flex;min-width:0;flex-direction:column;gap:4px}.study-diagram-properties label>span{overflow:hidden;color:var(--text-muted);font-size:8px;font-weight:800;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.study-diagram-properties input{width:100%;height:34px;padding:4px 8px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface-1);color:var(--text);font:10px var(--font)}.study-diagram-properties input:disabled{opacity:.48;cursor:not-allowed}.study-diagram-properties input[type=color]{padding:3px}.study-size-control input{padding:0}.study-diagram-tools[data-active-tool="emoji"] .study-diagram-properties label:last-child{max-width:150px}.study-emoji-strip{display:flex;min-width:0;align-items:center;gap:4px;overflow-x:auto;padding:1px 0}.study-emoji-strip button{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid var(--border);border-radius:5px;background:var(--surface-1);font-size:16px;cursor:pointer}.study-emoji-strip button:hover,.study-emoji-strip button.active{border-color:var(--accent);background:var(--accent-bg);box-shadow:inset 0 0 0 1px var(--accent)}.study-modify-inspector{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px;padding:7px 8px;border:1px solid var(--accent-border);border-radius:6px;background:color-mix(in srgb,var(--accent-bg) 60%,var(--surface-1))}.study-modify-inspector>span{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 7px;min-width:0}.study-modify-inspector>span>i{grid-row:1/3;color:var(--accent-text);font-size:20px}.study-modify-inspector b{overflow:hidden;color:var(--text);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.study-modify-inspector small{overflow:hidden;color:var(--text-muted);font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}.study-modify-inspector>div{display:flex;min-width:0;align-items:center;gap:5px;flex:0 1 auto;flex-wrap:wrap}.study-modify-inspector button{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:5px 8px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface-1);color:var(--text-secondary);font:700 8.5px var(--font);cursor:pointer}.study-modify-inspector button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-text)}.study-modify-inspector button.danger{color:var(--danger-text)}.study-modify-inspector button:disabled{opacity:.4;cursor:not-allowed}
.study-canvas-wrap{position:relative;width:100%;overflow:hidden;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-1)}.study-diagram-canvas{display:block;width:100%;height:auto;aspect-ratio:900/520;min-height:300px;color:var(--border-strong);cursor:crosshair;touch-action:none;user-select:none}.study-diagram-object{cursor:grab}.study-diagram-object:active{cursor:grabbing}.study-object-hit-area{fill:transparent;stroke:none;pointer-events:all}.study-diagram-object.selected>path:not(.study-bezier-guides path),.study-diagram-object.selected>line,.study-diagram-object.selected>circle:not(.study-bezier-guides circle),.study-diagram-object.selected>ellipse{filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent) 65%,transparent))}.study-object-label{paint-order:stroke;stroke:var(--surface-1);stroke-width:4px;stroke-linejoin:round;pointer-events:none}.study-bezier-guides path{fill:none;stroke:var(--text-muted);stroke-width:1.5;stroke-dasharray:6 5;vector-effect:non-scaling-stroke;pointer-events:none}.study-bezier-guides circle{fill:var(--surface-1);stroke:var(--accent);stroke-width:3;vector-effect:non-scaling-stroke;cursor:move}.study-diagram-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 1px 0}.study-diagram-foot>span{color:var(--text-muted);font-size:9px}.study-diagram-foot>div{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.study-diagram-foot button{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:6px 8px;border:1px solid var(--border);border-radius:5px;background:var(--surface-1);color:var(--text-secondary);font:700 8.5px var(--font);cursor:pointer}.study-diagram-foot button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-text)}.study-diagram-foot button:disabled{opacity:.4;cursor:not-allowed}
.study-notebook-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;padding:10px 16px;border-top:1px solid var(--border);background:var(--surface-2)}.study-notebook-status{color:var(--text-muted);font-size:10px}.study-notebook-status.dirty{color:#8A5700}.study-notebook-status.error{color:var(--danger-text)}.study-notebook-status.saved{color:#176B3A}.study-notebook-status.working{color:var(--accent-text)}.study-notebook-foot>div{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.study-notebook-foot button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:39px;padding:8px 11px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-1);color:var(--text);font:700 10px var(--font);cursor:pointer}.study-notebook-foot .study-delete-checkpoint{color:var(--danger-text)}.study-notebook-foot .btn-accent{border-color:var(--accent);background:var(--accent);color:#fff}

.study-notebook-modal{--study-paper:#FFFEFB;--study-paper-ink:#202B34;--study-paper-rule:rgba(55,101,145,.09);--study-paper-major:rgba(55,101,145,.15);--study-watermark:rgba(24,95,165,.052)}
.study-notebook-modal[data-page-color="ivory"]{--study-paper:#FFFBF1;--study-paper-ink:#39342A;--study-paper-rule:rgba(132,104,51,.085);--study-paper-major:rgba(132,104,51,.14);--study-watermark:rgba(150,101,20,.048)}
.study-notebook-modal[data-page-color="sky"]{--study-paper:#F5FAFE;--study-paper-ink:#17354C;--study-paper-rule:rgba(34,118,181,.085);--study-paper-major:rgba(34,118,181,.14);--study-watermark:rgba(24,95,165,.052)}
.study-notebook-modal[data-page-color="mint"]{--study-paper:#F5FBF8;--study-paper-ink:#19382E;--study-paper-rule:rgba(26,128,91,.08);--study-paper-major:rgba(26,128,91,.135);--study-watermark:rgba(13,120,84,.05)}
.study-notebook-modal[data-page-color="slate"]{--study-paper:#F1F3F5;--study-paper-ink:#29333C;--study-paper-rule:rgba(80,99,116,.09);--study-paper-major:rgba(80,99,116,.15);--study-watermark:rgba(66,85,103,.052)}
.study-notebook-body{transition:grid-template-columns .2s ease}.study-notebook-modal[data-rail-collapsed="true"] .study-notebook-body{grid-template-columns:0 minmax(0,1fr)}.study-notebook-modal[data-rail-collapsed="true"] .study-checkpoint-nav{overflow:hidden;visibility:hidden;opacity:0;border:0}.study-checkpoint-nav{transition:opacity .15s ease,visibility .15s ease}
.study-page-controls{display:flex;align-items:center;gap:6px;min-height:41px;margin:0 0 10px;padding:6px 7px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2)}.study-page-controls>span{display:inline-flex;align-items:center;gap:5px;margin-right:3px;color:var(--accent-text);font-size:8px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.study-page-controls select,.study-note-toolbar select{height:32px;max-width:180px;padding:0 25px 0 8px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface-1);color:var(--text-primary);font:700 9px var(--font)}
.study-note-toolbar label{display:flex;align-items:center;justify-content:center;gap:4px;height:34px;padding:4px 5px;border:1px solid var(--border);border-radius:5px;background:var(--surface-1);color:var(--text-secondary)}.study-note-toolbar label i{font-size:15px}.study-note-toolbar input[type="color"]{width:20px;height:22px;padding:0;border:0;background:transparent;cursor:pointer}
.study-ai-handoff{margin:0;border:1px solid var(--border-strong);border-bottom:0;background:color-mix(in srgb,var(--accent-bg) 42%,var(--surface-1))}.study-ai-handoff summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:7px 10px;color:var(--text-secondary);cursor:pointer;list-style:none}.study-ai-handoff summary::-webkit-details-marker{display:none}.study-ai-handoff summary>span{display:inline-flex;align-items:center;gap:6px}.study-ai-handoff summary i:first-child{color:var(--accent-text)}.study-ai-handoff[open] summary>i{transform:rotate(180deg)}.study-ai-handoff-body{padding:0 10px 10px}.study-ai-handoff-body>p{max-width:920px;margin:0 0 8px;color:var(--text-secondary);font-size:9px;line-height:1.5}.study-ai-providers,.study-ai-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.study-ai-providers button,.study-ai-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;padding:6px 9px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface-1);color:var(--text-primary);font:700 9px var(--font);cursor:pointer}.study-ai-providers button:hover,.study-ai-actions button:hover{border-color:var(--accent);color:var(--accent-text)}.study-ai-actions{margin-top:6px;padding-top:6px;border-top:1px solid var(--border)}.study-ai-actions [data-study-ai-status]{flex:1 1 230px;color:var(--text-muted);font-size:8px}.study-ai-actions [data-study-ai-status].is-success{color:var(--success)}.study-ai-actions [data-study-ai-status].is-error{color:var(--danger)}.study-note-input blockquote{margin:10px 0;padding:9px 12px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent-bg) 55%,transparent);color:var(--study-paper-ink)}
.study-note-page,.study-canvas-wrap{position:relative;isolation:isolate;background-color:var(--study-paper);background-image:none;box-shadow:inset 0 0 42px rgba(76,65,41,.018)}.study-notebook-modal[data-page-style="ruled"] .study-note-page,.study-notebook-modal[data-page-style="ruled"] .study-canvas-wrap{background-image:repeating-linear-gradient(0deg,transparent 0,transparent 31px,var(--study-paper-rule) 31px,var(--study-paper-rule) 32px)}.study-notebook-modal[data-page-style="grid"] .study-note-page,.study-notebook-modal[data-page-style="grid"] .study-canvas-wrap{background-image:linear-gradient(var(--study-paper-rule) 1px,transparent 1px),linear-gradient(90deg,var(--study-paper-rule) 1px,transparent 1px);background-size:28px 28px}.study-notebook-modal[data-page-style="dots"] .study-note-page,.study-notebook-modal[data-page-style="dots"] .study-canvas-wrap{background-image:radial-gradient(circle,var(--study-paper-major) .85px,transparent 1px);background-size:22px 22px}.study-notebook-modal[data-page-style="technical"] .study-note-page,.study-notebook-modal[data-page-style="technical"] .study-canvas-wrap{background-image:linear-gradient(var(--study-paper-major) 1px,transparent 1px),linear-gradient(90deg,var(--study-paper-major) 1px,transparent 1px),linear-gradient(var(--study-paper-rule) 1px,transparent 1px),linear-gradient(90deg,var(--study-paper-rule) 1px,transparent 1px);background-size:96px 96px,96px 96px,24px 24px,24px 24px}.study-note-page{height:650px;min-height:650px;overflow:auto;border:1px solid var(--border-strong);border-radius:0 0 7px 7px}.study-note-input{position:relative;z-index:2;min-height:650px;border:0;background:transparent;color:var(--study-paper-ink)}.study-note-input:focus{border:0;box-shadow:inset 0 0 0 2px var(--accent)}.study-canvas-grid{display:none}
.study-note-box-tools{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding-left:7px;border-left:1px solid var(--border)}.study-note-toolbar .study-note-box-tools button{display:inline-flex;width:auto;min-width:34px;padding:0 9px;gap:5px;font:700 8.5px var(--font);white-space:nowrap}.study-note-box-tools button i{font-size:15px}
.study-note-block-layer{position:absolute;z-index:5;inset:0;pointer-events:none}.study-note-block{position:absolute;left:var(--study-block-x);top:var(--study-block-y);width:var(--study-block-w);height:var(--study-block-h);display:grid;grid-template-rows:32px minmax(0,1fr);overflow:hidden;pointer-events:auto;border-color:var(--study-block-border-color);border-width:var(--study-block-border-width);border-style:var(--study-block-border-style);border-radius:7px;background:color-mix(in srgb,var(--study-paper) 94%,transparent);box-shadow:0 8px 22px rgba(20,34,48,.12);transition:border-color .12s ease,box-shadow .12s ease}.study-note-block.selected{z-index:3;outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 20%,transparent)}.study-note-block-head{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 5px 4px 9px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--accent-bg) 72%,var(--surface-1));color:var(--accent-text);cursor:grab;touch-action:none;user-select:none}.study-note-block-head:active{cursor:grabbing}.study-note-block-head span{display:inline-flex;align-items:center;gap:5px;overflow:hidden;font:800 8px var(--font);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.study-note-block-head span b{overflow:hidden;text-overflow:ellipsis;font:inherit}.study-note-block-grip{opacity:.65;font-size:16px}.study-note-block-head button{display:grid;place-items:center;flex:0 0 23px;width:23px;height:23px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer}.study-note-block-head button:hover{background:var(--danger-bg);color:var(--danger-text)}.study-note-block-body{min-height:0;overflow:auto}.study-note-block-text{min-height:100%;padding:10px;color:var(--study-paper-ink);font-size:11px;line-height:1.5;outline:none}.study-note-block-text:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.study-note-block-text:focus{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 38%,transparent)}.study-note-block-diagram{display:block;width:100%;height:100%;min-height:0;background:color-mix(in srgb,var(--study-paper) 88%,var(--surface-1))}.study-note-block-resize{position:absolute;right:2px;bottom:2px;display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:4px;background:color-mix(in srgb,var(--surface-1) 88%,transparent);color:var(--accent-text);cursor:nwse-resize;touch-action:none}.study-note-block-resize i{pointer-events:none}
.study-note-block:not(.selected){grid-template-rows:0 minmax(0,1fr)}.study-note-block:not(.selected) .study-note-block-head{min-height:0;padding-top:0;padding-bottom:0;overflow:hidden;border-bottom:0;opacity:0;visibility:hidden;pointer-events:none}.study-note-block:not(.selected) .study-note-block-resize{opacity:0;visibility:hidden;pointer-events:none}.study-note-block:not(.selected) .study-note-block-text:empty:before{content:""}.study-note-block.selected .study-note-block-head,.study-note-block.selected .study-note-block-resize{opacity:1;visibility:visible}
.study-note-block-inspector{display:grid;grid-template-columns:auto minmax(150px,1.5fr) minmax(110px,.75fr) minmax(110px,.75fr) minmax(96px,.6fr) 82px auto;align-items:end;gap:7px;margin:0;padding:8px;border:1px solid var(--accent-border);border-bottom:0;background:color-mix(in srgb,var(--accent-bg) 55%,var(--surface-1))}.study-note-block-inspector[hidden]{display:none}.study-note-block-inspector-title{display:grid;align-content:center;align-self:stretch;grid-template-columns:auto auto;gap:1px 5px;color:var(--accent-text)}.study-note-block-inspector-title i{grid-row:1/3;align-self:center;font-size:17px}.study-note-block-inspector-title b{font-size:9px;white-space:nowrap}.study-note-block-inspector-title small{color:var(--text-muted);font-size:7.5px}.study-note-block-inspector label{display:grid;gap:3px;min-width:0}.study-note-block-inspector label>span{color:var(--text-muted);font-size:7.5px;font-weight:800;text-transform:uppercase}.study-note-block-inspector input:not([type="color"]),.study-note-block-inspector select{width:100%;height:32px;min-width:0;padding:0 8px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface-1);color:var(--text);font:700 9px var(--font)}.study-note-block-inspector input[type="color"]{width:100%;height:32px;padding:2px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface-1);cursor:pointer}.study-note-block-inspector.border-hidden .study-note-block-border-color{opacity:.45}.study-note-block-inspector>button{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:32px;padding:0 9px;border:1px solid var(--accent);border-radius:5px;background:var(--accent);color:#fff;font:800 8.5px var(--font);cursor:pointer}
.study-page-silhouette{position:absolute;z-index:0;inset:12% 10%;display:grid;place-items:center;color:var(--study-watermark);pointer-events:none}.study-page-silhouette>[data-page-mark]{display:none}.study-page-silhouette>i{font-size:clamp(130px,20vw,270px);line-height:1}.study-notebook-modal[data-page-silhouette="trainer"] [data-page-mark="trainer"],.study-notebook-modal[data-page-silhouette="jet"] [data-page-mark="jet"],.study-notebook-modal[data-page-silhouette="compass"] [data-page-mark="compass"],.study-notebook-modal[data-page-silhouette="airfoil"] [data-page-mark="airfoil"]{display:block}.study-watermark-airfoil{position:relative;width:min(62%,560px);height:23%;min-height:72px;border:10px solid currentColor;border-radius:72% 16% 60% 28%/62% 24% 55% 33%;transform:skewX(-8deg)}.study-watermark-airfoil:after{content:"";position:absolute;top:48%;right:3%;left:3%;border-top:5px solid currentColor;transform:skewX(8deg)}
.study-canvas-modebar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding-bottom:8px;border-bottom:1px solid var(--border)}.study-canvas-modebar button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:7px 10px;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface-1);color:var(--text-secondary);font:800 9px var(--font);cursor:pointer}.study-canvas-modebar button i{font-size:16px}.study-canvas-modebar button:hover{border-color:var(--accent);color:var(--accent-text)}.study-canvas-modebar button.active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 3px 9px color-mix(in srgb,var(--accent) 22%,transparent)}.study-canvas-modebar small{margin-left:auto;color:var(--text-muted);font-size:8.5px}
.study-diagram-canvas{position:relative;z-index:2;color:var(--border-strong);cursor:default}.study-diagram-canvas[data-canvas-mode="insert"]{cursor:crosshair}.study-diagram-canvas[data-canvas-mode="modify"] .study-diagram-object{cursor:grab}.study-diagram-canvas[data-canvas-mode="modify"] .study-diagram-object:active{cursor:grabbing}.study-resize-overlay rect{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:8 5;vector-effect:non-scaling-stroke;pointer-events:none}.study-resize-overlay circle{fill:var(--surface-2);stroke:var(--accent);stroke-width:3;vector-effect:non-scaling-stroke;pointer-events:all}.study-resize-overlay circle[data-study-resize-handle="nw"],.study-resize-overlay circle[data-study-resize-handle="se"]{cursor:nwse-resize}.study-resize-overlay circle[data-study-resize-handle="ne"],.study-resize-overlay circle[data-study-resize-handle="sw"]{cursor:nesw-resize}.study-rotate-overlay>circle:first-child{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-dasharray:7 6;vector-effect:non-scaling-stroke;pointer-events:none}.study-rotate-overlay line{stroke:var(--accent);stroke-width:2;stroke-dasharray:4 4;vector-effect:non-scaling-stroke;pointer-events:none}.study-rotate-overlay .study-rotate-centre{fill:var(--surface-1);stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke;pointer-events:none}.study-rotate-overlay .study-rotate-handle{fill:var(--accent);stroke:var(--surface-1);stroke-width:3;vector-effect:non-scaling-stroke;cursor:grab}.study-rotate-overlay .study-rotate-handle:active{cursor:grabbing}.study-diagram-object.selected>polyline{filter:drop-shadow(0 0 4px color-mix(in srgb,var(--accent) 65%,transparent))}

@media(max-width:980px){body.study-notebook-docked .app{width:100%}.study-notebook-modal[data-window-mode="docked"] .study-notebook-shell{inset:0;width:100vw;height:100dvh;border:0;border-radius:0}.study-notebook-body{grid-template-columns:240px minmax(0,1fr)}.study-editor-head{align-items:stretch;flex-direction:column}.study-editor-meta{justify-content:flex-start}.study-diagram-properties{grid-template-columns:80px minmax(140px,220px) minmax(140px,260px)}.study-modify-inspector{align-items:stretch;flex-direction:column}.study-modify-inspector>div{justify-content:flex-start}.study-diagram-canvas{min-height:250px}.study-diagram-foot{align-items:flex-start;flex-direction:column}.study-diagram-foot>div{justify-content:flex-start}.study-note-block-inspector{grid-template-columns:repeat(3,minmax(0,1fr))}.study-note-block-inspector-title{grid-column:1/-1}.study-note-block-inspector>button{align-self:end}}
@media(max-width:700px){.study-notebook-shell,.study-notebook-modal[data-window-mode="floating"] .study-notebook-shell{inset:0;width:100vw;max-width:100vw;height:100dvh;transform:none;border:0;border-radius:0}.study-notebook-modal[data-window-mode="minimized"] .study-notebook-shell{top:auto;right:8px;bottom:8px;left:auto;width:calc(100vw - 16px);height:62px;border:1px solid var(--accent-border);border-radius:8px}.study-notebook-head{padding:9px 9px 9px 13px}.study-notebook-head h2{font-size:16px}.study-notebook-head p{display:none}.study-notebook-drag-handle{cursor:default}.study-notebook-window-controls{gap:3px}.study-notebook-window-controls .icon-btn{width:32px;height:32px;flex-basis:32px}.study-notebook-window-controls [data-study-dock]{display:none}.study-notebook-body{min-width:0;grid-template-columns:1fr;grid-template-rows:205px minmax(0,1fr)}.study-checkpoint-nav{min-width:0;border-right:0;border-bottom:1px solid var(--border)}.study-checkpoint-nav-head{padding:9px 11px 6px}.study-checkpoint-search{margin:0 10px 7px}.study-checkpoint-list{display:flex;gap:6px;overflow:auto;padding:0 10px 9px}.study-checkpoint-item{flex:0 0 250px;margin:0}.study-checkpoint-empty,.study-checkpoint-loading{min-width:100%;min-height:70px}.study-notebook-editor{width:100%;min-width:0;padding:12px}.study-note-input{min-height:330px}.study-tool-label{display:none}.study-diagram-properties{grid-template-columns:72px minmax(120px,190px) minmax(110px,1fr)}.study-modify-inspector small{white-space:normal}.study-modify-inspector>div{width:100%}.study-diagram-canvas{min-height:220px}.study-notebook-foot{align-items:stretch;flex-direction:column-reverse;padding:8px 10px}.study-notebook-foot>div{display:grid;grid-template-columns:1fr 1fr}.study-notebook-foot .btn-accent{grid-column:1/-1;grid-row:1}.study-notebook-status{text-align:center}}
@media(max-width:430px){.study-notebook-body{grid-template-rows:185px minmax(0,1fr)}.study-checkpoint-item{flex-basis:220px}.study-editor-head>label{min-width:0}.study-diagram-tools{padding:7px}.study-diagram-toolset{gap:4px}.study-diagram-toolset button{flex-basis:34px;width:34px;height:34px}.study-diagram-properties{grid-template-columns:64px minmax(110px,1fr)}.study-diagram-properties label:last-child{grid-column:1/-1;max-width:170px}.study-modify-inspector button span{display:none}.study-diagram-foot>div{display:grid;width:100%;grid-template-columns:1fr 1fr}.study-diagram-foot button{justify-content:center}.study-diagram-canvas{min-height:190px}.study-notebook-foot button{padding:7px 8px;font-size:9px}}
@media(max-width:900px){.study-mode-actions{flex-wrap:wrap}.study-appearance-panel{right:auto;left:0}}
@media(max-width:700px){.study-page-controls{align-items:stretch;flex-wrap:wrap}.study-page-controls>span{width:100%}.study-page-controls label{flex:1 1 120px}.study-page-controls select{width:100%;max-width:none}.study-note-toolbar select{max-width:145px}.study-canvas-modebar small{width:100%;margin:2px 0 0}.study-notebook-modal[data-rail-collapsed="true"] .study-notebook-body{grid-template-columns:1fr;grid-template-rows:0 minmax(0,1fr)}.study-notebook-modal[data-rail-collapsed="true"] .study-checkpoint-nav{border:0}.study-appearance-wrap{width:100%}.study-mode-appearance{width:100%}.study-appearance-panel{right:0;left:auto}}
@media(max-width:430px){.study-background-options{grid-template-columns:repeat(2,minmax(0,1fr))}.study-note-toolbar select{width:100%;max-width:none}.study-note-toolbar{align-items:stretch}.study-note-toolbar button,.study-note-toolbar label{flex:1 0 34px}.study-canvas-modebar button{flex:1 1 calc(50% - 5px)}}
@media(max-width:700px){.study-note-block-inspector{grid-template-columns:repeat(2,minmax(0,1fr))}.study-note-block-inspector-title,.study-note-block-inspector>button{grid-column:1/-1}.study-note-block-inspector>button{width:100%}}
.study-week-loading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:280px;padding:28px;color:var(--text-secondary);text-align:left}.study-week-loading>i{color:var(--accent-text);font-size:28px;animation:spin 1s linear infinite}.study-week-loading>div{display:grid;gap:4px}.study-week-loading strong{color:var(--text-primary);font-size:16px}.study-week-loading span{color:var(--text-muted);font-size:10px}
@media(max-width:620px){.study-ai-providers button{flex:1 1 calc(50% - 5px)}.study-ai-actions button{flex:1 1 100%}.study-ai-actions [data-study-ai-status]{flex-basis:100%}}

.tab:focus-visible,.icon-btn:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tab:focus-visible{outline-offset:2px}
@media(prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
}

/* ---------- Cover / landing page ---------- */
.brand{text-decoration:none;color:inherit}
.cover{width:100%;max-width:none;margin:0;padding-top:.4rem}
.cover-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:2.2rem;align-items:center;margin:.4rem 0 2.6rem}
.cover-hero.is-plain{grid-template-columns:minmax(0,920px);justify-content:start}
.cover-hero-art svg{width:100%;height:auto;display:block}
.cover-art-figure{margin:0 auto}
.cover-art-figure.has-media{box-sizing:border-box;display:grid;place-items:center;width:100%;aspect-ratio:4/3;overflow:hidden;padding:12px;border:1px solid var(--border);border-radius:18px;background:var(--surface-1)}
.cover-art-figure.has-media img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.cover-art-figure figcaption{font-size:12px;color:var(--text-muted);text-align:center;margin-top:.5rem}
.course-home-visual-manager{margin:0 0 20px;padding:24px;border:1px solid var(--border-strong);border-radius:18px;background:linear-gradient(135deg,var(--surface-1),color-mix(in srgb,var(--surface-1) 92%,var(--accent-bg)));box-shadow:0 10px 28px rgba(25,49,67,.06)}
.course-home-visual-manager>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.course-home-visual-manager>header h2{margin:4px 0 5px;font-size:25px}
.course-home-visual-manager>header p{max-width:760px;margin:0;color:var(--text-secondary);line-height:1.45}
.course-home-visual-manager.is-compact{margin:0 0 16px;padding:18px;box-shadow:none}
.course-home-visual-manager.is-compact>header{gap:12px;margin-bottom:12px}
.course-home-visual-manager.is-compact>header h2{font-size:21px}
.course-home-visual-manager.is-compact>header p{font-size:13px;line-height:1.4}
.course-home-visual-source{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:7px 10px;border:1px solid var(--accent-border);border-radius:999px;background:var(--accent-bg);color:var(--accent-text);font-size:11px;font-weight:850}
.course-home-visual-source i{font-size:16px}
.course-home-visual-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(380px,1.1fr);gap:20px;align-items:start}
.course-home-visual-manager.is-compact .course-home-visual-layout{grid-template-columns:minmax(230px,.55fr) minmax(0,1.45fr);gap:16px}
.course-home-visual-preview{display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;aspect-ratio:4/3;margin:0;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface-2)}
.course-home-visual-manager.is-compact .course-home-visual-preview{aspect-ratio:16/10;padding:10px;border-radius:14px}
.course-home-visual-preview>img,.course-home-visual-preview>svg{display:block;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center}
.course-home-visual-plain-preview{display:grid;place-content:center;justify-items:center;gap:10px;min-height:0;color:var(--text-secondary);text-align:center}
.course-home-visual-plain-preview>i{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--accent-bg);color:var(--accent-text);font-size:27px}
.course-home-visual-plain-preview strong{color:var(--text-primary);font-size:15px}
.course-home-visual-plain-preview span{max-width:260px;color:var(--text-muted);font-size:11px;line-height:1.45}
.course-home-visual-preview figcaption{display:grid;gap:3px;padding-top:10px;border-top:1px solid var(--border)}
.course-home-visual-preview figcaption b{overflow:hidden;color:var(--text-primary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.course-home-visual-preview figcaption span{overflow:hidden;color:var(--text-muted);font-size:10px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.course-home-visual-controls{display:grid;gap:12px}
.course-home-visual-manager.is-compact .course-home-visual-controls{gap:9px}
.course-home-visual-controls>label{display:grid;gap:7px;color:var(--text-primary);font-size:12px;font-weight:850}
.course-home-visual-manager.is-compact .course-home-visual-controls>label{gap:4px;font-size:11px}
.course-home-visual-controls textarea{box-sizing:border-box;width:100%;resize:vertical}
.course-home-visual-manager.is-compact .course-home-visual-controls textarea{min-height:58px}
.course-home-visual-choice{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--border);border-radius:13px;background:var(--surface-1)}
.course-home-visual-manager.is-compact .course-home-visual-choice{grid-template-columns:36px minmax(0,1fr) auto;gap:10px;padding:10px}
.course-home-visual-choice>i{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--accent-bg);color:var(--accent-text);font-size:22px}
.course-home-visual-manager.is-compact .course-home-visual-choice>i{width:36px;height:36px;border-radius:10px;font-size:18px}
.course-home-visual-choice>div{display:grid;gap:4px;min-width:0}
.course-home-visual-choice b{font-size:13px}
.course-home-visual-choice small{color:var(--text-muted);font-size:10px;line-height:1.35}
.course-home-visual-choice input,.course-home-visual-choice select{box-sizing:border-box;width:100%;max-width:430px;margin-top:3px}
.course-home-visual-choice button{align-self:center;white-space:nowrap}
.course-home-visual-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}
.course-home-visual-actions>span{display:inline-flex;align-items:center;gap:6px;color:#087760;font-size:11px;font-weight:800}
.course-home-visual-actions>span.is-working i{animation:spin 1s linear infinite}
.course-home-visual-actions>span.is-error{color:#a43b35}
.ed-authoritative-visual-note{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;margin:4px 0 14px;padding:14px;border:1px solid var(--accent-border);border-radius:13px;background:var(--accent-bg)}
.ed-authoritative-visual-note>i{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--surface-1);color:var(--accent-text);font-size:22px}
.ed-authoritative-visual-note>div{display:grid;gap:4px}
.ed-authoritative-visual-note b{font-size:13px}
.ed-authoritative-visual-note span{color:var(--text-secondary);font-size:11px;line-height:1.4}
.ed-authoritative-visual-note a{white-space:nowrap}
.ed-home-preview-hero{margin:0;gap:1.2rem}
.ed-about-preview .card{margin-top:1rem}
.cover-hello{font-size:13.5px;color:var(--accent);font-weight:600;margin-bottom:.55rem;display:flex;align-items:center;gap:6px}
.cover-title{font-size:2.7rem;line-height:1.04;letter-spacing:-.5px;margin:.45rem 0 .7rem}
.cover-sub{font-size:1.04rem;color:var(--text-secondary);line-height:1.6;max-width:31rem;margin:0}
.cover-cta{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.4rem 0 1rem}
.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background:var(--accent);color:#fff;padding:.72rem 1.25rem;border-radius:11px;font-weight:600;font-size:.95rem;text-decoration:none;border:1px solid var(--accent);transition:filter .15s,transform .15s}
.btn-primary:hover{background:var(--accent);border-color:var(--accent);color:#fff;filter:brightness(1.07);transform:translateY(-1px)}
.btn-primary:disabled,.btn-primary[disabled]{background:var(--accent);border-color:var(--accent);color:#fff;opacity:.62;cursor:not-allowed;filter:none;transform:none}
.btn-primary:disabled:hover,.btn-primary[disabled]:hover{background:var(--accent);color:#fff;filter:none;transform:none}
.btn-ghost{display:inline-flex;align-items:center;gap:.5rem;padding:.72rem 1.1rem;border-radius:11px;border:1px solid var(--border-strong);color:var(--text-primary);text-decoration:none;font-size:.95rem;font-weight:500;background:var(--surface-1)}
.btn-ghost:hover{background:var(--surface-2)}
.cover-progress{display:flex;align-items:center;gap:.7rem;margin:.2rem 0 1rem}
.cover-prog-bar{flex:0 1 200px;height:7px;border-radius:99px;background:var(--surface-2);overflow:hidden;border:1px solid var(--border)}
.cover-prog-bar span{display:block;height:100%;background:var(--accent)}
.cover-prog-lbl{font-size:12.5px;color:var(--text-muted)}
.cover-author{font-size:13px;color:var(--text-muted)}
.cover-h2{font-size:1.45rem;margin:.4rem 0 .15rem}
.cover-glance-sub{margin:0 0 1.3rem;font-size:.95rem}
.cover-mods{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:1rem}
.cover-mod{background:var(--surface-1);border:1px solid var(--border);border-radius:14px;padding:1rem 1rem .7rem}
.cover-mod-h{font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);font-weight:700;margin-bottom:.55rem}
.cover-wk{display:flex;align-items:center;gap:.6rem;padding:.42rem .35rem;border-radius:9px;text-decoration:none;color:var(--text-primary);font-size:13.5px;line-height:1.3;transition:background .15s,transform .15s,box-shadow .15s}
.cover-wk:hover{background:var(--surface-2);transform:translateX(3px)}
.cover-wk:not(.done):hover .cover-wk-n{border-color:var(--accent);color:var(--accent)}
.cover-wk-n{width:23px;height:23px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-secondary);flex-shrink:0;font-weight:600}
.cover-wk.done .cover-wk-n{background:var(--c-lift);border-color:var(--c-lift);color:#fff}
.cover-wk-t{flex:1}
@media(max-width:760px){.cover-hero{grid-template-columns:1fr;gap:1.2rem}.cover-hero-art{order:-1;max-width:360px}.cover-title{font-size:2.2rem}}
@media(max-width:1050px){.course-home-visual-layout{grid-template-columns:1fr}.course-home-visual-preview{width:100%;max-width:680px;justify-self:center}.course-home-visual-choice{grid-template-columns:42px minmax(0,1fr)}.course-home-visual-choice button{grid-column:2;justify-self:start}}
@media(max-width:680px){.course-home-visual-manager{padding:17px}.course-home-visual-manager>header{align-items:flex-start;flex-direction:column}.course-home-visual-source{white-space:normal}.course-home-visual-layout{display:block}.course-home-visual-preview{margin-bottom:14px}.course-home-visual-choice,.ed-authoritative-visual-note{grid-template-columns:38px minmax(0,1fr)}.course-home-visual-choice>i,.ed-authoritative-visual-note>i{width:38px;height:38px}.course-home-visual-choice button,.ed-authoritative-visual-note a{grid-column:1/-1;width:100%;justify-content:center}.course-home-visual-actions{align-items:stretch;flex-direction:column}.course-home-visual-actions button{width:100%;justify-content:center}}
.nav-home{margin-bottom:.4rem;border-bottom:1px solid var(--border);border-radius:0;padding-bottom:.7rem}
.nav-home .nav-num{background:var(--accent-bg);color:var(--accent-text)}
.quiz-timer{display:inline-flex;align-items:center;gap:6px;margin:.35rem 0 0;font-size:13px;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums}
.quiz-timer::before{content:"\ea70";font-family:"tabler-icons"}
.quiz-timer.quiz-timer-warn{color:var(--warning-text)}

/* --- Concept item analysis (#2) --- */
.ia-row{padding:.6rem .8rem;border:1px solid var(--border);border-radius:10px;margin-bottom:.5rem;background:var(--surface-1);border-left:4px solid var(--border-strong)}
.ia-row.ia-danger{border-left-color:#c0392b}
.ia-row.ia-warn{border-left-color:#b8860b}
.ia-row.ia-ok{border-left-color:var(--accent)}
.ia-q{font-size:14px;font-weight:600;margin-bottom:4px;line-height:1.35}
.ia-wk{display:inline-block;font-size:11px;font-weight:700;color:var(--accent-text);background:var(--accent-bg);border-radius:5px;padding:1px 6px;margin-right:6px;white-space:nowrap}
.ia-stat{font-size:13px;color:var(--text-secondary)}
.ia-stat b{color:var(--text-primary)}
.ia-distractor{font-size:13px;color:#b8860b;margin-top:4px;display:flex;align-items:flex-start;gap:5px}

/* --- Lecture readiness --- */
.rd-bar{display:flex;align-items:center;gap:12px;margin:.2rem 0 1rem;flex-wrap:wrap}
.rd-bar label{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary);font-weight:600}
.rd-bar select{padding:.45rem .6rem;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-1);color:var(--text-primary);font-size:14px;max-width:320px}
.rd-h3{font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);margin:1.1rem 0 .45rem;display:flex;align-items:center;gap:6px}
.rd-note{padding:.45rem .65rem;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:9px;margin-bottom:.35rem;background:var(--surface-1);font-size:13px;line-height:1.45}
.rd-note em{font-style:normal;font-weight:600;color:var(--text-secondary)}
.rd-table td{padding:5px 8px;text-align:center;border:1px solid var(--border);font-size:12.5px}
.rd-table td.mg-name{text-align:left;white-space:nowrap}
.rd-table tr.rd-bad td{background:rgba(192,57,43,.14)}
.rd-table tr.rd-warn td{background:rgba(184,134,11,.12)}
.rd-table .ti-check{color:var(--success-text,#1D9E75)}
.rd-table .ti-x{color:#c0392b}
.rd-nudge{margin:.7rem 0 0;font-size:13px;color:var(--text-secondary)}

/* --- Case packs / class activities --- */
.case-title{font-size:20px;font-weight:700;margin:.2rem 0 .6rem;display:flex;align-items:center;gap:8px}
.case-body{margin-bottom:1rem}
.case-qs li{margin-bottom:.45rem;line-height:1.5}
.case-feedback{margin-top:.7rem;padding:.55rem .7rem;border-left:4px solid var(--accent);background:var(--surface-2);border-radius:8px;font-size:13.5px}
.case-sub{border:1px solid var(--border);border-radius:10px;padding:.7rem .8rem;margin-bottom:.6rem;background:var(--surface-1)}
.case-sub-head{font-size:13.5px;margin-bottom:.4rem}
.case-sub-body{font-size:13.5px;line-height:1.55;white-space:pre-wrap;max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:.5rem .6rem;background:var(--surface-2)}
.case-sub-grade{display:flex;gap:8px;align-items:center;margin-top:.5rem;flex-wrap:wrap}
.case-sub-grade input.cs-grade{width:110px}
.case-sub-grade input{padding:.4rem .5rem;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-1);color:var(--text-primary);font-size:13px}
.case-sub-grade input.cs-feedback,.case-sub-grade input.sq-note{flex:1;min-width:200px}
.sq-opts{margin:.2rem 0 .4rem 1.2rem;font-size:13.5px}
.sq-opts li{margin-bottom:3px}
.sq-correct-opt{font-weight:700;color:var(--success-text,#1D9E75)}
.sq-opt-row{display:flex;gap:8px;align-items:center;margin-bottom:.45rem;flex-wrap:wrap}
.sq-opt-row .sq-correct{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);white-space:nowrap}
.sq-opt-row input[type=text]{flex:1;min-width:160px;padding:.45rem .55rem;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-1);color:var(--text-primary);font-size:13px}
.pf-flag.sq-ok{background:rgba(29,158,117,.16);color:#1D9E75}
.pf-flag.sq-pending{background:rgba(184,134,11,.16);color:#b8860b}

/* --- Practice arcade (flashcards + match-up + streak) --- */
.pa-streak{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-secondary);padding:.6rem .8rem;border:1px dashed var(--border-strong);border-radius:12px;margin-bottom:1rem;background:var(--surface-1)}
.pa-streak b{color:var(--text-primary)}
.pa-flame{font-size:22px;filter:grayscale(1);opacity:.5}
.pa-flame.lit{filter:none;opacity:1;animation:paFlick 1.6s ease-in-out infinite}
@keyframes paFlick{0%,100%{transform:scale(1)}50%{transform:scale(1.12) rotate(-3deg)}}
.pa-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;align-items:start}
.pa-card{position:relative;overflow:hidden}
.pa-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#378ADD,#1D9E75)}
.pa-ico{font-size:18px;margin-right:2px}
.pa-sub{font-size:12.5px;color:var(--text-secondary);margin:-2px 0 .8rem}
.pa-empty,.pa-done{display:flex;align-items:center;gap:12px;padding:.9rem .4rem;font-size:14px}
.pa-done{flex-direction:column;text-align:center;gap:6px}
.pa-empty-emoji{font-size:34px;display:inline-block;animation:fbpop .5s ease}
.pa-done-t{font-weight:700}
/* flashcards */
.fc-top{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);margin-bottom:.5rem}
.fc-prog{font-weight:800;color:var(--text-secondary)}
.fc-wk{font-weight:700;color:var(--accent-text);background:var(--accent-bg);border-radius:5px;padding:1px 6px}
.fc-boxlbl{margin-left:auto;letter-spacing:.04em}
.fc-card{perspective:900px;cursor:pointer;outline:none;height:200px}
.fc-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.7,.3,1.1)}
.fc-card.flipped .fc-inner{transform:rotateY(180deg)}
.fc-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem 1.2rem;text-align:center}
.fc-front{background:linear-gradient(140deg,#378ADD,#2B6FB3);color:#fff;box-shadow:0 8px 20px rgba(55,138,221,.30)}
.fc-card:focus-visible .fc-front{outline:3px solid var(--accent);outline-offset:2px}
.fc-term{font-size:22px;font-weight:800;line-height:1.25}
.fc-term.fc-long{font-size:16.5px;font-weight:600;line-height:1.5}
.fc-kind{font-weight:700;color:#B8860B;background:rgba(247,183,49,.16);border-radius:5px;padding:1px 6px}
.fc-hint{position:absolute;bottom:10px;font-size:11px;opacity:.75;display:inline-flex;align-items:center;gap:4px}
.fc-back{background:linear-gradient(140deg,#1D9E75,#157A5A);color:#fff;transform:rotateY(180deg);box-shadow:0 8px 20px rgba(29,158,117,.30)}
.fc-def{font-size:14.5px;line-height:1.55;font-weight:500;max-height:170px;overflow-y:auto}
@media (hover:hover){.fc-card:hover .fc-inner{transform:rotateY(8deg)}.fc-card.flipped:hover .fc-inner{transform:rotateY(172deg)}}
.fc-actions{display:flex;gap:10px;margin-top:.8rem;opacity:.35;pointer-events:none;transition:opacity .2s}
.fc-actions.show{opacity:1;pointer-events:auto}
.fc-actions button{flex:1;border:0;border-radius:11px;padding:.7rem 0;font-size:14px;font-weight:700;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .12s,box-shadow .12s}
button.fc-no{background:#DE8A3B}
button.fc-yes{background:#1D9E75}
@media (hover:hover){
  .fc-actions button:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.18)}
  button.fc-no:hover{background:#DE8A3B}
  button.fc-yes:hover{background:#1D9E75}
}
/* match-up */
.mu-bar{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--text-secondary);margin-bottom:.6rem}
.mu-stat{display:inline-flex;align-items:center;gap:5px}
.mu-new{margin-left:auto;padding:.4rem .7rem;font-size:12.5px}
.mu-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}
.mu-col{display:flex;flex-direction:column;gap:8px}
.mu-item{border:1.5px solid var(--border-strong);border-radius:11px;background:var(--surface-1);color:var(--text-primary);padding:.55rem .7rem;font-size:13px;line-height:1.35;text-align:left;cursor:pointer;transition:transform .12s,box-shadow .12s,border-color .12s,background .12s}
.mu-l{font-weight:700}
@media (hover:hover){.mu-item:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 12px rgba(0,0,0,.10);border-color:var(--accent)}}
.mu-item.sel{border-color:#378ADD;background:rgba(55,138,221,.12);box-shadow:0 0 0 2px rgba(55,138,221,.25)}
.mu-item.hit{border-color:#1D9E75;background:rgba(29,158,117,.14);color:var(--text-muted);cursor:default;animation:fbpop .3s ease}
.mu-item.shake{animation:muShake .4s ease;border-color:#D85A30;background:rgba(216,90,48,.12)}
@keyframes muShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
@media (max-width:640px){.mu-grid{grid-template-columns:1fr}}
/* myth buster */
.mb-start{text-align:center;padding:.6rem 0}
.mb-top{display:flex;align-items:center;gap:12px;margin-bottom:.6rem}
.mb-score{font-weight:800;font-size:14px;white-space:nowrap}
.mb-timer{flex:1;height:9px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden}
.mb-timer span{display:block;height:100%;width:100%;background:linear-gradient(90deg,#D85A30,#F7B731);transition:width .2s linear}
.mb-card{min-height:96px;display:flex;align-items:center;justify-content:center;text-align:center;padding:.9rem 1rem;border-radius:14px;border:1.5px solid var(--border-strong);background:var(--surface-1);font-size:15.5px;font-weight:600;line-height:1.45;transition:border-color .15s,background .15s}
.mb-card.mb-right{border-color:#1D9E75;background:rgba(29,158,117,.12);animation:fbpop .3s ease}
.mb-card.mb-wrong{border-color:#D85A30;background:rgba(216,90,48,.12);animation:muShake .4s ease}
.mb-btns{display:flex;gap:10px;margin-top:.7rem}
.mb-btns button{flex:1;border:0;border-radius:12px;padding:.85rem 0;font-size:15px;font-weight:800;color:#fff;cursor:pointer;transition:transform .12s,box-shadow .12s}
button.mb-myth{background:#D85A30}
button.mb-fact{background:#1D9E75}
@media (hover:hover){
  .mb-btns button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.18)}
  button.mb-myth:hover{background:#D85A30}
  button.mb-fact:hover{background:#1D9E75}
}
.mb-btns button:disabled{opacity:.6;cursor:default}
.mb-flash{min-height:24px;text-align:center;font-size:12.5px;margin-top:.5rem}
.mb-ok{color:#1D9E75;font-weight:800;animation:fbpop .3s ease;display:inline-block}
.mb-no{color:var(--text-secondary)}
/* estimation duel */
.ed-q{font-size:15.5px;font-weight:700;text-align:center;margin:.5rem 0 .9rem;line-height:1.45}
.ed-slider-row{display:flex;align-items:center;gap:10px}
.ed-slider-row input[type=range]{flex:1}
.ed-minmax{font-size:11.5px;color:var(--text-muted);white-space:nowrap}
.ed-val{text-align:center;font-size:22px;font-weight:800;margin:.5rem 0;color:var(--accent)}
.ed-reveal{margin:.4rem 0}
.ed-bar{position:relative;height:12px;border-radius:7px;background:var(--surface-2);border:1px solid var(--border);margin:.9rem 0 .4rem}
.ed-mark{position:absolute;top:-5px;width:4px;height:22px;border-radius:2px;transform:translateX(-50%)}
.ed-mark.ed-you{background:#378ADD}
.ed-mark.ed-ans{background:#1D9E75}
.ed-legend{display:flex;gap:14px;align-items:center;font-size:12.5px;color:var(--text-secondary);flex-wrap:wrap}
.ed-dot{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:4px;vertical-align:middle}
.ed-dot.ed-you{background:#378ADD}
.ed-dot.ed-ans{background:#1D9E75}
.ed-pts{margin-left:auto;font-weight:800;color:#1D9E75;font-size:15px;animation:fbpop .35s ease}
.ed-class{display:flex;align-items:flex-end;gap:12px;min-height:44px;margin-top:.3rem}
.ed-class-lbl{font-size:12px;color:var(--text-secondary);white-space:nowrap}
.ed-hist{display:inline-flex;align-items:flex-end;gap:2px;height:40px}
.ed-hist i{display:inline-block;width:9px;background:linear-gradient(180deg,#378ADD,#2B6FB3);border-radius:2px 2px 0 0}
/* you're the PIC */
.pic-list{display:flex;flex-direction:column;gap:8px;margin-top:.3rem}
.pic-brief{font-size:13.5px;color:var(--text-secondary);line-height:1.55;padding:.6rem .75rem;border-left:3px solid var(--accent);background:var(--surface-2);border-radius:8px;margin:.2rem 0 .7rem}
.pic-opts{display:flex;flex-direction:column;gap:8px}
.pic-opt{border:1.5px solid var(--border-strong);border-radius:11px;background:var(--surface-1);color:var(--text-primary);padding:.65rem .8rem;font-size:13.5px;line-height:1.45;text-align:left;cursor:pointer;transition:transform .12s,box-shadow .12s,border-color .12s,background .12s}
@media (hover:hover){.pic-opt:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 12px rgba(0,0,0,.10);border-color:var(--accent)}}
.pic-opt:disabled{opacity:.75;cursor:default}
.pic-opt.pic-good{border-color:#1D9E75;background:rgba(29,158,117,.14);opacity:1;animation:fbpop .3s ease}
.pic-opt.pic-mid{border-color:#DE8A3B;background:rgba(222,138,59,.14);opacity:1}
.pic-opt.pic-bad{border-color:#D85A30;background:rgba(216,90,48,.14);opacity:1;animation:muShake .4s ease}
/* label the diagram */
.lg-fig svg{width:100%;height:auto;max-height:280px}
.lg-bank{display:flex;flex-wrap:wrap;gap:8px;margin-top:.6rem}
.lg-bank .lg-lbl{flex:0 1 auto}
text.lg-slot{font-weight:800 !important;fill:#8E5BD9 !important;cursor:default}
text.lg-now{fill:#D85A30 !important;animation:paFlick 1.2s ease-in-out infinite}
text.lg-done{fill:#1D9E75 !important;animation:none}
/* lab medal chip */
.lab-medal{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--text-secondary);border:1px dashed var(--border-strong);border-radius:999px;padding:3px 10px;margin:0 0 .6rem;background:var(--surface-1)}
.lab-medal-ico{font-size:14px}
.lab-medal.lab-medal-gold{border-style:solid;border-color:#F7B731;background:rgba(247,183,49,.12);color:var(--text-primary)}
.lab-medal.pop{animation:fbpop .35s ease}
/* cover practice card */
.cover-practice{display:flex;align-items:center;gap:14px;margin:1.1rem 0 .4rem;padding:.8rem 1rem;border-radius:14px;text-decoration:none;color:var(--text-primary);border:1.5px solid var(--border-strong);background:linear-gradient(135deg,rgba(55,138,221,.10),rgba(29,158,117,.10));transition:transform .15s,box-shadow .15s}
.cover-practice:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.10)}
.cover-practice .pa-flame{font-size:26px}
.cp-txt{flex:1;font-size:14px}
.cp-txt em{display:block;font-style:normal;font-size:12.5px;color:var(--text-secondary)}
.cp-go{font-weight:800;font-size:13px;color:var(--accent);display:inline-flex;align-items:center;gap:5px;white-space:nowrap}

/* --- Share cards (Instagram/WhatsApp) --- */
.share-prev{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:340px}
.share-prev img{width:100%;max-width:300px;border-radius:18px;box-shadow:0 14px 40px rgba(0,0,0,.35);display:block}
.share-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.share-hint{font-size:12px;color:var(--text-secondary);text-align:center;margin:0;line-height:1.5;max-width:300px}
.wg-share-btn{margin-top:12px;font-size:14px;padding:.6rem 1.1rem}
.wg-promo-share{margin-left:12px;border:1.5px solid rgba(255,255,255,.6);border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-size:12.5px;font-weight:700;padding:4px 12px;cursor:pointer;transition:background .15s,transform .15s}
.wg-promo-share:hover{background:rgba(255,255,255,.28);transform:translateY(-1px)}
.wg-badge.shareable{cursor:pointer;position:relative}
.wg-bshare{position:absolute;top:8px;right:8px;font-size:10px;font-weight:800;color:#B8860B;background:rgba(247,183,49,.18);border-radius:999px;padding:2px 7px;opacity:0;transition:opacity .15s}
@media (hover:hover){.wg-badge.shareable:hover .wg-bshare{opacity:1}}
@media (hover:none){.wg-bshare{opacity:.85}}

/* --- Crew board / scoreboard --- */
.cover-board{background:linear-gradient(135deg,rgba(216,90,48,.10),rgba(247,183,49,.12))}
.bd-goal{position:relative;overflow:hidden}
.bd-goal::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#F7B731,#1D9E75)}
.bd-goal-line{font-size:13.5px;color:var(--text-secondary);margin:.2rem 0 .4rem}
.bd-goal-line b{color:var(--text-primary);font-size:15px}
.bd-me{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:.7rem .9rem;border-radius:12px;border:1.5px solid var(--accent);background:var(--accent-bg);margin:.4rem 0 .2rem;font-size:13.5px}
.bd-me-cs{font-weight:800;font-size:15px}
.bd-me-crew,.bd-me-xp{color:var(--text-secondary)}
.bd-me-pos{font-weight:800;color:var(--accent)}
.bd-edit{margin-left:auto;font-size:12px;color:var(--text-muted);text-decoration:none}
.bd-edit:hover{color:var(--accent)}
.bd-sub{font-size:11.5px;font-weight:400;color:var(--text-muted);text-transform:none;letter-spacing:0}
.bd-crews{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:.5rem}
.bd-crew{display:flex;align-items:center;gap:8px;padding:.65rem .8rem;border:1.5px solid var(--border);border-radius:12px;background:var(--surface-1);font-size:13.5px;transition:transform .15s,box-shadow .15s}
.bd-crew.mine{border-color:var(--accent);background:var(--accent-bg)}
@media (hover:hover){.bd-crew:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.10)}}
.bd-medal{font-size:19px}
.bd-crew b{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bd-crew-n{color:var(--text-muted);font-size:11.5px;white-space:nowrap}
.bd-crew-xp{font-weight:800;white-space:nowrap}
.bd-rows{display:flex;flex-direction:column;gap:6px;margin-top:.5rem;max-width:560px}
.bd-row{display:flex;align-items:center;gap:10px;padding:.55rem .8rem;border:1px solid var(--border);border-radius:11px;background:var(--surface-1);font-size:13.5px;transition:transform .15s,box-shadow .15s}
@media (hover:hover){.bd-row:hover{transform:translateX(3px);box-shadow:0 4px 10px rgba(0,0,0,.08)}}
.bd-row.mine{border-color:var(--accent);background:var(--accent-bg);font-weight:600}
.bd-row.slim{padding:.4rem .8rem;font-size:13px}
.bd-row.bd-gap{margin-top:10px;border-style:dashed}
.bd-pos{width:34px;flex:none;font-weight:800;text-align:center}
.bd-cs{flex:1;font-weight:600}
.bd-real{font-style:normal;font-weight:400;color:var(--text-muted);font-size:12px}
.bd-crewtag{font-size:11px;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:1px 8px;white-space:nowrap}
.bd-xp{font-variant-numeric:tabular-nums}
.bd-picker{max-width:460px;text-align:center;border:1.5px solid var(--border-strong);background:linear-gradient(150deg,rgba(55,138,221,.09),rgba(247,183,49,.10)),var(--surface-2)}
.bd-picker-emoji{font-size:44px;animation:fbpop .5s ease}
.bd-picker-t{font-size:20px;font-weight:800;margin:.2rem 0 .4rem}
.bd-picker .ed-field{text-align:left}
.bd-ideas{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:-2px 0 .7rem}
.bd-idea{border:1px dashed var(--border-strong);border-radius:999px;background:var(--surface-1);color:var(--text-secondary);font-size:12px;padding:4px 11px;cursor:pointer;transition:transform .12s,border-color .12s,color .12s}
@media (hover:hover){.bd-idea:hover{transform:translateY(-2px);border-color:var(--accent);color:var(--accent)}}

/* --- UI polish layer --- */
.cover-wk-n{transition:border-color .15s,color .15s}
/* narrower screens form additional rows; every section remains visible */
@media (max-width:640px){
  .tabs{grid-template-columns:repeat(2,minmax(0,1fr));padding:4px}
  .tab{padding-inline:8px;font-size:13px}
}
@media (max-width:360px){
  .tabs{grid-template-columns:1fr}
}
/* completion note pops in when it appears */
#complete-note:not(:empty){animation:fbpop .35s ease;display:inline-block}
/* week-complete button celebrates */
#mark-complete.btn-accent:active{transform:scale(.96)}
/* chips get a hair of depth */
.chip-accent{box-shadow:0 2px 6px rgba(0,0,0,.08)}
.week-meta{gap:7px;margin-bottom:.7rem}
.week-meta>span.chip{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-color:transparent;background:var(--surface-2);color:var(--text-muted);box-shadow:none;cursor:default;font-weight:500}
.week-meta>span.chip .ti{font-size:13px;opacity:.8}
.week-meta .wk-picker-btn{min-height:32px;padding:5px 10px;border:1px solid var(--accent-border);border-radius:7px;background:var(--surface-1);color:var(--accent-text);font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.09)}
.week-meta .wk-picker-btn:hover,.week-meta .wk-picker-btn[aria-expanded="true"]{background:var(--accent-bg);border-color:var(--accent);box-shadow:0 2px 6px rgba(0,0,0,.12)}
/* test sub-tabs share the main tab motion */
.test-tab{transition:background .15s,color .15s,border-color .15s,transform .15s,box-shadow .15s}
@media (hover:hover){.test-tab:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,.08)}}
/* generic ghost buttons lift too */
.btn-ghost{transition:background .15s,transform .15s,box-shadow .15s}
@media (hover:hover){.btn-ghost:hover{transform:translateY(-2px);box-shadow:0 5px 12px rgba(0,0,0,.10)}}

/* --- Wings: XP, ranks, badges --- */
.cover-arcade{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:10px;margin:1.1rem 0 .4rem}
.cover-arcade .cover-practice{margin:0}
.cover-wings{background:linear-gradient(135deg,rgba(247,183,49,.14),rgba(55,138,221,.10))}
.wg-mini-emoji{font-size:26px}
.wg-promo{margin:1rem 0 .2rem;padding:.7rem 1rem;border-radius:12px;font-size:14px;color:#fff;background:linear-gradient(135deg,#1D9E75,#378ADD);box-shadow:0 6px 16px rgba(29,158,117,.30);animation:fbpop .5s ease}
.wg-hero{display:flex;align-items:center;gap:18px;margin:.6rem 0 1rem}
.wg-emoji{font-size:58px;line-height:1;animation:fbpop .5s ease}
.wg-rank{font-size:26px;font-weight:800;margin:0 0 2px}
.wg-xpline{font-size:14px;color:var(--text-secondary)}
.wg-bar{display:block;height:12px;border-radius:7px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden;margin-top:8px;max-width:420px}
.wg-bar span{display:block;height:100%;border-radius:7px;background:linear-gradient(90deg,#378ADD,#1D9E75);transition:width .8s cubic-bezier(.2,.7,.3,1)}
.wg-bar.mini{height:7px;margin-top:6px;max-width:230px}
.wg-bar.tiny{height:5px;margin:0;max-width:70px;display:inline-block;vertical-align:middle}
.wg-next{font-size:12.5px;color:var(--text-muted);margin-top:5px}
.wg-ladder{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12.5px;color:var(--text-muted);margin-top:.4rem}
.wg-step{padding:3px 9px;border-radius:999px;border:1px solid var(--border);background:var(--surface-1);white-space:nowrap}
.wg-step.done{border-color:#1D9E75;color:#1D9E75}
.wg-step.now{border-color:transparent;color:#fff;background:linear-gradient(135deg,#378ADD,#1D9E75);font-weight:700;box-shadow:0 3px 10px rgba(55,138,221,.30)}
.wg-sep{opacity:.5}
.wg-badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-top:.6rem}
.wg-badge{border:1.5px solid var(--border);border-radius:14px;background:var(--surface-1);padding:.8rem .7rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;transition:transform .15s,box-shadow .15s}
.wg-badge b{font-size:13px}
.wg-bdesc{font-size:11px;color:var(--text-muted);line-height:1.35}
.wg-bemoji{font-size:30px;filter:grayscale(1);opacity:.45}
.wg-badge.earned{border-color:#F7B731;background:linear-gradient(160deg,rgba(247,183,49,.12),var(--surface-1) 60%)}
.wg-badge.earned .wg-bemoji{filter:none;opacity:1}
@media (hover:hover){.wg-badge:hover{transform:translateY(-3px);box-shadow:0 8px 16px rgba(0,0,0,.10)}}
.wg-bprog{font-size:10.5px;color:var(--text-muted);display:inline-flex;align-items:center;gap:5px;margin-top:2px}
.pf-wings{font-size:.55em;font-weight:700;color:var(--accent-text);background:var(--accent-bg);border-radius:999px;padding:3px 10px;vertical-align:middle;white-space:nowrap}

/* --- Anonymous week feedback (student widget) --- */
.fb-card{margin-top:1.6rem;position:relative;overflow:hidden;border:1px solid var(--border-strong);background:
  linear-gradient(135deg,rgba(55,138,221,.09),rgba(29,158,117,.08) 52%,rgba(247,183,49,.10)) , var(--surface-1)}
.fb-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#378ADD,#1D9E75,#F7B731,#D85A30)}
.fb-head{display:flex;gap:14px;align-items:center;margin:.3rem 0 1rem}
.fb-head-mark{position:relative;display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border-radius:12px;color:#fff;background:linear-gradient(145deg,#378ADD,#1D9E75);box-shadow:0 7px 18px rgba(55,138,221,.24)}
.fb-head-mark::after{content:"";position:absolute;inset:-4px;border:1px solid rgba(55,138,221,.4);border-radius:15px;animation:fbpulse 2.8s ease-out infinite}
.fb-head-mark i{font-size:23px;animation:fbfloat 2.8s ease-in-out infinite}
.fb-title{font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fb-anon-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#fff;background:linear-gradient(135deg,#378ADD,#1D9E75);border-radius:999px;padding:2px 9px}
.fb-sub{font-size:12.5px;color:var(--text-secondary);margin-top:2px}
.fb-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:.55rem .7rem;border-radius:12px;margin-bottom:.45rem;background:var(--surface-1);border:1px solid var(--border);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .2s ease}
.fb-row:hover{transform:translateX(3px);border-color:var(--border-strong);box-shadow:0 4px 14px rgba(0,0,0,.08)}
.fb-row.answered{border-color:color-mix(in srgb,#1D9E75 34%,var(--border));background:color-mix(in srgb,#1D9E75 4%,var(--surface-1))}
.fb-row-icon{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:9px;color:#226DB2;background:#E7F2FD;transition:transform .2s ease,color .2s ease,background .2s ease}
.fb-row-icon i{font-size:19px}
.fb-row[data-key=clarity] .fb-row-icon{color:#9A6900;background:#FFF3CC}
.fb-row[data-key=workload] .fb-row-icon{color:#6550B9;background:#F0ECFF}
.fb-row[data-key=materials] .fb-row-icon{color:#087C64;background:#E1F5EF}
.fb-row[data-key=difficulty] .fb-row-icon{color:#C14D28;background:#FDE9E1}
.fb-row[data-key=readiness] .fb-row-icon{color:#A3375B;background:#FBE8EF}
.fb-row.answered .fb-row-icon{color:#fff;background:#1D9E75;animation:fbicon .38s ease}
.fb-label{flex:1;min-width:230px;font-size:13.5px;font-weight:500}
.fb-picked{display:block;font-size:11.5px;font-weight:800;margin-top:2px;opacity:0;transform:translateY(-3px);transition:opacity .2s,transform .2s;text-transform:uppercase;letter-spacing:.03em}
.fb-picked.show{opacity:1;transform:none}
.fb-pick-v1{color:#D85A30}.fb-pick-v2{color:#DE8A3B}.fb-pick-v3{color:#C9A227}.fb-pick-v4{color:#7CB342}.fb-pick-v5{color:#1D9E75}
.fb-picked.diff.fb-pick-v1{color:#5C8FD6}.fb-picked.diff.fb-pick-v2{color:#4FA6A0}.fb-picked.diff.fb-pick-v3{color:#1D9E75}.fb-picked.diff.fb-pick-v4{color:#DE8A3B}.fb-picked.diff.fb-pick-v5{color:#D85A30}
.fb-scale{display:inline-flex;gap:6px}
.fb-btn{width:46px;height:54px;border-radius:12px;border:1.5px solid var(--border-strong);background:var(--surface-1);cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease}
.fb-emoji{font-size:21px;line-height:1;filter:grayscale(.85);opacity:.55;transition:filter .12s,opacity .12s,transform .12s}
.fb-num{font-size:10px;color:var(--text-muted);font-weight:700}
@media (hover:hover){
  .fb-btn:hover{transform:translateY(-4px) scale(1.07);box-shadow:0 8px 16px rgba(0,0,0,.14);border-color:transparent}
  .fb-btn:hover .fb-emoji{filter:none;opacity:1;transform:scale(1.18)}
}
.fb-btn.active{border-color:transparent;box-shadow:0 5px 14px rgba(0,0,0,.18)}
.fb-btn.active .fb-emoji{filter:none;opacity:1}
.fb-btn.active .fb-num{color:#fff}
.fb-row[data-kind=agree] .fb-btn.active.fb-v1{background:#D85A30}
.fb-row[data-kind=agree] .fb-btn.active.fb-v2{background:#DE8A3B}
.fb-row[data-kind=agree] .fb-btn.active.fb-v3{background:#C9A227}
.fb-row[data-kind=agree] .fb-btn.active.fb-v4{background:#7CB342}
.fb-row[data-kind=agree] .fb-btn.active.fb-v5{background:#1D9E75}
.fb-row[data-kind=difficulty] .fb-btn.active.fb-v1{background:#5C8FD6}
.fb-row[data-kind=difficulty] .fb-btn.active.fb-v2{background:#4FA6A0}
.fb-row[data-kind=difficulty] .fb-btn.active.fb-v3{background:#1D9E75}
.fb-row[data-kind=difficulty] .fb-btn.active.fb-v4{background:#DE8A3B}
.fb-row[data-kind=difficulty] .fb-btn.active.fb-v5{background:#D85A30}
@keyframes fbpop{0%{transform:scale(.8)}55%{transform:scale(1.16)}100%{transform:scale(1)}}
@keyframes fbicon{0%{transform:rotate(-8deg) scale(.85)}60%{transform:rotate(5deg) scale(1.12)}100%{transform:none}}
@keyframes fbpulse{0%,35%{opacity:.55;transform:scale(.86)}75%,100%{opacity:0;transform:scale(1.25)}}
@keyframes fbfloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(7deg)}}
.fb-btn.pop{animation:fbpop .3s ease}
.fb-comment{margin-top:.7rem}
.fb-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:.8rem}
button.fb-send{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:11px;padding:.7rem 1.2rem;font-size:.95rem;font-weight:600;color:#fff;cursor:pointer;background:linear-gradient(135deg,#378ADD,#1D9E75);box-shadow:0 4px 12px rgba(29,158,117,.25);transition:transform .12s,box-shadow .12s,opacity .12s}
button.fb-send:hover:not(:disabled){background:linear-gradient(135deg,#378ADD,#1D9E75);transform:translateY(-2px);box-shadow:0 8px 18px rgba(29,158,117,.35)}
button.fb-send:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.fb-count{font-size:12px;font-weight:700;color:var(--text-muted);border:1px dashed var(--border-strong);border-radius:999px;padding:3px 10px}
.fb-count.done{color:#1D9E75;border-color:#1D9E75;border-style:solid}
.fb-thanks{text-align:center;padding:1.2rem 0 .9rem}
.fb-thanks .fb-big{font-size:46px;display:inline-block;animation:fbpop .5s ease}
.fb-thanks-t{font-size:16px;font-weight:700;margin:.4rem 0 .2rem}
@media (prefers-reduced-motion:reduce){.fb-head-mark::after,.fb-head-mark i,.fb-btn.pop,.fb-row.answered .fb-row-icon,.fb-thanks .fb-big{animation:none}.fb-row,.fb-btn,.fb-emoji{transition:none}}
@media(max-width:640px){.fb-row{align-items:flex-start}.fb-row-icon{margin-top:2px}.fb-label{min-width:calc(100% - 50px)}.fb-scale{width:100%;justify-content:space-between;padding-left:46px}.fb-btn{width:min(46px,16vw)}}
.fbagg-row{display:flex;align-items:center;gap:10px;margin-bottom:.4rem;font-size:13px}
.fbagg-label{width:190px;flex:none;color:var(--text-secondary)}
.fbagg-bar{flex:1;height:9px;border-radius:5px;background:var(--surface-2);overflow:hidden}
.fbagg-fill{display:block;height:100%;background:#1D9E75;border-radius:5px}
.fbagg-fill.warn{background:#c0392b}

/* --- Weekly release --- */
.rel-config{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:.4rem 0 1rem;padding:.7rem .8rem;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}
.rel-config label{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--text-secondary);font-weight:600}
.rel-config input,.rel-config select{padding:.4rem .5rem;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-1);color:var(--text-primary);font-size:13px}
.rel-config .dtp{min-width:170px}.rel-config .dtp-field{height:38px;font-size:13px}
.rel-row{display:flex;align-items:center;gap:10px;padding:.45rem .55rem;border:1px solid var(--border);border-radius:9px;margin-bottom:.35rem;background:var(--surface-1);font-size:13px}
.rel-row.rel-closed{opacity:.82}
.rel-dot{width:10px;height:10px;border-radius:50%;flex:none}
.rel-dot.on{background:#1D9E75}
.rel-dot.off{background:#c0392b}
.rel-wk{font-weight:700;width:34px;flex:none}
.rel-title{flex:1;min-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rel-when{font-size:12px;color:var(--text-muted);white-space:nowrap}
.rel-btns{display:inline-flex;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden;flex:none}
.rel-btn{border:0;background:var(--surface-1);color:var(--text-secondary);font-size:12px;padding:4px 10px;cursor:pointer;border-right:1px solid var(--border)}
.rel-btn:last-child{border-right:0}
.rel-btn.active{background:var(--accent-bg);color:var(--accent-text);font-weight:700}
.nav-item.locked{opacity:.55}
.nav-item.locked .nav-num{background:var(--surface-2);color:var(--text-muted)}
.cover-wk.locked{opacity:.55}

/* --- Student profile --- */
.profile-link{color:inherit;text-decoration:none;border-bottom:1px dotted var(--text-muted)}
.profile-link:hover{color:var(--accent);border-bottom-color:var(--accent)}
.pf-no{font-size:.6em;color:var(--text-muted);font-weight:500}
.pf-links{display:flex;gap:10px;margin:.4rem 0 1.1rem;flex-wrap:wrap}
.pf-table td.mg-name a{font-weight:600}
.pf-table tr.pf-empty td{color:var(--text-muted)}
.pf-flag{display:inline-block;font-size:10.5px;font-weight:700;border-radius:5px;padding:1px 6px;text-transform:uppercase;letter-spacing:.02em;vertical-align:middle}
.pf-flag.pf-blind{background:rgba(192,57,43,.16);color:#c0392b}
.pf-flag.pf-under{background:rgba(41,128,185,.15);color:#2980b9}
.pf-feedback{margin-top:5px;font-size:12.5px;color:var(--text-secondary);font-style:italic}
.profile-back{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);text-decoration:none;font-size:13px;font-weight:650;margin:.35rem 0 .15rem}.profile-back:hover{color:var(--accent-text)}
.profile-tabs{display:flex;align-items:center;gap:5px;padding:5px;margin:.75rem 0 1rem;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);width:max-content;max-width:100%;flex-wrap:wrap}.profile-tab{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:7px;text-decoration:none;color:var(--text-secondary);font-size:13.5px;font-weight:700}.profile-tab:hover{background:var(--surface-1);color:var(--text-primary)}.profile-tab.active{background:var(--accent);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 24%,transparent)}
.profile-context{display:flex;align-items:center;justify-content:space-between;gap:16px;border-left:4px solid var(--accent);background:var(--accent-bg);padding:12px 16px;margin:.2rem 0 .8rem;border-radius:0 8px 8px 0}.profile-context span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);font-weight:800}.profile-context h2{font-size:18px;margin:2px 0}.profile-context p{font-size:12.5px;color:var(--text-secondary);margin:0}.profile-mini-stats{margin-top:.75rem}.profile-readiness-table{min-width:860px;width:100%}.profile-readiness-table td{padding:8px;text-align:center;border-bottom:1px solid var(--border)}.profile-readiness-table td:first-child,.profile-readiness-table td:last-child{text-align:left}.readiness-state{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:10px;text-transform:uppercase;letter-spacing:.03em;font-weight:800;white-space:nowrap}.readiness-state.ready{background:rgba(29,158,117,.15);color:#157a5a}.readiness-state.in-progress{background:rgba(184,134,11,.16);color:#8a6508}.readiness-state.not-started{background:var(--surface-2);color:var(--text-muted)}

/* Decision dashboard and cohort analytics */
.decision-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:1rem;margin:1rem 0}.decision-grid>.card{margin:0;min-width:0}.decision-stat{display:flex;align-items:center;gap:12px;padding:.85rem}.decision-stat .stat-icon{width:38px;height:38px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:20px}.decision-stat .stat-icon.blue{background:rgba(55,138,221,.15);color:#246eb4}.decision-stat .stat-icon.green{background:rgba(29,158,117,.15);color:#157a5a}.decision-stat .stat-icon.amber{background:rgba(222,138,59,.16);color:#9a590f}.decision-stat .stat-icon.violet{background:rgba(113,80,190,.14);color:#6542b0}.decision-stat b{font-size:1.55rem;line-height:1.05}.decision-stat div>span{display:block;margin-top:3px;line-height:1.35}
.trend-chart{min-width:0}.trend-chart svg{display:block;width:100%;height:auto;min-height:210px;overflow:visible}.trend-grid{stroke:var(--border);stroke-width:1}.trend-axis,.trend-label{fill:var(--text-muted);font:11px system-ui,sans-serif}.trend-bar{fill:color-mix(in srgb,var(--accent) 35%,var(--surface-2))}.trend-line{fill:none;stroke:#1d9e75;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.trend-dot{fill:#1d9e75;stroke:var(--surface-1);stroke-width:2}.trend-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:2px;color:var(--text-secondary);font-size:11.5px}.trend-legend span{display:inline-flex;align-items:center;gap:6px}.trend-key{display:inline-block;width:18px;height:7px;border-radius:3px}.trend-key.bar{background:color-mix(in srgb,var(--accent) 35%,var(--surface-2))}.trend-key.line{height:3px;background:#1d9e75}.chart-empty{padding:3rem 1rem;text-align:center}
.attention-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.attention-head p{font-size:12.5px;margin:2px 0}.attention-list{display:flex;flex-direction:column;gap:7px}.attention-row{display:grid;grid-template-columns:48px minmax(0,1fr) 30px;gap:10px;align-items:center;border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:8px;background:var(--surface-1);padding:8px 9px}.attention-row.high{border-left-color:#c0392b}.attention-row.watch{border-left-color:#c17a17}.attention-score{width:42px;height:42px;border-radius:7px;background:var(--surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center}.attention-score b{font-size:16px;line-height:1;color:var(--text-primary)}.attention-score small{font-size:8px;text-transform:uppercase;color:var(--text-muted);margin-top:3px}.attention-person>a{font-weight:750;color:var(--text-primary);text-decoration:none}.attention-person>a:hover{color:var(--accent-text)}.attention-person>span{display:block;color:var(--text-muted);font-size:11.5px;margin-top:2px}.attention-reasons{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.attention-reasons em{font-style:normal;font-size:10px;color:var(--text-secondary);background:var(--surface-2);border-radius:4px;padding:2px 5px}.attention-open{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);width:28px;height:28px;border-radius:6px;text-decoration:none}.attention-open:hover{background:var(--accent-bg);color:var(--accent-text)}.signal-note{display:flex;align-items:flex-start;gap:6px;color:var(--text-muted);font-size:10.5px;line-height:1.4;margin:9px 0 0}.empty-good{display:flex;align-items:center;gap:10px;padding:16px;border:1px solid rgba(29,158,117,.25);background:rgba(29,158,117,.08);border-radius:8px}.empty-good>i{font-size:26px;color:#1d9e75}.empty-good strong,.empty-good span{display:block}.empty-good span{font-size:12px;color:var(--text-secondary);margin-top:2px}
.next-action-list{display:flex;flex-direction:column;gap:7px}.next-action{display:grid;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:9px;border:1px solid var(--border);border-radius:8px;padding:9px;text-decoration:none;color:var(--text-primary);background:var(--surface-1)}.next-action:hover{border-color:var(--accent-border);background:var(--accent-bg)}.next-action>i:first-child{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:var(--surface-2);color:var(--accent-text);font-size:17px}.next-action.high>i:first-child{background:rgba(192,57,43,.12);color:#c0392b}.next-action.medium>i:first-child{background:rgba(193,122,23,.13);color:#a06413}.next-action strong,.next-action small{display:block}.next-action strong{font-size:12.5px}.next-action small{font-size:10.5px;color:var(--text-muted);line-height:1.35;margin-top:2px}.next-action>i:last-child{color:var(--text-muted)}
.reflection-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.reflection-review-head p{font-size:12.5px;margin:2px 0}.reflection-review-head label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--text-secondary)}.reflection-review-head select{height:38px;max-width:360px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-1);color:var(--text-primary);padding:0 10px;font:inherit}
@media(max-width:900px){.decision-grid{grid-template-columns:1fr}.trend-chart svg{min-height:180px}.attention-head{flex-direction:column}.attention-head .btn-ghost{align-self:flex-start}.reflection-review-head{flex-direction:column}.reflection-review-head label,.reflection-review-head select{width:100%;max-width:none}}
@media(max-width:580px){.profile-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.profile-tab{justify-content:center;padding:8px 5px;font-size:12px}.profile-context{padding:10px 12px}.decision-stat{align-items:flex-start}.trend-chart{overflow-x:auto}.trend-chart svg{width:680px;max-width:none}.attention-row{grid-template-columns:42px minmax(0,1fr)}.attention-open{grid-column:2;justify-self:end;grid-row:2}.attention-reasons em{font-size:9.5px}.reflection-review-head label{align-items:flex-start;flex-direction:column}}

/* --- Confidence calibration --- */
#confCalibration h3{font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);margin:1.1rem 0 .45rem;display:flex;align-items:center;gap:6px}
.cc-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:.5rem .7rem;border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:9px;margin-bottom:.4rem;background:var(--surface-1);font-size:13px}
.cc-row.cc-blind{border-left-color:#c0392b}
.cc-row.cc-under{border-left-color:#2980b9}
.cc-row.cc-reteach{border-left-color:#b8860b}
.cc-who{font-weight:600}
.cc-who em,.cc-nums em{font-style:normal;color:var(--text-muted);font-size:12px}
.cc-week{font-size:11px;font-weight:700;color:var(--accent-text);background:var(--accent-bg);border-radius:5px;padding:1px 6px;white-space:nowrap}
.cc-nums{color:var(--text-secondary)}
.cc-nums b{color:var(--text-primary)}
.cc-note{flex-basis:100%;font-size:12px;color:var(--text-muted)}

/* --- Mastery grid --- */
.mg-scroll{overflow-x:auto}
.mg-table{border-collapse:collapse;font-size:12px;min-width:640px}
.mg-table th{padding:4px 6px;color:var(--text-secondary);font-weight:600;text-align:center;border-bottom:1px solid var(--border-strong)}
.mg-table .mg-name{text-align:left;white-space:nowrap;padding:4px 10px 4px 2px;font-weight:600}
.mg-table .mg-name em{font-style:normal;color:var(--text-muted);font-weight:400;font-size:11px}
.mg-cell{width:34px;min-width:34px;text-align:center;padding:5px 2px;border:1px solid var(--border);font-variant-numeric:tabular-nums}
.mg-cell.mg-ok{background:rgba(29,158,117,.18);color:var(--text-primary)}
.mg-cell.mg-warn{background:rgba(184,134,11,.20);color:var(--text-primary)}
.mg-cell.mg-bad{background:rgba(192,57,43,.20);color:var(--text-primary)}
.mg-cell.mg-none{background:var(--surface-2)}
.mg-cell.mg-total{font-weight:700}

/* --- Mixed review (#3) --- */
.review-src{font-size:12px;color:var(--text-secondary);margin:-2px 0 10px;display:inline-flex;align-items:center;gap:5px}
.review-actions{margin:.2rem 0 1rem}

/* --- Printable one-page revision sheet (#6) --- */
.revision-sheet{display:none}
.confidential-print-footer{display:none}
@media print{
  @page{margin:14mm 14mm 20mm}
  .confidential-print-footer{
    display:flex !important;
    position:fixed;
    z-index:2147483647;
    right:14mm;
    bottom:4mm;
    left:14mm;
    height:8mm;
    align-items:center;
    justify-content:center;
    border-top:1px solid #d95555;
    color:#c62828 !important;
    font-family:Arial,Helvetica,sans-serif;
    font-size:9pt;
    font-weight:800;
    letter-spacing:.14em;
    line-height:1;
    text-align:center;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
  /* Hide the app entirely: display:none leaves no paginated space. (The old
     visibility:hidden approach kept the full page height of the week view,
     which printed as a stack of blank pages after the sheet.) Only the sheet
     clone — appended as a direct child of <body> at print time — stays in flow. */
  body.print-revision > .app,body.print-revision > .present-exit,body.print-revision > .fig-modal,body.print-revision > .skip-link{display:none !important}
  body.print-revision{background:#fff !important}
  body.print-revision .revision-sheet.rev-print-clone{display:block !important;position:static;width:auto;margin:0;color:#000;background:#fff;font-family:Georgia,"Times New Roman",serif}
  .revision-sheet .rev-kicker{font-size:10pt;letter-spacing:.04em;text-transform:uppercase;color:#555}
  .revision-sheet .rev-title{font-size:18pt;margin:2pt 0;font-weight:700;color:#000}
  .revision-sheet .rev-meta{font-size:9.5pt;color:#555;margin-bottom:6pt;border-bottom:1.5pt solid #000;padding-bottom:6pt}
  .revision-sheet .rev-cols{display:flex;gap:16pt;margin-top:8pt}
  .revision-sheet .rev-col{flex:1}
  .revision-sheet h2{font-size:11pt;margin:8pt 0 3pt;text-transform:uppercase;letter-spacing:.03em;border-bottom:.5pt solid #999;padding-bottom:2pt;color:#000}
  .revision-sheet ul{margin:0;padding-left:14pt}
  .revision-sheet li{font-size:10pt;line-height:1.35;margin-bottom:3pt}
  .revision-sheet dl.rev-terms{margin:0}
  .revision-sheet dt{font-size:10pt;font-weight:700;margin-top:4pt}
  .revision-sheet dd{font-size:9.5pt;line-height:1.3;margin:0 0 2pt}
  .revision-sheet .rev-fig{margin-top:10pt;text-align:center;page-break-inside:avoid}
  .revision-sheet .rev-fig svg{max-width:88%;max-height:62mm;height:auto}
  .revision-sheet .rev-figcap{font-size:9pt;color:#555;margin-top:3pt}
  .revision-sheet .rev-foot{margin-top:10pt;font-size:9.5pt;font-style:italic;color:#333;border-top:.5pt solid #999;padding-top:5pt}
}

/* --- User management table + modal --- */
.account-layout{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(360px,1.3fr);gap:16px;align-items:start;max-width:980px}
.account-summary{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center}
.account-avatar{display:grid;place-items:center;width:50px;height:50px;border:1px solid var(--accent-border);border-radius:8px;background:var(--accent-bg);color:var(--accent-text);font-size:25px}
.account-summary h2{margin:0;font-size:19px}.account-role{display:inline-flex;margin-top:3px;color:var(--text-secondary);font-size:12px;font-weight:700}
.account-summary dl{grid-column:1/-1;margin:8px 0 0;border-top:1px solid var(--border)}
.account-summary dl>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}
.account-summary dt{color:var(--text-muted);font-size:11px;font-weight:700;text-transform:uppercase}.account-summary dd{margin:0;overflow-wrap:anywhere;font-size:13px}
.account-password-card>.muted{margin:.15rem 0 1rem;font-size:12.5px;line-height:1.5}
.account-password-form{display:grid;gap:12px}.account-password-form>label{display:flex;flex-direction:column;gap:5px;color:var(--text-secondary);font-size:12px;font-weight:700}
.account-password-input{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:7px}.account-password-input input{min-width:0;height:40px;padding:0 10px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-1);color:var(--text-primary);font:inherit}.account-password-input .icon-btn{width:40px;height:40px}
.account-password-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}.account-password-actions span{font-size:12.5px}.account-password-actions span.good{color:var(--success-text);font-weight:700}.account-password-actions span.bad{color:var(--danger-text);font-weight:700}
.active-sessions-card{margin-bottom:16px}.active-sessions-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.active-sessions-head p{margin:.2rem 0 0;font-size:12px}.active-sessions-head .btn-ghost{flex:0 0 auto}
.active-session-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}.active-session-summary span{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text-secondary);font-size:11px}.active-session-summary span b{color:var(--text-primary);font-size:13px}.active-session-summary small{margin-left:auto;color:var(--text-muted);font-size:11px}.active-session-summary small.bad{color:var(--danger-text);font-weight:700}
.active-session-list{overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface-1)}
.active-session-row{display:grid;grid-template-columns:10px minmax(180px,1.3fr) minmax(150px,.85fr) minmax(140px,.75fr) auto;gap:12px;align-items:center;padding:11px 12px;border-top:1px solid var(--border)}.active-session-row:first-child{border-top:0}
.active-session-presence{width:9px;height:9px;border-radius:50%;background:var(--text-muted)}.active-session-row.online .active-session-presence{background:#1D9E75;box-shadow:0 0 0 4px rgba(29,158,117,.12)}
.active-session-person,.active-session-time,.active-session-device{display:flex;min-width:0;flex-direction:column;gap:2px}.active-session-person strong,.active-session-time strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.active-session-person span,.active-session-time span,.active-session-device span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-size:11.5px}.active-session-person small,.active-session-time small,.active-session-device small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:10.5px}
.active-session-device{position:relative;padding-left:23px}.active-session-device>.ti{position:absolute;top:2px;left:0;color:var(--accent-text);font-size:17px}.active-session-end{min-height:34px;padding:6px 9px;white-space:nowrap}.active-session-current{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:6px;background:var(--accent-bg);color:var(--accent-text);font-size:11px;font-weight:800;white-space:nowrap}
.active-session-empty{display:flex;min-height:90px;align-items:center;justify-content:center;gap:8px;color:var(--text-muted)}.active-session-empty .ti{font-size:22px}.active-session-empty p{margin:0}
.um-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:.2rem 0 .8rem}
.um-bar input[type=search]{flex:1;min-width:200px;padding:.5rem .7rem;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-1);color:var(--text-primary);font-size:13.5px}
.um-count{font-size:12px;color:var(--text-muted);white-space:nowrap}
.um-bulk,.um-bulk-all{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-secondary);white-space:nowrap}
.um-mini{padding:.35rem .6rem;font-size:12px}
.um-table td{text-align:left;padding:6px 8px;font-size:12.5px;border:1px solid var(--border)}
.um-table th{text-align:left}
.um-table tr.um-off td{opacity:.55}
.um-email{color:var(--text-secondary);max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.um-login{white-space:nowrap;font-variant-numeric:tabular-nums}
.um-chip{display:inline-block;font-size:10.5px;font-weight:700;border-radius:999px;padding:1px 8px;text-transform:uppercase}
.um-chip.on{background:rgba(29,158,117,.15);color:#1D9E75}
.um-chip.off{background:rgba(216,90,48,.15);color:#D85A30}
.um-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#1D9E75;vertical-align:middle;animation:paFlick 1.6s ease-in-out infinite}
.um-modal{min-width:300px;max-width:560px;text-align:left}
.um-modal-t{font-size:18px;font-weight:800;display:flex;align-items:center;gap:8px;margin:0}
.um-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:.4rem 0 .8rem}
.um-grid label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}
.um-grid input,.um-grid select{padding:.5rem .6rem;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-1);color:var(--text-primary);font-size:13.5px;font-weight:400}
.um-actions{display:flex;gap:8px;flex-wrap:wrap}
.um-actions .btn-ghost,.um-actions .btn-accent{padding:.5rem .8rem;font-size:13px;text-decoration:none}
.um-logs{max-height:240px;overflow-y:auto;margin-top:.6rem;border:1px solid var(--border);border-radius:9px;padding:.5rem .6rem;background:var(--surface-1)}
.um-bar select{padding:.5rem .55rem;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-1);color:var(--text-primary);font-size:13px}
.um-sortable{cursor:pointer;user-select:none;white-space:nowrap}
.um-sortable:hover{color:var(--accent)}
@media(max-width:900px){.account-layout{grid-template-columns:1fr}.active-session-row{grid-template-columns:10px minmax(0,1fr) auto}.active-session-time,.active-session-device{grid-column:2}.active-session-end,.active-session-current{grid-column:3;grid-row:1/4}.active-session-summary small{width:100%;margin-left:0}}
@media(max-width:560px){.account-summary dl>div{grid-template-columns:1fr;gap:2px}.account-password-actions .btn-accent{width:100%;justify-content:center}.active-sessions-head{align-items:stretch;flex-direction:column}.active-sessions-head .btn-ghost{align-self:flex-start}.active-session-row{grid-template-columns:10px minmax(0,1fr)}.active-session-time,.active-session-device{grid-column:2}.active-session-end,.active-session-current{grid-column:2;grid-row:auto;justify-self:start}.active-session-summary{align-items:flex-start;flex-direction:column}}

/* --- gates (flight plan) --- */
.gate-strip{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:.3rem 0 .6rem;font-size:12.5px}
.gate-lead{font-weight:800;color:var(--text-secondary);font-size:12px;letter-spacing:.02em}
.gate-chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2.5px 10px;border:1.5px solid var(--border-strong);background:var(--surface-1);color:var(--text-secondary);font-weight:600}
.gate-chip.done{border-color:#1D9E75;color:#1D9E75;background:rgba(29,158,117,.10)}
.gate-chip.req{border-color:#DE8A3B;color:#B86A1F;background:rgba(222,138,59,.10)}
.gate-sep{color:var(--text-muted)}
.gate-clear{font-weight:800;color:#1D9E75;margin-left:4px;animation:fbpop .4s ease}
.gate-left{color:var(--text-muted);font-size:12px}
.gate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:.4rem 0 .8rem}
.gate-opt{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--text-secondary)}
.gate-opt select{padding:.45rem .5rem;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-1);color:var(--text-primary);font-weight:400}
/* --- career layer --- */
.cr-card{background:linear-gradient(135deg,rgba(184,134,11,.08),rgba(55,138,221,.07)),var(--surface-1)}
.cr-desc{display:block;font-size:11.5px;color:var(--text-muted);font-weight:400}
.cr-btn .fb-num{font-size:12px;color:var(--text-secondary)}
.cr-btn.active .fb-num{color:#fff}
.cr-dim{display:flex;align-items:center;gap:10px;margin-bottom:.55rem;font-size:13px}
.cr-k{width:20px;font-weight:800;color:var(--accent)}
.cr-bar{flex:0 0 180px;height:11px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);overflow:hidden}
.cr-bar span{display:block;height:100%;background:linear-gradient(90deg,#B8860B,#378ADD);border-radius:6px;transition:width .6s ease}
.cr-v{width:30px;text-align:right;font-weight:800;font-variant-numeric:tabular-nums}
.cr-lbl{color:var(--text-secondary);font-size:12px}
.cr-dim{--riasec-color:var(--accent)}
.cr-dim .cr-k{color:var(--riasec-color)}
.cr-dim .cr-bar span{background:var(--riasec-color)}

/* ---- Career Pathways student area ---- */
.weekly-career-intro{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin:0 0 1rem;padding:14px 16px;border-left:5px solid #A06A00;background:color-mix(in srgb,#A06A00 7%,var(--surface-1))}.weekly-career-intro>span{display:grid;place-items:center;width:46px;height:46px;border-radius:8px;background:color-mix(in srgb,#A06A00 13%,var(--surface-1));color:#A06A00;font-size:24px}.weekly-career-intro h2{margin:.12rem 0 .22rem;font-size:1.25rem}.weekly-career-intro p:last-child{margin:0;max-width:850px;color:var(--text-secondary);font-size:13px;line-height:1.5}.weekly-career-intro>a{white-space:nowrap}
.career-pathways-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);min-height:330px;overflow:hidden;margin:-.25rem 0 1rem;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:radial-gradient(circle at 78% 22%,rgba(88,211,185,.22),transparent 28%),radial-gradient(circle at 92% 88%,rgba(235,170,75,.16),transparent 30%),linear-gradient(132deg,#102a43 0%,#123f52 54%,#173a45 100%);color:#fff;box-shadow:0 24px 58px rgba(7,38,49,.16);isolation:isolate}
.career-pathways-hero:before{position:absolute;z-index:-1;inset:0;content:"";opacity:.42;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(90deg,transparent 0,#000 46%,#000 100%)}
.career-pathways-hero-copy{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:38px clamp(30px,4vw,62px)}
.career-pathways-hero-copy .eyebrow{display:inline-flex;align-items:center;gap:8px;color:#8fe2cf;font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.career-pathways-hero-copy .eyebrow i{font-size:19px}
.career-pathways-hero-copy h1{max-width:760px;margin:11px 0 13px;color:#fff;font-size:clamp(42px,4.8vw,70px);font-weight:850;letter-spacing:-.052em;line-height:.92}
.career-pathways-hero-copy h1 span{color:#85e1c7;text-shadow:0 8px 34px rgba(76,210,174,.22)}
.career-pathways-hero-copy p{max-width:650px;margin:0;color:rgba(255,255,255,.76);font-size:15px;line-height:1.65}
.career-hero-motto{display:flex;align-items:center;gap:10px;margin-top:24px;color:rgba(255,255,255,.82);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.career-hero-motto i{width:24px;height:1px;background:linear-gradient(90deg,#85e1c7,rgba(255,255,255,.18))}
.career-pathways-hero-visual{position:relative;min-height:330px}
.career-pathways-hero-visual>svg{position:absolute;inset:8px 4px 0 auto;width:min(100%,520px);height:calc(100% - 14px)}
.career-hero-hub{position:absolute;top:52%;left:50%;display:grid;place-items:center;width:126px;height:126px;padding:15px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:linear-gradient(145deg,rgba(28,142,119,.94),rgba(34,92,124,.94));box-shadow:0 20px 48px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.25);transform:translate(-50%,-50%);text-align:center}
.career-hero-hub i{font-size:34px}.career-hero-hub b{font-size:14px}.career-hero-hub small{color:rgba(255,255,255,.68);font-size:8.5px}
.career-hero-type{--career-type:#85e1c7;position:absolute;display:flex;align-items:center;gap:7px;min-width:96px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--career-type) 62%,rgba(255,255,255,.18));border-radius:999px;background:rgba(8,32,43,.72);box-shadow:0 8px 22px rgba(0,0,0,.18);backdrop-filter:blur(10px)}
.career-hero-type b{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border-radius:50%;background:var(--career-type);color:#fff;font-size:12px}.career-hero-type small{color:rgba(255,255,255,.84);font-size:9px;font-weight:750}
.career-hero-r{--career-type:#3182bd;top:8%;left:41%}.career-hero-i{--career-type:#6656c7;top:25%;right:4%}.career-hero-a{--career-type:#bc477b;right:4%;bottom:22%}.career-hero-s{--career-type:#1a9977;bottom:5%;left:41%}.career-hero-e{--career-type:#c47708;bottom:22%;left:3%}.career-hero-c{--career-type:#657483;top:25%;left:3%}
.career-hero-caption{position:absolute;right:20px;bottom:11px;display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,.58);font-size:8.5px}
.career-eyebrow{margin:0;color:var(--accent-text);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.career-eyebrow i{margin-right:4px;font-size:15px;vertical-align:-2px}
.career-path-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 1.4rem;padding:7px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}
.career-path-tab{display:flex;align-items:center;min-width:0;gap:10px;padding:11px 12px;border:1px solid transparent;border-radius:7px;color:var(--text-secondary);text-decoration:none;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}
.career-path-tab:hover{border-color:var(--accent-border);background:var(--surface-1);color:var(--text-primary)}
.career-path-tab>span:first-child{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:7px;background:color-mix(in srgb,var(--accent) 10%,var(--surface-1));color:var(--accent);font-size:20px}
.career-path-tab>span:last-child{display:flex;min-width:0;flex-direction:column;gap:2px}.career-path-tab b{font-size:13.5px}.career-path-tab small{overflow:hidden;color:var(--text-muted);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}
.career-path-tab.active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 5px 14px color-mix(in srgb,var(--accent) 24%,transparent)}
.career-path-tab.active>span:first-child{background:rgba(255,255,255,.15);color:#fff}.career-path-tab.active small{color:rgba(255,255,255,.78)}
.career-path-body{padding-bottom:2rem}.career-view-intro{display:flex;align-items:flex-start;gap:14px;max-width:900px;margin-bottom:1.15rem}.career-view-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border:1px solid var(--accent-border);border-radius:8px;background:var(--accent-bg);color:var(--accent);font-size:25px}.career-view-intro h2{margin:.15rem 0 .25rem;font-size:1.45rem}.career-view-intro p:last-child{margin:0;color:var(--text-secondary);line-height:1.55}
.career-principle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 1.5rem}.career-principle-grid article{padding:14px;border-top:3px solid var(--accent);background:var(--surface-2)}.career-principle-grid i{color:var(--accent);font-size:22px}.career-principle-grid h3{margin:7px 0 3px;font-size:14px}.career-principle-grid p{margin:0;color:var(--text-secondary);font-size:12.5px;line-height:1.5}
.career-learning-band{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(310px,.7fr);gap:28px;margin:0 0 1.5rem;padding:1.25rem;border-block:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 72%,transparent)}.career-learning-band h2,.career-section-heading h2{margin:.2rem 0 .3rem;font-size:1.25rem}.career-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.career-type-card{--riasec-color:var(--accent);display:flex;align-items:flex-start;gap:9px;padding:10px;border-left:4px solid var(--riasec-color);background:var(--surface-1)}.career-type-card>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:color-mix(in srgb,var(--riasec-color) 13%,var(--surface-1));color:var(--riasec-color);font-size:14px;font-weight:900}.career-type-card h3{margin:0 0 2px;font-size:13px}.career-type-card p{margin:0;color:var(--text-muted);font-size:11px;line-height:1.4}
.career-hex-wrap{align-self:center;margin:0}.career-hexagon{position:relative;width:min(360px,100%);aspect-ratio:1.2;margin:0 auto}.career-hexagon:before,.career-hexagon:after{content:"";position:absolute;inset:14% 15%;clip-path:polygon(50% 0,94% 25%,94% 75%,50% 100%,6% 75%,6% 25%)}.career-hexagon:before{background:color-mix(in srgb,var(--accent) 24%,var(--border))}.career-hexagon:after{inset:calc(14% + 2px) calc(15% + 2px);background:var(--surface-2)}
.career-hex-node{--riasec-color:var(--accent);position:absolute;z-index:1;display:flex;align-items:center;gap:5px;transform:translate(-50%,-50%);padding:6px 8px;border:1px solid color-mix(in srgb,var(--riasec-color) 45%,var(--border));border-radius:7px;background:var(--surface-1);box-shadow:0 3px 10px rgba(0,0,0,.08);color:var(--text-secondary);font-size:10px;white-space:nowrap}.career-hex-node b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--riasec-color);color:#fff;font-size:12px}.career-hex-r{left:50%;top:8%}.career-hex-i{left:87%;top:29%}.career-hex-a{left:87%;top:71%}.career-hex-s{left:50%;top:92%}.career-hex-e{left:13%;top:71%}.career-hex-c{left:13%;top:29%}.career-hex-wrap figcaption{margin-top:4px;color:var(--text-muted);font-size:11.5px;line-height:1.45;text-align:center}
.career-lenses{margin:1.5rem 0}.career-lenses>div:last-child{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:9px}.career-lenses article{padding:11px 12px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1)}.career-lenses article b{font-size:13px}.career-lenses article p{margin:3px 0 0;color:var(--text-muted);font-size:11.5px;line-height:1.45}
.career-code-guide{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.85fr);gap:20px;align-items:center;padding:1.1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.career-code-sample{float:left;margin:0 14px 8px 0;padding:9px 12px;border-left:4px solid var(--accent);background:var(--accent-bg);color:var(--accent-text);font-size:24px;font-weight:900}.career-code-guide h2{margin:.1rem 0 .25rem;font-size:1.2rem}.career-code-guide p{margin:0;color:var(--text-secondary);font-size:12.5px;line-height:1.5}
.career-guidance-note{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--accent-border);border-radius:7px;background:var(--accent-bg)}.career-guidance-note i{flex:0 0 auto;color:var(--accent);font-size:21px}.career-guidance-note p{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.5}
.career-search{position:relative;display:block;max-width:720px;margin:0 0 1.35rem}.career-search i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:19px}.career-search input{width:100%;padding:.7rem .8rem .7rem 2.55rem;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-1);color:var(--text-primary);font:inherit}.career-search input:focus{outline:2px solid var(--accent);outline-offset:1px}
.career-explore-section{margin:0 0 1.75rem}.career-occupation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.career-occupation-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.career-occupation-card:hover{border-color:var(--accent-border);background:var(--accent-bg)}.career-occ-code{min-width:46px;padding:5px 6px;border-radius:5px;background:var(--surface-2);color:var(--accent-text);font-size:10px;font-weight:900;text-align:center}.career-occupation-card>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:2px}.career-occupation-card b{font-size:13px}.career-occupation-card small{overflow:hidden;color:var(--text-muted);font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.career-occupation-card em{color:var(--accent-text);font-size:10px;font-style:normal;font-weight:700}.career-occupation-card>i{color:var(--text-muted)}
.career-topic-map{display:grid;gap:7px;margin-top:10px}.career-topic-row{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:14px;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--surface-1)}.career-topic-week{display:flex;align-items:flex-start;gap:8px;color:var(--text-primary);text-decoration:none}.career-topic-week>span{flex:0 0 auto;color:var(--accent);font-size:11px;font-weight:900}.career-topic-week b{font-size:12.5px}.career-topic-row>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.career-topic-path{display:flex;min-width:0;flex-direction:column;gap:1px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.career-topic-path:hover{border-color:var(--accent-border);background:var(--accent-bg)}.career-topic-path b{font-size:11.5px}.career-topic-path span{overflow:hidden;color:var(--text-muted);font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.career-search-empty{padding:1rem;border:1px dashed var(--border-strong);color:var(--text-muted);text-align:center}
.career-loading{display:flex;align-items:center;gap:8px;color:var(--text-muted)}.career-loading i{animation:career-spin 1s linear infinite}.career-profile-card{width:min(760px,100%);padding:15px}.career-current-code{width:min(760px,100%)}.career-current-code b{font-size:30px}.career-strongest{font-size:14px}.career-empty-state{display:flex;align-items:flex-start;gap:12px;width:min(760px,100%);padding:15px;border:1px dashed var(--border-strong);border-radius:8px;background:var(--surface-2)}.career-empty-state>i{color:var(--accent);font-size:28px}.career-empty-state h3{margin:0 0 3px;font-size:15px}.career-empty-state p{margin:0;color:var(--text-muted);font-size:12.5px}.career-private-note{width:min(760px,100%);margin-top:12px}
@keyframes career-spin{to{transform:rotate(360deg)}}
@media(max-width:920px){.career-pathways-hero{grid-template-columns:1fr;min-height:0}.career-pathways-hero-copy{padding-bottom:22px}.career-pathways-hero-visual{min-height:300px}.career-path-tabs{grid-template-columns:1fr}.career-path-tab small{white-space:normal}.career-learning-band{grid-template-columns:1fr}.career-hex-wrap{width:min(420px,100%);margin:0 auto}.career-lenses>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}.career-code-guide{grid-template-columns:1fr}.career-topic-row{grid-template-columns:1fr}}
@media(max-width:620px){.weekly-career-intro{grid-template-columns:auto minmax(0,1fr)}.weekly-career-intro>a{grid-column:2;justify-self:start}.career-pathways-hero-copy{padding:28px 24px}.career-pathways-hero-copy h1{font-size:clamp(38px,12vw,54px)}.career-pathways-hero-visual{min-height:280px}.career-hero-type{min-width:0;padding:6px}.career-hero-type small{display:none}.career-hero-r,.career-hero-s{left:44%}.career-view-intro{gap:10px}.career-view-icon{width:40px;height:40px;flex-basis:40px;font-size:21px}.career-principle-grid,.career-type-grid,.career-occupation-grid,.career-lenses>div:last-child{grid-template-columns:1fr}.career-learning-band{margin-inline:-.5rem;padding:1rem .5rem}.career-hex-node span{display:none}.career-topic-row>div{grid-template-columns:1fr}.cr-dim{display:grid;grid-template-columns:22px minmax(0,1fr) 28px;gap:7px}.cr-bar{flex:auto;width:auto}.cr-lbl{grid-column:2/4}.career-current-code{justify-content:space-between}.career-path-tab{padding:9px 10px}}

/* ---- Career-path pool (topic → path map, validity, matches) ---- */
.cp-panel{margin:10px 0 6px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-1)}
.cp-title{font-weight:700;font-size:13px;display:flex;align-items:center;gap:6px;margin-bottom:8px;flex-wrap:wrap}
.cp-chips{display:flex;flex-wrap:wrap;gap:8px}
button.cp-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);font-size:13px;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}
button.cp-chip:hover{transform:translateY(-1px);box-shadow:0 3px 10px rgba(0,0,0,.14);background:var(--surface-2)}
.cp-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none}
.cp-dot.hi{background:#2E9E5B}.cp-dot.mid{background:#D9971E}.cp-dot.low{background:#D4553F}
.cp-score{font-size:11.5px;color:var(--text-muted);font-weight:700}
.cp-x,.cp-note{font-size:12px;color:var(--text-muted);margin-top:8px}
.cp-modal .cp-score-big{font-size:20px;font-weight:800;margin-left:2px}
.cp-why{font-size:13.5px}
.cp-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.cp-facts div{border:1px solid var(--border);border-radius:10px;padding:7px 10px;display:flex;justify-content:space-between;gap:8px;font-size:13px}
.cp-facts span{color:var(--text-muted)}
.cp-note-l{font-size:13px;color:var(--text-secondary)}
.cpp-row{display:flex;align-items:center;gap:9px;padding:7px 0;border-bottom:1px solid var(--border);font-size:13.5px;flex-wrap:wrap}
.cpp-row:last-of-type{border-bottom:none}
.cpp-t{font-weight:700;flex:1;min-width:120px}
.cpp-mid{color:var(--text-muted);font-size:12px;white-space:nowrap}
.cpp-match{font-size:15px;min-width:26px;text-align:right}
.cpp-weeks{font-size:11.5px;color:var(--text-muted);white-space:nowrap}
.cpool-sec{font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--text-muted);margin-top:8px}
.career-match-card{width:min(760px,100%);margin-top:12px;padding:0;overflow:hidden}
.career-match-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:15px 17px 11px}.career-match-head>div{min-width:0}.career-match-head b{font-size:16px}.career-match-head p{margin:2px 0 0;color:var(--text-muted);font-size:12.5px}.career-match-head>span{flex:0 0 auto;padding:4px 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:10.5px;font-weight:800}
.career-match-method{display:flex;align-items:flex-start;gap:8px;margin:0 17px 12px;padding:9px 10px;border:1px solid var(--accent-border);border-radius:7px;background:var(--accent-bg);color:var(--text-secondary);font-size:11.5px;line-height:1.4}.career-match-method i{flex:0 0 auto;margin-top:1px;color:var(--accent);font-size:17px}
.career-match-group{--match-color:#B42318;border-top:1px solid var(--border)}.career-match-group.match{--match-color:#087F5B}.career-match-group.partial{--match-color:#A06A00}.career-match-group.related{--match-color:#C45D12}.career-match-group.low{--match-color:#B42318}
.career-match-group>header{display:flex;align-items:center;gap:8px;padding:8px 17px;background:color-mix(in srgb,var(--match-color) 8%,var(--surface-2))}.career-match-group>header b{font-size:12px;color:var(--match-color)}.career-match-group>header small{margin-left:auto;color:var(--text-muted);font-size:10px;font-weight:800}.career-match-light{width:10px;height:10px;border-radius:50%;background:var(--match-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--match-color) 15%,transparent)}
.career-match-row{width:100%;margin:0;padding:9px 17px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:var(--surface-1);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.career-match-row:last-child{border-bottom:0}.career-match-row:hover{background:color-mix(in srgb,var(--accent-bg) 34%,var(--surface-1))}.career-match-row:focus-visible{position:relative;z-index:1;outline:2px solid var(--accent);outline-offset:-2px}.career-match-row>.ti-chevron-right{color:var(--text-muted);font-size:15px}.career-match-row .cpp-t{display:flex;flex-direction:column;gap:1px}.career-match-row .cpp-t>b{font-size:13px}.career-match-row .cpp-t>small{color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.05em}
.career-match-badge{--match-color:#B42318;display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:5px 7px;border:1px solid color-mix(in srgb,var(--match-color) 42%,var(--border));border-radius:6px;background:color-mix(in srgb,var(--match-color) 10%,var(--surface-1));color:var(--match-color);font-size:11px;font-weight:750;white-space:nowrap}.career-match-badge.match{--match-color:#087F5B}.career-match-badge.partial{--match-color:#A06A00}.career-match-badge.related{--match-color:#C45D12}.career-match-badge.low{--match-color:#B42318}.career-match-badge i{font-size:15px}.career-match-badge b{min-width:20px;padding-left:5px;border-left:1px solid color-mix(in srgb,var(--match-color) 32%,transparent);font-variant-numeric:tabular-nums;text-align:right}.career-match-badge.compact{min-width:148px;justify-content:flex-start}.career-match-badge.compact b{margin-left:auto}
.career-match-foot{margin:0;padding:10px 17px;border-top:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font-size:10.5px;line-height:1.45}
.career-personal-match{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:11px 0;padding:11px 13px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.career-personal-match>div{display:flex;flex-direction:column;gap:2px}.career-personal-match>div>span{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--text-secondary)}.career-personal-match>div>small{color:var(--text-muted);font-size:10.5px}
@media(max-width:620px){.career-match-row{align-items:flex-start;display:grid;grid-template-columns:minmax(0,1fr) auto}.career-match-row .career-match-badge{grid-column:2}.career-match-row .cpp-weeks{grid-column:1}.career-match-row>.ti-chevron-right{grid-column:2;grid-row:2}.career-match-badge.compact{min-width:0}.career-match-badge.compact span{display:none}.career-personal-match{align-items:flex-start;flex-direction:column}.career-match-head{padding:13px}.career-match-method{margin:0 13px 10px}.career-match-group>header,.career-match-row{padding-left:13px;padding-right:13px}}

/* ---- Online quiz answer review (post-close) ---- */
.online-review-q{margin-top:10px}
.online-review-opt{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;margin:5px 0;font-size:13.5px}
.online-review-opt.online-review-correct{border-color:#2E9E5B;background:rgba(46,158,91,.09)}
.online-review-opt.online-review-wrong{border-color:#D4553F;background:rgba(212,85,63,.08)}
.online-review-exp{font-size:12.5px;color:var(--text-secondary);margin:7px 0 0}

/* ---- Career Compass: explore related & adjacent careers (hexagon rings) ---- */
.cx-ring{margin:10px 0}
.cx-ring-h{display:flex;align-items:center;gap:7px;font-size:13px;margin-bottom:6px}
.cx-ring-n{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--accent-bg,#0F2B46);color:#fff;font-size:11px;font-weight:700;flex:none}
button.cp-chip .cp-code{font-size:10.5px;font-weight:700;color:var(--text-muted);letter-spacing:.5px;margin-left:2px}

/* ---- Forum ---- */
.fx-ann{border-left:4px solid #8A6D1B;background:var(--surface-1)}
.fx-ann-h{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.fx-section-title{font-size:1.05rem;margin:18px 0 8px}
.fx-rules{position:relative;overflow:hidden;margin:0 0 18px;padding:20px 22px;border:1px solid color-mix(in srgb,var(--accent,#185FA5) 42%,var(--border));border-left:5px solid var(--accent,#185FA5);border-radius:8px;background:color-mix(in srgb,var(--accent,#185FA5) 5%,var(--surface-1));box-shadow:0 8px 22px rgba(18,42,68,.06)}
.fx-rules:after{content:"";position:absolute;right:-55px;top:-78px;width:180px;height:180px;border:28px solid color-mix(in srgb,var(--accent,#185FA5) 8%,transparent);border-radius:50%;pointer-events:none}
.fx-rules-head{position:relative;z-index:1;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.fx-rules-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;background:var(--accent,#185FA5);color:#fff;font-size:23px;flex:none}
.fx-rules-kicker{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text,#185FA5)}
.fx-rules h2{margin:1px 0 0;font-size:1.22rem;letter-spacing:0}
.fx-rules-lock{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:7px 10px;border:1px solid color-mix(in srgb,var(--accent,#185FA5) 28%,var(--border));border-radius:999px;background:var(--surface-1);color:var(--text-secondary);font-size:12px;font-weight:700;white-space:nowrap}
.fx-rules-intro{position:relative;z-index:1;margin:15px 0 9px;font-weight:650;max-width:980px}
.fx-rules ul{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px;margin:0;padding-left:20px;color:var(--text-secondary)}
.fx-rules li{padding-left:2px;line-height:1.48}
.fx-rules-closing{position:relative;z-index:1;margin:14px 0 0;padding:10px 12px;border-left:3px solid #9A6A08;background:color-mix(in srgb,#D69E2E 9%,var(--surface-1));font-size:13px;line-height:1.5}
.fx-rules-links{position:relative;z-index:1;display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;margin-top:12px;font-size:12.5px}
.fx-rules-links span{display:inline-flex;align-items:center;gap:5px;font-weight:750;color:var(--text-secondary)}
.fx-rules-links a{font-weight:650}
.fx-del{color:var(--text-danger);text-decoration:none;margin-left:auto;font-weight:700}
.fx-topic-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fx-topics{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.fx-topic{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);cursor:pointer;transition:border-color .12s}
.fx-topic:hover{border-color:var(--border-strong)}
.fx-t-ico{color:var(--accent-text,#0F2B46)}
.fx-t-title{font-weight:600;flex:1}
.fx-t-n{font-size:12px;color:var(--text-muted)}
.fx-threads{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.fx-thread{display:flex;flex-direction:column;gap:2px;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);cursor:pointer}
.fx-thread:hover{border-color:var(--border-strong)}
.fx-t-meta{font-size:11.5px;color:var(--text-muted)}
.fx-pending{background:#FBE9C7;color:#8A6D1B}
.fx-post{border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin:8px 0;background:var(--surface-2)}
.fx-post-admin{border-color:var(--border-accent,#0F2B46);background:var(--bg-accent,#F2F6FA)}
.fx-post-h{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:4px}
@media(max-width:760px){
  .fx-rules{padding:17px 16px}
  .fx-rules-lock{width:100%;margin-left:56px;justify-content:center}
  .fx-rules ul{grid-template-columns:1fr}
}
/* ---- Homework ---- */
.hw-card .hw-h,.hw-h{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:4px}
.hwa-form .hwa-row{display:flex;gap:10px;flex-wrap:wrap}
.hwa-form .hwa-row .ed-field{flex:1;min-width:120px}
.hwa-checks{display:flex;gap:16px;flex-wrap:wrap;margin:6px 0 4px;font-size:13.5px}
.hwa-checks label{display:inline-flex;align-items:center;gap:6px}

/* Parameterized Setup */
.setup-tablist{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;max-width:1080px;margin:20px 0 8px;padding:6px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}
.setup-tab{min-width:0;min-height:56px;padding:9px 12px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-secondary);font:700 13px/1.2 inherit;cursor:pointer;display:flex;align-items:center;justify-content:flex-start;gap:9px;text-align:left}
.setup-tab i{font-size:20px;color:var(--accent)}.setup-tab:hover{background:var(--surface-1);border-color:var(--border)}.setup-tab.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast,#fff);box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 20%,transparent)}.setup-tab.active i{color:inherit}
.setup-tabpanel{max-width:960px;padding-top:12px}.setup-tabpanel[hidden]{display:none}.setup-panel-head{margin:4px 0 17px;padding:0 2px}.setup-panel-head>span{display:block;color:var(--accent);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.setup-panel-head h2{margin:3px 0 4px;font-size:22px}.setup-panel-head p{margin:0;color:var(--text-muted);font-size:13px}
.setup-grp{max-width:720px;margin:14px 0}
.setup-grp-t{display:flex;align-items:center;gap:8px;font-size:16px;margin:0 0 4px}
.setup-grp-t .ti{color:var(--accent)}
.setup-hint{font-size:13px;margin:0 0 12px}
.setup-fields{display:flex;flex-direction:column;gap:12px}
.setup-f .ed-field{margin:0}
.setup-fh{font-weight:400;font-size:12px}
.setup-toggle{display:flex;align-items:flex-start;gap:10px;cursor:pointer;padding:6px 0}
.setup-toggle input{margin-top:3px;width:16px;height:16px;flex:none}
.setup-tg-lab{font-size:14px;line-height:1.4}
.setup-actions{position:sticky;bottom:12px;z-index:15;width:min(900px,calc(100% - 4px));margin:22px 2px 38px;padding:10px 12px;align-items:center;gap:12px;border:1px solid var(--border-strong);border-radius:8px;background:color-mix(in srgb,var(--surface-1) 94%,transparent);box-shadow:0 8px 24px rgba(22,34,48,.12);backdrop-filter:blur(10px)}
.syllabus-setup{display:grid;min-width:0;width:100%;gap:14px}.syllabus-setup-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;max-width:900px;padding:6px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.syllabus-setup-tab{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-secondary);font:700 13px var(--font);cursor:pointer}.syllabus-setup-tab i{color:var(--accent-text);font-size:18px}.syllabus-setup-tab:hover{background:var(--surface-1);color:var(--text)}.syllabus-setup-tab.active{border-color:var(--accent-border);background:var(--surface-1);color:var(--accent-text);box-shadow:0 1px 4px rgba(20,35,50,.08)}
.syllabus-setup-pane{display:none;min-width:0;width:100%;max-width:900px}.syllabus-setup-pane.active{display:block}.syllabus-editor-card{margin:14px 0;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1)}.syllabus-editor-card>h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:16px}.syllabus-editor-card>h3 i{color:var(--accent-text)}.syllabus-editor-card>.ed-rich-field>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.syllabus-editor-card .ed-rich-input,.syllabus-editor-card .ed-rich-html-input{min-height:170px}
.syllabus-grade-editor{max-width:900px;margin:14px 0;padding:18px}.syllabus-grade-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.syllabus-grade-head h3{display:flex;align-items:center;gap:8px;margin:0;font-size:17px}.syllabus-grade-head h3 i{color:var(--accent-text)}.syllabus-grade-head p{margin:5px 0 0;color:var(--text-muted);font-size:12px}.syllabus-grade-head>strong{min-width:112px;padding:7px 9px;border:1px solid #9DD0AE;border-radius:999px;background:#E9F6ED;color:#176B3A;text-align:center;font-size:12px;white-space:nowrap}.syllabus-grade-head>strong.invalid{border-color:#E7B2AA;background:#FCECE9;color:#A33A2B}.syllabus-weight-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.syllabus-weight{display:grid;grid-template-columns:36px minmax(0,1fr) 92px;align-items:center;gap:10px;min-height:58px;padding:9px 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2)}.syllabus-weight-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;background:var(--accent-bg);color:var(--accent-text);font-size:18px}.syllabus-weight-name{font-size:12px;font-weight:700}.syllabus-weight-input{display:flex;align-items:center;gap:5px}.syllabus-weight-input input{width:67px;min-height:36px;padding:6px 7px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-1);color:var(--text);font:700 13px var(--font);text-align:right}.syllabus-weight-input b{color:var(--text-muted);font-size:11px}.syllabus-integrity-note,.syllabus-legal-note{display:flex;align-items:flex-start;gap:10px;margin-top:13px;padding:12px;border-left:3px solid var(--accent);background:var(--accent-bg);color:var(--text-secondary);font-size:12px;line-height:1.5}.syllabus-integrity-note i,.syllabus-legal-note i{color:var(--accent-text);font-size:20px}.setup-actions .btn-accent:disabled{border-color:var(--border);background:var(--surface-2);color:var(--text-muted);box-shadow:none;cursor:not-allowed;opacity:1}
.syllabus-grade-editor{max-width:none}.syllabus-grade-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.syllabus-grade-head-actions>strong{min-width:112px;padding:7px 9px;border:1px solid #9DD0AE;border-radius:999px;background:#E9F6ED;color:#176B3A;text-align:center;font-size:12px;white-space:nowrap}.syllabus-grade-head-actions>strong.invalid{border-color:#E7B2AA;background:#FCECE9;color:#A33A2B}.syllabus-component-list{display:grid;gap:8px}.syllabus-component-row{display:grid;grid-template-columns:42px minmax(180px,1.6fr) minmax(150px,1fr) minmax(120px,.8fr) 90px 112px;align-items:end;gap:9px;padding:10px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2)}.syllabus-component-icon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:1px;border-radius:6px;background:var(--accent-bg);color:var(--accent-text);font-size:20px}.syllabus-component-row label{display:grid;gap:4px;min-width:0}.syllabus-component-row label>span:first-child{color:var(--text-muted);font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.syllabus-component-row input,.syllabus-component-row select{width:100%;height:40px;min-width:0;padding:0 9px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-1);color:var(--text);font:600 10px var(--font)}.syllabus-component-weight>span:last-child{display:flex;align-items:center;gap:5px}.syllabus-component-weight input{text-align:right;font-weight:800}.syllabus-component-weight b{color:var(--text-muted);font-size:10px}.syllabus-component-actions{display:grid;grid-template-columns:repeat(3,34px);justify-content:end;gap:4px}.syllabus-component-actions .icon-btn{width:34px;height:40px;border-radius:6px}.syllabus-component-actions .icon-btn:disabled{opacity:.3}
.syllabus-component-guide{display:flex;align-items:flex-start;gap:9px;margin:-2px 0 12px;padding:10px 11px;border:1px solid var(--accent-border);border-radius:7px;background:color-mix(in srgb,var(--accent-bg) 42%,var(--surface-1));color:var(--text-secondary);font-size:11px;line-height:1.45}.syllabus-component-guide i{flex:0 0 auto;margin-top:1px;color:var(--accent-text);font-size:18px}.syllabus-component-row{grid-template-columns:44px minmax(190px,1.6fr) minmax(160px,1fr) minmax(125px,.8fr) 94px 124px;padding:11px}.syllabus-component-icon{width:42px;height:42px;font-size:21px}.syllabus-component-row label>span:first-child{font-size:9px}.syllabus-component-row input,.syllabus-component-row select{height:42px;font-size:12px}.syllabus-component-weight b{font-size:11px}.syllabus-component-actions{grid-template-columns:repeat(3,38px)}.syllabus-component-actions .icon-btn{width:38px;height:42px}
.course-objective-editor{min-width:0;width:100%;max-width:900px;margin:14px 0;padding:0;overflow:hidden}.course-objective-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:18px 18px 15px;border-bottom:1px solid var(--border);background:linear-gradient(120deg,var(--accent-bg),var(--surface-1) 68%)}.course-objective-editor-head h3{display:flex;align-items:center;gap:8px;margin:3px 0 5px;font-size:18px}.course-objective-editor-head h3 i{color:var(--accent-text);font-size:21px}.course-objective-editor-head p{max-width:620px;margin:0;color:var(--text-secondary);font-size:11px;line-height:1.55}.course-objective-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.course-objective-head-actions>span{display:inline-flex;min-height:36px;align-items:center;padding:7px 10px;border:1px solid var(--accent-border);border-radius:999px;background:var(--surface-1);color:var(--accent-text);font-size:10px;font-weight:800;white-space:nowrap}.course-objective-column-head{display:grid;grid-template-columns:64px minmax(0,1fr) 40px;gap:12px;padding:8px 14px;background:var(--surface-3);color:var(--text-muted);font-size:8.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.course-objective-column-head span:last-child{text-align:center}.course-objective-list{display:grid;min-width:0;gap:0}.course-objective-row{display:grid;min-width:0;grid-template-columns:64px minmax(0,1fr) 40px;gap:12px;padding:14px;border-top:1px solid var(--border);background:var(--surface-1)}.course-objective-row:first-child{border-top:0}.course-objective-row:focus-within{background:color-mix(in srgb,var(--accent-bg) 48%,var(--surface-1))}.course-objective-order{display:grid;min-height:58px;place-items:center;align-content:center;border-radius:6px;background:var(--accent-bg);color:var(--accent-text)}.course-objective-order span{font-size:7px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.course-objective-order b{font-size:22px;line-height:1.05}.course-objective-fields{display:grid;min-width:0;grid-template-columns:116px minmax(0,1fr);gap:9px}.course-objective-fields label{display:grid;min-width:0;align-content:start;gap:5px;color:var(--text-secondary);font-size:9px;font-weight:700}.course-objective-fields input,.course-objective-fields textarea{width:100%;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-1);color:var(--text);font:inherit;font-size:10.5px;line-height:1.45}.course-objective-fields input{min-height:40px;padding:8px 9px}.course-objective-fields textarea{min-height:74px;padding:9px;resize:vertical}.course-objective-fields input:focus,.course-objective-fields textarea:focus{border-color:var(--accent);outline:2px solid color-mix(in srgb,var(--accent) 18%,transparent);outline-offset:1px}.course-objective-description{grid-column:1/-1}.course-objective-actions{display:grid;align-content:start;gap:6px}.course-objective-actions .icon-btn{width:38px;height:38px}.course-objective-actions .danger{color:#B42318}.course-objective-actions button:disabled{cursor:not-allowed;opacity:.35}.course-objective-note{display:flex;align-items:flex-start;gap:9px;padding:12px 14px;border-top:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font-size:9px;line-height:1.5}.course-objective-note i{flex:0 0 auto;color:var(--accent-text);font-size:17px}
.ui-customizer{max-width:900px;background:linear-gradient(135deg,var(--surface-2),color-mix(in srgb,var(--accent-bg) 28%,var(--surface-2)))}
.ui-customizer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.ui-brand-preview{display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1);color:var(--text-secondary);font-size:12px;white-space:nowrap}.ui-brand-preview>i{font-size:27px;color:var(--accent)}
.ui-brand-controls{display:grid;grid-template-columns:minmax(240px,1fr) minmax(190px,.7fr);gap:12px;margin:16px 0 20px}.ui-setting-block{display:flex;flex-direction:column;gap:6px}.ui-setting-block>span{font-size:12px;font-weight:700;color:var(--text-secondary)}
.ui-icon-pick{display:grid;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:8px;height:42px;padding:0 10px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-1);color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.ui-icon-pick:hover{border-color:var(--accent-border);background:var(--surface-2)}.ui-icon-pick>i:first-child{font-size:20px;color:var(--accent)}.ui-icon-pick>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.ui-icon-pick>i:last-child{color:var(--text-muted)}
.ui-color-pick{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:9px;height:42px;padding:4px 10px 4px 5px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-1)}.ui-color-pick input{width:36px;height:31px;padding:0;border:0;background:transparent;cursor:pointer}.ui-color-pick span{font:600 12px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text-secondary)}
.ui-nav-head,.ui-nav-setting{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(210px,1fr) minmax(135px,.55fr);gap:10px;align-items:center}.ui-nav-head{padding:0 8px 7px;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.ui-nav-settings{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface-2)}.ui-nav-setting{padding:8px}.ui-nav-setting+ .ui-nav-setting{border-top:1px solid var(--border)}.ui-nav-setting>strong{font-size:13px}
.setup-icon-modal{z-index:120}.setup-icon-panel{width:min(860px,calc(100vw - 28px));resize:none}.setup-icon-search{position:relative;margin:14px 18px 8px}.setup-icon-search i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.setup-icon-search input{width:100%;height:42px;padding:0 12px 0 38px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-1);color:var(--text-primary);font:inherit}.setup-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:7px;padding:10px 18px 20px;max-height:64vh;overflow:auto}.setup-icon-grid h3{grid-column:1/-1;margin:10px 0 2px;padding-top:10px;border-top:1px solid var(--border);color:var(--text-muted);font-size:11px;line-height:1.2;text-transform:uppercase;letter-spacing:.08em}.setup-icon-grid h3:first-child{margin-top:0;padding-top:0;border-top:0}.setup-icon-grid button{min-height:74px;padding:8px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1);color:var(--text-secondary);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.setup-icon-grid button:hover,.setup-icon-grid button.selected{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text)}.setup-icon-grid button i{font-size:25px}.setup-icon-grid button span{font-size:11px;overflow-wrap:anywhere}
@media(max-width:780px){.setup-tablist{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-customizer-head{align-items:stretch;flex-direction:column}.ui-brand-preview{align-self:flex-start}.ui-brand-controls{grid-template-columns:1fr}.ui-nav-head{display:none}.ui-nav-setting{grid-template-columns:1fr}.ui-nav-setting>strong{margin-top:3px}.setup-icon-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.syllabus-setup-tabs,.syllabus-weight-list{grid-template-columns:1fr}.syllabus-setup-tab{justify-content:flex-start}.course-objective-editor-head{align-items:stretch;flex-direction:column}.course-objective-head-actions{justify-content:flex-start}.course-objective-column-head{display:none}.course-objective-row{grid-template-columns:48px minmax(0,1fr) 38px;gap:9px;padding:11px}.course-objective-order{min-height:48px}.course-objective-fields{grid-template-columns:1fr}.course-objective-description{grid-column:auto}}
@media(max-width:460px){.setup-tablist{grid-template-columns:1fr}.setup-tab{min-height:48px}.setup-actions{bottom:7px;flex-wrap:wrap}.setup-actions .btn-accent{width:100%;justify-content:center}.syllabus-grade-head{align-items:stretch;flex-direction:column}.syllabus-grade-head>strong{align-self:flex-start}.syllabus-weight{grid-template-columns:34px minmax(0,1fr)}.syllabus-weight-input{grid-column:2}.syllabus-weight-input input{flex:1;width:auto}.course-objective-editor-head{padding:14px}.course-objective-head-actions{align-items:stretch;flex-direction:column}.course-objective-head-actions .btn-ghost{justify-content:center}.course-objective-row{grid-template-columns:42px minmax(0,1fr)}.course-objective-actions{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.course-objective-actions .icon-btn{width:100%}}
@media(max-width:1100px){.syllabus-component-row{grid-template-columns:42px minmax(180px,1fr) minmax(150px,1fr) 90px 124px}.syllabus-component-icon-select{grid-column:2/4;grid-row:2}.syllabus-component-weight{grid-column:4;grid-row:1}.syllabus-component-actions{grid-column:5;grid-row:1}}
@media(max-width:760px){.syllabus-grade-head{align-items:stretch;flex-direction:column}.syllabus-grade-head-actions{justify-content:flex-start}.syllabus-component-row{grid-template-columns:40px minmax(0,1fr) 105px}.syllabus-component-name{grid-column:2}.syllabus-component-source{grid-column:2/4}.syllabus-component-icon-select{grid-column:2/4;grid-row:auto}.syllabus-component-weight{grid-column:3;grid-row:1}.syllabus-component-actions{grid-column:2/4;grid-row:auto;justify-content:start}.syllabus-component-actions .icon-btn{width:42px}}
@media(max-width:460px){.syllabus-grade-head-actions{align-items:stretch;flex-direction:column}.syllabus-grade-head-actions>strong{align-self:flex-start}.syllabus-grade-head-actions .btn-ghost{justify-content:center}.syllabus-component-row{grid-template-columns:38px minmax(0,1fr)}.syllabus-component-name,.syllabus-component-source,.syllabus-component-icon-select,.syllabus-component-weight,.syllabus-component-actions{grid-column:1/-1;grid-row:auto}.syllabus-component-icon{grid-column:1}.syllabus-component-name{grid-column:2}.syllabus-component-actions{grid-template-columns:repeat(3,1fr)}.syllabus-component-actions .icon-btn{width:100%}}
@media(max-width:460px){.syllabus-editor-card .ed-rich-youtube-group{display:grid;grid-template-columns:minmax(0,1fr) 68px 34px 34px;width:100%;max-width:100%}.syllabus-editor-card .ed-rich-youtube-group .ed-rich-youtube-input{width:100%;min-width:0}.syllabus-editor-card .ed-rich-youtube-group .ed-rich-youtube-size{width:68px;min-width:0}}

/* Course-scoped Career & RIASEC setup */
.career-setup{max-width:1080px}.career-setup-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;padding:12px 14px;border:1px solid var(--accent-border);border-radius:8px;background:color-mix(in srgb,var(--accent-bg) 42%,var(--surface-1))}
.career-setup-summary>div{display:flex;align-items:center;gap:10px;margin-right:auto}.career-setup-summary>div>i{display:grid;place-items:center;width:38px;height:38px;border-radius:7px;background:var(--accent);color:#fff;font-size:20px}.career-setup-summary span{display:flex;align-items:baseline;gap:5px;color:var(--text-secondary);font-size:13px}.career-setup-summary div span{display:flex;align-items:flex-start;flex-direction:column;gap:1px}.career-setup-summary small{font-size:11px;color:var(--text-muted);font-weight:500}
.career-setup-nav{display:flex;flex-wrap:wrap;gap:4px;padding:5px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);margin-bottom:12px}.career-setup-nav button{display:flex;align-items:center;gap:7px;min-height:40px;padding:8px 11px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-secondary);font:700 12.5px/1.2 inherit;cursor:pointer}.career-setup-nav button i{font-size:18px;color:var(--accent)}.career-setup-nav button:hover{border-color:var(--border);background:var(--surface-1)}.career-setup-nav button.active{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent-text)}
.career-mapping-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 16px}.career-mapping-flow>div,.career-mapping-flow>button{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;align-items:center;min-height:66px;padding:10px 12px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1);color:var(--text);text-align:left}.career-mapping-flow>button{cursor:pointer}.career-mapping-flow>button:hover{border-color:var(--accent);background:var(--accent-bg)}.career-mapping-flow>*>span{position:absolute;top:6px;right:8px;color:var(--text-muted);font-size:10px;font-weight:800}.career-mapping-flow>*>i{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:6px;background:var(--accent-bg);color:var(--accent);font-size:18px}.career-mapping-flow>*>b{font-size:12.5px}.career-mapping-flow>*>small{color:var(--text-muted);font-size:10.5px;line-height:1.3}.career-editor-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.career-week-link-status{display:flex;align-items:center;gap:5px;margin-left:auto;color:var(--accent-text);font-size:11px;font-weight:700}.career-week-link-status.empty{color:var(--text-muted)}.career-mapping-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:8px 0 13px}.career-mapping-legend>div{padding:10px 11px;border-left:3px solid var(--border-strong);background:var(--surface-2)}.career-mapping-legend>div.supports{border-left-color:#087F5B}.career-mapping-legend>div.not-supporting{border-left-color:#A8322D}.career-mapping-legend b,.career-mapping-legend span{display:block}.career-mapping-legend b{font-size:11.5px}.career-mapping-legend span{margin-top:3px;color:var(--text-muted);font-size:10.5px;line-height:1.35}
.career-editor-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:14px 0 10px}.career-editor-head h3{font-size:18px;margin:0 0 3px}.career-editor-head p{max-width:700px;margin:0;color:var(--text-muted);font-size:13px}.career-week-select{display:flex;flex-direction:column;gap:3px;min-width:300px;color:var(--text-muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.career-week-select select{min-width:0;text-transform:none;letter-spacing:0;font-size:13px}
.career-admin-list{display:grid;gap:6px}.career-admin-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;padding:10px 12px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1)}.career-admin-row.inactive{opacity:.62}.career-admin-main{display:flex;align-items:center;gap:11px;min-width:0}.career-admin-main>i{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:6px;background:var(--accent-bg);color:var(--accent);font-size:18px}.career-admin-main>div{display:flex;flex-direction:column;min-width:0;gap:2px}.career-admin-main b{font-size:13.5px}.career-admin-main small{overflow:hidden;color:var(--text-muted);font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.career-admin-actions{display:flex;gap:5px;flex:0 0 auto}.career-admin-actions .danger{color:#B42318}.career-relation{flex:0 0 auto;padding:4px 7px;border-radius:5px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.career-relation.supports{background:#E6F5EF;color:#087F5B}.career-relation.neutral{background:var(--surface-2);color:var(--text-muted)}.career-relation.not_supporting{background:#FCEBE8;color:#A8322D}
.career-week-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0}.career-week-toolbar>span{color:var(--text-muted);font-size:12px}.career-empty{display:grid;place-items:center;gap:5px;min-height:170px;padding:24px;border:1px dashed var(--border);border-radius:8px;background:var(--surface-2);text-align:center}.career-empty i{font-size:32px;color:var(--accent)}.career-empty b{font-size:14px}.career-empty span{max-width:440px;color:var(--text-muted);font-size:12px}
.career-riasec-list{display:grid;gap:7px}.career-riasec-row{display:grid;grid-template-columns:42px minmax(130px,.65fr) minmax(260px,2fr) 100px;align-items:end;gap:10px;padding:10px 12px;border:1px solid var(--border);border-left:5px solid var(--riasec-color);border-radius:7px;background:var(--surface-1)}.career-riasec-row>b{align-self:center;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--riasec-color) 14%,var(--surface-1));color:var(--riasec-color);font-size:16px}.career-riasec-row label{display:flex;flex-direction:column;gap:3px;color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.career-riasec-row input{min-width:0;text-transform:none;letter-spacing:0;font-size:13px}.career-help{display:flex;align-items:flex-start;gap:7px;margin-top:9px;color:var(--text-muted);font-size:12px}.career-help i{color:var(--accent);font-size:17px}
.career-edit-modal{z-index:1200}.career-edit-panel{width:min(900px,calc(100vw - 24px));max-height:calc(100vh - 28px)}.career-edit-body{overflow:auto;padding:16px 20px 22px}.career-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:14px}.career-form-grid .span-2{grid-column:1/-1}.career-form-grid textarea{min-height:78px;resize:vertical}.career-link-inventory-note{display:flex;align-items:flex-start;gap:6px;margin-top:7px;color:var(--text-muted);font-size:11px;font-weight:500;line-height:1.45;text-transform:none}.career-link-inventory-note i{flex:0 0 auto;margin-top:1px;color:var(--accent);font-size:14px}.career-triplet-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:4px 0 2px}.career-triplet-selector label{display:flex;flex-direction:column;gap:7px;padding:10px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1)}.career-triplet-selector label>span{display:flex;align-items:center;gap:8px}.career-triplet-selector label>span>b{display:grid;place-items:center;flex:0 0 auto;width:25px;height:25px;border-radius:50%;background:var(--accent-bg);color:var(--accent-text);font-size:12px}.career-triplet-selector label>span>span{display:flex;flex-direction:column;color:var(--text-secondary);font-size:11px;font-weight:800;text-transform:uppercase}.career-triplet-selector label small{color:var(--text-muted);font-size:9.5px;font-weight:500;text-transform:none}.career-triplet-selector select{min-width:0;width:100%;background:var(--surface-2)}
.career-edit-panel{display:flex;flex-direction:column;overflow:hidden;width:min(1040px,calc(100vw - 24px))}.career-edit-panel .career-edit-body{flex:1 1 auto;min-height:0}.career-edit-panel .ed-modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto;padding:15px 20px 18px;border-top:1px solid var(--border);background:var(--surface-1)}.career-edit-panel .ed-modal-foot button{min-height:42px}.career-code-editor,.career-validity-editor{margin:0 0 16px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.career-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.career-section-head h3{margin:0 0 2px;font-size:15px}.career-section-head p{margin:0;color:var(--text-muted);font-size:12px}.career-triplet-preview,.career-score-preview{display:grid;grid-template-columns:auto auto;align-items:center;gap:0 9px;flex:0 0 auto;min-width:170px;padding:8px 10px;border:1px solid var(--accent-border);border-radius:7px;background:var(--surface-1)}.career-triplet-preview span,.career-score-preview span{color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.career-triplet-preview b,.career-score-preview b{grid-row:1/3;grid-column:2;font-size:26px;letter-spacing:0}.career-triplet-preview small,.career-score-preview small{font-size:9.5px;color:var(--text-muted)}.career-score-preview.hi b{color:#087F5B}.career-score-preview.mid b{color:#A15C00}.career-score-preview.low b{color:#B42318}
.career-validity-head-actions{display:flex;align-items:center;gap:8px}.career-validity-info{min-height:38px;white-space:nowrap}.career-validity-columns,.career-validity-factor{display:grid;grid-template-columns:minmax(180px,.85fr) 92px minmax(330px,1.7fr) 76px;align-items:center;gap:10px}.career-validity-columns{padding:0 10px 6px;color:var(--text-muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.career-validity-columns>span:nth-child(2),.career-validity-columns>span:nth-child(4){text-align:center}.career-trend-column-head{display:flex;flex-direction:column;gap:4px}.career-trend-column-head>b{font-size:9px}.career-trend-column-head>small{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;color:var(--text-muted);font-size:7px;font-weight:500;line-height:1.05;text-transform:none;letter-spacing:0}.career-trend-column-head>small span{text-align:center}.career-trend-column-head>small span:first-child{text-align:left}.career-trend-column-head>small span:last-child{text-align:right}.career-validity-factors{overflow:hidden;border:1px solid var(--border);border-radius:7px;background:var(--surface-1)}.career-validity-factor{padding:8px 10px;border-top:1px solid var(--border);background:var(--surface-1)}.career-validity-factor:first-child{border-top:0}.career-factor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;min-width:0}.career-factor-heading>div{display:flex;flex-direction:column;gap:1px;min-width:0}.career-factor-heading b{font-size:12.5px}.career-factor-heading small{color:var(--text-muted);font-size:9px;line-height:1.25}.career-level-field,.career-factor-weight{display:block}.career-level-field input,.career-factor-weight input{min-width:0;width:100%;padding:7px 8px;background:var(--surface-2)}.career-trend-field{display:flex;flex-direction:column;gap:1px;min-width:0}.career-trend-field>div:first-child{display:flex;align-items:center;justify-content:flex-end;min-height:13px}.career-trend-field output{color:var(--accent-text);font-size:9.5px;text-align:right}.career-trend-field input[type=range]{width:100%;margin:1px 0;accent-color:var(--accent)}.career-research-meta{margin-top:2px}.career-profile-model{display:grid;grid-template-columns:minmax(260px,1fr) minmax(250px,.9fr);gap:12px;margin:0 0 13px;padding:13px 14px;border:1px solid var(--accent-border);border-radius:8px;background:var(--accent-bg)}.career-profile-model h4{margin:0 0 3px;font-size:14px}.career-profile-model p,.career-profile-model>small{margin:0;color:var(--text-muted);font-size:11.5px}.career-profile-model>small{grid-column:1/-1}.career-profile-weight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.career-profile-weight-grid label,.career-rating-multiplier-grid label{display:flex;flex-direction:column;gap:4px;color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.career-profile-weight-grid input,.career-rating-multiplier-grid input{min-width:0;padding:8px;background:var(--surface-1)}.career-rating-multiplier-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.career-rating-model{background:color-mix(in srgb,var(--surface-1) 84%,var(--warning-bg));border-color:color-mix(in srgb,var(--border) 62%,var(--warning-text))}
.career-validity-callout{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:11px 13px;border:1px solid var(--accent-border);border-radius:8px;background:var(--accent-bg)}.career-validity-callout>div{display:flex;align-items:baseline;gap:10px}.career-validity-callout span{font-size:12px;font-weight:800;text-transform:uppercase;color:var(--accent-text)}.career-validity-callout b{font-size:22px;color:var(--accent)}.career-validity-callout small{color:var(--text-muted);font-size:10.5px;text-align:right}.career-factor-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.career-current-code{display:flex;align-items:center;gap:12px;width:min(640px,100%);margin:8px 0 10px;padding:10px 13px;border-left:4px solid var(--accent);background:var(--accent-bg)}.career-current-code span{color:var(--text-muted);font-size:11px;font-weight:800;text-transform:uppercase}.career-current-code b{font-size:26px;letter-spacing:0;color:var(--accent-text)}.career-current-code small{margin-left:auto;color:var(--text-muted);font-size:11px}.career-code-trail{display:flex;align-items:center;gap:7px;width:min(640px,100%);margin:0 0 10px;color:var(--text-muted);font-size:11px}.career-code-trail>span:first-child{font-weight:800;text-transform:uppercase}.career-code-step{padding:3px 6px;border:1px solid var(--border);border-radius:5px;background:var(--surface-1);color:var(--text-secondary);font-weight:800}.career-code-trail i{font-size:13px}
@media(max-width:780px){.career-editor-head{align-items:stretch;flex-direction:column}.career-editor-actions>*{flex:1;justify-content:center}.career-week-select{min-width:0;width:100%}.career-riasec-row{grid-template-columns:38px 1fr}.career-riasec-row label:nth-of-type(2){grid-column:1/-1}.career-riasec-row label:nth-of-type(3){grid-column:1/-1}.career-setup-summary>div{width:100%}.career-setup-summary>span{flex:1 1 auto}.career-mapping-flow,.career-mapping-legend{grid-template-columns:1fr}.career-admin-row{flex-wrap:wrap}.career-week-link-status{order:3;width:100%;margin-left:45px}.career-profile-model{grid-template-columns:1fr}.career-profile-model>small{grid-column:auto}.career-validity-columns{display:none}.career-validity-factor{grid-template-columns:minmax(0,1fr) 88px}.career-factor-heading{grid-column:1}.career-level-field{grid-column:2}.career-trend-field{grid-column:1/-1}.career-factor-weight{grid-column:2}.career-validity-head-actions{align-items:stretch;flex-direction:column-reverse}.career-validity-info{justify-content:center}.career-factor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.career-current-code{align-items:flex-start;flex-wrap:wrap}.career-current-code small{width:100%;margin-left:0}.career-code-trail{flex-wrap:wrap}}
.career-current-code{width:min(760px,100%)}
@media(max-width:520px){.confirm-details{grid-template-columns:1fr}.career-setup-nav{display:grid;grid-template-columns:1fr 1fr}.career-setup-nav button{min-width:0}.career-admin-row{align-items:flex-start}.career-admin-main small{white-space:normal}.career-form-grid{grid-template-columns:1fr}.career-form-grid .span-2{grid-column:auto}.career-triplet-selector{grid-template-columns:1fr}.career-edit-body{padding:13px}.career-edit-panel .ed-modal-foot{padding:13px 14px 16px}.career-week-toolbar{align-items:stretch;flex-direction:column}.career-week-toolbar .btn-accent{justify-content:center;width:auto}.career-section-head{flex-direction:column}.career-triplet-preview,.career-score-preview{width:100%}.career-validity-factor{grid-template-columns:minmax(0,1fr) 76px;padding:8px}.career-level-field{grid-column:2}.career-factor-weight{grid-column:2}.career-trend-field{grid-column:1/-1}.career-profile-weight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.career-rating-multiplier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.career-validity-callout{align-items:flex-start;flex-direction:column}.career-validity-callout small{text-align:left}.career-factor-grid{grid-template-columns:1fr 1fr}}
.setup-off{max-width:520px;text-align:center;margin:40px auto}
.setup-off .ti{font-size:34px;color:var(--muted)}
.setup-off h1{margin:10px 0 6px;font-size:22px}

/* Homework instructor attachments */
.hwa-attach{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 4px}
.hwa-att-chip{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:3px 6px 3px 10px}
.hwa-att-chip.gone{opacity:.5;text-decoration:line-through}
.hwa-att-chip button{border:none;background:transparent;cursor:pointer;color:var(--text-secondary);display:inline-flex;padding:2px;border-radius:50%}
.hwa-att-chip button:hover{background:var(--surface-1);color:var(--text)}
.hw-atts{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 8px}
.hw-att{display:inline-flex;align-items:center;gap:6px;font-size:13px;background:var(--accent-bg);color:var(--accent-text);border:1px solid var(--accent-border);border-radius:8px;padding:5px 10px;text-decoration:none}
.hw-att:hover{filter:brightness(.97)}

/* Week selector dropdown (header chip) */
.wk-picker{position:relative;display:inline-flex}
.wk-picker-btn{cursor:pointer;display:inline-flex;align-items:center;gap:5px;font:inherit;font-size:inherit;line-height:inherit}
.wk-picker-btn .ti-chevron-down{font-size:14px;opacity:.8;transition:transform .15s}
.wk-picker-btn[aria-expanded="true"] .ti-chevron-down{transform:rotate(180deg)}
.wk-picker-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:60;min-width:300px;max-width:min(420px,90vw);max-height:min(60vh,440px);overflow-y:auto;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:12px;box-shadow:0 12px 34px rgba(0,0,0,.18);padding:6px}
.wk-opt{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;text-decoration:none;color:var(--text);font-size:14px}
.wk-opt:hover:not(.locked){background:var(--surface-2)}
.wk-opt.current{background:var(--accent-bg);color:var(--accent-text)}
.wk-opt.locked{color:var(--text-secondary);opacity:.65;cursor:not-allowed}
.wk-opt-n{flex:none;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--surface-2);font-size:12.5px;font-weight:600}
.wk-opt.current .wk-opt-n{background:var(--accent-text);color:var(--accent-bg)}
.wk-opt-t{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wk-opt-i{flex:none;font-size:15px;opacity:.8}
/* Submission audit line (admin) */
.sub-audit{font-size:12px;margin:2px 0 6px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.sub-audit .ti{font-size:13px}

/* Right-size the shared modal to its content (forms were floating in a 1100px box) */
.fig-modal-inner:has(.um-modal){max-width:600px;padding:1.5rem 1.6rem}
.fig-modal-inner:has(.um-modal) .um-modal{max-width:none}
.fig-modal-inner:has(.pa-modal){max-width:720px}

/* Practice: focus-mode modal */
.pa-card .card-title{display:flex;align-items:center;gap:6px}
.pa-expand{margin-left:auto;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:7px;display:inline-flex;line-height:1}
.pa-expand:hover{background:var(--surface-2);color:var(--text)}
.pa-modal-h{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:800;margin:0 0 12px}
.pa-modal-body{min-height:120px}

/* Custom date + time picker */
.dtp{position:relative}
.dtp-field{width:100%;height:40px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1);cursor:pointer;font-size:14px;font-family:inherit;color:var(--text);font-variant-numeric:tabular-nums}
.dtp-field:hover{border-color:var(--border-strong)}
.dtp-field .ti{color:var(--text-secondary);font-size:17px}
.dtp-ph{color:var(--text-muted)}
.dtp-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:70;width:290px;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.22);padding:10px}
.dtp-tabs{display:flex;gap:6px;margin-bottom:8px}
.dtp-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 6px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--text-secondary);cursor:pointer;font-size:13px;font-family:inherit;font-variant-numeric:tabular-nums}
.dtp-tab.on{background:var(--accent-bg);color:var(--accent-text);border-color:var(--accent-border);font-weight:600}
.dtp-cal-h{display:flex;align-items:center;justify-content:space-between;margin:2px 0 6px}
.dtp-cal-h b{font-size:14px}
.dtp-cal-h button{border:none;background:transparent;cursor:pointer;color:var(--text);padding:6px;border-radius:8px;display:inline-flex}
.dtp-cal-h button:hover{background:var(--surface-2)}
.dtp-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.dtp-wd{font-size:10.5px;text-align:center;color:var(--text-muted);padding:3px 0;text-transform:uppercase}
.dtp-day{height:32px;border:none;background:transparent;border-radius:8px;cursor:pointer;font-size:13px;color:var(--text);font-variant-numeric:tabular-nums}
.dtp-day:hover:not(.empty){background:var(--surface-2)}
.dtp-day.today{box-shadow:inset 0 0 0 1px var(--accent-border)}
.dtp-day.sel{background:var(--accent);color:#fff;font-weight:600}
.dtp-day.empty{visibility:hidden;cursor:default}
.dtp-clock-time{display:flex;align-items:center;justify-content:center;gap:4px;margin:2px 0 6px}
.dtp-clock-time .dtp-time-unit{display:flex;flex-direction:column;align-items:center;gap:1px;color:var(--text-muted);font-size:10px;font-weight:700;line-height:1.1}
.dtp-clock-time .dtp-time-unit.on{color:var(--accent-text)}
.dtp-clock-time .dtp-time-unit input{width:68px;height:42px;padding:2px 4px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text-primary);font:700 24px/1 var(--font);text-align:center;font-variant-numeric:tabular-nums;appearance:textfield;-moz-appearance:textfield}
.dtp-clock-time .dtp-time-unit input::-webkit-inner-spin-button,.dtp-clock-time .dtp-time-unit input::-webkit-outer-spin-button{margin:0;opacity:1}
.dtp-clock-time .dtp-time-unit.on input,.dtp-clock-time .dtp-time-unit input:focus{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent-text);outline:none}
.dtp-colon{font-size:24px;font-weight:700}
.dtp-dial{position:relative;width:236px;height:236px;margin:4px auto 2px;border-radius:50%;background:var(--surface-2);cursor:crosshair;touch-action:none}
.dtp-dial.dragging{cursor:grabbing}
.dtp-hand{position:absolute;inset:0;z-index:1;pointer-events:none}
.dtp-hand line{stroke:var(--accent);stroke-width:2}
.dtp-hand circle{fill:var(--accent)}
.dtp-hand .he{opacity:.22}
.dtp-num{position:absolute;z-index:2;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;font-size:14px;color:var(--text);font-variant-numeric:tabular-nums}
.dtp-num.inner{font-size:12px;color:var(--text-secondary)}
.dtp-num:hover{background:var(--surface-1)}
.dtp-num.sel{color:#fff;background:var(--accent);font-weight:600}
.dtp-ampm{display:flex;flex-direction:column;gap:3px;margin-left:4px}
.dtp-ampm button{min-width:39px;height:25px;padding:2px 7px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1);color:var(--text-secondary);font:700 10px/1 var(--font);cursor:pointer}
.dtp-ampm button:hover{border-color:var(--accent-border);background:var(--surface-2)}
.dtp-ampm button.on{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent-text)}
.dtp-hint{text-align:center;font-size:12px;color:var(--text-muted);margin:4px 0 2px}
.dtp-foot{display:flex;align-items:center;gap:6px;margin-top:8px}
.dtp-foot button{border:1px solid var(--border);background:var(--surface-1);color:var(--text);border-radius:8px;padding:7px 10px;cursor:pointer;font-size:13px;font-family:inherit}
.dtp-foot button:hover{background:var(--surface-2)}
.dtp-foot .btn-accent{margin-left:auto;border:none}
.quiz-dt{overflow:visible}

/* Quiz manager: answer-key release + stale-attempt cleanup */
.quiz-danger-row{margin-top:8px;gap:8px;flex-wrap:wrap}
.quiz-danger-row button{border:1px solid var(--border);background:var(--surface-1);color:var(--text);border-radius:8px;padding:7px 11px;cursor:pointer;font-size:13px;font-family:inherit;display:inline-flex;align-items:center;gap:6px}
.quiz-danger-row button:hover{background:var(--surface-2);border-color:var(--border-strong)}

/* Student course desk and staff messages */
.online-quiz-run .btn-accent:disabled{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border);box-shadow:none;cursor:not-allowed;opacity:1}
.online-availability{display:flex;align-items:center;gap:7px;margin:.55rem 0;color:var(--text-secondary);font-size:13px}
.student-desk{margin:22px 0;border:1px solid var(--border);background:var(--surface-1);border-radius:8px;overflow:hidden}
.student-desk-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border);background:var(--surface-2)}
.student-desk-head h2{font-size:20px;margin:2px 0 0}.student-desk-head>.ti{font-size:25px;color:var(--accent)}
.desk-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:700}
.desk-unread{display:inline-flex;align-items:center;gap:7px;color:var(--accent-text);font-size:13px}.desk-unread b{display:inline-flex;width:25px;height:25px;align-items:center;justify-content:center;border-radius:50%;background:var(--accent);color:#fff}
.student-desk-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:0}.student-desk-grid>div{padding:18px 20px}.student-desk-grid>div+div{border-left:1px solid var(--border)}
.student-desk-grid h3{font-size:15px;margin:0 0 12px;display:flex;align-items:center;gap:7px}
.desk-quiz{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px 12px;align-items:start;padding:12px 0;border-top:1px solid var(--border)}.desk-quiz:first-of-type{border-top:0}
.desk-week{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--accent-text);padding-top:2px}.desk-item-main{display:flex;flex-direction:column;gap:2px}.desk-item-main>span,.desk-item-main>small{color:var(--text-secondary);font-size:12px}.desk-status{font-size:11px;font-weight:700;padding:3px 7px;border-radius:999px;background:var(--surface-2);white-space:nowrap}.desk-quiz.open .desk-status,.desk-quiz.active .desk-status{background:var(--accent-bg);color:var(--accent-text)}
.desk-action{grid-column:2/4;justify-self:start;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--accent-text);text-decoration:none}.desk-action.quiet{color:var(--text-secondary);font-weight:600}.desk-feedback{font-size:12px;margin:5px 0 0;padding:6px 8px;background:var(--surface-2);border-radius:6px}
.desk-message{padding:11px 0;border-top:1px solid var(--border)}.desk-message:first-of-type{border-top:0}.desk-message.unread{border-left:3px solid var(--accent);padding-left:10px}.desk-message-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.desk-message-top span{font-size:10px;text-transform:uppercase;font-weight:800;color:var(--accent-text)}.desk-message p{font-size:13px;line-height:1.45;margin:6px 0}.desk-message small{color:var(--text-muted)}.desk-message button{display:block;margin-top:8px;border:0;background:transparent;color:var(--accent-text);padding:0;cursor:pointer;font-weight:700;font-size:12px}.desk-empty{font-size:13px;color:var(--text-muted)}
.message-admin-grid{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(420px,1.15fr);gap:16px;align-items:start}.message-compose>label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700;margin:12px 0}.message-compose>label input,.message-compose>label textarea,.message-search input{width:100%;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-1);color:var(--text-primary);padding:9px 10px;font:inherit}.message-audience{display:flex;gap:18px;border:0;padding:5px 0;margin:4px 0}.message-audience legend{font-size:13px;font-weight:700;margin-bottom:7px}.message-audience label{display:flex;align-items:center;gap:6px;font-size:13px}.message-audience input{width:16px;height:16px;flex:0 0 auto}
.message-student-chooser{border:1px solid var(--border);border-radius:8px;padding:10px;margin:8px 0}.message-search{position:relative;margin-bottom:9px}.message-search .ti{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:17px;color:var(--text-muted);pointer-events:none}.message-search input{padding-left:36px;height:42px}.message-student-chooser #messageStudentList{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:3px;max-height:280px;overflow:auto;padding-right:3px}.message-student{display:flex;align-items:center;gap:10px;min-width:0;padding:8px 9px;border-radius:6px;cursor:pointer}.message-student:hover{background:var(--surface-2)}.message-student input{width:17px;height:17px;flex:0 0 auto;margin:0}.message-student span{display:flex;flex-direction:column;min-width:0;line-height:1.3}.message-student strong,.message-student small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-student small{color:var(--text-muted);font-size:11.5px}
.sent-message{padding:13px 0;border-top:1px solid var(--border)}.sent-message:first-child{border-top:0}.sent-message>div{display:flex;justify-content:space-between;gap:12px}.sent-message>div span,.sent-message small{font-size:11px;color:var(--text-muted)}.sent-message p{font-size:13px;line-height:1.45;margin:7px 0}
.student-message-inbox{margin-top:16px}.message-count{margin-left:auto;padding:3px 7px;border-radius:999px;background:var(--danger-bg);color:var(--danger-text);font-size:10px;font-weight:800;text-transform:uppercase}.student-inbox-message{padding:14px 2px;border-top:1px solid var(--border)}.student-inbox-message:first-child{border-top:0}.student-inbox-message.unread{border-left:3px solid var(--accent);padding-left:12px}.student-inbox-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.student-inbox-meta>div{display:flex;flex-direction:column;gap:2px}.student-inbox-meta span,.student-inbox-meta time{color:var(--text-muted);font-size:11px}.student-inbox-message p{font-size:13px;line-height:1.5;margin:8px 0}.student-inbox-actions{display:flex;align-items:center;gap:8px;min-height:32px}.student-inbox-message .btn-ghost{min-height:32px;padding:5px 9px;font-size:12px}.student-inbox-actions small{margin-right:auto}
.desk-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.desk-section-head h3{margin:0}.desk-message-instructor{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid var(--accent-border);border-radius:6px;background:var(--accent-bg);color:var(--accent-text);font:700 11px var(--font);cursor:pointer;white-space:nowrap}.desk-message-instructor:hover{background:var(--surface-2)}.desk-message-instructor:disabled{opacity:.5;cursor:not-allowed}.desk-quota{margin:12px 0 0;color:var(--text-muted);font-size:11px;text-align:right}
.student-career-home{--career-gold:#A06A00;border-top:1px solid var(--border);padding:18px 20px;background-color:color-mix(in srgb,var(--career-gold) 5%,var(--surface-1));background-image:linear-gradient(90deg,color-mix(in srgb,var(--career-gold) 4%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--career-gold) 4%,transparent) 1px,transparent 1px);background-size:22px 22px}
.student-career-home-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:13px}.student-career-home-head .desk-kicker{display:flex;align-items:center;gap:5px;color:var(--career-gold)}.student-career-home-head h3{margin:3px 0 0;font-size:18px}.student-career-private{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:5px 8px;border:1px solid color-mix(in srgb,var(--career-gold) 34%,var(--border));border-radius:999px;background:var(--surface-1);color:var(--career-gold);font-size:10.5px;font-weight:800}
.student-career-home-body{display:block}.student-career-summary{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);gap:14px;align-items:stretch}.student-career-code{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-items:center;min-height:78px;column-gap:14px;padding:12px 14px;border-left:4px solid var(--career-gold);background:var(--surface-1)}.student-career-code>span{grid-column:2;color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.student-career-code>b{grid-row:1/3;color:var(--career-gold);font-size:34px;line-height:1}.student-career-code>small{grid-column:2;color:var(--text-secondary);font-size:11.5px}
.student-career-progress{display:flex;align-items:center;min-width:0;min-height:78px;gap:16px;padding:12px 14px;background:var(--surface-1)}.student-career-progress>div:first-child{display:flex;align-items:baseline;gap:5px;flex:0 0 auto;color:var(--text-secondary);font-size:11px}.student-career-progress>div:first-child b{color:var(--text-primary);font-size:18px}.student-career-mini-bars{display:flex;min-width:180px;gap:7px;flex:1}.student-career-mini-bars>span{position:relative;display:block;flex:1;height:18px;overflow:hidden;border:1px solid var(--border);border-radius:4px;background:var(--surface-1)}.student-career-mini-bars i{position:absolute;inset:0 auto 0 0;background:color-mix(in srgb,var(--career-gold) 38%,transparent)}.student-career-mini-bars b{position:absolute;inset:0;display:grid;place-items:center;color:var(--text-primary);font-size:9px}
.student-career-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.student-career-actions a{display:flex;align-items:center;min-width:0;min-height:60px;gap:11px;padding:11px 13px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1);color:var(--text-primary);text-decoration:none}.student-career-actions a:hover{border-color:color-mix(in srgb,var(--career-gold) 42%,var(--border));background:color-mix(in srgb,var(--career-gold) 7%,var(--surface-1))}.student-career-actions>a>i{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:7px;background:color-mix(in srgb,var(--career-gold) 11%,var(--surface-1));color:var(--career-gold);font-size:19px}.student-career-actions span{display:flex;min-width:0;flex-direction:column;gap:2px}.student-career-actions b{font-size:13px}.student-career-actions small{color:var(--text-muted);font-size:10.5px;line-height:1.3;white-space:normal}
.student-career-start{display:flex;align-items:center;gap:11px;padding:11px 13px;border-left:4px solid var(--career-gold);background:var(--surface-1)}.student-career-start>span{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--career-gold) 11%,var(--surface-1));color:var(--career-gold);font-size:20px}.student-career-start>div{min-width:0;flex:1}.student-career-start b{font-size:13px}.student-career-start p{margin:2px 0 0;color:var(--text-muted);font-size:10.5px;line-height:1.4}.student-career-start>a{flex:0 0 auto;color:var(--career-gold);font-size:11px;font-weight:800;text-decoration:none}.student-career-loading{display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:12px}.student-career-loading i{animation:career-spin 1s linear infinite}
.student-message-form{max-width:720px}.student-message-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.student-message-modal-head h2{margin-top:4px}.student-message-quota{display:flex;align-items:center;gap:4px;padding:7px 9px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1);color:var(--text-secondary);font-size:12px;white-space:nowrap}.student-message-quota b{font-size:16px;color:var(--accent-text)}.student-message-form .ed-field{margin:13px 0}.student-message-form textarea{resize:vertical}.student-sent-history{margin-top:22px;padding-top:16px;border-top:1px solid var(--border)}.student-sent-history h3{font-size:14px;margin:0 0 8px}.student-sent-note{padding:9px 0;border-top:1px solid var(--border)}.student-sent-note:first-of-type{border-top:0}.student-sent-note>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-sent-note time,.student-sent-note small{font-size:11px;color:var(--text-muted)}.student-sent-note p{font-size:12px;line-height:1.45;margin:5px 0}
@media(max-width:850px){.student-desk-grid,.message-admin-grid,.student-career-summary{grid-template-columns:1fr}.student-desk-grid>div+div{border-left:0;border-top:1px solid var(--border)}.message-admin-grid{display:block}.message-history{margin-top:14px}.student-desk-head{padding:15px}.student-desk-grid>div{padding:15px}.student-career-home{padding:15px}.desk-quiz{grid-template-columns:auto minmax(0,1fr)}.desk-status{grid-column:2}.desk-action{grid-column:2}.message-audience{flex-direction:column;gap:8px}}
@media(max-width:620px){.student-career-actions{grid-template-columns:1fr}.student-career-progress{align-items:flex-start;flex-direction:column}.student-career-mini-bars{width:100%}}
@media(max-width:520px){.desk-section-head,.student-message-modal-head,.student-inbox-meta,.student-career-home-head{align-items:stretch;flex-direction:column}.desk-message-instructor{align-self:flex-start}.student-message-quota,.student-career-private{align-self:flex-start}.student-career-start{align-items:flex-start;flex-wrap:wrap}.student-career-start>a{margin-left:47px}}

/* Student Week Dashboard */
.week-dashboard{display:grid;gap:20px}.week-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px;border:1px solid var(--border);border-left:5px solid var(--accent);border-radius:8px;background:var(--surface-1)}
.week-dashboard-head h2{margin:4px 0 5px;font-size:25px}.week-dashboard-head p{margin:0;color:var(--text-secondary);font-size:14px}.week-dashboard-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--accent-text);font-size:11px;font-weight:800;text-transform:uppercase}
.week-dashboard-head-actions{display:flex;align-items:flex-end;flex:0 0 auto;flex-direction:column;gap:9px}.week-study-enter{display:grid;grid-template-columns:22px minmax(0,1fr) 17px;align-items:center;gap:9px;min-width:210px;padding:10px 11px;border:1px solid var(--accent)!important;border-radius:7px;background:var(--accent)!important;color:#fff!important;opacity:1!important;font:inherit;text-align:left;cursor:pointer;box-shadow:0 5px 13px color-mix(in srgb,var(--accent) 22%,transparent)}.week-study-enter:hover,.week-study-enter:focus-visible,.week-study-enter:active{border-color:var(--accent)!important;background:var(--accent)!important;color:#fff!important;opacity:1!important;-webkit-text-fill-color:#fff}.week-study-enter:hover{filter:brightness(.92);transform:translateY(-1px)}.week-study-enter>i:first-child{font-size:20px}.week-study-enter>i:last-child{font-size:16px}.week-study-enter>span{display:flex;min-width:0;flex-direction:column}.week-study-enter b{font-size:12px}.week-study-enter small{color:rgba(255,255,255,.88)!important;-webkit-text-fill-color:rgba(255,255,255,.88);font-size:9px}.week-study-enter i,.week-study-enter b{color:inherit!important;-webkit-text-fill-color:#fff}
.week-dashboard-manual{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text-secondary);font-size:11px;font-weight:800}.week-dashboard-manual.done{border-color:#9DD0AE;background:#E9F6ED;color:#176B3A}
.week-dashboard-live{display:grid;gap:16px}.week-dashboard-loading,.week-dashboard-author{display:flex;align-items:center;gap:13px;min-height:100px;padding:20px;border:1px dashed var(--border-strong);border-radius:8px;color:var(--text-secondary)}.week-dashboard-loading i{font-size:24px;animation:career-spin 1s linear infinite}.week-dashboard-author>i{font-size:28px;color:var(--accent-text)}.week-dashboard-author p{margin:4px 0 0;font-size:13px}
.week-progress-overview{display:grid;grid-template-columns:140px minmax(260px,1fr) minmax(210px,.62fr);gap:22px;align-items:center;padding:22px;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--accent) 4%,var(--surface-1));box-shadow:0 8px 24px rgba(20,35,50,.05)}
.week-progress-ring{--week-progress:0%;display:grid;place-items:center;width:124px;height:124px;margin:auto;border-radius:50%;background:conic-gradient(var(--accent) var(--week-progress),var(--surface-3) 0);position:relative}.week-progress-ring:before{content:"";position:absolute;inset:11px;border-radius:50%;background:var(--surface-1);border:1px solid var(--border)}.week-progress-ring>div{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.week-progress-ring b{font-size:27px;color:var(--accent-text)}.week-progress-ring span{color:var(--text-muted);font-size:11px}
.week-progress-label,.week-dashboard-section-head span{color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.week-progress-summary h3{margin:4px 0 7px;font-size:21px}.week-progress-summary p{margin:0 0 13px;color:var(--text-secondary);font-size:13px;line-height:1.5}.week-progress-summary .btn-accent,.week-progress-summary .btn-ghost{min-height:38px;padding:8px 11px;font-size:12px}
.week-progress-pulse{display:grid;gap:0;border:1px solid var(--border);border-radius:8px;background:var(--surface-1);overflow:hidden}.week-progress-pulse>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:9px 12px}.week-progress-pulse>div+div{border-top:1px solid var(--border)}.week-progress-pulse span{color:var(--text-muted);font-size:10px;font-weight:700}.week-progress-pulse b{color:var(--accent-text);font-size:15px}
.week-summary-section{padding:18px 20px 20px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1)}.week-dashboard-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:13px}.week-dashboard-section-head h3{margin:3px 0 0;font-size:18px}.week-dashboard-section-head>span{padding:5px 8px;border-radius:999px;background:var(--surface-2)}
.week-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:10px}.week-summary-card{--summary-tone:#2369AE;--summary-soft:#E8F2FB;position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:minmax(78px,1fr) auto;gap:10px 12px;min-width:0;min-height:140px;padding:16px 16px 13px;border:1px solid var(--border);border-top:4px solid var(--summary-tone);border-radius:8px;background:var(--surface-1);color:var(--text-primary);text-decoration:none;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.week-summary-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--summary-tone) 55%,var(--border));box-shadow:0 8px 18px rgba(20,35,50,.09)}.week-summary-card:focus-visible{outline:3px solid color-mix(in srgb,var(--summary-tone) 34%,transparent);outline-offset:2px}.week-summary-card.tone-check{--summary-tone:#6B4CB5;--summary-soft:#F0EBFA}.week-summary-card.tone-lab{--summary-tone:#087889;--summary-soft:#E5F4F6}.week-summary-card.tone-practice{--summary-tone:#A86600;--summary-soft:#FBF0D6}.week-summary-card.tone-assessment{--summary-tone:#A33A55;--summary-soft:#FAE9EE}.week-summary-card.tone-reflection{--summary-tone:#187647;--summary-soft:#E8F5EC}
.week-summary-card-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:8px;background:var(--summary-soft);color:var(--summary-tone);font-size:22px}.week-summary-card-copy{display:flex;min-width:0;flex-direction:column}.week-summary-card-copy small{color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.week-summary-card-copy b{margin-top:4px;font-size:20px;line-height:1.15}.week-summary-card-copy span{margin-top:5px;color:var(--text-secondary);font-size:11px;line-height:1.35}.week-summary-card-state{grid-column:1/3;display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;color:var(--summary-tone);font-size:10px;font-weight:800}.week-summary-card.done .week-summary-card-state{color:#187647}.week-summary-card.attention .week-summary-card-state{color:#9A5C00}.week-summary-card-progress{position:absolute;inset:auto 0 0;height:4px;background:var(--surface-3)}.week-summary-card-progress i{display:block;height:100%;background:var(--summary-tone);transition:width .35s ease}
.week-feedback-spotlight{display:grid;grid-template-columns:46px minmax(0,1fr) 22px;align-items:center;gap:13px;width:100%;padding:14px 17px;border:1px solid #9BCDB9;border-left:5px solid #187647;border-radius:8px;background:#EAF6F0;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.week-feedback-spotlight:hover{background:#E2F2E9}.week-feedback-spotlight>span{display:grid;place-items:center;width:44px;height:44px;border-radius:8px;background:var(--surface-1);color:#187647;font-size:22px}.week-feedback-spotlight>div{display:flex;min-width:0;flex-direction:column}.week-feedback-spotlight small{color:#187647;font-size:10px;font-weight:800;text-transform:uppercase}.week-feedback-spotlight b{font-size:14px}.week-feedback-spotlight p{margin:2px 0 0;color:var(--text-secondary);font-size:11px}.week-feedback-spotlight>i{color:#187647;font-size:19px}
.week-dashboard-detail{border:1px solid var(--border);border-radius:8px;background:var(--surface-1);overflow:hidden}.week-dashboard-detail>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:68px;padding:14px 18px;cursor:pointer;list-style:none}.week-dashboard-detail>summary::-webkit-details-marker{display:none}.week-dashboard-detail>summary>span{display:flex;align-items:center;gap:12px}.week-dashboard-detail>summary>span>i{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:var(--accent-bg);color:var(--accent-text);font-size:20px}.week-dashboard-detail>summary>span>span{display:flex;flex-direction:column}.week-dashboard-detail>summary small{color:var(--text-muted);font-size:9px;font-weight:800;text-transform:uppercase}.week-dashboard-detail>summary b{font-size:13px}.week-dashboard-detail>summary em{display:inline-flex;align-items:center;gap:7px;color:var(--text-muted);font-size:10px;font-style:normal;font-weight:800}.week-dashboard-detail>summary em i{transition:transform .18s ease}.week-dashboard-detail[open]>summary{border-bottom:1px solid var(--border)}.week-dashboard-detail[open]>summary em i{transform:rotate(180deg)}.week-dashboard-detail>.week-task-list,.week-dashboard-detail>.week-feedback-list,.week-dashboard-detail>.week-feedback-empty{margin:0;padding:16px 18px}
.week-task-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.week-task{display:grid;grid-template-columns:40px minmax(0,1fr) auto 18px;align-items:center;gap:10px;min-width:0;padding:11px 12px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1);color:var(--text);text-decoration:none}.week-task:hover{border-color:var(--accent-border);background:var(--accent-bg)}.week-task-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:7px;background:var(--surface-2);color:var(--text-secondary);font-size:19px}.week-task-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.week-task-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.week-task-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:10.5px}.week-task-state{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;color:var(--text-muted);font-size:10.5px;font-weight:800}.week-task.done .week-task-icon,.week-task.done .week-task-state{color:#176B3A}.week-task.required:not(.done){border-left:4px solid #D17A00}.week-task.required:not(.done) .week-task-state{color:#925500}.week-task-go{color:var(--text-muted)}
.week-feedback-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.week-feedback-list article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:12px;border-left:3px solid var(--accent);background:var(--accent-bg)}.week-feedback-list article>i{display:grid;place-items:center;width:32px;height:32px;border-radius:6px;background:var(--surface-1);color:var(--accent-text)}.week-feedback-list b{font-size:12px}.week-feedback-list p{margin:4px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.45}.week-feedback-empty{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:13px}
.week-orientation{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.week-orientation-main{width:100%;padding:20px 22px;border-top:4px solid var(--accent);background:var(--surface-2)}.week-resource-label{display:inline-flex;align-items:center;gap:6px;color:var(--accent-text);font-size:11px;font-weight:800;text-transform:uppercase}.week-orientation-main h3{margin:6px 0 12px;font-size:18px}.week-orientation-main ul{margin:0;padding-left:20px}.week-orientation-main li{margin:7px 0;color:var(--text-secondary);line-height:1.5}.week-resource-fold{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--surface-1)}.week-resource-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:14px 20px;cursor:pointer;list-style:none}.week-resource-fold>summary::-webkit-details-marker{display:none}.week-resource-fold>summary span{display:flex;align-items:center;gap:7px;font-weight:800;font-size:13px}.week-resource-fold>summary b{display:grid;place-items:center;min-width:26px;height:24px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:10px}.week-resource-fold[open]>summary{border-bottom:1px solid var(--border)}.week-resource-fold>dl,.week-resource-fold>.card,.week-resource-fold>.ss-list{margin:0;padding:14px 20px}.week-resource-fold>.card{border:0;background:transparent}.week-resource-term{padding:7px 0;border-top:1px solid var(--border)}.week-resource-term:first-child{border-top:0}.week-resource-term dt{font-size:12px;font-weight:800}.week-resource-term dd{margin:2px 0 0;color:var(--text-secondary);font-size:11px;line-height:1.4}
@media(max-width:1050px){.week-progress-overview{grid-template-columns:130px minmax(0,1fr)}.week-progress-pulse{grid-column:1/3;grid-template-columns:repeat(3,minmax(0,1fr))}.week-progress-pulse>div+div{border-top:0;border-left:1px solid var(--border)}.week-task-list,.week-feedback-list{grid-template-columns:1fr}}
@media(max-width:760px){.week-dashboard-head{align-items:stretch;flex-direction:column}.week-dashboard-head-actions{align-items:stretch}.week-dashboard-manual{align-self:flex-start}.week-study-enter{width:100%}.week-progress-overview{grid-template-columns:1fr}.week-progress-pulse{grid-column:auto}.week-task{grid-template-columns:38px minmax(0,1fr) 18px}.week-task-state{grid-column:2;justify-self:start}.week-task-go{grid-column:3;grid-row:1/3}.week-progress-summary{text-align:center}.week-progress-summary .btn-accent,.week-progress-summary .btn-ghost{justify-content:center}.week-dashboard-section-head{align-items:flex-start;flex-direction:column}.week-dashboard-detail>summary{align-items:flex-start}.week-dashboard-detail>summary em{padding-top:4px}.week-feedback-spotlight{grid-template-columns:42px minmax(0,1fr) 20px}}
@media(max-width:460px){.week-progress-pulse{grid-template-columns:1fr}.week-progress-pulse>div+div{border-left:0;border-top:1px solid var(--border)}.week-summary-section,.week-orientation-main{padding:15px}.week-summary-grid{grid-template-columns:1fr}.week-task-copy b,.week-task-copy small{white-space:normal}.week-dashboard-detail>summary{align-items:stretch;flex-direction:column}.week-dashboard-detail>summary em{justify-content:space-between;width:100%;padding-left:52px}.week-feedback-spotlight{padding:13px}.week-feedback-spotlight>span{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.week-summary-card,.week-summary-card-progress i,.week-dashboard-detail>summary em i{transition:none}.week-summary-card:hover{transform:none}}

/* Student-facing syllabus */
.syllabus-page{display:grid;gap:20px}.syllabus-page-loading{display:flex;align-items:center;gap:10px;min-height:180px;color:var(--text-muted)}.syllabus-page-loading i{font-size:24px;animation:career-spin 1s linear infinite}.syllabus-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px 26px;border-left:5px solid var(--accent);background:var(--surface-2)}.syllabus-hero h1{margin:4px 0 6px;font-size:31px}.syllabus-hero p:not(.syllabus-eyebrow){max-width:720px;margin:0;color:var(--text-secondary);line-height:1.5}.syllabus-eyebrow{margin:16px 0 0;color:var(--accent-text);font-size:11px;font-weight:800;text-transform:uppercase}.syllabus-hero-actions{display:flex;flex:0 0 auto;align-items:center;gap:10px;flex-direction:column}.syllabus-hero-actions .btn-accent{width:100%;white-space:nowrap}.syllabus-hero-mark{display:grid;place-items:center;flex:0 0 82px;width:82px;height:82px;border:1px solid var(--accent-border);border-radius:8px;background:var(--surface-1);color:var(--accent-text);font-size:39px}
.course-syllabus-editor-intro{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px;padding:14px 16px;border:1px solid var(--accent-border);border-radius:8px;background:var(--accent-bg)}.course-syllabus-editor-intro>i{flex:0 0 auto;color:var(--accent-text);font-size:26px}.course-syllabus-editor-intro b,.course-syllabus-editor-intro span{display:block}.course-syllabus-editor-intro span{margin-top:3px;color:var(--text-secondary);line-height:1.5}.course-syllabus-setup .syllabus-setup-tabs,.course-syllabus-setup .syllabus-setup-pane{max-width:none}.course-syllabus-privacy-editor{margin-top:24px;padding-top:22px;border-top:2px solid var(--border-strong)}.course-syllabus-editor-divider{max-width:760px;margin-bottom:12px}.course-syllabus-editor-divider .eyebrow{display:block;margin:0 0 5px}.course-syllabus-editor-divider h3{margin:0 0 5px;font-size:22px}.course-syllabus-editor-divider p{margin:0;color:var(--text-secondary);line-height:1.5}.course-syllabus-setup .setup-grp{max-width:none}
.syllabus-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:6px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.syllabus-nav-tab{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:9px 12px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-secondary);font:700 13px var(--font);cursor:pointer}.syllabus-nav-tab i{color:var(--accent-text);font-size:18px}.syllabus-nav-tab:hover{background:var(--surface-1);color:var(--text)}.syllabus-nav-tab.active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 4px 11px color-mix(in srgb,var(--accent) 20%,transparent)}.syllabus-nav-tab.active i{color:#fff}.syllabus-view{display:none}.syllabus-view.active{display:block}.syllabus-section-head>span{color:var(--accent-text);font-size:10px;font-weight:800;text-transform:uppercase}.syllabus-section-head h2{margin:3px 0 5px;font-size:22px}.syllabus-section-head>p{max-width:740px;margin:0;color:var(--text-muted);font-size:13px;line-height:1.5}
.syllabus-outline{margin-top:14px;padding:18px 22px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1)}.syllabus-outline ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;margin:0;padding-left:23px}.syllabus-outline li{padding:8px 4px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:12px;line-height:1.45}.syllabus-outline li::marker{color:var(--accent-text);font-weight:800}.syllabus-outline strong{color:var(--text)}
.syllabus-learning-grid,.syllabus-rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.syllabus-learning-grid>section,.syllabus-rules-grid>section{padding:20px 22px;border-top:4px solid var(--accent);background:var(--surface-2)}.syllabus-learning-grid .rich-content,.syllabus-rules-grid .rich-content{color:var(--text-secondary);font-size:13px;line-height:1.6}.syllabus-learning-grid li,.syllabus-rules-grid li{margin:7px 0}.syllabus-reference-band{margin-top:16px;padding:20px 22px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1)}.syllabus-reference-band .rich-content{font-size:13px;color:var(--text-secondary)}
.syllabus-grade-chart{display:grid;gap:8px;margin-top:14px;padding:18px 20px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1)}.syllabus-grade-row{display:grid;grid-template-columns:36px minmax(140px,.8fr) minmax(180px,2fr) 54px;align-items:center;gap:10px;min-height:40px}.syllabus-grade-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;background:var(--accent-bg);color:var(--accent-text);font-size:17px}.syllabus-grade-icon.violet{background:#EEE9F7;color:#6941A5}.syllabus-grade-icon.green{background:#E8F5EC;color:#187647}.syllabus-grade-icon.cyan{background:#E5F4F6;color:#087889}.syllabus-grade-icon.rose{background:#FAE9EE;color:#A33A55}.syllabus-grade-icon.amber{background:#FBF0D6;color:#976200}.syllabus-grade-label{font-size:12px;font-weight:700}.syllabus-grade-track{height:12px;overflow:hidden;border:1px solid var(--border);border-radius:999px;background:var(--surface-2)}.syllabus-grade-track>span{display:block;height:100%;min-width:2px;background:var(--accent)}.syllabus-grade-row>strong{text-align:right;color:var(--text-secondary);font-size:12px}.syllabus-selflearn{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(400px,1.25fr);gap:22px;margin-top:16px;padding:22px;border:1px solid var(--border);border-left:5px solid #976200;border-radius:8px;background:var(--surface-2)}.syllabus-selflearn-share{display:inline-block;color:#976200;font-size:34px;font-weight:800}.syllabus-selflearn h3{margin:5px 0 6px;font-size:18px}.syllabus-selflearn p{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.55}.syllabus-selflearn-bars{display:grid;gap:4px}.syllabus-selflearn-bars .syllabus-grade-row{grid-template-columns:32px minmax(120px,.9fr) minmax(120px,1.5fr) 48px;min-height:36px}.syllabus-selflearn-bars .syllabus-grade-icon{width:30px;height:30px;font-size:15px}
.syllabus-privacy{display:grid;grid-template-columns:64px minmax(0,1fr);gap:18px;margin-top:16px;padding:22px;border:1px solid var(--accent-border);border-radius:8px;background:var(--accent-bg)}.syllabus-privacy-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:8px;background:var(--surface-1);color:var(--accent-text);font-size:28px}.syllabus-privacy .rich-content,.syllabus-career-disclaimer .rich-content{color:var(--text-secondary);font-size:13px;line-height:1.6}.syllabus-career-disclaimer{display:flex;align-items:flex-start;gap:14px;margin-top:16px;padding:18px 20px;border-left:4px solid #976200;background:#FBF5E8}.syllabus-career-disclaimer>i{color:#976200;font-size:25px}.syllabus-career-disclaimer h3{margin:0 0 4px;font-size:16px}.syllabus-career-disclaimer p{margin:0}

/* Privacy Notice, choices and data-subject controls */
.privacy-home-notice{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:14px;margin:18px 0 0;padding:15px 18px;border:1px solid #9BCDB9;border-left:5px solid #177354;border-radius:8px;background:#EAF6F0}.privacy-home-notice>span{display:grid;place-items:center;width:44px;height:44px;border-radius:7px;background:var(--surface-1);color:#177354;font-size:22px}.privacy-home-notice small{color:#177354;font-size:9px;font-weight:800;text-transform:uppercase}.privacy-home-notice h2{margin:2px 0 3px;font-size:16px}.privacy-home-notice p{margin:0;color:var(--text-secondary);font-size:11px;line-height:1.45}.privacy-home-notice .btn-accent{white-space:nowrap}
.privacy-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;border-left:5px solid #177354;background:linear-gradient(90deg,#EAF6F0,var(--surface-2))}.privacy-hero h2{margin:5px 0 7px;font-size:27px}.privacy-hero p:not(.syllabus-eyebrow){max-width:760px;margin:0;color:var(--text-secondary);line-height:1.55}.privacy-hero>span{display:grid;place-items:center;flex:0 0 72px;width:72px;height:72px;border:1px solid #9BCDB9;border-radius:8px;background:var(--surface-1);color:#177354;font-size:34px}
.privacy-controller{display:grid;grid-template-columns:1.25fr 1fr 1fr;border:1px solid var(--border);border-radius:8px;background:var(--surface-1);overflow:hidden}.privacy-controller>div{display:flex;min-width:0;flex-direction:column;gap:4px;padding:15px 18px}.privacy-controller>div+div{border-left:1px solid var(--border)}.privacy-controller span{color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.privacy-controller b{overflow-wrap:anywhere;font-size:13px}.privacy-controller b a{color:var(--accent-text)}.privacy-controller small{color:var(--text-muted);font-size:10px}.privacy-missing{color:#9B5F00!important;text-transform:none!important}
.syllabus-privacy-statement{padding:20px 22px;border-top:4px solid var(--accent);background:var(--surface-2)}.syllabus-privacy-statement .rich-content{max-width:960px;color:var(--text-secondary);font-size:13px;line-height:1.7}.privacy-purposes,.privacy-rights,.privacy-rights-actions,.privacy-request-form{margin-top:20px}.privacy-purpose-table{margin-top:13px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1);overflow:hidden}.privacy-purpose-header,.privacy-purpose-row{display:grid;grid-template-columns:minmax(210px,1.15fr) minmax(230px,1.35fr) minmax(210px,1.15fr) minmax(190px,.95fr)}.privacy-purpose-header{background:var(--surface-3);color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.privacy-purpose-header span{padding:10px 13px}.privacy-purpose-row{border-top:1px solid var(--border)}.privacy-purpose-row>*{min-width:0;margin:0;padding:13px;border-left:1px solid var(--border);color:var(--text-secondary);font-size:11px;line-height:1.5}.privacy-purpose-row>*:first-child{border-left:0}.privacy-purpose-data{display:flex;align-items:flex-start;gap:10px}.privacy-purpose-data>i{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border-radius:6px;background:var(--accent-bg);color:var(--accent-text);font-size:17px}.privacy-purpose-data span{display:flex;min-width:0;flex-direction:column;gap:3px}.privacy-purpose-data b{color:var(--text-primary);font-size:12px}.privacy-purpose-data small{color:var(--text-muted);font-size:10px;line-height:1.45}
.privacy-retention-band{display:flex;align-items:flex-start;gap:14px;margin-top:20px;padding:18px 20px;border-left:4px solid #976200;background:#FBF5E8}.privacy-retention-band>i{color:#976200;font-size:26px}.privacy-retention-band h3{margin:0 0 5px;font-size:16px}.privacy-retention-band p{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.6}.privacy-right-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}.privacy-right-grid article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:4px 10px;padding:13px;border:1px solid var(--border);background:var(--surface-1)}.privacy-right-grid i{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:6px;background:#EAF6F0;color:#177354;font-size:17px}.privacy-right-grid b{font-size:12px}.privacy-right-grid p{margin:0;color:var(--text-muted);font-size:10.5px;line-height:1.45}
.privacy-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.privacy-choice-card{padding:18px;border:1px solid var(--border);border-top:4px solid var(--accent);background:var(--surface-1)}.privacy-choice-card.optional{border-top-color:#976200}.privacy-choice-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px}.privacy-choice-head>span{display:grid;place-items:center;width:40px;height:40px;border-radius:7px;background:var(--accent-bg);color:var(--accent-text);font-size:21px}.privacy-choice-card.optional .privacy-choice-head>span{background:#FBF0D6;color:#976200}.privacy-choice-head p{margin:0;color:var(--text-muted);font-size:9px;font-weight:800;text-transform:uppercase}.privacy-choice-head h3{margin:2px 0 0;font-size:15px}.privacy-choice-head em{padding:4px 7px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:9px;font-style:normal;font-weight:800;text-transform:uppercase}.privacy-choice-head em.done{background:#E9F6ED;color:#176B3A}.privacy-choice-head em.waiting{background:#FFF2D8;color:#8B5600}.privacy-choice-card>p{margin:13px 0;color:var(--text-secondary);font-size:11.5px;line-height:1.55}.privacy-choice-card>small{display:block;color:var(--text-muted);font-size:10px}.privacy-consent-check{display:flex;align-items:flex-start;gap:9px;margin:13px 0;padding:10px;border:1px solid var(--border);background:var(--surface-2);cursor:pointer}.privacy-consent-check input{flex:0 0 auto;width:18px;height:18px;margin-top:1px}.privacy-consent-check span{display:flex;flex-direction:column;gap:3px}.privacy-consent-check b{font-size:11px}.privacy-consent-check small{color:var(--text-muted);font-size:9.5px;line-height:1.4}.privacy-choice-card>p.privacy-consent-dependency{display:flex;align-items:flex-start;gap:6px;margin:-4px 0 12px;padding:8px 10px;border-left:3px solid #B57800;background:#FFF7E6;color:#73500C;font-size:10px}.privacy-consent-dependency i{margin-top:1px;font-size:14px}.privacy-choice-card .btn-accent{min-height:36px;padding:7px 10px;font-size:11px}
.privacy-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:9px;margin-top:13px}.privacy-action{display:flex;align-items:flex-start;gap:11px;min-height:84px;padding:13px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1);color:var(--text-primary);font:inherit;text-align:left;text-decoration:none;cursor:pointer}.privacy-action:hover{border-color:var(--accent-border);background:var(--accent-bg)}.privacy-action>i{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:7px;background:var(--accent-bg);color:var(--accent-text);font-size:19px}.privacy-action span{display:flex;min-width:0;flex-direction:column;gap:4px}.privacy-action b{font-size:12px}.privacy-action small{color:var(--text-muted);font-size:10px;line-height:1.4}.privacy-action.danger>i{background:#FDECEA;color:#A33A2C}.privacy-action.danger:hover{border-color:#D7A49E;background:#FFF7F5}
.privacy-request-form{padding:20px 22px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.privacy-request-form>div:first-child>p{max-width:720px;margin:5px 0 0;color:var(--text-secondary);font-size:12px}.privacy-request-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.privacy-request-fields label{display:flex;flex-direction:column;gap:5px;color:var(--text-secondary);font-size:10px;font-weight:800;text-transform:uppercase}.privacy-request-fields label.wide{grid-column:1/3}.privacy-request-fields select,.privacy-request-fields textarea{width:100%;padding:9px 10px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-1);color:var(--text-primary);font:400 12px var(--font);text-transform:none}.privacy-request-fields textarea{resize:vertical}.privacy-request-fields .btn-accent{justify-self:start}.privacy-request-fields>[role=status]{align-self:center;color:var(--text-muted);font-size:11px}.privacy-no-requests{margin:14px 0 0;color:var(--text-muted);font-size:11px}.privacy-request-history{display:grid;gap:7px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.privacy-request-history article{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px}.privacy-request-history article>div{display:flex;flex-direction:column;gap:2px}.privacy-request-history b{font-size:11px;text-transform:capitalize}.privacy-request-history small{color:var(--text-muted);font-size:9.5px}.privacy-request-history p{margin:3px 0 0;color:var(--text-secondary);font-size:10.5px}.privacy-request-state,.privacy-request-type{display:inline-flex;padding:4px 7px;border-radius:999px;background:var(--surface-3);color:var(--text-secondary);font-size:9px;font-weight:800;text-transform:uppercase}.privacy-request-state.completed{background:#E9F6ED;color:#176B3A}.privacy-request-state.in_review{background:#E7F1FA;color:#185F91}.privacy-request-state.declined{background:#FDECEA;color:#A33A2C}.privacy-staff-preview{display:flex;align-items:flex-start;gap:11px;margin-top:20px;padding:16px;border:1px dashed var(--border-strong);color:var(--text-secondary)}.privacy-staff-preview>i{font-size:23px;color:var(--accent-text)}.privacy-staff-preview p{margin:4px 0 0;font-size:11px}

.privacy-admin-intro{display:flex;align-items:flex-start;gap:13px;padding:17px 18px;border-left:4px solid #177354;background:#EAF6F0}.privacy-admin-intro>i{color:#177354;font-size:25px}.privacy-admin-intro h3{margin:0 0 4px}.privacy-admin-intro p{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.5}.privacy-request-admin{margin-top:16px}.privacy-request-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.privacy-request-admin-head span{color:var(--accent-text);font-size:10px;font-weight:800;text-transform:uppercase}.privacy-request-admin-head h3{margin:3px 0}.privacy-request-admin-head p{margin:0;color:var(--text-muted);font-size:11px}.privacy-admin-request-list{display:grid;gap:9px}.privacy-admin-request{display:grid;grid-template-columns:minmax(260px,1fr) minmax(320px,.85fr);gap:14px;padding:14px;border:1px solid var(--border);background:var(--surface-1)}.privacy-admin-request-main h4{margin:6px 0 4px;font-size:13px}.privacy-admin-request-main p{margin:0;color:var(--text-secondary);font-size:11px;line-height:1.5}.privacy-admin-request-main small{display:block;margin-top:6px;color:var(--text-muted);font-size:9.5px}.privacy-admin-request-controls{display:grid;grid-template-columns:minmax(120px,.4fr) minmax(180px,1fr);gap:8px}.privacy-admin-request-controls label{display:flex;flex-direction:column;gap:4px;color:var(--text-muted);font-size:9px;font-weight:800;text-transform:uppercase}.privacy-admin-request-controls select,.privacy-admin-request-controls textarea{width:100%;padding:7px 8px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-2);color:var(--text-primary);font:400 11px var(--font);text-transform:none}.privacy-admin-request-controls textarea{resize:vertical}.privacy-admin-request-controls .btn-ghost{grid-column:2;justify-self:end;min-height:34px;padding:6px 9px;font-size:10px}

.career-consent-callout{display:flex;align-items:flex-start;gap:12px;padding:16px;border-left:4px solid #976200;background:#FBF5E8}.career-consent-callout>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:7px;background:var(--surface-1);color:#976200;font-size:21px}.career-consent-callout>div{min-width:0;flex:1}.career-consent-callout b{font-size:13px}.career-consent-callout h3{margin:0 0 4px;font-size:15px}.career-consent-callout p{margin:3px 0 0;color:var(--text-secondary);font-size:11px;line-height:1.5}.career-consent-callout .btn-accent,.career-consent-callout .btn-ghost{flex:0 0 auto;white-space:nowrap}.career-consent-callout.compact{padding:12px}.career-consent-callout.compact h3{font-size:13px}.career-consent-callout.compact p{font-size:10px}

@media(max-width:1100px){.syllabus-outline ol{grid-template-columns:repeat(2,minmax(0,1fr))}.syllabus-selflearn{grid-template-columns:1fr}.privacy-purpose-header{display:none}.privacy-purpose-row{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px}.privacy-purpose-row>*{border:0;padding:9px}.privacy-purpose-row>p:before{display:block;margin-bottom:3px;color:var(--text-muted);font-size:8.5px;font-weight:800;text-transform:uppercase}.privacy-purpose-row>p:nth-of-type(1):before{content:"Specific purpose"}.privacy-purpose-row>p:nth-of-type(2):before{content:"Who may see it"}.privacy-purpose-row>p:nth-of-type(3):before{content:"Retention"}.privacy-purpose-data{grid-column:1/3}.privacy-right-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.syllabus-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.syllabus-learning-grid,.syllabus-rules-grid,.privacy-choice-grid,.privacy-admin-request{grid-template-columns:1fr}.privacy-controller{grid-template-columns:1fr}.privacy-controller>div+div{border-left:0;border-top:1px solid var(--border)}.privacy-action-grid{grid-template-columns:1fr}.privacy-admin-request-controls{grid-template-columns:1fr 1fr}.privacy-home-notice{grid-template-columns:46px minmax(0,1fr)}.privacy-home-notice .btn-accent{grid-column:2;justify-self:start}.career-consent-callout{flex-wrap:wrap}.career-consent-callout .btn-accent,.career-consent-callout .btn-ghost{margin-left:50px}}
@media(max-width:760px){.syllabus-hero{align-items:flex-start}.syllabus-hero-actions{align-items:flex-end}.syllabus-hero-mark{width:58px;height:58px;flex-basis:58px;font-size:28px}.syllabus-grade-row,.syllabus-selflearn-bars .syllabus-grade-row{grid-template-columns:32px minmax(0,1fr) 48px}.syllabus-grade-track,.syllabus-selflearn-bars .syllabus-grade-track{grid-column:2/4;width:100%}.syllabus-outline ol{grid-template-columns:1fr}.privacy-hero{align-items:flex-start}.privacy-hero>span{width:54px;height:54px;flex-basis:54px;font-size:26px}.privacy-purpose-row{grid-template-columns:1fr}.privacy-purpose-data{grid-column:auto}.privacy-right-grid{grid-template-columns:1fr}.privacy-request-fields{grid-template-columns:1fr}.privacy-request-fields label.wide{grid-column:auto}}
@media(max-width:480px){.syllabus-hero{padding:18px;flex-direction:column}.syllabus-hero-actions{width:100%;align-items:stretch}.syllabus-hero-mark{display:none}.syllabus-hero h1{font-size:26px}.syllabus-nav{grid-template-columns:1fr}.syllabus-nav-tab{justify-content:flex-start}.syllabus-outline,.syllabus-grade-chart,.syllabus-selflearn{padding:14px}.syllabus-privacy{grid-template-columns:1fr;padding:16px}.syllabus-privacy-icon{width:44px;height:44px;font-size:22px}.privacy-hero{padding:18px}.privacy-hero>span{display:none}.privacy-hero h2{font-size:23px}.privacy-purpose-row{padding:5px}.privacy-controller>div,.syllabus-privacy-statement,.privacy-request-form{padding:14px}.privacy-choice-card{padding:14px}.privacy-choice-head{grid-template-columns:38px minmax(0,1fr)}.privacy-choice-head em{grid-column:2;justify-self:start}.privacy-retention-band,.syllabus-career-disclaimer{padding:14px}.privacy-admin-request-controls{grid-template-columns:1fr}.privacy-admin-request-controls .btn-ghost{grid-column:auto;justify-self:start}.privacy-request-admin-head{align-items:stretch;flex-direction:column}.privacy-home-notice{grid-template-columns:1fr;padding:14px}.privacy-home-notice .btn-accent{grid-column:auto}.career-consent-callout{display:grid;grid-template-columns:38px minmax(0,1fr)}.career-consent-callout .btn-accent,.career-consent-callout .btn-ghost{grid-column:2;margin-left:0;justify-self:start}}

/* Weekly assessment workspace */
.assessment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.assessment-head h2{font-size:26px;margin:3px 0}.assessment-head p{margin:0}
.assessment-kicker,.admin-eyebrow{display:inline-flex;align-items:center;gap:6px;color:var(--accent-text);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.assessment-tabs,.admin-section-tabs{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:5px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);margin-bottom:18px}
.assessment-tab,.admin-section-tabs button,.admin-section-tabs a{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:9px 15px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-secondary);font:700 13px var(--font);text-decoration:none;cursor:pointer}
.assessment-tab .ti,.admin-section-tabs .ti{font-size:18px}.assessment-tab:hover,.admin-section-tabs button:hover,.admin-section-tabs a:hover{background:var(--surface-1);color:var(--text)}
.assessment-tab.active,.admin-section-tabs .active{background:var(--surface-1);border-color:var(--accent-border);color:var(--accent-text);box-shadow:0 1px 3px rgba(20,35,50,.08)}
.assessment-panel{display:none}.assessment-panel.active{display:block}.assessment-panel .online-quiz-box{margin:0}
.assessment-route-notice{display:flex;align-items:center;gap:9px;margin:-7px 0 17px;padding:11px 13px;border:1px solid var(--accent-border);border-left:4px solid var(--accent);border-radius:7px;background:var(--accent-bg);color:var(--text-secondary);font-size:12px}.assessment-route-notice[hidden]{display:none}.assessment-route-notice>i{color:var(--accent-text);font-size:19px}.assessment-route-notice.error{border-color:#E0A39E;border-left-color:#B42318;background:#FFF2F0;color:#7B2921}.assessment-route-notice.error>i{color:#B42318}
.assessment-loading-state{display:flex;align-items:center;justify-content:center;gap:13px;min-height:170px;padding:24px;border:1px dashed var(--border-strong);border-radius:8px;background:var(--surface-1);color:var(--text-secondary)}.assessment-loading-state>i{color:var(--accent-text);font-size:27px;animation:career-spin 1s linear infinite}.assessment-loading-state b{color:var(--text-primary);font-size:14px}.assessment-loading-state p{margin:3px 0 0;color:var(--text-muted);font-size:11px}
.assessment-list{display:flex;flex-direction:column;gap:12px}.assessment-item{display:grid;grid-template-columns:48px minmax(0,1fr);gap:15px;padding:18px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1)}
.assessment-item-icon{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:23px}.assessment-item-icon.homework{background:#FCEEDC;color:#A95308}.assessment-item-icon.project{background:#E8E3F3;color:#64429A}
.assessment-item-main{min-width:0}.assessment-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.assessment-item-top h3{font-size:17px;margin:0 0 3px}.assessment-item-top p{font-size:12px;color:var(--text-muted);margin:0}
.assessment-status{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:3px 9px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text-secondary);font-size:11px;font-weight:800;white-space:nowrap}.assessment-status.success{background:#E7F5ED;border-color:#A8D5B8;color:#176B3A}.assessment-status.info{background:#E7F1FA;border-color:#A9CAE8;color:#185F91}.assessment-status.warn{background:#FFF2D8;border-color:#E7C47F;color:#8B5600}.assessment-status.muted{color:var(--text-muted)}
.assessment-brief{margin:13px 0;color:var(--text-secondary);font-size:14px;line-height:1.55}.assessment-brief>:first-child{margin-top:0}.assessment-brief>:last-child{margin-bottom:0}
.assessment-feedback,.assessment-reflection{margin:12px 0;padding:11px 13px;border-left:3px solid var(--accent);background:var(--accent-bg);border-radius:0 6px 6px 0;font-size:13px}.assessment-feedback>b,.assessment-reflection>b{display:block;margin-bottom:5px}.assessment-feedback.warning{border-color:#D17A00;background:#FFF5E5}
.assessment-empty{display:flex;align-items:center;gap:14px;min-height:110px;padding:20px;border:1px dashed var(--border-strong);border-radius:8px;background:var(--surface-1);color:var(--text-secondary)}.assessment-empty>.ti{font-size:29px;color:var(--text-muted)}.assessment-empty b{color:var(--text)}.assessment-empty p{margin:4px 0;font-size:13px}
.project-gates{display:grid;gap:7px;margin-top:15px}.project-gate{width:100%;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer}.project-gate:hover{border-color:var(--accent-border);background:var(--accent-bg)}.project-gate:disabled{opacity:.65;cursor:not-allowed}.gate-index{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:7px;background:var(--accent-bg);color:var(--accent-text);font-size:12px;font-weight:800}.gate-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.gate-copy small{color:var(--text-muted);font-size:11px}
.assessment-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.assessment-modal-head h2{margin:4px 0 0}.assessment-rule-row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.assessment-rule-row span{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:11px}
.assessment-admin .admin-page-head{margin-bottom:16px}.assessment-admin .admin-page-head h1{margin:4px 0}.assessment-admin .admin-page-head p{margin:0;color:var(--text-secondary)}.assessment-admin .fx-topic-head h2{margin:0}.table-actions{display:flex;gap:5px}.icon-btn{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:7px;background:var(--surface-1);color:var(--text-secondary);cursor:pointer}.icon-btn:hover{border-color:var(--accent-border);color:var(--accent-text);background:var(--accent-bg)}
.fig-modal:has(.hwa-form),.fig-modal:has(.project-admin-form){padding:20px}.fig-modal-inner:has(.hwa-form),.fig-modal-inner:has(.project-admin-form){width:min(1360px,calc(100vw - 40px));max-width:1360px;padding:1.5rem 1.7rem}.hwa-form,.project-admin-form{width:100%;max-width:none}.project-modal-head{padding-right:52px}.project-modal-head-actions{display:flex;align-items:center;gap:8px}.project-gate-list{display:grid;gap:14px;margin:18px 0}.project-gate-editor{padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.project-gate-editor-head{display:flex;align-items:center;gap:9px;margin-bottom:10px}.project-gate-editor-head .icon-btn{margin-left:auto}.project-gate-editor .ed-rich-toolbar{background:var(--surface-1)}.project-submission-card{margin-bottom:12px}.project-submission-card .pg-feedback{flex:1;min-width:200px}.project-submission-card .pg-grade{width:80px}
.fig-modal-inner:has(.assessment-group-modal){width:min(980px,calc(100vw - 40px));max-width:none}.fig-modal-inner:has(.assessment-groups-admin-modal){width:min(1220px,calc(100vw - 40px));max-width:none}.assessment-group-inline{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;margin:12px 0;padding:11px 12px;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:7px;background:var(--surface-2);color:var(--text-secondary);font-size:11px}.assessment-group-inline>i{display:grid;place-items:center;width:28px;height:28px;border-radius:6px;background:var(--accent-bg);color:var(--accent-text);font-size:17px}.assessment-group-inline.success{border-left-color:#23805B}.assessment-group-inline.success>i{background:#E5F4EC;color:#176B3A}.assessment-group-inline.warn{border-left-color:#C57A12}.assessment-group-inline.warn>i{background:#FFF0D4;color:#8A5700}.assessment-group-inline .btn-ghost{white-space:nowrap}
.assessment-group-modal,.assessment-groups-admin-modal{width:100%}.assessment-group-invitations{display:grid;gap:9px;margin:16px 0}.assessment-group-invite{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px;border:1px solid #E4C486;border-left:4px solid #C57A12;border-radius:7px;background:#FFF9EC}.assessment-group-invite h3,.assessment-group-current h3,.assessment-group-builder h3,.assessment-group-admin-card h3,.assessment-group-staff-create h3{margin:5px 0 2px}.assessment-group-invite p,.assessment-group-current p,.assessment-group-builder p,.assessment-group-admin-card p,.assessment-group-staff-create p{margin:0;color:var(--text-muted);font-size:10px;line-height:1.45}.assessment-group-card-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.assessment-group-current{margin:16px 0;padding:15px;border:1px solid var(--border);border-top:4px solid var(--accent);border-radius:8px;background:var(--surface-1)}.assessment-group-current-head,.assessment-group-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.assessment-group-members{display:grid;gap:7px;margin-top:12px}.assessment-group-members>div{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 9px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2)}.assessment-group-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:6px;background:var(--accent-bg);color:var(--accent-text);font-weight:800}.assessment-group-members span:nth-child(2){display:flex;min-width:0;flex-direction:column}.assessment-group-members b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px}.assessment-group-members small{color:var(--text-muted);font-size:8.5px}.assessment-group-members em{padding:4px 7px;border-radius:999px;background:var(--surface-3);color:var(--text-muted);font-size:8px;font-style:normal;font-weight:800;text-transform:uppercase}.assessment-group-members em.accepted{background:#E5F4EC;color:#176B3A}.assessment-group-members em.invited{background:#FFF0D4;color:#8A5700}.assessment-group-members em.declined{background:#FCE9E6;color:#A33A2B}.assessment-group-note,.assessment-group-ready{display:flex;align-items:flex-start;gap:7px;margin-top:11px!important;padding:9px 10px;border-radius:6px;background:var(--surface-2)}.assessment-group-ready{background:#E5F4EC!important;color:#176B3A!important}.assessment-group-builder{display:grid;gap:10px;margin-top:16px;padding:15px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.assessment-group-search{position:relative;display:block}.assessment-group-search>i{position:absolute;top:50%;left:11px;z-index:1;transform:translateY(-50%);color:var(--text-muted);font-size:17px}.assessment-group-search input{width:100%;min-height:42px;padding:9px 10px 9px 36px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-1);color:var(--text);font:inherit}.assessment-group-student-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:280px;padding:4px;overflow:auto}.assessment-group-student-list>label{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:8px;padding:9px;border:1px solid var(--border);border-radius:6px;background:var(--surface-1);cursor:pointer}.assessment-group-student-list>label:hover{border-color:var(--accent-border);background:var(--accent-bg)}.assessment-group-student-list input{width:18px;height:18px}.assessment-group-student-list span{display:flex;min-width:0;flex-direction:column}.assessment-group-student-list b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px}.assessment-group-student-list small{color:var(--text-muted);font-size:8.5px}.assessment-group-rule,.assessment-group-submit-label{display:flex;align-items:flex-start;gap:9px;padding:10px 11px;border-left:4px solid #2369A8;background:#EAF4FB;color:#244D70;font-size:10px;line-height:1.45}.assessment-group-submit-label span{display:flex;flex-direction:column}.assessment-group-submit-label small{margin-top:2px;color:#526E84;font-size:8.5px}
.assessment-group-admin-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);overflow:hidden}.assessment-group-admin-metrics>div{display:flex;flex-direction:column;gap:2px;padding:13px 15px}.assessment-group-admin-metrics>div+div{border-left:1px solid var(--border)}.assessment-group-admin-metrics b{font-size:22px}.assessment-group-admin-metrics span{color:var(--text-muted);font-size:9px;font-weight:800;text-transform:uppercase}.assessment-group-admin-metrics .success b{color:#176B3A}.assessment-group-admin-metrics .attention b{color:#8A5700}.assessment-group-admin-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);align-items:start;gap:16px}.assessment-group-admin-card{margin-top:10px;padding:13px;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:7px;background:var(--surface-1)}.assessment-group-admin-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.assessment-group-admin-card>footer{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin-top:11px;padding-top:10px;border-top:1px solid var(--border)}.assessment-group-source{padding:4px 7px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:8px;font-weight:800;white-space:nowrap}.assessment-group-staff-create{position:sticky;top:14px;display:grid;gap:10px;padding:15px;border:1px solid var(--border);border-top:4px solid #23805B;border-radius:8px;background:var(--surface-2)}.assessment-group-staff-create .assessment-group-student-list{grid-template-columns:1fr;max-height:340px}
.project-gate-rich{margin:10px 0;border:1px solid var(--border);border-radius:7px;background:var(--surface-1)}.project-gate-rich>summary{display:flex;align-items:center;gap:7px;cursor:pointer;padding:10px 12px;color:var(--accent-text);font-size:13px;font-weight:700;list-style:none}.project-gate-rich>summary::-webkit-details-marker{display:none}.project-gate-rich>summary:after{content:"+";margin-left:auto;color:var(--text-muted);font-size:18px;font-weight:500}.project-gate-rich[open]>summary{border-bottom:1px solid var(--border)}.project-gate-rich[open]>summary:after{content:"−"}.project-gate-rich>.ed-rich-field{padding:10px}
.project-publish-toggle{margin:14px 0 18px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1)}.project-publish-toggle .setup-tg-lab{display:flex;flex-direction:column;gap:2px}.project-publish-toggle small{color:var(--text-muted);font-size:11px;font-weight:400}
.project-form-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 18px;padding:7px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-1)}.project-form-tabs button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:10px 14px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-secondary);font:700 13px var(--font);cursor:pointer}.project-form-tabs button i{font-size:20px;color:var(--accent-text)}.project-form-tabs button:hover{border-color:var(--border);background:var(--surface-2);color:var(--text)}.project-form-tabs button.active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 5px 14px color-mix(in srgb,var(--accent) 24%,transparent)}.project-form-tabs button.active i{color:#fff}
.project-form-panel{display:none;min-height:330px;padding:18px;border:1px solid var(--border);border-radius:9px;background:var(--surface-1)}.project-form-panel.active{display:block}.project-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.project-panel-head h3{margin:3px 0 2px;font-size:20px}.project-panel-head p{margin:0;color:var(--text-muted);font-size:12px;line-height:1.5}.project-panel-head>.assessment-status{align-self:center}
.project-brief-preview{min-height:230px;padding:22px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-2);color:var(--text-secondary);line-height:1.7}.project-brief-preview>:first-child{margin-top:0}.project-brief-preview>:last-child{margin-bottom:0}.project-brief-preview.is-empty{display:flex;align-items:center;justify-content:center;border-style:dashed;text-align:center}.project-brief-preview.is-empty>div{max-width:470px}.project-brief-preview.is-empty i{display:block;margin-bottom:9px;color:var(--text-muted);font-size:34px}.project-brief-preview.is-empty b{display:block;color:var(--text);font-size:15px}.project-brief-preview.is-empty p{margin:5px 0;color:var(--text-muted);font-size:12px}.project-brief-editor-shell{display:none}.project-attachment-block{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}
.project-grading-card{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr);gap:16px;align-items:stretch}.project-grading-card>.ed-field{margin:0;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.project-grading-note{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--accent-border);border-radius:8px;background:var(--accent-bg)}.project-grading-note>i{font-size:25px;color:var(--accent-text)}.project-grading-note b{color:var(--text)}.project-grading-note p{margin:4px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.55}.project-form-actions{position:sticky;bottom:-1.6rem;z-index:2;margin:18px -1.6rem -1.6rem;padding:14px 1.6rem;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 94%,transparent);backdrop-filter:blur(10px)}
body.project-modal-open{overflow:hidden}.project-admin-form:not(.is-fullscreen) .project-gate-editor .ed-rich-toolbar{display:none}.project-admin-form:not(.is-fullscreen) .project-gate-editor .ed-rich-input,.project-admin-form:not(.is-fullscreen) .project-gate-editor .ed-rich-html-input{border-radius:var(--radius)}.fig-modal.project-authoring-fullscreen{padding:0;background:var(--surface-2)}.fig-modal.project-authoring-fullscreen .fig-modal-inner:has(.project-admin-form){width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0;padding:1.3rem clamp(18px,3vw,48px) 0}.fig-modal.project-authoring-fullscreen .fig-modal-close{position:fixed;top:16px;right:18px;z-index:8}.project-admin-form.is-fullscreen{width:min(1500px,100%);margin:0 auto}.project-admin-form.is-fullscreen .project-brief-preview,.project-admin-form.is-fullscreen #pfBriefOpen{display:none}.project-admin-form.is-fullscreen .project-brief-editor-shell{display:block}.project-admin-form.is-fullscreen .project-brief-editor-shell .ed-rich-toolbar{position:sticky;top:0;z-index:4;box-shadow:0 5px 14px rgba(20,35,50,.08)}.project-admin-form.is-fullscreen .project-brief-editor-shell .ed-rich-input,.project-admin-form.is-fullscreen .project-brief-editor-shell .ed-rich-html-input{min-height:48vh;max-height:none;background:var(--surface-1)}.project-admin-form.is-fullscreen .project-form-actions{bottom:0;margin-bottom:0}
.project-group-editor{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.project-group-row{padding:13px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.project-group-row select{min-height:150px}.project-group-row option{padding:5px}
@media(max-width:900px){.assessment-group-admin-layout{grid-template-columns:1fr}.assessment-group-staff-create{position:static}.assessment-group-student-list{grid-template-columns:1fr}}
@media(max-width:760px){.assessment-item{grid-template-columns:1fr}.assessment-item-icon{width:40px;height:40px}.assessment-item-top,.assessment-modal-head{flex-direction:column}.assessment-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.assessment-tab{justify-content:center;padding:8px}.assessment-tab span{font-size:12px}.project-gate{grid-template-columns:30px minmax(0,1fr)}.project-gate .assessment-status{grid-column:2;justify-self:start}.assessment-rule-row{display:grid}.project-admin-form .hwa-row{grid-template-columns:1fr}.admin-section-tabs{align-items:stretch}.admin-section-tabs>*{flex:1;justify-content:center}.project-modal-head{padding-right:44px}.project-modal-head-actions{width:100%}.project-modal-head-actions>*{flex:1}.project-form-tabs{grid-template-columns:1fr}.project-form-tabs button{justify-content:flex-start}.project-panel-head{flex-direction:column}.project-panel-head .btn-accent{width:100%}.project-grading-card{grid-template-columns:1fr}.project-form-panel{padding:14px}.project-form-actions{bottom:-1.6rem}.project-admin-form.is-fullscreen .project-form-actions{bottom:0}.project-admin-form.is-fullscreen .ed-rich-youtube-group{display:grid;grid-template-columns:minmax(0,1fr) 68px 34px 34px;width:100%;max-width:100%}.project-admin-form.is-fullscreen .ed-rich-youtube-group .ed-rich-youtube-input{width:100%;min-width:0}.project-admin-form.is-fullscreen .ed-rich-youtube-group .ed-rich-youtube-size{width:68px;min-width:0}.project-admin-form.is-fullscreen .ed-rich-link-group,.project-admin-form.is-fullscreen .ed-rich-math-group{max-width:100%}.project-brief-preview{padding:16px}.fig-modal:has(.hwa-form),.fig-modal:has(.project-admin-form){padding:8px}.fig-modal-inner:has(.hwa-form),.fig-modal-inner:has(.project-admin-form),.fig-modal-inner:has(.assessment-group-modal),.fig-modal-inner:has(.assessment-groups-admin-modal){width:calc(100vw - 16px);padding:1.2rem 1rem}.assessment-group-inline{grid-template-columns:26px minmax(0,1fr)}.assessment-group-inline .btn-ghost{grid-column:1/-1;justify-content:center}.assessment-group-invite{grid-template-columns:1fr}.assessment-group-card-actions{justify-content:flex-start}.assessment-group-admin-metrics{grid-template-columns:1fr}.assessment-group-admin-metrics>div+div{border-top:1px solid var(--border);border-left:0}.assessment-group-admin-card>header,.assessment-group-current-head{flex-direction:column}.assessment-group-admin-card>footer{justify-content:flex-start}}
@media(max-width:430px){.assessment-tabs{grid-template-columns:1fr}.assessment-tab{justify-content:flex-start}.assessment-item{padding:14px}.assessment-item-top .assessment-status{align-self:flex-start}}

/* Individual student report studio */
.report-admin-page{max-width:1480px}.report-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:8px 0 22px}.report-page-head h1{margin:5px 0 6px;font-size:clamp(28px,3vw,40px)}.report-page-head p{max-width:760px;margin:0;color:var(--text-secondary);font-size:15px}.report-privacy-mark{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #A7D2BD;border-radius:999px;background:#EAF7F0;color:#176B3A;font-size:11px;font-weight:800;white-space:nowrap}
.student-report-toolbar{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(260px,1fr);gap:10px 14px;align-items:end;margin-bottom:18px;padding:14px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-2)}.student-report-toolbar label{display:flex;flex-direction:column;gap:5px;color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.student-report-toolbar input,.student-report-toolbar select{width:100%;height:42px;padding:0 11px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-1);color:var(--text);font:500 13px var(--font);text-transform:none;letter-spacing:0}.student-report-find>div{position:relative}.student-report-find>div i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:17px}.student-report-find input{padding-left:38px}.student-report-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0;flex-wrap:wrap}.student-report-actions button{min-height:42px;white-space:nowrap}.student-report-toolbar>[role=status]{grid-column:1/-1;min-height:15px;font-size:10.5px}
.student-report-preview{min-height:420px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1);overflow:hidden}.student-report-document{display:block}.student-report-loading,.student-report-empty-state{display:flex;min-height:390px;align-items:center;justify-content:center;flex-direction:column;gap:7px;padding:32px;text-align:center;color:var(--text-muted)}.student-report-loading i,.student-report-empty-state>i{font-size:36px;color:var(--accent)}.student-report-loading i{animation:report-spin 1s linear infinite}.student-report-loading b,.student-report-empty-state b{color:var(--text);font-size:15px}.student-report-loading span,.student-report-empty-state span{max-width:500px;font-size:12px}.student-report-empty-state.error>i{color:#B42318}@keyframes report-spin{to{transform:rotate(360deg)}}
.student-report-identity{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:16px;align-items:center;padding:24px clamp(18px,3vw,34px);border-bottom:1px solid var(--border);background:linear-gradient(120deg,color-mix(in srgb,var(--accent-bg) 48%,var(--surface-1)),var(--surface-1) 62%)}.student-report-avatar{display:grid;place-items:center;width:60px;height:60px;border-radius:8px;background:var(--accent);color:#fff;font-size:21px;font-weight:800}.student-report-kicker{display:block;color:var(--accent-text);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.student-report-identity h2{margin:3px 0 2px;font-size:26px}.student-report-identity p{margin:0;color:var(--text-secondary);font-size:12px}.student-report-identity-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}
.student-report-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:1px solid var(--border)}.student-report-metric{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;min-height:104px;padding:16px 18px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.student-report-metric:nth-child(3n){border-right:0}.student-report-metric:nth-last-child(-n+3){border-bottom:0}.student-report-metric>span{display:grid;place-items:center;width:40px;height:40px;border-radius:7px;background:#E6F0F8;color:#185F91;font-size:21px}.student-report-metric.green>span{background:#E5F4EC;color:#177354}.student-report-metric.amber>span{background:#FFF0D4;color:#9A6200}.student-report-metric.violet>span{background:#EEE9F7;color:#6C4AA0}.student-report-metric.teal>span{background:#E1F3F4;color:#0B7285}.student-report-metric.rose>span{background:#F8E8EC;color:#A33A55}.student-report-metric.indigo>span{background:#E9EBF8;color:#4B56A6}.student-report-metric b,.student-report-metric strong,.student-report-metric small{display:block}.student-report-metric b{color:var(--text);font-size:22px;line-height:1.05}.student-report-metric strong{margin-top:3px;font-size:11.5px}.student-report-metric small{margin-top:2px;color:var(--text-muted);font-size:9.5px;line-height:1.35}
.student-report-two-col{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border)}.student-report-two-col>.student-report-section{border-bottom:0}.student-report-two-col>.student-report-section:first-child{border-right:1px solid var(--border)}.student-report-section{padding:24px clamp(18px,3vw,34px);border-bottom:1px solid var(--border)}.student-report-section>header{margin-bottom:14px}.student-report-section>header>span{display:block;color:var(--accent-text);font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.student-report-section>header h3{display:flex;align-items:center;gap:8px;margin:4px 0 3px;font-size:18px}.student-report-section>header h3 i{color:var(--accent)}.student-report-section>header p{margin:0;color:var(--text-muted);font-size:11px}.student-report-trend .trend-chart{max-width:1040px;margin:0 auto}.student-report-trend .trend-chart svg{max-height:300px}
.student-report-followups{display:grid;gap:7px}.student-report-followup{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-height:58px;padding:9px 11px;border-left:3px solid #D18B18;background:#FFF7E8}.student-report-followup>i{display:grid;place-items:center;width:31px;height:31px;border-radius:6px;background:rgba(255,255,255,.72);color:#8A5700;font-size:17px}.student-report-followup b,.student-report-followup span{display:block}.student-report-followup b{font-size:12px}.student-report-followup span{margin-top:2px;color:var(--text-secondary);font-size:10.5px;line-height:1.4}.student-report-followup.danger{border-color:#C74336;background:#FCECE9}.student-report-followup.danger>i{color:#A32D25}.student-report-followup.info{border-color:#4389BC;background:#EAF4FB}.student-report-followup.info>i{color:#185F91}.student-report-followup.good{border-color:#23805B;background:#EAF7F0}.student-report-followup.good>i{color:#176B3A}
.student-report-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}.student-report-facts>div{padding:11px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2)}.student-report-facts dt{color:var(--text-muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.student-report-facts dd{margin:3px 0 0;color:var(--text);font-size:17px;font-weight:800}
.student-report-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:7px}.student-report-table{width:100%;min-width:850px;border-collapse:collapse;font-size:11px}.student-report-table th{padding:9px 10px;background:var(--surface-2);color:var(--text-muted);font-size:9px;text-align:left;text-transform:uppercase;letter-spacing:.05em}.student-report-table td{padding:9px 10px;border-top:1px solid var(--border);vertical-align:middle}.student-report-table tbody tr:hover{background:var(--accent-bg)}.student-report-table tr.is-empty{color:var(--text-muted)}.student-report-table td>b,.student-report-table td>small{display:block}.student-report-table td>small{color:var(--text-muted);font-size:9px}.student-report-table td>.ti-check{color:#177354;font-size:17px}.student-report-week-name{display:grid;grid-template-columns:34px minmax(190px,1fr);align-items:center;gap:6px}.student-report-week-name>b{display:grid;place-items:center;width:32px;height:28px;border-radius:5px;background:var(--accent-bg);color:var(--accent-text);font-size:10px}.student-report-week-name>span{font-weight:650}.student-report-status{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:3px 7px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:9px;font-weight:800;white-space:nowrap}.student-report-status.good{background:#E5F4EC;color:#176B3A}.student-report-status.info{background:#E7F1FA;color:#185F91}.student-report-status.warn{background:#FFF0D4;color:#8A5700}.student-report-status.bad{background:#FCE9E6;color:#A33A2B}.student-report-status.muted{border:1px solid var(--border)}
.student-report-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.student-report-evidence-group{min-width:0}.student-report-evidence-group>header{display:flex;align-items:center;gap:7px;margin-bottom:8px}.student-report-evidence-group>header i{display:grid;place-items:center;width:29px;height:29px;border-radius:6px;background:var(--accent-bg);color:var(--accent-text);font-size:16px}.student-report-evidence-group h3{margin:0;font-size:13px}.student-report-evidence{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;padding:10px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2)}.student-report-evidence+.student-report-evidence{margin-top:6px}.student-report-evidence.warn{border-color:#E8C785;background:#FFF9EC}.student-report-evidence-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:6px;background:var(--surface-1);color:var(--accent-text);font-size:17px}.student-report-evidence-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.student-report-evidence-head b{min-width:0;font-size:11.5px}.student-report-evidence-head strong{flex:0 0 auto;color:var(--accent-text);font-size:10.5px}.student-report-evidence small{display:block;margin-top:2px;color:var(--text-muted);font-size:9px}.student-report-evidence p{display:flex;align-items:flex-start;gap:5px;margin:7px 0 0;padding:6px 7px;background:var(--surface-1);color:var(--text-secondary);font-size:9.5px;line-height:1.4}.student-report-evidence p i{margin-top:1px;color:#177354}.student-report-empty{margin:0;padding:16px;border:1px dashed var(--border);border-radius:7px;color:var(--text-muted);font-size:10.5px;text-align:center}
@media(min-width:1081px){.student-report-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.student-report-reflections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-report-reflection{padding:13px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2)}.student-report-reflection>header{display:grid;grid-template-columns:35px minmax(0,1fr);gap:9px;align-items:center;margin-bottom:10px}.student-report-reflection>header>span{display:grid;place-items:center;width:35px;height:35px;border-radius:7px;background:#EEE9F7;color:#6C4AA0;font-size:11px;font-weight:800}.student-report-reflection>header b,.student-report-reflection>header small{display:block}.student-report-reflection>header b{font-size:12px}.student-report-reflection>header small{color:var(--text-muted);font-size:9px}.student-report-reflection>div>p{display:grid;gap:2px;margin:7px 0}.student-report-reflection>div>p strong{color:var(--text-muted);font-size:8.5px;text-transform:uppercase;letter-spacing:.04em}.student-report-reflection>div>p span{color:var(--text-secondary);font-size:10.5px;line-height:1.45}.student-report-reflection aside{display:grid;grid-template-columns:24px minmax(0,1fr);gap:7px;margin-top:10px;padding:8px;border-left:3px solid #2E7EA8;background:#EAF4FB}.student-report-reflection aside>i{color:#185F91;font-size:17px}.student-report-reflection aside b,.student-report-reflection aside span{display:block}.student-report-reflection aside b{font-size:9.5px}.student-report-reflection aside span{margin-top:2px;color:var(--text-secondary);font-size:10px;line-height:1.4}.student-report-note{display:flex;align-items:flex-start;gap:8px;padding:13px clamp(18px,3vw,34px);background:var(--surface-2);color:var(--text-muted);font-size:9.5px;line-height:1.5}.student-report-note i{margin-top:1px;color:var(--accent);font-size:17px}
.feedback-report-band{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:11px;margin-top:18px;padding:14px 16px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.feedback-report-band>span{display:grid;place-items:center;width:40px;height:40px;border-radius:7px;background:var(--accent-bg);color:var(--accent-text);font-size:20px}.feedback-report-band b{display:block;font-size:13px}.feedback-report-band p{margin:2px 0 0;color:var(--text-muted);font-size:10.5px}.feedback-report-band button{white-space:nowrap}
@media(max-width:1080px){.student-report-toolbar{grid-template-columns:1fr 1fr}.student-report-actions{grid-column:1/-1;justify-content:flex-start}.student-report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.student-report-metric:nth-child(n){border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.student-report-metric:nth-child(2n){border-right:0}.student-report-metric:nth-last-child(-n+2){border-bottom:0}.student-report-evidence-grid{grid-template-columns:1fr}.student-report-evidence-group+.student-report-evidence-group{padding-top:12px;border-top:1px solid var(--border)}}
@media(max-width:760px){.report-page-head{flex-direction:column}.student-report-toolbar{grid-template-columns:1fr}.student-report-actions{grid-column:auto;display:grid;grid-template-columns:42px 1fr 1fr}.student-report-actions button{justify-content:center}.student-report-actions #rpRefresh span{display:none}.student-report-identity{grid-template-columns:50px minmax(0,1fr);padding:18px}.student-report-avatar{width:48px;height:48px;font-size:17px}.student-report-identity>a{grid-column:2;justify-self:start}.student-report-identity h2{font-size:21px}.student-report-metrics{grid-template-columns:1fr}.student-report-metric:nth-child(n){border-right:0;border-bottom:1px solid var(--border)}.student-report-metric:last-child{border-bottom:0}.student-report-two-col{grid-template-columns:1fr}.student-report-two-col>.student-report-section:first-child{border-right:0;border-bottom:1px solid var(--border)}.student-report-facts{grid-template-columns:1fr 1fr}.student-report-section{padding:19px 16px}.student-report-reflections{grid-template-columns:1fr}.feedback-report-band{grid-template-columns:40px minmax(0,1fr)}.feedback-report-band button{grid-column:2;justify-self:start}.student-report-trend .trend-chart{overflow:auto}.student-report-trend .trend-chart svg{min-width:700px}}
@media(max-width:460px){.student-report-actions{grid-template-columns:1fr}.student-report-actions #rpRefresh span{display:inline}.student-report-identity{grid-template-columns:1fr}.student-report-identity>a{grid-column:auto}.student-report-metrics{grid-template-columns:1fr}.student-report-facts{grid-template-columns:1fr}.feedback-report-band{grid-template-columns:1fr}.feedback-report-band button{grid-column:auto;width:100%;justify-content:center}.feedback-report-band>span{display:none}}

/* Reflection review workspace */
.reflection-review-page{max-width:1480px}.reflection-review-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:6px 0 20px}.reflection-review-page-head h1{margin:5px 0 5px;font-size:clamp(30px,3vw,42px)}.reflection-review-page-head .lead{max-width:820px;margin:0}.reflection-review-page-actions{display:flex;gap:7px;flex:0 0 auto}.reflection-review-page-actions button{min-height:42px;white-space:nowrap}.reflection-review-page-actions button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.reflection-review-toolbar{display:grid;grid-template-columns:minmax(250px,1.35fr) repeat(4,minmax(145px,.62fr)) 42px;gap:10px;align-items:end;padding:14px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-2)}.reflection-review-toolbar label{display:flex;min-width:0;flex-direction:column;gap:5px}.reflection-review-toolbar label>span{color:var(--text-muted);font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.reflection-review-toolbar input,.reflection-review-toolbar select{width:100%;height:42px;min-width:0;padding:0 10px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-1);color:var(--text);font:500 12px var(--font)}.reflection-review-search>div{position:relative}.reflection-review-search>div i{position:absolute;top:50%;left:12px;transform:translateY(-50%);color:var(--text-muted);font-size:17px}.reflection-review-search input{padding-left:38px}.reflection-filter-reset{display:grid;place-items:center;width:42px;height:42px;padding:0;border-radius:6px}.reflection-filter-reset span{display:none}
.reflection-review-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1);overflow:hidden}.reflection-review-metric{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px;min-height:70px;padding:10px 13px;border-right:1px solid var(--border)}.reflection-review-metric:nth-child(4){border-right:0}.reflection-review-metric>span{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;background:#E7F1FA;color:#185F91;font-size:18px}.reflection-review-metric.violet>span{background:#EEE9F7;color:#6C4AA0}.reflection-review-metric.amber>span{background:#FFF0D4;color:#8A5700}.reflection-review-metric.green>span{background:#E5F4EC;color:#176B3A}.reflection-review-metric b,.reflection-review-metric small{display:block}.reflection-review-metric b{font-size:20px;line-height:1}.reflection-review-metric small{margin-top:3px;color:var(--text-muted);font-size:9.5px}.reflection-summary-written{grid-column:1/-1;padding:6px 13px;border-top:1px solid var(--border);background:var(--surface-2);color:var(--text-muted);font-size:9.5px;text-align:right}
.reflection-review-viewbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0 10px}.reflection-review-tabs{display:inline-flex;padding:4px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.reflection-review-tabs button{min-height:36px;padding:7px 12px;border:0;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:700}.reflection-review-tabs button.active{background:var(--accent);color:#fff;box-shadow:0 3px 9px color-mix(in srgb,var(--accent) 22%,transparent)}.reflection-review-viewbar>span{color:var(--text-muted);font-size:10.5px}.reflection-review-results{min-height:300px}.reflection-review-loading,.reflection-review-empty{display:flex;min-height:280px;align-items:center;justify-content:center;flex-direction:column;gap:6px;padding:30px;border:1px dashed var(--border-strong);border-radius:8px;background:var(--surface-2);text-align:center}.reflection-review-loading i{color:var(--accent);font-size:30px;animation:report-spin 1s linear infinite}.reflection-review-empty>i{color:var(--accent);font-size:36px}.reflection-review-empty h2{margin:3px 0 0;font-size:17px}.reflection-review-empty p{max-width:480px;margin:0 0 9px;color:var(--text-muted);font-size:11px}.reflection-review-empty.error>i{color:#B42318}
.reflection-review-card-list{display:grid;gap:11px}.reflection-review-card.feedback-item{display:block;margin:0;padding:0;border:1px solid var(--border);border-left:4px solid #D18B18;border-radius:8px;background:var(--surface-1);overflow:hidden}.reflection-review-card.feedback-item:has(.reflection-state.reviewed){border-left-color:#23805B}.reflection-review-card.feedback-item:has(.reflection-state.ratings){border-left-color:#788793}.reflection-review-card>header{display:grid;grid-template-columns:46px minmax(180px,1fr) auto auto;align-items:center;gap:11px;padding:13px 15px;border-bottom:1px solid var(--border);background:var(--surface-2)}.reflection-review-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:7px;background:var(--accent);color:#fff;font-size:15px;font-weight:800}.reflection-review-person h2{margin:0;font-size:16px}.reflection-review-person p{margin:2px 0 0;color:var(--text-muted);font-size:10.5px}.reflection-review-card-tags{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.reflection-week-chip,.reflection-state{display:inline-flex;align-items:center;gap:4px;min-height:25px;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.reflection-week-chip{background:var(--accent-bg);color:var(--accent-text)}.reflection-state.pending{background:#FFF0D4;color:#8A5700}.reflection-state.reviewed{background:#E5F4EC;color:#176B3A}.reflection-state.ratings{background:#E9EEF2;color:#536471}.reflection-profile-link{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);text-decoration:none;font-size:10px;font-weight:700}.reflection-profile-link:hover{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text)}
.reflection-review-card-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(245px,.34fr);gap:0}.reflection-review-responses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:14px 15px}.reflection-review-response{display:grid;grid-template-columns:30px minmax(0,1fr);align-content:start;gap:8px;min-width:0;padding:10px;border-left:3px solid #4389BC;background:#EFF6FB}.reflection-review-response>span{display:grid;place-items:center;width:28px;height:28px;border-radius:5px;background:rgba(255,255,255,.8);color:#185F91;font-size:16px}.reflection-review-response.flight{border-left-color:#23805B;background:#EDF8F3}.reflection-review-response.flight>span{color:#176B3A}.reflection-review-response.revisit{border-left-color:#C17B14;background:#FFF8E8}.reflection-review-response.revisit>span{color:#8A5700}.reflection-review-response b{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.03em}.reflection-review-response p{margin:4px 0 0;color:var(--text-secondary);font-size:11px;line-height:1.48;overflow-wrap:anywhere}.reflection-review-no-writing{grid-column:1/-1;display:flex;align-items:center;gap:10px;min-height:80px;padding:15px;border:1px dashed var(--border);color:var(--text-muted)}.reflection-review-no-writing>i{font-size:25px}.reflection-review-no-writing b,.reflection-review-no-writing span{display:block}.reflection-review-no-writing b{color:var(--text);font-size:12px}.reflection-review-no-writing span{margin-top:2px;font-size:10px}.reflection-review-card-body>aside{padding:14px 15px;border-left:1px solid var(--border);background:var(--surface-2)}.reflection-review-card-body>aside h3{margin:0 0 11px;font-size:12px}.reflection-review-card-body>aside>p{display:flex;align-items:center;gap:5px;margin:10px 0 0;color:var(--text-muted);font-size:9.5px}
.reflection-confidence{padding:9px;border:1px solid var(--border);border-radius:6px;background:var(--surface-1)}.reflection-confidence-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.reflection-confidence-head span{display:flex;align-items:center;gap:5px;color:var(--text-secondary);font-size:9.5px;font-weight:700}.reflection-confidence-head b{font-size:15px}.reflection-confidence-bar{display:flex;height:6px;margin:7px 0 6px;border-radius:999px;background:var(--surface-2);overflow:hidden}.reflection-confidence-bar i{min-width:0}.reflection-confidence-bar i.not-yet{background:#C84B3B}.reflection-confidence-bar i.getting{background:#D99A21}.reflection-confidence-bar i.confident{background:#258564}.reflection-confidence small{display:block;color:var(--text-muted);font-size:8.5px;line-height:1.35}.reflection-confidence.empty{display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:9.5px}.reflection-confidence.empty i{font-size:17px}
.reflection-review-card>footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:13px 15px;border-top:1px solid var(--border)}.reflection-review-card>footer label{display:flex;min-width:0;flex-direction:column;gap:6px}.reflection-review-card>footer label>span{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:800}.reflection-review-card>footer textarea{width:100%;min-height:78px;padding:9px 10px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-1);color:var(--text);font:12px/1.45 var(--font);resize:vertical}.reflection-review-card>footer>div{display:flex;align-items:flex-end;flex-direction:column;gap:7px}.reflection-review-card>footer small{max-width:210px;color:var(--text-muted);font-size:9px;text-align:right}.reflection-review-card>footer button{justify-self:auto;white-space:nowrap}
.reflection-report-screen{display:grid;gap:12px}.reflection-report-student{border:1px solid var(--border);border-radius:8px;background:var(--surface-1);overflow:hidden}.reflection-report-student>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--surface-2)}.reflection-report-student>header>div:first-child>span{color:var(--accent-text);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.reflection-report-student h2{margin:3px 0 1px;font-size:17px}.reflection-report-student>header p{margin:0;color:var(--text-muted);font-size:10px}.reflection-report-student>header>div:last-child{display:grid;grid-template-columns:auto auto auto auto auto;align-items:baseline;gap:2px 7px}.reflection-report-student>header>div:last-child b{font-size:17px}.reflection-report-student>header>div:last-child span{color:var(--text-muted);font-size:9px}.reflection-report-student>header a{grid-row:1/3;grid-column:5;display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);text-decoration:none;font-size:9.5px;font-weight:700}.reflection-report-table-wrap{overflow:auto}.reflection-report-table{width:100%;min-width:980px;border-collapse:collapse;font-size:10.5px}.reflection-report-table th{padding:8px 10px;background:var(--surface-2);color:var(--text-muted);font-size:8.5px;text-align:left;text-transform:uppercase;letter-spacing:.05em}.reflection-report-table td{padding:10px;border-top:1px solid var(--border);vertical-align:top}.reflection-report-table td:first-child{width:150px}.reflection-report-table td:nth-child(2){width:42%}.reflection-report-table td:nth-child(3){width:105px}.reflection-report-table td:nth-child(5){width:130px}.reflection-report-table td>b,.reflection-report-table td>small{display:block}.reflection-report-table td>small{margin-top:2px;color:var(--text-muted);font-size:8.5px}.reflection-report-answers{display:grid;gap:5px}.reflection-report-answers p{display:grid;grid-template-columns:110px minmax(0,1fr);gap:7px;margin:0}.reflection-report-answers b{color:var(--text-secondary);font-size:9px}.reflection-report-answers span,.reflection-report-feedback{font-size:10px;line-height:1.4}.reflection-report-feedback{display:block;padding:6px 7px;border-left:3px solid #23805B;background:#EDF8F3;color:var(--text-secondary)}
@media(max-width:1120px){.reflection-review-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}.reflection-review-search{grid-column:span 2}.reflection-filter-reset{justify-self:end}.reflection-review-responses{grid-template-columns:1fr}.reflection-review-card-body{grid-template-columns:minmax(0,1fr) 260px}}
@media(max-width:760px){.reflection-review-page-head{align-items:stretch;flex-direction:column}.reflection-review-page-actions{display:grid;grid-template-columns:1fr 1fr}.reflection-review-page-actions button{justify-content:center}.reflection-review-toolbar{grid-template-columns:1fr 1fr}.reflection-review-search{grid-column:1/-1}.reflection-filter-reset{width:100%;display:flex;justify-content:center;gap:6px}.reflection-filter-reset span{display:inline}.reflection-review-summary{grid-template-columns:1fr 1fr}.reflection-review-metric:nth-child(2){border-right:0}.reflection-review-metric:nth-child(1),.reflection-review-metric:nth-child(2){border-bottom:1px solid var(--border)}.reflection-review-viewbar{align-items:flex-start;flex-direction:column}.reflection-review-card>header{grid-template-columns:44px minmax(0,1fr) auto}.reflection-review-card-tags{grid-column:2/4;justify-content:flex-start}.reflection-profile-link{grid-column:3;grid-row:1}.reflection-profile-link span{display:none}.reflection-review-card-body{grid-template-columns:1fr}.reflection-review-card-body>aside{border-top:1px solid var(--border);border-left:0}.reflection-review-card>footer{grid-template-columns:1fr}.reflection-review-card>footer>div{align-items:stretch}.reflection-review-card>footer small{text-align:left}.reflection-review-card>footer button{justify-content:center}.reflection-report-student>header{align-items:flex-start;flex-direction:column}.reflection-report-student>header>div:last-child{align-self:stretch}.reflection-report-student>header a{margin-left:auto}.reflection-review-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.reflection-review-tabs button{justify-content:center}}
@media(max-width:480px){.reflection-review-toolbar{grid-template-columns:1fr}.reflection-review-search{grid-column:auto}.reflection-review-summary{grid-template-columns:1fr}.reflection-review-metric{border-right:0;border-bottom:1px solid var(--border)}.reflection-review-metric:nth-child(2){border-right:0}.reflection-review-metric:nth-child(4){border-bottom:0}.reflection-review-page-actions{grid-template-columns:1fr}.reflection-review-card>header{grid-template-columns:42px minmax(0,1fr)}.reflection-review-card-tags{grid-column:1/-1}.reflection-profile-link{grid-column:2;grid-row:3;justify-self:start}.reflection-review-tabs{grid-template-columns:1fr}.reflection-summary-written{text-align:left}}

/* Instructor-scored class assessments */
.manual-exam-admin{max-width:1500px}.manual-exam-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 16px;padding:18px 20px;border-left:5px solid var(--accent);background:var(--surface-2)}.manual-exam-intro h2{margin:4px 0 3px;font-size:22px}.manual-exam-intro p{max-width:760px;margin:0;color:var(--text-secondary);font-size:12px;line-height:1.5}.manual-exam-intro .btn-accent{flex:0 0 auto;white-space:nowrap}
.manual-exam-component-tabs{display:grid;grid-template-columns:repeat(6,minmax(145px,1fr));gap:7px;margin-bottom:14px}.manual-exam-component-tabs button{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;min-height:66px;padding:9px 11px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1);color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer}.manual-exam-component-tabs button:hover{border-color:var(--accent-border);background:var(--accent-bg)}.manual-exam-component-tabs button.active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 24%,transparent)}.manual-exam-component-tabs button>i{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;background:var(--surface-2);color:var(--accent-text);font-size:18px}.manual-exam-component-tabs button.active>i{background:rgba(255,255,255,.18);color:#fff}.manual-exam-component-tabs b,.manual-exam-component-tabs small{display:block}.manual-exam-component-tabs b{font-size:11px}.manual-exam-component-tabs small{margin-top:2px;color:var(--text-muted);font-size:8.5px;line-height:1.25}.manual-exam-component-tabs button.active small{color:rgba(255,255,255,.78)}
.manual-exam-workspace-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:12px 0}.manual-exam-workspace-head h2{margin:0;font-size:21px}.manual-exam-workspace-head p{margin:3px 0 0;color:var(--text-muted);font-size:11px}.manual-exam-allocation{display:grid;grid-template-columns:auto 150px auto;align-items:center;gap:8px;color:var(--text-secondary);font-size:10px}.manual-exam-allocation b{font-size:14px}.manual-exam-allocation-track{height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}.manual-exam-allocation-track i{display:block;height:100%;background:var(--accent)}
.manual-exam-list{display:grid;gap:9px}.manual-exam-card{display:grid;grid-template-columns:94px minmax(0,1fr) auto;gap:15px;padding:15px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1)}.manual-exam-card.inactive{opacity:.62}.manual-exam-card-weight{display:flex;align-items:center;justify-content:center;flex-direction:column;border-right:1px solid var(--border);color:var(--accent-text)}.manual-exam-card-weight b{font-size:27px;line-height:1}.manual-exam-card-weight span{margin-top:5px;color:var(--text-muted);font-size:8.5px;text-transform:uppercase}.manual-exam-card-main{min-width:0}.manual-exam-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.manual-exam-card-head h3{margin:2px 0 0;font-size:16px}.manual-exam-card-head>div>span{color:var(--text-muted);font-size:9.5px;font-weight:800;text-transform:uppercase}.manual-exam-active,.manual-exam-inactive,.manual-exam-release{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:999px;background:#E8F5EE;color:#176B3A;font-size:8.5px;font-weight:800;text-transform:uppercase}.manual-exam-inactive{background:var(--surface-3);color:var(--text-muted)}.manual-exam-release{background:#F4EFE2;color:#7B5A17}.manual-exam-release.released{background:#E5F4EC;color:#176B3A}.manual-exam-card-facts{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;margin:13px 0 0}.manual-exam-card-facts div{min-width:0;padding:8px;background:var(--surface-2)}.manual-exam-card-facts dt{display:flex;align-items:center;gap:4px;color:var(--text-muted);font-size:8px;font-weight:800;text-transform:uppercase}.manual-exam-card-facts dd{margin:3px 0 0;overflow-wrap:anywhere;font-size:10.5px;font-weight:700}.manual-exam-card-notes{margin:10px 0 0;color:var(--text-secondary);font-size:10.5px;line-height:1.5}.manual-exam-roster{display:flex;align-items:center;gap:7px;margin-top:11px;color:var(--text-muted);font-size:9.5px}.manual-exam-card-actions{display:flex;align-items:flex-end;justify-content:flex-start;flex-direction:column;gap:7px}.manual-exam-card-actions button{min-width:116px;justify-content:center}.manual-exam-empty,.manual-exam-loading{display:flex;min-height:230px;align-items:center;justify-content:center;flex-direction:column;gap:7px;padding:28px;border:1px dashed var(--border-strong);background:var(--surface-2);color:var(--text-muted);text-align:center}.manual-exam-empty i,.manual-exam-loading i{color:var(--accent);font-size:32px}.manual-exam-loading i{animation:report-spin 1s linear infinite}.manual-exam-empty h3{margin:0;color:var(--text);font-size:16px}.manual-exam-empty p{max-width:500px;margin:0;font-size:11px}
.fig-modal-inner:has(.manual-exam-form),.fig-modal-inner:has(.manual-score-modal){width:min(1180px,calc(100vw - 40px));max-width:none}.manual-exam-form{padding-bottom:6px}.manual-exam-form .assessment-modal-head{margin-bottom:14px}.manual-exam-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.manual-exam-form-grid .wide{grid-column:1/-1}.manual-exam-form-flags{display:flex;align-items:flex-start;gap:10px;margin-top:12px}.manual-exam-form-flags label{display:flex;align-items:flex-start;gap:8px;flex:1;padding:11px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);font-size:10.5px;line-height:1.4}.manual-exam-form-flags input{flex:0 0 auto;width:18px;height:18px}.manual-exam-form .modal-actions,.manual-score-modal .modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:16px -2px 0;padding-top:14px;border-top:1px solid var(--border)}.manual-exam-form .modal-actions>[role=status],.manual-score-modal .modal-actions>[role=status]{margin-right:auto}
.manual-score-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.manual-score-head h2{margin:4px 0}.manual-score-head p{margin:0;color:var(--text-muted);font-size:10.5px}.manual-score-release{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:#F4EFE2;color:#7B5A17;font-size:9px;font-weight:800;white-space:nowrap}.manual-score-release.released{background:#E5F4EC;color:#176B3A}.manual-score-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:12px;margin:15px 0 9px}.manual-score-search{display:flex;flex-direction:column;gap:5px}.manual-score-search>span{font-size:9px;font-weight:800;text-transform:uppercase}.manual-score-search>div{position:relative}.manual-score-search i{position:absolute;top:50%;left:11px;transform:translateY(-50%);color:var(--text-muted);font-size:17px}.manual-score-search input{width:100%;min-height:40px;padding:8px 10px 8px 37px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-1);font:12px var(--font)}.manual-score-toolbar>span{padding-bottom:9px;color:var(--text-muted);font-size:10px}.manual-score-table-wrap{max-height:min(56vh,650px);overflow:auto;border:1px solid var(--border);border-radius:7px}.manual-score-table{width:100%;border-collapse:collapse;font-size:10.5px}.manual-score-table th{position:sticky;top:0;z-index:1;padding:8px 9px;background:var(--surface-3);color:var(--text-muted);font-size:8.5px;text-align:left;text-transform:uppercase}.manual-score-table td{padding:7px 9px;border-top:1px solid var(--border);vertical-align:middle}.manual-score-table td:first-child b,.manual-score-table td:first-child small{display:block}.manual-score-table td:first-child small{margin-top:2px;color:var(--text-muted);font-size:8.5px}.manual-score-table select,.manual-score-table input{width:100%;min-height:36px;padding:6px 8px;border:1px solid var(--border);border-radius:5px;background:var(--surface-1);font:10.5px var(--font)}
.manual-exam-components{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin-bottom:12px}.manual-exam-component{display:flex;min-width:0;flex-direction:column;gap:3px;padding:11px 12px;border-left:4px solid var(--accent);background:var(--surface-2)}.manual-exam-component span{color:var(--text-muted);font-size:8.5px;font-weight:800;text-transform:uppercase}.manual-exam-component b{font-size:16px}.manual-exam-component small{color:var(--text-muted);font-size:9px}.assessment-item-icon.exam{background:#E7F1FA;color:#185F91}.manual-exam-component-label{color:var(--accent-text);font-size:9px;font-weight:800;text-transform:uppercase}.manual-exam-facts{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:7px;margin:12px 0}.manual-exam-facts div{padding:8px;background:var(--surface-2)}.manual-exam-facts dt{color:var(--text-muted);font-size:8px;font-weight:800;text-transform:uppercase}.manual-exam-facts dd{margin:3px 0 0;font-size:10.5px;font-weight:700}.manual-exam-window{display:flex;align-items:center;gap:5px;margin:10px 0 0;color:var(--text-muted);font-size:9.5px}.manual-exam-window.finished{color:#7B5A17}.desk-subheading{margin-top:22px!important;padding-top:16px;border-top:1px solid var(--border)}.desk-class-assessment .desk-week{color:var(--accent-text)}
@media(max-width:1180px){.manual-exam-component-tabs{grid-template-columns:repeat(3,minmax(160px,1fr))}.manual-exam-card-facts{grid-template-columns:repeat(2,minmax(120px,1fr))}}
@media(max-width:760px){.manual-exam-intro,.manual-exam-workspace-head,.manual-score-head{align-items:stretch;flex-direction:column}.manual-exam-intro .btn-accent{align-self:stretch;justify-content:center}.manual-exam-component-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-exam-card{grid-template-columns:60px minmax(0,1fr)}.manual-exam-card-weight{grid-row:1/3}.manual-exam-card-weight b{font-size:21px}.manual-exam-card-actions{grid-column:2;align-items:stretch;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.manual-exam-card-actions button{min-width:0}.manual-exam-form-grid{grid-template-columns:minmax(0,1fr)}.manual-exam-form-grid .wide{grid-column:auto}.manual-exam-form-flags{flex-direction:column}.manual-exam-form-flags label{width:100%}.manual-score-toolbar{grid-template-columns:1fr}.manual-score-toolbar>span{padding:0}.manual-score-table{min-width:760px}.manual-exam-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.manual-exam-component-tabs{grid-template-columns:1fr}.manual-exam-card{grid-template-columns:1fr}.manual-exam-card-weight{grid-row:auto;align-items:baseline;justify-content:flex-start;flex-direction:row;gap:6px;padding-bottom:9px;border-right:0;border-bottom:1px solid var(--border)}.manual-exam-card-actions{grid-column:auto;grid-template-columns:1fr}.manual-exam-card-facts,.manual-exam-facts{grid-template-columns:1fr}}

/* Manual assessment layout refinements */
.manual-exam-allocation{grid-template-columns:minmax(220px,1fr) minmax(160px,.55fr) auto;margin-bottom:10px;padding:13px 15px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.manual-exam-allocation>div:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 12px}.manual-exam-allocation span{font-size:11px;font-weight:800}.manual-exam-allocation strong{color:var(--accent-text);font-size:23px}.manual-exam-allocation small{grid-column:1/-1;color:var(--text-muted);font-size:9px}.manual-exam-allocation.complete .manual-exam-allocation-track i{background:#23805B}.manual-exam-allocation>button{white-space:nowrap}
.manual-exam-roster-summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:11px;color:var(--text-muted);font-size:9.5px}.manual-exam-roster-summary>span:not(.manual-exam-release){padding:4px 7px;border-radius:999px;background:var(--surface-2)}.manual-exam-roster-summary b{color:var(--text)}.manual-exam-card-actions button{min-width:42px}.manual-exam-card-actions .btn-accent{min-width:116px}.manual-exam-empty b{color:var(--text);font-size:16px}.manual-exam-empty span{max-width:500px;font-size:11px}
.manual-exam-title,.manual-exam-notes{grid-column:1/-1}.manual-exam-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.manual-exam-flags{display:flex;align-items:flex-start;gap:10px;margin-top:12px}.manual-exam-flags label{display:flex;align-items:flex-start;gap:8px;flex:1;padding:11px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);font-size:10.5px;line-height:1.4}.manual-exam-flags input{flex:0 0 auto;width:18px;height:18px}.manual-exam-flags b,.manual-exam-flags small{display:block}.manual-exam-flags small{margin-top:2px;color:var(--text-muted);font-size:9px}
.manual-score-toolbar>label{position:relative}.manual-score-toolbar>label i{position:absolute;top:50%;left:11px;transform:translateY(-50%);color:var(--text-muted);font-size:17px}.manual-score-toolbar>label input{width:100%;min-height:40px;padding:8px 10px 8px 37px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-1);font:12px var(--font)}.manual-score-toolbar>div{padding-bottom:9px;color:var(--text-muted);font-size:10px}.manual-score-table td:first-child b,.manual-score-table td:first-child span{display:block}.manual-score-table td:first-child span{margin-top:2px;color:var(--text-muted);font-size:8.5px}
@media(max-width:760px){.manual-exam-allocation{grid-template-columns:1fr}.manual-exam-title,.manual-exam-notes{grid-column:auto}.manual-exam-flags{flex-direction:column}.manual-exam-flags label{width:100%}.manual-score-toolbar>div{padding:0}.manual-score-table-wrap{max-height:min(42vh,420px);overflow-x:hidden;border:0;background:transparent}.manual-score-table{display:block;min-width:0}.manual-score-table thead{display:none}.manual-score-table tbody{display:grid;gap:9px}.manual-score-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;padding:11px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1)}.manual-score-table tr[hidden]{display:none}.manual-score-table td{display:grid;min-width:0;gap:4px;padding:0;border:0}.manual-score-table td:first-child,.manual-score-table td:last-child{grid-column:1/-1}.manual-score-table td::before{content:attr(data-label);color:var(--text-muted);font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.manual-score-table td:first-child{padding-bottom:8px;border-bottom:1px solid var(--border)}.manual-score-table td:first-child::before{display:none}.manual-score-table select,.manual-score-table input{min-width:0}.manual-score-modal .modal-actions{display:grid;grid-template-columns:1fr 1fr}.manual-score-modal .modal-actions>[role=status]{grid-column:1/-1;margin-right:0}.manual-score-modal .modal-actions button{justify-content:center}}

/* Unified course-component allocation */
.manual-exam-allocation-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.manual-exam-allocation-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:7px 10px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-1);color:var(--text);font:700 9.5px var(--font);white-space:nowrap}.manual-exam-allocation-actions button:last-child{border-color:var(--accent);color:var(--accent-text)}
.manual-exam-card-weight small{margin-top:3px;color:var(--text-muted);font-size:8px}.online-allocation-card{border-left:4px solid #0B7285}.online-allocation-card .manual-exam-card-actions{justify-content:center}.online-allocation-card .btn-ghost{display:inline-flex;align-items:center;gap:5px;text-decoration:none}.manual-exam-auto-weight{display:flex;align-items:center;gap:10px;padding:10px 11px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:7px;background:color-mix(in srgb,var(--accent) 7%,var(--surface-1))}.manual-exam-auto-weight>i{color:var(--accent);font-size:22px}.manual-exam-auto-weight b,.manual-exam-auto-weight small{display:block}.manual-exam-auto-weight small{margin-top:2px;color:var(--text-muted);font-size:9px;line-height:1.4}
.fig-modal-inner:has(.assessment-allocation-modal){width:min(1060px,calc(100vw - 40px));max-width:none}.assessment-allocation-modal{padding:4px 4px 8px}.assessment-allocation-modal .assessment-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}.assessment-allocation-modal .assessment-modal-head h2{margin:4px 0 6px}.assessment-allocation-modal .assessment-modal-head p{max-width:720px;margin:0;color:var(--text-muted);font-size:10.5px;line-height:1.55}.assessment-allocation-course{display:grid;place-items:center;flex:0 0 100px;min-height:76px;border-left:4px solid var(--accent);background:var(--surface-2)}.assessment-allocation-course b{color:var(--accent-text);font-size:22px}.assessment-allocation-course small{color:var(--text-muted);font-size:8px;text-transform:uppercase}.assessment-allocation-columns,.assessment-allocation-row{display:grid;grid-template-columns:minmax(280px,1fr) 160px 125px;align-items:center;gap:18px}.assessment-allocation-columns{padding:0 16px 8px;color:var(--text-muted);font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.assessment-allocation-list{display:grid;gap:10px}.assessment-allocation-row{padding:14px 16px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1)}.assessment-allocation-source{display:flex;align-items:center;gap:11px;min-width:0}.assessment-allocation-source>i{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:6px;background:var(--surface-2);color:var(--accent);font-size:19px}.assessment-allocation-source b,.assessment-allocation-source small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assessment-allocation-source b{font-size:11px}.assessment-allocation-source small{margin-top:3px;color:var(--text-muted);font-size:8.5px}.assessment-allocation-input{position:relative}.assessment-allocation-input input{width:100%;min-height:42px;padding:8px 32px 8px 11px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-1);color:var(--text);font:700 12px var(--font)}.assessment-allocation-input i{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-style:normal}.assessment-allocation-row>strong{color:var(--accent-text);font-size:12px}.assessment-allocation-summary{display:grid;grid-template-columns:auto minmax(160px,1fr) auto;align-items:center;gap:18px;margin-top:18px;padding:15px 16px;border-top:1px solid var(--border);background:var(--surface-2)}.assessment-allocation-summary>div:first-child{min-width:130px}.assessment-allocation-summary span,.assessment-allocation-summary b,.assessment-allocation-summary small{display:block}.assessment-allocation-summary span{font-size:8px;font-weight:800;text-transform:uppercase}.assessment-allocation-summary b{font-size:20px}.assessment-allocation-summary small{color:var(--text-muted);font-size:8.5px}.assessment-allocation-track{height:9px;border-radius:999px;background:var(--surface-3);overflow:hidden}.assessment-allocation-track i{display:block;height:100%;background:#23805B;transition:width .18s ease}.assessment-allocation-track i.invalid{background:#C66A18}

/* Grade roster: separate, sortable identity fields */
.manual-score-table{min-width:1050px}.manual-score-table th:nth-child(1){width:112px}.manual-score-table th:nth-child(2),.manual-score-table th:nth-child(3){width:120px}.manual-score-table th:nth-child(4){width:150px}.manual-score-table th:nth-child(5){width:105px}.manual-score-table th:nth-child(6){width:92px}.manual-score-table td:first-child b,.manual-score-table td:first-child small{display:block}.manual-score-table td:first-child small{max-width:150px;margin-top:2px;overflow:hidden;color:var(--text-muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.manual-score-sort{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-transform:inherit;cursor:pointer}.manual-score-sort.active{color:var(--accent-text)}

/* User roster and Excel import */
.student-import-modal .btn-accent:disabled{border-color:var(--border);background:var(--surface-2);color:var(--text-muted);box-shadow:none;cursor:not-allowed;opacity:1}
.admin-create .admin-form{grid-template-columns:150px repeat(5,minmax(125px,1fr)) auto}.student-import-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.student-import-card p{max-width:760px;margin:4px 0 0;font-size:11px}.student-import-card>button{flex:0 0 auto}.um-search{position:relative;display:block;flex:1;min-width:260px}.um-search>i{position:absolute;z-index:1;top:50%;left:11px;transform:translateY(-50%);color:var(--text-muted);font-size:17px}.um-bar .um-search input[type=search]{width:100%;min-width:0;padding-left:38px}.um-table{min-width:1280px}.fig-modal-inner:has(.student-import-modal){width:min(1220px,calc(100vw - 40px));max-width:none}.student-import-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.student-import-head h2{margin:4px 0}.student-import-head p{max-width:760px;margin:0;color:var(--text-muted);font-size:10.5px}.student-import-safe{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #A9D8BE;border-radius:999px;background:#EAF7F0;color:#176B3A;font-size:9px;font-weight:800;white-space:nowrap}.student-import-format{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:15px 0 10px;padding:11px 13px;border-left:4px solid var(--accent);background:var(--surface-2)}.student-import-format b,.student-import-format span{display:block}.student-import-format>div:first-child span{margin-top:2px;color:var(--text-muted);font-size:9px}.student-import-column-list{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.student-import-column-list span{padding:5px 7px;border:1px solid var(--border);border-radius:5px;background:var(--surface-1);font-size:8.5px;font-weight:800}.student-import-controls{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(360px,1.4fr) minmax(230px,.8fr);gap:10px}.student-import-file,.student-import-controls fieldset,.student-import-options{padding:11px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1)}.student-import-file>span,.student-import-controls legend{font-size:9px;font-weight:800;text-transform:uppercase}.student-import-file input{display:block;width:100%;margin-top:9px;font-size:10px}.student-import-controls fieldset{display:grid;grid-template-columns:1fr 1fr;margin:0}.student-import-controls fieldset label{display:flex;align-items:flex-start;gap:7px;padding:4px 7px}.student-import-controls fieldset input{margin-top:3px}.student-import-controls fieldset b,.student-import-controls fieldset small{display:block}.student-import-controls fieldset b{font-size:10px}.student-import-controls fieldset small{margin-top:2px;color:var(--text-muted);font-size:8px}.student-import-options{display:grid;align-content:center;gap:8px;font-size:9px}.student-import-options label{display:flex;align-items:flex-start;gap:6px}.student-import-preview-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0 8px}.student-import-preview-head b,.student-import-preview-head span{display:block}.student-import-preview-head span{margin-top:2px;color:var(--text-muted);font-size:9px}.student-import-preview{min-height:170px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1)}.student-import-empty{display:grid;min-height:170px;place-items:center;align-content:center;gap:7px;color:var(--text-muted);font-size:10px}.student-import-empty i{color:var(--accent);font-size:31px}.student-import-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--border)}.student-import-summary span{display:flex;align-items:baseline;gap:6px;padding:9px 11px;border-right:1px solid var(--border);font-size:9px}.student-import-summary span:last-child{border-right:0}.student-import-summary b{font-size:18px}.student-import-summary .add b,.student-import-summary .update b{color:#176B3A}.student-import-summary .conflict b{color:#B6382E}.student-import-errors,.student-import-ready{margin:9px;padding:10px 12px}.student-import-errors{border-left:4px solid #C34E3F;background:#FCEDEA;color:#84291F;font-size:9px}.student-import-errors>b{display:flex;align-items:center;gap:6px}.student-import-errors ul{max-height:110px;margin:7px 0 0;padding-left:20px;overflow:auto}.student-import-ready{display:flex;align-items:center;gap:9px;border-left:4px solid #23805B;background:#EAF7F0;color:#176B3A}.student-import-ready>i{font-size:23px}.student-import-ready b,.student-import-ready small{display:block}.student-import-ready small{margin-top:2px;font-size:8.5px}.student-import-table-wrap{max-height:310px;overflow:auto;border-top:1px solid var(--border)}.student-import-table{width:100%;min-width:900px;border-collapse:collapse;font-size:9px}.student-import-table th{position:sticky;top:0;padding:7px 8px;background:var(--surface-3);color:var(--text-muted);text-align:left;text-transform:uppercase}.student-import-table td{padding:7px 8px;border-top:1px solid var(--border)}.student-import-action{display:inline-flex;padding:4px 6px;border-radius:999px;background:var(--surface-3);font-size:8px;font-weight:800}.student-import-action.add,.student-import-action.update{background:#EAF7F0;color:#176B3A}.student-import-action.conflict{background:#FCEDEA;color:#84291F}.student-import-more{margin:7px 10px;font-size:8.5px}

@media(max-width:1080px){.admin-create .admin-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-create .admin-form button{grid-column:1/-1}.student-import-controls{grid-template-columns:1fr 1fr}.student-import-options{grid-column:1/-1}.assessment-allocation-columns,.assessment-allocation-row{grid-template-columns:minmax(220px,1fr) 130px 100px}}
@media(max-width:760px){.manual-exam-allocation-actions{justify-content:stretch}.manual-exam-allocation-actions button{flex:1}.assessment-allocation-modal .assessment-modal-head,.student-import-head,.student-import-format,.student-import-preview-head,.student-import-card{align-items:stretch;flex-direction:column}.assessment-allocation-course{display:flex;min-height:48px;justify-content:center;gap:7px;border-left:0;border-top:4px solid var(--accent)}.assessment-allocation-columns{display:none}.assessment-allocation-row{grid-template-columns:minmax(0,1fr) 105px}.assessment-allocation-row>strong{grid-column:2}.assessment-allocation-input{grid-column:2;grid-row:1}.assessment-allocation-summary{grid-template-columns:1fr}.student-import-card>button{width:100%;justify-content:center}.student-import-controls{grid-template-columns:1fr}.student-import-options{grid-column:auto}.student-import-controls fieldset{grid-template-columns:1fr}.student-import-format{gap:9px}.student-import-column-list{justify-content:flex-start}.student-import-summary{grid-template-columns:1fr 1fr}.student-import-summary span:nth-child(2){border-right:0}.student-import-summary span:nth-child(-n+2){border-bottom:1px solid var(--border)}.manual-score-table{min-width:0}.manual-score-table tr{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-score-table td:first-child,.manual-score-table td:nth-child(4),.manual-score-table td:last-child{grid-column:1/-1}.manual-score-table td:first-child::before{display:block}.manual-score-table td:first-child{padding-bottom:0;border-bottom:0}.um-search{min-width:100%}}

/* User creation: keep controls and action contained at every viewport. */
.admin-create .admin-form{
  grid-template-columns:minmax(150px,.85fr) repeat(3,minmax(0,1fr));
  grid-template-areas:
    "role first last number"
    "department email email action";
  align-items:stretch;
}
.admin-create .admin-form>input,.admin-create .admin-form>select{width:100%;min-width:0}
#adminNewRole{grid-area:role}
#adminNewName{grid-area:first}
#adminNewSurname{grid-area:last}
#adminNewNo{grid-area:number}
#adminNewDepartment{grid-area:department}
#adminNewEmail{grid-area:email}
#adminCreateUser{grid-area:action;min-width:220px;justify-content:center;white-space:nowrap}
.admin-create #adminCreateMsg{min-height:1.2em;margin-top:8px}
@media(max-width:1080px){
  .admin-create .admin-form{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:
      "role first"
      "last number"
      "department email"
      "action action";
  }
  #adminCreateUser{width:100%;min-width:0}
}
@media(max-width:620px){
  .admin-create .admin-form{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"role" "first" "last" "number" "department" "email" "action";
  }
}

/* Assessment workspaces: full-width, route-safe navigation and responsive records. */
.assessment-admin{width:100%;max-width:none}
.assessment-admin>.admin-section-tabs{position:relative;z-index:4;isolation:isolate}
.assessment-admin>.admin-section-tabs a{position:relative;z-index:1;pointer-events:auto}
.homework-admin-loading{display:flex;min-height:240px;align-items:center;justify-content:center;gap:9px;color:var(--text-muted);font-size:13px}
.homework-admin-loading i{color:var(--accent);font-size:24px;animation:report-spin 1s linear infinite}
.homework-admin-hero,.project-admin-hero,.homework-review-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:14px;padding:19px 21px;border-left:5px solid var(--accent);background:var(--surface-2)}
.homework-admin-hero h2,.project-admin-hero h2,.homework-review-hero h2{margin:4px 0 3px;font-size:22px}.homework-admin-hero p,.project-admin-hero p,.homework-review-hero p{max-width:850px;margin:0;color:var(--text-secondary);font-size:12px;line-height:1.5}.homework-admin-hero>.btn-accent,.project-admin-hero>.btn-accent{flex:0 0 auto;white-space:nowrap}
.homework-admin-metrics,.project-admin-metrics,.homework-review-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));margin:0 0 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1);overflow:hidden}
.homework-admin-metrics>div,.project-admin-metrics>div,.homework-review-metrics>div{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;min-height:72px;padding:11px 14px;border-right:1px solid var(--border)}
.homework-admin-metrics>div:last-child,.project-admin-metrics>div:last-child,.homework-review-metrics>div:last-child{border-right:0}
.homework-admin-metrics i,.project-admin-metrics i,.homework-review-metrics i{display:grid;place-items:center;width:36px;height:36px;border-radius:7px;background:var(--accent-bg);color:var(--accent-text);font-size:19px}
.homework-admin-metrics b,.project-admin-metrics b,.homework-review-metrics b,.homework-admin-metrics small,.project-admin-metrics small,.homework-review-metrics small{display:block}.homework-admin-metrics b,.project-admin-metrics b,.homework-review-metrics b{font-size:20px;line-height:1}.homework-admin-metrics small,.project-admin-metrics small,.homework-review-metrics small{margin-top:3px;color:var(--text-muted);font-size:9px;text-transform:uppercase;letter-spacing:.03em}.homework-admin-metrics .attention i,.homework-review-metrics .attention i{background:#FFF0D4;color:#8A5700}.homework-review-metrics .good i{background:#E5F4EC;color:#176B3A}.homework-review-metrics .warn i{background:#FCE9E6;color:#A33A2B}
.homework-admin-controls,.homework-review-toolbar{display:grid;grid-template-columns:minmax(250px,1fr) repeat(2,minmax(150px,.35fr)) auto;align-items:end;gap:10px;margin-bottom:14px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}
.homework-admin-controls label,.homework-review-toolbar label{display:flex;min-width:0;flex-direction:column;gap:5px}.homework-admin-controls label>span,.homework-review-toolbar label>span{color:var(--text-muted);font-size:9px;font-weight:800;text-transform:uppercase}.homework-admin-controls input,.homework-admin-controls select,.homework-review-toolbar input,.homework-review-toolbar select{width:100%;min-width:0;height:42px;padding:0 10px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-1);color:var(--text);font:500 12px var(--font)}
.homework-admin-search,.homework-review-toolbar>label:first-child{position:relative}.homework-admin-search>i,.homework-review-toolbar>label:first-child>i{position:absolute;left:12px;bottom:12px;z-index:1;color:var(--text-muted);font-size:17px}.homework-admin-search input,.homework-review-toolbar>label:first-child input{padding-left:38px}.homework-admin-controls>[role=status],.homework-review-toolbar>[role=status]{align-self:center;color:var(--text-muted);font-size:10px;white-space:nowrap}
.homework-admin-grid,.project-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:14px;width:100%}
.homework-admin-card,.project-admin-card{display:flex;min-width:0;flex-direction:column;padding:17px;border:1px solid var(--border);border-top:4px solid var(--accent);border-radius:8px;background:var(--surface-1);box-shadow:0 5px 16px rgba(20,35,50,.05)}
.project-admin-card{border-top-color:#5F54A8}.homework-admin-card-head,.project-admin-card-head{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:start;gap:12px}.homework-admin-icon,.project-admin-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:7px;background:#FCEEDC;color:#A95308;font-size:23px}.project-admin-icon{background:#EEE9F7;color:#5F54A8}.homework-admin-card-head h3,.project-admin-card-head h3{margin:6px 0 2px;font-size:17px;overflow-wrap:anywhere}.homework-admin-card-head p,.project-admin-card-head p{margin:0;color:var(--text-muted);font-size:10.5px}.homework-admin-badges,.project-admin-badges{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.homework-admin-badges span,.project-admin-badges span{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:999px;background:var(--surface-2);color:var(--text-secondary);font-size:8.5px;font-weight:800;text-transform:uppercase}.homework-admin-badges .success,.project-admin-badges .success{background:#E5F4EC;color:#176B3A}.homework-admin-badges .warn,.project-admin-badges .warn{background:#FFF0D4;color:#8A5700}.homework-admin-badges .info,.project-admin-badges .info{background:#E7F1FA;color:#185F91}.homework-admin-badges .muted,.project-admin-badges .muted{color:var(--text-muted)}
.homework-admin-excerpt,.project-admin-excerpt{min-height:44px;margin:14px 0 12px;color:var(--text-secondary);font-size:11.5px;line-height:1.55}.homework-admin-facts,.project-admin-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}.homework-admin-facts>div,.project-admin-facts>div{min-width:0;padding:9px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2)}.homework-admin-facts dt,.project-admin-facts dt{display:flex;align-items:center;gap:5px;color:var(--text-muted);font-size:8.5px;font-weight:800;text-transform:uppercase}.homework-admin-facts dd,.project-admin-facts dd{margin:4px 0 0;color:var(--text);font-size:11px;font-weight:700;overflow-wrap:anywhere}
.homework-review-progress{margin:12px 0 0;padding:10px;border:1px solid var(--border);border-radius:6px}.homework-review-progress>div{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;color:var(--text-muted);font-size:9px}.homework-review-progress .pending{color:#8A5700}.homework-review-track{display:block;height:6px;margin-top:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.homework-review-track i{display:block;height:100%;border-radius:inherit;background:#23805B}
.homework-admin-actions,.project-admin-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:14px}.homework-admin-actions .btn-accent,.homework-admin-actions .btn-ghost,.project-admin-actions .btn-accent,.project-admin-actions .btn-ghost{min-height:38px;padding:8px 11px;border-radius:7px;font-size:10.5px}.homework-admin-actions .btn-accent span,.project-admin-actions .btn-accent span{display:grid;place-items:center;min-width:20px;height:20px;margin-left:3px;border-radius:999px;background:rgba(255,255,255,.2);font-size:9px}.homework-admin-actions-spacer,.project-admin-actions-spacer{flex:1 1 auto}.icon-btn.danger{color:#B42318}.icon-btn.danger:hover{border-color:#D7A49E;background:#FFF2EF;color:#A32D25}.homework-admin-empty,.project-admin-empty{margin-top:12px}
.project-admin-metrics{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))}.project-admin-facts{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Homework submission review */
.homework-review-hero{align-items:flex-start}.homework-review-hero>div{min-width:0}.homework-review-hero .btn-ghost{min-height:34px;margin:0 0 10px;padding:6px 9px;border-radius:6px;font-size:10px}.homework-review-download{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:0 8px;flex:0 0 auto;min-width:190px;text-align:left;text-decoration:none}.homework-review-download>i{grid-row:1/3;font-size:22px}.homework-review-download span,.homework-review-download small{display:block}.homework-review-download small{font-size:8.5px;opacity:.82}.homework-submission-grid{display:grid;gap:14px}.homework-submission-card{min-width:0;border:1px solid var(--border);border-left:4px solid #D18B18;border-radius:8px;background:var(--surface-1);overflow:hidden}.homework-submission-card.reviewed{border-left-color:#23805B}.homework-submission-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 15px;border-bottom:1px solid var(--border);background:var(--surface-2)}.homework-submission-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:7px;background:var(--accent);color:#fff;font-size:13px;font-weight:800}.homework-submission-head h3{margin:0;font-size:15px}.homework-submission-head p{margin:2px 0 0;color:var(--text-muted);font-size:10px}.homework-submission-status{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}.homework-submission-status span{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border-radius:999px;font-size:8.5px;font-weight:800}.homework-submission-status .pending{background:#FFF0D4;color:#8A5700}.homework-submission-status .reviewed{background:#E5F4EC;color:#176B3A}.homework-submission-status .late{background:#FCE9E6;color:#A33A2B}.homework-submission-evidence{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.homework-submission-evidence>section{min-width:0;padding:14px 15px}.homework-submission-evidence>section+section{border-left:1px solid var(--border)}.homework-submission-kicker{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:9px;font-weight:800;text-transform:uppercase}.homework-submission-rich{margin-top:8px;color:var(--text-secondary);font-size:11px;line-height:1.55;overflow-wrap:anywhere}.homework-submission-rich>:first-child{margin-top:0}.homework-submission-rich>:last-child{margin-bottom:0}.homework-submission-rich.empty{padding:11px;border:1px dashed var(--border);color:var(--text-muted)}.homework-submission-files{display:grid;grid-template-columns:155px minmax(0,1fr);gap:12px;padding:12px 15px;border-top:1px solid var(--border);background:var(--surface-2)}.homework-submission-files>div:first-child small{display:block;margin-top:3px;color:var(--text-muted);font-size:9px}.homework-submission-files>div:last-child{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.homework-submission-file{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-1);color:var(--accent-text);font-size:9.5px;text-decoration:none}.homework-submission-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.homework-submission-file small{color:var(--text-muted);white-space:nowrap}.homework-submission-no-files{color:var(--text-muted);font-size:10px}.homework-submission-audit{padding:9px 15px;border-top:1px solid var(--border);color:var(--text-muted);font-size:9.5px}.homework-submission-audit summary{display:flex;align-items:center;gap:6px;cursor:pointer;font-weight:700}.homework-submission-audit p{margin:7px 0 0}.homework-submission-grade{display:grid;grid-template-columns:100px minmax(260px,1fr) auto;align-items:end;gap:10px;padding:13px 15px;border-top:1px solid var(--border)}.homework-submission-grade label{display:flex;min-width:0;flex-direction:column;gap:5px}.homework-submission-grade label>span{font-size:9.5px;font-weight:800}.homework-submission-grade label small{color:var(--text-muted);font-weight:500}.homework-submission-grade input,.homework-submission-grade textarea{width:100%;padding:8px 9px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-1);color:var(--text);font:11px var(--font)}.homework-submission-grade input{height:41px}.homework-submission-grade textarea{min-height:70px;resize:vertical}.homework-submission-grade button{min-height:41px;white-space:nowrap}

@media(max-width:1080px){
  .homework-admin-metrics>div:nth-child(2n),.project-admin-metrics>div:nth-child(2n),.homework-review-metrics>div:nth-child(2n){border-right:0}
  .homework-admin-controls,.homework-review-toolbar{grid-template-columns:minmax(220px,1fr) repeat(2,minmax(140px,.45fr))}.homework-admin-controls>[role=status],.homework-review-toolbar>[role=status]{grid-column:1/-1;justify-self:end}
}
@media(max-width:760px){
  .homework-admin-hero,.project-admin-hero,.homework-review-hero{align-items:stretch;flex-direction:column;padding:16px}.homework-admin-hero>.btn-accent,.project-admin-hero>.btn-accent{justify-content:center;width:100%}.homework-review-download{width:100%}
  .homework-admin-metrics,.project-admin-metrics,.homework-review-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.homework-admin-metrics>div,.project-admin-metrics>div,.homework-review-metrics>div{border-bottom:1px solid var(--border)}.homework-admin-metrics>div:nth-last-child(-n+2),.homework-review-metrics>div:nth-last-child(-n+2){border-bottom:0}
  .homework-admin-controls,.homework-review-toolbar{grid-template-columns:1fr}.homework-admin-controls>[role=status],.homework-review-toolbar>[role=status]{grid-column:auto;justify-self:start}
  .homework-admin-grid,.project-admin-grid{grid-template-columns:minmax(0,1fr)}.homework-admin-facts,.project-admin-facts{grid-template-columns:1fr}.homework-admin-actions-spacer,.project-admin-actions-spacer{display:none}.homework-admin-actions,.project-admin-actions{display:grid;grid-template-columns:1fr 1fr}.homework-admin-actions .btn-accent,.project-admin-actions .btn-accent{grid-column:1/-1;justify-content:center}.homework-admin-actions .btn-ghost,.project-admin-actions .btn-ghost{justify-content:center}.homework-admin-actions .icon-btn,.project-admin-actions .icon-btn{width:100%}
  .homework-submission-head{grid-template-columns:42px minmax(0,1fr)}.homework-submission-status{grid-column:2;justify-content:flex-start}.homework-submission-evidence{grid-template-columns:1fr}.homework-submission-evidence>section+section{border-left:0;border-top:1px solid var(--border)}.homework-submission-files{grid-template-columns:1fr}.homework-submission-grade{grid-template-columns:90px minmax(0,1fr)}.homework-submission-grade button{grid-column:1/-1;justify-content:center}
}
@media(max-width:460px){
  .homework-admin-metrics,.project-admin-metrics,.homework-review-metrics{grid-template-columns:1fr}.homework-admin-metrics>div,.project-admin-metrics>div,.homework-review-metrics>div{border-right:0;border-bottom:1px solid var(--border)}.homework-admin-metrics>div:last-child,.project-admin-metrics>div:last-child,.homework-review-metrics>div:last-child{border-bottom:0}.homework-admin-card,.project-admin-card{padding:14px}.homework-admin-card-head,.project-admin-card-head{grid-template-columns:38px minmax(0,1fr)}.homework-admin-icon,.project-admin-icon{width:38px;height:38px;font-size:20px}.homework-admin-actions,.project-admin-actions{grid-template-columns:1fr}.homework-admin-actions .btn-accent,.project-admin-actions .btn-accent{grid-column:auto}.homework-submission-grade{grid-template-columns:1fr}
}

/* Class assessments: delivery authoring, evidence review and responsive exam records. */
.fig-modal-inner:has(.class-exam-submission-modal){width:min(1080px,calc(100vw - 40px));max-width:none}
.manual-exam-delivery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 14px;padding:0;border:0}.manual-exam-delivery legend{margin-bottom:7px;color:var(--text-muted);font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.manual-exam-delivery button{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;min-height:68px;padding:11px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1);color:var(--text);text-align:left}.manual-exam-delivery button:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:var(--surface-2)}.manual-exam-delivery button.active{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent)}.manual-exam-delivery button>i{display:grid;place-items:center;width:40px;height:40px;border-radius:6px;background:var(--surface-2);color:var(--accent-text);font-size:21px}.manual-exam-delivery button.active>i{background:var(--accent);color:#fff}.manual-exam-delivery b,.manual-exam-delivery small{display:block}.manual-exam-delivery b{font-size:10.5px}.manual-exam-delivery small{margin-top:3px;color:var(--text-muted);font-size:8.5px;line-height:1.35}
.manual-exam-title{grid-column:1/-1}.manual-exam-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.manual-exam-mode-panel{padding:13px;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:7px;background:var(--surface-2)}.manual-exam-mode-panel[hidden],.manual-exam-quiz-behavior[hidden]{display:none!important}.manual-exam-mode-head{display:flex;align-items:center;gap:9px;margin-bottom:11px}.manual-exam-mode-head>i{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:6px;background:var(--accent-bg);color:var(--accent-text);font-size:19px}.manual-exam-mode-head b,.manual-exam-mode-head small{display:block}.manual-exam-mode-head b{font-size:11px}.manual-exam-mode-head small{margin-top:2px;color:var(--text-muted);font-size:8.5px}.manual-exam-panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.manual-exam-panel-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.manual-exam-inline-flags,.manual-exam-quiz-behavior{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:10px}.manual-exam-inline-flags>label,.manual-exam-quiz-behavior>label:not(.ed-field){display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-1);font-size:9.5px}.manual-exam-inline-flags input,.manual-exam-quiz-behavior input[type=checkbox]{width:17px;height:17px}.manual-exam-week-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:2px 0 11px}.manual-exam-week-picker label{position:relative;cursor:pointer}.manual-exam-week-picker input{position:absolute;opacity:0;pointer-events:none}.manual-exam-week-picker span{display:flex;min-height:46px;align-items:center;justify-content:center;flex-direction:column;padding:6px;border:1px solid var(--border);border-radius:6px;background:var(--surface-1);text-align:center}.manual-exam-week-picker b,.manual-exam-week-picker small{display:block}.manual-exam-week-picker b{font-size:10px}.manual-exam-week-picker small{margin-top:2px;color:var(--text-muted);font-size:7.5px}.manual-exam-week-picker input:checked+span{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent)}.manual-exam-week-picker input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.manual-exam-quiz-settings{display:grid;grid-template-columns:150px minmax(210px,1fr) repeat(2,minmax(170px,.75fr));align-items:end;gap:9px}.manual-exam-bank-status{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;min-height:58px;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-1)}.manual-exam-bank-status>i{display:grid;place-items:center;width:32px;height:32px;border-radius:6px;font-size:18px}.manual-exam-bank-status b,.manual-exam-bank-status small{display:block}.manual-exam-bank-status b{font-size:9.5px}.manual-exam-bank-status small{margin-top:2px;color:var(--text-muted);font-size:8px;line-height:1.35}.manual-exam-bank-status.ready{border-color:#A9D8BE}.manual-exam-bank-status.ready>i{background:#E5F4EC;color:#176B3A}.manual-exam-bank-status.short{border-color:#E4C486}.manual-exam-bank-status.short>i{background:#FFF0D4;color:#8A5700}.manual-exam-quiz-behavior{align-items:flex-end;padding:9px;border:1px solid var(--border);border-radius:6px;background:var(--surface-1)}.manual-exam-quiz-behavior .ed-field{min-width:210px;flex:1}.manual-exam-notes{margin-top:1px}.manual-exam-flags{display:flex;align-items:stretch;gap:9px;margin-top:13px}.manual-exam-flags>label{display:flex;align-items:flex-start;gap:8px;flex:1;padding:10px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2)}.manual-exam-flags input{flex:0 0 auto;width:18px;height:18px}.manual-exam-flags b,.manual-exam-flags small{display:block}.manual-exam-flags b{font-size:10px}.manual-exam-flags small{margin-top:2px;color:var(--text-muted);font-size:8px;line-height:1.4}
.manual-exam-card.delivery-manual{border-left:4px solid #2369A8}.manual-exam-card.delivery-submission{border-left:4px solid #9B5A13}.manual-exam-card.delivery-quiz{border-left:4px solid #0B7A62}.manual-exam-roster-summary .needs-attention{background:#FFF0D4!important;color:#8A5700}.manual-exam-card-actions .danger{color:#B42318}
.manual-score-evidence{display:grid;gap:5px;min-width:170px}.manual-score-evidence>span{display:flex;align-items:center;gap:5px;font-size:9px;font-weight:700}.manual-score-evidence>small{color:var(--text-muted);font-size:8px}.manual-score-evidence>p{max-width:270px;margin:0;color:var(--text-secondary);font-size:8.5px;line-height:1.4}.manual-score-files{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.manual-score-files a{display:inline-flex;align-items:center;gap:4px;max-width:170px;padding:4px 6px;border:1px solid var(--border);border-radius:5px;background:var(--surface-1);color:var(--accent-text);font-size:8px;text-decoration:none}.manual-score-files a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manual-score-evidence.empty{color:var(--text-muted)}.manual-score-table.with-evidence{min-width:1240px}.manual-score-table.with-evidence th:nth-child(5){width:220px}.manual-score-table.with-evidence th:nth-child(6){width:105px}.manual-score-table.with-evidence th:nth-child(7){width:92px}.class-exam-current-files{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0;padding:10px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2)}.class-exam-current-files>b,.class-exam-current-files>small{width:100%;font-size:9px}.class-exam-current-files>a{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid var(--border);border-radius:5px;background:var(--surface-1);font-size:9px;text-decoration:none}

@media(max-width:1080px){.manual-exam-quiz-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-exam-week-picker{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.manual-exam-delivery{grid-template-columns:minmax(0,1fr)}.manual-exam-form-grid,.manual-exam-panel-grid,.manual-exam-panel-grid.three,.manual-exam-quiz-settings{grid-template-columns:minmax(0,1fr)}.manual-exam-title{grid-column:auto}.manual-exam-week-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.manual-exam-range{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.manual-exam-flags{flex-direction:column}.manual-exam-card-facts{grid-template-columns:minmax(0,1fr)}.manual-score-table.with-evidence{min-width:0}.manual-score-table td[data-label="Evidence"]{grid-column:1/-1}.manual-score-evidence>p{max-width:none}}
@media(max-width:760px){.manual-exam-form-v2 .ed-rich-youtube-group{display:grid;grid-template-columns:minmax(0,1fr) 62px 34px 34px;width:100%;max-width:100%}.manual-exam-form-v2 .ed-rich-youtube-group .ed-rich-youtube-input{width:100%;min-width:0}.manual-exam-form-v2 .ed-rich-youtube-group .ed-rich-youtube-size{width:62px;min-width:0}.manual-exam-form-v2 .ed-rich-image-group{display:grid;grid-template-columns:minmax(0,1fr) 62px 34px;width:100%;max-width:100%;gap:0}.manual-exam-form-v2 .ed-rich-image-group .ed-rich-image-input{width:100%;min-width:0}.manual-exam-form-v2 .ed-rich-image-group .ed-rich-image-size{width:62px;min-width:0}.manual-exam-form-v2 .modal-actions{margin:16px 0 0}}
@media(max-width:440px){.manual-exam-week-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-exam-range{grid-template-columns:1fr}.manual-exam-inline-flags,.manual-exam-quiz-behavior{align-items:stretch;flex-direction:column}.manual-exam-inline-flags>label,.manual-exam-quiz-behavior>label{width:100%}}

/* Objective-led assessment blueprints and question-level gradebooks. */
.objective-weight-editor,
.objective-selector{
  margin:12px 0;
  padding:13px;
  border:1px solid var(--border);
  border-left:4px solid var(--accent);
  border-radius:7px;
  background:var(--surface-2);
}
.objective-weight-head,
.objective-selector-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:10px;
}
.objective-weight-head p,
.objective-selector-head p{
  max-width:720px;
  margin:3px 0 0;
  color:var(--text-muted);
  font-size:8.5px;
  line-height:1.45;
}
.objective-weight-head>strong{
  display:inline-flex;
  min-width:76px;
  min-height:34px;
  align-items:center;
  justify-content:center;
  padding:6px 9px;
  border:1px solid #A9D8BE;
  border-radius:999px;
  background:#EAF7F0;
  color:#176B3A;
  font-size:10px;
  white-space:nowrap;
}
.objective-weight-head>strong.invalid{
  border-color:#E4C486;
  background:#FFF7E8;
  color:#8A5700;
}
.objective-weight-list{display:grid;gap:6px}
.objective-weight-row{
  display:grid;
  grid-template-columns:20px 54px minmax(0,1fr) 94px;
  align-items:center;
  gap:9px;
  min-height:58px;
  padding:8px 9px;
  border:1px solid var(--border);
  border-radius:6px;
  background:var(--surface-1);
  cursor:pointer;
}
.objective-weight-row:hover{border-color:color-mix(in srgb,var(--accent) 52%,var(--border))}
.objective-weight-row.selected{
  border-color:var(--accent-border);
  background:color-mix(in srgb,var(--accent-bg) 50%,var(--surface-1));
  box-shadow:inset 3px 0 0 var(--accent);
}
.objective-weight-row>input{
  width:17px;
  height:17px;
  margin:0;
  accent-color:var(--accent);
}
.objective-code{
  display:inline-flex;
  min-height:30px;
  align-items:center;
  justify-content:center;
  padding:5px 7px;
  border:1px solid var(--accent-border);
  border-radius:6px;
  background:var(--accent-bg);
  color:var(--accent-text);
  font-size:9px;
  font-weight:900;
  letter-spacing:.02em;
  text-align:center;
}
.objective-copy,
.objective-selector-grid label>span:last-child{min-width:0}
.objective-copy b,
.objective-copy small,
.objective-selector-grid b,
.objective-selector-grid small{display:block}
.objective-copy b,
.objective-selector-grid b{
  overflow:hidden;
  color:var(--text);
  font-size:9.5px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.objective-copy small,
.objective-selector-grid small{
  display:-webkit-box;
  margin-top:2px;
  overflow:hidden;
  color:var(--text-muted);
  font-size:7.8px;
  line-height:1.35;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.objective-percent{
  display:grid;
  grid-template-columns:minmax(0,1fr) 16px;
  align-items:center;
  gap:4px;
}
.objective-percent input{
  width:100%;
  min-height:36px;
  padding:6px 7px;
  border:1px solid var(--border-strong);
  border-radius:6px;
  background:var(--surface-1);
  color:var(--text);
  font:800 10px var(--font);
  text-align:right;
}
.objective-percent input:disabled{background:var(--surface-3);color:var(--text-muted)}
.objective-percent i{color:var(--text-muted);font-size:9px;font-style:normal}
.objective-weight-hint{
  min-height:18px;
  margin:7px 2px 0;
  color:var(--text-muted);
  font-size:8.5px;
}
.objective-selector-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.objective-selector-grid label{
  display:grid;
  grid-template-columns:20px 54px minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-height:58px;
  padding:8px 9px;
  border:1px solid var(--border);
  border-radius:6px;
  background:var(--surface-1);
  cursor:pointer;
}
.objective-selector-grid label:hover{border-color:color-mix(in srgb,var(--accent) 52%,var(--border))}
.objective-selector-grid label.selected{
  border-color:var(--accent-border);
  background:color-mix(in srgb,var(--accent-bg) 50%,var(--surface-1));
  box-shadow:inset 3px 0 0 var(--accent);
}
.objective-selector-grid input{
  width:17px;
  height:17px;
  margin:0;
  accent-color:var(--accent);
}
.fig-modal-inner:has(.manual-exam-form-v2),
.fig-modal-inner:has(.manual-score-modal-v2){
  width:min(1540px,calc(100vw - 32px));
  max-width:none;
}
.manual-exam-blueprint{
  display:grid;
  gap:12px;
  padding:14px;
}
.manual-exam-blueprint-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.manual-exam-blueprint-head .manual-exam-mode-head{margin:0}
.manual-exam-blueprint-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}
.manual-exam-blueprint-actions>span{
  display:inline-flex;
  min-height:38px;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border:1px solid var(--border);
  border-radius:6px;
  background:var(--surface-1);
  color:var(--text-muted);
  font-size:9px;
  white-space:nowrap;
}
.manual-exam-blueprint-actions>span b,
.manual-exam-blueprint-actions>span strong{color:var(--text);font-size:11px}
.manual-exam-blueprint-actions>span i{
  width:4px;
  height:4px;
  border-radius:50%;
  background:currentColor;
}
.manual-exam-blueprint-actions>span.complete{border-color:#A9D8BE;background:#EAF7F0;color:#176B3A}
.manual-exam-blueprint-actions>span.incomplete{border-color:#E4C486;background:#FFF7E8;color:#8A5700}
.manual-exam-question-list{display:grid;gap:10px}
.manual-exam-question-card{
  display:grid;
  grid-template-columns:64px minmax(0,1fr) 40px;
  gap:10px 12px;
  align-items:start;
  padding:12px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-1);
}
.manual-exam-question-number{
  display:grid;
  min-height:64px;
  place-items:center;
  align-content:center;
  border-radius:6px;
  background:var(--accent-bg);
  color:var(--accent-text);
}
.manual-exam-question-number span{
  font-size:7.5px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.manual-exam-question-number b{font-size:22px;line-height:1}
.manual-exam-question-fields{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(145px,.32fr) minmax(145px,.32fr);
  gap:9px;
}
.manual-exam-question-remove{align-self:center}
.manual-exam-question-card>.objective-weight-editor{grid-column:2/-1}
.manual-exam-sheet{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(260px,.9fr) auto 40px;
  gap:10px;
  align-items:center;
  padding:11px;
  border:1px dashed var(--border-strong);
  border-radius:7px;
  background:var(--surface-2);
}
.manual-exam-sheet>div:first-child>b,
.manual-exam-sheet>div:first-child>small{display:block}
.manual-exam-sheet>div:first-child>b{margin-top:2px;font-size:10.5px}
.manual-exam-sheet>div:first-child>small{margin-top:2px;color:var(--text-muted);font-size:8.5px}
.manual-exam-sheet-state{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-height:46px;
  padding:7px 9px;
  border:1px solid var(--border);
  border-radius:6px;
  background:var(--surface-1);
}
.manual-exam-sheet-state>i{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:5px;
  background:#FCE9E6;
  color:#A33A2B;
  font-size:18px;
}
.manual-exam-sheet-state b,
.manual-exam-sheet-state small,
.manual-exam-sheet-state a{display:block;min-width:0}
.manual-exam-sheet-state b,
.manual-exam-sheet-state a{
  overflow:hidden;
  color:var(--text);
  font-size:9.5px;
  font-weight:750;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.manual-exam-sheet-state small{margin-top:2px;color:var(--text-muted);font-size:8px}
.manual-exam-sheet-picker{justify-content:center;white-space:nowrap}
.manual-exam-sheet-picker input{display:none}
.manual-score-toolbar-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.manual-score-import-hint{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:9px 0;
  padding:9px 11px;
  border-left:4px solid var(--accent);
  background:var(--accent-bg);
  color:var(--text-secondary);
  font-size:9px;
  line-height:1.45;
}
.manual-score-import-hint>i{margin-top:1px;color:var(--accent-text);font-size:17px}
.manual-score-table.with-question-plan{
  width:max-content;
  min-width:100%;
}
.manual-score-question-head{
  min-width:116px;
  max-width:150px;
}
.manual-score-question-head b,
.manual-score-question-head small,
.manual-score-question-head span{display:block}
.manual-score-question-head small{margin-top:2px;color:var(--text-muted);font-size:7.5px;text-transform:none}
.manual-score-question-head span{margin-top:3px;color:var(--accent-text);font-size:7.5px;text-transform:none}
.manual-score-question-cell{
  min-width:116px;
  white-space:nowrap;
}
.manual-score-question-cell input{
  display:inline-block;
  width:76px;
  min-width:0;
}
.manual-score-question-cell small{margin-left:4px;color:var(--text-muted);font-size:8px}
.manual-score-question-cell input.invalid{
  border-color:#C74336;
  box-shadow:0 0 0 2px color-mix(in srgb,#C74336 15%,transparent);
}
.manual-score-total-head,
.manual-score-total-cell{min-width:112px}
.manual-score-total-cell output{
  display:inline-flex;
  min-width:66px;
  min-height:36px;
  align-items:center;
  justify-content:center;
  padding:6px 8px;
  border:1px solid #A9D8BE;
  border-radius:6px;
  background:#EAF7F0;
  color:#176B3A;
  font-size:11px;
  font-weight:800;
}
.manual-score-total-cell output.incomplete{
  border-color:var(--border);
  background:var(--surface-2);
  color:var(--text-muted);
}

@media(max-width:1080px){
  .objective-selector-grid{grid-template-columns:1fr}
  .manual-exam-blueprint-head{align-items:stretch;flex-direction:column}
  .manual-exam-blueprint-actions{justify-content:flex-start}
  .manual-exam-question-fields{grid-template-columns:minmax(180px,1fr) 140px 140px}
  .manual-exam-sheet{grid-template-columns:minmax(240px,1fr) minmax(240px,1fr)}
  .manual-exam-sheet-picker{justify-self:start}
}
@media(max-width:760px){
  .objective-weight-head,.objective-selector-head{align-items:stretch;flex-direction:column}.objective-weight-head>strong{align-self:flex-start}
  .objective-weight-row{grid-template-columns:20px 48px minmax(0,1fr)}.objective-percent{grid-column:2/-1}
  .fig-modal-inner:has(.manual-exam-form-v2),
  .fig-modal-inner:has(.manual-score-modal-v2){width:calc(100vw - 16px)}
  .manual-exam-blueprint{padding:10px}
  .manual-exam-blueprint-actions{display:grid;grid-template-columns:1fr 1fr}
  .manual-exam-blueprint-actions>span{grid-column:1/-1;justify-content:center}
  .manual-exam-question-card{grid-template-columns:48px minmax(0,1fr) 40px}
  .manual-exam-question-number{min-height:48px}
  .manual-exam-question-fields{grid-template-columns:1fr}
  .manual-exam-question-card>.objective-weight-editor{grid-column:1/-1}
  .manual-exam-sheet{grid-template-columns:minmax(0,1fr) 40px}
  .manual-exam-sheet>div:first-child,
  .manual-exam-sheet-state{grid-column:1/-1}
  .manual-score-toolbar-actions{justify-content:flex-start}
  .manual-score-table.with-question-plan{display:block;width:100%;min-width:0}
  .manual-score-table.with-question-plan td.manual-score-question-cell{grid-column:auto}
  .manual-score-table.with-question-plan .manual-score-total-cell{grid-column:1/-1}
}

/* Course operational risk workspace */
.course-risk-admin{--risk-navy:#17364D;--risk-soft:#F3F7F6}
.course-risk-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}
.course-risk-page-head h1{margin:.35rem 0 .55rem}
.course-risk-page-head .eyebrow,.course-risk-section-head .eyebrow,.course-risk-form .eyebrow,.course-risk-control-form .eyebrow{display:inline-flex;align-items:center;gap:7px;color:#A33A2B;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.staff-only-badge{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:9px 13px;border:1px solid #A9D8BE;border-radius:999px;background:#EAF7F0;color:#176B3A;font-weight:800}
.course-risk-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:24px;padding:7px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}
.course-risk-tabs-operational{grid-template-columns:repeat(3,minmax(0,1fr))}
.course-risk-tabs button{display:flex;align-items:center;gap:12px;min-height:66px;padding:10px 14px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-secondary);text-align:left}
.course-risk-tabs button>i{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;border-radius:7px;background:color-mix(in srgb,#A33A2B 10%,var(--surface-1));color:#A33A2B;font-size:21px}
.course-risk-tabs button span{display:flex;flex-direction:column;gap:2px;font-weight:800}
.course-risk-tabs button small{color:var(--text-muted);font-size:11px;font-weight:550}
.course-risk-tabs button:hover{border-color:color-mix(in srgb,#A33A2B 25%,var(--border));background:var(--surface-1);color:var(--text-primary)}
.course-risk-tabs button.active{border-color:#A33A2B;background:#A33A2B;color:#fff;box-shadow:0 6px 16px color-mix(in srgb,#A33A2B 24%,transparent)}
.course-risk-tabs button.active>i{background:rgba(255,255,255,.16);color:#fff}
.course-risk-tabs button.active small{color:rgba(255,255,255,.76)}
.course-risk-loading{display:grid;place-items:center;min-height:280px;border:1px dashed var(--border);border-radius:8px;color:var(--text-muted)}
.course-risk-loading i{font-size:34px;animation:spin 1s linear infinite}
.course-risk-application-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:14px;padding:22px;border:1px solid color-mix(in srgb,#2563B8 30%,var(--border));border-radius:8px;background:linear-gradient(110deg,color-mix(in srgb,#2563B8 9%,var(--surface-1)),var(--surface-1) 54%,color-mix(in srgb,#17735A 6%,var(--surface-1)))}
.course-risk-application-hero h2{margin:.35rem 0 .45rem;font-size:25px}
.course-risk-application-hero p{max-width:850px;margin:0;color:var(--text-secondary)}
.course-risk-course-meta{display:flex;flex-wrap:wrap;gap:13px;margin-top:11px;color:var(--text-muted);font-size:11px;font-weight:750}
.course-risk-course-meta span{display:inline-flex;align-items:center;gap:5px}
.course-risk-applied-badge{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:9px 12px;border:1px solid #A9D8BE;border-radius:999px;background:#EAF7F0;color:#176B3A;font-size:11px;font-weight:850}
.course-risk-application-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:9px;margin-bottom:14px;padding:9px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}
.course-risk-flow-step{display:flex;align-items:center;gap:10px;width:100%;min-width:0;padding:10px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text-primary);text-align:left;text-decoration:none}
.course-risk-flow-step:hover{border-color:color-mix(in srgb,#A33A2B 24%,var(--border));background:var(--surface-1);color:var(--text-primary)}
.course-risk-flow-step.active{border-color:color-mix(in srgb,#2563B8 34%,var(--border));background:var(--surface-1);box-shadow:inset 3px 0 #2563B8}
.course-risk-flow-step[role=tab]{cursor:pointer}
.course-risk-flow-step[role=tab]:focus-visible{outline:3px solid color-mix(in srgb,#2563B8 28%,transparent);outline-offset:2px}
.course-risk-flow-step.framework{border-style:dashed}
.course-risk-flow-step>i:first-child{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:6px;background:var(--surface-1);color:#A33A2B;font-size:18px}
.course-risk-flow-step.active>i:first-child{background:#E9F2FF;color:#2563B8}
.course-risk-flow-step>i:last-child:not(:first-child){margin-left:auto;color:var(--text-muted)}
.course-risk-application-flow span{display:flex;min-width:0;flex-direction:column}
.course-risk-application-flow b{font-size:11px}
.course-risk-application-flow small{margin-top:2px;overflow:hidden;color:var(--text-muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.course-risk-application-flow>i{color:var(--text-muted)}
.course-risk-application-panel[hidden]{display:none!important}
.course-risk-panel-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:2px 0 14px;padding:0 2px}
.course-risk-panel-intro h2{margin:3px 0 0;font-size:22px}
.course-risk-panel-intro p{max-width:820px;margin:5px 0 0;color:var(--text-muted)}
.course-risk-panel-intro>span{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:8px 11px;border:1px solid color-mix(in srgb,#2563B8 25%,var(--border));border-radius:999px;background:color-mix(in srgb,#2563B8 7%,var(--surface-1));color:#2563B8;font-size:11px;font-weight:850}
.course-risk-application-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}
.course-risk-application-stats article{display:flex;align-items:baseline;gap:9px;padding:13px 15px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1)}
.course-risk-application-stats strong{font-size:22px;color:#2563B8}
.course-risk-application-stats span{color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}
.course-risk-application-stats article.good strong{color:#17735A}
.course-risk-application-stats article.attention{border-color:#E7C2BA;background:#FDF5F3}
.course-risk-application-stats article.attention strong{color:#A33A2B}
.course-risk-application-grid{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(520px,1.45fr);gap:16px;margin-bottom:16px}
.course-risk-application-grid>*{min-width:0}
.course-risk-objective-list{display:grid;gap:7px}
.course-risk-objective-list>article{display:grid;grid-template-columns:48px minmax(0,1fr) 30px;align-items:start;gap:10px;padding:10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-1)}
.course-risk-objective-list>article.gap,.course-risk-week-grid>article.gap,.course-risk-area-grid>article.gap{border-style:dashed;opacity:.72}
.course-risk-objective-code{display:grid;place-items:center;min-height:38px;border-radius:6px;background:#E9F2FF;color:#2563B8;font-size:11px;font-weight:900}
.course-risk-objective-list>article>div{display:flex;min-width:0;flex-direction:column}
.course-risk-objective-list b{font-size:11px}
.course-risk-objective-list small{margin-top:2px;color:var(--text-muted);font-size:9px;line-height:1.35}
.course-risk-objective-list>article>strong{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--surface-2);font-size:10px}
.course-risk-map-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.course-risk-map-chips button{min-height:22px;padding:2px 6px;border:1px solid color-mix(in srgb,var(--risk-color) 38%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--risk-color) 11%,var(--surface-1));color:color-mix(in srgb,var(--risk-color) 88%,#111);font-size:8px;font-weight:900}
.course-risk-map-chips button:hover{background:var(--risk-color);color:#fff}
.course-risk-no-map{color:var(--text-muted);font-size:8px;font-style:italic}
.course-risk-week-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.course-risk-week-grid>article{min-width:0;padding:9px;border:1px solid color-mix(in srgb,var(--risk-color,var(--border)) 35%,var(--border));border-radius:6px;background:color-mix(in srgb,var(--risk-color,var(--surface-1)) 7%,var(--surface-1))}
.course-risk-week-grid>article>span{display:inline-flex;color:#2563B8;font-size:10px;font-weight:900}
.course-risk-week-grid>article>strong{float:right;color:var(--text-primary);font-size:15px}
.course-risk-week-grid>article>small{display:block;clear:both;margin-top:3px;overflow:hidden;color:var(--text-muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.course-risk-area-map,.course-risk-monitoring-card{margin-bottom:16px}
.course-risk-area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.course-risk-area-grid>article{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;padding:11px;border:1px solid var(--border);border-radius:6px;background:var(--surface-1)}
.course-risk-area-grid>article>i{display:grid;place-items:center;width:38px;height:38px;border-radius:6px;background:#E7F6F1;color:#17735A;font-size:19px}
.course-risk-area-grid>article>div{display:flex;min-width:0;flex-direction:column}
.course-risk-area-grid b{font-size:11px}
.course-risk-area-grid small{margin-top:2px;color:var(--text-muted);font-size:9px}
.course-risk-monitoring-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.course-risk-monitoring-list>article{display:grid;grid-template-columns:10px minmax(0,1fr) 44px;align-items:start;gap:10px;padding:11px;border:1px solid var(--border);border-radius:6px;background:var(--surface-1)}
.course-risk-monitoring-list .course-risk-band-dot{margin-top:5px}
.course-risk-monitoring-list>article>div{display:flex;min-width:0;flex-direction:column}
.course-risk-monitoring-list button{padding:0;border:0;background:transparent;color:var(--text-primary);font-size:11px;font-weight:850;text-align:left}
.course-risk-monitoring-list button:hover{color:#A33A2B}
.course-risk-monitoring-list p{margin:5px 0;color:var(--text-secondary);font-size:10px;line-height:1.4}
.course-risk-monitoring-list small{display:flex;align-items:flex-start;gap:5px;color:var(--text-muted);font-size:8px;line-height:1.35}
.course-risk-monitoring-list>article>strong{display:grid;place-items:center;width:42px;height:42px;border:1px solid color-mix(in srgb,var(--risk-color) 35%,var(--border));border-radius:6px;background:color-mix(in srgb,var(--risk-color) 12%,var(--surface-1));color:color-mix(in srgb,var(--risk-color) 88%,#111);font-size:17px}
.course-risk-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}
.course-risk-stat{display:grid;grid-template-columns:38px auto;grid-template-rows:auto auto;column-gap:10px;padding:14px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1)}
.course-risk-stat i{grid-row:1/-1;align-self:center;display:grid;place-items:center;width:38px;height:38px;border-radius:7px;background:var(--risk-stat-bg);color:var(--risk-stat-color);font-size:20px}
.course-risk-stat strong{font-size:20px;line-height:1;color:var(--text-primary)}
.course-risk-stat span{margin-top:3px;color:var(--text-muted);font-size:11px;font-weight:700;text-transform:uppercase}
.course-risk-stat.blue{--risk-stat-color:#2563B8;--risk-stat-bg:#E9F2FF}
.course-risk-stat.amber{--risk-stat-color:#8A5A00;--risk-stat-bg:#FFF4D6}
.course-risk-stat.red{--risk-stat-color:#A33A2B;--risk-stat-bg:#FBECEA}
.course-risk-stat.violet{--risk-stat-color:#6D4AB0;--risk-stat-bg:#F1EBFA}
.course-risk-stat.green{--risk-stat-color:#17735A;--risk-stat-bg:#E7F6F1}
.course-risk-register-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(270px,.75fr);gap:16px;margin-bottom:16px}
.course-risk-register-grid>*{min-width:0}
.course-risk-map-card,.course-risk-priority-card,.course-risk-list-card,.course-risk-controls-card,.course-risk-method-form{border-radius:7px}
.course-risk-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.course-risk-section-head h2{margin:2px 0 0;font-size:21px}
.course-risk-section-head p{max-width:720px;margin:5px 0 0;color:var(--text-muted)}
.course-risk-boundary{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid #A9D8BE;border-radius:999px;background:#EAF7F0;color:#176B3A;font-size:12px;font-weight:800}
.course-risk-matrix-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;padding-bottom:2px}
.course-risk-matrix{width:100%;min-width:570px;border-collapse:separate;border-spacing:5px;table-layout:fixed}
.course-risk-matrix caption{margin-bottom:5px;color:var(--text-muted);font-size:11px;text-align:left}
.course-risk-matrix caption span{font-weight:800;text-transform:uppercase}
.course-risk-matrix th{height:42px;padding:3px;color:var(--text-muted);font-size:9px;text-align:center;vertical-align:middle}
.course-risk-matrix th b,.course-risk-matrix th span{display:block}
.course-risk-matrix th b{color:var(--text-primary);font-size:12px}
.course-risk-matrix tbody th{width:84px;text-align:right}
.course-risk-matrix-cell{position:relative;height:76px;padding:5px;border:1px solid color-mix(in srgb,var(--risk-color) 38%,var(--border));border-radius:6px;background:color-mix(in srgb,var(--risk-color) 15%,var(--surface-1));text-align:center;vertical-align:top}
.course-risk-matrix-cell>strong{display:block;color:color-mix(in srgb,var(--risk-color) 85%,#111);font-size:16px}
.course-risk-matrix-cell.editable{height:72px;padding:0;vertical-align:middle;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.course-risk-matrix-cell.editable:hover{z-index:1;border-color:color-mix(in srgb,var(--risk-color) 72%,var(--border));box-shadow:0 7px 16px color-mix(in srgb,var(--risk-color) 18%,transparent);transform:translateY(-2px)}
.course-risk-matrix-cell.editable:focus-within{z-index:2;border-color:var(--accent);box-shadow:0 0 0 4px var(--focus-ring),0 8px 18px color-mix(in srgb,var(--risk-color) 18%,transparent)}
.course-risk-matrix-score{display:flex;align-items:center;justify-content:center;flex-direction:column;width:100%;min-width:0;height:70px;margin:0;padding:0;border:0;border-radius:5px;background:transparent;color:color-mix(in srgb,var(--risk-color) 88%,var(--text-primary));line-height:1;text-align:center;cursor:pointer}
.course-risk-matrix-score strong{font-size:20px;font-weight:850}
.course-risk-matrix-score small{margin-top:6px;color:var(--text-muted);font-size:8px;font-weight:750;letter-spacing:.08em}
.course-risk-matrix-score:hover{border:0;background:color-mix(in srgb,var(--risk-color) 7%,transparent);outline:0}
.course-risk-matrix-score:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.course-risk-matrix-score[aria-pressed=true]{background:color-mix(in srgb,var(--risk-color) 11%,var(--surface-1));box-shadow:inset 0 0 0 2px var(--accent)}
.course-risk-matrix-items{display:flex;flex-wrap:wrap;justify-content:center;gap:3px;margin-top:5px}
.course-risk-matrix-items button{min-height:21px;padding:2px 5px;border:1px solid color-mix(in srgb,var(--risk-color) 55%,var(--border));border-radius:4px;background:var(--surface-1);color:var(--text-primary);font-size:8px;font-weight:850}
.course-risk-matrix-items button:hover{background:var(--risk-color);color:#fff}
.course-risk-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:9px;color:var(--text-muted);font-size:10px;font-weight:750}
.course-risk-legend span{display:inline-flex;align-items:center;gap:5px}
.course-risk-legend i,.course-risk-band-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--risk-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--risk-color) 14%,transparent)}
.course-risk-priorities{display:flex;flex-direction:column;gap:7px}
.course-risk-priorities button{display:grid;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;padding:10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-1);color:var(--text-primary);text-align:left}
.course-risk-priorities button:hover{border-color:#A33A2B;background:color-mix(in srgb,#A33A2B 4%,var(--surface-1))}
.course-risk-priorities button span:nth-child(2){display:flex;min-width:0;flex-direction:column}
.course-risk-priorities button b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.course-risk-priorities button small{margin-top:2px;color:var(--text-muted);font-size:10px}
.course-risk-priorities button>strong{font-size:17px}
.course-risk-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 180px 170px;gap:10px;margin:8px 0 14px}
.course-risk-toolbar>label:not(.search-field){display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}
.course-risk-toolbar select{min-width:0;height:42px;flex:1}
.course-risk-toolbar .search-field{position:relative;display:block}
.course-risk-toolbar .search-field i{position:absolute;z-index:1;top:50%;left:13px;transform:translateY(-50%);color:var(--text-muted);font-size:18px}
.course-risk-toolbar .search-field input{height:42px;padding-left:39px}
.course-risk-table{border:1px solid var(--border);border-radius:7px;overflow:hidden}
.course-risk-table-head,.course-risk-row{display:grid;grid-template-columns:minmax(280px,1.35fr) 115px minmax(180px,.85fr) minmax(150px,.7fr) 84px;align-items:center;gap:10px}
.course-risk-table-head{padding:8px 12px;background:var(--surface-2);color:var(--text-muted);font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.course-risk-row{min-height:76px;padding:10px 12px;border-top:1px solid var(--border);background:var(--surface-1)}
.course-risk-row:hover{background:color-mix(in srgb,#A33A2B 3%,var(--surface-1))}
.course-risk-identity{display:flex;align-items:flex-start;gap:11px;min-width:0}
.course-risk-identity .course-risk-band-dot{flex:0 0 10px;margin-top:5px}
.course-risk-identity>div,.course-risk-treatment span,.course-risk-owner{display:flex;min-width:0;flex-direction:column}
.course-risk-identity b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.course-risk-identity span,.course-risk-score span,.course-risk-owner span{margin-top:3px;color:var(--text-muted);font-size:10px}
.course-risk-identity small{display:flex;align-items:center;gap:4px;margin-top:5px;color:#2563B8;font-size:9px;font-weight:750}
.course-risk-identity small.bad{color:#A33A2B}
.course-risk-score strong{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--risk-color) 35%,var(--border));border-radius:6px;background:color-mix(in srgb,var(--risk-color) 14%,var(--surface-1));color:color-mix(in srgb,var(--risk-color) 90%,#111);font-size:16px}
.course-risk-score span{display:block}
.course-risk-treatment{display:flex;align-items:center;gap:8px}
.course-risk-treatment>i{display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;border-radius:6px}
.course-risk-treatment.ok>i{background:#EAF7F0;color:#176B3A}
.course-risk-treatment.attention>i{background:#FBECEA;color:#A33A2B}
.course-risk-treatment b{font-size:11px}
.course-risk-treatment small{margin-top:2px;color:var(--text-muted);font-size:9px}
.course-risk-owner b{font-size:11px}
.course-risk-actions{display:flex;justify-content:flex-end;gap:5px}
.course-risk-actions .icon-btn{width:34px;height:34px}
.course-risk-actions .icon-btn.danger{color:var(--danger-text)}
.course-risk-actions .icon-btn.danger:hover{border-color:var(--danger-text);background:var(--danger-bg)}

.fig-modal-inner:has(.course-risk-form){width:min(1420px,calc(100vw - 32px));max-width:none}
.fig-modal-inner:has(.course-risk-control-form){width:min(850px,calc(100vw - 32px));max-width:none}
.course-risk-form,.course-risk-control-form{padding:24px}
.course-risk-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:0 58px 18px 0;border-bottom:1px solid var(--border)}
.course-risk-form-head h2,.course-risk-control-form h2{margin:.25rem 0 .35rem}
.course-risk-form-head p{margin:0;color:var(--text-muted)}
.course-risk-live-score{display:flex;align-items:center;gap:10px;min-width:146px;padding:9px 12px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2)}
.course-risk-live-score>strong{display:grid;place-items:center;width:48px;height:48px;border-radius:6px;background:color-mix(in srgb,var(--risk-color) 18%,var(--surface-1));color:color-mix(in srgb,var(--risk-color) 90%,#111);font-size:24px}
.course-risk-live-score span{display:flex;flex-direction:column;font-weight:800}
.course-risk-live-score small{margin-top:3px;color:var(--text-muted);font-size:10px}
.course-risk-form-section{padding:20px 0;border-bottom:1px solid var(--border)}
.course-risk-form-section>h3,.course-risk-form-title h3{display:flex;align-items:center;gap:8px;margin:0 0 12px}
.course-risk-form-title{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:12px}
.course-risk-form-title p{margin:3px 0 0;color:var(--text-muted)}
.course-risk-form-title>span{padding:6px 9px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}
.course-risk-fields,.course-risk-control-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.course-risk-fields label,.course-risk-control-fields label,.course-risk-rationale,.course-risk-mitigation-detail label,.course-risk-method-form label{display:flex;flex-direction:column;gap:5px;color:var(--text-secondary);font-size:11px;font-weight:800}
.course-risk-fields .wide,.course-risk-control-fields .wide{grid-column:span 2}
.course-risk-fields input,.course-risk-fields select,.course-risk-fields textarea,.course-risk-control-fields input,.course-risk-control-fields textarea,.course-risk-rating-grid select,.course-risk-mitigation-detail select,.course-risk-mitigation-detail textarea{width:100%}
.course-risk-scope-section{background:linear-gradient(105deg,color-mix(in srgb,#2563B8 4%,var(--surface-1)),var(--surface-1))}
.course-risk-scope-block{margin-top:10px;padding:12px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1)}
.course-risk-scope-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:9px}
.course-risk-scope-head>div{display:flex;min-width:0;flex-direction:column}
.course-risk-scope-head b{font-size:12px}
.course-risk-scope-head small{margin-top:3px;color:var(--text-muted);font-size:9px}
.course-risk-scope-head>span{display:flex;gap:4px}
.course-risk-scope-head button{min-height:27px;padding:4px 8px;border:1px solid var(--border);border-radius:5px;background:var(--surface-2);color:var(--text-secondary);font-size:9px;font-weight:800}
.course-risk-scope-head button:hover{border-color:#2563B8;color:#2563B8}
.course-risk-scope-options{display:grid;gap:7px}
.course-risk-scope-options.objectives{grid-template-columns:repeat(2,minmax(0,1fr))}
.course-risk-scope-options.areas{grid-template-columns:repeat(3,minmax(0,1fr))}
.course-risk-scope-options label{display:flex;align-items:flex-start;gap:8px;min-width:0;padding:9px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);cursor:pointer}
.course-risk-scope-options label:has(input:checked){border-color:color-mix(in srgb,#2563B8 45%,var(--border));background:#F2F7FF;box-shadow:inset 3px 0 #2563B8}
.course-risk-scope-options input{width:17px;height:17px;flex:0 0 17px;margin-top:1px}
.course-risk-scope-options label>i{margin-top:1px;color:#17735A;font-size:18px}
.course-risk-scope-options label>span{display:flex;min-width:0;flex-direction:column}
.course-risk-scope-options b{font-size:10px}
.course-risk-scope-options small{margin-top:2px;color:var(--text-muted);font-size:8px;line-height:1.35}
.course-risk-week-options{display:grid;grid-template-columns:repeat(15,minmax(36px,1fr));gap:5px}
.course-risk-week-options label{position:relative;cursor:pointer}
.course-risk-week-options input{position:absolute;opacity:0;pointer-events:none}
.course-risk-week-options span{display:grid;place-items:center;min-height:34px;border:1px solid var(--border);border-radius:5px;background:var(--surface-2);color:var(--text-muted);font-size:9px;font-weight:850}
.course-risk-week-options input:checked+span{border-color:#2563B8;background:#E9F2FF;color:#2563B8;box-shadow:inset 0 -3px #2563B8}
.course-risk-scope-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.course-risk-scope-notes label{display:flex;flex-direction:column;gap:5px;color:var(--text-secondary);font-size:11px;font-weight:800}
.course-risk-scope-notes textarea{width:100%}
.course-risk-threat-grid{display:grid;grid-template-columns:minmax(250px,.62fr) minmax(0,1.38fr);gap:12px}
.course-risk-threat-grid label{display:flex;flex-direction:column;gap:5px;color:var(--text-secondary);font-size:11px;font-weight:800}
.course-risk-threat-grid input,.course-risk-threat-grid select,.course-risk-threat-grid textarea{width:100%}
.course-risk-scale-stack{display:grid;gap:10px}
.course-risk-scale-field{min-width:0;margin:0;padding:11px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1)}
.course-risk-scale-field legend{display:flex;align-items:baseline;gap:8px;max-width:100%;padding:0 6px}
.course-risk-scale-field legend b{font-size:12px}
.course-risk-scale-field legend small{color:var(--text-muted);font-size:9px;font-weight:500}
.course-risk-scale-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.course-risk-scale-option{position:relative;min-width:0;cursor:pointer}
.course-risk-method-form .course-risk-scale-option{display:block;color:inherit;font-size:inherit;font-weight:inherit}
.course-risk-scale-option>input{position:absolute;width:1px;height:1px;opacity:0}
.course-risk-scale-option>span{display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto;gap:1px 7px;min-height:76px;padding:8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);transition:border-color .16s,background .16s,box-shadow .16s}
.course-risk-scale-option>span>b{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--surface-1);color:var(--accent-text);font-size:13px}
.course-risk-scale-option>span>strong{align-self:end;min-width:0;font-size:9px;text-transform:uppercase}
.course-risk-scale-option>span>small{color:var(--text-muted);font-size:8px;line-height:1.35}
.course-risk-scale-option>input:checked+span{border-color:#2563B8;background:#EFF6FF;box-shadow:inset 0 -3px #2563B8}
.course-risk-scale-option>input:focus-visible+span{outline:3px solid color-mix(in srgb,#2563B8 30%,transparent);outline-offset:2px}
.course-risk-method-note{display:flex;align-items:flex-start;gap:9px;margin-bottom:10px;padding:9px 11px;border:1px solid #B8D4F4;border-radius:6px;background:#F3F8FF;color:#24527E}
.course-risk-method-note>i{margin-top:1px;font-size:18px}
.course-risk-method-note>div{display:flex;flex-direction:column}
.course-risk-method-note b{font-size:10px}
.course-risk-method-note span{margin-top:2px;font-size:9px;line-height:1.4}
.course-risk-review-empty{display:flex;align-items:center;gap:11px;padding:15px;border:1px dashed var(--border);border-radius:7px;background:var(--surface-2)}
.course-risk-review-empty>i{font-size:25px;color:#2563B8}
.course-risk-review-empty>div{display:flex;flex-direction:column}
.course-risk-review-empty small{margin-top:3px;color:var(--text-muted)}
.course-risk-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.course-risk-review-card{padding:11px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1)}
.course-risk-review-card.completed{border-color:#9FD3B7;background:#F4FBF7}
.course-risk-review-card>header{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:9px}
.course-risk-review-card>header>span{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;background:var(--surface-2);color:var(--text-muted);font-size:19px}
.course-risk-review-card.completed>header>span{background:#DDF3E6;color:#176B3A}
.course-risk-review-card>header>div{display:flex;min-width:0;flex-direction:column}
.course-risk-review-card>header b{font-size:11px}
.course-risk-review-card>header small{color:var(--text-muted);font-size:8px}
.course-risk-review-card>header>strong{padding:4px 6px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:8px;text-transform:uppercase}
.course-risk-review-card.completed>header>strong{background:#DDF3E6;color:#176B3A}
.course-risk-review-card>label{display:flex;flex-direction:column;gap:4px;color:var(--text-secondary);font-size:9px;font-weight:800}
.course-risk-review-card textarea{width:100%}
.course-risk-review-card>footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}
.course-risk-review-card>footer small{color:var(--text-muted);font-size:8px}
.course-risk-review-card>footer button{min-height:34px;padding:6px 8px;font-size:9px}
.course-risk-rating-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.course-risk-rating-grid>label{display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:12px;padding:10px 11px;border:1px solid var(--border);border-radius:6px;background:var(--surface-1)}
.course-risk-rating-grid>label>span{display:flex;min-width:0;flex-direction:column}
.course-risk-rating-grid b{font-size:12px}
.course-risk-rating-grid small{margin-top:2px;color:var(--text-muted);font-size:9px;font-weight:500}
.course-risk-rationale{margin-top:10px}
.course-risk-mitigation-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.course-risk-mitigation{border:1px solid var(--border);border-radius:7px;background:var(--surface-1);overflow:hidden}
.course-risk-mitigation.selected{border-color:color-mix(in srgb,#17735A 40%,var(--border));box-shadow:inset 4px 0 #17735A}
.course-risk-mitigation-check{display:flex;align-items:flex-start;gap:9px;padding:11px;cursor:pointer}
.course-risk-mitigation-check input{width:18px;height:18px;flex:0 0 18px;margin-top:1px}
.course-risk-mitigation-check span{display:flex;min-width:0;flex-direction:column}
.course-risk-mitigation-check b{font-size:12px}
.course-risk-mitigation-check small{margin-top:3px;color:var(--text-muted);font-size:9px;line-height:1.4}
.course-risk-mitigation-detail{display:grid;grid-template-columns:160px minmax(0,1fr);gap:9px;padding:11px;border-top:1px solid var(--border);background:var(--surface-2)}
.course-risk-mitigation-detail .wide{grid-column:2}
.course-risk-evidence{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px dashed var(--border)}
.course-risk-evidence>div{display:flex;min-width:0;flex-direction:column;gap:5px}
.course-risk-evidence [data-risk-evidence-list]{display:flex;flex-wrap:wrap;gap:5px}
.course-risk-evidence-item{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:5px;background:var(--surface-1)}
.course-risk-evidence-item a{display:inline-flex;align-items:center;gap:4px;max-width:230px;padding:4px 6px;color:var(--accent-text);font-size:9px;text-decoration:none}
.course-risk-evidence-item a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.course-risk-evidence-item button{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-left:1px solid var(--border);background:transparent;color:var(--danger-text)}
.course-risk-evidence-add{position:relative;flex:0 0 auto;overflow:hidden}
.course-risk-evidence-add input{position:absolute;width:1px;height:1px;opacity:0}
.course-risk-form-actions{position:sticky;bottom:-1px;z-index:3;display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:15px 0 0;background:var(--surface-1)}
.course-risk-form-actions>span{margin-right:auto}

.course-risk-method-grid{display:grid;grid-template-columns:minmax(280px,.62fr) minmax(0,1.38fr);gap:20px}
.course-risk-method-grid>*{min-width:0}
.course-risk-method-grid>section{padding:15px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1)}
.course-risk-method-grid>section>*{min-width:0;max-width:100%}
.course-risk-method-grid h3{margin:0 0 11px}
.course-risk-method-grid>section:first-child>label{margin-bottom:12px}
.course-risk-method-grid label small{color:var(--text-muted);font-size:9px;font-weight:500}
.course-risk-method-form input[type=range]{width:100%;min-width:0;accent-color:var(--accent)}
.course-risk-range-control{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:9px;margin-top:6px}
.course-risk-range-control output,.course-risk-weight-list output,.course-risk-band-editor output,.course-risk-cell-editor output{display:grid;place-items:center;min-width:38px;height:32px;border:1px solid var(--border);border-radius:5px;background:var(--surface-2);color:var(--text-primary);font-size:11px;font-weight:850}
.course-risk-weight-list{display:grid;gap:6px;margin:9px 0 16px;padding:9px;border:1px dashed var(--border);border-radius:6px}
.course-risk-weight-list[hidden]{display:none}
.course-risk-weight-list label{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,1fr) 42px;align-items:center;gap:8px}
.course-risk-weight-list input{min-width:0}
.course-risk-band-editor{display:grid;gap:6px}
.course-risk-band-editor>div{display:grid;grid-template-columns:auto minmax(0,1fr) 42px 48px;align-items:center;gap:6px;padding:7px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2)}
.course-risk-band-editor [data-risk-band-label]{grid-column:1/4;grid-row:1}
.course-risk-band-editor [data-risk-band-color]{grid-column:4;grid-row:1}
.course-risk-band-editor>div>span{grid-column:1;grid-row:2;color:var(--text-muted);font-size:9px;font-weight:750;white-space:nowrap}
.course-risk-band-editor [data-risk-band-max]{grid-column:2/4;grid-row:2;width:100%}
.course-risk-band-editor>div output{grid-column:4;grid-row:2}
.course-risk-band-editor>div input[type=hidden]+output{grid-column:4;grid-row:2}
.course-risk-band-editor input{min-width:0}
.course-risk-band-editor input[type=color]{height:42px;padding:4px}
.course-risk-cell-editor{display:grid;grid-template-columns:minmax(105px,auto) 34px minmax(150px,1fr) 34px 42px;align-items:center;gap:8px;margin-top:11px;padding:10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2)}
.course-risk-cell-editor>div{display:flex;flex-direction:column;gap:2px}
.course-risk-cell-editor>div span{color:var(--text-muted);font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.course-risk-cell-editor>div b{font-size:12px}
.course-risk-cell-editor .icon-btn{width:34px;height:34px}
.course-risk-method-status{min-height:28px;padding-top:10px}
.course-risk-rubric-section{margin-top:20px;padding:16px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1)}
.course-risk-rubric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.course-risk-rubric-card{padding:11px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2)}
.course-risk-rubric-card>header{display:flex;flex-direction:column;padding-bottom:8px;border-bottom:1px solid var(--border)}
.course-risk-rubric-card>header b{font-size:12px}
.course-risk-rubric-card>header small{margin-top:2px;color:var(--text-muted);font-size:9px}
.course-risk-rubric-card ol{display:grid;gap:5px;margin:8px 0 0;padding:0;list-style:none}
.course-risk-rubric-card li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:7px}
.course-risk-rubric-card li>b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--surface-1);color:var(--accent-text);font-size:10px}
.course-risk-rubric-card li>span{display:flex;min-width:0;flex-direction:column}
.course-risk-rubric-card li strong{font-size:9px;text-transform:uppercase}
.course-risk-rubric-card li small{color:var(--text-muted);font-size:8px;line-height:1.35}
.course-risk-control-fields{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}
.course-risk-control-fields .check{grid-column:1/-1;flex-direction:row;align-items:center}
.course-risk-control-fields .check input{width:18px;height:18px}
.course-risk-control-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.course-risk-control-list>article{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:11px;padding:13px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1)}
.course-risk-control-list>article.inactive{opacity:.62}
.course-risk-control-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:7px;background:#EAF7F0;color:#176B3A;font-size:21px}
.course-risk-control-title{display:flex;align-items:center;justify-content:space-between;gap:8px}
.course-risk-control-title span{padding:3px 5px;border-radius:4px;background:var(--surface-2);color:var(--text-muted);font-size:8px;font-weight:850}
.course-risk-control-list p{margin:4px 0;color:var(--text-secondary);font-size:11px}
.course-risk-control-list small{display:flex;align-items:center;gap:4px;color:var(--text-muted);font-size:9px}
.course-risk-framework-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;padding:17px 19px;border:1px solid color-mix(in srgb,#A33A2B 26%,var(--border));border-radius:8px;background:color-mix(in srgb,#A33A2B 5%,var(--surface-1))}
.course-risk-framework-hero>div{display:flex;align-items:center;gap:13px;min-width:0}
.course-risk-framework-hero>div>i{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:7px;background:color-mix(in srgb,#A33A2B 12%,var(--surface-1));color:#A33A2B;font-size:22px}
.course-risk-framework-hero span{display:flex;min-width:0;flex-direction:column;gap:3px}
.course-risk-framework-hero small{color:var(--text-muted)}

@media(max-width:1200px){
  .course-risk-application-grid{grid-template-columns:1fr}
  .course-risk-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .course-risk-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
  .course-risk-register-grid{grid-template-columns:1fr}
  .course-risk-table-head,.course-risk-row{grid-template-columns:minmax(260px,1.2fr) 105px minmax(170px,.8fr) 130px 76px}
  .course-risk-method-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .course-risk-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .course-risk-tabs button{min-height:54px}
  .course-risk-application-flow{grid-template-columns:1fr 1fr}
  .course-risk-application-flow>.framework{grid-column:1/-1}
  .course-risk-application-flow>i{display:none}
  .course-risk-application-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .course-risk-week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .course-risk-monitoring-list{grid-template-columns:1fr}
  .course-risk-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .course-risk-toolbar{grid-template-columns:1fr 1fr}
  .course-risk-toolbar .search-field{grid-column:1/-1}
  .course-risk-table-head{display:none}
  .course-risk-row{grid-template-columns:minmax(0,1fr) 90px 70px}
  .course-risk-identity{grid-column:1/-1}
  .course-risk-treatment{grid-column:1/3}
  .course-risk-owner{display:none}
  .course-risk-rating-grid,.course-risk-mitigation-list,.course-risk-control-list{grid-template-columns:1fr}
  .course-risk-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .course-risk-fields .wide{grid-column:1/-1}
  .course-risk-scope-options.objectives,.course-risk-scope-options.areas{grid-template-columns:1fr}
  .course-risk-week-options{grid-template-columns:repeat(8,minmax(36px,1fr))}
  .course-risk-scope-notes{grid-template-columns:1fr}
  .course-risk-scale-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .course-risk-scale-option:last-child:nth-child(odd){grid-column:1/-1}
  .course-risk-review-grid,.course-risk-rubric-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .course-risk-page-head,.course-risk-section-head,.course-risk-form-head,.course-risk-form-title,.course-risk-application-hero,.course-risk-scope-head,.course-risk-panel-intro{align-items:stretch;flex-direction:column}
  .staff-only-badge,.course-risk-boundary{align-self:flex-start}
  .course-risk-tabs{grid-template-columns:1fr}
  .course-risk-application-flow{grid-template-columns:1fr}
  .course-risk-application-flow>.framework{grid-column:auto}
  .course-risk-framework-hero{align-items:stretch;flex-direction:column}
  .course-risk-framework-hero .btn-accent{align-self:flex-start}
  .course-risk-application-stats,.course-risk-area-grid{grid-template-columns:1fr}
  .course-risk-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .course-risk-week-options{grid-template-columns:repeat(5,minmax(36px,1fr))}
  .course-risk-summary{grid-template-columns:1fr}
  .course-risk-toolbar{grid-template-columns:1fr}
  .course-risk-toolbar .search-field{grid-column:auto}
  .course-risk-row{grid-template-columns:minmax(0,1fr) 70px}
  .course-risk-treatment{grid-column:1/-1}
  .course-risk-actions{grid-column:2;grid-row:2}
  .course-risk-form,.course-risk-control-form{padding:16px}
  .course-risk-form-head{padding-right:40px}
  .course-risk-fields,.course-risk-control-fields{grid-template-columns:1fr}
  .course-risk-fields .wide,.course-risk-control-fields .wide{grid-column:auto}
  .course-risk-threat-grid{grid-template-columns:1fr}
  .course-risk-rating-grid>label{grid-template-columns:1fr}
  .course-risk-scale-options{grid-template-columns:1fr}
  .course-risk-scale-option:last-child:nth-child(odd){grid-column:auto}
  .course-risk-scale-option>span{min-height:62px}
  .course-risk-review-card>footer{align-items:stretch;flex-direction:column}
  .course-risk-review-card>footer button{align-self:flex-start}
  .course-risk-mitigation-detail{grid-template-columns:1fr}
  .course-risk-mitigation-detail .wide{grid-column:auto}
  .course-risk-evidence{align-items:stretch;flex-direction:column}
  .course-risk-evidence-add{align-self:flex-start}
  .course-risk-weight-list label{grid-template-columns:1fr 42px}
  .course-risk-weight-list label>span{grid-column:1/-1}
  .course-risk-band-editor>div{grid-template-columns:auto minmax(0,1fr) 42px 44px}
  .course-risk-cell-editor{grid-template-columns:minmax(95px,auto) 34px minmax(90px,1fr) 34px 42px}
}

.study-diagram-tools:is([data-active-tool="airfoil"],[data-active-tool="trainer"],[data-active-tool="jet"]) .study-diagram-properties label:last-child{max-width:150px}

/* Compact study-diagram properties and emoji picker */
.study-diagram-properties{
  position:relative;
  grid-template-columns:64px 76px minmax(160px,232px) minmax(250px,auto);
  align-items:end;
  gap:7px;
}
.study-diagram-properties label>span{letter-spacing:.04em}
.study-diagram-properties input,
.study-diagram-properties select{
  width:100%;
  height:34px;
  min-width:0;
  padding:4px 8px;
  border:1px solid var(--border-strong);
  border-radius:5px;
  background:var(--surface-1);
  color:var(--text);
  font:700 10px var(--font);
}
.study-diagram-properties select{padding:0 24px 0 8px}
.study-colour-control input[type="color"]{width:64px;padding:3px;cursor:pointer}
.study-text-control{max-width:232px}
.study-emoji-control{
  position:relative;
  display:flex;
  min-width:0;
  align-items:center;
  gap:5px;
  align-self:end;
}
.study-emoji-control[hidden]{display:none!important}
.study-emoji-control details{position:relative;flex:0 0 auto}
.study-emoji-control summary{
  display:inline-flex;
  min-height:34px;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:5px 8px;
  border:1px solid var(--border-strong);
  border-radius:5px;
  background:var(--surface-1);
  color:var(--text-secondary);
  font:700 9px var(--font);
  list-style:none;
  cursor:pointer;
  user-select:none;
}
.study-emoji-control summary::-webkit-details-marker{display:none}
.study-emoji-control summary:hover,
.study-emoji-control details[open] summary{
  border-color:var(--accent);
  background:var(--accent-bg);
  color:var(--accent-text);
}
.study-emoji-control summary i:first-child{font-size:16px}
.study-emoji-control summary i:last-child{font-size:12px}
.study-emoji-popover{
  position:absolute;
  z-index:25;
  right:0;
  bottom:calc(100% + 7px);
  display:grid;
  width:164px;
  grid-template-columns:repeat(4,34px);
  gap:5px;
  padding:8px;
  border:1px solid var(--border-strong);
  border-radius:7px;
  background:var(--surface-1);
  box-shadow:0 14px 36px rgba(5,16,28,.22);
}
.study-emoji-recents{display:flex;min-width:0;align-items:center;gap:4px}
.study-emoji-popover button,
.study-emoji-recents button{
  display:flex;
  width:34px;
  height:34px;
  flex:0 0 34px;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:0;
  border:1px solid var(--border);
  border-radius:5px;
  background:var(--surface-1);
  color:var(--text);
  cursor:pointer;
}
.study-emoji-popover button>span,
.study-emoji-recents button>span{
  display:flex;
  width:1.35em;
  height:1.35em;
  align-items:center;
  justify-content:center;
  overflow:visible;
  font:17px/1 "Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  transform:translateY(-.02em);
}
.study-emoji-popover button:hover,
.study-emoji-popover button.active,
.study-emoji-recents button:hover,
.study-emoji-recents button.active{
  border-color:var(--accent);
  background:var(--accent-bg);
  box-shadow:inset 0 0 0 1px var(--accent);
}

/* The leading grade icon is the picker; no separate icon column is needed. */
.syllabus-component-row{
  grid-template-columns:44px minmax(190px,1.7fr) minmax(160px,1fr) 94px 124px;
}
button.syllabus-component-icon{
  appearance:none;
  align-self:end;
  margin:0;
  padding:0;
  border:1px solid var(--accent-border);
  cursor:pointer;
  transition:border-color .15s ease,background-color .15s ease,color .15s ease,transform .15s ease;
}
button.syllabus-component-icon:hover,
button.syllabus-component-icon:focus-visible{
  border-color:var(--accent);
  background:var(--accent);
  color:#fff;
  outline:0;
  transform:translateY(-1px);
}
.syllabus-grade-inactive{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:-2px 0 12px;
  padding:11px 12px;
  border:1px solid #E0C98C;
  border-radius:7px;
  background:#FFF8E6;
  color:#684C08;
  font-size:11px;
  line-height:1.45;
}
.syllabus-grade-inactive[hidden]{display:none!important}
.syllabus-grade-inactive i{flex:0 0 auto;margin-top:1px;font-size:19px}
.syllabus-grade-editor.is-inactive .syllabus-component-guide,
.syllabus-grade-editor.is-inactive .syllabus-component-list,
.syllabus-grade-editor.is-inactive .syllabus-integrity-note{
  opacity:.48;
}
.syllabus-grade-editor.is-inactive .syllabus-component-list{filter:saturate(.55)}

@media(max-width:1100px){
  .study-diagram-properties{grid-template-columns:64px 76px minmax(150px,220px) minmax(250px,1fr)}
  .syllabus-component-row{grid-template-columns:42px minmax(180px,1fr) minmax(150px,1fr) 90px 124px}
  .syllabus-component-weight{grid-column:4;grid-row:1}
  .syllabus-component-actions{grid-column:5;grid-row:1}
}
@media(max-width:760px){
  .study-diagram-properties{grid-template-columns:64px 76px minmax(130px,1fr)}
  .study-emoji-control{grid-column:1/-1}
  .study-emoji-popover{right:auto;left:0}
  .syllabus-component-row{grid-template-columns:40px minmax(0,1fr) 105px}
  .syllabus-component-name{grid-column:2}
  .syllabus-component-source{grid-column:2/4}
  .syllabus-component-weight{grid-column:3;grid-row:1}
  .syllabus-component-actions{grid-column:2/4;grid-row:auto;justify-content:start}
}
@media(max-width:460px){
  .study-diagram-properties{grid-template-columns:58px 68px minmax(0,1fr)}
  .study-text-control{grid-column:3;max-width:none}
  .study-emoji-control{grid-column:1/-1}
  .study-emoji-control summary span{display:none}
  .study-emoji-control summary{width:34px;padding:0}
  .study-emoji-control summary i:last-child{display:none}
  .syllabus-component-row{grid-template-columns:38px minmax(0,1fr)}
  .syllabus-component-icon{grid-column:1}
  .syllabus-component-name{grid-column:2}
  .syllabus-component-source,
  .syllabus-component-weight,
  .syllabus-component-actions{grid-column:1/-1;grid-row:auto}
  .syllabus-component-actions{grid-template-columns:repeat(3,1fr)}
  .syllabus-component-actions .icon-btn{width:100%}
}

/* --------------------------------------------------------------------------
   Institutional course-management workspace
   -------------------------------------------------------------------------- */
.platform-workspace,
.course-shell{
  width:100%;
  max-width:1560px;
  padding-bottom:32px;
}
.platform-workspace h1,
.course-shell h1{
  letter-spacing:0;
}
.course-shell-tabs{
  display:flex;
  align-items:center;
  gap:3px;
  width:100%;
  margin:0 0 24px;
  padding:4px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface-1);
}
.course-shell-tabs a{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:44px;
  padding:9px 16px;
  border-radius:6px;
  color:var(--text-secondary);
  font-size:14px;
  font-weight:650;
  text-decoration:none;
  white-space:nowrap;
  transition:background .15s ease,color .15s ease,box-shadow .15s ease;
}
.course-shell-head>div:first-child>a{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-right:10px;
}
.course-shell-head>div:first-child>.eyebrow{
  display:inline-flex;
  align-items:center;
}
.course-shell-tabs a:hover{
  color:var(--text-primary);
  background:var(--surface-2);
}
.course-shell-tabs a.active{
  color:#fff;
  background:var(--accent);
  box-shadow:0 2px 7px rgba(0,0,0,.12);
}
.platform-page-head,
.course-shell-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin:4px 0 22px;
  padding:4px 2px 21px;
  border-bottom:1px solid var(--border);
}
.platform-page-head h1,
.course-shell-head h1{
  max-width:920px;
  margin:6px 0 5px;
  font-size:clamp(27px,3vw,42px);
  line-height:1.08;
}
.platform-page-head p,
.course-shell-head p{
  max-width:840px;
  margin:0;
  color:var(--text-secondary);
  line-height:1.55;
}
.platform-head-actions,
.course-shell-head>div:last-child,
.platform-inline-actions,
.platform-row-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.course-shell-head>div:last-child{
  flex:0 0 auto;
}
.platform-page-head.platform-context-head{
  --context-accent:#176bb3;
  --context-accent-2:#59aee9;
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  min-height:142px;
  margin:4px 0 22px;
  padding:20px 22px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--context-accent) 24%,var(--border));
  border-radius:20px;
  background:
    linear-gradient(118deg,color-mix(in srgb,var(--context-accent) 11%,var(--surface)) 0%,color-mix(in srgb,var(--context-accent-2) 7%,var(--surface)) 56%,var(--surface) 100%);
  box-shadow:0 13px 32px color-mix(in srgb,var(--context-accent) 8%,transparent);
}
.platform-context-head[data-context-tone="structure"]{--context-accent:#4056b5;--context-accent-2:#8c7be8}
.platform-context-head[data-context-tone="catalogue"]{--context-accent:#087f7b;--context-accent-2:#42b9a9}
.platform-context-head[data-context-tone="planning"]{--context-accent:#7051ad;--context-accent-2:#a486da}
.platform-context-head[data-context-tone="people"]{--context-accent:#087d91;--context-accent-2:#52b8c5}
.platform-context-head[data-context-tone="settings"]{--context-accent:#6544a5;--context-accent-2:#a170d1}
.platform-context-head[data-context-tone="analytics"]{--context-accent:#087f69;--context-accent-2:#4cbba4}
.platform-context-head[data-context-tone="adoption"]{--context-accent:#075f9f;--context-accent-2:#22a89a}
.platform-context-head[data-context-tone="files"]{--context-accent:#9a6500;--context-accent-2:#e5a62b}
.platform-context-head[data-context-tone="policies"]{--context-accent:#9b3155;--context-accent-2:#d87898}
.platform-context-head[data-context-tone="risk"]{--context-accent:#a43b35;--context-accent-2:#df7f63}
.platform-context-head[data-context-tone="teaching"]{--context-accent:#4e42a8;--context-accent-2:#7589ef}
.platform-context-head[data-context-tone="readiness"]{--context-accent:#7a4bb0;--context-accent-2:#c17ed3}
.platform-context-head[data-context-tone="assessment"]{--context-accent:#7042a6;--context-accent-2:#b87ad8}
.platform-context-head[data-context-tone="operations"]{--context-accent:#126a9f;--context-accent-2:#35b7af}
.platform-context-head[data-context-tone="activities"]{--context-accent:#7952a8;--context-accent-2:#d28bbd}
.platform-context-head[data-context-tone="reflection"]{--context-accent:#8b3f86;--context-accent-2:#d777aa}
.platform-context-head[data-context-tone="communication"]{--context-accent:#b45708;--context-accent-2:#ee9b39}
.platform-context-head[data-context-tone="gradebook"]{--context-accent:#087f77;--context-accent-2:#48b9a5}
.platform-context-head[data-context-tone="attendance"]{--context-accent:#087b72;--context-accent-2:#54bfae}
.platform-context-head[data-context-tone="reports"]{--context-accent:#3860a8;--context-accent-2:#75a0df}
.platform-context-head[data-context-tone="content"]{--context-accent:#6850a4;--context-accent-2:#9f84d7}
.platform-context-head[data-context-tone="authoring"]{--context-accent:#94620b;--context-accent-2:#dda93a}
.platform-context-head[data-context-tone="syllabus"]{--context-accent:#176aa5;--context-accent-2:#60a7d9}
.platform-context-head[data-context-tone="student"]{--context-accent:#126aa8;--context-accent-2:#3db5b1}
.platform-context-head[data-context-tone="strategy"]{--context-accent:#145f88;--context-accent-2:#c28a2a}
.platform-context-head::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:6px;
  background:linear-gradient(180deg,var(--context-accent),var(--context-accent-2));
}
.platform-context-head::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:-76px;
  right:8%;
  width:290px;
  height:190px;
  border:1px dashed color-mix(in srgb,var(--context-accent) 25%,transparent);
  border-radius:50%;
  transform:rotate(-9deg);
}
.platform-context-head>*:not(.platform-context-orbit){position:relative;z-index:1}
.platform-context-main{
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0;
}
.platform-context-icon{
  display:grid;
  flex:0 0 auto;
  place-items:center;
  width:62px;
  height:62px;
  border-radius:18px;
  background:linear-gradient(145deg,var(--context-accent),color-mix(in srgb,var(--context-accent) 68%,var(--context-accent-2)));
  box-shadow:0 10px 24px color-mix(in srgb,var(--context-accent) 24%,transparent);
  color:#fff;
  font-size:30px;
}
.platform-context-copy{min-width:0}
.platform-context-copy>.eyebrow{
  color:var(--context-accent);
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.platform-page-head.platform-context-head .platform-context-copy h1{
  margin:3px 0 4px;
  font-size:clamp(28px,2.25vw,38px)!important;
  line-height:1.06;
  letter-spacing:-.025em;
}
.platform-page-head.platform-context-head .platform-context-copy p{
  max-width:800px;
  margin:0;
  color:var(--text-secondary);
  font-size:clamp(12px,.92vw,14px)!important;
  line-height:1.48;
}
.platform-context-motto{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:9px;
  color:var(--context-accent);
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.platform-context-motto i{font-size:13px}
.platform-context-head>.platform-head-actions{
  align-self:center;
  max-width:360px;
}
.platform-context-head>.platform-head-actions:empty{display:none}
.platform-context-head .btn-ghost{
  background:color-mix(in srgb,var(--surface) 88%,transparent);
}
.platform-context-orbit{
  position:absolute;
  z-index:0;
  display:block;
  border:1px solid color-mix(in srgb,var(--context-accent) 19%,transparent);
  border-radius:50%;
  pointer-events:none;
}
.platform-context-orbit.orbit-one{right:21px;bottom:-72px;width:170px;height:132px}
.platform-context-orbit.orbit-two{right:142px;bottom:-47px;width:108px;height:88px}
.course-shell-head>div:first-child>a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-bottom:12px;
  color:var(--accent-text);
  font-size:13px;
  font-weight:650;
  text-decoration:none;
}
.course-launch-studio{
  width:100%;
  max-width:1560px;
  padding-bottom:42px;
}
.course-launch-draft-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 13px;
  border:1px solid #c99737;
  border-radius:999px;
  color:#75510e;
  background:#fff5dc;
  font-size:13px;
  font-weight:750;
  white-space:nowrap;
}
.course-launch-intro{
  display:grid;
  grid-template-columns:minmax(250px,.72fr) minmax(520px,1.28fr);
  gap:24px;
  align-items:start;
  margin-bottom:20px;
  padding:26px;
  border:1px solid var(--border);
  border-radius:12px;
  background:
    radial-gradient(circle at 95% 8%, color-mix(in srgb,var(--accent) 13%,transparent) 0 96px,transparent 97px),
    var(--surface-1);
}
.course-launch-intro>.eyebrow,
.course-launch-intro>div:first-child>.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--accent-text);
}
.course-launch-intro h2{
  margin:8px 0 8px;
  font-size:clamp(24px,2.3vw,34px);
  line-height:1.12;
}
.course-launch-intro>div:first-child>p{
  max-width:590px;
  margin:0;
  color:var(--text-secondary);
  line-height:1.55;
}
.course-launch-paths{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.course-launch-paths article{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:12px;
  min-width:0;
  padding:18px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface-0);
}
.course-launch-paths article:first-child{
  border-color:color-mix(in srgb,var(--accent) 50%,var(--border));
  box-shadow:inset 0 3px 0 var(--accent);
}
.course-launch-paths article>i{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:10px;
  color:var(--accent-text);
  background:var(--accent-soft);
  font-size:24px;
}
.course-launch-paths article>span{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
}
.course-launch-paths article>span>b{
  font-size:16px;
}
.course-launch-paths article>span>small{
  color:var(--text-secondary);
  font-size:13px;
  line-height:1.45;
}
.course-launch-paths article>button{
  grid-column:1/-1;
  justify-content:center;
  width:100%;
}
#courseLaunchForm{
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--surface-0);
  box-shadow:0 12px 38px rgba(25,42,59,.07);
}
#courseLaunchForm[hidden]{
  display:none;
}
.course-launch-steps{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  border-bottom:1px solid var(--border);
  background:var(--surface-1);
}
.course-launch-steps button{
  position:relative;
  display:grid;
  grid-template-columns:24px 20px minmax(0,1fr);
  gap:7px;
  align-items:center;
  min-width:0;
  min-height:64px;
  padding:12px 13px;
  border:0;
  border-right:1px solid var(--border-soft);
  color:var(--text-secondary);
  background:transparent;
  text-align:left;
  cursor:pointer;
}
.course-launch-steps button:last-child{
  border-right:0;
}
.course-launch-steps button>span{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border:1px solid currentColor;
  border-radius:50%;
  font-size:11px;
  font-weight:800;
}
.course-launch-steps button>i{
  font-size:17px;
}
.course-launch-steps button>b{
  overflow:hidden;
  font-size:12px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.course-launch-steps button:hover{
  color:var(--text-primary);
  background:var(--surface-2);
}
.course-launch-steps button.active{
  color:var(--accent-text);
  background:var(--accent-soft);
  box-shadow:inset 0 -3px 0 var(--accent);
}
.course-launch-steps button.done>span{
  border-color:var(--accent);
  color:#fff;
  background:var(--accent);
}
.course-launch-panels{
  min-height:440px;
  padding:30px;
}
.course-launch-panels>section{
  max-width:1120px;
  margin:0 auto;
}
.course-launch-panels>section[hidden]{
  display:none;
}
.course-launch-panels h2{
  margin:7px 0 6px;
  font-size:clamp(23px,2.3vw,32px);
}
.course-launch-panels>section>p{
  max-width:780px;
  margin:0 0 24px;
  color:var(--text-secondary);
  line-height:1.55;
}
.course-launch-choice{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding:0;
  border:0;
}
.course-launch-choice legend{
  grid-column:1/-1;
  margin-bottom:7px;
  font-size:13px;
  font-weight:750;
}
.course-launch-choice label{
  min-width:0;
}
.course-launch-choice label>input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.course-launch-choice label>span{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:54px;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface-1);
  cursor:pointer;
}
.course-launch-choice label>input:checked+span{
  border-color:var(--accent);
  color:var(--accent-text);
  background:var(--accent-soft);
  box-shadow:inset 0 0 0 1px var(--accent);
}
.course-launch-wide-field{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.course-launch-wide-field>span{
  font-size:13px;
  font-weight:750;
}
.course-launch-wide-field textarea{
  width:100%;
  min-height:285px;
}
.course-launch-experiences{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.course-launch-experience{
  position:relative;
  min-width:0;
}
.course-launch-experience>input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.course-launch-experience>span{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 24px;
  gap:12px;
  align-items:center;
  min-height:82px;
  padding:14px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--surface-1);
  cursor:pointer;
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
.course-launch-experience>span:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--accent) 45%,var(--border));
}
.course-launch-experience>span>i:first-child{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:9px;
  color:var(--accent-text);
  background:var(--surface-2);
  font-size:21px;
}
.course-launch-experience>span>span{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.course-launch-experience b{
  font-size:14px;
}
.course-launch-experience small{
  color:var(--text-secondary);
  font-size:12px;
  line-height:1.4;
}
.course-launch-experience>span>i:last-child{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border:1px solid var(--border);
  border-radius:50%;
  color:transparent;
}
.course-launch-experience>input:checked+span{
  border-color:color-mix(in srgb,var(--accent) 58%,var(--border));
  background:var(--accent-soft);
}
.course-launch-experience>input:checked+span>i:last-child{
  border-color:var(--accent);
  color:#fff;
  background:var(--accent);
}
.course-launch-reassurance,
.course-launch-final-note{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-top:14px;
  padding:14px 16px;
  border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border));
  border-radius:9px;
  background:color-mix(in srgb,var(--accent-soft) 62%,var(--surface-0));
}
.course-launch-reassurance>i,
.course-launch-final-note>i{
  color:var(--accent-text);
  font-size:22px;
}
.course-launch-reassurance>span,
.course-launch-final-note>span{
  display:flex;
  flex-direction:column;
  gap:3px;
  color:var(--text-secondary);
  font-size:13px;
  line-height:1.45;
}
.course-launch-reassurance b,
.course-launch-final-note b{
  color:var(--text-primary);
}
.course-launch-attendance{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(180px,.7fr);
  gap:10px;
  grid-column:1/-1;
  padding:14px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--surface-1);
}
.course-launch-review-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.course-launch-review-grid article{
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-width:0;
  padding:16px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--surface-1);
}
.course-launch-review-grid article>i{
  color:var(--accent-text);
  font-size:23px;
}
.course-launch-review-grid article>span{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.course-launch-review-grid article small{
  color:var(--text-secondary);
  line-height:1.4;
}
.course-launch-actions{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:72px;
  padding:12px 18px;
  border-top:1px solid var(--border);
  background:var(--surface-1);
}
.course-launch-actions button[hidden]{
  display:none;
}
.course-launch-actions>[data-launch-back]{
  margin-right:auto;
}
.course-launch-actions #courseLaunchStatus{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:20px;
  color:var(--text-secondary);
  font-size:13px;
}
.platform-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:0 0 16px;
}
.platform-kpi{
  display:flex;
  align-items:center;
  gap:13px;
  min-width:0;
  padding:17px;
  border:1px solid var(--border);
  border-top:3px solid var(--accent);
  border-radius:8px;
  background:var(--surface-2);
}
.platform-kpi>span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:7px;
  background:var(--accent-bg);
  color:var(--accent-text);
  font-size:22px;
}
.platform-kpi>div{
  min-width:0;
}
.platform-kpi strong,
.platform-kpi b,
.platform-kpi small{
  display:block;
}
.platform-kpi strong{
  color:var(--accent-text);
  font-size:25px;
  line-height:1;
}
.platform-kpi b{
  margin-top:5px;
  font-size:13px;
}
.platform-kpi small{
  margin-top:2px;
  overflow:hidden;
  color:var(--text-muted);
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.platform-split{
  display:grid;
  grid-template-columns:minmax(0,2.15fr) minmax(270px,.85fr);
  gap:16px;
}
.platform-two-column{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:16px;
}
.platform-panel{
  min-width:0;
  margin:0 0 16px;
  padding:20px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface-2);
}
.operations-dashboard{max-width:1480px;margin:0 auto;padding:8px 0 28px}.operations-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 16px;padding:25px 28px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border));border-radius:16px;background:linear-gradient(125deg,color-mix(in srgb,var(--accent) 14%,var(--surface-1)),var(--surface-1) 56%,var(--surface-2));box-shadow:0 13px 32px rgba(18,36,58,.07)}.operations-hero .eyebrow{display:block;margin-bottom:6px;color:var(--accent-text);font-size:11px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.operations-hero h1{margin:0;color:var(--text-primary);font-size:29px;letter-spacing:-.035em}.operations-hero p{max-width:730px;margin:7px 0 0;color:var(--text-secondary);line-height:1.55}.operations-hero-actions{display:flex;flex:0 0 auto;gap:8px}.operations-hero-actions a,.operations-hero-actions button{white-space:nowrap}.operations-section{min-width:0;margin:0 0 16px;padding:20px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}.operations-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.operations-section-head .eyebrow{display:block;margin-bottom:3px;color:var(--accent-text);font-size:10px;font-weight:850;letter-spacing:.065em;text-transform:uppercase}.operations-section-head h2{margin:0;font-size:18px}.operations-section-head>small{max-width:180px;color:var(--text-muted);font-size:11px;line-height:1.35;text-align:right}.operations-metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.operations-dependency-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.operations-metric-card{display:flex;min-width:0;min-height:116px;flex-direction:column;justify-content:center;padding:15px;border:1px solid var(--border);border-top:4px solid var(--border-strong);border-radius:12px;background:var(--surface-1)}.operations-metric-card>span{overflow:hidden;color:var(--text-secondary);font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.operations-metric-card>strong{margin:7px 0 4px;color:var(--text-primary);font-size:25px;letter-spacing:-.035em}.operations-metric-card>small{min-height:27px;color:var(--text-muted);font-size:10px;line-height:1.35}.operations-metric-card.accent{border-top-color:var(--accent)}.operations-metric-card.good{border-top-color:#138b72}.operations-metric-card.attention{border-top-color:#c6870a}.operations-metric-card.danger{border-top-color:#bd613e}.operations-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,.8fr);gap:16px}.operations-dashboard-grid>.operations-section{margin:0}.operations-route-list{display:grid;gap:8px}.operations-route-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface-1)}.operations-route-list code{overflow:hidden;color:var(--accent-text);font:700 11px/1.3 var(--font-mono,monospace);text-overflow:ellipsis;white-space:nowrap}.operations-route-list strong{font-size:15px}.operations-route-list small{color:var(--text-muted);font-size:10px}.operations-metrics-unavailable{display:flex;grid-column:1/-1;align-items:center;gap:11px;padding:17px;border:1px dashed var(--border-strong);border-radius:11px;background:var(--surface-1);color:var(--text-secondary)}.operations-metrics-unavailable i{font-size:26px;color:var(--accent)}.operations-metrics-unavailable strong,.operations-metrics-unavailable span{display:block}.operations-metrics-unavailable span{margin-top:3px;color:var(--text-muted);font-size:12px}.operations-empty-note{margin:0;padding:16px;border:1px dashed var(--border-strong);border-radius:10px;color:var(--text-muted);font-size:12px;text-align:center}.operations-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.operations-health-card{min-width:0;padding:14px;border:1px solid var(--border);border-top:4px solid var(--border-strong);border-radius:12px;background:var(--surface-1)}.operations-health-card header{display:flex;align-items:center;justify-content:space-between;gap:8px}.operations-health-card header>span{overflow:hidden;color:var(--text-secondary);font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.operations-health-card em{padding:3px 6px;border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:9px;font-style:normal;font-weight:850;text-transform:uppercase}.operations-health-card>strong{display:block;margin:10px 0 3px;color:var(--text-primary);font-size:24px;letter-spacing:-.035em}.operations-health-card>small{display:block;min-height:28px;color:var(--text-muted);font-size:10px;line-height:1.35}.operations-sparkline{display:block;width:100%;height:44px;margin-top:8px;overflow:visible}.operations-sparkline path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5}.operations-sparkline-empty{display:flex;align-items:center;height:44px;margin-top:8px;color:var(--text-muted);font-size:10px}.operations-history-note{display:flex;align-items:center;gap:7px;margin:14px 0 0;color:var(--text-muted);font-size:11px}.operations-history-note i{color:var(--accent);font-size:15px}.operations-threshold-list{display:grid;gap:8px}.operations-threshold-row{display:grid;grid-template-columns:142px minmax(0,1fr);align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-1)}.operations-threshold-row>strong{color:var(--text-primary);font-size:11px}.operations-threshold-row>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.operations-threshold-band{display:grid;min-width:0;gap:1px;padding:5px 4px;border:1px solid currentColor;border-radius:6px;color:var(--text-secondary);text-align:center}.operations-threshold-band b{font-size:8.5px;letter-spacing:.03em;text-transform:uppercase}.operations-threshold-band small{overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.operations-alert-list{display:grid;gap:8px}.operations-alert,.operations-alert-clear{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:10px;background:var(--surface-1)}.operations-alert>i,.operations-alert-clear>i{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--surface-2);font-size:17px}.operations-alert b,.operations-alert small,.operations-alert-clear b,.operations-alert-clear small{display:block}.operations-alert b,.operations-alert-clear b{color:var(--text-primary);font-size:12px}.operations-alert small,.operations-alert-clear small{margin-top:2px;color:var(--text-muted);font-size:10.5px}.operations-alert-clear{border-left-color:#138b72}.operations-alert-clear>i{background:var(--success-bg);color:var(--success-text)}.operations-level-green{border-top-color:#138b72;color:#138b72}.operations-level-blue{border-top-color:#2f75c8;color:#2f75c8}.operations-level-amber{border-top-color:#bd8308;color:#bd8308}.operations-level-orange{border-top-color:#c96a19;color:#c96a19}.operations-level-red{border-top-color:#bd4b43;color:#bd4b43}.operations-level-unknown{border-top-color:var(--border-strong);color:var(--text-muted)}.operations-alert.operations-level-green,.operations-alert.operations-level-blue,.operations-alert.operations-level-amber,.operations-alert.operations-level-orange,.operations-alert.operations-level-red{border-left-color:currentColor}.operations-threshold-band.operations-level-green{background:color-mix(in srgb,#138b72 10%,var(--surface-1))}.operations-threshold-band.operations-level-blue{background:color-mix(in srgb,#2f75c8 10%,var(--surface-1))}.operations-threshold-band.operations-level-amber{background:color-mix(in srgb,#bd8308 10%,var(--surface-1))}.operations-threshold-band.operations-level-orange{background:color-mix(in srgb,#c96a19 10%,var(--surface-1))}.operations-threshold-band.operations-level-red{background:color-mix(in srgb,#bd4b43 10%,var(--surface-1))}
.operations-history-section{padding:22px}.operations-history-head{align-items:center}.operations-history-head>div:last-child{display:flex;align-items:flex-end;gap:8px}.operations-history-head>div:last-child>small{max-width:none;white-space:nowrap}.operations-history-controls{display:flex;align-items:center;gap:5px}.operations-history-controls>span{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);font-size:10px;font-weight:800}.operations-history-controls button{min-height:29px;padding:5px 8px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-1);color:var(--text-secondary);font-size:10px;font-weight:800}.operations-history-controls button:hover,.operations-history-controls button:focus-visible{border-color:var(--accent);color:var(--accent-text)}.operations-history-controls button.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface-1));color:var(--accent-text)}.operations-health-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.operations-health-card{display:grid;grid-template-rows:auto auto auto minmax(190px,1fr);min-height:344px;padding:18px}.operations-health-card>strong{margin:12px 0 4px;font-size:29px}.operations-health-card>small{min-height:auto}.operations-chart-frame{display:flex;align-items:stretch;min-height:190px;margin-top:10px}.operations-telemetry-chart{display:block;width:100%;height:clamp(190px,16vw,250px);overflow:visible}.operations-telemetry-chart .operations-chart-y-tick line{stroke:color-mix(in srgb,currentColor 18%,var(--border));stroke-dasharray:3 5}.operations-telemetry-chart .operations-chart-y-tick text,.operations-telemetry-chart .operations-chart-x-tick text{fill:var(--text-muted);font-size:11px;font-weight:700}.operations-telemetry-chart .operations-chart-axis{stroke:color-mix(in srgb,var(--text-primary) 44%,var(--border));stroke-width:1.4}.operations-telemetry-chart .operations-chart-x-tick line{stroke:color-mix(in srgb,var(--text-primary) 44%,var(--border));stroke-width:1.4}.operations-telemetry-chart .operations-chart-axis-title{fill:var(--text-secondary);font-size:11px;font-weight:850;letter-spacing:.04em}.operations-telemetry-chart .operations-chart-area{fill:currentColor;fill-opacity:.08}.operations-telemetry-chart .operations-chart-series{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.4}.operations-telemetry-chart .operations-chart-latest{fill:var(--surface-1);stroke:currentColor;stroke-width:3}.operations-chart-empty{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:190px;border:1px dashed var(--border-strong);border-radius:10px;color:var(--text-muted);font-size:11px}.operations-chart-empty i{color:var(--accent);font-size:21px}.operations-threshold-section .operations-threshold-row{grid-template-columns:190px minmax(0,1fr);padding:11px 12px}.operations-threshold-section .operations-threshold-band{padding:7px 5px}.operations-threshold-section .operations-threshold-band b{font-size:9px}.operations-threshold-section .operations-threshold-band small{font-size:9px}
.operations-signal-groups{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 16px}.operations-signal-groups button{min-height:34px;padding:7px 11px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-1);color:var(--text-secondary);font-size:11px;font-weight:850}.operations-signal-groups button:hover,.operations-signal-groups button:focus-visible{border-color:var(--accent);color:var(--accent-text)}.operations-signal-groups button.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface-1));color:var(--accent-text)}.operations-correlation-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.operations-correlation-card{display:grid;min-width:0;gap:4px;padding:13px;border:1px solid var(--border);border-top:4px solid var(--border-strong);border-radius:11px;background:var(--surface-1)}.operations-correlation-card>span{min-height:29px;color:var(--text-secondary);font-size:10px;font-weight:800;line-height:1.35}.operations-correlation-card>strong{color:var(--text-primary);font-size:25px;letter-spacing:-.035em}.operations-correlation-card>em{font-size:10px;font-style:normal;font-weight:850}.operations-correlation-card>small{min-height:42px;color:var(--text-muted);font-size:9.5px;line-height:1.4}
.operations-info-button{display:inline-grid;flex:0 0 auto;place-items:center;width:30px;min-height:30px;padding:0;border:1px solid var(--border-strong);border-radius:50%;background:var(--surface-1);color:var(--accent-text);cursor:pointer}.operations-info-button:hover,.operations-info-button:focus-visible{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 11%,var(--surface-1));outline:none}.operations-info-button i{font-size:16px}.operations-alert-policy{margin:-2px 0 16px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:12px;background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 7%,var(--surface-1)),var(--surface-1))}.operations-alert-policy header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}.operations-alert-policy .eyebrow{display:block;margin-bottom:2px;color:var(--accent-text);font-size:9.5px;font-weight:850;letter-spacing:.065em;text-transform:uppercase}.operations-alert-policy h3{margin:0;color:var(--text-primary);font-size:15px}.operations-alert-policy p{margin:4px 0 0;color:var(--text-muted);font-size:10.5px;line-height:1.4}.operations-alert-policy .operations-threshold-list{gap:6px}.operations-alert-policy .operations-threshold-row{grid-template-columns:175px minmax(0,1fr);padding:8px 10px}.operations-alert-policy .operations-threshold-band{padding:5px 4px}.operations-health-card{grid-template-rows:auto auto auto minmax(156px,1fr);min-height:298px}.operations-chart-frame{min-height:156px;margin-top:8px}.operations-telemetry-chart{height:clamp(156px,11vw,184px)}.operations-chart-empty{min-height:156px}
.operations-alert-policy footer{display:flex;justify-content:flex-end;margin-top:10px}
.operations-health-card{grid-template-rows:auto auto auto auto minmax(156px,1fr);min-height:326px}.operations-trend-analysis{display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;margin-top:7px;color:var(--text-muted);font-size:9.5px;line-height:1.35}.operations-trend-analysis>span{display:inline-flex;align-items:center;gap:4px}.operations-trend-analysis b{color:var(--text-secondary);font-weight:800}.operations-trend-safety{font-weight:850}.operations-trend-safety i{font-size:13px}.operations-trend-level{padding:2px 5px;border:1px solid currentColor;border-radius:999px;background:var(--surface-2);font-size:8.5px;font-style:normal;font-weight:850;text-transform:uppercase}.operations-chart-band{fill:currentColor;fill-opacity:.055}.operations-chart-threshold line{stroke:currentColor;stroke-width:1;stroke-dasharray:4 4;opacity:.72}
@container app-content (max-width:1200px){.operations-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.operations-dependency-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.operations-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container app-content (max-width:1200px){.operations-correlation-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container app-content (max-width:780px){.operations-hero{align-items:flex-start;flex-direction:column}.operations-dashboard-grid{grid-template-columns:1fr}.operations-dashboard-grid>.operations-section{margin-bottom:16px}.operations-metric-grid,.operations-dependency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-history-head{align-items:flex-start}.operations-history-head>div:last-child{align-items:flex-start;flex-direction:column}.operations-correlation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-threshold-row,.operations-threshold-section .operations-threshold-row{grid-template-columns:1fr}.operations-threshold-row>div{max-width:520px}}
@container app-content (max-width:500px){.operations-hero{padding:20px}.operations-hero-actions{width:100%;flex-direction:column}.operations-hero-actions a,.operations-hero-actions button{width:100%;justify-content:center}.operations-section{padding:15px}.operations-section-head{align-items:flex-start;flex-direction:column;gap:5px}.operations-section-head>small{max-width:none;text-align:left}.operations-history-section{padding:15px}.operations-history-controls{flex-wrap:wrap}.operations-metric-grid,.operations-dependency-grid,.operations-health-grid,.operations-correlation-grid{grid-template-columns:1fr}.operations-health-card{min-height:304px;padding:15px}.operations-chart-frame,.operations-chart-empty{min-height:148px}.operations-telemetry-chart{height:148px}.operations-alert-policy .operations-threshold-row{grid-template-columns:1fr}.operations-threshold-row>div{grid-template-columns:1fr}.operations-threshold-band{grid-template-columns:72px 1fr;align-items:center;text-align:left}.operations-threshold-band small{text-align:right}}
.platform-split>.platform-panel,
.platform-two-column>.platform-panel{
  margin-bottom:0;
}
.platform-panel-wide{
  min-width:0;
}
.platform-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:17px;
}
.platform-section-head h2{
  margin:3px 0 0;
  font-size:20px;
  line-height:1.25;
}
.platform-section-head p{
  margin:5px 0 0;
  color:var(--text-secondary);
  font-size:13px;
}
.platform-dashboard-delivery{
  width:100%;
}
.platform-dashboard-delivery-toolbar{
  display:grid;
  grid-template-columns:minmax(250px,1.45fr) minmax(170px,1fr) minmax(170px,1fr) minmax(160px,.9fr) minmax(145px,.75fr) auto auto auto;
  align-items:end;
  gap:8px;
  margin-bottom:14px;
  padding:11px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-1);
}
.platform-dashboard-delivery-toolbar>label:not(.platform-search){
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:5px;
  color:var(--text-secondary);
  font-size:9px;
  font-weight:700;
}
.platform-dashboard-delivery-toolbar select{
  width:100%;
  min-height:40px;
  padding:8px 9px;
  border:1px solid var(--border-strong);
  border-radius:7px;
  background:var(--surface-2);
  color:var(--text-primary);
  font:inherit;
  font-size:10px;
}
.platform-dashboard-delivery-toolbar select:disabled{
  color:var(--text-muted);
  cursor:not-allowed;
  opacity:.72;
}
.platform-dashboard-delivery-search{
  width:100%;
}
.platform-dashboard-delivery-toolbar .platform-sort-direction,
.platform-dashboard-delivery-toolbar .platform-filter-reset{
  min-height:40px;
}
.platform-dashboard-density{
  min-height:40px;
}
.platform-dashboard-density button{
  min-height:32px;
  padding-inline:8px;
}
.platform-offering-table.platform-dashboard-offering-table{
  min-width:820px;
}
.platform-offering-table.platform-dashboard-offering-table th:nth-child(1),
.platform-offering-table.platform-dashboard-offering-table td:nth-child(1){width:17%}
.platform-offering-table.platform-dashboard-offering-table th:nth-child(2),
.platform-offering-table.platform-dashboard-offering-table td:nth-child(2){width:21%}
.platform-offering-table.platform-dashboard-offering-table th:nth-child(3),
.platform-offering-table.platform-dashboard-offering-table td:nth-child(3){width:6%}
.platform-offering-table.platform-dashboard-offering-table th:nth-child(4),
.platform-offering-table.platform-dashboard-offering-table td:nth-child(4){width:10%}
.platform-offering-table.platform-dashboard-offering-table th:nth-child(5),
.platform-offering-table.platform-dashboard-offering-table td:nth-child(5){width:22%}
.platform-offering-table.platform-dashboard-offering-table th:nth-child(6),
.platform-offering-table.platform-dashboard-offering-table td:nth-child(6){width:8%}
.platform-offering-table.platform-dashboard-offering-table th:nth-child(7),
.platform-offering-table.platform-dashboard-offering-table td:nth-child(7){width:16%}
.platform-dashboard-delivery[data-density="compact"] .platform-dashboard-offering-table th{
  padding:7px 9px;
  font-size:9px;
}
.platform-dashboard-delivery[data-density="compact"] .platform-dashboard-offering-table td{
  padding:7px 9px;
  font-size:10px;
}
.platform-dashboard-delivery[data-density="compact"] .platform-dashboard-offering-table td strong{
  font-size:11px;
}
.platform-dashboard-delivery[data-density="compact"] .platform-dashboard-offering-table td small,
.platform-dashboard-delivery[data-density="compact"] .platform-person small{
  font-size:8px;
}
.platform-dashboard-delivery[data-density="compact"] .platform-person{
  grid-template-columns:16px auto;
  padding:3px 5px;
}
.platform-dashboard-delivery[data-density="compact"] .platform-person i{
  font-size:14px;
}
.platform-dashboard-delivery[data-density="compact"] .platform-status{
  padding:4px 7px;
  font-size:9px;
}
@container app-content (max-width:1450px){
  .platform-dashboard-delivery-toolbar{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .platform-dashboard-delivery-search{
    grid-column:1/-1;
  }
}
@container app-content (max-width:850px){
  .platform-dashboard-delivery-toolbar{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@container app-content (max-width:560px){
  .platform-dashboard-delivery-toolbar{
    grid-template-columns:1fr;
  }
  .platform-dashboard-delivery-toolbar>*{
    width:100%;
  }
  .platform-dashboard-density{
    justify-content:stretch;
  }
  .platform-dashboard-density button{
    flex:1;
  }
}
.platform-table-wrap{
  width:100%;
  max-width:100%;
  overflow:auto;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-2);
}
.platform-table{
  width:100%;
  min-width:840px;
  border:0;
  border-collapse:collapse;
  table-layout:auto;
}
.platform-offering-table{
  min-width:1040px;
  table-layout:fixed;
}
.platform-offering-table th:nth-child(2),
.platform-offering-table td:nth-child(2){width:150px}
.platform-offering-table th:nth-child(3),
.platform-offering-table td:nth-child(3){width:82px}
.platform-offering-table th:nth-child(4),
.platform-offering-table td:nth-child(4){width:150px}
.platform-offering-table th:nth-child(5),
.platform-offering-table td:nth-child(5){width:260px}
.platform-offering-table th:nth-child(6),
.platform-offering-table td:nth-child(6){width:105px}
.platform-offering-table th:nth-child(7),
.platform-offering-table td:nth-child(7){width:130px}
.platform-offering-table .platform-row-actions{
  flex-wrap:nowrap;
}
.platform-table th{
  padding:10px 12px;
  border:0;
  border-bottom:1px solid var(--border-strong);
  background:var(--surface-1);
  color:var(--text-muted);
  font-size:10px;
  font-weight:750;
  letter-spacing:.08em;
  text-align:left;
  text-transform:uppercase;
  white-space:nowrap;
}
.platform-table td{
  padding:12px;
  border:0;
  border-bottom:1px solid var(--border);
  color:var(--text-secondary);
  font-size:12px;
  vertical-align:middle;
}
.platform-table tbody tr:last-child td{
  border-bottom:0;
}
.platform-table tbody tr:hover td{
  background:color-mix(in srgb,var(--accent-bg) 35%,var(--surface-2));
}
.platform-table td strong,
.platform-table td>span,
.platform-table td>small{
  display:block;
}
.platform-table td strong{
  color:var(--text-primary);
  font-size:13px;
}
.platform-table td small{
  margin-top:3px;
  color:var(--text-muted);
  line-height:1.35;
}
.platform-course-table td:first-child{
  min-width:230px;
}
.platform-hours{
  display:flex!important;
  align-items:baseline;
  gap:6px;
}
.platform-hours b{
  color:var(--text-primary);
  font-size:16px;
}
.platform-hours small{
  margin:0!important;
}
.platform-people{
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
}
.platform-person{
  display:inline-grid;
  grid-template-columns:20px auto;
  gap:0 5px;
  align-items:center;
  padding:4px 7px;
  border-radius:5px;
  background:var(--surface-1);
  color:var(--text-primary);
  line-height:1.15;
}
.platform-person i{
  grid-row:1/3;
  color:var(--accent-text);
  font-size:17px;
}
.platform-person small{
  color:var(--text-muted);
  font-size:9px;
}
.platform-status{
  display:inline-flex;
  align-items:center;
  padding:5px 8px;
  border-radius:999px;
  background:var(--surface-1);
  color:var(--text-secondary);
  font-size:10px;
  font-weight:750;
  text-transform:uppercase;
}
.platform-status-active,
.platform-status-current{
  background:var(--success-bg);
  color:var(--success-text);
}
.platform-status-draft{
  background:var(--warning-bg);
  color:var(--warning-text);
}
.platform-status-archived{
  color:var(--text-muted);
}
.platform-search{
  position:relative;
  display:block;
  width:min(330px,100%);
}
.platform-search i{
  position:absolute;
  z-index:1;
  top:50%;
  left:11px;
  color:var(--text-muted);
  transform:translateY(-50%);
  pointer-events:none;
}
.platform-search input{
  width:100%;
  min-height:40px;
  padding:8px 12px 8px 36px;
  border:1px solid var(--border-strong);
  border-radius:7px;
  background:var(--surface-1);
  color:var(--text-primary);
  font:inherit;
}
.platform-course-directory-toolbar{
  display:grid;
  grid-template-columns:minmax(260px,1.65fr) minmax(190px,1fr) minmax(190px,1fr) minmax(135px,.68fr) auto auto;
  align-items:end;
  gap:8px;
  margin-bottom:14px;
  padding:11px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-2);
}
.platform-course-directory-toolbar>label:not(.platform-search){
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:5px;
  color:var(--text-secondary);
  font-size:9px;
  font-weight:700;
}
.platform-course-directory-toolbar select{
  width:100%;
  min-height:40px;
  padding:8px 9px;
  border:1px solid var(--border-strong);
  border-radius:7px;
  background:var(--surface-1);
  color:var(--text-primary);
  font:inherit;
  font-size:10px;
}
.platform-course-directory-toolbar select:disabled{
  color:var(--text-muted);
  cursor:not-allowed;
  opacity:.72;
}
.platform-course-directory-search{
  width:100%;
}
.platform-course-directory-toolbar .platform-sort-direction,
.platform-course-directory-toolbar .platform-filter-reset{
  min-height:40px;
}
@container app-content (max-width:1100px){
  .platform-course-directory-toolbar{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .platform-course-directory-search{
    grid-column:1/-1;
  }
}
.platform-hierarchy{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.platform-hierarchy>article{
  padding:0;
  border:1px solid var(--border);
  border-radius:8px;
  overflow:hidden;
}
.platform-hierarchy>article>header{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:14px 16px;
  background:var(--accent-bg);
}
.platform-hierarchy>article>header>span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:7px;
  background:var(--surface-2);
  color:var(--accent-text);
  font-size:20px;
}
.platform-hierarchy strong,
.platform-hierarchy small{
  display:block;
}
.platform-hierarchy small{
  margin-top:2px;
  color:var(--text-secondary);
  font-size:11px;
}
.platform-faculties{
  padding:8px 16px 16px;
}
.platform-faculties>section{
  padding:13px 0;
  border-bottom:1px solid var(--border);
}
.platform-faculties>section:last-child{
  padding-bottom:0;
  border-bottom:0;
}
.platform-structure-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.platform-structure-open,
.platform-structure-static{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:7px 9px;
  border:1px solid transparent;
  border-radius:6px;
  background:transparent;
  color:var(--text-primary);
  text-align:left;
}
.platform-structure-open{
  cursor:pointer;
}
.platform-structure-open:hover,
.platform-structure-open:focus-visible{
  border-color:var(--accent-border);
  background:var(--accent-bg);
  color:var(--accent-text);
  outline:0;
}
.platform-structure-open>span,
.platform-structure-static>span{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.platform-structure-title i{
  color:var(--accent-text);
}
.platform-structure-links{
  display:flex;
  align-items:center;
  flex:0 0 auto;
}
.platform-unit-type{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 7px;
  border:1px solid var(--accent-border);
  border-radius:999px;
  background:var(--accent-bg);
  color:var(--accent-text);
  font-size:9px;
  font-style:normal;
  font-weight:750;
  letter-spacing:.05em;
  line-height:1;
  text-transform:uppercase;
}
.platform-passive-badge{
  color:var(--text-muted);
  font-size:9px;
  font-style:normal;
  font-weight:750;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.platform-official-link{
  display:inline-flex;
  align-items:center;
  gap:4px;
  color:var(--text-muted);
  font-size:10px;
  font-weight:650;
  text-decoration:none;
}
.platform-official-link:hover{
  color:var(--accent-text);
  text-decoration:underline;
}
.platform-official-link i{
  font-size:12px;
}
.platform-departments{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:9px;
}
.platform-department-card{
  display:inline-flex;
  flex:1 1 430px;
  align-items:center;
  gap:6px;
  min-height:31px;
  padding:8px 10px;
  border:1px solid var(--border);
  border-radius:5px;
  background:var(--surface-1);
  color:var(--text-secondary);
  font-size:11px;
  text-align:left;
}
.platform-departments>button.platform-department-card{
  cursor:pointer;
}
.platform-departments>button.platform-department-card:hover,
.platform-departments>button.platform-department-card:focus-visible{
  border-color:var(--accent-border);
  background:var(--accent-bg);
  color:var(--accent-text);
  outline:0;
}
.platform-department-card small{
  margin-left:3px;
  color:var(--text-muted);
}
.platform-department-card .platform-unit-type{
  min-height:19px;
  padding:2px 6px;
  font-size:8px;
}
.platform-term-list,
.platform-template-list,
.platform-assignment-list{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.platform-term-list>article,
.platform-term-list>button,
.platform-template-list>article,
.platform-assignment-list>label{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:52px;
  padding:10px 11px;
  border:1px solid var(--border);
  border-radius:6px;
  background:var(--surface-1);
}
.platform-assignment-list>label{
  grid-template-columns:20px minmax(0,1fr) minmax(150px,auto);
}
.platform-assignment-list>label>input{
  width:18px;
  height:18px;
}
.platform-assignment-list>label>span{
  display:flex;
  min-width:0;
  flex-direction:column;
}
.platform-assignment-list>label select{
  min-height:36px;
  padding:6px 9px;
  border:1px solid var(--border-strong);
  border-radius:6px;
  background:var(--surface-2);
  color:var(--text-primary);
  font:inherit;
}
.platform-term-list>button{
  width:100%;
  color:var(--text-primary);
  text-align:left;
}
.platform-term-list>button>span{
  display:flex;
  align-items:center;
  gap:7px;
}
.platform-term-list>button:hover{
  border-color:var(--accent-border);
  background:var(--accent-bg);
}
.platform-term-list strong,
.platform-template-list strong,
.platform-term-list small,
.platform-template-list small{
  display:block;
}
.platform-term-list small,
.platform-template-list small{
  margin-top:2px;
  color:var(--text-muted);
  font-size:10px;
}
.platform-planning-scope{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:12px;
}
.platform-planning-scope-intro{
  display:flex;
  min-width:280px;
  align-items:center;
  gap:13px;
}
.platform-planning-scope-intro>span{
  display:grid;
  width:44px;
  height:44px;
  flex:0 0 44px;
  place-items:center;
  border-radius:8px;
  background:var(--accent-bg);
  color:var(--accent-text);
  font-size:22px;
}
.platform-planning-scope-intro h2{
  margin:2px 0 3px;
  font-size:18px;
}
.platform-planning-scope-intro p{
  margin:0;
  color:var(--text-muted);
  font-size:11px;
}
.platform-planning-scope-fields{
  display:grid;
  min-width:min(720px,60vw);
  grid-template-columns:minmax(220px,1fr) 24px minmax(220px,1fr);
  align-items:end;
  gap:10px;
}
.platform-planning-scope-fields>i{
  align-self:center;
  color:var(--text-muted);
  text-align:center;
}
.platform-planning-scope-fields label{
  display:grid;
  gap:6px;
  color:var(--text-secondary);
  font-size:10px;
  font-weight:750;
}
.platform-planning-scope-fields select{
  width:100%;
  min-height:42px;
  padding:0 36px 0 11px;
  border:1px solid var(--border-strong);
  border-radius:6px;
  background:var(--surface-1);
  color:var(--text-primary);
  font:inherit;
  font-size:12px;
}
.platform-planning-context{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
  padding:11px 15px;
  border:1px solid var(--accent-border);
  border-radius:7px;
  background:var(--accent-bg);
  color:var(--accent-text);
}
.platform-planning-context>div,
.platform-planning-context>div>span,
.platform-planning-context>div>strong{
  display:flex;
  align-items:center;
  gap:7px;
}
.platform-planning-context>div>i{opacity:.65}
.platform-planning-context p{
  margin:0;
  color:var(--text-secondary);
  font-size:11px;
}
.platform-planner{
  display:grid;
  grid-template-columns:repeat(4,minmax(230px,1fr));
  gap:12px;
}
.platform-planner>article{
  display:flex;
  min-height:270px;
  flex-direction:column;
  border:1px solid var(--border);
  border-top:3px solid var(--border-strong);
  border-radius:8px;
  background:var(--surface-2);
  overflow:hidden;
}
.platform-planner>article.current{
  border-top-color:var(--accent);
  box-shadow:0 7px 22px rgba(0,0,0,.07);
}
.platform-planner>article>header{
  position:relative;
  padding:16px;
  border-bottom:1px solid var(--border);
}
.platform-planner>article>header span{
  color:var(--text-muted);
  font-size:10px;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.platform-planner>article>header h2{
  margin:4px 0 0;
  font-size:17px;
}
.platform-planner>article>header em{
  position:absolute;
  top:14px;
  right:13px;
  padding:4px 6px;
  border-radius:999px;
  background:var(--accent-bg);
  color:var(--accent-text);
  font-size:9px;
  font-style:normal;
  font-weight:750;
  text-transform:uppercase;
}
.platform-semester-metrics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  border-bottom:1px solid var(--border);
  background:var(--border);
}
.platform-semester-metrics span{
  padding:10px 5px;
  background:var(--surface-1);
  color:var(--text-muted);
  font-size:9px;
  text-align:center;
}
.platform-semester-metrics b{
  display:block;
  color:var(--text-primary);
  font-size:15px;
}
.platform-semester-courses{
  display:flex;
  flex:1;
  flex-direction:column;
  gap:1px;
  padding:8px;
}
.platform-semester-courses>a,
.platform-semester-courses>span{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:7px 8px;
  border-radius:5px;
  color:var(--text-primary);
  font-size:11px;
  text-decoration:none;
}
.platform-semester-courses>a:hover{
  background:var(--accent-bg);
  color:var(--accent-text);
}
.platform-semester-courses small{
  color:var(--text-muted);
}
.platform-staff-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(300px,1fr));
  gap:10px;
}
.platform-staff-grid>article{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:10px;
  padding:14px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-1);
}
.platform-person-viewable{
  cursor:pointer;
}
.platform-person-viewable:hover,
.platform-person-viewable:focus-visible{
  border-color:var(--accent-border)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 14%,transparent);
  outline:0;
}
.platform-staff-grid>.platform-empty{grid-column:1/-1}
.platform-staff-grid>article>header{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 34px;
  align-items:center;
  gap:11px;
}
.platform-avatar{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:var(--accent);
  color:#fff;
  font-weight:750;
}
.platform-staff-grid strong,
.platform-staff-grid a,
.platform-staff-grid .platform-person-email,
.platform-staff-grid small{
  display:block;
  min-width:0;
}
.platform-staff-grid a,
.platform-person-email{
  overflow:hidden;
  color:var(--accent-text);
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.platform-staff-grid small{
  color:var(--text-muted);
  font-size:10px;
}
.platform-role-tags{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
}
.platform-role-tags span{
  padding:3px 6px;
  border-radius:999px;
  background:var(--accent-bg);
  color:var(--accent-text);
  font-size:9px;
  font-weight:700;
}
.platform-person-status{
  display:inline-flex;
  align-items:center;
  padding:3px 6px;
  border-radius:999px;
  font-size:9px;
  font-weight:750;
}
.platform-person-status.active{background:var(--success-bg);color:var(--success-text)}
.platform-person-status.passive{background:var(--warning-bg);color:var(--warning-text)}
.platform-person-status.disabled{background:var(--danger-bg);color:var(--danger-text)}
.platform-person-units{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:5px;
  padding:9px;
  border-radius:6px;
  background:var(--surface-2);
}
.platform-person-units span,
.platform-staff-grid>article>footer span{
  display:flex;
  align-items:flex-start;
  gap:6px;
  min-width:0;
  color:var(--text-secondary);
  font-size:10px;
  line-height:1.35;
}
.platform-person-units i,
.platform-staff-grid>article>footer i{
  flex:0 0 auto;
  margin-top:1px;
  color:var(--accent-text);
}
.platform-staff-grid>article>footer{
  display:flex;
  justify-content:space-between;
  gap:8px;
  margin-top:auto;
  padding-top:9px;
  border-top:1px solid var(--border);
}
.platform-directory-panel{
  min-width:0;
}
.platform-directory-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}
.platform-directory-heading h2{
  margin:3px 0 0;
}
.platform-directory-primary-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.platform-directory-primary-controls .platform-search{
  width:min(420px,38vw);
}
.platform-view-switch{
  display:inline-flex;
  align-items:center;
  gap:3px;
  padding:3px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-2);
}
.platform-view-switch button,
.platform-sort-direction,
.platform-pagination button{
  display:inline-flex;
  min-height:36px;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:7px 10px;
  border:1px solid transparent;
  border-radius:5px;
  background:transparent;
  color:var(--text-secondary);
  font:inherit;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
}
.platform-view-switch button:hover,
.platform-view-switch button:focus-visible,
.platform-view-switch button.active{
  border-color:var(--accent-border);
  background:var(--accent-bg);
  color:var(--accent-text);
  outline:0;
}
.platform-directory-filters{
  display:grid;
  grid-template-columns:minmax(180px,1.35fr) minmax(130px,.8fr) minmax(130px,.8fr) minmax(120px,.65fr) auto auto;
  align-items:end;
  gap:8px;
  margin-bottom:14px;
  padding:11px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-2);
}
.platform-directory-filters label{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:5px;
  color:var(--text-secondary);
  font-size:9px;
  font-weight:700;
}
.platform-directory-filters select,
.platform-page-size select,
.platform-page-size input,
.platform-pagination input{
  width:100%;
  min-height:36px;
  padding:7px 9px;
  border:1px solid var(--border-strong);
  border-radius:6px;
  background:var(--surface-1);
  color:var(--text-primary);
  font:inherit;
  font-size:10px;
}
.platform-sort-direction{
  min-width:66px;
  border-color:var(--border-strong);
  background:var(--surface-1);
}
.platform-filter-reset{
  min-height:36px;
  padding:7px 11px;
}
.platform-staff-list{
  min-width:0;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-1);
  overflow-x:auto;
}
.platform-staff-list-head,
.platform-staff-list>article{
  display:grid;
  grid-template-columns:minmax(230px,1.25fr) minmax(180px,.9fr) minmax(250px,1.3fr) minmax(210px,1fr) 36px;
  align-items:center;
  gap:12px;
  min-width:950px;
}
.platform-staff-list-head{
  padding:9px 12px;
  border-bottom:1px solid var(--border);
  background:var(--surface-2);
  color:var(--text-muted);
  font-size:9px;
  font-weight:750;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.platform-staff-list>article{
  padding:11px 12px;
  border-bottom:1px solid var(--border);
}
.platform-staff-list>article:last-child{
  border-bottom:0;
}
.platform-staff-list>article:hover{
  background:var(--accent-bg);
}
.platform-staff-list>.platform-empty{
  min-width:0;
}
.platform-list-person{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-width:0;
}
.platform-list-person>span:last-child{
  min-width:0;
}
.platform-list-person strong,
.platform-list-person a,
.platform-list-person .platform-person-email{
  display:block;
  overflow:hidden;
  min-width:0;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.platform-list-person a{
  margin-top:2px;
  color:var(--accent-text);
  font-size:10px;
}
.platform-list-affiliations{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:4px;
}
.platform-list-affiliations span{
  display:flex;
  align-items:flex-start;
  gap:5px;
  color:var(--text-secondary);
  font-size:9px;
  line-height:1.35;
}
.platform-list-affiliations i{
  flex:0 0 auto;
  color:var(--accent-text);
}
.platform-list-profile{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:3px;
  color:var(--text-secondary);
  font-size:10px;
}
.platform-list-profile small{
  color:var(--text-muted);
  font-size:9px;
}
.platform-directory-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:48px;
  margin-top:12px;
  color:var(--text-muted);
  font-size:10px;
}
.platform-page-size,
.platform-pagination{
  display:flex;
  align-items:center;
  gap:6px;
}
.platform-page-size{
  margin-left:auto;
}
.platform-page-size select{
  width:82px;
}
.platform-page-size input{
  width:88px;
}
.platform-pagination button{
  width:34px;
  min-height:34px;
  padding:6px;
  border-color:var(--border-strong);
  background:var(--surface-1);
}
.platform-pagination button:hover:not(:disabled){
  border-color:var(--accent-border);
  background:var(--accent-bg);
  color:var(--accent-text);
}
.platform-pagination button:disabled{
  cursor:not-allowed;
  opacity:.4;
}
.platform-pagination label{
  display:flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
}
.platform-pagination input{
  width:58px;
  min-height:34px;
  text-align:center;
}
.platform-loading,
.platform-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:310px;
  flex-direction:column;
  gap:10px;
  color:var(--text-secondary);
  text-align:center;
}
.platform-loading{
  flex-direction:row;
}
.platform-loading>i{
  color:var(--accent);
  font-size:25px;
  animation:platform-spin 1s linear infinite;
}
.platform-loading strong,
.platform-loading span{
  display:block;
}
.platform-loading span{
  margin-top:2px;
  color:var(--text-muted);
  font-size:11px;
}
.platform-empty>i{
  color:var(--text-muted);
  font-size:40px;
}
.platform-empty h2,
.platform-empty p{
  margin:0;
}
.platform-empty p{
  max-width:480px;
}
@keyframes platform-spin{
  to{transform:rotate(360deg)}
}
.platform-form-modal{
  padding:17px;
}
.platform-form-modal>.fig-modal-inner{
  width:auto;
  max-width:none;
  max-height:none;
  padding:0;
  overflow:visible;
  background:transparent;
  transform:translate(var(--platform-modal-x,0),var(--platform-modal-y,0));
}
.platform-form-modal>.fig-modal-inner>.fig-modal-close{
  display:none;
}
.platform-form-modal[data-platform-window-mode="maximized"]{
  padding:10px;
}
.platform-form-modal[data-platform-window-mode="maximized"]>.fig-modal-inner{
  width:calc(100vw - 20px);
  height:calc(100dvh - 20px);
  transform:none;
}
.platform-form-modal[data-platform-window-mode="maximized"]>.fig-modal-inner>#figModalBody{
  width:100%;
  height:100%;
  min-height:0;
}
.platform-form-modal[data-platform-window-mode="maximized"] .platform-form{
  width:100%;
  height:100%;
  max-height:none;
}
.platform-form-modal[data-platform-window-mode="maximized"] .platform-form>header,
.platform-form-modal[data-platform-window-mode="maximized"] .platform-form>footer{
  flex:0 0 auto;
}
.platform-form-modal[data-platform-window-mode="minimized"]{
  align-items:flex-end;
  justify-content:flex-end;
  padding:16px;
  background:transparent;
  pointer-events:none;
}
.platform-form-modal[data-platform-window-mode="minimized"]>.fig-modal-inner{
  width:min(420px,calc(100vw - 32px));
  transform:none;
  pointer-events:auto;
}
.platform-form-modal[data-platform-window-mode="minimized"] .platform-form{
  width:100%;
  max-height:64px;
  border-color:var(--accent-border);
}
.platform-form-modal[data-platform-window-mode="minimized"] .platform-form-body,
.platform-form-modal[data-platform-window-mode="minimized"] .platform-form>footer{
  display:none;
}
.platform-form-modal[data-platform-window-mode="minimized"] .platform-form-header{
  min-height:62px;
  padding:9px 10px 9px 15px;
  border:0;
  cursor:default;
}
.platform-form-modal[data-platform-window-mode="minimized"] .platform-form-header .eyebrow,
.platform-form-modal[data-platform-window-mode="minimized"] [data-platform-window-maximize]{
  display:none;
}
.platform-form-modal[data-platform-window-mode="minimized"] .platform-form-header h2{
  margin:0;
  font-size:14px;
}
.platform-form{
  display:flex;
  width:min(1050px,calc(100vw - 34px));
  max-height:min(840px,calc(100vh - 34px));
  flex-direction:column;
  border:1px solid var(--border-strong);
  border-radius:8px;
  background:var(--surface-2);
  box-shadow:0 22px 70px rgba(0,0,0,.24);
  overflow:hidden;
}
.platform-form>header,
.platform-form>footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 20px;
  border-bottom:1px solid var(--border);
}
.platform-form>header h2{
  margin:3px 0 0;
}
.platform-form-header{
  cursor:grab;
  touch-action:none;
  user-select:none;
}
.platform-form.is-dragging .platform-form-header{
  cursor:grabbing;
}
.platform-form-header>div:first-child{
  min-width:0;
}
.platform-form-header h2{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.platform-modal-window-controls{
  display:flex;
  align-items:center;
  gap:5px;
  flex:0 0 auto;
}
.platform-modal-window-controls .icon-btn{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border:1px solid var(--border-strong);
  background:var(--surface-1);
  cursor:pointer;
}
.platform-modal-window-controls [data-platform-window-close]:hover{
  border-color:color-mix(in srgb,var(--danger-text) 45%,var(--border));
  background:var(--danger-bg);
  color:var(--danger-text);
}
.platform-form>footer{
  justify-content:flex-end;
  border-top:1px solid var(--border);
  border-bottom:0;
}
.platform-form-body{
  flex:1;
  min-height:0;
  padding:20px;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.platform-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.platform-form-grid label,
.course-shell-editor label{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:6px;
  color:var(--text-secondary);
  font-size:11px;
  font-weight:700;
}
.platform-form-grid input,
.platform-form-grid select,
.platform-form-grid textarea,
.course-shell-editor input,
.course-shell-editor select,
.course-shell-editor textarea{
  width:100%;
  min-height:42px;
  padding:9px 11px;
  border:1px solid var(--border-strong);
  border-radius:7px;
  background:var(--surface-1);
  color:var(--text-primary);
  font:inherit;
  font-weight:400;
}
.platform-form-grid textarea,
.course-shell-editor textarea{
  min-height:100px;
  line-height:1.5;
  resize:vertical;
}
.platform-field,
.strategy-form-field,
.strategy-direction-meta>label{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:6px;
  color:var(--text-secondary);
  font-size:var(--form-label-font-size,11px);
  font-weight:700;
  line-height:1.4;
}
.platform-field input,
.platform-field select,
.platform-field textarea,
.strategy-form-field textarea,
.strategy-direction-meta input{
  width:100%;
  min-height:var(--form-control-height,42px);
  padding:9px 11px;
  border:1px solid var(--border-strong);
  border-radius:7px;
  background:var(--surface-1);
  color:var(--text-primary);
  box-sizing:border-box;
  font:inherit;
  font-size:var(--form-control-font-size,14px);
  font-weight:400;
}
.platform-form-body>.platform-field,
.platform-form-body>.strategy-form-field{
  margin-top:14px;
}
.strategy-form-field textarea{
  min-height:130px;
  line-height:1.55;
  resize:vertical;
}
.strategy-direction-editor{
  display:grid;
  gap:18px;
}
.strategy-direction-note{
  margin:0;
}
.strategy-direction-meta{
  width:min(300px,100%);
}
.strategy-direction-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.strategy-direction-grid .strategy-form-field{
  padding:16px;
  border:1px solid var(--border);
  border-radius:12px;
  background:color-mix(in srgb,var(--surface-1) 96%,#e8f4fa);
}
.strategy-direction-grid textarea{
  min-height:190px;
}
.strategy-direction-grid .strategy-direction-values{
  grid-column:1/-1;
}
.strategy-direction-grid .strategy-direction-values textarea{
  min-height:135px;
}
.platform-form-wide{
  grid-column:1/-1;
}
.platform-check span small{
  display:block;
  margin-top:3px;
  color:var(--text-muted);
  font-size:10px;
  font-weight:500;
  line-height:1.35;
}
.platform-entity-lifecycle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:20px;
  padding:16px;
  border:1px solid color-mix(in srgb,var(--danger-text) 32%,var(--border));
  border-radius:8px;
  background:var(--danger-bg);
}
.platform-entity-lifecycle>div{
  min-width:0;
}
.platform-entity-lifecycle h3{
  margin:4px 0 5px;
  color:var(--text-primary);
  font-size:14px;
}
.platform-entity-lifecycle p{
  max-width:690px;
  margin:0;
  color:var(--text-secondary);
  font-size:11px;
  line-height:1.5;
}
.platform-entity-lifecycle .btn-danger{
  flex:0 0 auto;
}
.platform-child-manager{
  display:grid;
  gap:18px;
}
.platform-child-manager-summary{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  padding:18px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface-1);
}
.platform-child-manager-summary h3{
  margin:3px 0 7px;
  color:var(--text-primary);
  font-size:20px;
}
.platform-child-manager-summary p{
  max-width:680px;
  margin:0;
  color:var(--text-secondary);
  font-size:11px;
  line-height:1.5;
}
.platform-child-manager-actions{
  display:flex;
  flex:0 0 auto;
  gap:8px;
}
.platform-child-manager-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.platform-child-manager-list>button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-width:0;
  padding:14px 15px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface-2);
  color:var(--text-primary);
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.platform-child-manager-list>button:hover,
.platform-child-manager-list>button:focus-visible{
  border-color:var(--accent);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent);
  outline:0;
}
.platform-child-manager-list>button span:first-child{
  display:grid;
  gap:4px;
  min-width:0;
}
.platform-child-manager-list>button b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.platform-child-manager-list>button small{
  color:var(--text-muted);
  font-size:10px;
}
.platform-child-manager-list>button span:last-child{
  display:flex;
  align-items:center;
  gap:5px;
  color:var(--accent);
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}
.platform-staff-editor{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.platform-person-detail{
  display:grid;
  gap:12px;
}
.platform-person-detail-identity{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  padding:16px;
  border:1px solid var(--accent-border);
  border-radius:8px;
  background:var(--accent-bg);
}
.platform-person-detail-identity .platform-avatar{
  width:52px;
  height:52px;
}
.platform-person-detail-identity h3{
  margin:3px 0 1px;
  font-size:19px;
}
.platform-person-detail-identity a{
  color:var(--accent-text);
  font-size:10px;
}
.platform-person-detail-state{
  align-self:start;
}
.platform-person-detail-section{
  padding:14px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface-1);
}
.platform-person-detail-section>header{
  margin-bottom:11px;
}
.platform-person-detail-section h3{
  margin:3px 0 0;
  font-size:15px;
}
.platform-person-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.platform-person-detail-grid>div{
  display:grid;
  gap:4px;
  padding:10px;
  border-radius:6px;
  background:var(--surface-2);
}
.platform-person-detail-grid span{
  display:flex;
  align-items:center;
  gap:5px;
  color:var(--text-muted);
  font-size:9px;
  font-weight:700;
}
.platform-person-detail-grid i,
.platform-person-detail-list i,
.platform-person-detail-tags i{
  color:var(--accent-text);
}
.platform-person-detail-grid strong{
  font-size:11px;
}
.platform-person-detail-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.platform-person-detail-tags>span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 8px;
  border-radius:6px;
  background:var(--accent-bg);
  color:var(--accent-text);
  font-size:10px;
  font-weight:700;
}
.platform-person-detail-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin:0;
  padding:0;
  list-style:none;
}
.platform-person-detail-list li{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:start;
  gap:7px;
  padding:10px;
  border-radius:6px;
  background:var(--surface-2);
}
.platform-person-detail-list span{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:2px;
}
.platform-person-detail-list b{
  font-size:10px;
}
.platform-person-detail-list small{
  color:var(--text-muted);
  font-size:9px;
  line-height:1.4;
}
.platform-staff-editor-section,
.platform-taxonomy-editor>section{
  padding:15px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface-1);
}
.platform-staff-editor-section[hidden]{display:none}
.platform-editor-section-head,
.platform-taxonomy-editor>section>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:13px;
}
.platform-editor-section-head h3,
.platform-taxonomy-editor h3{
  margin:3px 0 0;
  font-size:16px;
}
.platform-editor-section-head p,
.platform-taxonomy-editor p{
  margin:4px 0 0;
  color:var(--text-muted);
  font-size:10px;
  line-height:1.45;
}
.platform-access-role-grid,
.platform-account-state,
.platform-scope-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.platform-access-role-grid>label,
.platform-scope-grid>label{
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  align-items:start;
  gap:9px;
  padding:11px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-2);
  cursor:pointer;
}
.platform-access-role-grid input,
.platform-scope-grid input{
  width:18px;
  height:18px;
  margin-top:1px;
}
.platform-access-role-grid span,
.platform-scope-grid span{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:3px;
}
.platform-access-role-grid small,
.platform-scope-grid small{
  color:var(--text-muted);
  font-size:9px;
  font-weight:500;
  line-height:1.35;
}
.platform-account-state{margin-top:10px}
.platform-teaching-role-grid{margin-top:14px}
.platform-teaching-role-grid>div:first-child{margin-bottom:9px}
.platform-teaching-role-grid h3{margin:2px 0 3px;font-size:13px}
.platform-teaching-role-grid p{margin:0;color:var(--text-muted);font-size:10px;line-height:1.45}
.platform-affiliation-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.platform-affiliation-card{
  min-width:0;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-2);
  overflow:hidden;
}
.platform-affiliation-card>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:11px;
  border-bottom:1px solid var(--border);
  background:var(--accent-bg);
}
.platform-affiliation-card>header>div{
  display:flex;
  min-width:0;
  flex-direction:column;
}
.platform-affiliation-card>header small,
.platform-affiliation-card>div label small{
  color:var(--text-muted);
  font-size:9px;
}
.platform-affiliation-card>header>label,
.platform-affiliation-card>div>label{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  align-items:start;
  gap:7px;
  color:var(--text-secondary);
  font-size:10px;
  cursor:pointer;
}
.platform-affiliation-card input{width:17px;height:17px;margin-top:1px}
.platform-affiliation-card>div{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  padding:11px;
}
.platform-affiliation-card>div label span{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:2px;
}
.platform-appointment-list,
.platform-taxonomy-editor,
[data-taxonomy-rows]{
  display:grid;
  gap:9px;
}
.platform-appointment-row{
  display:grid;
  grid-template-columns:minmax(150px,1fr) 130px 130px minmax(190px,1.2fr) 100px 36px;
  align-items:end;
  gap:8px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-2);
}
.platform-appointment-row>label:not(.platform-check){
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:5px;
  color:var(--text-secondary);
  font-size:10px;
  font-weight:700;
}
.platform-appointment-row input:not([type=checkbox]),
.platform-appointment-row select,
.platform-taxonomy-row>input[data-taxonomy-value]{
  width:100%;
  min-height:38px;
  padding:7px 9px;
  border:1px solid var(--border-strong);
  border-radius:6px;
  background:var(--surface-1);
  color:var(--text-primary);
  font:inherit;
}
.platform-appointment-row>.platform-check{min-height:38px;padding:8px}
.platform-appointment-row .dtp-field{height:38px;border-radius:6px;font-size:inherit}
.platform-taxonomy-editor{grid-template-columns:repeat(2,minmax(0,1fr))}
.platform-taxonomy-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 96px 36px;
  align-items:center;
  gap:8px;
}
.platform-taxonomy-row>.platform-check{min-height:38px;padding:8px}
.platform-settings-form{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:15px;
}
.platform-settings-note{
  display:flex;
  align-items:flex-start;
  gap:11px;
  padding:13px 15px;
  border:1px solid var(--accent-border);
  border-radius:8px;
  background:var(--accent-bg);
}
.platform-settings-note>i{
  flex:0 0 auto;
  color:var(--accent-text);
  font-size:21px;
}
.platform-settings-note strong,
.platform-settings-note span{
  display:block;
}
.platform-settings-note span{
  margin-top:3px;
  color:var(--text-secondary);
  font-size:11px;
  line-height:1.5;
}
.platform-regional-settings{
  padding:18px;
  border:1px solid var(--border-strong);
  border-radius:9px;
  background:var(--surface-2);
}
.platform-password-settings{
  padding:18px;
  border:1px solid var(--border-strong);
  border-radius:9px;
  background:var(--surface-2);
}
.platform-typography-settings{
  padding:18px;
  border:1px solid var(--border-strong);
  border-radius:9px;
  background:var(--surface-2);
}
.platform-typography-settings>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.platform-typography-settings>header>div{display:flex;align-items:flex-start;gap:11px}
.platform-typography-settings h2{margin:2px 0 3px;font-size:var(--type-section-title)}
.platform-typography-settings header p{max-width:880px;margin:0;color:var(--text-secondary);font-size:var(--type-help);line-height:1.5}
.platform-typography-inheritance{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border:1px solid var(--accent-border);
  border-radius:999px;
  background:var(--accent-bg);
  color:var(--accent-text);
  font-size:var(--type-caption);
  font-weight:800;
}
.platform-typography-presets{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin-top:15px;
}
.platform-typography-presets label{position:relative;cursor:pointer}
.platform-typography-presets input{position:absolute;opacity:0;pointer-events:none}
.platform-typography-presets label>span{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:9px;
  min-height:78px;
  padding:11px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface-1);
}
.platform-typography-presets label>span>i{grid-row:1/-1;display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:var(--surface-2);color:var(--accent);font-size:20px}
.platform-typography-presets label>span>b{font-size:var(--type-label)}
.platform-typography-presets label>span>small{color:var(--text-muted);font-size:var(--type-help);line-height:1.3}
.platform-typography-presets input:checked+span{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}
.platform-typography-presets input:checked+span>i{background:var(--accent);color:#fff}
.platform-typography-presets input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:2px}
.platform-typography-controls{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.platform-typography-controls label{display:grid;gap:5px;font-size:var(--type-label);font-weight:700}
.platform-typography-controls select{width:100%;min-height:var(--form-control-height);padding:0 11px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-1);color:var(--text-primary);font:inherit;font-size:var(--form-control-font-size)}
.platform-typography-preview{
  display:grid;
  grid-template-columns:minmax(180px,.45fr) minmax(0,1.55fr);
  margin-top:13px;
  overflow:hidden;
  border:1px solid var(--border-strong);
  border-radius:9px;
  background:var(--surface-1);
  font-family:var(--font-interface);
}
.platform-typography-preview[data-type-scale="compact"]{font-size:13px}
.platform-typography-preview[data-type-scale="comfortable"]{font-size:15px}
.platform-typography-preview[data-type-scale="large"]{font-size:17px}
.platform-typography-preview>aside{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:18px;border-right:1px solid var(--border);background:var(--surface-2)}
.platform-typography-preview>aside span,.platform-typography-preview>article>span{color:var(--accent-text);font-size:.72em;font-weight:800;letter-spacing:.08em}
.platform-typography-preview>aside b{font-size:1em}.platform-typography-preview>aside small{color:var(--text-muted);font-size:.8em}
.platform-typography-preview>article{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.65fr);gap:6px 18px;padding:18px}
.platform-typography-preview>article>span,.platform-typography-preview>article>h3,.platform-typography-preview>article>p{grid-column:1}
.platform-typography-preview h3{margin:0;font-size:1.35em;line-height:1.15}
.platform-typography-preview p{margin:0;color:var(--text-secondary);font-family:var(--font-reading);font-size:.92em;line-height:1.5}
.platform-typography-preview article>label{grid-column:2;grid-row:1/4;display:grid;align-content:center;gap:5px;font-size:.84em;font-weight:700}
.platform-typography-preview input{width:100%;min-height:2.6em;padding:0 10px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-2);color:var(--text-primary);font:inherit}
.platform-typography-preview article>div{grid-column:1/-1;display:flex;align-items:center;gap:12px;margin-top:5px}.platform-typography-preview article>div small{color:var(--text-muted);font-size:.78em}
.platform-password-settings>header>div{
  display:flex;
  align-items:flex-start;
  gap:11px;
}
.platform-password-settings h2{
  margin:2px 0 3px;
  font-size:18px;
}
.platform-password-settings p{
  margin:0;
  color:var(--text-secondary);
  font-size:11px;
  line-height:1.5;
}
.platform-week-resource-settings{
  padding:18px;
  border:1px solid var(--border-strong);
  border-radius:9px;
  background:var(--surface-2);
}
.platform-week-resource-settings>header>div{
  display:flex;
  align-items:flex-start;
  gap:11px;
}
.platform-week-resource-settings h2{
  margin:2px 0 3px;
  font-size:18px;
}
.platform-week-resource-settings p{
  margin:0;
  color:var(--text-secondary);
  font-size:11px;
  line-height:1.5;
}
.platform-week-resource-policy-grid{
  display:grid;
  grid-template-columns:minmax(220px,.55fr) minmax(320px,1fr) minmax(260px,.8fr);
  align-items:stretch;
  gap:12px;
  margin-top:15px;
}
.platform-course-policy-editor,
.platform-course-policy-summary{
  padding:20px;
  border:1px solid var(--border-strong);
  border-radius:10px;
  background:var(--surface-2);
}
.platform-course-policy-editor>header,
.platform-course-policy-summary>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.platform-course-policy-editor>header>div,
.platform-course-policy-summary>header>div{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.platform-course-policy-editor h2,
.platform-course-policy-summary h2{
  margin:2px 0 4px;
  font-size:20px;
}
.platform-course-policy-editor>header p,
.platform-course-policy-summary>header p{
  max-width:850px;
  margin:0;
  color:var(--text-secondary);
  font-size:14px;
  line-height:1.55;
}
.platform-policy-managed{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  gap:7px;
  min-height:36px;
  padding:7px 11px;
  border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));
  border-radius:999px;
  background:color-mix(in srgb,var(--accent) 8%,var(--surface));
  color:var(--accent);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.platform-course-policy-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.platform-course-policy-card{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface);
}
.platform-course-policy-card:last-child:nth-child(odd){grid-column:1/-1}
.platform-course-policy-card>header{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:14px 16px;
  border-bottom:1px solid var(--line);
  background:var(--soft);
}
.platform-course-policy-card>header>i{
  flex:0 0 auto;
  display:grid;
  width:35px;
  height:35px;
  place-items:center;
  border-radius:8px;
  background:var(--accent-soft);
  color:var(--accent);
  font-size:18px;
}
.platform-course-policy-card h3{
  margin:0 0 3px;
  font-size:15px;
}
.platform-course-policy-card header p{
  margin:0;
  color:var(--text-secondary);
  font-size:12px;
  line-height:1.45;
}
.platform-course-policy-copy{
  min-height:94px;
  padding:15px 16px;
  font-size:14px;
  line-height:1.62;
}
.platform-course-policy-copy p:first-child{margin-top:0}
.platform-course-policy-copy p:last-child{margin-bottom:0}
.platform-course-policy-copy[contenteditable="true"]{
  outline:none;
  cursor:text;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.platform-course-policy-copy[contenteditable="true"]:hover{
  background:color-mix(in srgb,var(--accent) 3%,var(--surface));
}
.platform-course-policy-copy[contenteditable="true"]:focus{
  background:var(--surface);
  box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent);
}
.platform-course-policy-summary{
  margin-top:4px;
  background:color-mix(in srgb,var(--accent) 3%,var(--surface-2));
}
.platform-course-policy-summary .platform-course-policy-copy{
  min-height:0;
}

/* Persistent cross-course professor inbox */
.teaching-message-dock{
  position:relative;
  z-index:7;
  display:block;
  min-height:0;
  flex:0 0 auto;
  padding:0;
}
.teaching-message-dock[hidden]{display:none}
.teaching-message-details{position:relative;width:180px}
.teaching-message-details>summary,
.teaching-message-loading{
  display:flex;
  width:100%;
  min-height:42px;
  align-items:center;
  gap:8px;
  padding:5px 7px;
  border:1px solid var(--accent-border);
  border-radius:9px;
  background:linear-gradient(135deg,var(--surface-1),var(--accent-bg));
  box-shadow:0 7px 20px rgba(23,43,61,.08);
  color:var(--text-primary);
  text-decoration:none;
}
.teaching-message-details>summary{cursor:pointer;list-style:none}
.teaching-message-details>summary::-webkit-details-marker{display:none}
.teaching-message-details>summary:hover,
.teaching-message-details[open]>summary{border-color:var(--accent);box-shadow:0 9px 24px rgba(23,43,61,.13)}
.teaching-message-summary-icon{
  position:relative;
  display:grid;
  width:31px;
  height:31px;
  flex:0 0 auto;
  place-items:center;
  border-radius:8px;
  background:var(--accent);
  color:#fff;
  font-size:17px;
}
.teaching-message-summary-icon em{
  position:absolute;
  top:-5px;
  right:-6px;
  min-width:18px;
  height:18px;
  padding:0 4px;
  border:2px solid var(--surface-1);
  border-radius:999px;
  background:var(--danger-text);
  color:#fff;
  font-size:8px;
  font-style:normal;
  font-weight:900;
  line-height:14px;
  text-align:center;
}
.teaching-message-summary-copy,
.teaching-message-loading>span{display:grid;min-width:0;gap:1px}
.teaching-message-summary-copy b,
.teaching-message-loading b{font-size:11px}
.teaching-message-summary-copy small,
.teaching-message-loading small{color:var(--text-secondary);font-size:8.5px}
.teaching-message-summary-chevron{margin-left:auto;color:var(--accent-text);transition:transform .18s}
.teaching-message-details[open] .teaching-message-summary-chevron{transform:rotate(180deg)}
.teaching-message-loading{width:180px}
.teaching-message-loading>i{color:var(--accent-text);font-size:22px}
.teaching-message-loading:not(.is-error)>i{animation:spin 1s linear infinite}
.teaching-message-preview{
  position:absolute;
  top:calc(100% + 12px);
  right:0;
  width:390px;
  overflow:hidden;
  border:1px solid var(--border-strong);
  border-radius:13px;
  background:var(--surface-1);
  box-shadow:0 20px 48px rgba(23,43,61,.2);
}
.teaching-message-preview>header,
.teaching-message-preview>footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  background:var(--surface-2);
}
.teaching-message-preview>header{border-bottom:1px solid var(--border)}
.teaching-message-preview>header>span{display:grid;gap:1px}
.teaching-message-preview>header b{font-size:12px}
.teaching-message-preview>header small{color:var(--text-secondary);font-size:8px}
.teaching-message-preview>header>a,
.teaching-message-preview>footer>a{color:var(--accent-text);font-size:9px;font-weight:800;text-decoration:none}
.teaching-message-preview>div{display:grid}
.teaching-message-preview-item{border-bottom:1px solid var(--border)}
.teaching-message-preview-item>summary{list-style:none}
.teaching-message-preview-item>summary::-webkit-details-marker{display:none}
.teaching-message-preview-row{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  padding:9px 11px;
  color:var(--text-primary);
  cursor:pointer;
  list-style:none;
}
.teaching-message-preview-row:hover{background:var(--accent-bg)}
.teaching-message-preview-row>span:nth-child(2){display:grid;min-width:0;gap:1px}
.teaching-message-preview-row b,
.teaching-message-preview-row strong,
.teaching-message-preview-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.teaching-message-preview-row b{font-size:9px}
.teaching-message-preview-row strong{font-size:10px;font-weight:650}
.teaching-message-preview-row small{color:var(--text-secondary);font-size:8px}
.teaching-message-preview-item.is-unread>.teaching-message-preview-row{background:color-mix(in srgb,var(--accent-bg) 58%,var(--surface-1))}
.teaching-message-preview-item.is-unread strong{font-weight:900}
.teaching-message-preview-item[open]>.teaching-message-preview-row{background:var(--accent-bg)}
.teaching-message-preview-row>i:last-child{color:var(--accent-text);font-size:12px}
.teaching-message-preview-item[open]>.teaching-message-preview-row>i.ti{transform:rotate(180deg)}
.teaching-message-preview-avatar{
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  border-radius:50%;
  background:var(--accent-bg);
  color:var(--accent-text);
  font-size:9px;
  font-weight:900;
}
.teaching-message-preview-row.is-unread .teaching-message-preview-avatar{background:var(--accent);color:#fff}
.teaching-message-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}
.teaching-message-inline{display:grid;gap:9px;padding:0 11px 11px;background:var(--accent-bg)}
.teaching-message-inline>p{
  max-height:150px;
  margin:0;
  overflow:auto;
  padding:9px 10px;
  border:1px solid var(--accent-border);
  border-radius:8px;
  background:var(--surface-1);
  color:var(--text-primary);
  font-size:9.5px;
  line-height:1.5;
}
.teaching-message-inline form{display:grid;gap:6px}
.teaching-message-inline textarea{
  width:100%;
  min-height:64px;
  resize:vertical;
  padding:8px 9px;
  border:1px solid var(--border-strong);
  border-radius:8px;
  background:var(--surface-1);
  color:var(--text-primary);
  font:inherit;
  font-size:9.5px;
}
.teaching-message-inline form>div{display:flex;min-height:28px;align-items:center;gap:7px}
.teaching-message-inline form small{margin-right:auto;color:var(--text-secondary);font-size:7.5px}
.teaching-message-inline [data-teaching-quick-status]{color:var(--accent-text);font-size:8px;font-weight:800}
.teaching-message-inline button{
  display:flex;
  min-height:28px;
  align-items:center;
  gap:5px;
  padding:5px 8px;
  border:1px solid var(--accent);
  border-radius:7px;
  background:var(--accent);
  color:#fff;
  font:inherit;
  font-size:8.5px;
  font-weight:800;
  cursor:pointer;
}
.teaching-message-inline button:disabled{cursor:wait;opacity:.6}
.teaching-message-preview-empty{display:flex;align-items:center;gap:10px;padding:20px;color:var(--text-secondary)}
.teaching-message-preview-empty>i{color:var(--accent-text);font-size:26px}
.teaching-message-preview-empty>span{display:grid}
.teaching-message-preview-empty b{color:var(--text-primary);font-size:11px}
.teaching-message-preview-empty small{font-size:8px}
.teaching-message-preview>footer{border-top:1px solid var(--border);font-size:8px}
.teaching-message-preview>footer>span{color:var(--text-secondary)}
.teaching-message-dock{--quick-message-font:var(--font-interface);--quick-message-scale:1}
.teaching-message-dock[data-quick-message-font="reading"]{--quick-message-font:var(--font-reading)}
.teaching-message-dock[data-quick-message-font="legible"]{--quick-message-font:Arial,Helvetica,sans-serif}
.teaching-message-dock[data-quick-message-size="compact"]{--quick-message-scale:.88}
.teaching-message-dock[data-quick-message-size="large"]{--quick-message-scale:1.16}
.teaching-message-dock .teaching-message-preview{font-family:var(--quick-message-font)}
.teaching-message-dock .teaching-message-preview>header b{font-size:calc(12px * var(--quick-message-scale))}
.teaching-message-dock .teaching-message-preview>header small{font-size:calc(8px * var(--quick-message-scale))}
.teaching-message-dock .teaching-message-preview>header>a,.teaching-message-dock .teaching-message-preview>footer>a{font-size:calc(9px * var(--quick-message-scale))}
.teaching-message-dock .teaching-message-preview-row b{font-size:calc(9px * var(--quick-message-scale))}
.teaching-message-dock .teaching-message-preview-row strong{font-size:calc(10px * var(--quick-message-scale))}
.teaching-message-dock .teaching-message-preview-row small{font-size:calc(8px * var(--quick-message-scale))}
.teaching-message-dock .teaching-message-inline>p,.teaching-message-dock .teaching-message-inline textarea{font-family:var(--quick-message-font);font-size:calc(9.5px * var(--quick-message-scale))}
.teaching-message-dock .teaching-message-inline form small{font-size:calc(7.5px * var(--quick-message-scale))}
.teaching-message-dock .teaching-message-inline [data-teaching-quick-status]{font-size:calc(8px * var(--quick-message-scale))}
.teaching-message-dock .teaching-message-inline button{font-family:var(--quick-message-font);font-size:calc(8.5px * var(--quick-message-scale))}
.teaching-message-dock .teaching-message-preview-empty b{font-size:calc(11px * var(--quick-message-scale))}
.teaching-message-dock .teaching-message-preview-empty small,.teaching-message-dock .teaching-message-preview>footer{font-size:calc(8px * var(--quick-message-scale))}
.communication-policy-grid{
  display:grid;
  grid-template-columns:minmax(300px,1fr) minmax(220px,.7fr) minmax(250px,.8fr);
  align-items:stretch;
  gap:12px;
  margin-top:15px;
}
.communication-policy-grid>label:not(.platform-check){
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:6px;
  font-size:10px;
  font-weight:800;
}
.communication-policy-grid input[type="number"]{
  min-height:42px;
  padding:9px 10px;
  border:1px solid var(--border-strong);
  border-radius:7px;
  background:var(--surface-1);
  color:var(--text-primary);
  font:inherit;
}
.communication-policy-grid small{color:var(--text-secondary);font-size:10px;line-height:1.45}
.communication-policy-grid>aside{
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-1);
  color:var(--text-secondary);
  font-size:10px;
  line-height:1.45;
}
.communication-policy-grid>aside>i{color:var(--accent-text);font-size:19px}
.communication-policy-grid>aside b{display:block;color:var(--text-primary);font-size:11px}
.teaching-workspace-hero{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(410px,.97fr);
  min-height:330px;
  margin:4px 0 22px;
  overflow:hidden;
  border:1px solid rgba(123,94,190,.48);
  border-radius:26px;
  background:
    radial-gradient(circle at 80% 18%,rgba(119,199,255,.24),transparent 27%),
    radial-gradient(circle at 96% 88%,rgba(126,224,195,.17),transparent 29%),
    linear-gradient(132deg,#201543 0%,#2d245c 48%,#153d5d 100%);
  color:#fff;
  box-shadow:0 24px 58px rgba(29,22,70,.16);
}
.teaching-workspace-hero:before{
  position:absolute;
  z-index:-1;
  inset:0;
  content:"";
  opacity:.34;
  background-image:radial-gradient(circle,rgba(255,255,255,.25) 1px,transparent 1.5px);
  background-size:28px 28px;
  mask-image:linear-gradient(90deg,transparent 0,#000 52%,#000 100%);
}
.teaching-workspace-hero-copy{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  flex-direction:column;
  padding:38px clamp(30px,4vw,62px);
}
.teaching-workspace-hero-copy .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#cfbdff;
  font-size:11px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.teaching-workspace-hero-copy .eyebrow i{font-size:19px}
.teaching-workspace-hero-copy h1{
  margin:11px 0 13px;
  color:#fff;
  font-size:clamp(48px,5.5vw,80px);
  font-weight:850;
  letter-spacing:-.06em;
  line-height:.9;
}
.teaching-workspace-hero-copy h1 span{
  color:#a9ddff;
  text-shadow:0 8px 34px rgba(99,186,255,.25);
}
.teaching-workspace-hero-copy p{
  max-width:650px;
  margin:0;
  color:rgba(255,255,255,.76);
  font-size:15px;
  line-height:1.65;
}
.teaching-hero-motto{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:22px;
  color:#fff;
  font-size:10px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.teaching-hero-motto i{display:block;width:24px;height:1px;background:linear-gradient(90deg,#c8a7ff,#7ac8ff)}
.teaching-workspace-hero-visual{position:relative;min-height:330px}
.teaching-workspace-hero-visual>svg{position:absolute;inset:8px 5px 0 auto;width:min(100%,540px);height:calc(100% - 14px)}
.teaching-hero-hub{
  position:absolute;
  top:50%;
  left:48%;
  display:grid;
  place-items:center;
  width:138px;
  height:138px;
  padding:16px;
  border:1px solid rgba(255,255,255,.29);
  border-radius:30px;
  background:linear-gradient(145deg,rgba(105,77,176,.94),rgba(32,109,155,.94));
  box-shadow:0 22px 50px rgba(0,0,0,.27),inset 0 1px 0 rgba(255,255,255,.25);
  transform:translate(-50%,-50%) rotate(-4deg);
  text-align:center;
}
.teaching-hero-hub i{font-size:34px}
.teaching-hero-hub b{font-size:30px;line-height:1}
.teaching-hero-hub small{color:rgba(255,255,255,.72);font-size:9px;font-weight:700}
.teaching-hero-course{
  position:absolute;
  display:grid;
  min-width:126px;
  padding:11px 13px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:14px;
  background:rgba(18,30,67,.79);
  color:#fff;
  box-shadow:0 12px 30px rgba(0,0,0,.2);
  backdrop-filter:blur(8px);
}
.teaching-hero-course small{overflow:hidden;max-width:150px;color:rgba(255,255,255,.58);font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.teaching-hero-course b{margin:2px 0;font-size:14px}
.teaching-hero-course em{color:#8de3ca;font-size:8px;font-style:normal;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.teaching-hero-course-1{top:28px;left:2%;transform:rotate(-3deg)}
.teaching-hero-course-2{top:40px;right:5%;transform:rotate(3deg)}
.teaching-hero-course-3{right:4%;bottom:60px;transform:rotate(-2deg)}
.teaching-hero-caption{
  position:absolute;
  left:5%;
  bottom:24px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:rgba(255,255,255,.64);
  font-size:9px;
  font-weight:700;
}
.teaching-hero-caption i{color:#c8a7ff;font-size:14px}
.communication-hero{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);
  min-height:330px;
  margin:4px 0 22px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border-strong));
  border-radius:26px;
  background:
    radial-gradient(circle at 72% 16%,rgba(101,183,255,.23),transparent 28%),
    radial-gradient(circle at 94% 82%,rgba(102,217,193,.18),transparent 31%),
    linear-gradient(132deg,#0b2140 0%,#102d55 50%,#171d44 100%);
  color:#fff;
  box-shadow:0 24px 58px rgba(8,27,53,.16);
}
.communication-hero:before{
  position:absolute;
  z-index:-1;
  inset:0;
  content:"";
  opacity:.42;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(90deg,transparent 0,#000 48%,#000 100%);
}
.communication-hero-copy{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  flex-direction:column;
  padding:38px clamp(30px,4vw,62px);
}
.communication-hero-copy .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#9fd0ff;
  font-size:11px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.communication-hero-copy .eyebrow i{font-size:19px}
.communication-hero-copy h1{
  max-width:760px;
  margin:11px 0 13px;
  color:#fff;
  font-size:clamp(44px,5.2vw,76px);
  font-weight:850;
  letter-spacing:-.055em;
  line-height:.9;
}
.communication-hero-copy h1 span{
  color:#76c4ff;
  text-shadow:0 8px 34px rgba(67,170,255,.23);
}
.communication-hero-copy p{
  max-width:650px;
  margin:0;
  color:rgba(255,255,255,.76);
  font-size:15px;
  line-height:1.65;
}
.communication-hero-actions{display:flex;align-items:center;gap:10px;margin-top:24px}
.communication-hero-actions .btn-accent{
  min-height:46px;
  padding:10px 18px;
  border-color:#fff;
  background:#fff;
  color:#102d55;
  box-shadow:0 10px 26px rgba(0,0,0,.18);
}
.communication-hero-actions .btn-accent:hover,
.communication-hero-actions .btn-accent:focus-visible{border-color:#76c4ff;background:#dff1ff;color:#0b2140}
.communication-hero-actions .btn-accent:disabled{
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.14);
  color:rgba(255,255,255,.58);
  box-shadow:none;
  cursor:not-allowed;
  opacity:1;
}
.communication-hero-visual{position:relative;min-height:330px}
.communication-hero-visual>svg{position:absolute;inset:12px 5px 0 auto;width:min(100%,520px);height:calc(100% - 18px)}
.communication-hero-hub{
  position:absolute;
  top:50%;
  left:50%;
  display:grid;
  place-items:center;
  width:150px;
  height:150px;
  padding:17px;
  border:1px solid rgba(255,255,255,.27);
  border-radius:50%;
  background:linear-gradient(145deg,rgba(42,118,190,.92),rgba(69,54,149,.92));
  box-shadow:0 20px 48px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.25);
  transform:translate(-50%,-50%);
  text-align:center;
}
.communication-hero-hub i{font-size:38px}
.communication-hero-hub b{font-size:15px}
.communication-hero-hub small{color:rgba(255,255,255,.68);font-size:9px}
.communication-hero-course,
.communication-hero-bubble{
  position:absolute;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:999px;
  background:rgba(9,28,58,.76);
  color:#fff;
  box-shadow:0 8px 22px rgba(0,0,0,.16);
  backdrop-filter:blur(8px);
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}
.communication-hero-course i{color:#76c4ff}
.communication-hero-course-1{top:28px;left:7%}
.communication-hero-course-2{top:56px;right:8%}
.communication-hero-course-3{right:4%;bottom:68px}
.communication-hero-bubble{border-radius:12px;background:rgba(255,255,255,.93);color:#13243b}
.communication-hero-bubble i{color:#246eae;font-size:16px}
.communication-hero-bubble-in{left:4%;bottom:70px}
.communication-hero-bubble-out{top:52px;left:42%}
.communication-hero-caption{
  position:absolute;
  right:30px;
  bottom:22px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:rgba(255,255,255,.62);
  font-size:9px;
  font-weight:700;
}
.communication-hero.is-course-scoped{grid-template-columns:minmax(0,1fr) minmax(340px,.7fr);min-height:290px}
.communication-hero.is-course-scoped .communication-hero-visual{min-height:290px}
.communication-hero.is-course-scoped .communication-hero-copy h1{font-size:clamp(42px,4.6vw,68px)}
.communication-totals{
  display:flex;
  align-items:center;
  gap:10px 22px;
  flex-wrap:wrap;
  margin:-4px 0 15px;
  padding:0 2px;
  color:var(--text-secondary);
  font-size:12px;
}
.communication-totals span{display:inline-flex;align-items:baseline;gap:4px}
.communication-totals b{color:var(--text-primary);font-size:15px}
.communication-center-shell{
  overflow:hidden;
  border:1px solid var(--border-strong);
  border-radius:10px;
  background:var(--surface-1);
}
.communication-folders{
  display:flex;
  align-items:center;
  gap:4px;
  padding:8px 12px 0;
  border-bottom:1px solid var(--border);
  background:var(--surface-2);
}
.communication-folders button{
  display:inline-flex;
  min-height:38px;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border:0;
  border-bottom:3px solid transparent;
  background:transparent;
  color:var(--text-secondary);
  font:inherit;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}
.communication-folders button span{
  min-width:20px;
  padding:2px 5px;
  border-radius:999px;
  background:var(--surface-1);
  color:var(--text-secondary);
  font-size:8px;
  text-align:center;
}
.communication-folders button:hover,
.communication-folders button.active{border-bottom-color:var(--accent);color:var(--accent-text)}
.communication-folders button.active span{background:var(--accent-bg);color:var(--accent-text)}
.communication-toolbar{
  display:grid;
  grid-template-columns:minmax(230px,1.2fr) minmax(190px,.8fr) minmax(145px,.55fr) auto;
  gap:10px;
  padding:13px;
  border-bottom:1px solid var(--border-strong);
  background:var(--surface-2);
}
.communication-toolbar>label:not(.communication-unread-toggle){
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:0 10px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-1);
}
.communication-toolbar input[type="search"],
.communication-toolbar select{
  width:100%;
  min-width:0;
  height:40px;
  border:0;
  outline:0;
  background:transparent;
  color:var(--text-primary);
  font:inherit;
}
.communication-unread-toggle{
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 11px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-1);
  white-space:nowrap;
  font-size:11px;
  font-weight:800;
}
.communication-unread-toggle input{width:16px;height:16px}
.communication-center-grid{
  display:grid;
  grid-template-columns:minmax(290px,34%) minmax(0,1fr);
  min-height:590px;
}
.communication-thread-list{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  min-width:0;
  border-right:1px solid var(--border-strong);
  background:var(--surface-2);
}
.communication-list-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:9px 11px;
  border-bottom:1px solid var(--border);
  color:var(--text-secondary);
  font-size:10px;
}
.communication-list-heading b{color:var(--text-primary);font-size:13px}
.communication-list-heading small{text-align:right}
#communicationThreadRows{min-height:0;overflow:auto}
.communication-thread-row{
  display:flex;
  width:100%;
  min-width:0;
  align-items:stretch;
  flex-direction:column;
  gap:3px;
  padding:9px 10px;
  border:0;
  border-bottom:1px solid var(--border);
  border-left:4px solid transparent;
  background:transparent;
  color:var(--text-primary);
  text-align:left;
  cursor:pointer;
}
.communication-thread-row>*{text-align:left}
.communication-thread-row:hover{background:var(--surface-1)}
.communication-thread-row.is-selected{border-left-color:var(--accent);background:var(--accent-bg)}
.communication-thread-row.is-unread>strong{font-weight:900}
.communication-thread-top,
.communication-thread-course{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.communication-thread-top b,
.communication-thread-row>strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.communication-thread-top time{flex:0 0 auto;color:var(--text-secondary);font-size:9px}
.communication-thread-row>strong{font-size:11px;line-height:1.35}
.communication-thread-course{
  justify-content:flex-start;
  color:var(--text-secondary);
  min-width:0;
  font-size:9px;
}
.communication-thread-course>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.communication-thread-course em{
  margin-left:auto;
  padding:0;
  background:transparent;
  color:var(--accent-text);
  font-style:normal;
  font-weight:800;
  white-space:nowrap;
}
.communication-list-footer{
  display:grid;
  gap:8px;
  padding:9px 10px;
  border-top:1px solid var(--border-strong);
  background:var(--surface-1);
  color:var(--text-secondary);
  font-size:9px;
}
.communication-list-footer>label,
.communication-list-footer>div{display:flex;align-items:center;justify-content:space-between;gap:6px}
.communication-list-footer select,
.communication-list-footer input{
  width:72px;
  min-height:30px;
  padding:4px 6px;
  border:1px solid var(--border);
  border-radius:5px;
  background:var(--surface-2);
  color:var(--text-primary);
  font:inherit;
}
.communication-list-footer input{width:62px}
.communication-list-footer button{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  padding:0;
  border:1px solid var(--border);
  border-radius:5px;
  background:var(--surface-2);
  color:var(--text-primary);
  cursor:pointer;
}
.communication-list-footer button:disabled{cursor:not-allowed;opacity:.42}
.communication-list-footer>div span{flex:1;text-align:center}
}
.communication-list-empty,
.communication-no-selection{
  display:flex;
  min-height:310px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:7px;
  padding:25px;
  color:var(--text-secondary);
  text-align:center;
}
.communication-list-empty{min-height:220px}
.communication-list-empty>i,
.communication-no-selection>i{font-size:40px;color:var(--accent-text)}
.communication-list-empty b,
.communication-no-selection h2{margin:0;color:var(--text-primary)}
.communication-list-empty span,
.communication-no-selection p{margin:0;font-size:11px}
.communication-conversation{min-width:0;background:var(--surface-1)}
.communication-conversation-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:18px 20px;
  border-bottom:1px solid var(--border);
}
.communication-conversation-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.communication-conversation-actions .icon-btn{flex:0 0 auto}
.communication-conversation-actions button:disabled{
  border-color:var(--border);
  background:var(--surface-2);
  color:var(--text-muted);
  box-shadow:none;
  cursor:not-allowed;
  filter:saturate(.35);
  opacity:.58;
  transform:none;
}
.communication-student-identity{display:flex;min-width:0;align-items:center;gap:11px}
.communication-avatar{
  display:inline-flex;
  width:42px;
  height:42px;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--accent);
  color:#fff;
  font-size:14px;
  font-weight:900;
}
.communication-student-identity h2{margin:2px 0;font-size:19px}
.communication-student-identity p{margin:0;color:var(--text-secondary);font-size:10px}
.communication-enrollment-context{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:12px 20px;
  border-bottom:1px solid var(--border);
  background:var(--surface-2);
}
.communication-enrollment-context>span{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:6px;
  padding-top:5px;
  color:var(--text-secondary);
  font-size:10px;
  font-weight:800;
}
.communication-enrollment-context>div{display:flex;flex-wrap:wrap;gap:6px}
.communication-course-chip{
  display:flex;
  align-items:center;
  gap:5px;
  padding:5px 8px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--surface-1);
  font-size:9px;
}
.communication-course-chip.is-context{border-color:var(--accent-border);background:var(--accent-bg)}
.communication-course-chip small{color:var(--text-secondary)}
.communication-thread-topic{
  display:flex;
  align-items:baseline;
  gap:8px 12px;
  flex-wrap:wrap;
  padding:12px 20px 0;
}
.communication-thread-topic>span{
  color:var(--accent-text);
  font-size:9px;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.communication-thread-topic h3{margin:0;font-size:15px}
.communication-thread-topic small{margin-left:auto;color:var(--text-secondary);font-size:9px}
.communication-message-stream{
  display:flex;
  max-height:720px;
  overflow:auto;
  flex-direction:column;
  gap:12px;
  padding:13px 20px 20px;
}
.communication-message{
  width:min(82%,720px);
  padding:13px 15px;
  border:1px solid var(--border);
  border-radius:10px 10px 10px 3px;
  background:var(--surface-2);
}
.communication-message.is-outgoing{
  align-self:flex-end;
  border-color:var(--accent-border);
  border-radius:10px 10px 3px 10px;
  background:var(--accent-bg);
}
.communication-message-meta,
.communication-message>footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.communication-message-meta{color:var(--text-secondary);font-size:9px}
.communication-message h3{margin:6px 0 4px;font-size:13px}
.communication-message>p{margin:0;color:var(--text-primary);font-size:12px;line-height:1.55}
.communication-message>footer{margin-top:9px}
.communication-message-state{color:var(--text-secondary);font-size:9px}
.communication-message-actions{display:flex;gap:6px}
.communication-message-actions .btn-ghost{min-height:30px;padding:5px 8px;font-size:9px}
.communication-message-files{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.communication-message-files>a{
  display:flex;
  align-items:center;
  gap:7px;
  padding:7px 9px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-1);
  color:var(--text-primary);
  text-decoration:none;
}
.communication-message-files>a:hover{border-color:var(--accent)}
.communication-message-files span,
.communication-message-files b,
.communication-message-files small{display:block}
.communication-message-files b{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
.communication-message-files small{color:var(--text-secondary);font-size:8px}
.communication-compose-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.communication-compose-grid>label{display:flex;flex-direction:column;gap:6px}
.communication-compose-grid>label>span,
.communication-recipient-picker>div:first-child>span{font-size:10px;font-weight:900}
.communication-compose-grid small{color:var(--text-secondary);font-size:9px;line-height:1.45}
.communication-compose-grid input,
.communication-compose-grid select,
.communication-compose-grid textarea{
  width:100%;
  min-width:0;
  padding:10px;
  border:1px solid var(--border-strong);
  border-radius:7px;
  background:var(--surface-1);
  color:var(--text-primary);
  font:inherit;
}
.communication-recipient-picker,
.communication-reply-context,
.communication-message-field,
.communication-attachment-field,
.communication-compose-files,
.communication-compose-status{grid-column:1/-1}
.communication-reply-context{
  display:grid;
  grid-template-columns:42px minmax(180px,.7fr) minmax(220px,1fr);
  align-items:center;
  gap:10px 13px;
  padding:11px 12px;
  border:1px solid var(--accent-border);
  border-radius:8px;
  background:var(--accent-bg);
}
.communication-reply-context>div{display:grid;gap:2px;min-width:0}
.communication-reply-context>div>span{color:var(--text-secondary);font-size:8px;font-weight:800;text-transform:uppercase}
.communication-reply-context b,
.communication-reply-context small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.communication-reply-context b{font-size:11px}
.communication-reply-context small{color:var(--text-secondary);font-size:9px}
.communication-recipient-picker{
  padding:12px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface-2);
}
.communication-recipient-picker>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.communication-recipient-picker .message-search{margin:9px 0}
.communication-recipient-picker .message-search input{padding-left:36px}
.communication-selected-recipients{
  display:flex;
  min-height:38px;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:9px;
  padding:8px 9px;
  border:1px solid var(--accent-border);
  border-radius:7px;
  background:var(--accent-bg);
}
.communication-selected-recipients>div:first-child{display:grid;flex:0 0 auto;gap:1px}
.communication-selected-recipients b{font-size:10px}
.communication-selected-recipients small{color:var(--text-secondary);font-size:8px}
.communication-recipient-chips{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.communication-recipient-chips button{
  display:flex;
  max-width:220px;
  align-items:center;
  gap:5px;
  padding:4px 7px;
  border:1px solid var(--accent-border);
  border-radius:999px;
  background:var(--surface-1);
  color:var(--text-primary);
  font:inherit;
  font-size:9px;
  cursor:pointer;
}
.communication-recipient-chips button:hover{border-color:var(--accent);color:var(--accent-text)}
.communication-recipient-chips button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.communication-recipient-chips button i{flex:0 0 auto}
#communicationRecipientRows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:110px;overflow:auto}
.communication-recipient-picker .platform-empty.compact{min-height:95px;padding:12px}
.communication-recipient-row{
  display:flex;
  min-width:0;
  align-items:center;
  gap:8px;
  padding:8px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-1);
}
.communication-recipient-row>input{width:16px;height:16px;flex:0 0 auto}
.communication-recipient-row .communication-avatar{width:30px;height:30px;font-size:10px}
.communication-recipient-row>span:last-child{min-width:0}
.communication-recipient-row b,
.communication-recipient-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.communication-recipient-row b{font-size:10px}
.communication-attachment-field{
  display:grid!important;
  grid-template-columns:auto minmax(170px,1fr);
  align-items:center;
  gap:4px 12px!important;
  padding:10px 11px;
  border:1px dashed var(--border-strong);
  border-radius:7px;
  background:var(--surface-2);
}
.communication-attachment-field>span{grid-column:1;font-size:10px;font-weight:900}
.communication-attachment-field>input{
  grid-column:2;
  grid-row:1/3;
  min-height:38px;
  padding:5px!important;
  cursor:pointer;
}
.communication-attachment-field>small{grid-column:1}
.communication-attachment-field.is-disabled{opacity:.65}
.communication-compose-files{min-height:0;color:var(--accent-text);font-size:9px;font-weight:800}
.communication-compose-files:empty{display:none}
.communication-message-field textarea{min-height:260px;resize:vertical}
.communication-compose-status{min-height:18px;color:var(--text-secondary);font-size:10px}
.communication-save-draft{margin-right:auto}
.communication-draft-preview{min-height:500px;padding:20px}
.communication-draft-preview>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-bottom:16px;
  border-bottom:1px solid var(--border);
}
.communication-draft-preview>header h2{margin:4px 0;font-size:20px}
.communication-draft-preview>header p{margin:0;color:var(--text-secondary);font-size:10px}
.communication-draft-preview>header>div:last-child{display:flex;gap:7px;flex-wrap:wrap}
.communication-draft-preview dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}
.communication-draft-preview dl>div,
.communication-draft-preview>section{
  padding:11px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-2);
}
.communication-draft-preview dt,
.communication-draft-preview>section>span{color:var(--text-secondary);font-size:8px;font-weight:850;text-transform:uppercase}
.communication-draft-preview dd{margin:5px 0 0;font-size:11px}
.communication-draft-preview>section p{margin:8px 0 0;color:var(--text-primary);font-size:12px;line-height:1.6}
.student-message-attachments{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:11px 0;
  padding:11px;
  border:1px dashed var(--border-strong);
  border-radius:7px;
  background:var(--surface-2);
  font-size:11px;
}
.student-message-attachments>span{font-weight:800}
.student-message-attachments small{color:var(--text-secondary);font-size:9px;line-height:1.45}
.student-message-attachments.is-disabled{color:var(--text-secondary)}
.desk-message-files{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.desk-message-files>a{
  display:flex;
  align-items:center;
  gap:5px;
  padding:5px 7px;
  border:1px solid var(--border);
  border-radius:6px;
  background:var(--surface-1);
  color:var(--text-primary);
  font-size:9px;
  text-decoration:none;
}
.desk-message-files small{color:var(--text-secondary)}
.desk-message-actions{display:flex;align-items:center;gap:7px;margin-top:7px}
.desk-message-actions button{
  padding:5px 7px;
  border:1px solid var(--border);
  border-radius:5px;
  background:var(--surface-1);
  color:var(--accent-text);
  font:inherit;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
}
.desk-message-actions>span{color:var(--text-secondary);font-size:9px}

@media(max-width:1000px){
  .communication-policy-grid{grid-template-columns:1fr 1fr}
  .communication-policy-grid>aside{grid-column:1/-1}
  .communication-center-grid{grid-template-columns:minmax(260px,40%) minmax(0,1fr)}
  .communication-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .communication-message{width:92%}
}
@media(max-width:760px){
  .strategy-direction-grid{
    grid-template-columns:1fr;
  }
  .strategy-direction-grid .strategy-direction-values{
    grid-column:auto;
  }
  .teaching-message-details,.teaching-message-loading{width:170px}
  .teaching-message-preview{width:min(390px,calc(100vw - 2rem))}
  .communication-folders{overflow-x:auto}
  .communication-folders button{flex:0 0 auto}
  .communication-toolbar{grid-template-columns:1fr}
  .communication-center-grid{display:block}
  .communication-thread-list{display:grid;max-height:430px;border-right:0;border-bottom:1px solid var(--border-strong)}
  #communicationThreadRows{max-height:290px}
  .communication-conversation-head{align-items:flex-start}
  .communication-conversation-head{flex-direction:column}
  .communication-conversation-actions{width:100%;justify-content:flex-start}
  .communication-enrollment-context{display:block}
  .communication-enrollment-context>div{margin-top:8px}
  .communication-message-stream{max-height:none;padding:13px}
  .communication-message{width:100%}
  .communication-compose-grid,#communicationRecipientRows,.communication-policy-grid,.communication-reply-context{grid-template-columns:1fr}
  .communication-compose-grid>*{grid-column:1}
  .communication-reply-context>.communication-avatar{display:none}
  .communication-selected-recipients{display:grid}
  .communication-recipient-chips{justify-content:flex-start}
  .communication-attachment-field{grid-template-columns:1fr}
  .communication-attachment-field>input,
  .communication-attachment-field>small,
  .communication-attachment-field>span{grid-column:1;grid-row:auto}
  .communication-draft-preview>header{flex-direction:column}
  .communication-draft-preview dl{grid-template-columns:1fr}
  .communication-policy-grid>aside{grid-column:1}
}
.platform-week-resource-policy-grid>label{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:6px;
  color:var(--text);
  font-size:10px;
  font-weight:700;
}
.platform-week-resource-policy-grid input,
.platform-week-resource-policy-grid textarea{
  width:100%;
  min-height:42px;
  padding:10px 11px;
  border:1px solid var(--border-strong);
  border-radius:7px;
  background:var(--surface-1);
  color:var(--text);
  font:inherit;
  font-size:11px;
  resize:vertical;
}
.platform-week-resource-policy-grid label>small{
  color:var(--text-muted);
  font-size:9px;
  font-weight:500;
  line-height:1.45;
}
.platform-week-resource-policy-grid>aside{
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:12px;
  border:1px solid var(--accent-border);
  border-radius:7px;
  background:var(--accent-bg);
  color:var(--text-secondary);
  font-size:10px;
  line-height:1.5;
}
.platform-week-resource-policy-grid>aside>i{
  flex:0 0 auto;
  color:var(--accent-text);
  font-size:20px;
}
.platform-week-resource-policy-grid>aside b{
  display:block;
  margin-bottom:2px;
  color:var(--text-primary);
}
.platform-password-policy-grid{
  display:grid;
  grid-template-columns:minmax(150px,.45fr) minmax(170px,.55fr) minmax(210px,.75fr) minmax(260px,1fr);
  align-items:stretch;
  gap:12px;
  margin-top:15px;
}
.platform-password-policy-grid>label{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:6px;
  color:var(--text);
  font-size:10px;
  font-weight:700;
}
.platform-password-policy-grid input[type="number"]{
  width:100%;
  min-height:42px;
  padding:0 11px;
  border:1px solid var(--border-strong);
  border-radius:7px;
  background:var(--surface-1);
  color:var(--text);
  font:inherit;
  font-size:12px;
}
.platform-password-policy-grid label>small{
  color:var(--text-muted);
  font-size:9px;
  font-weight:500;
}
.platform-password-policy-grid fieldset{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 10px;
  min-width:0;
  margin:0;
  padding:9px 11px 10px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-1);
}
.platform-password-policy-grid legend{
  padding:0 4px;
  color:var(--text-secondary);
  font-size:9px;
  font-weight:800;
}
.platform-password-policy-grid fieldset label{
  display:flex;
  align-items:center;
  gap:6px;
  color:var(--text-secondary);
  font-size:9px;
  font-weight:600;
}
.platform-password-policy-grid fieldset input{
  width:15px;
  height:15px;
}
.platform-password-policy-preview{
  display:flex;
  min-width:0;
  flex-direction:column;
  justify-content:center;
  padding:13px 16px;
  border:1px solid var(--accent-border);
  border-radius:8px;
  background:var(--accent-bg);
}
.platform-password-policy-preview>span{
  color:var(--accent-text);
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.platform-password-policy-preview>strong{
  margin-top:5px;
  color:var(--text);
  font-size:11px;
  line-height:1.45;
}
.platform-password-policy-preview>small{
  margin-top:4px;
  color:var(--text-secondary);
  font-size:9px;
}
.platform-regional-settings>header>div{
  display:flex;
  align-items:flex-start;
  gap:11px;
}
.platform-regional-settings h2{
  margin:2px 0 3px;
  font-size:18px;
}
.platform-regional-settings p{
  margin:0;
  color:var(--text-secondary);
  font-size:11px;
  line-height:1.5;
}
.platform-date-format-grid{
  display:grid;
  grid-template-columns:minmax(220px,.9fr) minmax(160px,.55fr) minmax(250px,1fr);
  align-items:stretch;
  gap:12px;
  margin-top:15px;
}
.platform-date-format-grid>label{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:6px;
  color:var(--text);
  font-size:10px;
  font-weight:700;
}
.platform-date-format-grid select{
  width:100%;
  min-height:42px;
  padding:0 11px;
  border:1px solid var(--border-strong);
  border-radius:7px;
  background:var(--surface-1);
  color:var(--text);
  font:inherit;
  font-size:12px;
}
.platform-date-format-grid label>small{
  color:var(--text-muted);
  font-size:9px;
  font-weight:500;
}
.platform-date-preview{
  display:flex;
  min-width:0;
  flex-direction:column;
  justify-content:center;
  padding:13px 16px;
  border:1px solid var(--accent-border);
  border-radius:8px;
  background:var(--accent-bg);
}
.platform-date-preview>span{
  color:var(--accent-text);
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.platform-date-preview>strong{
  margin-top:5px;
  color:var(--text);
  font-size:20px;
}
.platform-date-preview>small{
  margin-top:3px;
  color:var(--text-secondary);
  font-size:10px;
}
.platform-settings-taxonomy-editor>section{
  display:flex;
  min-width:0;
  flex-direction:column;
}
.platform-settings-taxonomy-editor>section>header>div{
  display:flex;
  min-width:0;
  align-items:flex-start;
  gap:10px;
}
.platform-settings-category-icon{
  display:inline-flex;
  width:36px;
  height:36px;
  flex:0 0 36px;
  align-items:center;
  justify-content:center;
  border-radius:7px;
  background:var(--accent-bg);
  color:var(--accent-text);
  font-size:19px;
}
.platform-settings-option-count{
  display:block;
  margin-top:auto;
  padding-top:11px;
  color:var(--text-muted);
  font-size:9px;
  text-align:right;
}
.platform-settings-actions{
  position:sticky;
  bottom:10px;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 14px;
  border:1px solid var(--border-strong);
  border-radius:8px;
  background:color-mix(in srgb,var(--surface-2) 94%,transparent);
  box-shadow:0 8px 28px rgba(0,0,0,.12);
  backdrop-filter:blur(12px);
}
.platform-settings-actions>span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--success-text);
  font-size:10px;
  font-weight:700;
}
.platform-settings-actions>span.is-dirty{
  color:var(--warning-text);
}
.platform-settings-actions>span.is-error{
  color:var(--danger-text);
}
.platform-settings-actions>span .ti-loader-2{
  animation:platform-spin 1s linear infinite;
}
.platform-settings-actions>div{
  display:flex;
  align-items:center;
  gap:8px;
}
.platform-settings-actions [data-platform-settings-save]:disabled,.platform-settings-actions [data-platform-settings-reload]:disabled{border-color:var(--border);background:var(--surface-2);color:var(--text-muted);box-shadow:none;cursor:not-allowed;opacity:1;filter:none;transform:none}
.platform-check{
  display:flex!important;
  min-height:42px;
  flex-direction:row!important;
  align-items:center;
  gap:9px!important;
  padding:10px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-1);
}
.platform-check input{
  width:18px!important;
  min-height:18px!important;
}
.platform-form-note,
.platform-shell-note{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:14px;
  padding:12px;
  border-left:3px solid var(--accent);
  background:var(--accent-bg);
  color:var(--text-secondary);
  font-size:11px;
  line-height:1.5;
}
.platform-form-note i,
.platform-shell-note i{
  flex:0 0 auto;
  color:var(--accent-text);
  font-size:19px;
}
.platform-form-note.warning{
  border-left-color:var(--warning-text);
  background:var(--warning-bg);
  color:var(--warning-text);
}
.platform-form-note.warning i{
  color:var(--warning-text);
}
.course-shell-editor{
  max-width:1180px;
  margin-right:auto;
  margin-left:auto;
}
.course-shell-content-editor{
  width:100%;
  max-width:none;
}
.shell-content-editor-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:18px;
}
.shell-content-editor-head h2{
  margin:3px 0 5px;
}
.shell-content-editor-head p{
  max-width:760px;
  margin:0;
  color:var(--text-muted);
}
.shell-content-week-nav{
  display:flex;
  align-items:flex-end;
  gap:8px;
  flex:0 1 520px;
}
.shell-content-week-nav label{
  min-width:0;
  flex:1;
}
.shell-content-week-nav .icon-btn{
  flex:0 0 auto;
  margin-bottom:1px;
}
.shell-content-week{
  scroll-margin-top:90px;
}
.shell-content-week-title{
  display:grid;
  grid-template-columns:56px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  margin:20px 0;
  padding-bottom:16px;
  border-bottom:1px solid var(--border);
}
.shell-content-week-title>span{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:9px;
  background:var(--accent);
  color:#fff;
  font-size:20px;
  font-weight:850;
}
.shell-content-week-title small{
  color:var(--accent-text);
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.shell-content-week-title h3{
  margin:2px 0 0;
  font-size:24px;
}
.shell-content-foundation{
  padding:18px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--surface-1);
}
.shell-content-section-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.shell-content-section{
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--surface-0);
}
.shell-content-section>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 15px;
  border-bottom:1px solid var(--border);
  background:var(--surface-1);
}
.shell-content-section>header>span{
  display:flex;
  align-items:center;
  gap:10px;
}
.shell-content-section>header>span>i{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:7px;
  background:var(--accent-bg);
  color:var(--accent-text);
  font-size:18px;
}
.shell-content-section>header b,
.shell-content-section>header small{
  display:block;
}
.shell-content-section>header small{
  margin-top:2px;
  color:var(--text-muted);
}
.shell-content-section>header em{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:var(--success-text);
  font-size:11px;
  font-style:normal;
  font-weight:750;
  white-space:nowrap;
}
.shell-content-section>div{
  display:grid;
  gap:12px;
  padding:15px;
}
.shell-content-section.is-excluded{
  border-style:dashed;
}
.shell-content-section.is-excluded>header em{
  color:var(--text-muted);
}
.shell-content-section.is-excluded>div{
  opacity:.72;
}
.shell-week-authored-content{
  display:grid;
  gap:16px;
  margin-top:18px;
  padding:18px;
  border:1px solid var(--border);
  border-left:4px solid var(--accent);
  border-radius:8px;
  background:var(--surface-0);
}
.shell-week-authored-content aside{
  display:flex;
  gap:10px;
  padding:12px;
  border-radius:7px;
  background:var(--accent-bg);
}
.shell-week-authored-content aside>i{
  color:var(--accent-text);
  font-size:20px;
}
.shell-week-authored-content aside b{
  display:block;
  margin-bottom:3px;
}
.shell-week-authored-content h3{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 0 8px;
  font-size:15px;
}
.shell-week-written-sections{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.shell-week-written-sections>article{
  padding:14px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-1);
}
.course-shell-grade-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.course-shell-grade-list>label{
  display:grid;
  grid-template-columns:minmax(0,1fr) 100px auto;
  align-items:center;
  gap:12px;
  min-height:60px;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-1);
}
.course-shell-grade-list input{
  text-align:right;
}
.course-shell-weeks{
  display:grid;
  gap:12px;
  margin-top:14px;
}
.course-shell-weeks>article{
  display:grid;
  grid-template-columns:45px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:13px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-1);
}
.course-shell-weeks>article>strong,
.course-shell-weeks>article>span:first-child{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:7px;
  background:var(--accent-bg);
  color:var(--accent-text);
}
.course-shell-week-editor-head>div:last-child{
  display:flex;
  align-items:flex-end;
  gap:9px;
}
.course-shell-week-editor-head>div:last-child>label{
  width:90px;
}
.course-shell-week-editor-head>div:last-child input{
  min-height:38px;
}
.course-shell-week-fields{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(190px,1fr) minmax(180px,.75fr);
  gap:9px;
}
.course-shell-week-menu{
  grid-column:2;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-2);
  overflow:hidden;
}
.course-shell-week-menu>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:48px;
  padding:9px 11px;
  cursor:pointer;
  list-style:none;
}
.course-shell-week-menu>summary::-webkit-details-marker{display:none}
.course-shell-week-menu>summary>span{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}
.course-shell-week-menu>summary>span>i{
  color:var(--accent-text);
  font-size:18px;
}
.course-shell-week-menu>summary span span,
.course-shell-week-menu>summary b,
.course-shell-week-menu>summary small{display:block}
.course-shell-week-menu>summary b{font-size:11px}
.course-shell-week-menu>summary small{
  margin-top:2px;
  color:var(--text-muted);
  font-size:9px;
}
.course-shell-week-menu>summary em{
  display:inline-flex;
  align-items:center;
  gap:4px;
  flex:0 0 auto;
  color:var(--text-muted);
  font-size:9px;
  font-style:normal;
  font-weight:700;
}
.course-shell-week-menu>summary em>b{
  color:var(--accent-text);
  font-size:11px;
}
.course-shell-week-menu>summary em>i{transition:transform .18s ease}
.course-shell-week-menu[open]>summary{
  border-bottom:1px solid var(--border);
  background:var(--accent-bg);
}
.course-shell-week-menu[open]>summary em>i{transform:rotate(180deg)}
.course-shell-week-menu-body{padding:10px}
.course-shell-week-menu-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.course-shell-week-menu-option{
  position:relative;
  min-width:0;
  cursor:pointer;
}
.course-shell-week-menu-option>input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.course-shell-week-menu-option>span{
  display:grid;
  grid-template-columns:28px minmax(0,1fr) 18px;
  align-items:center;
  gap:8px;
  min-height:52px;
  padding:8px;
  border:1px solid var(--border);
  border-radius:6px;
  background:var(--surface-1);
  transition:border-color .15s ease,background .15s ease;
}
.course-shell-week-menu-option>span>i:first-child{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:6px;
  background:var(--surface-2);
  color:var(--text-muted);
  font-size:16px;
}
.course-shell-week-menu-option>span>span,
.course-shell-week-menu-option b,
.course-shell-week-menu-option small{display:block;min-width:0}
.course-shell-week-menu-option b{font-size:10px}
.course-shell-week-menu-option small{
  margin-top:2px;
  color:var(--text-muted);
  font-size:8px;
  line-height:1.35;
}
.course-shell-week-menu-option>span>i:last-child{
  color:transparent;
  font-size:15px;
}
.course-shell-week-menu-option>input:checked+span{
  border-color:var(--accent-border);
  background:var(--accent-bg);
}
.course-shell-week-menu-option>input:checked+span>i:first-child,
.course-shell-week-menu-option>input:checked+span>i:last-child{color:var(--accent-text)}
.course-shell-week-menu-option>input:focus-visible+span{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
.course-shell-week-menu-body>footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:9px;
  padding-top:9px;
  border-top:1px solid var(--border);
}
.course-shell-week-menu-body>footer>span{
  display:flex;
  align-items:center;
  gap:6px;
  color:var(--text-muted);
  font-size:8px;
}
.course-shell-week-menu-body>footer>span i{color:var(--accent-text)}
.course-shell-week-menu-body>footer>div{
  display:flex;
  gap:6px;
  flex:0 0 auto;
}
.course-shell-week-menu-body>footer .btn-ghost{
  min-height:30px;
  padding:5px 8px;
  font-size:9px;
}
.course-shell-appearance{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.course-shell-preview{
  display:flex;
  align-items:center;
  gap:13px;
  margin-top:18px;
  padding:17px;
  border:1px solid var(--accent-border);
  border-left:5px solid var(--shell-accent,var(--accent));
  border-radius:7px;
  background:var(--accent-bg);
}
.course-shell-preview>i{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:7px;
  background:var(--shell-accent,var(--accent));
  color:#fff;
  font-size:25px;
}
.course-shell-preview b,
.course-shell-preview span{
  display:block;
}
.course-shell-preview b{
  color:var(--accent-text);
  font-size:11px;
  letter-spacing:.06em;
}
.shell-course-context{
  display:flex;
  align-items:center;
  gap:10px;
  margin:-10px 0 16px;
  padding:10px 12px;
  border:1px solid var(--accent-border);
  border-radius:7px;
  background:var(--accent-bg);
  color:var(--text-secondary);
  font-size:11px;
}
.shell-course-context>span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.shell-course-context>span:first-child{
  margin-right:auto;
  color:var(--text-primary);
}
.shell-course-context i{
  color:var(--accent-text);
  font-size:17px;
}
.shell-course-context b{
  color:var(--accent-text);
}
.shell-starter-guide{
  margin:0 0 16px;
  padding:16px;
  border:1px dashed var(--accent-border);
  border-radius:8px;
  background:color-mix(in srgb,var(--accent-bg) 58%,var(--surface-2));
}
.shell-starter-guide>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.shell-starter-guide>header h2{
  margin:6px 0 4px;
  font-size:18px;
}
.shell-starter-guide>header p{
  max-width:780px;
  margin:0;
  color:var(--text-secondary);
  font-size:11px;
  line-height:1.5;
}
.shell-starter-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 8px;
  border-radius:999px;
  background:var(--warning-bg);
  color:var(--warning-text);
  font-size:9px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.shell-starter-prompt{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  align-items:center;
  gap:9px;
  margin-top:13px;
  padding:10px;
  border:1px solid var(--accent-border);
  border-radius:7px;
  background:var(--surface-1);
  color:var(--text-secondary);
  font-size:11px;
}
.shell-starter-prompt>i{
  color:var(--accent-text);
  font-size:21px;
}
.shell-starter-prompt span,
.shell-starter-prompt b{
  display:block;
}
.shell-starter-prompt b{
  margin-bottom:2px;
  color:var(--text-primary);
}
.shell-starter-checklist{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-top:13px;
}
.shell-starter-checklist h3{
  grid-column:1/-1;
  margin:0 0 2px;
  font-size:13px;
}
.shell-starter-checklist a{
  display:grid;
  grid-template-columns:26px minmax(0,1fr) 18px;
  align-items:center;
  gap:8px;
  padding:9px;
  border:1px solid var(--border);
  border-radius:6px;
  background:var(--surface-1);
  color:var(--text-secondary);
  font-size:10px;
  line-height:1.4;
  text-decoration:none;
}
.shell-starter-checklist a:hover{
  border-color:var(--accent-border);
  color:var(--accent-text);
}
.shell-starter-checklist a>span{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:50%;
  background:var(--accent-bg);
  color:var(--accent-text);
  font-weight:800;
}
.shell-starter-checklist a>i{
  color:var(--accent-text);
}
.shell-starter-example{
  margin-top:13px;
  padding:12px;
  border-left:4px solid var(--accent);
  background:var(--surface-1);
}
.shell-starter-example>span{
  color:var(--warning-text);
  font-size:9px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.shell-starter-example h3{
  margin:4px 0;
  font-size:13px;
}
.shell-starter-example p{
  margin:0;
  color:var(--text-secondary);
  font-size:11px;
  line-height:1.5;
}
.shell-starter-hidden{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:0 0 16px;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-2);
  color:var(--text-muted);
  font-size:10px;
}
.shell-starter-hidden>span{
  display:flex;
  align-items:center;
  gap:8px;
}
.shell-starter-hidden>span>i{
  color:var(--accent-text);
  font-size:18px;
}
.shell-starter-hidden b{
  display:block;
  color:var(--text-secondary);
  font-size:11px;
}
[data-workspace="teaching"][data-course-button-shape="pill"] .btn-accent,
[data-workspace="teaching"][data-course-button-shape="pill"] .btn-ghost{
  border-radius:999px;
}
[data-workspace="teaching"][data-course-button-style="outline"] .btn-accent{
  border-color:var(--accent);
  background:var(--surface-1);
  color:var(--accent-text);
}
[data-workspace="teaching"][data-course-button-style="outline"] .btn-accent:hover{
  background:var(--accent);
  color:#fff;
}
.shell-course-rich{
  color:var(--text-secondary);
  font-size:13px;
  line-height:1.65;
}
.shell-course-rich>:first-child{margin-top:0}
.shell-course-rich>:last-child{margin-bottom:0}
.shell-course-overview-grid h3{
  margin:20px 0 8px;
  font-size:14px;
}
.shell-course-objectives{
  display:grid;
  gap:7px;
  margin:0;
  padding-left:22px;
  color:var(--text-secondary);
  font-size:12px;
  line-height:1.55;
}
.shell-course-objectives li::marker{
  color:var(--accent-text);
  font-weight:800;
}
.shell-course-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin:0;
}
.shell-course-facts>div{
  padding:10px;
  border:1px solid var(--border);
  border-radius:6px;
  background:var(--surface-1);
}
.shell-course-facts dt{
  color:var(--text-muted);
  font-size:9px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.shell-course-facts dd{
  margin:4px 0 0;
  color:var(--text-primary);
  font-size:12px;
  font-weight:700;
}
.shell-course-quick-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
}
.shell-course-syllabus-lead{
  padding-bottom:18px;
  border-bottom:1px solid var(--border);
}
.shell-course-syllabus .platform-two-column{
  margin:18px 0 0;
}
.shell-course-syllabus-sections{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:18px;
}
.shell-course-syllabus-sections>article{
  padding:14px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-1);
}
.shell-course-syllabus-sections h3{
  margin:0 0 8px;
  font-size:13px;
}
.shell-week-browser{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:12px;
  padding:14px 16px;
}
.shell-week-browser-copy{
  min-width:220px;
}
.shell-week-browser-copy h2{
  margin:2px 0 3px;
  font-size:15px;
}
.shell-week-browser-copy p{
  margin:0;
  color:var(--text-muted);
  font-size:10px;
}
.shell-week-browser-controls{
  display:flex;
  min-width:0;
  align-items:center;
  gap:10px;
}
.shell-week-view-switch{
  display:inline-flex;
  flex:0 0 auto;
  gap:3px;
  padding:3px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-1);
}
.shell-week-view-switch button{
  display:inline-flex;
  min-height:34px;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border:0;
  border-radius:5px;
  background:transparent;
  color:var(--text-secondary);
  cursor:pointer;
  font:inherit;
  font-size:10px;
  font-weight:750;
}
.shell-week-view-switch button:hover{background:var(--surface-2)}
.shell-week-view-switch button.active,
.shell-week-view-switch button[aria-pressed="true"]{
  background:var(--accent);
  color:#fff;
}
.shell-week-navigation{
  display:flex;
  min-width:0;
  align-items:center;
  gap:7px;
}
.shell-week-navigation[hidden]{display:none}
.shell-week-navigation>.icon-btn{
  width:34px;
  height:34px;
  flex:0 0 34px;
}
.shell-week-navigation label{
  display:flex;
  min-width:0;
  align-items:center;
  gap:6px;
}
.shell-week-navigation label>span,
.shell-week-navigation>span{
  color:var(--text-muted);
  font-size:9px;
  font-weight:700;
  white-space:nowrap;
}
.shell-week-navigation select{
  width:min(300px,26vw);
  min-height:34px;
  padding:5px 28px 5px 8px;
  border:1px solid var(--border);
  border-radius:6px;
  background:var(--surface-0);
  color:var(--text-primary);
  font:inherit;
  font-size:10px;
}
.shell-course-week-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.shell-course-week-list[data-week-view-mode="focused"]{
  grid-template-columns:minmax(0,1fr);
}
.shell-course-week-list>.platform-panel{
  margin:0;
  padding:15px;
  scroll-margin-top:88px;
}
.shell-course-week-list>.platform-panel:focus{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
.shell-course-week-list[data-week-view-mode="focused"]>.platform-panel{
  padding:22px;
}
.shell-course-week-list header{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:start;
  gap:10px;
}
.shell-course-week-list header>span{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:7px;
  background:var(--accent);
  color:#fff;
  font-weight:800;
}
.shell-course-week-list header small{
  color:var(--accent-text);
  font-size:9px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.shell-course-week-list header h2{
  margin:2px 0 3px;
  font-size:15px;
}
.shell-course-week-list header p{
  margin:0;
  color:var(--text-muted);
  font-size:10px;
}
.shell-course-week-list header em{
  padding:4px 7px;
  border-radius:999px;
  background:var(--warning-bg);
  color:var(--warning-text);
  font-size:8px;
  font-style:normal;
  font-weight:800;
  text-transform:uppercase;
}
.shell-course-week-list header em.published{
  background:var(--success-bg);
  color:var(--success-text);
}
.shell-week-card-actions{
  display:flex;
  align-items:flex-end;
  flex-direction:column;
  gap:8px;
}
.shell-week-card-actions .btn-ghost{
  min-height:31px;
  padding:5px 8px;
  font-size:9px;
}
.shell-course-week-list[data-week-view-mode="focused"] .shell-week-card-actions .btn-ghost{
  display:none;
}
.shell-course-week-list[data-week-view-mode="focused"] header{
  grid-template-columns:58px minmax(0,1fr) auto;
  gap:14px;
}
.shell-course-week-list[data-week-view-mode="focused"] header>span{
  width:56px;
  height:56px;
  font-size:19px;
}
.shell-course-week-list[data-week-view-mode="focused"] header h2{
  margin-top:3px;
  font-size:22px;
}
.shell-course-week-list[data-week-view-mode="focused"] header p{
  font-size:12px;
}
.shell-course-week-sections{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  margin-top:13px;
}
.shell-course-week-sections span{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:5px 7px;
  border-radius:5px;
  background:var(--surface-1);
  color:var(--text-secondary);
  font-size:9px;
}
.shell-course-week-sections i{color:var(--accent-text)}
.shell-course-week-list[data-week-view-mode="focused"] .shell-course-week-sections{
  gap:7px;
  margin-top:18px;
}
.shell-course-week-list[data-week-view-mode="focused"] .shell-course-week-sections span{
  padding:7px 9px;
  font-size:11px;
}
.shell-course-week-list footer{
  display:flex;
  align-items:center;
  gap:5px;
  margin-top:11px;
  padding-top:10px;
  border-top:1px solid var(--border);
  color:var(--text-muted);
  font-size:10px;
}
.week-repository{
  margin-top:12px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-1);
  overflow:hidden;
}
.week-repository>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 11px;
  color:var(--text-secondary);
  cursor:pointer;
  font-size:10px;
  font-weight:750;
  list-style:none;
}
.week-repository>summary::-webkit-details-marker{display:none}
.week-repository>summary>span{
  display:flex;
  min-width:0;
  align-items:center;
  gap:6px;
}
.week-repository>summary>span>i{color:var(--accent-text);font-size:16px}
.week-repository>summary small{
  color:var(--text-muted);
  font-size:9px;
  font-weight:550;
}
.week-repository>summary>i{
  transition:transform .18s ease;
}
.week-repository[open]>summary{
  border-bottom:1px solid var(--border);
  background:var(--accent-bg);
  color:var(--accent-text);
}
.week-repository[open]>summary>i{transform:rotate(180deg)}
.week-repository>[data-week-repository]{padding:12px}
.week-repository-toolbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.week-repository-toolbar h3{
  margin:2px 0;
  font-size:13px;
}
.week-repository-toolbar p{
  margin:0;
  color:var(--text-muted);
  font-size:9px;
}
.week-repository-toolbar>div:last-child{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.week-repository-toolbar .btn-ghost,
.week-repository-toolbar .btn-accent{
  min-height:33px;
  padding:6px 9px;
  font-size:9px;
}
.week-repository-quota{
  height:4px;
  margin:10px 0;
  border-radius:999px;
  background:var(--surface-3);
  overflow:hidden;
}
.week-repository-quota>span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:var(--accent);
}
.week-repository-tree{
  border:1px solid var(--border);
  border-radius:6px;
  background:var(--surface-2);
  overflow:hidden;
}
.week-repository-row{
  display:grid;
  grid-template-columns:29px minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
  min-height:43px;
  padding:6px 7px 6px calc(7px + var(--repository-depth,0) * 16px);
  border-bottom:1px solid var(--border);
}
.week-repository-row:hover{background:var(--accent-bg)}
.week-repository-node-icon{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:5px;
  background:var(--surface-1);
  color:var(--accent-text);
  font-size:16px;
}
.week-repository-row.folder .week-repository-node-icon{
  background:var(--accent-bg);
}
.week-repository-node-copy{
  display:block;
  min-width:0;
  color:var(--text-secondary);
  text-decoration:none;
}
.week-repository-node-copy b,
.week-repository-node-copy small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.week-repository-node-copy b{
  color:var(--text-primary);
  font-size:10px;
}
.week-repository-node-copy small{
  margin-top:2px;
  color:var(--text-muted);
  font-size:8px;
}
.week-repository-row.file .week-repository-node-copy:hover b{
  color:var(--accent-text);
  text-decoration:underline;
}
.week-repository-row-actions{
  display:flex;
  align-items:center;
  gap:2px;
  opacity:.42;
  transition:opacity .15s ease;
}
.week-repository-row:hover .week-repository-row-actions,
.week-repository-row:focus-within .week-repository-row-actions{opacity:1}
.week-repository-row-actions button{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  padding:0;
  border:1px solid transparent;
  border-radius:5px;
  background:transparent;
  color:var(--text-secondary);
  cursor:pointer;
}
.week-repository-row-actions button:hover{
  border-color:var(--border-strong);
  background:var(--surface-1);
  color:var(--accent-text);
}
.week-repository-row-actions button.danger:hover{color:var(--danger)}
.week-repository-row-actions button:disabled{opacity:.25;cursor:not-allowed}
.week-repository-children>.week-repository-folder:last-child>.week-repository-row,
.week-repository-tree>.week-repository-folder:last-child>.week-repository-row,
.week-repository-tree>.week-repository-row:last-child{border-bottom:0}
.week-repository-folder-empty{
  margin:0;
  padding:6px 10px 7px calc(44px + var(--repository-depth,0) * 16px);
  border-bottom:1px solid var(--border);
  color:var(--text-muted);
  font-size:8px;
  font-style:italic;
}
.week-repository-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:92px;
  padding:15px;
  color:var(--text-muted);
  text-align:left;
}
.week-repository-empty.compact{min-height:62px}
.week-repository-empty>i{font-size:28px}
.week-repository-empty span,
.week-repository-empty b,
.week-repository-empty small{display:block}
.week-repository-empty b{color:var(--text-secondary);font-size:11px}
.week-repository-empty small{margin-top:2px;font-size:9px}
.week-repository>[data-week-repository]>footer{
  display:flex;
  align-items:flex-start;
  gap:6px;
  margin-top:9px;
  padding:0;
  border:0;
  color:var(--text-muted);
  font-size:8px;
  line-height:1.45;
}
.week-repository>[data-week-repository]>footer i{color:var(--accent-text)}
.week-upload-metadata{
  display:grid;
  gap:8px;
  margin-top:12px;
}
.week-upload-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:var(--text-secondary);
  font-size:10px;
}
.week-upload-metadata>section{
  display:grid;
  grid-template-columns:minmax(170px,.7fr) minmax(180px,.8fr) minmax(220px,1.2fr);
  align-items:start;
  gap:9px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-2);
}
.week-upload-metadata>section>div{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.week-upload-metadata>section>div>i{
  flex:0 0 auto;
  color:var(--accent-text);
  font-size:22px;
}
.week-upload-metadata>section>div span,
.week-upload-metadata>section>div b,
.week-upload-metadata>section>div small{display:block;min-width:0}
.week-upload-metadata>section>div b{
  overflow:hidden;
  color:var(--text-primary);
  font-size:10px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.week-upload-metadata>section>div small{color:var(--text-muted);font-size:8px}
.week-upload-metadata label{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:4px;
  color:var(--text-secondary);
  font-size:9px;
  font-weight:700;
}
.week-upload-metadata input,
.week-upload-metadata textarea{
  width:100%;
  padding:7px 8px;
  border:1px solid var(--border-strong);
  border-radius:5px;
  background:var(--surface-1);
  color:var(--text-primary);
  font:inherit;
  font-size:9px;
  resize:vertical;
}
#weekUploadStatus.is-error{color:var(--danger)}
.shell-course-grading-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.shell-course-grading-list>article{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--surface-1);
}
.shell-course-grading-list span{
  display:flex;
  align-items:center;
  gap:8px;
}
.shell-course-grading-list i{
  color:var(--accent-text);
  font-size:18px;
}
.shell-course-grading-list strong{
  color:var(--accent-text);
  font-size:17px;
}
.platform-shell-staff{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.platform-shell-staff>span{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  align-items:center;
  padding:9px;
  border:1px solid var(--border);
  border-radius:6px;
  background:var(--surface-1);
}
.platform-shell-staff i{
  grid-row:1/3;
  color:var(--accent-text);
  font-size:19px;
}
.platform-shell-staff small{
  color:var(--text-muted);
  font-size:9px;
  text-transform:capitalize;
}
@media(max-width:1180px){
  .platform-planner{grid-template-columns:repeat(2,minmax(240px,1fr))}
  .platform-planning-scope{align-items:stretch;flex-direction:column}
  .platform-planning-scope-fields{width:100%;min-width:0}
  .platform-staff-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}
  .platform-directory-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .platform-course-directory-toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}
  .platform-course-directory-search{grid-column:1/-1}
  .platform-sort-direction,.platform-filter-reset{justify-self:start}
  .platform-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .platform-access-role-grid,.platform-account-state,.platform-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .platform-appointment-row{grid-template-columns:minmax(160px,1fr) 130px 130px 36px}
  .platform-appointment-description{grid-column:1/3}
  .platform-appointment-row>.platform-check{grid-column:3}
  .course-shell-week-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .course-shell-week-fields>label:last-child{grid-column:1/-1}
  .platform-password-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .platform-week-resource-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .platform-week-resource-policy-grid>aside{grid-column:1/-1}
  .week-upload-metadata>section{grid-template-columns:minmax(160px,.7fr) minmax(180px,1fr)}
  .week-upload-metadata>section>label:last-child{grid-column:1/-1}
}
@media(max-width:900px){
  .teaching-workspace-hero{grid-template-columns:1fr}
  .teaching-workspace-hero-visual{min-height:270px}
  .teaching-workspace-hero-copy{padding-bottom:16px}
  .communication-hero,
  .communication-hero.is-course-scoped{grid-template-columns:1fr}
  .communication-hero-visual,
  .communication-hero.is-course-scoped .communication-hero-visual{min-height:260px}
  .communication-hero-copy{padding-bottom:16px}
  .platform-page-head,
  .course-shell-head{align-items:flex-start;flex-direction:column}
  .platform-page-head.platform-context-head{
    display:grid;
    grid-template-columns:1fr;
    min-height:0;
  }
  .platform-head-actions,
  .course-shell-head>div:last-child{justify-content:flex-start}
  .platform-split,
  .platform-two-column{grid-template-columns:1fr}
  .platform-directory-heading{align-items:stretch;flex-direction:column}
  .platform-directory-primary-controls{justify-content:space-between}
  .platform-directory-primary-controls .platform-search{width:100%}
  .platform-directory-footer{align-items:flex-start;flex-wrap:wrap}
  .platform-page-size{margin-left:0}
  .course-shell-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .course-shell-tabs a{white-space:normal;text-align:center}
  .course-launch-intro{grid-template-columns:1fr}
  .course-launch-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
  .course-launch-steps button:nth-child(3){border-right:0}
  .course-launch-steps button:nth-child(-n+3){border-bottom:1px solid var(--border-soft)}
  .shell-week-browser{align-items:stretch;flex-direction:column}
  .shell-week-browser-controls{justify-content:space-between}
  .course-shell-grade-list,
  .course-shell-appearance{grid-template-columns:1fr}
  .platform-affiliation-list,.platform-taxonomy-editor{grid-template-columns:1fr}
  .shell-course-week-list,.shell-course-syllabus-sections{grid-template-columns:1fr}
  .shell-course-context{align-items:flex-start;flex-direction:column}
  .shell-course-context>span:first-child{margin-right:0}
  .shell-starter-checklist{grid-template-columns:1fr}
}
@media(max-width:680px){
  .teaching-workspace-hero{border-radius:18px}
  .teaching-workspace-hero-copy{padding:28px 22px 10px}
  .teaching-workspace-hero-copy h1{font-size:46px}
  .teaching-workspace-hero-copy p{font-size:13px}
  .teaching-workspace-hero-visual{min-height:235px}
  .teaching-hero-hub{width:118px;height:118px}
  .teaching-hero-course-3{display:none}
  .teaching-hero-caption{left:18px;bottom:13px}
  .communication-hero{border-radius:18px}
  .communication-hero-copy{padding:28px 22px 10px}
  .communication-hero-copy h1{font-size:42px}
  .communication-hero-copy p{font-size:13px}
  .communication-hero-visual,
  .communication-hero.is-course-scoped .communication-hero-visual{min-height:230px}
  .communication-hero-hub{width:126px;height:126px}
  .communication-hero-course-3{display:none}
  .communication-hero-caption{right:18px;bottom:13px}
  .platform-workspace,
  .course-shell{padding-bottom:20px}
  .platform-page-head,
  .course-shell-head{gap:15px;padding-bottom:16px}
  .platform-page-head.platform-context-head{
    gap:15px;
    padding:18px 17px;
    border-radius:17px;
  }
  .platform-context-main{align-items:flex-start;gap:13px}
  .platform-context-icon{width:48px;height:48px;border-radius:14px;font-size:24px}
  .platform-page-head.platform-context-head .platform-context-copy h1{font-size:26px!important}
  .platform-context-motto{margin-top:7px}
  .platform-page-head h1,
  .course-shell-head h1{font-size:27px}
  .platform-head-actions .btn-ghost,
  .platform-head-actions .btn-accent{flex:1;justify-content:center}
  .course-shell-tabs{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:17px}
  .course-launch-intro{gap:18px;padding:19px}
  .course-launch-paths,
  .course-launch-experiences,
  .course-launch-review-grid{grid-template-columns:1fr}
  .course-launch-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .course-launch-steps button:nth-child(3){border-right:1px solid var(--border-soft)}
  .course-launch-steps button:nth-child(even){border-right:0}
  .course-launch-steps button:nth-child(-n+4){border-bottom:1px solid var(--border-soft)}
  .course-launch-panels{min-height:0;padding:22px 17px}
  .course-launch-choice{grid-template-columns:1fr}
  .course-launch-attendance{grid-template-columns:1fr}
  .course-launch-actions{align-items:stretch;flex-wrap:wrap}
  .course-launch-actions>[data-launch-back]{margin-right:0}
  .course-launch-actions #courseLaunchStatus{order:-1;width:100%}
  .course-launch-actions button{flex:1;justify-content:center}
  .platform-kpis,
  .platform-planner,
  .platform-staff-grid{grid-template-columns:1fr}
  .platform-planning-scope-fields{grid-template-columns:1fr}
  .platform-planning-scope-fields>i{display:none}
  .platform-planning-context{align-items:flex-start;flex-direction:column}
  .platform-planning-context>div{align-items:flex-start;flex-direction:column}
  .platform-planning-context>div>i{display:none}
  .platform-directory-primary-controls{align-items:stretch;flex-direction:column}
  .platform-view-switch{align-self:flex-start}
  .platform-directory-filters{grid-template-columns:1fr}
  .platform-course-directory-toolbar{grid-template-columns:1fr}
  .platform-course-directory-search{grid-column:auto}
  .platform-course-directory-toolbar .platform-sort-direction,
  .platform-course-directory-toolbar .platform-filter-reset{width:100%}
  .platform-sort-direction,.platform-filter-reset{width:100%;justify-self:stretch}
  .platform-directory-footer{flex-direction:column}
  .platform-page-size{flex-wrap:wrap}
  .platform-pagination{width:100%;justify-content:space-between}
  .platform-panel{padding:15px}
  .shell-week-browser-controls{align-items:stretch;flex-direction:column}
  .shell-week-view-switch{align-self:flex-start}
  .shell-week-navigation{width:100%}
  .shell-week-navigation label{flex:1}
  .shell-week-navigation select{width:100%}
  .shell-week-navigation>span{display:none}
  .shell-course-week-list[data-week-view-mode="focused"]>.platform-panel{padding:16px}
  .shell-course-week-list[data-week-view-mode="focused"] header{grid-template-columns:44px minmax(0,1fr)}
  .shell-course-week-list[data-week-view-mode="focused"] header>span{width:42px;height:42px;font-size:15px}
  .shell-course-week-list[data-week-view-mode="focused"] header h2{font-size:17px}
  .shell-week-card-actions{grid-column:2;align-items:flex-start;flex-direction:row}
  .shell-course-facts,.shell-course-grading-list{grid-template-columns:1fr}
  .shell-starter-guide>header,.shell-starter-hidden{align-items:stretch;flex-direction:column}
  .platform-section-head{align-items:stretch;flex-direction:column;gap:10px}
  .platform-search{width:100%}
  .platform-structure-title{align-items:flex-start;flex-direction:column}
  .platform-structure-open,
  .platform-structure-static{width:100%}
  .platform-department-card{flex-basis:100%}
  .platform-form-modal{padding:8px}
  .platform-form-modal[data-platform-window-mode="maximized"]{padding:0}
  .platform-form-modal[data-platform-window-mode="maximized"]>.fig-modal-inner{width:100vw;height:100dvh}
  .platform-form-modal[data-platform-window-mode="minimized"]{padding:8px}
  .platform-form-modal[data-platform-window-mode="minimized"]>.fig-modal-inner{width:calc(100vw - 16px)}
  .platform-form{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
  .platform-form-modal[data-platform-window-mode="maximized"] .platform-form{width:100vw;max-height:100dvh;border-radius:0}
  .platform-form>header,
  .platform-form>footer,
  .platform-form-body{padding:14px}
  .platform-modal-window-controls{gap:3px}
  .platform-modal-window-controls .icon-btn{width:32px;height:32px;flex-basis:32px}
  .platform-form-grid{grid-template-columns:1fr}
  .platform-form-wide{grid-column:auto}
  .platform-entity-lifecycle{align-items:stretch;flex-direction:column}
  .platform-entity-lifecycle .btn-danger{align-self:flex-start}
  .platform-child-manager-summary{display:grid}
  .platform-child-manager-actions{flex-wrap:wrap}
  .platform-child-manager-list{grid-template-columns:1fr}
  .platform-date-format-grid{grid-template-columns:1fr}
  .platform-password-policy-grid{grid-template-columns:1fr}
  .platform-week-resource-policy-grid{grid-template-columns:1fr}
  .platform-week-resource-policy-grid>aside{grid-column:auto}
  .week-repository-toolbar{align-items:stretch;flex-direction:column}
  .week-repository-toolbar>div:last-child{justify-content:flex-start}
  .week-repository-row{grid-template-columns:29px minmax(0,1fr)}
  .week-repository-row-actions{grid-column:2;opacity:1}
  .week-upload-metadata>section{grid-template-columns:1fr}
  .week-upload-metadata>section>label:last-child{grid-column:auto}
  .platform-settings-actions{position:static;align-items:stretch;flex-direction:column}
  .platform-settings-actions>div{display:grid;grid-template-columns:1fr}
.platform-settings-actions button{justify-content:center}
  .platform-staff-grid>article>footer{flex-direction:column}
  .platform-person-detail-identity{grid-template-columns:52px minmax(0,1fr)}
  .platform-person-detail-state{grid-column:2}
  .platform-person-detail-grid,
  .platform-person-detail-list{grid-template-columns:1fr}
  .platform-access-role-grid,.platform-account-state,.platform-scope-grid{grid-template-columns:1fr}
  .platform-editor-section-head,.platform-taxonomy-editor>section>header{align-items:stretch;flex-direction:column}
  .platform-affiliation-card>header{flex-direction:column}
  .platform-affiliation-card>div{grid-template-columns:1fr}
  .platform-appointment-row{grid-template-columns:1fr 1fr}
  .platform-appointment-row>label:first-of-type,.platform-appointment-description{grid-column:1/-1}
  .platform-appointment-row>.platform-check{grid-column:1}
  .platform-assignment-list>label{grid-template-columns:20px minmax(0,1fr)}
  .platform-assignment-list>label select{grid-column:2}
  .course-shell-week-editor-head>div:last-child{align-items:stretch;flex-direction:column}
  .course-shell-week-editor-head>div:last-child>label{width:100%}
  .course-shell-weeks>article{grid-template-columns:38px minmax(0,1fr)}
  .course-shell-week-fields{grid-template-columns:1fr}
  .course-shell-week-fields>label:last-child{grid-column:auto}
  .course-shell-week-menu{grid-column:1/-1}
  .course-shell-week-menu-options{grid-template-columns:1fr}
  .course-shell-week-menu-body>footer{align-items:flex-start;flex-direction:column}
  .course-shell-week-menu-body>footer>div{width:100%}
  .course-shell-week-menu-body>footer .btn-ghost{flex:1;justify-content:center}
}
/* Reusable course-companion blueprint previews */
.platform-blueprint-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-bottom: 22px;
}
.platform-blueprint-card {
  overflow: hidden;
  border: 1px solid var(--line, #d5d9df);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(24, 46, 77, .08);
}
.platform-blueprint-card > header {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 22px;
}
.platform-blueprint-card > header > div { flex: 1; }
.platform-blueprint-card > header h2 { margin: 3px 0 6px; }
.platform-blueprint-card > header p { margin: 0; color: var(--muted, #5e6673); }
.platform-blueprint-card > header > em {
  padding: 5px 9px;
  border-radius: 999px;
  background: var(--blueprint-soft);
  color: var(--blueprint-accent);
  font-size: .75rem;
  font-style: normal;
  font-weight: 800;
  text-transform: uppercase;
}
.platform-blueprint-icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  flex: 0 0 48px;
  border-radius: 14px;
  background: var(--blueprint-accent);
  color: #fff;
  font-size: 1.45rem;
}
.platform-blueprint-preview {
  display: grid;
  grid-template-columns: 150px 1fr;
  min-height: 190px;
  border-block: 1px solid var(--line, #d5d9df);
  background: #f8fafc;
}
.platform-blueprint-preview nav {
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 16px 12px;
  background: #fff;
  border-right: 1px solid var(--line, #d5d9df);
}
.platform-blueprint-preview nav span {
  padding: 9px 10px;
  border-radius: 9px;
  color: #596273;
  font-size: .82rem;
  font-weight: 700;
}
.platform-blueprint-preview nav span.active {
  color: var(--blueprint-accent);
  background: var(--blueprint-soft);
}
.platform-blueprint-preview > div { padding: 28px; }
.platform-blueprint-preview > div p { margin: 5px 0 22px; color: #6b7280; }
.platform-blueprint-preview button {
  padding: 9px 13px;
  border: 2px solid var(--blueprint-accent);
  border-radius: 9px;
  background: var(--blueprint-accent);
  color: #fff;
  font: inherit;
  font-weight: 800;
}
.platform-blueprint-preview button.outline,
.platform-blueprint-preview button.secondary {
  background: #fff;
  color: var(--blueprint-accent);
}
.platform-blueprint-preview button.secondary { margin-left: 7px; }
.platform-blueprint-card > footer {
  display: flex;
  gap: 15px;
  align-items: center;
  padding: 15px 20px;
  color: #606a78;
  font-size: .86rem;
}
.platform-blueprint-card > footer span:first-child { margin-right: auto; }
.platform-blueprint-card code { word-break: break-word; }
@media (max-width: 980px) {
  .platform-blueprint-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .platform-blueprint-preview { grid-template-columns: 1fr; }
  .platform-blueprint-preview nav {
    flex-direction: row;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid var(--line, #d5d9df);
  }
  .platform-blueprint-card > footer { flex-wrap: wrap; }
}

/* Course-qualified professor gradebook */
.course-gradebook { padding: 0; overflow: hidden; }
.gradebook-kpis{
  gap:8px;
  margin-bottom:10px;
}
.gradebook-kpis .platform-kpi{
  min-height:0;
  gap:9px;
  padding:10px 12px;
  border-top-width:2px;
}
.gradebook-kpis .platform-kpi>span{
  width:34px;
  height:34px;
  flex-basis:34px;
  font-size:18px;
}
.gradebook-kpis .platform-kpi strong{font-size:20px}
.gradebook-kpis .platform-kpi b{
  margin-top:3px;
  font-size:11px;
}
.gradebook-kpis .platform-kpi small{
  margin-top:1px;
  font-size:9.5px;
}
.course-gradebook-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 16px;
  border-bottom: 1px solid var(--line, #d5d9df);
}
.course-gradebook-toolbar .eyebrow{font-size:.66rem}
.course-gradebook-toolbar h2{
  margin:2px 0;
  font-size:1.08rem;
}
.course-gradebook-toolbar p{
  margin:0;
  color:#687181;
  font-size:.75rem;
}
.course-gradebook-toolbar > div:last-child {
  display: flex;
  align-items: center;
  gap: 8px;
}
.course-gradebook-toolbar label {
  display: grid;
  gap: 6px;
  color: #4d5665;
  font-size: .78rem;
  font-weight: 800;
}
.course-gradebook-toolbar input,
.course-gradebook-toolbar select {
  min-height: 36px;
  border: 1.5px solid var(--line, #cfd5dc);
  border-radius: 8px;
  background: #fff;
  color: #16191e;
  font: inherit;
  font-size:.78rem;
}
.gradebook-search {
  position: relative;
  min-width:min(280px,36vw);
}
.gradebook-search i {
  position: absolute;
  z-index: 1;
  left:11px;
  bottom:10px;
  color: #657080;
  font-size:.9rem;
}
.gradebook-search input{width:100%;padding:7px 11px 7px 32px}
.course-gradebook-toolbar select{padding:7px 31px 7px 10px}
.course-gradebook-scroll {
  width: 100%;
  overflow: auto;
  overscroll-behavior-inline: contain;
  scrollbar-gutter: stable;
}
.course-gradebook-table {
  width:max(100%,760px);
  border-collapse: separate;
  border-spacing: 0;
  table-layout: auto;
  font-size:.86rem;
}
.course-gradebook-table th,
.course-gradebook-table td {
  min-width:118px;
  padding: 0;
  border-right: 1px solid var(--line, #d5d9df);
  border-bottom: 1px solid var(--line, #d5d9df);
  background: #fff;
  text-align: center;
  vertical-align: middle;
}
.course-gradebook-table thead th {
  position: sticky;
  top: 0;
  z-index: 3;
  height:58px;
  background: #f5f6f8;
}
.course-gradebook-table thead th > span {
  display: grid;
  justify-items: center;
  gap:1px;
  padding:7px 8px;
}
.course-gradebook-table thead i{color:var(--accent,#1f67ad);font-size:.95rem}
.course-gradebook-table thead b{font-size:.76rem;line-height:1.18}
.course-gradebook-table thead small{color:#697283;font-size:.66rem;font-weight:700}
.course-gradebook-table .student-column {
  position: sticky;
  left: 0;
  z-index: 2;
  min-width:230px;
  max-width:230px;
  text-align: left;
  box-shadow: 5px 0 10px rgba(16, 24, 40, .045);
}
.course-gradebook-table thead .student-column { z-index: 5; }
.course-gradebook-table thead .student-column > span{justify-items:start;padding-left:14px}
.course-gradebook-table .total-column {
  min-width:105px;
  background: #f8fafc;
}
.gradebook-student {
  position: relative;
  display: grid;
  gap:1px;
  min-height:54px;
  align-content: center;
  padding:7px 61px 7px 14px;
  background: #fff;
}
.gradebook-student b{font-size:.86rem;line-height:1.18}
.gradebook-student small {
  color: #657080;
  font-size:.66rem;
  font-weight: 600;
  line-height: 1.35;
}
.gradebook-student em {
  position: absolute;
  top:50%;
  right:8px;
  padding:3px 5px;
  border-radius: 999px;
  background: #edf1f5;
  color: #536071;
  font-size:.56rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  transform:translateY(-50%);
}
.gradebook-student em.active { background: #dff3e8; color: #176446; }
.gradebook-cell {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  min-height:54px;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}
.gradebook-cell > i {
  position: absolute;
  top:6px;
  right:6px;
  color: #8a94a3;
  opacity: 0;
  transition: opacity .15s ease;
}
.gradebook-cell:hover { background: color-mix(in srgb, var(--accent, #1f67ad) 6%, white); }
.gradebook-cell:hover > i,
.gradebook-cell:focus-visible > i { opacity: 1; }
.gradebook-cell:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent, #1f67ad) 35%, transparent); outline-offset: -3px; }
.gradebook-result,
.gradebook-total { display: grid; justify-items: center; gap: 2px; }
.gradebook-result b,
.gradebook-total b{font-size:.92rem}
.gradebook-result small,
.gradebook-total small {
  color: #697283;
  font-size:.57rem;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.gradebook-result.pending { color: #85909f; }
.gradebook-result.absent { color: #a33333; }
.gradebook-result.exempt { color: #687181; }
.gradebook-result.graded b,
.gradebook-total.complete b { color: #176446; }
.gradebook-total.provisional b { color: var(--accent, #1f67ad); }
.course-gradebook-legend {
  display: flex;
  justify-content: space-between;
  gap:16px;
  padding:9px 14px;
  background: #f8fafc;
  color: #616c7b;
  font-size:.69rem;
  line-height:1.35;
}
.course-gradebook-legend span { display: flex; gap: 7px; align-items: flex-start; }
.course-gradebook-legend i { margin-top: 2px; color: var(--accent, #1f67ad); }
.gradebook-editor { display: grid; gap: 20px; }
.gradebook-editor-context {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.gradebook-editor-context > span {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--line, #d5d9df);
  border-radius: 12px;
  background: #f8fafc;
}
.gradebook-editor-context > span > i {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 9px;
  background: color-mix(in srgb, var(--accent, #1f67ad) 12%, white);
  color: var(--accent, #1f67ad);
  font-size: 1.2rem;
}
.gradebook-editor-context span span { display: grid; gap: 2px; }
.gradebook-editor-context small { color: #687181; }
@media (max-width: 860px) {
  .course-gradebook-toolbar { align-items: stretch; flex-direction: column; }
  .course-gradebook-toolbar > div:last-child { align-items: stretch; flex-direction: column; }
  .gradebook-search { min-width: 0; width: 100%; }
  .course-gradebook-toolbar select { width: 100%; }
  .course-gradebook-legend { flex-direction: column; }
  .platform-course-policy-grid{grid-template-columns:1fr}
  .platform-course-policy-card:last-child:nth-child(odd){grid-column:auto}
  .platform-course-policy-editor>header,
  .platform-course-policy-summary>header{flex-direction:column}
}
@media (max-width: 620px) {
  .gradebook-editor-context { grid-template-columns: 1fr; }
  .course-gradebook-table .student-column { min-width: 225px; max-width: 225px; }
  .gradebook-student { padding-left: 14px; }
}
/* Course attendance */
.attendance-policy-editor{display:grid;grid-template-columns:minmax(280px,1fr) minmax(220px,.55fr);gap:18px;align-items:end}
.attendance-policy-editor>div:first-child{grid-column:1/-1}
.attendance-policy-editor .platform-check{align-self:stretch}
.attendance-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
.attendance-register{padding:0;overflow:hidden}
.attendance-week-nav{display:grid;grid-template-columns:auto minmax(260px,1fr) auto minmax(220px,.8fr);align-items:end;gap:12px;padding:22px;border-bottom:1px solid var(--line)}
.attendance-week-nav>button{width:46px;height:46px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:20px}
.attendance-week-nav label span,.attendance-toolbar label>span,.student-attendance-course>span{display:block;margin-bottom:6px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.attendance-week-nav select,.attendance-toolbar select,.attendance-toolbar input,.attendance-policy-editor input,.student-attendance-course select{width:100%;min-height:46px;border:1px solid var(--line);border-radius:9px;background:var(--surface);padding:9px 12px;color:inherit}
#attendanceWeekMeta{display:flex;min-height:46px;flex-direction:column;justify-content:center}
#attendanceWeekMeta small{color:var(--muted);margin-top:3px}
.attendance-toolbar{display:grid;grid-template-columns:minmax(280px,1.5fr) repeat(3,minmax(140px,.65fr)) auto auto;gap:12px;align-items:end;padding:18px 22px;background:var(--soft)}
.attendance-toolbar .platform-search{margin:0}
.attendance-bulk{display:flex;align-items:center;gap:10px;padding:12px 22px;border-bottom:1px solid var(--line)}
.attendance-bulk span{margin-left:auto;color:var(--muted)}
.attendance-table-wrap{width:100%;overflow:auto}
.attendance-table{width:100%;border-collapse:collapse;min-width:930px}
.attendance-table th{padding:13px 15px;background:var(--soft);border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.08em;text-align:left;text-transform:uppercase}
.attendance-table td{padding:13px 15px;border-bottom:1px solid var(--line);vertical-align:middle}
.attendance-table td:first-child b,.attendance-table td:first-child small{display:block}
.attendance-table td:first-child small{margin-top:3px;color:var(--muted)}
.attendance-table input[data-attendance-note]{width:100%;min-width:170px;border:1px solid var(--line);border-radius:8px;padding:9px}
.attendance-status-control{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;white-space:nowrap}
.attendance-status-control button{border:0;border-right:1px solid var(--line);background:var(--surface);padding:8px 10px;color:inherit}
.attendance-status-control button:last-child{border-right:0}
.attendance-status-control .present.active,.attendance-status-badge.present{background:#d8f3e5;color:#11613e}
.attendance-status-control .late.active,.attendance-status-badge.late{background:#fff0c7;color:#7b5200}
.attendance-status-control .absent.active,.attendance-status-badge.absent{background:#fde1df;color:#9a2922}
.attendance-status-control .unrecorded.active,.attendance-status-badge.unrecorded{background:#e9edf2;color:#4d5966}
.attendance-enrollment,.attendance-status-badge{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;text-transform:capitalize}
.attendance-enrollment.active{background:#d8f3e5;color:#11613e}
.attendance-enrollment.passive{background:#e9edf2;color:#4d5966}
.attendance-register>.platform-directory-footer{padding:16px 22px;border-top:1px solid var(--line)}
.student-attendance-course{align-self:center;min-width:min(420px,100%)}
.student-attendance-table td:nth-child(3){white-space:nowrap}
@media (max-width:1100px){
  .attendance-toolbar{grid-template-columns:1fr 1fr}
  .attendance-week-nav{grid-template-columns:auto 1fr auto}
  #attendanceWeekMeta{grid-column:1/-1}
}
@media (max-width:700px){
  .attendance-policy-editor,.attendance-kpis,.attendance-toolbar{grid-template-columns:1fr}
  .attendance-week-nav{padding:16px}
  .attendance-bulk{align-items:stretch;flex-direction:column}
  .attendance-bulk span{margin-left:0}
}
/* Career Administration: course-scoped question authoring and privacy-safe trends */
.career-admin-workspace{max-width:none}
.career-admin-head{display:grid;grid-template-columns:minmax(300px,1fr) minmax(360px,620px);align-items:end;gap:24px;padding-bottom:24px;border-bottom:1px solid var(--border)}
.career-admin-head>div:first-child,.career-admin-head-actions,.career-admin-selector{min-width:0}
.career-admin-head h1{max-width:720px;margin:5px 0 8px;font-size:clamp(34px,3.2vw,48px);line-height:1.02;letter-spacing:-.045em;text-wrap:balance}
.career-admin-head p{max-width:850px;margin:0;color:var(--text-muted);font-size:17px}
.career-admin-head-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-end;gap:10px;min-width:0}
.career-admin-selector{display:grid;gap:7px;width:100%;min-width:0;font-weight:700}
.career-admin-selector span{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}
.career-admin-selector select{width:100%;min-width:0;min-height:50px;border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:0 14px;font:inherit;color:var(--text);text-overflow:ellipsis}
.career-riasec-guide-button{display:flex;align-items:center;gap:10px;min-height:50px;padding:7px 13px;border:1px solid var(--accent-border);border-radius:12px;background:var(--accent-bg);color:var(--accent);cursor:pointer;text-align:left}
.career-riasec-guide-button>i{font-size:24px}.career-riasec-guide-button span{display:grid;gap:2px}.career-riasec-guide-button b{font-size:13px}.career-riasec-guide-button small{font-size:10px;white-space:nowrap}
.career-admin-riasec-strip{margin:18px 0 0;border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden}
.career-admin-riasec-strip>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 14px;border-bottom:1px solid var(--border);background:var(--surface-soft)}
.career-admin-riasec-strip>header div{display:flex;align-items:baseline;gap:9px}.career-admin-riasec-strip>header span{color:var(--text-muted);font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.career-admin-riasec-strip>header b{font-size:13px}
.career-admin-riasec-strip>header button{display:flex;align-items:center;gap:6px;padding:5px 8px;border:0;background:transparent;color:var(--accent);font-weight:800;cursor:pointer}
.career-admin-riasec-strip>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.career-admin-riasec-strip>div>button{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:10px 12px;border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;text-align:left}
.career-admin-riasec-strip>div>button:nth-child(3n){border-right:0}.career-admin-riasec-strip>div>button:nth-child(n+4){border-bottom:0}.career-admin-riasec-strip>div>button:hover,.career-admin-riasec-strip>div>button:focus-visible{background:color-mix(in srgb,var(--riasec-color) 8%,var(--surface));outline:0}
.career-admin-riasec-strip>div>button>strong{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--riasec-color);color:#fff;font-size:16px}
.career-admin-riasec-strip>div>button span{display:grid;min-width:0;gap:2px}.career-admin-riasec-strip>div>button b{font-size:12px}.career-admin-riasec-strip>div>button small{overflow:hidden;color:var(--text-muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.career-admin-privacy{display:flex;align-items:center;gap:16px;margin:22px 0;padding:16px 18px;border:1px solid #9fd6c8;border-radius:14px;background:#edf9f5}
.career-admin-privacy>i{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#d5f1e8;color:#087f69;font-size:23px}
.career-admin-privacy div{flex:1}.career-admin-privacy p{margin:3px 0 0;color:#385b54}
.career-admin-privacy>span{white-space:nowrap;border:1px solid #9fd6c8;border-radius:999px;padding:7px 11px;color:#087f69;font-weight:800;font-size:12px}
.career-admin-course-context,.career-question-studio,.career-evolution-panel,.career-admin-roster{margin-top:24px;border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden}
.career-admin-course-context>header,.career-evolution-panel>header,.career-admin-roster>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;border-bottom:1px solid var(--border)}
.career-admin-course-context h2,.career-evolution-panel h2,.career-admin-roster h2{margin:5px 0 3px}
.career-admin-course-context header p,.career-evolution-panel header p{margin:0;color:var(--text-muted)}
.career-admin-readonly-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr)}
.career-admin-readonly-grid>article{padding:26px}.career-admin-readonly-grid>article+article{border-left:1px solid var(--border)}
.career-admin-readonly-grid>article>span{display:block;margin-bottom:14px;color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.career-admin-week-list{display:grid;gap:0;margin:0;padding:0;list-style:none}
.career-admin-week-list li{display:grid;grid-template-columns:65px 1fr auto;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}
.career-admin-week-list li>b{color:var(--accent);font-size:12px}.career-admin-week-list li span{display:grid;gap:2px}.career-admin-week-list li small{color:var(--text-muted)}
.career-admin-week-list em{border-radius:999px;padding:5px 8px;font-size:11px;font-style:normal;font-weight:800}.career-admin-week-list em.ready{background:#dff5ea;color:#0a6b50}.career-admin-week-list em.missing{background:#f3f0eb;color:#756d62}
.career-question-studio{display:grid;grid-template-columns:minmax(270px,310px) minmax(0,1fr)}
.career-question-studio>*,.career-question-studio form,.career-question-studio form>header,.career-question-studio aside{min-width:0}
.career-question-studio>aside{padding:24px;border-right:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,var(--accent) 8%)}
.career-question-studio aside>label{display:grid;gap:7px;font-weight:800}.career-question-studio aside select{width:100%;min-width:0;min-height:48px;border:1px solid var(--border);border-radius:10px;padding:0 10px;background:var(--surface);color:var(--text);font:inherit;text-overflow:ellipsis}
.career-question-context{margin:22px 0;padding-top:22px;border-top:1px solid var(--border)}.career-question-context>span{color:var(--accent);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.career-question-context h2{font-size:23px;margin:7px 0}.career-question-context p,.career-question-context li{color:var(--text-muted);line-height:1.5}.career-question-context ul{padding-left:19px}
.career-question-rules{padding:16px;border:1px solid #e4c77c;border-radius:12px;background:#fff8e5}.career-question-rules p{margin:6px 0;color:#66521c;font-size:13px;line-height:1.45}
#careerQuestionForm>header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;justify-content:space-between;gap:12px 20px;padding:24px 26px;border-bottom:1px solid var(--border)}
#careerQuestionForm>header h2{margin:5px 0}#careerQuestionForm>header p{max-width:720px;margin:0;color:var(--text-muted);overflow-wrap:anywhere}
#careerQuestionForm>header label{display:grid;gap:6px;font-weight:800;white-space:nowrap}#careerQuestionForm>header select{min-height:45px;border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:0 10px}
.career-question-grid{display:grid;gap:12px;padding:24px 26px}
.career-question-row{display:grid;grid-template-columns:minmax(112px,140px) minmax(0,1fr);align-items:stretch;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.career-question-row>span{display:flex;align-items:center;gap:10px;padding:12px 14px;border-left:5px solid var(--riasec-color);background:color-mix(in srgb,var(--riasec-color) 8%,var(--surface))}
.career-question-row>span b{display:grid;flex:0 0 32px;place-items:center;width:32px;min-width:32px;height:32px;aspect-ratio:1;border-radius:9px;background:var(--riasec-color);color:#fff;line-height:1}.career-question-row>span em{min-width:0;font-size:12px;font-style:normal;font-weight:800}
.career-question-row textarea{width:100%;min-width:0;min-height:70px;padding:13px;border:0;border-left:1px solid var(--border);border-radius:0;background:var(--surface);color:var(--text);font:inherit;resize:vertical}
#careerQuestionForm>footer{display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:18px 26px;border-top:1px solid var(--border);background:var(--surface-soft)}
#careerQuestionForm>footer>span{margin-right:auto;color:var(--text-muted);font-size:13px}
.career-evolution-legend{display:flex;flex-wrap:wrap;gap:10px;padding:16px 24px;border-bottom:1px solid var(--border)}
.career-evolution-legend span{display:flex;align-items:center;gap:6px;font-size:12px}.career-evolution-legend i{width:10px;height:10px;border-radius:50%;background:var(--riasec-color)}
.career-evolution-table{display:grid}.career-evolution-row{display:grid;grid-template-columns:minmax(220px,1.2fr) 90px minmax(260px,1fr) 110px;align-items:center;gap:18px;padding:14px 24px;border-bottom:1px solid var(--border)}
.career-evolution-row.head{background:var(--surface-soft);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}
.career-evolution-row>b{display:grid;grid-template-columns:42px 1fr;align-items:center}.career-evolution-row>b small{color:var(--accent)}
.career-evolution-row>em{font-style:normal;font-size:18px;font-weight:900;letter-spacing:.12em}
.career-evolution-leading{display:flex;gap:4px;letter-spacing:0!important}.career-evolution-leading span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:var(--riasec-color);color:#fff;font-size:12px}
.career-evolution-bars{display:flex;height:26px;border-radius:8px;overflow:hidden;background:var(--surface-soft)}.career-evolution-bars span{display:block;background:var(--riasec-color);min-width:1px}.career-evolution-bars small{margin:auto;color:var(--text-muted)}
.career-student-directory-controls{display:grid;grid-template-columns:minmax(240px,1.5fr) repeat(4,minmax(150px,1fr));gap:12px;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--surface-soft)}
.career-student-directory-controls label{display:grid;gap:6px;min-width:0}.career-student-directory-controls label>span{color:var(--text-muted);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.career-student-directory-controls select,.career-student-search>div{width:100%;min-width:0;min-height:45px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font:inherit}
.career-student-directory-controls select{padding:0 10px;text-overflow:ellipsis}.career-student-search>div{display:flex;align-items:center;gap:8px;padding:0 11px}.career-student-search input{width:100%;min-width:0;min-height:43px;border:0;background:transparent;color:var(--text);font:inherit}
.career-student-table td>.career-student-affiliation{display:grid;gap:2px;min-width:180px}.career-student-affiliation b,.career-student-affiliation small{display:block}.career-student-affiliation small{color:var(--text-muted);font-size:10px}.career-student-table td{vertical-align:middle}
.career-interest-card{padding:0!important;overflow:visible}.career-interest-card>.fb-head{padding:22px 24px}.career-interest-card>.cp-panel{margin:0 24px 20px}
.career-interest-scale-legend{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(430px,1.4fr) auto;align-items:center;gap:18px;margin:0 24px 8px;padding:12px 14px;border:1px solid var(--border);border-radius:13px;background:color-mix(in srgb,var(--surface-soft) 82%,var(--accent-bg))}
.career-interest-scale-copy{display:grid;gap:2px}.career-interest-scale-copy>span{color:var(--accent);font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.career-interest-scale-copy>b{display:flex;align-items:center;gap:6px;font-size:12px}.career-interest-scale-copy i{color:var(--text-muted)}
.career-interest-scale-items{display:grid;grid-template-columns:repeat(5,minmax(70px,1fr));gap:5px}.career-interest-scale-item{display:grid;place-items:center;gap:1px;min-width:0;padding:5px 3px;border-radius:9px;background:var(--surface);text-align:center}.career-interest-scale-item>b{font-size:23px;line-height:1}.career-interest-scale-item>small{overflow:hidden;width:100%;color:var(--text-muted);font-size:8px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.career-interest-scale-legend>strong{justify-self:end;padding:5px 9px;border:1px dashed var(--border-strong);border-radius:999px;color:var(--text-muted);font-size:10px;white-space:nowrap}.career-interest-scale-legend>strong.complete{border-color:#1D9E75;border-style:solid;background:color-mix(in srgb,#1D9E75 12%,var(--surface));color:#087c64}
.career-interest-question{position:relative;margin:0;padding:0 24px;border:0}.career-interest-question-inner{display:grid;grid-template-columns:minmax(320px,1fr) auto;align-items:center;gap:20px;padding:13px 4px;border-top:1px solid var(--border);transition:background .16s ease,transform .16s ease}
.career-interest-question:first-of-type .career-interest-question-inner{border-top:0}.career-interest-question:hover .career-interest-question-inner{background:color-mix(in srgb,var(--accent-bg) 34%,transparent);transform:translateX(2px)}
.career-interest-question.answered .career-interest-question-inner{background:color-mix(in srgb,#1D9E75 4%,transparent)}
.career-interest-prompt{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:11px;min-width:0}.career-interest-prompt>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--accent-bg);color:var(--accent);transition:transform .2s ease,background .2s ease,color .2s ease}.career-interest-prompt>span i{font-size:17px}.career-interest-question.answered .career-interest-prompt>span{background:#1D9E75;color:#fff;animation:fbicon .38s ease}
.career-interest-prompt>div{display:grid;gap:3px;min-width:0}.career-interest-prompt b{font-size:14px;line-height:1.4}.career-interest-prompt small{color:var(--text-muted);font-size:10px;font-weight:600}.career-interest-prompt small.show{color:#087c64;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.career-interest-choices{display:flex;align-items:center;justify-content:flex-end;gap:7px}.career-interest-choice-label{position:relative;display:block;cursor:pointer}.career-interest-choice-label input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
.career-interest-choice{position:relative;display:grid;place-items:center;width:49px;height:49px;border:1.5px solid var(--border-strong);border-radius:13px;background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.03);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease}.career-interest-choice>b{font-size:23px;line-height:1;filter:grayscale(.85);opacity:.58;transition:filter .12s ease,opacity .12s ease,transform .12s ease}
.career-interest-choice::after{content:attr(data-hint);position:absolute;z-index:8;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:180px;padding:5px 8px;border-radius:7px;background:#202b34;color:#fff;font-size:9px;font-weight:700;line-height:1.25;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity .12s ease,transform .12s ease;white-space:nowrap}.career-interest-choice::before{content:"";position:absolute;z-index:9;bottom:calc(100% + 3px);left:50%;border:5px solid transparent;border-top-color:#202b34;opacity:0;pointer-events:none;transform:translateX(-50%);transition:opacity .12s ease}
.career-interest-choice-label:last-child .career-interest-choice::after{right:0;left:auto;transform:translateY(4px)}.career-interest-choice-label:last-child .career-interest-choice::before{right:17px;left:auto;transform:none}
@media(hover:hover){.career-interest-choice-label:hover .career-interest-choice{z-index:7;transform:translateY(-4px) scale(1.08);border-color:transparent;box-shadow:0 8px 18px rgba(0,0,0,.15)}.career-interest-choice-label:hover .career-interest-choice>b{filter:none;opacity:1;transform:scale(1.16)}.career-interest-choice-label:hover .career-interest-choice::after{opacity:1;transform:translate(-50%,0)}.career-interest-choice-label:last-child:hover .career-interest-choice::after{transform:none}.career-interest-choice-label:hover .career-interest-choice::before{opacity:1}}
.career-interest-choice-label input:focus-visible+.career-interest-choice{outline:2px solid var(--accent);outline-offset:3px}.career-interest-choice-label input:checked+.career-interest-choice{border-color:transparent;box-shadow:0 5px 14px rgba(0,0,0,.18)}.career-interest-choice-label input:checked+.career-interest-choice>b{filter:none;opacity:1;transform:scale(1.08)}
.career-interest-choice-label input:checked+.career-interest-choice-v1{background:#D85A30}.career-interest-choice-label input:checked+.career-interest-choice-v2{background:#DE8A3B}.career-interest-choice-label input:checked+.career-interest-choice-v3{background:#C9A227}.career-interest-choice-label input:checked+.career-interest-choice-v4{background:#7CB342}.career-interest-choice-label input:checked+.career-interest-choice-v5{background:#1D9E75}
.career-interest-choice.pop{animation:fbpop .3s ease}
@media(prefers-reduced-motion:reduce){.career-interest-choice.pop,.career-interest-question.answered .career-interest-prompt>span{animation:none}.career-interest-choice,.career-interest-choice>b,.career-interest-question-inner{transition:none}}
.career-interest-result{display:flex;align-items:center;gap:13px;margin:18px 24px;padding:14px 16px;border:1px solid var(--accent-border);border-radius:12px;background:var(--accent-bg);color:var(--accent)}
.career-interest-result>i{font-size:26px}.career-interest-result span{display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:12px}.career-interest-result b{font-size:26px;letter-spacing:.13em}.career-interest-result em{color:var(--text-muted);font-style:normal}
.career-interest-card .fb-actions{padding:18px 24px;border-top:1px solid var(--border)}
.career-weekly-history{margin:24px 0}.career-weekly-history>.career-section-heading{margin-bottom:12px}.career-weekly-history>div{display:flex;gap:9px;overflow:auto;padding-bottom:6px}
.career-weekly-history article{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 74px;min-width:115px;padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--surface)}.career-weekly-history article>span{font-size:11px;color:var(--text-muted)}.career-weekly-history article>b{letter-spacing:.1em}.career-weekly-history article>div{grid-column:1/-1;display:flex;align-items:flex-end;gap:3px}.career-weekly-history article i{flex:1;max-height:100%;min-height:2px;background:var(--riasec-color);border-radius:3px 3px 0 0}
.career-riasec-guide{display:grid;gap:20px}
.career-riasec-guide-intro{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:16px;padding:18px;border:1px solid var(--accent-border);border-radius:14px;background:var(--accent-bg)}
.career-riasec-guide-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:var(--accent);color:#fff;font-size:30px}.career-riasec-guide-intro h3{margin:4px 0 5px;font-size:22px}.career-riasec-guide-intro p{max-width:900px;margin:0;color:var(--text-secondary);line-height:1.5}
.career-riasec-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.career-riasec-guide-grid article{padding:16px;border:1px solid var(--border);border-top:5px solid var(--riasec-color);border-radius:13px;background:var(--surface)}.career-riasec-guide-grid article.is-focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--riasec-color) 24%,transparent)}
.career-riasec-guide-grid article>header{display:flex;align-items:center;gap:11px}.career-riasec-guide-grid article>header>strong{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--riasec-color);color:#fff;font-size:19px}.career-riasec-guide-grid article>header div{display:grid;gap:2px}.career-riasec-guide-grid h4{margin:0;font-size:16px}.career-riasec-guide-grid header span{color:var(--text-muted);font-size:10px}.career-riasec-guide-grid article>p{margin:11px 0 7px;line-height:1.45}.career-riasec-guide-grid ul{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.career-riasec-guide-grid li{padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--riasec-color) 10%,var(--surface));color:var(--text-secondary);font-size:10px}.career-riasec-guide-grid blockquote{display:grid;gap:4px;margin:12px 0 0;padding:10px 11px;border-left:3px solid var(--riasec-color);background:var(--surface-soft);font-size:11px;line-height:1.45}.career-riasec-guide-grid blockquote b{color:var(--riasec-color);font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.career-riasec-authoring-guide{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:14px}.career-riasec-authoring-guide>div,.career-riasec-authoring-guide>aside{padding:17px;border:1px solid var(--border);border-radius:13px;background:var(--surface)}.career-riasec-authoring-guide h3{margin:4px 0 9px}.career-riasec-authoring-guide ol{display:grid;gap:6px;margin:0;padding-left:20px;color:var(--text-secondary)}.career-riasec-authoring-guide>aside{display:flex;align-items:flex-start;gap:12px;border-color:#9fd6c8;background:#edf9f5}.career-riasec-authoring-guide>aside>i{font-size:25px;color:#087f69}.career-riasec-authoring-guide>aside p{margin:5px 0 0;color:#385b54;line-height:1.5}
@media(max-width:980px){.career-admin-head{grid-template-columns:1fr;align-items:stretch}.career-admin-head-actions{align-items:stretch}.career-admin-selector{min-width:0}.career-riasec-guide-grid,.career-riasec-authoring-guide{grid-template-columns:1fr}.career-admin-readonly-grid,.career-question-studio{grid-template-columns:1fr}.career-admin-readonly-grid>article+article{border-left:0;border-top:1px solid var(--border)}.career-question-studio>aside{border-right:0;border-bottom:1px solid var(--border)}.career-evolution-row{grid-template-columns:1fr 70px}.career-evolution-row>div{grid-column:1/-1}.career-evolution-row>em{grid-column:2}}
@container app-content (max-width:1120px){.career-admin-head{grid-template-columns:1fr;align-items:stretch}.career-question-studio{grid-template-columns:1fr}.career-question-studio>aside{border-right:0;border-bottom:1px solid var(--border)}}
@container app-content (max-width:1050px){.career-student-directory-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.career-student-search{grid-column:1/-1}}
@media(max-width:1120px){.career-interest-scale-legend{grid-template-columns:1fr auto}.career-interest-scale-copy{grid-column:1}.career-interest-scale-items{grid-column:1/-1;grid-row:2}.career-interest-scale-legend>strong{grid-column:2;grid-row:1}.career-interest-question-inner{grid-template-columns:minmax(280px,1fr) auto;gap:13px}.career-interest-choice{width:45px;height:45px}.career-interest-choice>b{font-size:21px}}
@media(max-width:760px){.career-interest-card>.fb-head{padding:18px 16px}.career-interest-card>.cp-panel{margin-right:16px;margin-left:16px}.career-interest-scale-legend{margin-right:16px;margin-left:16px}.career-interest-scale-items{grid-template-columns:repeat(5,minmax(48px,1fr))}.career-interest-scale-item>small{display:none}.career-interest-question{padding:0 16px}.career-interest-question-inner{grid-template-columns:1fr;gap:10px;padding:14px 2px}.career-interest-choices{justify-content:flex-start;padding-left:45px}.career-interest-choice{width:min(52px,15vw);height:min(52px,15vw)}.career-interest-choice::after,.career-interest-choice::before{display:none}.career-interest-card .fb-actions{padding-right:16px;padding-left:16px}}
@media(max-width:620px){.career-admin-head-actions{grid-template-columns:1fr}.career-riasec-guide-button{justify-content:center}.career-admin-riasec-strip>header{align-items:flex-start;flex-direction:column}.career-admin-riasec-strip>div{grid-template-columns:1fr 1fr}.career-admin-riasec-strip>div>button{border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.career-admin-riasec-strip>div>button:nth-child(3n){border-right:1px solid var(--border)}.career-admin-riasec-strip>div>button:nth-child(n+4){border-bottom:1px solid var(--border)}.career-admin-riasec-strip>div>button:nth-child(2n){border-right:0}.career-admin-riasec-strip>div>button:nth-last-child(-n+2){border-bottom:0}.career-riasec-guide-intro{grid-template-columns:1fr}.career-riasec-guide-mark{width:48px;height:48px}}
@media(max-width:620px){.career-student-directory-controls{grid-template-columns:1fr}.career-student-search{grid-column:auto}}
@media(max-width:900px){.platform-typography-presets,.platform-typography-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.platform-typography-preview{grid-template-columns:1fr}.platform-typography-preview>aside{border-right:0;border-bottom:1px solid var(--border)}}
@media(max-width:620px){.platform-typography-settings>header{flex-direction:column}.platform-typography-presets,.platform-typography-controls{grid-template-columns:1fr}.platform-typography-preview>article{grid-template-columns:1fr}.platform-typography-preview article>label{grid-column:1;grid-row:auto}}

/* Semantic typography system
   LMS Administration chooses the institutional defaults; personal appearance
   settings only replace the requested font, contrast and root text scale. */
body{font-size:var(--type-body);font-family:var(--font-interface)}
:is(.side-head,.platform-nav-group-label,.admin-nav-section-title){font-size:var(--type-nav-group)!important;line-height:1.35}
:is(.nav-item,.platform-nav-item,.admin-sidebar .nav-item){font-size:var(--type-nav-item)!important;line-height:1.35}
:is(.brand-title,.platform-shell-brand b,.course-shell-brand b){font-size:var(--type-body-lg)!important}
:is(.brand-sub,.platform-shell-brand small,.course-shell-brand small){font-size:var(--type-caption)!important}
:is(.platform-page-head,.course-shell-head,.admin-page-head,.report-page-head,.reflection-review-page-head)>:is(div,section) h1,
:is(.platform-page-head,.course-shell-head,.admin-page-head,.report-page-head,.reflection-review-page-head)>h1{
  font-size:var(--type-page-title)!important;
  line-height:1.08;
}
:is(.platform-page-head,.course-shell-head,.admin-page-head,.report-page-head,.reflection-review-page-head) p{font-size:var(--type-body)!important;line-height:1.55}
:is(.platform-settings-form,.fig-modal-inner,.platform-form-modal,.study-notebook-shell) :is(h2,.modal-title){font-size:var(--type-section-title)}
:is(.platform-settings-form,.fig-modal-inner,.platform-form-modal,.study-notebook-shell) :is(h3,.card-title){font-size:var(--type-card-title)}
:is(.platform-settings-form,.fig-modal-inner,.platform-form-modal,.study-notebook-shell) :is(label,legend){font-size:var(--type-label)}
:is(.platform-settings-form,.fig-modal-inner,.platform-form-modal,.study-notebook-shell) :is(small,.field-help,.form-help,.help-text){font-size:var(--type-help)}

/* Configurable sign-in protection and administrative security audit */
.platform-settings-context-tabs{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:.6rem;
  margin:0 0 1rem;
  padding:.55rem;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--surface-2);
  position:sticky;
  top:calc(var(--topbar-height,72px) + .5rem);
  z-index:8;
  box-shadow:0 10px 28px rgba(20,36,63,.06);
}
.platform-settings-context-tabs button{
  display:flex;
  align-items:center;
  gap:.7rem;
  min-width:0;
  min-height:66px;
  padding:.7rem .8rem;
  border:1px solid transparent;
  border-radius:13px;
  background:transparent;
  color:var(--text-secondary);
  text-align:left;
}
.platform-settings-context-tabs button>i{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:10px;
  background:var(--surface-1);
  color:var(--accent);
  font-size:1.25rem;
}
.platform-settings-context-tabs button>span{display:grid;gap:.15rem;min-width:0}
.platform-settings-context-tabs b{color:var(--text-primary);font-size:var(--type-label)}
.platform-settings-context-tabs small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--type-help)}
.platform-settings-context-tabs button:hover{border-color:var(--accent-border);background:var(--surface-1)}
.platform-settings-context-tabs button.active{
  border-color:var(--accent);
  background:var(--accent);
  color:#fff;
  box-shadow:0 8px 20px rgba(24,95,165,.2);
}
.platform-settings-context-tabs button.active>i{background:rgba(255,255,255,.16);color:#fff}
.platform-settings-context-tabs button.active b{color:#fff}
.platform-settings-form[data-settings-context]>.platform-settings-note,
.platform-settings-form[data-settings-context]>.platform-regional-settings,
.platform-settings-form[data-settings-context]>.platform-typography-settings,
.platform-settings-form[data-settings-context]>.platform-password-settings,
.platform-settings-form[data-settings-context]>.platform-login-security-settings,
.platform-settings-form[data-settings-context]>.platform-landing-rotation-settings,
.platform-settings-form[data-settings-context]>.platform-week-resource-settings,
.platform-settings-form[data-settings-context]>.platform-course-home-visual-settings,
.platform-settings-form[data-settings-context]>.platform-settings-taxonomy-editor{display:none}
.platform-settings-form[data-settings-context="appearance"]>.platform-settings-note{display:flex}
.platform-settings-form[data-settings-context="appearance"]>.platform-regional-settings,
.platform-settings-form[data-settings-context="appearance"]>.platform-typography-settings,
.platform-settings-form[data-settings-context="appearance"]>.platform-course-home-visual-settings,
.platform-settings-form[data-settings-context="security"]>.platform-password-settings,
.platform-settings-form[data-settings-context="security"]>.platform-login-security-settings,
.platform-settings-form[data-settings-context="landing"]>.platform-landing-rotation-settings,
.platform-settings-form[data-settings-context="files"]>.platform-week-resource-settings{display:block}
.platform-settings-form[data-settings-context="people"]>.platform-settings-taxonomy-editor{display:grid}
.platform-settings-form[hidden],
.platform-security-log-section[hidden],
.platform-observability-threshold-form[hidden]{display:none!important}
.platform-landing-rotation-settings{
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--surface-1);
}
.platform-landing-rotation-settings>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:1.35rem;
  border-bottom:1px solid var(--border);
  background:linear-gradient(115deg,var(--surface-1),color-mix(in srgb,var(--accent-bg) 74%,#f1edff));
}
.platform-landing-rotation-settings>header>div{display:flex;gap:1rem}
.platform-landing-rotation-settings h2{margin:.12rem 0 .3rem}
.platform-landing-rotation-settings p{margin:0;color:var(--text-secondary)}
.platform-landing-policy-summary{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  flex:0 0 auto;
  max-width:300px;
  padding:.45rem .7rem;
  border:1px solid var(--accent-border);
  border-radius:999px;
  background:var(--surface-1);
  color:var(--accent-strong);
  font-size:var(--type-help);
  font-weight:800;
  text-align:right;
}
.platform-landing-page-preview{
  --landing-campus-tone:#8bdcff;
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(180px,.8fr);
  min-height:218px;
  overflow:hidden;
  padding:1.35rem;
  color:#fff;
  isolation:isolate;
}
.platform-landing-page-preview::before{content:"";position:absolute;z-index:-1;inset:0;opacity:.17;background-image:radial-gradient(circle,rgba(255,255,255,.9) 0 1.4px,transparent 1.8px);background-size:34px 34px}
.platform-landing-page-preview::after{content:"";position:absolute;z-index:-1;width:22rem;height:22rem;right:-9rem;bottom:-12rem;border:1px solid rgba(255,255,255,.25);border-radius:50%}
.platform-landing-campus-silhouette{position:absolute;z-index:0;inset:0;pointer-events:none;opacity:.38;background-image:linear-gradient(132deg,var(--landing-campus-tone),rgba(255,255,255,.42)),url("../assets/landing/bau-campus-silhouette.png");background-position:center,center;background-size:cover,cover;background-blend-mode:color,normal;filter:contrast(1.08) saturate(.86);mask-image:linear-gradient(105deg,rgba(0,0,0,.9),rgba(0,0,0,.46) 62%,transparent 100%)}
.platform-landing-page-preview[data-landing-variant="connection"]{background:linear-gradient(138deg,#083d70,#176aa8 54%,#4b9fc3)}
.platform-landing-page-preview[data-landing-variant="flight"]{background:linear-gradient(138deg,#063f78,#0a74bc 54%,#38a9d4)}
.platform-landing-page-preview[data-landing-variant="pathways"]{background:linear-gradient(138deg,#28184f,#55408f 54%,#7759b5)}
.platform-landing-page-preview[data-landing-variant="community"]{background:linear-gradient(138deg,#083e50,#08776e 54%,#17966e)}
.platform-landing-page-preview[data-landing-variant="discovery"]{background:linear-gradient(138deg,#26164e,#563d9b 54%,#8b5fc1)}
.platform-landing-page-preview[data-landing-variant="research"]{background:linear-gradient(138deg,#073e48,#087c79 54%,#25a995)}
.platform-landing-page-preview[data-landing-variant="horizon"]{background:linear-gradient(138deg,#54303d,#a85643 54%,#dc9a2c)}
.platform-landing-page-preview[data-landing-variant="studio"]{background:linear-gradient(138deg,#481c46,#963963 54%,#cf6389)}
.platform-landing-page-preview[data-landing-variant="global"]{background:linear-gradient(138deg,#0b335e,#1d67a9 54%,#4b9ad3)}
.platform-landing-page-preview[data-landing-variant="support"]{background:linear-gradient(138deg,#063f49,#087860 54%,#2fa87c)}
.platform-landing-page-preview[data-landing-variant="momentum"]{background:linear-gradient(138deg,#073d65,#087eaf 52%,#20a6d9)}
.platform-landing-page-preview[data-landing-variant="belonging"]{background:linear-gradient(138deg,#451e49,#8d3e71 54%,#c5679b)}
.platform-landing-page-preview[data-landing-variant="content"]{background:linear-gradient(138deg,#102f5b,#286aa4 54%,#5c9bcb)}
.platform-landing-page-preview[data-landing-variant="study"]{background:linear-gradient(138deg,#22285e,#505eb0 54%,#7d89d4)}
.platform-landing-page-preview[data-landing-variant="practice"]{background:linear-gradient(138deg,#07506f,#148eaf 54%,#4ac0d3)}
.platform-landing-page-preview[data-landing-variant="activities"]{background:linear-gradient(138deg,#65351e,#bd6a27 54%,#e3a04a)}
.platform-landing-page-preview[data-landing-variant="collaboration"]{background:linear-gradient(138deg,#06483f,#117e69 54%,#49ad8c)}
.platform-landing-page-preview[data-landing-variant="feedback"]{background:linear-gradient(138deg,#531f53,#9b3d7f 54%,#cf70aa)}
.platform-landing-page-preview[data-landing-variant="assessment"]{background:linear-gradient(138deg,#60301e,#a95731 54%,#d98a5e)}
.platform-landing-page-preview[data-landing-variant="flexible"]{background:linear-gradient(138deg,#25435b,#527b99 54%,#86a9bc)}
.platform-landing-preview-copy{position:relative;z-index:1;align-self:center;max-width:620px}
.platform-landing-preview-copy>span{display:inline-flex;align-items:center;gap:.35rem;color:rgba(255,255,255,.84);font-size:10px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.platform-landing-preview-copy>span i{font-size:1rem}
.platform-landing-preview-copy h3{max-width:590px;margin:.55rem 0 .65rem;color:#fff;font-size:clamp(1.6rem,3vw,2.6rem);line-height:1.02;letter-spacing:-.045em}
.platform-landing-preview-copy h3 span{color:#d6f1ff}
.platform-landing-page-preview[data-landing-variant="pathways"] h3 span,.platform-landing-page-preview[data-landing-variant="discovery"] h3 span{color:#eadcff}
.platform-landing-page-preview[data-landing-variant="horizon"] h3 span{color:#fff0bc}
.platform-landing-page-preview[data-landing-variant="studio"] h3 span,.platform-landing-page-preview[data-landing-variant="belonging"] h3 span{color:#ffe3ee}
.platform-landing-page-preview[data-landing-variant="research"] h3 span,.platform-landing-page-preview[data-landing-variant="support"] h3 span,.platform-landing-page-preview[data-landing-variant="community"] h3 span{color:#d9ffee}
.platform-landing-preview-copy p{max-width:610px;margin:0;color:rgba(255,255,255,.82);font-size:var(--type-help);line-height:1.48}
.platform-landing-preview-copy>b{display:inline-flex;align-items:center;gap:.35rem;margin-top:.85rem;padding:.4rem .6rem;border:1px solid rgba(255,255,255,.26);border-radius:999px;background:rgba(3,18,50,.18);color:#fff;font-size:10px}
.platform-landing-preview-art{position:relative;z-index:1;display:grid;place-items:center;min-width:0;padding-left:1rem}
.platform-landing-preview-art .bau-login-career-svg{width:min(100%,245px);height:auto;filter:drop-shadow(0 10px 16px rgba(0,0,0,.16))}
.platform-landing-preview-orbit{position:absolute;right:-4rem;top:-8rem;width:22rem;height:22rem;border:1px solid rgba(255,255,255,.22);border-radius:50%;pointer-events:none}
.platform-landing-rotation-controls{
  display:grid;
  grid-template-columns:repeat(3,minmax(175px,.72fr)) minmax(210px,.8fr) minmax(230px,1.1fr);
  gap:1rem;
  align-items:center;
  padding:1.15rem 1.35rem;
  border-bottom:1px solid var(--border);
  background:var(--surface-2);
}
.platform-landing-rotation-controls>label{display:grid;gap:.38rem;font-weight:800}
.platform-landing-rotation-controls select,.platform-landing-rotation-controls input{width:100%;min-height:44px}
.platform-landing-rotation-controls small{color:var(--text-secondary);font-size:var(--type-help);font-weight:500;line-height:1.35}
.platform-landing-rotation-controls aside{display:flex;align-items:flex-start;gap:.7rem;padding:.75rem .85rem;border:1px solid var(--accent-border);border-radius:12px;background:var(--accent-bg);color:var(--text-secondary);font-size:var(--type-help);line-height:1.45}
.platform-landing-rotation-controls aside>i{color:var(--accent-text);font-size:1.3rem}
.platform-landing-rotation-controls aside span{display:grid;gap:.1rem}
.platform-landing-rotation-controls aside b{color:var(--text-primary)}
.platform-landing-rotation-controls [data-landing-fixed-note]{border-color:color-mix(in srgb,var(--success-text,#087b65) 34%,var(--border));background:color-mix(in srgb,var(--success-bg,#e6f7f2) 70%,var(--surface-1))}
.platform-landing-rotation-controls [data-landing-fixed-note]>i{color:var(--success-text,#087b65)}
.platform-landing-save-control{display:grid;align-content:center;gap:.38rem}.platform-landing-save-control button{justify-content:center;width:100%;min-height:44px}.platform-landing-save-control small{display:flex;align-items:flex-start;gap:.3rem;color:var(--text-muted);font-size:var(--type-help);line-height:1.35}.platform-landing-save-control small i{margin-top:.05rem}.platform-landing-save-control small.is-pending{color:var(--warning-text,#9b6200)}.platform-landing-save-control small.is-saved{color:var(--success-text,#087b65)}.platform-landing-save-control small.is-error{color:var(--danger-text,#b42318)}.platform-landing-save-control small.is-saving{color:var(--accent-text)}.platform-landing-save-control small.is-saving i{animation:spin 1s linear infinite}
.platform-landing-selection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.35rem;border-bottom:1px solid var(--border);background:var(--surface-1)}
.platform-landing-selection-toolbar>div{display:grid;gap:.2rem}.platform-landing-selection-toolbar b{color:var(--text-primary);font-size:var(--type-label)}.platform-landing-selection-toolbar small{color:var(--text-secondary);font-size:var(--type-help);line-height:1.4}
.platform-landing-selection-toolbar .platform-landing-selection-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.45rem}.platform-landing-selection-actions button{padding:.48rem .7rem;font-size:12px;white-space:nowrap}
.platform-landing-selection-toolbar>span{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto;padding:.38rem .62rem;border:1px solid var(--accent-border);border-radius:999px;background:var(--accent-bg);color:var(--accent-text);font-size:var(--type-help);font-weight:850;white-space:nowrap}
.platform-landing-variant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;padding:1.35rem}
.platform-landing-variant-card{display:block;min-width:0;cursor:pointer}
.platform-landing-variant-card input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}
.platform-landing-variant-card>span{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;column-gap:.65rem;min-height:84px;padding:.8rem;border:1px solid var(--border);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--landing-preview) 12%,var(--surface-1)),var(--surface-1) 66%);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}
.platform-landing-variant-card>span>i{display:grid;grid-row:span 2;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--landing-preview);color:#fff;font-size:1.05rem;box-shadow:0 6px 14px color-mix(in srgb,var(--landing-preview) 28%,transparent)}
.platform-landing-variant-copy{display:grid;min-width:0;gap:.14rem}.platform-landing-variant-copy b{min-width:0;color:var(--text-primary);font-size:var(--type-label)}
.platform-landing-variant-copy small{min-width:0;overflow:hidden;color:var(--text-secondary);font-size:var(--type-help);text-overflow:ellipsis;white-space:nowrap}
.platform-landing-variant-card em{grid-column:3;grid-row:1 / span 2;align-self:center;padding:.25rem .42rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-1);color:var(--text-muted);font-size:9px;font-style:normal;font-weight:800;white-space:nowrap}
.platform-landing-variant-state{display:inline-flex;grid-column:4;grid-row:1 / span 2;align-items:center;justify-content:center;gap:.22rem;align-self:center;min-width:72px;padding:.28rem .42rem;border:1px solid var(--border-strong);border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:9px;font-weight:850;text-transform:uppercase}.platform-landing-variant-state i{font-size:.9rem}.platform-landing-variant-state b{font-size:inherit}
.platform-landing-variant-card:hover>span{border-color:var(--accent-border);transform:translateY(-1px)}
.platform-landing-variant-card.is-selected>span{border-color:var(--landing-preview);box-shadow:0 8px 20px color-mix(in srgb,var(--landing-preview) 18%,transparent)}
.platform-landing-variant-card.is-selected .platform-landing-variant-state{border-color:color-mix(in srgb,var(--landing-preview) 62%,var(--border));background:color-mix(in srgb,var(--landing-preview) 14%,var(--surface-1));color:var(--landing-preview)}
.platform-landing-variant-card input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--accent) 28%,transparent);outline-offset:2px}
.platform-landing-selection-help{display:flex;align-items:flex-start;gap:.45rem;margin:0;padding:0 1.35rem 1.35rem;color:var(--text-secondary);font-size:var(--type-help);line-height:1.45}
.platform-landing-selection-help i{margin-top:.05rem;color:var(--accent-text)}
.platform-landing-page-editor{margin:0 1.35rem 1.35rem;border:1px solid var(--border-strong);border-radius:15px;background:var(--surface-2);overflow:hidden}
.platform-landing-page-editor>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid var(--border);background:linear-gradient(110deg,var(--surface-1),var(--accent-bg))}
.platform-landing-page-editor>header>div:first-child{display:flex;gap:.75rem}.platform-landing-page-editor>header>div:last-child{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}
.platform-landing-page-editor h3{margin:.1rem 0 .2rem;color:var(--text-primary);font-size:var(--type-card-title)}
.platform-landing-page-editor p{margin:0;color:var(--text-secondary);font-size:var(--type-help);line-height:1.45}
.platform-landing-editor-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(120px,.35fr);gap:.8rem;padding:1rem;border-bottom:1px solid var(--border)}
.platform-landing-editor-toolbar label,.platform-landing-editor-grid label{display:grid;gap:.35rem;color:var(--text-primary);font-size:var(--type-label);font-weight:800}
.platform-landing-editor-toolbar select,.platform-landing-editor-toolbar input{width:100%;min-height:42px}
.platform-landing-editor-toolbar input[type="color"]{min-height:42px;padding:.2rem;cursor:pointer}
.platform-landing-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;padding:1rem}
.platform-landing-editor-grid .is-wide{grid-column:1/-1}
.platform-landing-editor-grid input,.platform-landing-editor-grid select,.platform-landing-editor-grid textarea{width:100%;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-1);color:var(--text-primary);font:inherit}
.platform-landing-editor-grid input,.platform-landing-editor-grid select{min-height:42px;padding:0 .7rem}.platform-landing-editor-grid textarea{min-height:78px;padding:.65rem;resize:vertical;line-height:1.45}
.platform-observability-threshold-settings{
  padding:18px;
  border:1px solid var(--border-strong);
  border-radius:10px;
  background:var(--surface-2);
}
.platform-observability-threshold-settings>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.platform-observability-threshold-settings>header>div{display:flex;align-items:flex-start;gap:10px}
.platform-observability-threshold-settings .eyebrow{display:block;margin-bottom:2px;color:var(--accent-text);font-size:10px;font-weight:850;letter-spacing:.065em;text-transform:uppercase}
.platform-observability-threshold-settings h2{margin:0;color:var(--text-primary);font-size:18px}
.platform-observability-threshold-settings p{margin:4px 0 0;color:var(--text-secondary);font-size:11px;line-height:1.5}
.platform-observability-policy-source{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;padding:6px 8px;border:1px solid var(--accent-border);border-radius:999px;background:var(--accent-bg);color:var(--accent-text);font-size:10px;font-weight:800}
.platform-observability-band-legend{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:0 0 10px}
.platform-observability-band-legend span{padding:6px;border:1px solid currentColor;border-radius:6px;background:var(--surface-1);font-size:9px;font-weight:850;text-align:center;text-transform:uppercase}
.platform-observability-threshold-list{display:grid;gap:9px}
.platform-observability-threshold-loading{display:grid;justify-items:center;gap:.4rem;min-height:172px;padding:1.4rem;border:1px dashed var(--accent-border);border-radius:10px;background:var(--accent-bg);color:var(--text-secondary);text-align:center}.platform-observability-threshold-loading>i{color:var(--accent-text);font-size:1.8rem;animation:spin 1s linear infinite}.platform-observability-threshold-loading strong{color:var(--text-primary);font-size:var(--type-label)}.platform-observability-threshold-loading span{max-width:460px;font-size:var(--type-help);line-height:1.45}.platform-observability-threshold-loading.is-error{border-color:var(--danger-border,#efbbb7);background:var(--danger-bg,#fff2f0)}.platform-observability-threshold-loading.is-error>i{animation:none;color:var(--danger-text,#b42318)}
.platform-observability-threshold-row{padding:12px;border:1px solid var(--border);border-radius:9px;background:var(--surface-1)}
.platform-observability-threshold-row>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}
.platform-observability-threshold-row header strong,.platform-observability-threshold-row header small{display:block}
.platform-observability-threshold-row header strong{color:var(--text-primary);font-size:12px}
.platform-observability-threshold-row header small{margin-top:2px;color:var(--text-muted);font-size:9px;text-transform:capitalize}
.platform-observability-threshold-row header em{padding:4px 6px;border-radius:5px;background:var(--surface-2);color:var(--text-secondary);font-size:9px;font-style:normal;font-weight:800}
.platform-observability-band-summary{margin:0 0 9px;padding:7px 8px;border-left:3px solid var(--accent);border-radius:5px;background:var(--accent-bg);color:var(--text-secondary);font-size:9.5px;line-height:1.45}
.platform-observability-band-summary b{color:var(--text-primary)}
.platform-observability-threshold-inputs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.platform-observability-threshold-inputs label{display:grid;gap:3px}
.platform-observability-threshold-inputs label>span{color:var(--text-secondary);font-size:9px;font-weight:800}
.platform-observability-threshold-inputs input{min-width:0}
.platform-observability-threshold-inputs small{color:var(--text-muted);font-size:8.5px}
.platform-observability-change-reason{display:grid;gap:5px;margin-top:14px}
.platform-observability-change-reason>span{color:var(--text-primary);font-size:11px;font-weight:800}
.platform-observability-change-reason b{margin-left:4px;color:var(--danger-text);font-size:9px;text-transform:uppercase}
.platform-observability-change-reason textarea{resize:vertical}
.platform-observability-change-reason small,.platform-observability-policy-meta{color:var(--text-muted);font-size:10px;line-height:1.45}
.platform-observability-policy-meta{display:flex;align-items:flex-start;gap:6px;margin:11px 0 0;padding:9px 10px;border-radius:7px;background:var(--surface-1)}
.platform-observability-policy-meta i{margin-top:1px;color:var(--accent-text)}
.platform-login-security-settings,
.platform-security-log-section{
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--surface-1);
  overflow:hidden;
}
.platform-login-security-settings>header,
.platform-security-log-section>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:1.35rem;
  border-bottom:1px solid var(--border);
  background:linear-gradient(115deg,var(--surface-1),var(--accent-bg));
}
.platform-login-security-settings>header>div,
.platform-security-log-section>header>div{display:flex;gap:1rem}
.platform-login-security-settings h2,
.platform-security-log-section h2{margin:.12rem 0 .3rem}
.platform-login-security-settings p,
.platform-security-log-section p{margin:0;color:var(--text-secondary)}
.platform-security-live,
.platform-password-redaction,
.platform-two-factor-dormant{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  border:1px solid var(--accent-border);
  border-radius:999px;
  padding:.45rem .7rem;
  color:var(--accent-strong);
  background:var(--surface-1);
  font-weight:800;
  font-size:var(--type-help);
  white-space:nowrap;
}
.platform-login-policy-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  padding:1.35rem;
}
.platform-login-policy-grid>label:not(.platform-check){display:grid;gap:.42rem;font-weight:700}
.platform-login-policy-grid input[type="number"],
.platform-two-factor-planning select{width:100%;min-height:48px}
.platform-inline-number{display:flex;align-items:center;gap:.6rem}
.platform-inline-number input{max-width:120px}
.platform-inline-number span{color:var(--text-secondary);font-weight:600}
.platform-login-policy-grid .platform-check{
  min-height:82px;
  border:1px solid var(--border);
  border-radius:14px;
  padding:.9rem;
  background:var(--surface-2);
}
.platform-two-factor-planning{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(260px,.7fr) auto;
  align-items:center;
  gap:1rem;
  margin:0 1.35rem 1.35rem;
  padding:1rem;
  border:1px dashed var(--border-strong);
  border-radius:14px;
  background:var(--surface-2);
}
.platform-two-factor-planning>div{display:flex;align-items:center;gap:.8rem}
.platform-two-factor-planning>div>i{font-size:2rem;color:var(--accent)}
.platform-two-factor-planning span{display:grid;gap:.2rem}
.platform-two-factor-planning small{color:var(--text-secondary)}
.platform-two-factor-planning label{display:grid;gap:.35rem;font-weight:700}
.platform-two-factor-dormant{color:var(--text-secondary);border-color:var(--border-strong);background:var(--surface-1)}
.platform-security-log-section{margin-top:1.25rem}
.platform-security-log-toolbar{
  display:grid;
  grid-template-columns:minmax(300px,1fr) repeat(3,minmax(150px,auto));
  gap:.75rem;
  padding:1rem;
  border-bottom:1px solid var(--border);
}
.platform-security-log-toolbar label{display:grid;gap:.3rem;font-weight:700}
.platform-security-search{position:relative;display:flex!important;align-items:center!important}
.platform-security-search i{position:absolute;left:.9rem;color:var(--text-secondary)}
.platform-security-search input{width:100%;padding-left:2.5rem}
.platform-security-log-summary,
.platform-security-log-pagination{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding:.8rem 1rem;
  color:var(--text-secondary);
}
.platform-security-log-table-wrap{overflow:auto;border-block:1px solid var(--border)}
.platform-security-log-table{width:100%;border-collapse:collapse;min-width:1100px}
.platform-security-log-table th,
.platform-security-log-table td{padding:.85rem 1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}
.platform-security-log-table th{font-size:var(--type-label);letter-spacing:.06em;text-transform:uppercase;background:var(--surface-2)}
.platform-security-log-table td strong,
.platform-security-log-table td small{display:block}
.platform-security-log-table td small{margin-top:.25rem;color:var(--text-secondary)}
.platform-security-event,
.platform-security-redacted{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;padding:.35rem .55rem;font-weight:800;font-size:var(--type-help)}
.platform-security-event{background:#fff1f0;color:#a52a25}
.platform-security-redacted{background:var(--surface-2);color:var(--text-secondary);white-space:nowrap}
.platform-security-referrer{display:block;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.platform-security-log-pagination>div{display:flex;gap:.5rem}
.platform-security-log-loading,
.platform-security-log-empty{display:grid;place-items:center;gap:.45rem;min-height:180px;padding:2rem;text-align:center;color:var(--text-secondary)}
.platform-security-log-loading i{font-size:2rem;animation:spin 1s linear infinite}
.platform-security-log-empty i{font-size:2.2rem;color:var(--accent)}
.platform-security-log-empty.is-error i{color:var(--danger)}
@media(max-width:1000px){
  .platform-settings-context-tabs{grid-template-columns:repeat(2,minmax(0,1fr));position:static}
  .platform-settings-context-tabs button:last-child{grid-column:1/-1}
  .platform-landing-rotation-settings>header{flex-direction:column}
  .platform-landing-policy-summary{text-align:left}
  .platform-landing-rotation-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
  .platform-landing-rotation-controls aside{grid-column:1/-1}
  .platform-landing-variant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .platform-landing-editor-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .platform-landing-editor-toolbar label:last-child{grid-column:1/-1}
  .platform-login-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .platform-two-factor-planning{grid-template-columns:1fr}
  .platform-security-log-toolbar{grid-template-columns:1fr 1fr}
  .platform-security-search{grid-column:1/-1}
  .platform-observability-threshold-settings>header{flex-direction:column}
}
@media(max-width:620px){
  .platform-observability-band-legend{grid-template-columns:1fr 1fr}
  .platform-observability-threshold-inputs{grid-template-columns:1fr 1fr}
  .platform-landing-page-preview{grid-template-columns:1fr;min-height:0;padding:1rem}
  .platform-landing-preview-art{display:none}
  .platform-landing-rotation-controls,.platform-landing-variant-grid{grid-template-columns:1fr}
  .platform-landing-selection-toolbar{align-items:flex-start;flex-direction:column;padding-left:1rem;padding-right:1rem}.platform-landing-selection-toolbar .platform-landing-selection-actions{justify-content:flex-start}.platform-landing-selection-toolbar>span{white-space:normal}
  .platform-landing-page-editor{margin-inline:1rem}
  .platform-landing-page-editor>header{flex-direction:column}.platform-landing-page-editor>header>div:last-child{justify-content:flex-start}
  .platform-landing-editor-toolbar,.platform-landing-editor-grid{grid-template-columns:1fr}.platform-landing-editor-toolbar label:last-child{grid-column:auto}
  .platform-landing-rotation-controls aside{grid-column:auto}
  .platform-landing-rotation-settings>header,.platform-landing-rotation-controls,.platform-landing-variant-grid{padding-left:1rem;padding-right:1rem}
  .platform-landing-selection-help{padding-left:1rem;padding-right:1rem}
  .platform-observability-policy-source{white-space:normal}
}
:is(.btn-accent,.btn-ghost,.btn-danger,button[type="submit"],button[type="reset"]):not(.icon-btn){font-size:var(--type-button)}
:is(table,.platform-table,.admin-table){font-size:var(--type-table)}
.foot{font-size:var(--type-caption)}
:is(.week-content,.theory-text,.course-content,.shell-course-rich,.ed-rich-input,.study-note-input){font-family:var(--font-reading)}
.account-appearance-card{grid-column:1/-1}
.account-appearance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(240px,1.15fr);gap:11px;margin-top:14px}
.account-appearance-grid>label{display:grid;gap:6px;font-size:var(--type-label);font-weight:700}
.account-appearance-grid select{width:100%;min-height:var(--form-control-height);padding:0 11px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-1);color:var(--text-primary);font:inherit;font-size:var(--form-control-font-size)}
.account-appearance-grid>aside{display:flex;align-items:flex-start;gap:9px;padding:11px;border-left:4px solid var(--accent);background:var(--accent-bg);color:var(--text-secondary);font-size:var(--type-help);line-height:1.5}.account-appearance-grid>aside>i{color:var(--accent-text);font-size:20px}
.account-appearance-card>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;padding-top:12px;border-top:1px solid var(--border)}.account-appearance-card>footer span{color:var(--text-muted);font-size:var(--type-help)}
.account-quiz-voice-card{grid-column:1/-1;overflow:hidden;padding:0}
.account-quiz-voice-intro{display:flex;align-items:center;gap:14px;padding:18px 20px;border-bottom:1px solid var(--border);background:linear-gradient(110deg,var(--accent-bg),var(--surface-1))}
.account-quiz-voice-intro>span{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:14px;background:var(--accent);color:#fff;font-size:25px;box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 22%,transparent)}
.account-quiz-voice-intro .card-title{margin:0}.account-quiz-voice-intro p{margin:5px 0 0;line-height:1.5}
.account-quiz-voice-controls{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(190px,.7fr) auto;gap:12px;align-items:end;padding:18px 20px}
.account-quiz-voice-controls label{display:grid;gap:6px;font-size:var(--type-label);font-weight:800}.account-quiz-voice-controls select{width:100%;min-height:var(--form-control-height);padding:0 38px 0 12px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-1);color:var(--text-primary);font:inherit;font-size:var(--form-control-font-size)}
.account-quiz-voice-controls button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:var(--form-control-height);padding:0 16px;border:1px solid var(--accent-border);border-radius:9px;background:var(--accent-bg);color:var(--accent-text);font-weight:800}.account-quiz-voice-controls button.is-playing{background:var(--accent);color:#fff}
.account-quiz-voice-card>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-top:1px solid var(--border);background:var(--surface-2);color:var(--text-secondary);font-size:var(--type-help)}.account-quiz-voice-card>footer small{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted)}
.account-quick-message-card{grid-column:1/-1;overflow:hidden;padding:0}.account-quick-message-intro{display:flex;align-items:center;gap:14px;padding:18px 20px;border-bottom:1px solid var(--border);background:linear-gradient(110deg,color-mix(in srgb,var(--accent-bg) 66%,#e9f6f1),var(--surface-1))}.account-quick-message-intro>span{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:14px;background:#16806d;color:#fff;font-size:25px;box-shadow:0 8px 20px rgba(22,128,109,.18)}.account-quick-message-intro .card-title{margin:0}.account-quick-message-intro p{margin:5px 0 0;line-height:1.5}.account-quick-message-controls{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(190px,.7fr);gap:12px;align-items:end;padding:18px 20px}.account-quick-message-controls label{display:grid;gap:6px;font-size:var(--type-label);font-weight:800}.account-quick-message-controls select{width:100%;min-height:var(--form-control-height);padding:0 38px 0 12px;border:1px solid var(--border-strong);border-radius:9px;background:var(--surface-1);color:var(--text-primary);font:inherit;font-size:var(--form-control-font-size)}.account-quick-message-card>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-top:1px solid var(--border);background:var(--surface-2);color:var(--success-text);font-size:var(--type-help)}.account-quick-message-card>footer small{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted)}
@media(max-width:900px){.account-appearance-grid{grid-template-columns:1fr 1fr}.account-appearance-grid>aside{grid-column:1/-1}}
@media(max-width:900px){.account-quiz-voice-controls{grid-template-columns:1fr 1fr}.account-quiz-voice-controls button{grid-column:1/-1}.account-quiz-voice-card>footer{align-items:flex-start;flex-direction:column}}
@media(max-width:900px){.account-quick-message-controls{grid-template-columns:1fr 1fr}.account-quick-message-card>footer{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.account-appearance-grid{grid-template-columns:1fr}.account-appearance-grid>aside{grid-column:auto}.account-appearance-card>footer{align-items:stretch;flex-direction:column}.account-quiz-voice-controls,.account-quick-message-controls{grid-template-columns:1fr}.account-quiz-voice-controls button{grid-column:auto}}

/* Shared form comfort scale
   Keep form typography and hit targets proportional across administration,
   teaching and student workspaces. Compact icon-only tools are intentionally
   excluded so dense editors and table actions retain their visual hierarchy. */
:is(form,[class$="-form"],[class*="-form "]) :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
  select
){
  min-height:var(--form-control-height)!important;
  font-size:var(--form-control-font-size)!important;
}
:is(form,[class$="-form"],[class*="-form "]) textarea{
  font-size:var(--form-control-font-size)!important;
  line-height:1.5;
}
:is(form,[class$="-form"],[class*="-form "]) label{
  font-size:var(--form-label-font-size);
  line-height:1.4;
}
:is(form,[class$="-form"],[class*="-form "]) label small,
:is(form,[class$="-form"],[class*="-form "]) .field-help,
:is(form,[class$="-form"],[class*="-form "]) .form-help,
:is(form,[class$="-form"],[class*="-form "]) .help-text{
  font-size:var(--form-help-font-size)!important;
  line-height:1.45;
}
:is(form,[class$="-form"],[class*="-form "]) input[type="checkbox"],
:is(form,[class$="-form"],[class*="-form "]) input[type="radio"]{
  width:var(--form-check-size);
  height:var(--form-check-size);
}
:is(form,[class$="-form"],[class*="-form "]) :is(.btn-accent,.btn-ghost,.btn-danger,button[type="submit"],button[type="reset"]):not(.icon-btn){
  min-height:var(--form-action-height)!important;
  font-size:14px;
}

/* Shared field systems used by older and newer forms. */
.admin-form input,
.admin-form select,
.ed-field input,
.account-password-input input,
.login-form input{
  min-height:var(--form-control-height);
  height:var(--form-control-height);
  font-size:var(--form-control-font-size);
}
/* Native color inputs are compact toolbar swatches, not full-size form fields.
   This must follow the shared field rules above so every rich-editor instance
   keeps the same bounded control instead of stretching into a vertical bar. */
.ed-field .ed-rich-color input[type="color"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  flex:0 0 24px!important;
  width:24px!important;
  min-width:24px!important;
  max-width:24px!important;
  height:24px!important;
  min-height:24px!important;
  max-height:24px!important;
  margin:0!important;
  padding:2px!important;
  overflow:hidden;
  border:1px solid var(--border-strong)!important;
  border-radius:6px;
  background:var(--surface-1)!important;
  box-sizing:border-box;
}
.ed-field .ed-rich-color input[type="color"]::-webkit-color-swatch-wrapper{padding:0}
.ed-field .ed-rich-color input[type="color"]::-webkit-color-swatch{border:0;border-radius:3px}
.ed-field .ed-rich-color input[type="color"]::-moz-color-swatch{border:0;border-radius:3px}
.ed-field textarea{
  font-size:var(--form-control-font-size);
}
.ed-field>span,
.account-password-form>label,
.platform-form-grid label,
.course-shell-editor label,
.platform-week-resource-policy-grid>label{
  font-size:var(--form-label-font-size);
  line-height:1.4;
}
.platform-form-grid input,
.platform-form-grid select,
.platform-form-grid textarea,
.course-shell-editor input,
.course-shell-editor select,
.course-shell-editor textarea,
.platform-week-resource-policy-grid input,
.platform-week-resource-policy-grid textarea{
  min-height:var(--form-control-height);
  font-size:var(--form-control-font-size);
}
.platform-check span small,
.platform-week-resource-policy-grid label>small{
  font-size:var(--form-help-font-size);
}

/* Filter bars are form-like controls even when they are not wrapped in form. */
.platform-search input,
.platform-course-directory-toolbar select,
.career-student-directory-controls select,
.career-student-search>div,
.career-student-search input{
  min-height:var(--form-control-height);
  font-size:14px;
}
.platform-course-directory-toolbar>label:not(.platform-search),
.career-student-directory-controls label>span{
  font-size:12px;
  line-height:1.35;
}
.platform-course-directory-toolbar .platform-sort-direction,
.platform-course-directory-toolbar .platform-filter-reset{
  min-height:var(--form-action-height);
  font-size:13px;
}

/* Student privacy choices predate the shared form wrapper. */
.privacy-request-fields select,
.privacy-request-fields textarea{
  min-height:var(--form-control-height);
  font-size:var(--form-control-font-size);
}
.privacy-request-fields label,
.privacy-consent-check b{
  font-size:var(--form-label-font-size);
  line-height:1.4;
}
.privacy-consent-check small{
  font-size:var(--form-help-font-size);
  line-height:1.45;
}
.privacy-consent-check input{
  width:var(--form-check-size);
  height:var(--form-check-size);
}
.privacy-choice-card .btn-accent,
.privacy-request-fields .btn-accent{
  min-height:var(--form-action-height);
  font-size:14px;
}

/* Dense authoring and import forms inherit the same readable floor. */
.student-import-modal :is(label,legend),
.manual-exam-form-grid label,
.manual-exam-panel-grid label,
.manual-exam-flags label,
.privacy-request-fields label,
.privacy-admin-request-controls label,
.homework-submission-grade label>span{
  font-size:var(--form-label-font-size)!important;
  line-height:1.4;
}
.student-import-modal :is(p,small),
.manual-exam-form-grid small,
.manual-exam-panel-grid small,
.manual-exam-flags small,
.privacy-request-fields small,
.privacy-admin-request-controls small,
.homework-submission-grade small{
  font-size:var(--form-help-font-size)!important;
  line-height:1.45;
}

@media(max-width:620px){
  :root{
    --form-control-height:48px;
    --form-action-height:46px;
  }
}

/* Professor SVG Studio */
.svg-studio-page{
  width:min(1840px,calc(100% - 48px));
  max-width:none;
  margin:0 auto;
  color:var(--ink);
}
.svg-studio-page{
  padding:32px 30px 70px;
}
.svg-studio-page-head{
  position:relative;
  isolation:isolate;
  min-height:390px;
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:34px;
  overflow:hidden;
  padding:38px;
  border:1px solid rgba(106,139,255,.42);
  border-radius:28px;
  background:
    radial-gradient(circle at 18% 18%,rgba(88,214,255,.17),transparent 28%),
    radial-gradient(circle at 72% 112%,rgba(255,88,174,.18),transparent 39%),
    linear-gradient(135deg,#0a1635 0%,#15245a 54%,#39226f 100%);
  color:#fff;
  box-shadow:0 24px 60px rgba(17,31,76,.2);
}
.svg-studio-page-head:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(90deg,#000,transparent 58%);
}
.svg-studio-hero-copy{
  position:relative;
  z-index:2;
  width:min(58%,840px);
  display:flex;
  align-items:flex-start;
  justify-content:center;
  flex-direction:column;
}
.svg-studio-back{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:30px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#dff6ff;
  font-weight:750;
  text-decoration:none;
  backdrop-filter:blur(8px);
  transition:background .15s,border-color .15s,transform .15s;
}
.svg-studio-back:hover{
  border-color:rgba(255,255,255,.48);
  background:rgba(255,255,255,.15);
  transform:translateX(-2px);
}
.svg-studio-page-head .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#9ee9ff;
  letter-spacing:.13em;
}
.svg-studio-page-head h1{
  margin:8px 0 15px;
  font-size:clamp(50px,5.6vw,84px);
  line-height:.9;
  letter-spacing:-.065em;
  color:#fff;
}
.svg-studio-page-head h1 span{
  color:transparent;
  background:linear-gradient(110deg,#66dcff 0%,#9d8cff 48%,#ff82c1 100%);
  background-clip:text;
  -webkit-background-clip:text;
}
.svg-studio-page-head p{
  margin:0;
  max-width:720px;
  font-size:17px;
  line-height:1.6;
  color:rgba(239,245,255,.78);
}
.svg-studio-hero-pills{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  margin-top:24px;
}
.svg-studio-hero-pills span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(6,16,45,.28);
  color:rgba(242,247,255,.78);
  font-size:12px;
  font-weight:700;
  backdrop-filter:blur(7px);
}
.svg-studio-hero-pills b{color:#fff;font-size:14px}
.svg-studio-hero-pills i{color:#9ee9ff;font-size:15px}
.svg-studio-hero-visual{
  position:relative;
  z-index:1;
  width:min(42%,610px);
  min-width:390px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.svg-studio-hero-art{
  position:absolute;
  inset:-24px -36px 36px -18px;
  transform:rotate(1.5deg);
}
.svg-studio-hero-art svg{
  width:100%;
  height:100%;
  display:block;
  overflow:visible;
  filter:drop-shadow(0 22px 38px rgba(0,0,0,.24));
}
.svg-studio-art-label{
  position:absolute;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:10px;
  background:rgba(10,20,54,.66);
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.03em;
  box-shadow:0 10px 24px rgba(0,0,0,.2);
  backdrop-filter:blur(10px);
}
.svg-studio-art-label i{color:#72dcff;font-size:15px}
.svg-studio-art-label-a{top:23%;right:5%}
.svg-studio-art-label-b{right:19%;bottom:29%}
.svg-hero-node{
  transform-box:fill-box;
  transform-origin:center;
  animation:svg-hero-pulse 3.2s ease-in-out infinite;
}
.svg-hero-node-two{animation-delay:.4s}
.svg-hero-node-three{animation-delay:.8s}
.svg-hero-node-four{animation-delay:1.2s}
@keyframes svg-hero-pulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.22)}
}
.svg-studio-context{
  position:absolute;
  right:4px;
  bottom:4px;
  width:min(360px,92%);
  min-width:0;
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:16px;
  background:rgba(7,17,47,.72);
  color:#fff;
  box-shadow:0 16px 36px rgba(0,0,0,.22);
  backdrop-filter:blur(14px);
}
.svg-studio-context>i{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:12px;
  background:linear-gradient(145deg,#56d6ff,#8175ff);
  color:#07132f;
  font-size:24px;
}
.svg-studio-context span{
  display:grid;
  gap:3px;
}
.svg-studio-context small{
  color:rgba(229,238,255,.64);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.svg-studio-context b{
  max-width:330px;
  font-size:15px;
  color:#fff;
}
.svg-studio-help{
  margin:24px 0;
  border:1.5px solid #d7b66d;
  border-radius:18px;
  background:color-mix(in srgb,#fff8df 72%,var(--panel));
  overflow:hidden;
}
.svg-studio-help summary{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:17px 20px;
  cursor:pointer;
  list-style:none;
}
.svg-studio-help summary::-webkit-details-marker{display:none}
.svg-studio-help summary>span{
  display:flex;
  align-items:center;
  gap:13px;
}
.svg-studio-help summary>span>i{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:11px;
  background:#fff0b8;
  color:#8a5b00;
  font-size:22px;
}
.svg-studio-help summary span span{
  display:grid;
  gap:3px;
}
.svg-studio-help summary b{font-size:16px}
.svg-studio-help summary small{color:var(--muted);font-size:13px}
.svg-studio-help[open] summary>i{transform:rotate(180deg)}
.svg-studio-help-body{
  display:grid;
  grid-template-columns:1fr 1.2fr 1fr;
  gap:0;
  border-top:1px solid #d7b66d;
  background:var(--panel);
}
.svg-studio-help-body section{
  padding:20px 22px;
}
.svg-studio-help-body section+section{
  border-left:1px solid var(--line);
}
.svg-studio-help-body h3{
  margin:0 0 10px;
  font-size:16px;
}
.svg-studio-help-body ol{
  margin:0;
  padding-left:20px;
  font-size:14px;
  line-height:1.55;
}
.svg-studio-help-body pre{
  margin:0 0 12px;
  padding:14px;
  max-height:225px;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--soft);
  white-space:pre-wrap;
  font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;
}
.svg-studio-library-tools{
  display:flex;
  align-items:center;
  gap:12px;
  padding:18px;
  border:1.5px solid var(--line);
  border-radius:18px;
  background:var(--panel);
}
.svg-studio-search{
  flex:1;
  display:flex;
  align-items:center;
  gap:10px;
  min-height:50px;
  padding:0 15px;
  border:1.5px solid var(--line);
  border-radius:12px;
  background:var(--soft);
}
.svg-studio-search i{font-size:20px;color:var(--muted)}
.svg-studio-search input{
  width:100%;
  min-height:46px;
  padding:0;
  border:0;
  outline:0;
  background:transparent;
  font-size:15px;
}
.svg-studio-file-manager{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:14px;
  padding:14px 16px;
  border:1.5px solid var(--line);
  border-radius:16px;
  background:var(--panel);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.svg-studio-file-manager.is-active{
  border-color:var(--accent);
  background:linear-gradient(110deg,var(--accent-bg),var(--panel) 48%);
  box-shadow:0 10px 26px rgba(24,95,165,.09);
}
.svg-file-manager-summary{
  min-width:230px;
  display:flex;
  align-items:center;
  gap:11px;
}
.svg-file-manager-summary>span{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  flex:0 0 42px;
  border-radius:12px;
  background:var(--accent-bg);
  color:var(--accent);
  font-size:21px;
}
.svg-file-manager-summary div{
  display:grid;
  gap:2px;
}
.svg-file-manager-summary b{font-size:15px}
.svg-file-manager-summary small{
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}
.svg-file-manager-actions{
  display:flex;
  align-items:end;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
}
.svg-file-manager-actions>label{
  display:grid;
  gap:3px;
}
.svg-file-manager-actions>label>span{
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.svg-file-manager-actions select{
  min-width:150px;
  min-height:40px;
  padding:7px 34px 7px 10px;
  border:1.5px solid var(--line);
  border-radius:10px;
  background:var(--panel);
}
.svg-file-manager-actions .btn-ghost,
.svg-file-manager-actions .btn-danger{min-height:40px;padding:8px 11px}
.svg-file-manager-actions .icon-btn{min-height:40px;width:40px}
.svg-studio-library-layout{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:20px;
  margin-top:20px;
}
.svg-studio-groups,
.svg-studio-assets{
  border:1.5px solid var(--line);
  border-radius:18px;
  background:var(--panel);
}
.svg-studio-groups{
  align-self:start;
  padding:12px;
  position:sticky;
  top:18px;
}
.svg-studio-groups>header,
.svg-studio-results{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 8px 14px;
}
.svg-studio-results>div:first-child{display:grid;gap:2px}
.svg-studio-groups>header span,
.svg-studio-results span{font-weight:800}
.svg-studio-groups>header small,
.svg-studio-results small{color:var(--muted)}
.svg-studio-view-switch{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:4px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--soft);
}
.svg-studio-view-switch button{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:7px 10px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.svg-studio-view-switch button:hover{color:var(--accent)}
.svg-studio-view-switch button.active{
  background:var(--panel);
  color:var(--accent);
  box-shadow:0 2px 8px rgba(15,23,42,.1);
}
.svg-studio-view-switch button:focus-visible{outline:3px solid rgba(24,95,165,.22);outline-offset:2px}
.svg-studio-groups>button,
.svg-studio-group-row>button:first-child{
  width:100%;
  min-height:46px;
  display:grid;
  grid-template-columns:22px 1fr auto;
  align-items:center;
  gap:9px;
  padding:9px 11px;
  border:0;
  border-radius:11px;
  background:transparent;
  text-align:left;
  color:var(--ink);
}
.svg-studio-groups>button:hover,
.svg-studio-groups>button.active,
.svg-studio-group-row>button:first-child:hover,
.svg-studio-group-row>button:first-child.active{
  background:var(--accent-bg);
  color:var(--accent);
}
.svg-studio-groups button b{
  min-width:25px;
  padding:3px 6px;
  border-radius:999px;
  background:var(--soft);
  text-align:center;
  font-size:11px;
}
.svg-studio-group-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 38px;
  gap:4px;
}
.svg-studio-group-row .icon-btn{
  width:38px;
  min-height:38px;
  margin-top:4px;
}
.svg-studio-assets{padding:14px 16px 22px}
.svg-asset-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(240px,1fr));
  gap:16px;
}
.svg-asset-card{
  position:relative;
  min-width:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1.5px solid var(--line);
  border-radius:16px;
  background:var(--panel);
}
.svg-asset-card.is-selected{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(24,95,165,.13),0 12px 30px rgba(24,95,165,.1);
}
.svg-asset-select{
  position:absolute;
  z-index:3;
  top:12px;
  left:12px;
  cursor:pointer;
}
.svg-asset-select input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.svg-asset-select>span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:2px solid var(--line);
  border-radius:10px;
  background:rgba(255,255,255,.94);
  color:transparent;
  box-shadow:0 5px 14px rgba(15,23,42,.12);
  transition:.16s ease;
}
.svg-asset-select:hover>span{
  border-color:var(--accent);
  color:var(--accent);
}
.svg-asset-select input:focus-visible+span{
  outline:3px solid rgba(24,95,165,.24);
  outline-offset:2px;
}
.svg-asset-select input:checked+span{
  border-color:var(--accent);
  background:var(--accent);
  color:#fff;
}
.svg-overwrite-note{
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:12px;
  border:1px solid #b9d6ef;
  border-radius:11px;
  background:#eef7ff;
  color:#24445f;
  font-size:12px;
  line-height:1.4;
}
.svg-overwrite-note i{margin-top:1px;color:var(--accent);font-size:17px}
.svg-overwrite-note span{display:grid;gap:2px}
.svg-asset-preview{
  width:100%;
  aspect-ratio:16/9;
  display:block;
  padding:14px;
  border:0;
  border-bottom:1px solid var(--line);
  background:
    linear-gradient(45deg,rgba(24,95,165,.035) 25%,transparent 25%),
    linear-gradient(-45deg,rgba(24,95,165,.035) 25%,transparent 25%),
    linear-gradient(45deg,transparent 75%,rgba(24,95,165,.035) 75%),
    linear-gradient(-45deg,transparent 75%,rgba(24,95,165,.035) 75%);
  background-size:22px 22px;
  background-position:0 0,0 11px,11px -11px,-11px 0;
}
.svg-asset-preview:hover{background-color:var(--accent-bg)}
.svg-asset-preview svg{width:100%;height:100%;display:block}
.svg-asset-card-copy{
  flex:1;
  padding:15px 16px 10px;
}
.svg-asset-card-copy>span{
  color:var(--accent);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.svg-asset-card-copy h3{
  margin:5px 0;
  font-size:18px;
}
.svg-asset-card-copy p{
  margin:0;
  min-height:42px;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.svg-asset-card footer{
  display:flex;
  align-items:center;
  gap:7px;
  padding:12px;
  border-top:1px solid var(--line);
}
.svg-asset-card footer .btn-ghost,
.svg-asset-card footer .btn-accent{
  flex:1;
  min-width:0;
  padding:9px 11px;
  font-size:12px;
}
.svg-asset-card footer .icon-btn{
  width:38px;
  min-height:38px;
  flex:0 0 38px;
}

/* SVG asset library browsing densities. Normal remains the rich default. */
.svg-asset-grid.view-compact{
  grid-template-columns:repeat(auto-fill,minmax(185px,1fr));
  gap:10px;
}
.svg-asset-grid.view-compact .svg-asset-card{border-radius:13px}
.svg-asset-grid.view-compact .svg-asset-preview{padding:9px}
.svg-asset-grid.view-compact .svg-asset-select{top:8px;left:8px}
.svg-asset-grid.view-compact .svg-asset-select>span{width:28px;height:28px;border-radius:8px}
.svg-asset-grid.view-compact .svg-asset-card-copy{padding:10px 11px 8px}
.svg-asset-grid.view-compact .svg-asset-card-copy>span{font-size:9px}
.svg-asset-grid.view-compact .svg-asset-card-copy h3{
  overflow:hidden;
  margin:3px 0 0;
  font-size:14px;
  line-height:1.3;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.svg-asset-grid.view-compact .svg-asset-card-copy p{display:none}
.svg-asset-grid.view-compact .svg-asset-card footer{gap:5px;padding:7px}
.svg-asset-grid.view-compact .svg-asset-card footer button{
  min-height:34px;
  width:auto;
  flex:1 1 34px;
  padding:7px;
  font-size:0;
}
.svg-asset-grid.view-compact .svg-asset-card footer button i{font-size:15px}

.svg-asset-grid.view-list{grid-template-columns:1fr;gap:10px}
.svg-asset-grid.view-list .svg-asset-card{
  display:grid;
  grid-template-columns:190px minmax(220px,1fr) 220px;
  align-items:stretch;
  min-height:126px;
  border-radius:13px;
}
.svg-asset-grid.view-list .svg-asset-preview{
  height:100%;
  min-height:124px;
  aspect-ratio:auto;
  padding:10px;
  border-right:1px solid var(--line);
  border-bottom:0;
}
.svg-asset-grid.view-list .svg-asset-card-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  justify-content:center;
  padding:14px 16px;
}
.svg-asset-grid.view-list .svg-asset-card-copy h3{margin:4px 0;font-size:17px}
.svg-asset-grid.view-list .svg-asset-card-copy p{min-height:0;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.svg-asset-grid.view-list .svg-asset-card footer{
  display:grid;
  grid-template-columns:repeat(2,minmax(42px,1fr));
  align-content:center;
  gap:7px;
  padding:12px;
  border-top:0;
  border-left:1px solid var(--line);
}
.svg-asset-grid.view-list .svg-asset-card footer .btn-ghost,
.svg-asset-grid.view-list .svg-asset-card footer .btn-accent,
.svg-asset-grid.view-list .svg-asset-card footer .icon-btn{
  width:auto;
  min-height:38px;
  flex:auto;
}
.svg-studio-empty{
  grid-column:1/-1;
  min-height:380px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:10px;
  text-align:center;
}
.svg-studio-empty>i{font-size:54px;color:var(--accent)}
.svg-studio-empty h2,.svg-studio-empty p{margin:0}
.svg-studio-empty p{color:var(--muted)}

.svg-studio-editor{
  width:100%;
  max-width:none;
  margin:0;
  color:var(--ink);
  height:calc(100vh - var(--topbar-h, 88px));
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
  overflow:hidden;
  background:var(--bg);
}
.svg-editor-topbar{
  display:grid;
  grid-template-columns:auto minmax(240px,1fr) auto auto;
  align-items:center;
  gap:14px;
  padding:12px 18px;
  border-bottom:1px solid var(--line);
  background:var(--panel);
}
.svg-editor-topbar>div{
  display:flex;
  align-items:center;
  gap:12px;
}
.svg-editor-topbar input{
  width:min(520px,100%);
  min-height:44px;
  padding:8px 12px;
  border:1.5px solid var(--line);
  border-radius:10px;
  font-size:18px;
  font-weight:800;
}
#svgStudioSaveStatus{
  color:var(--muted);
  font-size:13px;
  white-space:nowrap;
}
.svg-editor-commandbar{
  position:relative;
  z-index:12;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  padding:9px 14px;
  border-bottom:1px solid var(--border);
  background:var(--surface-1);
  overflow:visible;
}
.svg-editor-history,
.svg-editor-tools,
.svg-editor-mode{
  display:flex;
  align-items:center;
  gap:6px;
}
.svg-editor-tools{flex:1 1 680px;flex-wrap:wrap}
.svg-canvas-background-control{
  display:flex;
  align-items:center;
  gap:7px;
  padding:4px 8px 4px 11px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--surface-2);
  color:var(--text-muted);
  font-size:12px;
  font-weight:750;
  white-space:nowrap;
}
.svg-canvas-background-control input{
  width:34px;
  height:30px;
  padding:2px;
  border:0;
  background:transparent;
}
.svg-editor-tools button,
.svg-editor-mode button{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 11px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--surface-2);
  white-space:nowrap;
}
.svg-editor-tools button:hover,
.svg-editor-mode button:hover,
.svg-editor-mode button.active{
  border-color:var(--accent);
  color:var(--accent);
  background:var(--accent-bg);
}
.svg-shape-menu{position:static;z-index:80}
.svg-shape-menu summary{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 11px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--surface-2);
  color:var(--text-primary);
  cursor:pointer;
  list-style:none;
  white-space:nowrap;
}
.svg-shape-menu summary::-webkit-details-marker{display:none}
.svg-shape-menu[open] summary{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}
.svg-shape-menu>div{
  position:absolute;
  z-index:200;
  top:calc(100% + 7px);
  right:444px;
  display:grid;
  grid-template-columns:repeat(2,minmax(150px,1fr));
  gap:6px;
  width:330px;
  padding:8px;
  border:1px solid var(--border-strong);
  border-radius:12px;
  background:var(--surface-2);
  color:var(--text-primary);
  box-shadow:0 18px 42px rgba(16,24,40,.2);
}
.svg-shape-menu>div button{
  justify-content:flex-start;
  border-color:var(--border);
  background:var(--surface-2);
  color:var(--text-primary);
}
.svg-shape-menu>div button:hover{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text)}
.svg-element-browser-button{border-color:var(--accent)!important;color:var(--accent)}
.svg-editor-workspace{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 430px;
}
.svg-editor-workspace>main{
  min-width:0;
  min-height:0;
  overflow:hidden;
}
.svg-editor-visual,
.svg-editor-code{
  width:100%;
  height:100%;
}
.svg-canvas-stage{
  position:relative;
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  padding:32px;
  overflow:auto;
  background-color:var(--svg-stage-background,#dfe5eb);
  background-image:linear-gradient(rgba(49,65,80,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(49,65,80,.08) 1px,transparent 1px);
  background-size:24px 24px;
}
.svg-canvas-host{
  position:relative;
  z-index:1;
  width:min(100%,1200px);
  aspect-ratio:16/9;
  background:#fff;
  box-shadow:0 18px 50px rgba(16,24,40,.18);
}
.svg-canvas-host>svg{
  width:100%;
  height:100%;
  display:block;
  touch-action:none;
}
.svg-canvas-host .svg-studio-selected{
  stroke:#e11d48!important;
  stroke-width:5!important;
  filter:drop-shadow(0 0 5px rgba(225,29,72,.6));
  cursor:move;
}
.svg-transform-overlay{
  position:absolute;
  z-index:8;
  box-sizing:border-box;
  border:2px solid #e11d48;
  border-radius:3px;
  pointer-events:none;
  filter:drop-shadow(0 2px 4px rgba(16,24,40,.18));
}
.svg-transform-overlay[hidden]{display:none}
.svg-transform-overlay::before{
  content:"";
  position:absolute;
  left:50%;
  top:-30px;
  width:2px;
  height:28px;
  background:#e11d48;
  transform:translateX(-50%);
}
.svg-transform-handle{
  position:absolute;
  z-index:2;
  width:28px;
  height:28px;
  min-height:0;
  display:grid;
  place-items:center;
  padding:0;
  border:2px solid #fff;
  border-radius:50%;
  background:#e11d48;
  color:#fff;
  box-shadow:0 2px 9px rgba(16,24,40,.28);
  pointer-events:auto;
  touch-action:none;
  user-select:none;
}
.svg-transform-handle i{font-size:15px;pointer-events:none}
.svg-transform-rotate{
  left:50%;
  top:-43px;
  transform:translateX(-50%);
  cursor:grab;
}
.svg-transform-rotate:active{cursor:grabbing}
.svg-transform-scale{
  right:-15px;
  bottom:-15px;
  cursor:nwse-resize;
}
.svg-editor-sidebar{
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  overflow:hidden;
  border-left:1px solid var(--border);
  background:var(--surface-2);
}
.svg-editor-sidebar-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  padding:10px;
  border-bottom:1px solid var(--border);
  background:var(--surface-1);
}
.svg-editor-sidebar-tabs button{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:8px 10px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:var(--text-muted);
  font-family:inherit;
  font-size:13px;
  font-weight:750;
}
.svg-editor-sidebar-tabs button:hover,
.svg-editor-sidebar-tabs button.active{
  border-color:var(--accent-border);
  background:var(--surface-2);
  color:var(--accent-text);
  box-shadow:0 3px 12px rgba(16,24,40,.08);
}
.svg-editor-sidebar-panel{
  min-height:0;
  overflow:auto;
}
.svg-editor-sidebar-panel[hidden]{display:none}
.svg-editor-sidebar-panel>section{
  padding:16px;
  border-bottom:1px solid var(--border);
}
.svg-editor-sidebar-panel>section>header{
  margin-bottom:13px;
  font-size:13px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.svg-editor-source-panel{overflow:hidden}
.svg-editor-source-panel>.svg-editor-code{height:100%}
.svg-inspector-empty{
  min-height:130px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:6px;
  color:var(--text-muted);
  text-align:center;
}
.svg-inspector-empty i{font-size:30px;color:var(--accent)}
.svg-inspector-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:12px;
  font-weight:800;
}
.svg-inspector-transform-tip{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:8px;
  align-items:start;
  margin-bottom:12px;
  padding:9px 10px;
  border:1px solid var(--accent-border);
  border-radius:9px;
  background:var(--accent-bg);
  color:var(--text-muted);
  font-size:11px;
  line-height:1.45;
}
.svg-inspector-transform-tip i{
  margin-top:1px;
  color:var(--accent-text);
  font-size:16px;
}
.svg-inspector-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.svg-inspector-grid label,
.svg-inspector-text,
.svg-asset-metadata label{
  display:grid;
  gap:5px;
}
.svg-inspector-grid label span,
.svg-inspector-text span,
.svg-asset-metadata label span{
  color:var(--muted);
  font-size:12px;
  font-weight:750;
}
.svg-inspector-grid input,
.svg-inspector-grid select,
.svg-inspector-text textarea,
.svg-inspector-text select,
.svg-asset-metadata :is(input,select,textarea){
  width:100%;
  min-height:42px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--soft);
  color:var(--ink);
  font:inherit;
}
.svg-inspector-grid input[type=color]{padding:4px}
.svg-inspector-suffix{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--surface-1);
}
.svg-inspector-suffix input{
  min-width:0;
  border:0;
  border-radius:0;
}
.svg-inspector-suffix b{
  padding:0 10px;
  color:var(--text-muted);
  font-size:12px;
}
.svg-inspector-text{margin-top:10px}
.svg-inspector-text small{color:var(--muted);font-size:11px;line-height:1.4}
.svg-inspector-font{margin-top:10px}
.svg-inspector-transparency{
  display:grid;
  gap:8px;
  margin-top:12px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface-2);
}
.svg-inspector-transparency>span{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:var(--text);
  font-size:12px;
}
.svg-inspector-transparency output{color:var(--accent-text);font-weight:800}
.svg-inspector-transparency>div{
  display:grid;
  grid-template-columns:minmax(0,1fr) 82px;
  gap:10px;
  align-items:center;
}
.svg-inspector-transparency input[type="range"]{
  width:100%;
  accent-color:var(--accent);
}
.svg-inspector-transparency .svg-inspector-suffix input{min-height:38px;padding:6px 8px}
.svg-inspector-transparency small{color:var(--text-muted);font-size:11px}
.svg-inspector-layer{
  display:grid;
  gap:9px;
  margin-top:12px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface-1);
}
.svg-inspector-layer>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:12px;
  font-weight:850;
}
.svg-inspector-layer>header small{color:var(--text-muted);font-weight:700}
.svg-inspector-layer>div{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
}
.svg-inspector-layer button{
  display:grid;
  place-items:center;
  gap:3px;
  min-width:0;
  min-height:48px;
  padding:6px 3px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--soft);
  color:var(--ink);
  font-size:10px;
  font-weight:750;
}
.svg-inspector-layer button i{font-size:17px;color:var(--accent-text)}
.svg-inspector-layer button:hover:not(:disabled){border-color:var(--accent-border);background:var(--accent-bg)}
.svg-inspector-layer button:disabled{opacity:.38;cursor:not-allowed}
.svg-inspector-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  margin-top:12px;
}
.svg-inspector-actions button{
  min-height:38px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--soft);
}
.svg-asset-metadata{display:grid;gap:12px}
.svg-asset-versions{display:grid;gap:6px}
.svg-asset-versions button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:45px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--soft);
  text-align:left;
}
.svg-asset-versions button span{display:grid;gap:2px;font-weight:750}
.svg-asset-versions button small{color:var(--muted);font-weight:400}
.svg-editor-code{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  padding:20px;
  background:#17202a;
  color:#eef6ff;
}
.svg-editor-code[hidden]{display:none}
.svg-editor-code>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-bottom:12px;
}
.svg-editor-code>header>div{display:flex;gap:7px}
.svg-editor-code button{
  min-height:40px;
  border-color:#4b6075;
  background:#233142;
  color:#fff;
}
.svg-code-layer{
  position:relative;
  min-width:0;
  min-height:0;
  overflow:hidden;
  border:1px solid #4b6075;
  border-radius:12px;
  background:#0e1621;
}
#svgStudioCode,
#svgStudioCodeHighlight{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:18px;
  border:0;
  overflow:auto;
  white-space:pre;
  word-break:normal;
  tab-size:2;
  font:14px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;
}
#svgStudioCodeHighlight{
  z-index:1;
  pointer-events:none;
  color:#d8ecff;
}
#svgStudioCode{
  z-index:2;
  resize:none;
  outline:0;
  background:transparent;
  color:transparent;
  caret-color:#fff;
  -webkit-text-fill-color:transparent;
}
#svgStudioCode::selection{background:rgba(86,180,233,.34)}
.svg-code-element{color:#7dd3fc;font-weight:750}
.svg-code-attribute{color:#f9c97c}
.svg-code-punctuation{color:#a7b8cb}
.svg-code-string{color:#8ee6b8}
.svg-code-comment{color:#8292a6;font-style:italic}
#svgStudioCodeStatus{margin:10px 0 0;color:#adbed0;font-size:13px}

.platform-form:has(.svg-element-browser){
  width:min(1360px,calc(100vw - 34px));
  height:min(840px,calc(100dvh - 34px));
}
.platform-form:has(.svg-element-browser) .platform-form-body{
  padding:14px;
  overflow:hidden;
}
.svg-element-browser{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:12px;
  height:100%;
  min-height:0;
}
.svg-element-browser-tools{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:10px;
  align-items:center;
}
.svg-element-browser-tools label{
  min-height:44px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 13px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--soft);
}
.svg-element-browser-tools input{
  min-width:0;
  flex:1;
  border:0;
  outline:0;
  background:transparent;
  font:inherit;
}
.svg-element-browser-count{
  min-width:92px;
  padding:9px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--panel);
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  text-align:center;
}
.svg-element-browser-layout{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  min-height:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--panel);
}
.svg-element-category-list{
  min-width:0;
  padding:8px;
  overflow:auto;
  border-right:1px solid var(--line);
  background:var(--soft);
}
.svg-element-category-list button{
  --element-accent:var(--accent);
  --element-soft:var(--accent-bg);
  width:100%;
  min-height:38px;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
  padding:5px 8px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:var(--text);
  text-align:left;
}
.svg-element-category-list button+button{margin-top:3px}
.svg-element-category-list button>i{
  display:grid;
  width:28px;
  height:28px;
  place-items:center;
  border-radius:8px;
  background:var(--element-soft);
  color:var(--element-accent);
  font-size:16px;
}
.svg-element-category-list button>span{
  overflow:hidden;
  font-size:11px;
  font-weight:760;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.svg-element-category-list button>b{
  color:var(--muted);
  font-size:10px;
}
.svg-element-category-list button:hover,
.svg-element-category-list button.active{
  border-color:color-mix(in srgb,var(--element-accent) 32%,var(--line));
  background:var(--panel);
}
.svg-element-category-list button.active{
  box-shadow:inset 3px 0 0 var(--element-accent);
}
.svg-element-category-list button.active>b{color:var(--element-accent)}
.svg-element-results{
  min-height:0;
  padding:12px;
  overflow:auto;
  scroll-behavior:smooth;
}
.svg-element-result-group{
  --element-accent:var(--accent);
  --element-soft:var(--accent-bg);
}
.svg-element-result-group+.svg-element-result-group{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.svg-element-result-group>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.svg-element-result-group>header>span{
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--text);
  font-size:12px;
}
.svg-element-result-group>header i{
  display:grid;
  width:28px;
  height:28px;
  place-items:center;
  border-radius:8px;
  background:var(--element-soft);
  color:var(--element-accent);
  font-size:16px;
}
.svg-element-result-group>header small{
  color:var(--muted);
  font-size:10px;
  font-weight:700;
}
.svg-element-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(132px,1fr));
  gap:8px;
}
.svg-element-card{
  position:relative;
  min-width:0;
}
.svg-element-grid [data-svg-insert-element]{
  position:relative;
  width:100%;
  height:100%;
  min-width:0;
  display:grid;
  grid-template-rows:82px auto;
  gap:6px;
  padding:7px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--panel);
  text-align:left;
}
.svg-element-grid [data-svg-insert-element]:hover{
  border-color:var(--accent);
  background:var(--accent-bg);
  transform:translateY(-2px);
}
.svg-element-grid .svg-element-preview{
  display:block;
  height:82px;
  overflow:hidden;
  border-radius:8px;
  background:#fff;
}
.svg-element-grid svg{width:100%;height:100%;display:block}
.svg-element-card-copy{
  min-width:0;
  display:grid;
  gap:2px;
}
.svg-element-card-copy b{
  overflow:hidden;
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.svg-element-card-copy small{
  display:-webkit-box;
  min-height:26px;
  overflow:hidden;
  color:var(--muted);
  font-size:9px;
  line-height:1.35;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.svg-element-grid [data-svg-insert-element]>i{
  position:absolute;
  top:12px;
  right:12px;
  display:grid;
  width:22px;
  height:22px;
  place-items:center;
  border:1px solid color-mix(in srgb,var(--element-accent) 28%,var(--line));
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:var(--element-accent);
  font-size:13px;
  opacity:0;
  transform:scale(.84);
  transition:.15s ease;
}
.svg-element-grid [data-svg-insert-element]:hover>i,
.svg-element-grid [data-svg-insert-element]:focus-visible>i{
  opacity:1;
  transform:scale(1);
}
.svg-element-card.is-custom>[data-svg-insert-element]{border-color:color-mix(in srgb,#6e56cf 26%,var(--line))}
.svg-element-card.is-asset>[data-svg-insert-element]{border-color:color-mix(in srgb,var(--accent) 24%,var(--line))}
.svg-element-card-actions{
  position:absolute;
  top:11px;
  left:11px;
  z-index:2;
  display:flex;
  gap:4px;
  opacity:0;
  transition:.15s ease;
}
.svg-element-card:hover .svg-element-card-actions,
.svg-element-card:focus-within .svg-element-card-actions{opacity:1}
.svg-element-card-actions button{
  display:grid;
  width:24px;
  height:24px;
  place-items:center;
  padding:0;
  border:1px solid var(--line);
  border-radius:7px;
  background:rgba(255,255,255,.95);
  color:var(--text);
}
.svg-element-card-actions button:last-child{color:var(--danger,#b42318)}
.svg-shape-menu-label{
  grid-column:1/-1;
  padding:7px 8px 3px;
  color:var(--muted);
  font-size:9px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.svg-shape-menu>div{
  grid-template-columns:repeat(3,minmax(145px,1fr));
  width:min(520px,calc(100vw - 40px));
  max-height:min(620px,calc(100dvh - 160px));
  overflow:auto;
}
.svg-custom-element-editor{display:grid;gap:16px}
.platform-form:has(.svg-custom-element-editor){width:min(1180px,calc(100vw - 34px))}
.svg-custom-element-code{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:16px;
  min-height:360px;
}
.svg-custom-element-code>label{display:grid;grid-template-rows:auto minmax(0,1fr);gap:7px}
.svg-custom-element-code textarea{
  min-height:340px;
  resize:vertical;
  font:14px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;
}
.svg-custom-element-code>div{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:8px;
  min-width:0;
  padding:14px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--soft);
}
#svgCustomElementPreview{
  min-height:250px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}
#svgCustomElementPreview svg{width:100%;height:100%;max-height:310px}
.svg-custom-element-code p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
@media(max-width:900px){
  .svg-element-browser-tools{grid-template-columns:minmax(0,1fr) auto}
  .svg-element-browser-tools .svg-element-browser-count{display:none}
  .svg-custom-element-code{grid-template-columns:1fr}
}
.svg-course-insert-preview{
  display:grid;
  grid-template-columns:260px 1fr;
  align-items:center;
  gap:20px;
  margin-bottom:20px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--soft);
}
.svg-course-insert-preview>svg{
  width:100%;
  max-height:150px;
}
.svg-course-insert-preview h3{margin:4px 0}
.svg-course-insert-preview p{margin:0;color:var(--muted)}
.ed-svg-studio-picker{
  margin:10px 0;
  padding:12px;
  border:1.5px solid var(--accent-border);
  border-radius:12px;
  background:var(--panel);
}
.ed-svg-studio-picker>header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:10px;
  font-weight:800;
}
.ed-svg-studio-picker>div{
  display:grid;
  grid-template-columns:repeat(4,minmax(130px,1fr));
  gap:8px;
  max-height:340px;
  overflow:auto;
}
.ed-svg-studio-picker [data-ed-svg-asset]{
  min-width:0;
  display:grid;
  gap:4px;
  padding:8px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--soft);
  text-align:left;
}
.ed-svg-studio-picker [data-ed-svg-asset]:hover{
  border-color:var(--accent);
  background:var(--accent-bg);
}
.ed-svg-studio-picker [data-ed-svg-asset]>span{
  display:block;
  aspect-ratio:16/9;
}
.ed-svg-studio-picker svg{width:100%;height:100%}
.ed-svg-studio-picker small{color:var(--muted)}
.shell-week-svg-assets{
  padding:16px 20px;
  border-top:1px solid var(--line);
}
.shell-week-svg-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:12px;
  font-weight:800;
}
.shell-week-svg-assets>div:last-child{
  display:grid;
  grid-template-columns:repeat(3,minmax(180px,1fr));
  gap:12px;
}
.shell-week-svg-assets figure{
  margin:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--soft);
}
.shell-week-svg-assets figure>svg{
  width:100%;
  aspect-ratio:16/9;
  display:block;
  padding:9px;
  background:#fff;
}
.shell-week-svg-assets figcaption{
  display:grid;
  gap:3px;
  padding:10px 12px;
}
.shell-week-svg-assets figcaption span,
.shell-week-svg-assets figcaption small{color:var(--muted);font-size:12px}

@media(max-width:1280px){
  .svg-asset-grid{grid-template-columns:repeat(2,minmax(230px,1fr))}
  .svg-studio-help-body{grid-template-columns:1fr}
  .svg-studio-help-body section+section{border-left:0;border-top:1px solid var(--line)}
  .svg-editor-workspace{grid-template-columns:minmax(0,1fr) 400px}
  .svg-shape-menu>div{right:414px}
}
@media(max-width:900px){
  .shell-content-editor-head{align-items:stretch;flex-direction:column}
  .shell-content-week-nav{flex-basis:auto;width:100%}
  .shell-content-section-list,.shell-week-written-sections{grid-template-columns:1fr}
  .svg-studio-page,.svg-studio-editor{width:100%}
  .svg-studio-page{padding:22px 16px 60px}
  .svg-studio-page-head{min-height:auto;align-items:flex-start;flex-direction:column;padding:30px}
  .svg-studio-hero-copy{width:100%}
  .svg-studio-hero-visual{width:100%;min-width:0;height:260px}
  .svg-studio-hero-art{inset:-24px -20px 22px}
  .svg-studio-context{right:0;bottom:0}
  .svg-studio-library-tools{flex-wrap:wrap}
  .svg-studio-search{flex-basis:100%}
  .svg-studio-file-manager{align-items:stretch;flex-direction:column}
  .svg-file-manager-actions{justify-content:flex-start}
  .svg-studio-library-layout{grid-template-columns:1fr}
  .svg-studio-groups{position:static}
  .svg-asset-grid.view-list .svg-asset-card{grid-template-columns:160px minmax(190px,1fr) 200px}
  .svg-editor-topbar{grid-template-columns:auto minmax(180px,1fr) auto}
  .svg-editor-topbar>#svgStudioSaveStatus{display:none}
  .svg-editor-workspace{grid-template-columns:1fr;overflow:auto}
  .svg-editor-workspace .svg-editor-visual{min-height:420px}
  .svg-shape-menu>div{right:14px}
  .svg-editor-sidebar{min-height:520px;border-top:1px solid var(--border);border-left:0}
  .svg-editor-commandbar{padding:8px}
  .svg-element-browser-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
  .svg-element-category-list{
    display:flex;
    gap:5px;
    padding:7px;
    overflow-x:auto;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .svg-element-category-list button{
    width:auto;
    min-width:max-content;
    grid-template-columns:26px auto auto;
  }
  .svg-element-category-list button+button{margin-top:0}
  .svg-element-category-list button>i{width:26px;height:26px}
  .svg-element-category-list button.active{box-shadow:inset 0 -3px 0 var(--element-accent)}
}
@media(max-width:620px){
  .shell-content-week-title{grid-template-columns:46px minmax(0,1fr)}
  .shell-content-week-title>span{width:44px;height:44px;font-size:17px}
  .shell-content-week-title h3{font-size:19px}
  .shell-content-week-title .btn-ghost{grid-column:1/-1}
  .shell-content-section>header{align-items:flex-start;flex-direction:column}
  .svg-studio-page-head{padding:24px;border-radius:22px}
  .svg-studio-page-head h1{font-size:52px}
  .svg-studio-page-head p{font-size:15px}
  .svg-studio-hero-visual{height:auto;min-height:88px}
  .svg-studio-hero-art{display:none}
  .svg-studio-context{position:relative;right:auto;bottom:auto;width:100%}
  .svg-studio-results{align-items:flex-start;flex-direction:column}
  .svg-studio-view-switch{width:100%}
  .svg-studio-view-switch button{flex:1}
  .svg-asset-grid{grid-template-columns:1fr}
  .svg-asset-grid.view-compact{grid-template-columns:repeat(2,minmax(135px,1fr))}
  .svg-asset-grid.view-list .svg-asset-card{grid-template-columns:112px minmax(0,1fr)}
  .svg-asset-grid.view-list .svg-asset-preview{min-height:105px}
  .svg-asset-grid.view-list .svg-asset-card-copy{padding:11px 12px}
  .svg-asset-grid.view-list .svg-asset-card-copy p{display:none}
  .svg-asset-grid.view-list .svg-asset-card footer{
    grid-column:1/-1;
    grid-template-columns:repeat(4,minmax(38px,1fr));
    border-top:1px solid var(--line);
    border-left:0;
  }
  .svg-asset-grid.view-list .svg-asset-card footer button{padding:7px;font-size:0}
  .svg-asset-grid.view-list .svg-asset-card footer button i{font-size:15px}
  .svg-file-manager-actions>*{flex:1 1 calc(50% - 8px)}
  .svg-file-manager-actions>label{flex-basis:100%}
  .svg-file-manager-actions select{width:100%}
  .svg-file-manager-actions .icon-btn{flex:0 0 40px}
  .svg-editor-topbar{grid-template-columns:auto 1fr}
  .svg-editor-topbar>.btn-accent{grid-column:1/-1}
  .svg-course-insert-preview{grid-template-columns:1fr}
  .platform-form:has(.svg-element-browser) .platform-form-body{padding:8px}
  .svg-element-browser-tools{grid-template-columns:1fr}
  .svg-element-browser-count{justify-self:start}
  .svg-element-grid{grid-template-columns:repeat(2,minmax(105px,1fr))}
  .ed-svg-studio-picker>div{grid-template-columns:repeat(2,minmax(120px,1fr))}
  .shell-week-svg-assets>div:last-child{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .svg-hero-node{animation:none}
}

/* Governed student analytics */
.analytics-policy-boundary{
  display:flex;
  align-items:flex-start;
  gap:16px;
  margin:0 0 22px;
  padding:18px 20px;
  border:1px solid #8fd7c7;
  border-radius:16px;
  background:#eefaf7;
  color:#125c50;
}
.analytics-policy-boundary.compact{margin:0 0 18px;padding:14px 16px}
.analytics-policy-boundary>i{
  flex:0 0 44px;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:12px;
  background:#d7f3ed;
  font-size:24px;
}
.analytics-policy-boundary div{display:grid;gap:4px}
.analytics-policy-boundary strong{font-size:17px}
.analytics-policy-boundary span{line-height:1.5}
.analytics-policy-kpis{margin-bottom:24px}
.analytics-registry-form{margin-bottom:24px}
.analytics-registry-head,
.analytics-registry-row{
  display:grid;
  grid-template-columns:minmax(210px,1.05fr) minmax(125px,.5fr) minmax(260px,1.3fr) 125px 150px 44px;
  gap:12px;
  align-items:center;
}
.analytics-registry-head{
  padding:12px 14px;
  border-bottom:1px solid var(--line);
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.analytics-registry-row{
  padding:14px;
  border-bottom:1px solid var(--line);
}
.analytics-registry-row:last-child{border-bottom:0}
.analytics-registry-row.is-new{background:var(--accent-bg)}
.analytics-registry-row>div:first-child{display:grid;gap:5px;min-width:0}
.analytics-registry-row input,
.analytics-registry-row textarea{
  width:100%;
  min-height:44px;
  padding:9px 11px;
  border:1px solid var(--line);
  border-radius:9px;
  background:var(--paper);
  color:var(--ink);
  font:inherit;
}
.analytics-registry-row code{
  overflow:hidden;
  color:var(--muted);
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.analytics-active-switch input{position:absolute;opacity:0;pointer-events:none}
.analytics-active-switch span{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  font-weight:800;
}
.analytics-active-switch i{
  position:relative;
  width:38px;
  height:22px;
  border-radius:20px;
  background:#9ba4ae;
  transition:.18s ease;
}
.analytics-active-switch i::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#fff;
  transition:.18s ease;
}
.analytics-active-switch input:checked+span i{background:#14866d}
.analytics-active-switch input:checked+span i::after{transform:translateX(16px)}
.analytics-history{display:grid;gap:3px}
.analytics-history b{font-size:18px}
.analytics-history small{color:var(--muted)}
.analytics-operational-panel{margin-bottom:24px}
.analytics-required-mark{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 12px;
  border:1px solid #aeb8c2;
  border-radius:99px;
  background:#f2f4f6;
  color:#4f5964;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}
.analytics-operational-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(320px,1fr));
  gap:12px;
}
.analytics-operational-row{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  gap:13px;
  align-items:start;
  min-height:132px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:linear-gradient(145deg,var(--paper),var(--soft));
}
.analytics-operational-icon{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:12px;
  background:#e8edf2;
  color:#4e6173;
  font-size:23px;
}
.analytics-operational-row>div:nth-child(2){display:grid;gap:5px;min-width:0}
.analytics-operational-row h3{margin:0;font-size:16px}
.analytics-operational-row p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.analytics-operational-row>div:nth-child(2)>span{color:var(--muted);font-size:11px}
.analytics-operational-row code{font-size:11px}
.analytics-operational-row>.analytics-history{justify-items:end;text-align:right}
.analytics-operational-row>strong{
  grid-column:2/-1;
  justify-self:end;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 9px;
  border-radius:99px;
  background:#e8edf2;
  color:#536170;
  font-size:11px;
}
.course-analytics-policy-admin{margin-top:24px}
.course-analytics-offering-select{
  display:grid;
  gap:8px;
  margin:0 0 18px;
  font-weight:800;
}
.course-analytics-offering-select select{min-height:50px}
.course-analytics-policy-box{display:grid;gap:16px}
.course-analytics-policy-box>footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding-top:16px;
  border-top:1px solid var(--line);
}
.analytics-course-actions{display:flex;flex-wrap:wrap;gap:9px}
.analytics-signal-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(280px,1fr));
  gap:10px;
}
.analytics-signal-choice{
  display:grid;
  grid-template-columns:auto 42px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  min-height:94px;
  padding:13px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--paper);
}
.analytics-signal-choice>input{width:19px;height:19px}
.analytics-signal-choice>span:nth-of-type(2){display:grid;gap:3px;min-width:0}
.analytics-signal-choice b{font-size:15px}
.analytics-signal-choice small{color:var(--muted);line-height:1.35}
.analytics-signal-choice em{color:var(--muted);font-size:11px;font-style:normal;text-transform:none}
.analytics-signal-state{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:11px;
  background:var(--accent-bg);
  color:var(--accent);
  font-size:21px;
}
.analytics-signal-choice>strong{
  align-self:start;
  padding:5px 8px;
  border-radius:99px;
  font-size:11px;
  white-space:nowrap;
}
.analytics-signal-choice>strong.is-on{background:#d9f3e8;color:#12634e}
.analytics-signal-choice>strong.is-off{background:#eceff2;color:#68717b}
.analytics-signal-choice.is-central-off{background:var(--soft);opacity:.74}
.course-shell-analytics{display:grid;gap:18px}
.course-analytics-inherit{padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--soft)}
.analytics-effective-count{
  display:flex;
  align-items:baseline;
  gap:5px;
  padding:8px 12px;
  border-radius:99px;
  background:var(--accent-bg);
  color:var(--accent);
  white-space:nowrap;
}
.analytics-effective-count b{font-size:20px}

@media(max-width:1200px){
  .analytics-registry-head{display:none}
  .analytics-registry-row{grid-template-columns:minmax(210px,1fr) minmax(140px,.6fr) minmax(260px,1.4fr) 125px 44px}
  .analytics-history{grid-column:1/-2;display:flex;gap:8px;align-items:baseline}
  .analytics-operational-list{grid-template-columns:1fr}
}
@media(max-width:820px){
  .analytics-registry-row{grid-template-columns:1fr}
  .analytics-registry-row>.icon-btn{justify-self:end}
  .analytics-history{grid-column:auto}
  .analytics-signal-list{grid-template-columns:1fr}
  .analytics-signal-choice{grid-template-columns:auto 40px minmax(0,1fr)}
  .analytics-signal-choice>strong{grid-column:2/-1;justify-self:start}
  .analytics-operational-row{grid-template-columns:46px minmax(0,1fr)}
  .analytics-operational-row>.analytics-history{grid-column:2;justify-items:start;text-align:left}
  .analytics-operational-row>strong{grid-column:2;justify-self:start}
  .course-analytics-policy-box>footer{align-items:stretch;flex-direction:column}
}

/* Professor-level, cross-course quiz authoring workspace. */
.teaching-quiz-engine{display:grid;gap:20px}
.quiz-engine-hero{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);
  min-height:238px;
  overflow:hidden;
  border:1px solid #6154a8;
  border-radius:24px;
  background:
    radial-gradient(circle at 80% 16%,rgba(113,221,255,.23),transparent 26%),
    radial-gradient(circle at 22% 116%,rgba(171,100,244,.33),transparent 42%),
    linear-gradient(132deg,#211247 0%,#332263 52%,#124c62 100%);
  color:#fff;
  box-shadow:0 20px 45px rgba(31,22,73,.17);
}
.quiz-engine-hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.25;
  background-image:radial-gradient(circle,rgba(255,255,255,.32) 1px,transparent 1.3px);
  background-size:25px 25px;
  mask-image:linear-gradient(90deg,transparent 8%,#000 54%,#000 100%);
}
.quiz-engine-hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:28px clamp(28px,3.6vw,52px);
}
.quiz-engine-hero-eyebrow{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:8px;
  color:#a8e6ff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.quiz-engine-hero-eyebrow i{font-size:18px}
.quiz-engine-hero h1{
  margin:0;
  color:#fff;
  font-size:clamp(44px,4.5vw,68px);
  line-height:.98;
  letter-spacing:-.055em;
}
.quiz-engine-hero h1 span{
  color:#91dfff;
  text-shadow:0 0 28px rgba(99,205,255,.2);
}
.quiz-engine-hero-copy>p{
  max-width:720px;
  margin:14px 0 0;
  color:#d8d9eb;
  font-size:15px;
  line-height:1.55;
}
.quiz-engine-hero-foot{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  margin-top:20px;
}
.quiz-engine-motto{display:inline-flex;align-items:center;gap:10px;color:#fff;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.quiz-engine-motto i{display:block;width:24px;height:1px;background:linear-gradient(90deg,#9b8cff,#77dfff)}
.quiz-engine-safety{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 12px;
  border:1px solid #b9dfd2;
  border-radius:999px;
  background:#eaf8f3;
  color:#17644f;
  font-weight:800;
  white-space:nowrap;
}
.quiz-engine-hero .quiz-engine-safety{
  padding:7px 11px;
  border-color:rgba(148,239,211,.36);
  background:rgba(16,77,70,.48);
  color:#bdf4e3;
  backdrop-filter:blur(8px);
}
.quiz-engine-hero-visual{position:relative;min-height:238px}
.quiz-engine-flow{
  position:absolute;
  top:46px;
  left:36px;
  right:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.quiz-engine-flow-node{
  display:grid;
  place-items:center;
  width:76px;
  height:76px;
  border:1px solid rgba(255,255,255,.27);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,255,255,.06));
  box-shadow:inset 0 1px rgba(255,255,255,.18),0 13px 28px rgba(10,15,54,.2);
  backdrop-filter:blur(9px);
}
.quiz-engine-flow-node i{font-size:30px;color:#fff}
.quiz-engine-flow-node small{margin-top:-9px;color:#cdd6ed;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.quiz-engine-flow-node.validate{transform:translateY(-9px);border-color:rgba(159,135,255,.55);background:linear-gradient(145deg,rgba(133,104,238,.42),rgba(255,255,255,.06))}
.quiz-engine-flow-node.pool{border-color:rgba(109,224,255,.5);background:linear-gradient(145deg,rgba(45,169,200,.35),rgba(255,255,255,.06))}
.quiz-engine-flow .flow-arrow{color:#87d8f7;font-size:19px;filter:drop-shadow(0 0 7px rgba(104,215,255,.42))}
.quiz-engine-course-signals{position:absolute;inset:133px 30px auto 28px;display:flex;align-items:center;justify-content:center;gap:8px}
.quiz-engine-course-signal{
  display:grid;
  gap:2px;
  min-width:88px;
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:11px;
  background:rgba(13,25,72,.52);
  color:#fff;
  box-shadow:0 8px 22px rgba(10,17,57,.14);
  transform:rotate(-2deg);
}
.quiz-engine-course-signal:nth-child(even){transform:translateY(4px) rotate(2deg)}
.quiz-engine-course-signal small{overflow:hidden;color:#aebbd7;font-size:8px;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap}
.quiz-engine-course-signal b{font-size:13px;letter-spacing:.04em}
.quiz-engine-course-signal.signal-more{min-width:52px;text-align:center;transform:none}
.quiz-engine-hero-caption{position:absolute;right:32px;bottom:18px;display:flex;align-items:center;gap:7px;color:#c5d6e9;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.quiz-engine-context{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr);
  gap:22px;
  align-items:end;
  margin:0;
  padding:20px;
  border-top:4px solid var(--accent);
}
.quiz-engine-context>div{
  display:grid;
  grid-template-columns:minmax(320px,1.35fr) minmax(220px,.65fr);
  gap:14px;
}
.quiz-engine-context label{display:grid;gap:7px;font-weight:800}
.quiz-engine-context label>span{
  color:var(--muted);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.quiz-engine-context select{
  width:100%;
  min-height:50px;
  padding:0 42px 0 14px;
  border:1px solid var(--border-strong);
  border-radius:12px;
  background:var(--surface-1);
  color:var(--text-primary);
  font:inherit;
  font-weight:700;
}
.quiz-engine-context aside{display:grid;gap:8px;min-width:0}
.quiz-engine-context aside>span{display:flex;align-items:center;justify-content:space-between;gap:12px}
.quiz-engine-context aside>span:first-child b{font-size:22px;color:var(--accent)}
.quiz-engine-context aside a{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:800;text-decoration:none}
.quiz-engine-context aside small{color:var(--muted);line-height:1.4}
.quiz-engine-pool-card{margin:0;min-width:0}

@media(max-width:1050px){
  .quiz-engine-hero{grid-template-columns:minmax(0,1fr) 360px}
  .quiz-engine-context{grid-template-columns:1fr;align-items:stretch}
}
@media(max-width:880px){
  .quiz-engine-hero{grid-template-columns:1fr}
  .quiz-engine-hero-visual{display:none}
}
@media(max-width:720px){
  .quiz-engine-hero{min-height:auto;border-radius:18px}
  .quiz-engine-hero-copy{padding:25px 23px}
  .quiz-engine-hero h1{font-size:46px}
  .quiz-engine-hero-foot{align-items:flex-start;flex-direction:column;gap:12px}
  .quiz-engine-context>div{grid-template-columns:1fr}
  .quiz-engine-context aside>span{align-items:flex-start;flex-direction:column}
}

/* Mixed-format quiz authoring and the required post-exam reflection. */
.question-special-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}
.question-special-fields-single{grid-template-columns:minmax(0,1fr)}
.quiz-question-modal [hidden]{display:none!important}
.question-special-fields>label,.question-media-fields label{display:grid;gap:7px;font-weight:750}
.question-special-fields textarea,.question-media-fields input,.question-media-fields select,.quiz-fill-answer input,.quiz-matching select,.quiz-reflection textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-1);color:var(--text-primary);font:inherit}
.question-media-fields{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px}.question-media-fields label:last-child{grid-column:1/-1}
.question-option-actions{display:flex;align-items:center;gap:8px;margin-top:3px}.question-option-actions button{min-height:38px}
.quiz-question-panel .modal-question-options input[type=checkbox]{width:20px;height:20px;margin:auto;accent-color:var(--accent)}
.quiz-type-composition{grid-column:1/-1;margin:0;padding:15px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}
.quiz-type-composition legend{padding:0 6px;font-weight:800}.quiz-type-composition legend small{display:block;margin-top:3px;color:var(--text-muted);font-weight:500}
.quiz-type-composition>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.quiz-type-composition label{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-1)}
.quiz-type-composition label span{display:grid;gap:2px}.quiz-type-composition label small{color:var(--text-muted);font-weight:500}.quiz-type-composition input{width:74px;min-height:40px}.quiz-type-composition>p{margin:10px 0 0;color:var(--accent);font-size:12px;font-weight:800;text-align:right}
.quiz-question-audio-field{grid-column:1/-1;padding:14px;border:1px solid var(--accent-border);border-radius:12px;background:linear-gradient(110deg,var(--accent-bg),var(--surface-1))}.quiz-question-audio-field small{color:var(--text-secondary);font-weight:500;line-height:1.45}.quiz-question-audio-field small.invalid{color:var(--danger-text)}
.quiz-voice-setup{overflow:hidden;border:1px solid var(--accent-border);border-radius:18px;background:var(--surface-1);box-shadow:0 18px 48px color-mix(in srgb,var(--accent) 12%,transparent)}
.quiz-voice-setup>header{display:flex;align-items:center;gap:16px;padding:22px 24px;background:linear-gradient(115deg,var(--accent-bg),color-mix(in srgb,#7757d9 9%,var(--surface-1)))}
.quiz-voice-setup>header>span{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border-radius:17px;background:linear-gradient(145deg,var(--accent),#7757d9);color:#fff;font-size:30px;box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 24%,transparent)}
.quiz-voice-setup>header p{margin:0;color:var(--accent-text);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.quiz-voice-setup>header h2{margin:3px 0 5px;font-size:27px}.quiz-voice-setup>header small{display:block;max-width:760px;color:var(--text-secondary);line-height:1.5}
.quiz-voice-setup-grid{display:grid;grid-template-columns:minmax(280px,1.4fr) minmax(220px,.6fr);gap:14px;padding:22px 24px 12px}.quiz-voice-setup-grid label{display:grid;gap:7px;font-weight:850}.quiz-voice-setup-grid label>span{font-size:var(--type-label)}.quiz-voice-setup-grid select{width:100%;min-height:50px;padding:0 40px 0 13px;border:1px solid var(--border-strong);border-radius:11px;background:var(--surface-1);color:var(--text-primary);font:inherit;font-size:var(--form-control-font-size)}.quiz-voice-setup-grid small{color:var(--text-muted);font-size:var(--type-help);font-weight:500}
.quiz-voice-sample{display:flex;align-items:center;gap:13px;padding:4px 24px 20px}.quiz-voice-sample button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:145px;min-height:44px;border:1px solid var(--accent-border);border-radius:11px;background:var(--accent-bg);color:var(--accent-text);font-weight:850}.quiz-voice-sample button.is-playing{background:#7757d9;color:#fff}.quiz-voice-sample span{color:var(--text-secondary);font-size:var(--type-help)}
.quiz-voice-setup>footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:17px 24px;border-top:1px solid var(--border);background:var(--surface-2)}.quiz-voice-setup>footer button{min-height:46px}
.quiz-voice-setup>aside{display:flex;align-items:center;gap:9px;padding:11px 24px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--accent-bg) 48%,var(--surface-1));color:var(--text-muted);font-size:var(--type-help);line-height:1.45}.quiz-voice-setup>aside i{color:var(--accent);font-size:18px}
@media(max-width:720px){.quiz-voice-setup-grid{grid-template-columns:1fr}.quiz-voice-sample{align-items:flex-start;flex-direction:column}.quiz-voice-setup>footer{align-items:stretch;flex-direction:column-reverse}.quiz-voice-setup>footer button{width:100%}}
.q-stem .quiz-audio-question{display:grid;flex:1;gap:10px;min-width:0}
.quiz-listen-prompt{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;width:min(100%,620px);min-height:66px;padding:9px 14px 9px 9px;border:1px solid var(--accent-border);border-radius:16px;background:linear-gradient(110deg,var(--accent-bg),var(--surface-1));color:var(--accent-text);text-align:left;box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 10%,transparent);transition:transform .16s,border-color .16s,box-shadow .16s}
.quiz-listen-prompt:hover{transform:translateY(-1px);border-color:var(--accent);box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 16%,transparent)}
.quiz-listen-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:var(--accent);color:#fff;font-size:22px}.quiz-listen-copy{display:grid;gap:2px;min-width:0}.quiz-listen-copy strong{font-size:15px}.quiz-listen-copy small{color:var(--text-secondary);font-size:11px;font-weight:500}
.quiz-listen-wave{display:flex;align-items:center;gap:3px;height:28px}.quiz-listen-wave i{display:block;width:3px;height:8px;border-radius:4px;background:var(--accent);opacity:.55}.quiz-listen-wave i:nth-child(2){height:16px}.quiz-listen-wave i:nth-child(3){height:22px}.quiz-listen-wave i:nth-child(4){height:12px}.quiz-listen-prompt.is-playing .quiz-listen-icon{background:#7757d9}.quiz-listen-prompt.is-playing .quiz-listen-wave i{animation:quizAudioWave .72s ease-in-out infinite alternate}.quiz-listen-prompt.is-playing .quiz-listen-wave i:nth-child(2){animation-delay:.12s}.quiz-listen-prompt.is-playing .quiz-listen-wave i:nth-child(3){animation-delay:.24s}.quiz-listen-prompt.is-playing .quiz-listen-wave i:nth-child(4){animation-delay:.36s}
.quiz-question-preview{display:grid;gap:4px;width:min(100%,620px);padding:13px 15px;border-left:4px solid var(--accent);border-radius:0 12px 12px 0;background:var(--surface-2);color:var(--text-primary);font-weight:600;line-height:1.55}.quiz-question-preview small{color:var(--accent-text);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
@keyframes quizAudioWave{from{transform:scaleY(.45);opacity:.5}to{transform:scaleY(1.15);opacity:1}}
@media(prefers-reduced-motion:reduce){.quiz-listen-prompt.is-playing .quiz-listen-wave i{animation:none}.quiz-listen-prompt:hover{transform:none}}
.quiz-prompt-media{display:block;width:min(100%,760px);max-height:420px;margin:12px 0;border-radius:12px;background:#111}
.quiz-fill-answer{display:grid;gap:7px;margin-top:14px;font-weight:800}.quiz-fill-answer input{font-size:16px}
.quiz-matching{display:grid;gap:10px;margin-top:14px}.quiz-matching label{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr);gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-1)}.quiz-matching label>span{font-weight:750}
.quiz-reflection{overflow:hidden;border:1px solid var(--accent-border);border-radius:16px;background:var(--surface-2);box-shadow:0 14px 40px rgba(24,95,165,.08)}
.quiz-reflection-head{display:flex;align-items:center;gap:16px;padding:22px 24px;background:linear-gradient(115deg,var(--accent-bg),var(--surface-2))}.quiz-reflection-head>span{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:var(--accent);color:#fff;font-size:27px}.quiz-reflection-head p{margin:0;color:var(--accent);font-size:11px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.quiz-reflection-head h3{margin:3px 0 4px;font-size:25px}.quiz-reflection-head small{color:var(--text-secondary)}
.quiz-reflection-scale{display:flex;justify-content:flex-end;gap:120px;padding:15px 28px 3px;color:var(--text-muted);font-size:11px}.quiz-reflection-items{padding:0 22px}.quiz-reflection-items fieldset{display:grid;grid-template-columns:minmax(300px,1fr) minmax(460px,.9fr);align-items:center;gap:18px;margin:0;padding:15px 5px;border:0;border-bottom:1px solid var(--border)}.quiz-reflection-items legend{display:flex;align-items:center;gap:10px;padding:0;font-weight:750}.quiz-reflection-items legend b{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:var(--accent-bg);color:var(--accent)}.quiz-reflection-items fieldset>div{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.quiz-reflection-items label{position:relative;display:grid;justify-items:center;gap:3px;cursor:pointer}.quiz-reflection-items input{position:absolute;opacity:0}.quiz-reflection-items label span{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--border-strong);border-radius:50%;background:var(--surface-1);font-weight:850}.quiz-reflection-items label small{color:var(--text-muted);font-size:9px;text-align:center}.quiz-reflection-items input:checked+span{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 0 0 4px var(--accent-bg)}
.quiz-reflection-comment{display:grid;gap:7px;padding:18px 27px;font-weight:800}.quiz-reflection>.complete-row{padding:0 27px 24px}.quiz-score-reveal{display:grid;justify-items:center;gap:8px;padding:42px 25px;border:1px solid var(--accent-border);border-radius:16px;background:linear-gradient(145deg,var(--surface-2),var(--accent-bg));text-align:center}.quiz-score-reveal>span{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:var(--accent);color:#fff;font-size:35px}.quiz-score-reveal p{margin:6px 0 0;color:var(--accent);font-weight:850;letter-spacing:.1em;text-transform:uppercase}.quiz-score-reveal h3{margin:0;font-size:44px}.quiz-score-reveal small{max-width:620px;color:var(--text-secondary);line-height:1.5}.quiz-score-reveal button{margin-top:10px}
.quiz-analytics-bar>i>.violet{background:#7757d9}.quiz-reflection-analytics{margin-top:12px;padding:0;overflow:hidden}.quiz-reflection-analytics header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border);background:linear-gradient(110deg,var(--surface-2),color-mix(in srgb,#7757d9 10%,var(--surface-2)))}.quiz-reflection-analytics header h3{margin:3px 0 0}.quiz-reflection-analytics header>strong{color:#7757d9;font-size:28px}.quiz-reflection-analytics header small{font-size:11px;font-weight:700}.quiz-reflection-analytics>p{margin:0;padding:14px 20px 0;color:var(--text-secondary)}.quiz-reflection-analytics>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:18px 20px 22px}
.quiz-irt-panel{margin:14px 0;padding:0;overflow:hidden;border:1px solid color-mix(in srgb,#5d4bd8 32%,var(--border));border-radius:17px;background:linear-gradient(145deg,color-mix(in srgb,#ece9ff 34%,var(--surface-1)),var(--surface-1) 38%);box-shadow:0 14px 36px color-mix(in srgb,#5542bd 7%,transparent)}
.quiz-irt-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid var(--border);background:linear-gradient(110deg,color-mix(in srgb,#6552d9 12%,var(--surface-2)),color-mix(in srgb,#34b3a0 8%,var(--surface-2)))}.quiz-irt-panel>header h2{margin:3px 0;font-size:27px}.quiz-irt-panel>header p{margin:0;color:var(--text-secondary)}.quiz-irt-panel>header>div:last-child{display:flex;align-items:center;gap:8px}.quiz-irt-panel>header button,.question-irt-summary button,.question-irt-pending button{display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:0 11px;border:1px solid var(--accent-border);border-radius:9px;background:var(--surface-1);color:var(--accent-text);font-size:11px;font-weight:800}.quiz-irt-status{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.quiz-irt-status.ready{background:var(--success-bg);color:var(--success-text)}.quiz-irt-status.watch{background:var(--warning-bg);color:var(--warning-text)}.quiz-irt-status.waiting{background:var(--surface-3);color:var(--text-muted)}
.quiz-irt-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid var(--border);background:var(--surface-1)}.quiz-irt-kpis article{display:flex;min-width:0;flex-direction:column;gap:2px;padding:16px 18px;border-right:1px solid var(--border)}.quiz-irt-kpis article:last-child{border-right:0}.quiz-irt-kpis strong{color:#5846c5;font-size:23px}.quiz-irt-kpis span{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.quiz-irt-kpis small{color:var(--text-muted);font-size:9.5px;line-height:1.35}
.quiz-irt-body{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(250px,.7fr);gap:0;border-bottom:1px solid var(--border)}.quiz-irt-chart{min-width:0;margin:0;padding:20px 22px;border-right:1px solid var(--border);background:var(--surface-1)}.quiz-irt-chart figcaption{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.quiz-irt-chart h3{margin:3px 0 0}.quiz-irt-chart figcaption>span{color:var(--text-muted);font-size:10px}.quiz-irt-chart svg{display:block;width:100%;height:auto;max-height:300px;margin-top:8px;overflow:visible}.quiz-irt-axis line{stroke:var(--border-strong);stroke-width:1}.quiz-irt-axis line.grid{stroke:var(--border);stroke-dasharray:3 4}.quiz-irt-axis text{fill:var(--text-muted);font-size:10px}.quiz-irt-axis text.axis-title{fill:var(--text-secondary);font-size:11px;font-weight:700}.quiz-irt-curve{fill:none;stroke:#5d4bd8;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.quiz-irt-center{stroke:#1da58a;stroke-width:1.5;stroke-dasharray:5 5}.quiz-irt-chart>p{margin:2px 0 0;color:var(--text-muted);font-size:10px;text-align:center}.quiz-irt-chart-empty{display:flex;align-items:center;gap:13px;min-height:220px;padding:24px}.quiz-irt-chart-empty>i{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:color-mix(in srgb,#6552d9 11%,var(--surface-2));color:#5d4bd8;font-size:27px}.quiz-irt-chart-empty b,.quiz-irt-chart-empty small{display:block}.quiz-irt-chart-empty small{max-width:520px;margin-top:4px;color:var(--text-muted);line-height:1.5}.quiz-irt-notes{padding:22px;background:color-mix(in srgb,#6552d9 4%,var(--surface-2))}.quiz-irt-notes h3{margin:0 0 7px}.quiz-irt-notes p{color:var(--text-secondary);font-size:11px}.quiz-irt-notes ul{margin:14px 0 0;padding-left:18px;color:var(--text-muted);font-size:10px;line-height:1.55}.quiz-irt-notes li+li{margin-top:7px}
.quiz-irt-diagnostics>header{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:18px 22px}.quiz-irt-diagnostics h3{margin:3px 0 0}.quiz-irt-diagnostics>header>small{color:var(--text-muted)}.quiz-irt-diagnostics>div{overflow:auto;border-top:1px solid var(--border)}.quiz-irt-diagnostics table{width:100%;min-width:920px;border-collapse:collapse}.quiz-irt-diagnostics th,.quiz-irt-diagnostics td{padding:11px 14px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.quiz-irt-diagnostics th{background:var(--surface-2);color:var(--text-muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.quiz-irt-diagnostics td:first-child{width:38%}.quiz-irt-diagnostics td b,.quiz-irt-diagnostics td small{display:block}.quiz-irt-diagnostics td b{font-size:11px;line-height:1.35}.quiz-irt-diagnostics td strong{color:#5846c5;font-size:15px}.quiz-irt-diagnostics td small{margin-top:3px;color:var(--text-muted);font-size:9px}.quiz-irt-diagnostics td:last-child span{display:inline-flex;margin:0 4px 4px 0;padding:4px 6px;border-radius:6px;background:var(--warning-bg);color:var(--warning-text);font-size:9px;font-weight:750}.quiz-irt-diagnostics td:last-child em{display:inline-flex;align-items:center;gap:4px;color:var(--success-text);font-size:9px}.quiz-irt-table-empty{padding:20px;color:var(--text-muted);text-align:center}
.quiz-irt-guide{display:grid;gap:18px}.quiz-irt-guide-intro{display:flex;align-items:flex-start;gap:14px;padding:18px;border:1px solid color-mix(in srgb,#6552d9 24%,var(--border));border-radius:14px;background:linear-gradient(120deg,color-mix(in srgb,#6552d9 10%,var(--surface-2)),color-mix(in srgb,#1da58a 7%,var(--surface-2)))}.quiz-irt-guide-intro>i{display:grid;place-items:center;flex:0 0 54px;height:54px;border-radius:15px;background:#5d4bd8;color:#fff;font-size:28px}.quiz-irt-guide-intro h3{margin:3px 0 5px}.quiz-irt-guide-intro p{margin:0;color:var(--text-secondary);line-height:1.5}.quiz-irt-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.quiz-irt-guide-grid article{padding:13px;border:1px solid var(--border);border-radius:11px;background:var(--surface-1)}.quiz-irt-guide-grid b{color:#5846c5}.quiz-irt-guide-grid p{margin:5px 0 0;color:var(--text-secondary);font-size:11px;line-height:1.45}.quiz-irt-guide>aside{display:flex;gap:12px;padding:15px;border:1px solid var(--warning-border);border-radius:12px;background:var(--warning-bg)}.quiz-irt-guide>aside>i{color:var(--warning-text);font-size:24px}.quiz-irt-guide>aside b{color:var(--warning-text)}.quiz-irt-guide>aside p{margin:4px 0 0;color:var(--text-secondary);font-size:11px;line-height:1.5}
.question-irt-summary{margin-top:10px;overflow:hidden;border:1px solid color-mix(in srgb,#6552d9 24%,var(--border));border-radius:10px;background:var(--surface-1)}.question-irt-summary>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border-bottom:1px solid var(--border);background:color-mix(in srgb,#6552d9 7%,var(--surface-2))}.question-irt-summary>header>span{display:flex;align-items:center;gap:6px}.question-irt-summary>header i{color:#5d4bd8}.question-irt-summary>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.question-irt-summary article{display:flex;min-width:0;flex-direction:column;gap:2px;padding:10px;border-right:1px solid var(--border)}.question-irt-summary article:last-child{border-right:0}.question-irt-summary strong{color:#5846c5;font-size:16px}.question-irt-summary article span{font-size:9px;font-weight:800}.question-irt-summary article small{color:var(--text-muted);font-size:8.5px;line-height:1.3}.question-irt-summary>p{display:flex;align-items:center;gap:5px;margin:0;padding:8px 11px;border-top:1px solid var(--border);background:var(--warning-bg);color:var(--warning-text);font-size:9px}.question-irt-summary>p.good{background:var(--success-bg);color:var(--success-text)}.question-irt-pending{display:flex;align-items:center;gap:9px;margin-top:10px;padding:9px 11px;border:1px dashed var(--border-strong);border-radius:9px;background:var(--surface-2)}.question-irt-pending>i{color:#5d4bd8;font-size:20px}.question-irt-pending span{flex:1}.question-irt-pending b,.question-irt-pending small{display:block}.question-irt-pending small{margin-top:2px;color:var(--text-muted);font-size:9px}
@media(max-width:1050px){.quiz-irt-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-irt-kpis article{border-bottom:1px solid var(--border)}.quiz-irt-body{grid-template-columns:1fr}.quiz-irt-chart{border-right:0;border-bottom:1px solid var(--border)}}
@media(max-width:720px){.quiz-irt-panel>header,.quiz-irt-diagnostics>header{align-items:flex-start;flex-direction:column}.quiz-irt-panel>header>div:last-child{align-items:flex-start;flex-direction:column}.quiz-irt-kpis,.quiz-irt-guide-grid{grid-template-columns:1fr}.question-irt-summary>div{grid-template-columns:repeat(2,minmax(0,1fr))}.question-irt-summary article{border-bottom:1px solid var(--border)}}
@media(max-width:900px){.question-special-fields{grid-template-columns:1fr}.quiz-type-composition>div{grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-reflection-items fieldset{grid-template-columns:1fr}.quiz-reflection-scale{display:none}.quiz-reflection-analytics>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.question-media-fields,.quiz-type-composition>div,.quiz-reflection-analytics>div{grid-template-columns:1fr}.question-media-fields label:last-child{grid-column:auto}.quiz-matching label{grid-template-columns:1fr}.quiz-reflection-items fieldset>div{grid-template-columns:repeat(5,minmax(44px,1fr));overflow-x:auto}.quiz-reflection-items label small{display:none}}

/* Reusable average IRT profiles for pools, defined quizzes and institutional roll-ups. */
.quiz-irt-average-section{padding:21px 22px;border-bottom:1px solid var(--border);background:linear-gradient(115deg,color-mix(in srgb,#6552d9 5%,var(--surface-1)),color-mix(in srgb,#1da58a 4%,var(--surface-1)))}
.quiz-irt-average-section>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:15px}.quiz-irt-average-section>header h3{margin:3px 0 4px;font-size:19px}.quiz-irt-average-section>header p{max-width:760px;margin:0;color:var(--text-secondary);font-size:11px;line-height:1.45}.quiz-irt-average-section>header>span{display:flex;align-items:baseline;gap:5px;padding:7px 10px;border:1px solid color-mix(in srgb,#6552d9 22%,var(--border));border-radius:999px;background:var(--surface-1);color:var(--text-muted);font-size:10px;font-weight:750;white-space:nowrap}.quiz-irt-average-section>header>span b{color:#5846c5;font-size:17px}
.quiz-irt-average-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.quiz-irt-average-grid article{display:grid;grid-template-columns:36px minmax(0,1fr);gap:9px;align-items:center;min-width:0;padding:11px;border:1px solid var(--border);border-radius:11px;background:var(--surface-1)}.quiz-irt-average-grid article>i{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:color-mix(in srgb,#6552d9 10%,var(--surface-2));color:#5d4bd8;font-size:19px}.quiz-irt-average-grid article>div{display:grid;min-width:0}.quiz-irt-average-grid strong{color:#5846c5;font-size:18px;line-height:1}.quiz-irt-average-grid b{margin-top:4px;font-size:9px;line-height:1.2}.quiz-irt-average-grid small{overflow:hidden;margin-top:2px;color:var(--text-muted);font-size:8px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.quiz-irt-average-section.is-empty{display:flex;align-items:center;justify-content:space-between;gap:20px}.quiz-irt-average-section.is-empty h3{margin:3px 0 4px}.quiz-irt-average-section.is-empty p{margin:0;color:var(--text-secondary)}.quiz-irt-average-section.is-empty>span{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:11px;font-weight:750}
.quiz-run-irt-summary{margin-top:18px;overflow:hidden;border:1px solid color-mix(in srgb,#6552d9 25%,var(--border));border-radius:14px;background:var(--surface-1)}.quiz-run-irt-summary>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:17px 19px;border-bottom:1px solid var(--border);background:linear-gradient(112deg,color-mix(in srgb,#6552d9 9%,var(--surface-2)),color-mix(in srgb,#1da58a 6%,var(--surface-2)))}.quiz-run-irt-summary>header h3{margin:3px 0 4px;font-size:18px}.quiz-run-irt-summary>header p{max-width:740px;margin:0;color:var(--text-secondary);font-size:11px}.quiz-run-irt-summary>header>div:last-child{display:flex;align-items:center;gap:8px}.quiz-run-irt-summary>header button{display:inline-flex;align-items:center;gap:5px;min-height:35px;padding:0 10px;border:1px solid var(--accent-border);border-radius:9px;background:var(--surface-1);color:var(--accent-text);font:inherit;font-size:10px;font-weight:800}.quiz-run-irt-summary .quiz-irt-average-section{border-bottom:0}
.assessment-intelligence-filter form{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(240px,1fr) minmax(240px,1fr) auto;gap:12px;align-items:end}.assessment-intelligence-filter form>label{display:grid;gap:7px;min-width:0}.assessment-intelligence-filter form>label>span{font-size:var(--type-label);font-weight:850}.assessment-intelligence-filter select{width:100%;min-height:48px;padding:0 40px 0 13px;border:1px solid var(--border-strong);border-radius:11px;background:var(--surface-1);color:var(--text-primary);font:inherit}.assessment-intelligence-filter button{min-height:48px}
.assessment-intelligence-summary{margin:0 0 16px;overflow:hidden;border:1px solid color-mix(in srgb,#6552d9 26%,var(--border));border-radius:17px;background:var(--surface-1);box-shadow:0 12px 32px color-mix(in srgb,#5846c5 7%,transparent)}.assessment-intelligence-summary>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--border);background:linear-gradient(115deg,color-mix(in srgb,#6552d9 11%,var(--surface-2)),color-mix(in srgb,#1da58a 7%,var(--surface-2)))}.assessment-intelligence-summary>header h2{margin:3px 0 4px}.assessment-intelligence-summary>header p{margin:0;color:var(--text-secondary)}.assessment-intelligence-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--border)}.assessment-intelligence-kpis article{display:grid;gap:3px;padding:16px 20px;border-right:1px solid var(--border)}.assessment-intelligence-kpis article:last-child{border-right:0}.assessment-intelligence-kpis strong{color:#5846c5;font-size:25px}.assessment-intelligence-kpis span{color:var(--text-secondary);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.assessment-irt-dimensions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;padding:20px 22px}.assessment-irt-dimensions article{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center;min-width:0;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.assessment-irt-dimensions article>i{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:color-mix(in srgb,#6552d9 11%,var(--surface-1));color:#5846c5;font-size:20px}.assessment-irt-dimensions article span{display:grid;min-width:0}.assessment-irt-dimensions strong{color:#5846c5;font-size:21px;line-height:1}.assessment-irt-dimensions small{margin-top:5px;color:var(--text-muted);font-size:8.5px;font-weight:800;text-transform:uppercase}.assessment-irt-dimensions.compact{grid-template-columns:repeat(3,minmax(0,1fr));padding:10px 0}.assessment-irt-dimensions.compact article{padding:9px}
.assessment-intelligence-scope{margin-bottom:16px}.assessment-irt-table-wrap{max-height:520px;overflow:auto}.assessment-irt-table{min-width:1120px}.assessment-irt-table td:first-child{min-width:260px}.assessment-irt-table td:nth-child(2){min-width:190px}.assessment-irt-table td strong,.assessment-irt-table td small{display:block}.assessment-irt-table td>strong{color:#5846c5;font-size:15px}.assessment-irt-table td small{margin-top:4px;color:var(--text-muted);font-size:9px;line-height:1.35}.assessment-irt-table td:nth-child(n+3){text-align:center}.assessment-intelligence-units{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.assessment-intelligence-method{display:flex;align-items:flex-start;gap:13px;margin-top:4px;padding:17px 19px;border:1px solid color-mix(in srgb,#1da58a 28%,var(--border));border-radius:14px;background:color-mix(in srgb,#1da58a 7%,var(--surface-2))}.assessment-intelligence-method>i{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:12px;background:#1a9a84;color:#fff;font-size:22px}.assessment-intelligence-method p{margin:4px 0;color:var(--text-secondary);line-height:1.45}.assessment-intelligence-method small{color:var(--text-muted)}
@media(max-width:1180px){.quiz-irt-average-grid,.assessment-irt-dimensions{grid-template-columns:repeat(3,minmax(0,1fr))}.assessment-intelligence-filter form{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-intelligence-units{grid-template-columns:1fr}}
@media(max-width:720px){.quiz-irt-average-section>header,.quiz-run-irt-summary>header,.assessment-intelligence-summary>header{align-items:flex-start;flex-direction:column}.quiz-run-irt-summary>header>div:last-child{align-items:flex-start;flex-direction:column}.quiz-irt-average-grid,.assessment-irt-dimensions,.assessment-intelligence-kpis,.assessment-intelligence-filter form{grid-template-columns:1fr}.quiz-irt-average-section.is-empty{align-items:flex-start;flex-direction:column}}

/* LMS adoption and engagement management reporting. */
.adoption-live{display:inline-flex;align-items:center;gap:7px;color:#d7fff8;font-size:12px;font-weight:850;white-space:nowrap}.adoption-live i{color:#59e0ba;font-size:18px;animation:adoptionPulse 1.8s ease-in-out infinite}
.adoption-filter-panel{margin-bottom:18px}.adoption-filters{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:13px;align-items:end}.adoption-filters label{display:grid;gap:6px;min-width:0}.adoption-filters label>span{color:var(--text-secondary);font-size:var(--type-label);font-weight:850}.adoption-filters select,.adoption-filters input{width:100%;min-height:48px;padding:0 12px;border:1px solid var(--border-strong);border-radius:11px;background:var(--surface-1);color:var(--text-primary);font:inherit;font-size:var(--form-control-font-size)}.adoption-filters .dtp-field{min-height:48px;height:48px;border-radius:11px;padding:0 12px;font-size:var(--form-control-font-size)}.adoption-course-filter{grid-column:span 2}.adoption-filter-actions{display:flex;align-items:center;gap:9px;grid-column:span 2}.adoption-filter-actions button{min-height:48px}
.adoption-scoreboard{display:grid;grid-template-columns:minmax(360px,1.1fr) minmax(500px,1.6fr);gap:16px;margin-bottom:16px}.adoption-index{display:flex;align-items:center;gap:22px;min-height:178px;padding:24px;border:1px solid var(--accent-border);border-radius:18px;background:linear-gradient(130deg,var(--surface-1),var(--accent-bg));box-shadow:0 14px 34px rgba(18,36,58,.07)}.adoption-index-ring{--score:0;display:grid;place-items:center;flex:0 0 116px;width:116px;height:116px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--score)*1%),#dfe7ec 0);position:relative}.adoption-index-ring::after{content:"";position:absolute;inset:10px;border-radius:inherit;background:var(--surface-1)}.adoption-index-ring strong{position:relative;z-index:1;color:var(--accent);font-size:35px;line-height:1}.adoption-index-ring small{font-size:15px}.adoption-index h2{margin:4px 0 7px;font-size:25px}.adoption-index p{margin:0;color:var(--text-secondary);line-height:1.5}.adoption-index.priority{--accent:#a65036;--accent-bg:#fff2eb;--accent-border:#e6baa8}.adoption-index.developing{--accent:#a56900;--accent-bg:#fff6dd;--accent-border:#e7cd8f}.adoption-index.strong{--accent:#087f69;--accent-bg:#e9f8f3;--accent-border:#9fd9c9}
.adoption-score-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.adoption-score-cards article{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:21px;border:1px solid var(--border);border-top:4px solid var(--accent);border-radius:15px;background:var(--surface-1)}.adoption-score-cards span{color:var(--text-secondary);font-size:12px;font-weight:850}.adoption-score-cards strong{margin:7px 0 6px;color:var(--accent);font-size:34px}.adoption-score-cards small{color:var(--text-muted);line-height:1.35}.adoption-kpis{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:16px}.adoption-kpis .platform-kpi{min-height:138px}.adoption-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);gap:16px;margin-bottom:16px}.adoption-dashboard-grid>.platform-panel{margin:0}.adoption-updated{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:11px}.adoption-trend-chart{min-height:235px}.adoption-trend-chart svg{display:block;width:100%;height:190px;overflow:visible}.adoption-trend-chart path{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.adoption-trend-chart path.total{stroke:#126bac}.adoption-trend-chart path.student{stroke:#159a84;stroke-width:2.5}.adoption-trend-chart path.professor{stroke:#8753b2;stroke-width:2.5}.adoption-trend-legend{display:flex;align-items:center;gap:20px;padding-top:10px;border-top:1px solid var(--border);font-size:11px;font-weight:800}.adoption-trend-legend span::before{content:"";display:inline-block;width:18px;height:3px;margin-right:6px;border-radius:5px;vertical-align:middle;background:#126bac}.adoption-trend-legend .student::before{background:#159a84}.adoption-trend-legend .professor::before{background:#8753b2}.adoption-trend-legend small{margin-left:auto;color:var(--text-muted);font-weight:500}.adoption-no-trend{display:grid;place-items:center;gap:8px;min-height:210px;color:var(--text-muted);text-align:center}.adoption-no-trend i{font-size:42px}
.adoption-usage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.adoption-usage-grid>div{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.adoption-usage-grid>div>span{display:grid;place-items:center;grid-row:1/3;width:34px;height:34px;border-radius:9px;background:var(--accent-bg);color:var(--accent);font-size:18px}.adoption-usage-grid strong{font-size:20px}.adoption-usage-grid small{color:var(--text-muted);font-size:10px}.adoption-course-count{color:var(--accent);font-size:13px;font-weight:850}.adoption-course-table td{vertical-align:middle}.adoption-course-table td:nth-child(1){min-width:190px}.adoption-course-table td:nth-child(2){min-width:190px}.adoption-course-table tr.support-priority{box-shadow:inset 4px 0 #bd613e}.adoption-course-table tr.support-priority td:first-child small{color:#9d4b30;font-weight:800;text-transform:capitalize}.adoption-meter{display:grid;grid-template-columns:minmax(70px,1fr) 38px;align-items:center;gap:7px;min-width:112px}.adoption-meter>i{display:block;height:8px;border-radius:8px;background:linear-gradient(90deg,#bd613e calc(var(--value)*1%),#e9edef 0)}.adoption-meter.developing>i{background:linear-gradient(90deg,#c6870a calc(var(--value)*1%),#e9edef 0)}.adoption-meter.strong>i{background:linear-gradient(90deg,#138b72 calc(var(--value)*1%),#e9edef 0)}.adoption-meter b{font-size:11px}.adoption-definitions>div:last-child{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.adoption-definitions article{padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.adoption-definitions article strong{color:var(--accent)}.adoption-definitions article p{margin:6px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.5}
.adoption-trend-status{display:grid;justify-items:end;gap:8px}.adoption-auto-refresh{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:6px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text-secondary);font-size:11px;font-weight:800;cursor:pointer;transition:border-color .16s,background .16s,color .16s}.adoption-auto-refresh:hover{border-color:var(--accent-border);color:var(--accent-text)}.adoption-auto-refresh input{width:16px;height:16px;margin:0;accent-color:var(--accent)}.adoption-auto-refresh span{display:inline-flex;align-items:center;gap:5px}.adoption-auto-refresh input:checked+span{color:var(--accent-text)}.adoption-auto-refresh input:checked+span i{animation:adoptionPulse 1.2s ease-in-out infinite}.adoption-auto-refresh.is-refreshing{border-color:var(--accent-border);background:var(--accent-bg)}.adoption-auto-refresh.has-error{border-color:var(--danger-text);color:var(--danger-text)}.adoption-trend-chart{min-height:285px}.adoption-trend-chart svg{height:250px}.adoption-trend-chart .chart-grid-line{stroke:var(--border);stroke-width:1;opacity:.72}.adoption-trend-chart .chart-axis-line,.adoption-trend-chart .chart-axis-tick{stroke:var(--border-strong);stroke-width:1.2}.adoption-trend-chart .chart-tick{fill:var(--text-muted);font-family:inherit;font-size:9px;font-weight:650}.adoption-trend-chart .chart-axis-title{fill:var(--text-secondary);font-family:inherit;font-size:10px;font-weight:850;letter-spacing:.04em}
.adoption-chart-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 12px;padding:7px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.adoption-range-presets,.adoption-chart-zoom{display:inline-flex;align-items:center;gap:4px}.adoption-chart-tools button{min-width:44px;min-height:34px;padding:6px 11px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-secondary);font:inherit;font-size:11px;font-weight:850;cursor:pointer;transition:background .16s,border-color .16s,color .16s,box-shadow .16s}.adoption-chart-tools button:hover:not(:disabled){border-color:var(--accent-border);background:var(--surface-1);color:var(--accent-text)}.adoption-chart-tools button.active{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent)}.adoption-chart-tools button:disabled{cursor:not-allowed;opacity:.38}.adoption-chart-zoom{padding-left:7px;border-left:1px solid var(--border)}.adoption-chart-zoom button{min-width:36px;padding-inline:8px}.adoption-chart-zoom i{font-size:16px}
@keyframes adoptionPulse{0%,100%{opacity:.65;transform:scale(.86)}50%{opacity:1;transform:scale(1.08)}}
@media(max-width:1450px){.adoption-filters{grid-template-columns:repeat(4,minmax(150px,1fr))}.adoption-scoreboard{grid-template-columns:1fr}.adoption-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.adoption-definitions>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.adoption-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.adoption-course-filter,.adoption-filter-actions{grid-column:span 1}.adoption-dashboard-grid{grid-template-columns:1fr}.adoption-score-cards{grid-template-columns:1fr}.adoption-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.adoption-filters,.adoption-kpis,.adoption-definitions>div:last-child{grid-template-columns:1fr}.adoption-index{align-items:flex-start;flex-direction:column}.adoption-filter-actions{align-items:stretch;flex-direction:column}.adoption-filter-actions button{width:100%}.adoption-trend-legend{align-items:flex-start;flex-wrap:wrap}.adoption-trend-legend small{width:100%;margin:0}}
@media(max-width:620px){.adoption-trend .platform-section-head{align-items:flex-start}.adoption-trend-status{justify-items:start}.adoption-chart-tools{align-items:stretch;flex-direction:column}.adoption-range-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.adoption-chart-zoom{justify-content:flex-end;padding-top:6px;padding-left:0;border-top:1px solid var(--border);border-left:0}.adoption-trend-chart{overflow-x:auto}.adoption-trend-chart svg{width:720px;max-width:none}}
@media(prefers-reduced-motion:reduce){.adoption-live i,.adoption-auto-refresh input:checked+span i{animation:none}}
.adoption-trend.is-refreshing .adoption-trend-chart{opacity:.58}.adoption-trend.is-refreshing .adoption-chart-tools{pointer-events:none}.adoption-trend-chart{transition:opacity .16s}

/* Quiz attempt viewport: status and actions remain visible while only the current question scrolls. */
.quiz-attempt-shell{display:flex;flex-direction:column;height:clamp(540px,calc(100dvh - 118px),980px);max-height:calc(100dvh - 24px);overflow:hidden}
.quiz-attempt-shell>.quiz-student-preview-banner,.quiz-attempt-shell>.quiz-display-controls{flex:0 0 auto}
.quiz-attempt-shell .quiz-attempt-content{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;padding:11px 14px 13px;overflow:hidden}
.quiz-attempt-shell .quiz-head{flex:0 0 auto;margin:0 0 5px}
.quiz-attempt-shell .quiz-head-hint{max-height:2.8em;margin:.3rem 0 0;overflow:auto;font-size:12px;line-height:1.4;scrollbar-width:thin}
.quiz-attempt-shell .quiz-attempt-counter{position:relative;top:auto;z-index:4;flex:0 0 auto;margin:5px 0 9px;padding:8px 12px 10px;box-shadow:0 7px 18px color-mix(in srgb,var(--accent) 9%,transparent)}
.quiz-attempt-shell .quiz-attempt-position>i{width:36px;height:36px;font-size:19px}
.quiz-attempt-shell .quiz-attempt-position strong,.quiz-attempt-shell .quiz-attempt-metrics strong{font-size:16px}
.quiz-attempt-shell .quiz-attempt-progress{height:5px}
.quiz-attempt-shell[data-quiz-presentation="one_at_time"] .online-quiz-form{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}
.quiz-attempt-shell[data-quiz-presentation="one_at_time"] .online-question{flex:1 1 auto;min-height:0;margin:0 0 8px;padding:14px 16px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.quiz-attempt-shell[data-quiz-presentation="one_at_time"] .online-question[hidden]{display:none}
.quiz-attempt-shell[data-quiz-presentation="one_at_time"] .q-stem{margin-bottom:.7rem}
.quiz-attempt-shell[data-quiz-presentation="one_at_time"] .qopts{gap:7px}
.quiz-attempt-shell[data-quiz-presentation="one_at_time"] .online-option{min-height:48px;padding:7px 11px}
.quiz-attempt-shell[data-quiz-presentation="one_at_time"] .online-option .qopt-key{flex-basis:34px;height:34px}
.quiz-attempt-shell[data-quiz-presentation="one_at_time"] .quiz-listen-prompt{min-height:56px;padding:7px 12px 7px 7px}
.quiz-attempt-shell[data-quiz-presentation="one_at_time"] .quiz-question-preview{padding:9px 12px;line-height:1.4}
.quiz-attempt-action-dock{position:sticky;bottom:0;z-index:6;display:grid;grid-template-columns:minmax(150px,1fr) auto;flex:0 0 auto;gap:8px 14px;margin:0;padding:8px 10px;border-color:var(--accent-border);border-radius:12px;background:color-mix(in srgb,var(--surface-1) 96%,var(--accent-bg));box-shadow:0 -10px 26px color-mix(in srgb,var(--text-primary) 9%,transparent);backdrop-filter:blur(14px)}
.quiz-attempt-action-dock .online-pager-actions{justify-content:flex-end}
.quiz-attempt-action-dock .online-pager-actions button{min-height:40px}
.quiz-attempt-action-dock .quiz-dock-submit:disabled{display:inline-flex!important;border-color:var(--border);background:var(--surface-2);color:var(--text-muted);opacity:.72;cursor:not-allowed}
.quiz-attempt-action-dock .quiz-dock-submit.is-ready{box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 18%,transparent)}
.quiz-attempt-action-dock .quiz-dock-message{grid-column:1/-1;min-height:0;font-size:11px;line-height:1.3}
.quiz-attempt-action-dock .quiz-dock-message:empty{display:none}
.quiz-student-preview-modal.is-fullscreen .quiz-student-preview-body{box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;padding:12px 18px 18px}
.quiz-student-preview-modal.is-fullscreen .quiz-attempt-shell{flex:1 1 auto;width:100%;height:100%;max-height:none}
@media(max-height:820px){
  .quiz-attempt-shell{height:calc(100dvh - 84px);min-height:430px}
  .quiz-attempt-shell .quiz-head-hint{max-height:1.45em;white-space:nowrap;text-overflow:ellipsis}
  .quiz-attempt-shell .quiz-head{margin-bottom:2px}
  .quiz-attempt-shell .quiz-attempt-counter{margin:3px 0 7px}
}
@media(max-width:700px){
  .quiz-attempt-shell{height:calc(100dvh - 76px);min-height:430px;max-height:none}
  .quiz-attempt-shell .quiz-attempt-content{padding:8px}
  .quiz-attempt-shell .quiz-attempt-counter{grid-template-columns:1fr;padding:7px 9px 9px}
  .quiz-attempt-shell .quiz-attempt-position>i{display:none}
  .quiz-attempt-shell .quiz-attempt-metrics span{padding-inline:8px}
  .quiz-attempt-shell .quiz-attempt-metrics .quiz-attempt-time{min-width:92px}
  .quiz-attempt-action-dock{grid-template-columns:1fr;padding:7px 8px}
  .quiz-attempt-action-dock .online-question-progress{display:none}
  .quiz-attempt-action-dock .online-pager-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .quiz-attempt-action-dock .online-pager-actions button{min-width:0;width:100%;padding-inline:8px}
  .quiz-attempt-shell[data-quiz-presentation="one_at_time"] .online-question{padding:11px}
}

/* Institutional strategy and educational objective assurance. */
.strategy-profile{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:24px;margin-bottom:16px;padding:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--surface-1) 94%,#e6f4fa),var(--surface-1))}.strategy-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:10px}.strategy-profile-grid article{padding:18px;border:1px solid color-mix(in srgb,var(--border) 78%,#145f88);border-radius:14px;background:color-mix(in srgb,var(--surface-1) 91%,#e9f6fa)}.strategy-profile-grid article>span,.strategy-values>span{display:block;margin-bottom:7px;color:#145f88;font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.strategy-profile-grid p{margin:0;color:var(--text-primary);font-size:15px;line-height:1.55}.strategy-values{padding:18px;border:1px solid color-mix(in srgb,var(--border) 72%,#c28a2a);border-radius:14px;background:color-mix(in srgb,var(--surface-1) 92%,#fff4da)}.strategy-values>div{display:flex;flex-wrap:wrap;gap:8px}.strategy-values b{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid color-mix(in srgb,var(--border) 75%,#c28a2a);border-radius:999px;background:var(--surface-1);font-size:11px}.strategy-values i{color:#b77708}.strategy-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.strategy-summary .platform-kpi{min-height:132px}
.strategy-evidence-note{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:26px;padding:14px 17px;border:1px solid #9fc8d6;border-radius:14px;background:#edf8fa;color:#244e5b}.strategy-evidence-note>div:first-child{display:flex;align-items:flex-start;gap:11px;max-width:850px;line-height:1.45}.strategy-evidence-note>div:first-child>i{flex:0 0 auto;margin-top:2px;color:#087f77;font-size:23px}.strategy-source-legend{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.strategy-source-legend span,.strategy-kpi header b{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.strategy-source-legend i{width:8px;height:8px;border-radius:50%;background:currentColor}.source-lms{background:#dff4ec!important;color:#087760!important}.source-manual{background:#e7eff8!important;color:#255c94!important}.source-external{background:#f4eaf8!important;color:#7e3f91!important}
.strategy-objectives-head{margin:0 0 13px}.strategy-objectives-head h2{margin:4px 0 5px;font-size:25px}.strategy-objectives-head p{margin:0;color:var(--text-secondary)}.strategy-objective-list{display:grid;gap:16px}.strategy-objective{overflow:hidden;border:1px solid var(--border-strong);border-radius:17px;background:var(--surface-1);box-shadow:0 8px 24px rgba(25,49,67,.05)}.strategy-objective>summary{display:grid;grid-template-columns:76px minmax(0,1fr) 120px 26px;gap:17px;align-items:center;padding:21px;cursor:pointer;list-style:none;background:linear-gradient(90deg,color-mix(in srgb,var(--surface-1) 92%,#e4f3f6),var(--surface-1))}.strategy-objective>summary::-webkit-details-marker{display:none}.strategy-objective[open]>summary{border-bottom:1px solid var(--border)}.strategy-objective-code{display:grid;place-items:center;gap:5px;align-self:stretch;padding:9px;border-radius:13px;background:linear-gradient(145deg,#145f88,#218e9b);color:#fff}.strategy-objective-code span{font-size:11px;font-weight:900;letter-spacing:.08em}.strategy-objective-code i{font-size:26px}.strategy-objective-title h2{margin:2px 0 5px;font-size:21px}.strategy-objective-title p{overflow:hidden;margin:0;color:var(--text-secondary);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.strategy-objective-score{display:grid;justify-items:end}.strategy-objective-score strong{margin-top:6px;color:#145f88;font-size:27px}.strategy-objective-score small{color:var(--text-muted);font-size:10px;text-transform:uppercase}.strategy-disclosure{font-size:20px;transition:transform .2s}.strategy-objective[open] .strategy-disclosure{transform:rotate(180deg)}
.strategy-status{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#edf0f2;color:#4b5863;font-size:10px;font-weight:900;text-transform:uppercase}.strategy-status.status-on_track,.strategy-status.status-achieved,.strategy-status.status-completed,.strategy-status.status-complete,.strategy-status.status-reviewed{background:#dcf3e9;color:#08755c}.strategy-status.status-watch,.strategy-status.status-planned,.strategy-status.status-scheduled{background:#fff0cf;color:#885700}.strategy-status.status-at_risk,.strategy-status.status-attention{background:#fde3df;color:#a43b35}.strategy-status.status-in_progress{background:#e3effb;color:#1e609d}.strategy-objective-body{display:grid;gap:22px;padding:22px}.strategy-objective-rationale{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:14px 16px;border-left:4px solid #c28a2a;background:color-mix(in srgb,var(--surface-1) 92%,#fff2d3)}.strategy-objective-rationale p{max-width:1050px;margin:4px 0 0;line-height:1.5}.strategy-kpi-section>header,.strategy-plan>header,.strategy-checkpoints>header{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:11px}.strategy-kpi-section h3,.strategy-plan h3,.strategy-checkpoints h3{margin:3px 0 0;font-size:18px}.strategy-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:11px}
.strategy-kpi{display:grid;grid-template-rows:auto auto minmax(42px,auto) auto auto auto;gap:9px;min-width:0;padding:15px;border:1px solid var(--border);border-top:4px solid #678493;border-radius:14px;background:var(--surface-2)}.strategy-kpi.status-on_track,.strategy-kpi.status-achieved{border-top-color:#159a84}.strategy-kpi.status-watch{border-top-color:#d99918}.strategy-kpi.status-at_risk{border-top-color:#c6554d}.strategy-kpi>header{display:flex;align-items:center;justify-content:space-between}.strategy-kpi>header>div{display:flex;align-items:center;gap:7px}.strategy-kpi>header>div>span{color:var(--text-muted);font-size:10px;font-weight:900}.strategy-kpi h4{margin:0;font-size:15px}.strategy-kpi>p{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.4}.strategy-kpi-measure{display:grid;grid-template-columns:auto minmax(90px,1fr);gap:12px;align-items:end}.strategy-kpi-measure>div{display:grid}.strategy-kpi-measure small{color:var(--text-muted);font-size:9px;text-transform:uppercase}.strategy-kpi-measure strong{font-size:24px}.strategy-kpi-measure span{font-size:10px;font-weight:800}.strategy-sparkline{display:block;width:100%;height:45px}.strategy-sparkline polyline{fill:none;stroke:#218e9b;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.strategy-kpi-target{display:grid;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;color:var(--text-muted);font-size:9px}.strategy-kpi-target>i{position:relative;height:7px;overflow:hidden;border-radius:999px;background:var(--border)}.strategy-kpi-target>i::after{position:absolute;inset:0 auto 0 0;width:min(100%,var(--progress));border-radius:inherit;background:linear-gradient(90deg,#145f88,#23a58d);content:""}.strategy-kpi-target b{color:var(--text-secondary)}.strategy-live-note{display:flex;align-items:center;gap:5px;color:#087760;font-size:9px}.strategy-record-value{justify-self:start;border:0;background:none;color:var(--accent);font:inherit;font-size:11px;font-weight:850;cursor:pointer}
.strategy-plan-review-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:16px}.strategy-plan,.strategy-checkpoints{padding:17px;border:1px solid var(--border);border-radius:15px;background:var(--surface-2)}.strategy-plan>div{display:grid;gap:9px}.strategy-plan article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--surface-1)}.strategy-plan h4{margin:6px 0 3px}.strategy-plan p{margin:0 0 6px;color:var(--text-secondary);font-size:12px}.strategy-plan small{display:flex;align-items:center;gap:6px;color:var(--text-muted)}.strategy-plan article>details{grid-column:1/-1;padding-top:8px;border-top:1px solid var(--border)}.strategy-plan article>details summary{cursor:pointer;color:var(--text-secondary);font-size:11px;font-weight:850}.strategy-plan article>details p{margin:8px 0 0}.strategy-quarter-line{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.strategy-quarter-line::before{position:absolute;top:25px;right:7%;left:7%;height:2px;background:var(--border-strong);content:""}.strategy-quarter-line button{position:relative;display:grid;justify-items:center;gap:5px;min-width:0;padding:0 5px 11px;border:1px solid var(--border);border-radius:12px;background:var(--surface-1);color:var(--text-primary);font:inherit;cursor:pointer}.strategy-quarter-line button>span{z-index:1;display:grid;place-items:center;width:42px;height:42px;margin-top:5px;border:4px solid var(--surface-1);border-radius:50%;background:#dfe7eb;font-weight:900}.strategy-quarter-line button.status-reviewed>span,.strategy-quarter-line button.status-complete>span{background:#159a84;color:#fff}.strategy-quarter-line button.status-attention>span{background:#c6554d;color:#fff}.strategy-quarter-line button b{font-size:10px}.strategy-quarter-line button small{color:var(--text-muted);font-size:9px}.strategy-quarter-line button>i{width:76%;height:5px;border-radius:999px;background:linear-gradient(90deg,#159a84 var(--progress),var(--border) var(--progress))}.strategy-quarter-line button p{overflow:hidden;width:100%;margin:2px 0 0;color:var(--text-secondary);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1150px){.strategy-profile,.strategy-plan-review-grid{grid-template-columns:1fr}.strategy-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.strategy-profile-grid,.strategy-summary{grid-template-columns:1fr}.strategy-objective>summary{grid-template-columns:58px minmax(0,1fr) 22px}.strategy-objective-score{grid-column:2;grid-row:2;justify-items:start}.strategy-disclosure{grid-column:3;grid-row:1}.strategy-objective-rationale,.strategy-evidence-note{align-items:stretch;flex-direction:column}.strategy-quarter-line{grid-template-columns:repeat(2,1fr)}.strategy-quarter-line::before{display:none}}
.adoption-strategy-panel{margin-bottom:16px;background:linear-gradient(130deg,var(--surface-1),color-mix(in srgb,var(--surface-1) 92%,#e7f4f5))}.adoption-strategy-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.adoption-strategy-summary article{display:grid;gap:4px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-1)}.adoption-strategy-summary span{color:var(--text-secondary);font-size:11px;font-weight:850}.adoption-strategy-summary strong{color:#145f88;font-size:26px}.adoption-strategy-summary small{color:var(--text-muted)}.adoption-strategy-objectives{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.adoption-strategy-objectives>a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:11px;border:1px solid var(--border);border-radius:11px;background:var(--surface-1);color:var(--text-primary);text-decoration:none}.adoption-strategy-objectives>a>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#145f88;color:#fff;font-size:10px;font-weight:900}.adoption-strategy-objectives div{display:grid;gap:6px;min-width:0}.adoption-strategy-objectives strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.adoption-strategy-objectives i{height:5px;overflow:hidden;border-radius:999px;background:var(--border)}.adoption-strategy-objectives i>b{display:block;width:min(100%,var(--value));height:100%;border-radius:inherit;background:linear-gradient(90deg,#145f88,#22a89a)}.adoption-strategy-objectives em{color:#145f88;font-size:11px;font-style:normal;font-weight:900}@media(max-width:1100px){.adoption-strategy-objectives{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.adoption-strategy-summary,.adoption-strategy-objectives{grid-template-columns:1fr}}
