@font-face{font-family:Manrope;src:url('/assets/manrope.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
/* UI Design System: semantic colors, 8pt spacing and shared component geometry. */
:root{
  color-scheme:light;font-family:Manrope,"Segoe UI",sans-serif;font-synthesis:none;
  --text:#111827;--muted:#6b7280;--accent:#047857;--accent-hover:#065f46;--accent-soft:#ecfdf5;
  --primary:#181b20;--surface:#fff;--canvas:#f6f7f9;--subsurface:#f9fafb;--border:#e5e7eb;--border-strong:#d1d5db;
  --shadow:0 1px 2px rgba(0,0,0,.04);--radius:16px;--modal-radius:21px;--control-radius:8px;--sidebar-width:244px;--header-height:64px;
  --focus-border:#7d8996;--focus-halo:rgba(100,116,139,.09);--scroll-thumb:#b5bdc7;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;
  color:var(--text);background:var(--canvas)
}
*{box-sizing:border-box}
html{scrollbar-gutter:stable}
html.modal-open{overflow:hidden}
*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}
@supports selector(::-webkit-scrollbar){
  *{scrollbar-width:auto;scrollbar-color:auto}
  ::-webkit-scrollbar{width:10px;height:10px}
  ::-webkit-scrollbar-track{background:transparent}
  ::-webkit-scrollbar-thumb{min-height:40px;border:3px solid transparent;border-radius:20px;background:var(--scroll-thumb);background-clip:padding-box}
  ::-webkit-scrollbar-thumb:hover{background-color:#8d98a6}
  ::-webkit-scrollbar-corner{background:transparent}
  .sidebar::-webkit-scrollbar{width:7px}
}
[hidden]{display:none!important}
body{margin:0;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
a,button,input,select,textarea,summary{outline-offset:3px}
:focus-visible{outline:2px solid var(--focus-border)}
button{cursor:pointer}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:var(--control-radius);color:white;background:var(--primary);font-size:14px;font-weight:700;line-height:1.5;white-space:nowrap;transition:background 150ms,border-color 150ms,box-shadow 150ms}
button:hover,.button:hover{background:#30343b;text-decoration:none}button:disabled{opacity:.5;cursor:not-allowed}
.secondary{background:var(--surface);color:#374151;border-color:var(--border-strong);box-shadow:var(--shadow)}
.secondary:hover{background:var(--subsurface);color:var(--text);border-color:#9ca3af}
.ghost{background:transparent;color:#4b5563;padding:8px 10px}.ghost:hover{background:#f3f4f6;color:var(--text)}
.danger{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.danger:hover{background:#fee2e2;color:#991b1b}
.small{min-height:40px;padding:8px 12px;font-size:13px}.icon-button{min-height:40px;width:40px;padding:10px}
.icon{display:inline-block;vertical-align:middle;flex:none;width:20px;height:20px}.small .icon{width:16px;height:16px}
.link{display:inline-flex;padding:0;min-height:0;border:0;background:transparent;color:var(--accent);font-size:14px;font-weight:700}.link:hover{background:transparent;color:var(--accent-hover);text-decoration:underline}
label{display:grid;gap:8px;margin-bottom:24px;color:#374151;font-size:14px;font-weight:650}
input,select,textarea{width:100%;min-width:0;min-height:48px;padding:12px 14px;background:white;color:var(--text);border:1px solid var(--border-strong);border-radius:var(--control-radius);font-size:15px;font-weight:400;transition:border-color 150ms,box-shadow 150ms}
input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}
input:focus,select:focus,textarea:focus{outline:none;border-color:#9aa4af;box-shadow:0 0 0 3px var(--focus-halo)}
input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--focus-border)}
select{appearance:none;-webkit-appearance:none;padding-right:44px;background-color:#fff;background-image:var(--select-chevron);background-repeat:no-repeat;background-size:18px;background-position:right 14px center;cursor:pointer;box-shadow:0 1px 2px #11182704;line-height:1.5;transition:border-color 150ms,box-shadow 150ms,background-color 150ms}
select:hover:not(:disabled){border-color:#aab3be;background-color:#fcfcfd}
select:disabled{cursor:not-allowed;background-color:#f3f4f6;color:#6b7280}
select option{background:#fff;color:#374151;font-weight:400}
@supports(appearance:base-select){
  select{appearance:base-select;background-image:none;align-items:center;gap:12px;padding-right:14px}
  select::picker(select){appearance:base-select;max-height:min(320px,50dvh);overflow:auto;margin-top:6px;padding:6px;background:#fff;border:1px solid #e2e6eb;border-radius:10px;box-shadow:0 12px 32px #11182714,0 2px 8px #11182708}
  select::picker-icon{content:"";display:block;flex:none;width:18px;height:18px;margin-left:auto;color:#6b7280;background-color:currentColor;-webkit-mask:var(--select-chevron) center/contain no-repeat;mask:var(--select-chevron) center/contain no-repeat;transition:transform 150ms}
  select:open::picker-icon{transform:rotate(180deg)}
  select option{display:flex;align-items:center;gap:12px;min-height:40px;padding:9px 12px;border-radius:6px;font-size:14px;line-height:1.5;cursor:pointer}
  select option:hover,select option:focus{background:#f3f4f6;color:#111827;outline:none}
  select option:checked{background:#ecfdf5;color:#065f46;font-weight:600}
  select option::checkmark{content:"";display:block;flex:none;order:1;width:16px;height:16px;margin-left:auto;color:#047857;background-color:currentColor;-webkit-mask:var(--select-check) center/contain no-repeat;mask:var(--select-check) center/contain no-repeat;visibility:hidden}
  select option:checked::checkmark{visibility:visible}
}
textarea{resize:vertical;min-height:120px;line-height:1.7}
input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:var(--accent)}input[type=checkbox]:focus-visible{outline:2px solid var(--focus-border);outline-offset:3px;box-shadow:none}label.check{display:flex;align-items:center;gap:12px}
h1,h2,h3,p{margin-top:0}
h1{margin-bottom:12px;font-size:32px;line-height:1.2;letter-spacing:-1.2px;font-weight:800}
h2{font-size:20px;line-height:1.4;font-weight:750;letter-spacing:-.5px}h3{font-size:16px;line-height:1.5;font-weight:750}p{line-height:1.7}
hr{margin:32px 0;border:0;border-top:1px solid var(--border)}
.muted,.subtle{color:var(--muted)}.subtle{font-size:13px}
.eyebrow,.page-kicker{font-size:12px;font-weight:700;line-height:1.5}
.eyebrow{color:#6ee7b7;letter-spacing:1px;margin-bottom:20px}.page-kicker{color:var(--accent);margin-bottom:12px}
.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none!important}.brand img{width:40px;height:40px}
.brand strong{display:block;font-size:30px;line-height:1;letter-spacing:-1.3px;font-weight:800}.brand small{display:block;margin-top:8px;color:var(--muted);font-size:11px;line-height:1.4;letter-spacing:.2px;font-weight:600}
.shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh}
.shell-admin{--header-background:linear-gradient(100deg,#c94a0d 0%,#9a3412 28%,#0b1220 82%)}
.shell-member{--header-background:linear-gradient(100deg,#1d4ed8 0%,#163766 40%,#0b1220 82%)}
.sidebar{--text:#f1f5f9;--muted:#94a3b8;--accent:#93c5fd;--accent-soft:#183257;--surface:#111c2e;--subsurface:#111c2e;--border:#22314a;--scroll-thumb:#42516a;--focus-border:#94a3b8;position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);display:flex;flex-direction:column;overflow:auto;background:#0b1220;border-right:1px solid var(--border);color:var(--text);padding:32px 16px 20px;z-index:40}
.sidebar .brand{padding:0 12px 28px}
.workspace-card{display:flex;align-items:center;gap:10px;margin:0 0 24px;padding:12px;background:var(--subsurface);border:1px solid var(--border);border-radius:10px}
.workspace-card>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--border);background:var(--surface);border-radius:8px;color:var(--accent)}
.workspace-card strong{display:block;font-size:12px;font-weight:750}.workspace-card small{display:block;margin-top:2px;font-size:12px;color:var(--muted)}
.nav-label{padding:8px 12px;margin-top:12px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.7px}
.sidebar nav{display:flex;flex-direction:column;gap:4px}
.sidebar nav a{position:relative;display:flex;align-items:center;gap:12px;min-height:44px;padding:12px;border-radius:8px;color:#cbd5e1;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;transition:background 150ms,color 150ms}
.sidebar nav a:hover{color:var(--text);background:var(--subsurface)}
.sidebar nav a.active{color:var(--accent);background:var(--accent-soft);font-weight:800}
.sidebar nav a.active:before{content:"";position:absolute;left:0;width:3px;height:20px;border-radius:2px;background:var(--accent)}
.nav-icon{display:grid;place-items:center;width:20px;height:20px;color:var(--muted)}.active .nav-icon{color:var(--accent)}.nav-icon .icon{width:19px;height:19px}
.sidebar-product{min-width:0}.sidebar .product-menu{display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%;min-height:44px;padding:12px;border:0;border-radius:8px;background:transparent;color:#cbd5e1;font-size:14px;font-weight:600;line-height:1.5;text-align:left;box-shadow:none}.sidebar .product-menu>span:nth-child(2){flex:1}.sidebar .product-menu:hover,.sidebar .product-menu.active{background:var(--subsurface);color:var(--text)}.product-menu-caret{display:flex;transform:rotate(-90deg);transition:transform 150ms}.product-menu-caret .icon{width:16px;height:16px}.product-menu[aria-expanded=true] .product-menu-caret{transform:rotate(0)}
.sidebar-submenu{display:flex;flex-direction:column;gap:4px;margin:4px 0 10px 22px;padding-left:12px;border-left:1px solid var(--border)}.sidebar nav .sidebar-submenu a{min-height:40px;padding:9px 12px;font-size:13px;font-weight:500}.sidebar-submenu .nav-icon{display:none}.sidebar nav .sidebar-submenu a.active{font-weight:700}.sidebar nav .sidebar-submenu a.active:before{display:none}
.sidebar-bottom{margin-top:auto;padding-top:40px}
.sidebar-note{padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--subsurface);color:var(--muted);font-size:12px;line-height:1.8}
.sidebar-note strong{color:var(--text);font-size:13px}.sidebar-note>.icon{display:block;margin-bottom:12px;color:var(--accent)}
.sidebar-note a{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-size:12px;font-weight:750}.sidebar-note a .icon{width:14px;height:14px}
.sidebar-footer{padding-top:20px;color:var(--muted);font-size:10px;text-align:center;letter-spacing:.4px}
.sidebar-local{padding-top:16px;text-align:center}.sidebar-local button{width:100%;color:#cbd5e1;font-size:12px;font-weight:500}.sidebar-local button:hover{background:var(--subsurface);color:var(--text)}.sidebar-local button .icon{width:16px;height:16px}.sidebar-local small{display:block;margin-top:6px;font-size:10px;color:var(--muted)}
.sidebar .sidebar-close{color:#cbd5e1}.sidebar .sidebar-close:hover{background:var(--subsurface);color:var(--text)}
.sidebar-close,.nav-scrim,.mobile-menu{display:none}
.workspace{grid-column:2;min-width:0;padding-top:var(--header-height)}
.topbar{position:fixed;top:0;left:var(--sidebar-width);right:0;z-index:35;display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--header-height);padding:0 32px;border-bottom:1px solid #ffffff12;background:var(--header-background,#0b1220);color:white;box-shadow:0 2px 8px #0b12200a}
.topbar>.flex{min-width:0;flex:1}
.header-context{display:flex;flex-direction:column;gap:3px;min-width:0}.header-eyebrow{color:#fff;font-size:10px;line-height:1.2;font-weight:650;letter-spacing:.6px;text-transform:uppercase}.header-context strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:16px;line-height:1.3;font-weight:750;letter-spacing:-.3px}
.account{display:flex;align-items:center;gap:12px;flex:none}
.account .name{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;color:white}
.account-role{padding:4px 10px;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;color:#1e3a5f;font-size:11px;line-height:1.4;white-space:nowrap;font-weight:600}
.account button{min-height:34px;padding:7px 13px;border:1px solid #ffffff40;border-radius:9px;background:#ffffff12;color:white;font-size:12px;font-weight:600}.account button:hover{background:#ffffff24;border-color:#ffffff66}.account button .icon{width:15px;height:15px}
.topbar .mobile-menu{color:white}.topbar .mobile-menu:hover{background:#ffffff1a;color:white}.topbar :focus-visible{outline-color:#cbd5e1}
.route-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:#ffffff80;pointer-events:none}
.language-switch{position:relative;display:flex;align-items:center;margin:0;font-weight:500}.language-switch>.icon{position:absolute;left:10px;width:16px;height:16px;pointer-events:none;color:inherit}.language-switch select{min-height:36px;width:142px;padding:7px 30px 7px 33px;font-size:12px;line-height:1.5}.topbar .language-switch{color:#e2e8f0}.topbar .language-switch select{background-color:#ffffff12;border-color:#ffffff35;color:#fff}.topbar .language-switch select:hover{background-color:#ffffff20;border-color:#ffffff60}.topbar .language-switch select::picker-icon{color:#e2e8f0}.topbar .language-switch select option{color:#374151}.topbar .language-switch select option:checked{color:#065f46}.login-box>.language-switch{width:max-content;margin:0 0 28px auto}.landing-nav{gap:16px}.landing-nav>.brand{margin-right:auto}.landing-nav>.button{order:3}
.editor-language-note{grid-column:1/-1;margin-bottom:4px;padding:14px 16px;border:1px solid #dbeafe;border-radius:9px;background:#eff6ff;color:#1e40af;font-size:13px;line-height:1.7}.translation-feedback{margin:0 0 16px;font-size:12px;color:var(--muted);line-height:1.7}.lesson-copy [data-translation-id]{display:block;font-size:11px;margin-top:4px;color:var(--muted)}#translation-settings{scroll-margin-top:88px}
@media(max-width:768px){.topbar .language-switch select{width:113px;font-size:11px;padding-left:29px;padding-right:24px}.language-switch>.icon{left:8px;width:14px;height:14px}.account{gap:8px}.header-context strong{max-width:180px}.landing-nav{flex-wrap:wrap}.landing-nav>.language-switch{margin-left:auto}.landing-nav>.button{width:100%}}
.content{max-width:1440px;margin:auto;padding:40px}
.content[data-view=product]{width:100%;max-width:none;margin:0;padding-top:24px}
.page-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}
.page-head p{max-width:680px;margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.head-actions,.row-actions,.toolbar,.flex{display:flex;align-items:center;gap:12px}.head-actions{flex:none}
.card{margin-bottom:24px;padding:28px;border:1px solid var(--border);border-radius:var(--radius);background:white;box-shadow:var(--shadow)}
.card-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.card-heading h2,.card-heading h3{margin:0}
.profile-details{margin:0 0 24px}.profile-details>div{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--border)}.profile-details>div:first-child{padding-top:0}.profile-details dt{color:var(--muted);font-size:13px;font-weight:650}.profile-details dd{min-width:0;margin:0;font-size:14px;overflow-wrap:anywhere}
@media(max-width:600px){.profile-details>div{grid-template-columns:minmax(0,1fr);gap:8px}}
.installation-guide{width:100%;max-width:none}.installation-guide>.card-heading{align-items:flex-start}.installation-guide .eyebrow{color:var(--accent);margin-bottom:8px}.installation-guide p{max-width:none;margin:0 0 12px;color:var(--muted);font-size:14px;line-height:1.8}.installation-guide>.notice{margin-top:24px}.installation-guide .notice p{margin:8px 0 0;color:inherit}
.installation-command{margin-top:24px;overflow:hidden;border:1px solid #374151;border-radius:10px;background:var(--primary);color:#d1fae5}.installation-command-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:4px 20px;border-bottom:1px solid #374151;font-size:12px;color:#d1d5db}.installation-command .installation-copy{flex:none;gap:6px;min-height:40px;padding:6px 0;border:0;border-radius:0;background:transparent;color:#a7f3d0;font-size:13px;font-weight:650;box-shadow:none}.installation-command .installation-copy:hover{background:transparent;color:#fff;text-decoration:underline}.installation-copy .icon{width:15px;height:15px}.installation-command .code{margin:0;padding:18px 20px;border:0;border-radius:0;background:transparent;font-size:12px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
.tabs.installation-os-tabs{gap:28px;margin:20px 0 0}.installation-platform{min-width:0;width:100%;max-width:none}.installation-platform>.button{margin-bottom:16px;white-space:normal}
.tabs.installation-os-tabs [role=tab]{flex:0 0 84px;width:84px;font-weight:650;transition:none;animation:none}.installation-guide [role=tabpanel]{overflow-anchor:none}
.installation-step h4{margin:24px 0 12px;font-size:14px}.installation-step>a.button{margin-bottom:12px}.installation-step .subtle{font-size:12px}.installation-step .installation-command{margin:16px 0 20px}.installation-step .installation-command .code{margin:0}.installation-key-option{margin:16px 0 20px}.installation-key-option>summary{cursor:pointer;color:var(--accent);font-size:14px;font-weight:650}.installation-key-option[open]>summary{margin-bottom:12px}
.installation-substeps{list-style:none;margin:20px 0 0;padding:0}.installation-substeps>li+li{margin-top:24px}.installation-substeps h4{display:flex;align-items:baseline;gap:8px;margin:0 0 12px}.installation-substep-number{flex-shrink:0;color:var(--accent);font-variant-numeric:tabular-nums}
.installation-steps{list-style:none;margin:32px 0 0;padding:0}.installation-steps>li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:20px;padding:24px 0;border-top:1px solid var(--border)}.installation-number{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:14px;font-weight:750}.installation-step{min-width:0}.installation-step h3{margin:4px 0 12px;font-size:17px}.installation-step .code{margin:16px 0;max-width:100%;overflow:auto;font-size:12px}.installation-step .row-actions{flex-wrap:wrap}.installation-fields{margin:16px 0 20px;border:1px solid var(--border);border-radius:10px;overflow:hidden}.installation-fields>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;padding:12px 16px;background:var(--subsurface)}.installation-fields>div+div{border-top:1px solid var(--border)}.installation-fields dt{font-size:13px;font-weight:750}.installation-fields dd{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.installation-footer{display:flex;align-items:flex-start;gap:14px;padding:20px 0;border-top:1px solid var(--border)}.installation-footer>.icon{margin-top:3px;color:var(--accent)}.installation-footer strong{display:block;margin-bottom:6px;font-size:14px}.installation-footer p{margin:0}
@media(max-width:600px){.installation-guide>.card-heading{flex-wrap:wrap}.installation-steps>li{grid-template-columns:28px minmax(0,1fr);gap:12px}.installation-number{width:28px;height:28px;border-radius:8px}.installation-step h3{margin-top:0;font-size:16px}.installation-fields>div{grid-template-columns:minmax(0,1fr);gap:4px;padding:12px}.installation-step .link{white-space:normal}.installation-guide .code{font-size:11px}}
.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:24px}
.welcome{position:relative;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:32px;overflow:hidden;border-color:#181b20;background:#181b20;color:white}
.welcome h2{max-width:600px;font-size:28px;line-height:1.3;letter-spacing:-.8px;margin-bottom:16px}
.welcome p{max-width:600px;margin:0;color:#d1d5db;font-size:14px}.welcome-mark{color:#6ee7b7;line-height:1;padding-right:24px}.welcome-mark .icon{width:88px;height:88px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}
.stat{padding:24px;background:white;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}
.stat-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--border);border-radius:10px;background:var(--subsurface);color:#374151;margin-bottom:20px}
.stat strong{display:block;margin-bottom:8px;font-size:32px;line-height:1.3;letter-spacing:-1px;font-weight:750;font-variant-numeric:tabular-nums}
.stat span{color:#4b5563;font-size:13px;font-weight:600}.stat small{display:block;margin-top:12px;color:var(--muted);font-size:12px;line-height:1.6}
.pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:28px;padding:4px 10px;border:1px solid var(--border);border-radius:6px;background:var(--subsurface);color:#4b5563;font-size:12px;font-weight:650;line-height:1.5;white-space:nowrap}
.pill .icon{width:13px;height:13px;stroke-width:2}
.pill.active,.pill.open,.pill.completed{border-color:#bbf7d0;background:#f0fdf4;color:#166534}
.pill.revoked,.pill.failed,.pill.archived{border-color:#fecaca;background:#fef2f2;color:#b91c1c}
.pill.draft,.pill.resolved{color:#4b5563;background:#f3f4f6;border-color:var(--border)}
.status-dot{width:5px;height:5px;border-radius:50%;background:currentColor}
.badge{margin-left:auto;padding:2px 6px;min-width:20px;border-radius:5px;background:var(--accent);color:white;font-size:11px;text-align:center}.badge:empty{display:none}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}
th{padding:12px 16px;background:var(--subsurface);color:#4b5563;border-bottom:1px solid var(--border);font-size:11px;font-weight:700;letter-spacing:.5px;white-space:nowrap}
td{padding:20px 16px;border-bottom:1px solid var(--border);color:#4b5563;vertical-align:middle}tr:last-child td{border-bottom:0}
td strong{display:block;color:var(--text);font-size:14px;font-weight:700}td small{display:block;color:var(--muted);font-size:12px;margin-top:4px}tbody tr:hover{background:var(--subsurface)}
.toolbar{flex-wrap:wrap;margin-bottom:24px}.toolbar form{display:flex;gap:12px;width:min(100%,520px)}.toolbar input{max-width:420px}
.empty{padding:48px 24px;text-align:center;color:var(--muted);font-size:14px;line-height:1.8}
.empty-icon{display:block;color:var(--muted);margin-bottom:16px}.empty-icon .icon{width:32px;height:32px}.empty strong{display:block;color:#374151;font-size:16px;font-weight:700;margin-bottom:8px}
.notice{padding:16px 20px;margin-bottom:24px;background:var(--subsurface);border:1px solid var(--border);border-radius:8px;color:#4b5563;font-size:13px;line-height:1.8}
.notice p{margin:0}.notice.warning{background:#fffbeb;border-color:#fde68a;color:#854d0e}
.mini-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;border-bottom:1px solid var(--border);font-size:14px}.mini-row:last-child{border:0}.mini-row p{margin:4px 0 0;color:var(--muted);font-size:12px}

/* Content library */
.library-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:32px}
.library-metric{display:grid;grid-template-columns:1fr 36px;align-items:start;gap:12px;padding:20px 24px;border:1px solid var(--border);border-radius:12px;background:white;box-shadow:var(--shadow)}
.metric-symbol{display:grid;place-items:center;grid-column:2;grid-row:1;width:36px;height:36px;background:var(--subsurface);border:1px solid var(--border);border-radius:9px;color:#4b5563}
.metric-symbol .icon{width:18px;height:18px}.library-metric>div{grid-column:1;grid-row:1}
.library-metric strong{display:block;color:var(--text);font-size:30px;line-height:1.2;font-weight:750;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.library-metric span:not(.metric-symbol){display:block;margin-top:12px;color:#4b5563;font-size:13px;font-weight:650}.library-metric small{display:none}
.library-metric:last-child .metric-symbol{background:var(--accent-soft);border-color:#d1fae5;color:var(--accent)}
.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}
.library-heading{display:flex;align-items:center;gap:12px}.library-heading h2{margin:0;font-size:20px}
.course-visible-count{padding:3px 8px;border:1px solid var(--border);border-radius:6px;color:#4b5563;background:white;font-size:12px;white-space:nowrap}
.library-filters{display:flex;align-items:center;gap:12px}
.library-search{position:relative;display:block;min-width:280px;margin:0;font-weight:400}
.library-search>.icon{position:absolute;left:14px;top:14px;width:18px;height:18px;color:var(--muted);pointer-events:none}
.library-search input{min-height:46px;padding-left:42px;font-size:13px}.library-status{margin:0}.library-status select{min-height:46px;width:160px;font-size:13px}
.editor-course{margin-bottom:24px;border:1px solid var(--border);border-radius:var(--radius);background:white;box-shadow:var(--shadow);overflow:hidden}
.editor-title{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;border-bottom:1px solid var(--border)}
.course-identity{display:flex;align-items:center;gap:16px;min-width:0}.course-identity>div{min-width:0}
.course-symbol{display:grid;place-items:center;flex:none;width:56px;height:64px;border-radius:10px;background:var(--primary);color:#6ee7b7}
.course-symbol .icon{width:28px;height:28px;stroke-width:1.5}
.course-product{display:block;margin-bottom:6px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.course-product span{padding:0 4px}
.course-identity h2{margin:0 0 6px;color:var(--text);font-size:21px;line-height:1.4;letter-spacing:-.6px;overflow-wrap:anywhere}
.course-identity p{margin:0;color:var(--muted);font-size:12px}.course-identity p span{padding:0 6px}
.course-actions{display:flex;align-items:center;gap:8px;flex:none}.course-actions .pill{margin-right:8px}
.course-description{padding:20px 28px 0;margin:0;color:#4b5563;font-size:14px}.course-content{padding:24px 28px 28px}
.course-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.course-section-heading>span{color:#4b5563;font-size:12px;font-weight:750}.course-section-heading .secondary{min-height:40px;background:white}
.editor-module{margin-bottom:16px;border:1px solid var(--border);border-radius:10px;background:var(--subsurface);overflow:hidden}.editor-module:last-child{margin-bottom:0}
.editor-module summary{display:flex;align-items:center;gap:12px;padding:20px;cursor:pointer;list-style:none;outline-offset:-4px}.editor-module summary::-webkit-details-marker{display:none}
.module-number{display:grid;place-items:center;width:36px;height:36px;background:white;border:1px solid var(--border);border-radius:8px;color:#4b5563;font-size:12px;font-weight:700;flex:none}
.module-identity{flex:1;min-width:0}.module-identity strong{display:block;color:var(--text);font-size:15px;font-weight:750}
.module-identity small{display:block;margin-top:4px;color:var(--muted);font-size:12px}.module-identity small span{padding:0 4px}
.editor-module summary>.icon{color:#4b5563;width:18px;height:18px;transition:transform 150ms}.editor-module[open] summary>.icon{transform:rotate(180deg)}
.module-body{padding:0 20px 20px}.module-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px}
.module-toolbar>.subtle{display:flex;align-items:center;gap:8px;font-size:12px}.module-toolbar>.subtle .icon{width:16px;height:16px}
.module-toolbar .row-actions{gap:4px}.module-toolbar button[data-action=new-lesson]{background:var(--accent)}.module-toolbar button[data-action=new-lesson]:hover{background:var(--accent-hover)}
.lesson-list{border:1px solid var(--border);border-radius:8px;background:white;overflow:hidden}
.lesson-row{display:flex;align-items:center;gap:16px;padding:20px 16px;border-bottom:1px solid var(--border)}.lesson-row:last-child{border-bottom:0}.lesson-row:hover{background:#fcfdfd}
.lesson-number{min-width:16px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
.lesson-symbol{display:grid;place-items:center;width:40px;height:40px;flex:none;border:1px solid var(--border);border-radius:8px;background:var(--subsurface);color:#374151}.lesson-symbol .icon{width:19px;height:19px}
.lesson-copy{flex:1;min-width:0}.lesson-copy strong{display:block;color:var(--text);font-size:14px;font-weight:650;line-height:1.6;overflow-wrap:anywhere}
.lesson-copy small{display:block;margin-top:4px;color:var(--muted);font-size:12px}.lesson-copy small span{padding:0 4px}.lesson-actions{flex:none;gap:6px}
.module-empty{display:flex;align-items:center;justify-content:center;gap:12px;min-height:100px;padding:24px;color:var(--muted);font-size:14px}
.course-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 28px;border-top:1px solid var(--border);background:#fcfdfd;color:var(--muted);font-size:12px}
.course-footer>span:first-child{display:flex;align-items:center;gap:8px}.course-footer .icon{width:16px;height:16px}
.course-help{margin-top:24px;padding:20px 24px;border:1px solid var(--border);border-radius:10px;background:white;color:#374151;font-size:14px}
.course-help summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;font-weight:650}.course-help summary::-webkit-details-marker{display:none}
.course-help summary>.icon{color:var(--accent);width:18px;height:18px}.course-help summary>.icon:last-child{color:var(--muted);margin-left:auto}
.course-help p{max-width:760px;margin:16px 0 0;color:var(--muted);font-size:14px}

/* Members, learning and support */
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.product-card{padding:0;overflow:hidden}
.product-cover{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;height:180px;padding:32px;background:#181b20;color:white}
.product-cover img{width:56px}.product-cover span{font-size:30px;font-weight:750;letter-spacing:-1px}
.product-cover .product-symbol{display:grid;place-items:center;width:56px;height:56px;border:1px solid #ffffff24;border-radius:12px;background:#ffffff08}.product-symbol .icon{width:28px;height:28px}
.product-body{padding:24px}.product-body p{min-height:48px;margin:20px 0;color:#4b5563;font-size:14px}.product-body .button{width:100%;margin-top:20px}.product-body .subtle{font-size:12px}
.tabs{display:flex;align-items:center;gap:32px;overflow:auto;margin-bottom:32px;border-bottom:1px solid var(--border)}
.tabs button{min-height:52px;padding:12px 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);font-size:14px;font-weight:650}
.tabs button.active{border-bottom-color:var(--accent);color:var(--accent)}.tabs button:hover{background:transparent;color:var(--text)}
.learning{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px}.curriculum{padding:20px;align-self:start}
.curriculum h3{padding:4px 4px 16px;margin:0;font-size:15px}.curriculum-course+.curriculum-course{margin-top:20px}.curriculum details{border-top:1px solid var(--border);padding:8px 0;font-size:13px}
.curriculum summary{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 4px;font-size:13px;font-weight:750;cursor:pointer;color:var(--text);list-style:none}.curriculum summary::-webkit-details-marker{display:none}.curriculum summary::marker{content:""}.curriculum summary>span{flex:1;min-width:0;overflow-wrap:anywhere}.curriculum summary>.icon{width:18px;height:18px;color:var(--muted);transform:rotate(-90deg);transition:transform 150ms}.curriculum details[open]>summary{margin-bottom:8px}.curriculum details[open]>summary>.icon{transform:rotate(0)}
.lesson-link{justify-content:flex-start;width:100%;padding:12px 10px;font-size:13px;font-weight:500;white-space:normal;text-align:left;background:transparent;color:#4b5563;line-height:1.7}
.lesson-link:hover{background:var(--subsurface);color:var(--text)}.lesson-link.active{background:var(--accent-soft);color:var(--accent);font-weight:700}.lesson-link .done{color:var(--accent)}
.video{display:grid;place-items:center;width:100%;aspect-ratio:16/9;overflow:hidden;margin-bottom:28px;border-radius:10px;background:#181b20;color:#d1d5db;font-size:14px}.video iframe{width:100%;height:100%;border:0}
.lesson-content{margin:24px 0;color:#374151;font-size:16px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}
.material{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--border);font-size:14px}
.code{padding:24px;margin:24px 0;border:1px solid #374151;border-radius:10px;background:#181b20;color:#d1fae5;font-family:Consolas,monospace;font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
.chat-layout{display:grid;grid-template-columns:280px minmax(0,1fr);height:calc(100vh - 300px);min-height:560px;max-height:880px;padding:0;overflow:hidden}
.conversation-list{padding:12px;overflow:auto;border-right:1px solid var(--border)}
.conversation-button{display:block;width:100%;padding:16px;margin:4px 0;border:1px solid transparent;border-radius:8px;background:white;color:#374151;text-align:left;white-space:normal}
.conversation-button:hover{background:var(--subsurface)}.conversation-button.active{background:var(--accent-soft);border-color:#a7f3d0}
.conversation-button strong{display:block;margin:12px 0 4px;font-size:14px;font-weight:700}.conversation-button small{color:var(--muted);font-size:11px;font-weight:400}.conversation-button .pill{float:right}
.chat-main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.chat-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;border-bottom:1px solid var(--border)}
.chat-head h3{margin:0 0 4px;font-size:15px}.chat-head .subtle{font-size:12px}
.messages{display:flex;flex:1;flex-direction:column;gap:20px;overflow:auto;padding:24px;background:var(--subsurface)}
.message{align-self:flex-start;max-width:82%;font-size:14px}.message.mine{align-self:flex-end}
.bubble{padding:16px;border:1px solid var(--border);border-radius:2px 12px 12px;background:white;color:#374151;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
.message.mine .bubble{border-color:#065f46;border-radius:12px 2px 12px 12px;background:#065f46;color:white}
.message small{display:block;margin:6px 2px;color:var(--muted);font-size:11px}
.chat-compose{display:flex;align-items:flex-end;gap:12px;padding:20px;border-top:1px solid var(--border)}.chat-compose textarea{min-height:48px;max-height:160px;font-size:14px}.chat-compose button{min-height:48px}

/* Forms and settings */
.settings-layout{max-width:960px}.settings-section{padding-bottom:24px;margin-bottom:32px;border-bottom:1px solid var(--border)}.settings-section:last-child{border-bottom:0}
.settings-section h3{font-size:18px;margin-bottom:8px}.settings-section p{color:var(--muted);font-size:14px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.form-grid .wide{grid-column:1/-1}
.form-footer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px;padding-top:24px;margin-top:32px;border-top:1px solid var(--border)}
.form-error{color:#b91c1c;font-size:14px;line-height:1.7;margin:16px 0}.form-error:empty,.form-status:empty{display:none}
.form-status{color:#166534;font-size:14px;line-height:1.7;margin-top:16px}
.resend-test-panel{padding:24px;margin-bottom:32px;border:1px solid #a7f3d0;border-radius:12px;background:#ecfdf5;scroll-margin-top:calc(var(--header-height) + 24px)}
.resend-test-panel h3{font-size:22px;color:#064e3b;margin-bottom:12px}.resend-test-panel p{font-size:14px;color:#065f46}.resend-test-panel label{margin-bottom:16px}
.resend-test-panel button{min-width:200px;background:var(--accent)}.resend-test-panel button:hover{background:var(--accent-hover)}
.resend-test-panel .subtle{margin:16px 0 0;font-size:12px}.resend-test-panel .form-error{margin-bottom:0}
dialog{width:min(580px,calc(100vw - 64px));max-height:calc(100vh - 64px);max-height:min(900px,calc(100dvh - 64px));padding:0;overflow:hidden;background:white;color:var(--text);border:1px solid #e2e6eb;border-radius:var(--modal-radius);box-shadow:0 32px 96px #0f172a29,0 8px 24px #0f172a14}
dialog[open]{display:flex;flex-direction:column}
dialog.wide-dialog{width:min(1000px,calc(100vw - 64px))}
dialog::backdrop{background:#0f172a66;backdrop-filter:blur(4px)}
.dialog-head{display:flex;align-items:center;justify-content:space-between;flex:none;gap:24px;padding:22px 28px;background:white;border-bottom:1px solid var(--border)}
.dialog-head h2{margin:0;font-size:21px;font-weight:750;line-height:1.4;letter-spacing:-.5px;overflow-wrap:anywhere}
.dialog-close{width:36px;height:36px;min-height:36px;padding:8px;border:1px solid var(--border);border-radius:9px;background:#f9fafb;color:#6b7280;flex:none}.dialog-close .icon{width:18px;height:18px}.dialog-close:hover{border-color:#d1d5db;background:#f3f4f6;color:#111827}
.dialog-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:28px;scrollbar-gutter:stable}
.dialog-body form{margin:0}
.dialog-body.sectioned{display:flex;flex-direction:column;overflow:hidden;padding:0;scrollbar-gutter:auto}
.dialog-body.sectioned>form{display:flex;flex:1;flex-direction:column;min-height:0}
.dialog-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:28px;scrollbar-gutter:stable}
.dialog-footer{flex:none;padding:18px 28px;border-top:1px solid var(--border);background:#fafbfc}
.dialog-footer .form-footer{padding:0;margin:0;border:0;gap:10px}
.dialog-footer .form-error{max-height:96px;overflow:auto;margin:0 0 12px;font-size:13px}
.dialog-footer button{min-width:100px}
.dialog-body label{margin-bottom:20px}.dialog-body label:last-child{margin-bottom:0}
.dialog-body input,.dialog-body select{min-height:46px}.dialog-body textarea{min-height:104px}
.lesson-editor .dialog-scroll{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 32px;align-items:start}
.dialog-section{min-width:0}.dialog-section h3{margin:0 0 6px;font-size:15px;font-weight:750}.dialog-section>p{margin:0 0 24px;color:var(--muted);font-size:12px;line-height:1.7}
.lesson-editor textarea[name=content]{min-height:164px}.lesson-editor textarea[name=materials_text]{min-height:104px;font-size:13px;line-height:1.7}
.dialog-publication{grid-column:1/-1;padding:16px;border:1px solid var(--border);border-radius:10px;background:#f9fafb}
.dialog-publication label.check{margin:0;font-size:13px;font-weight:500;line-height:1.6}.dialog-publication input{flex:none}
#toast{display:none;position:fixed;bottom:24px;right:24px;z-index:100;max-width:460px;padding:16px 20px;border:1px solid #374151;border-radius:10px;background:#181b20;color:white;font-size:14px;line-height:1.7;box-shadow:0 10px 30px #11182724}
#toast.show{display:block}#toast.error{border-color:#b91c1c;background:#991b1b}
.loading{padding:80px 24px;text-align:center;color:var(--muted);font-size:14px}
.loading:before{content:"";display:block;width:28px;height:28px;margin:0 auto 20px;background-color:var(--accent);-webkit-mask:var(--loading-icon) center/contain no-repeat;mask:var(--loading-icon) center/contain no-repeat;animation:spin 900ms linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Entry points */
.login-page{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:white}
.login-brand-panel{position:relative;display:flex;flex-direction:column;padding:48px clamp(32px,6vw,96px);overflow:hidden;background:#181b20;color:white}
.login-brand-panel .brand small{color:#9ca3af}
.login-brand-panel:after{content:"";position:absolute;right:-200px;bottom:-320px;width:680px;height:680px;border:1px solid #ffffff10;border-radius:50%;box-shadow:0 0 0 72px #ffffff03,0 0 0 144px #ffffff02;pointer-events:none}
.login-story{position:relative;z-index:1;max-width:540px;padding:64px 0;margin:auto 0}
.login-story h1{margin-bottom:28px;font-size:clamp(36px,3.5vw,52px);line-height:1.2;letter-spacing:-2px;font-weight:700}.login-story h1 span{color:#6ee7b7}
.login-story p{color:#d1d5db;max-width:420px;font-size:16px}
.login-feature{display:flex;align-items:center;gap:12px;margin-top:24px;font-size:14px;color:#d1d5db}
.feature-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid #ffffff24;border-radius:8px;color:#6ee7b7}
.login-footer{color:#9ca3af;font-size:11px;letter-spacing:.5px}
.login-form-panel{display:flex;align-items:center;justify-content:center;padding:48px 32px;background:white}.login-box{width:100%;max-width:400px}
.login-box h2{margin:24px 0 16px;font-size:32px;letter-spacing:-1px}.login-box>p{color:var(--muted);font-size:14px;margin-bottom:32px;line-height:1.8}
.login-box form>button{width:100%;min-height:48px;margin-top:4px}
.login-security{display:flex;gap:12px;color:var(--muted);font-size:12px;margin-top:24px;line-height:1.8}
.login-code{font-size:24px;text-align:center;letter-spacing:8px;font-variant-numeric:tabular-nums}
.login-box>.link{margin-top:12px}
.landing{min-height:100vh;background:white}.landing-nav{display:flex;align-items:center;justify-content:space-between;max-width:1280px;padding:32px;margin:auto}
.landing-hero{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:80px;max-width:1200px;margin:auto;padding:96px 32px}.landing-hero .eyebrow{color:var(--accent)}
.landing-hero h1{font-size:clamp(44px,5vw,64px);line-height:1.15;letter-spacing:-2.4px;font-weight:750}.landing-hero h1 span{color:var(--accent)}
.landing-hero p{max-width:460px;margin:28px 0 32px;font-size:17px;line-height:1.8;color:var(--muted)}.landing-hero .subtle{font-size:13px}
.landing-illustration{background:#181b20;color:white;border:1px solid #374151;border-radius:20px;padding:32px;box-shadow:0 24px 64px #11182718}
.landing-illustration .brand{margin-bottom:40px}.landing-illustration .brand small{color:#9ca3af}
.landing-line{width:80%;height:6px;margin-top:16px;background:#ffffff20;border-radius:4px}.landing-line.short{width:50%}
.landing-tile{padding:24px;margin-top:32px;background:#ffffff06;border:1px solid #ffffff15;border-radius:12px}.landing-tile h2{margin-top:20px;font-size:28px;color:white}.landing-tile p{margin:16px 0 0;font-size:13px;color:#d1d5db}
.landing-features{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;max-width:1200px;padding:32px 32px 80px;margin:auto}
.landing-features h3{font-size:18px}.landing-features p{color:var(--muted);font-size:14px;line-height:1.8}
.landing-footer{padding:32px;text-align:center;border-top:1px solid var(--border);color:var(--muted);font-size:12px}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1600px){.content{padding:48px}.topbar{padding:0 48px}}
@media(max-width:1280px){
  :root{--sidebar-width:224px}.content{padding:32px 28px}.topbar{padding:0 28px}.library-metric{padding:20px}
  .library-toolbar{flex-wrap:wrap;gap:16px}.library-filters{margin-left:auto}.split{grid-template-columns:1fr}
  .lesson-actions .pill{font-size:11px}.lesson-row{gap:12px}.lesson-actions .small{font-size:12px}.lesson-actions .icon-button{width:32px;padding:8px}
}
@media(max-width:1100px){
  .library-overview,.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-title{align-items:flex-start;flex-wrap:wrap}
  .course-actions{width:100%;padding-left:72px}.course-actions .pill{margin-right:auto}
  .module-toolbar>.subtle{display:none}.module-toolbar{justify-content:flex-end}
  .lesson-row{flex-wrap:wrap}.lesson-actions{width:100%;padding-left:84px}.lesson-actions .pill{margin-right:auto}
  .course-footer>span:last-child{display:none}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .learning{grid-template-columns:220px minmax(0,1fr)}.chat-layout{grid-template-columns:240px minmax(0,1fr)}
}
@media(max-width:768px){
  .shell{grid-template-columns:minmax(0,1fr)}.workspace{grid-column:1}
  .sidebar{inset:0 auto 0 0;width:276px;max-width:calc(100vw - 48px);padding-top:32px;transform:translateX(-100%);transition:transform 200ms;z-index:60}
  .sidebar.open{transform:translateX(0);box-shadow:8px 0 40px #11182730}
  .sidebar-close{position:absolute;top:12px;right:10px;display:grid;place-items:center;padding:8px;width:36px;height:36px;min-height:36px}.sidebar-close .icon{width:18px;height:18px}
  .sidebar.open+.nav-scrim{display:block}.nav-scrim{position:fixed;inset:0;z-index:50;width:100%;height:100%;border:0;border-radius:0;background:#11182766;backdrop-filter:blur(2px)}.nav-scrim:hover{background:#11182766}
  .mobile-menu{display:inline-flex;min-height:40px;width:40px;padding:8px}
  .topbar{left:0;padding:0 16px;gap:12px}.topbar>.flex{gap:8px}.header-context strong{font-size:14px}.header-eyebrow{font-size:9px}
  .account{gap:8px}.account .name,.account-role{display:none}.account button{min-height:36px;padding:8px 10px;font-size:12px}.account button .icon{display:none}
  .content{padding:28px 20px 40px}h1{font-size:28px;letter-spacing:-.8px}
  .page-head{align-items:flex-start;flex-wrap:wrap;gap:20px;margin-bottom:24px}.page-head p{font-size:14px}.page-head .head-actions{width:100%}.head-actions button{min-height:44px}
  .card{padding:24px 20px;border-radius:12px}input,select,textarea{font-size:16px}.row-actions{flex-wrap:wrap}
  .welcome{padding:28px 24px}.welcome h2{font-size:24px}.welcome-mark{display:none}
  .stats{gap:12px}.stat{padding:20px}.stat strong{font-size:28px}.stat small{font-size:11px}
  .library-overview{gap:12px;margin-bottom:28px}.library-metric{padding:20px 16px;gap:8px;grid-template-columns:1fr 28px}
  .library-metric strong{font-size:28px}.library-metric span:not(.metric-symbol){font-size:12px}.metric-symbol{width:28px;height:28px;border-radius:7px}.metric-symbol .icon{width:16px;height:16px}
  .library-toolbar{gap:16px;margin-bottom:16px}.library-heading{width:100%;justify-content:space-between;gap:8px}.library-heading h2{font-size:18px}
  .library-filters{width:100%;gap:8px;margin:0}.library-search{min-width:0;flex:1}.library-search input{font-size:16px;padding-left:38px;padding-right:8px}
  .library-search>.icon{left:12px;width:16px;height:16px}.library-status select{width:136px;font-size:13px;padding:10px 30px 10px 10px;background-position:right 8px center}
  @supports(appearance:base-select){.library-status select{padding-right:10px}}
  .editor-title{padding:24px 20px;gap:20px}.course-symbol{width:44px;height:52px;border-radius:8px}.course-symbol .icon{width:24px;height:24px}
  .course-identity{gap:12px}.course-identity h2{font-size:18px}.course-product{font-size:10px}
  .course-actions{padding-left:0}.course-actions .pill{margin-right:auto}
  .course-description{padding:20px 20px 0}.course-content{padding:20px 16px}.course-section-heading{gap:8px}.course-section-heading>span{font-size:11px}
  .course-section-heading .small{padding:8px;font-size:12px}.course-section-heading .small .icon{width:14px;height:14px}
  .editor-module summary{padding:16px}.module-number{width:32px;height:32px;font-size:11px}.module-identity strong{font-size:14px}.module-identity small{font-size:11px}
  .module-body{padding:0 12px 12px}.module-toolbar .small{padding:8px;font-size:12px}.module-toolbar .icon-button{width:36px;padding:8px}
  .lesson-row{gap:12px;padding:16px 12px}.lesson-number{display:none}.lesson-symbol{width:32px;height:36px}
  .lesson-copy strong{font-size:14px}.lesson-copy small{font-size:11px}.lesson-actions{padding-left:0;gap:4px}
  .lesson-actions .small{font-size:12px;padding:8px}.lesson-actions .icon-button{width:32px}.lesson-actions .pill{padding:4px 7px;font-size:11px}
  .course-footer{padding:16px 20px;font-size:11px}.course-help{padding:20px;font-size:13px}.course-help p{font-size:13px}
  .product-grid{grid-template-columns:minmax(0,1fr)}.learning{display:flex;flex-direction:column}.curriculum{width:100%;max-height:360px;overflow:auto}
  .video{border-radius:8px}.tabs{gap:24px;margin-bottom:24px}.tabs button{font-size:13px}
  .chat-layout{display:flex;flex-direction:column;height:auto;max-height:none;min-height:0;padding:0}
  .conversation-list{max-height:240px;border-right:0;border-bottom:1px solid var(--border)}.chat-main{min-height:520px;max-height:720px}
  .chat-head,.messages{padding:20px}.message{max-width:94%}.chat-compose{padding:16px;gap:8px}.chat-compose textarea{font-size:16px}.chat-compose button{padding:10px 12px;font-size:13px}
  .form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .wide{grid-column:auto}
  .resend-test-panel{padding:20px}.resend-test-panel h3{font-size:20px}.resend-test-panel button{width:100%}
  dialog,dialog.wide-dialog{width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);border-radius:var(--modal-radius)}
  .dialog-head{padding:18px 20px;gap:16px}.dialog-head h2{font-size:19px}.dialog-body,.dialog-scroll{padding:24px 20px}
  .dialog-body.sectioned{padding:0}.dialog-footer{padding:16px 20px}.dialog-footer .form-footer{flex-wrap:nowrap}.dialog-footer button{flex:1;min-width:0}
  .lesson-editor .dialog-scroll{grid-template-columns:minmax(0,1fr);gap:28px}.dialog-section>p{margin-bottom:20px}
  #toast{left:16px;right:16px;bottom:16px;max-width:none}
  .login-page{display:flex;flex-direction:column}.login-brand-panel{padding:28px}.login-story{padding:40px 0 8px;margin:0}
  .login-story h1{max-width:420px;margin-bottom:0;font-size:32px;letter-spacing:-1px}.login-story .eyebrow{font-size:11px;margin-bottom:16px}
  .login-story p,.login-feature,.login-footer{display:none}.login-form-panel{padding:40px 24px}.login-box h2{font-size:28px}
  .landing-nav{padding:24px;gap:16px}.landing-nav .brand small{display:none}.landing-nav .button{padding:10px;font-size:12px}
  .landing-hero{display:flex;flex-direction:column;align-items:stretch;padding:56px 24px;gap:48px}.landing-hero h1{font-size:44px;letter-spacing:-1.8px}.landing-hero p{font-size:16px}
  .landing-illustration{width:100%;max-width:400px;margin:auto;padding:28px}.landing-features{grid-template-columns:minmax(0,1fr);gap:24px;padding:32px 24px 56px}
}
@media(max-width:380px){
  .content{padding-left:16px;padding-right:16px}.course-identity h2{font-size:17px}.course-actions{flex-wrap:wrap}
  .module-toolbar .row-actions{gap:0}.module-toolbar .small{font-size:11px}.course-section-heading{flex-wrap:wrap}
  .library-filters{flex-wrap:wrap}.library-search{flex-basis:100%}.library-status,.library-status select{width:100%}
  .library-metric{grid-template-columns:1fr}.metric-symbol{display:none}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){*{scrollbar-color:auto;scrollbar-width:auto}select,select::picker(select){appearance:auto;background-image:none}input:focus,select:focus,textarea:focus{outline:2px solid Highlight;box-shadow:none}}

/* Learning workspace: two independently scrolling, white panels. */
.content[data-layout=learning]{width:100%;max-width:none;height:calc(100dvh - var(--header-height));margin:0;padding:0;overflow:hidden;background:var(--surface)}
.learning-workspace{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;background:var(--surface)}
.learning-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:center;gap:24px;padding:18px 28px;border-bottom:1px solid var(--border);background:var(--surface)}
.learning-heading{min-width:0}.learning-heading .link{font-size:11px}.learning-heading .link .icon{width:14px;height:14px}.learning-heading h1{margin:4px 0 0;font-size:21px;line-height:1.35;letter-spacing:-.5px}
.learning-overall>div{display:flex;justify-content:space-between;gap:16px;margin-bottom:8px;font-size:12px}.learning-overall [data-learning-percent]{color:var(--accent);font-weight:800}
.learning-overall p{display:flex;justify-content:space-between;gap:12px;margin:8px 0 0;font-size:11px;line-height:1.5;color:var(--muted)}
.learning-workspace progress{display:block;width:100%;height:6px;overflow:hidden;appearance:none;border:0;border-radius:999px;background:var(--border);accent-color:var(--accent)}
.learning-workspace progress::-webkit-progress-bar{border-radius:999px;background:var(--border)}.learning-workspace progress::-webkit-progress-value{border-radius:999px;background:var(--accent)}.learning-workspace progress::-moz-progress-bar{border-radius:999px;background:var(--accent)}
.learning-workspace .learning{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:0;min-height:0;height:100%;overflow:hidden}
.lesson-stage{min-width:0;min-height:0;height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;overflow-anchor:none;background:var(--surface)}
.lesson-stage-inner{width:100%;padding:24px 32px 40px}.lesson-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.lesson-navigation>div:first-child{display:grid;gap:6px;min-width:0;flex:1}
.lesson-navigation .eyebrow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;color:var(--accent);font-size:11px;letter-spacing:.3px}.lesson-navigation .subtle{font-size:11px}.lesson-navigation .row-actions{flex-wrap:nowrap;gap:8px}.lesson-navigation button{font-size:11px;min-height:38px;padding:8px 10px}
.lesson-title{margin:0 0 20px;font-size:25px;line-height:1.35;letter-spacing:-.6px;overflow-wrap:anywhere}.lesson-stage .video{margin:0 0 16px;border-radius:var(--radius)}
.lesson-completion{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:28px}.lesson-completion>span{display:flex;align-items:center;gap:8px;font-size:12px}.lesson-completion>span>.icon{width:16px;height:16px}
.lesson-section{padding:28px 0;border-top:1px solid var(--border)}.lesson-section:last-child{padding-bottom:0}.lesson-section>h3,.lesson-section .card-heading h3{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:17px}.lesson-section .card-heading{margin-bottom:12px}.lesson-section .card-heading h3{margin:0}
.rich-description{font-size:15px;line-height:1.8;color:#374151;overflow-wrap:anywhere}.rich-description p{margin:0 0 14px;white-space:pre-wrap}.rich-description h4{margin:20px 0 12px;font-size:17px}.rich-description a{text-decoration:underline}.rich-description blockquote{margin:16px 0;padding:8px 16px;border-left:3px solid var(--accent);background:var(--subsurface)}.rich-description li{margin:6px 0}.rich-description code{padding:2px 5px;border-radius:4px;background:var(--subsurface);font-family:monospace}
.lesson-guidance{margin-top:24px}.lesson-guidance h4{margin:0 0 10px;font-size:13px}.lesson-guidance .lesson-content{margin:0;font-size:14px;line-height:1.8}
.learning-workspace .curriculum{display:flex;flex-direction:column;align-self:stretch;width:auto;height:100%;min-height:0;max-height:none;margin:0;padding:0;overflow:hidden;border-left:1px solid var(--border);border-radius:0;background:var(--surface)}
.curriculum-heading{position:relative;flex:none;padding:24px 20px 20px;border-bottom:1px solid var(--border)}.curriculum-heading h2{margin:0 0 16px;font-size:16px}.curriculum-search{position:relative;display:block;margin:0}.curriculum-search>.icon{position:absolute;left:12px;top:13px;width:17px;height:17px;color:var(--muted);pointer-events:none}.curriculum-search input{min-height:44px;padding:10px 12px 10px 38px;font-size:13px;background:var(--subsurface)}
.curriculum-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:16px 16px 24px;overscroll-behavior:contain;scrollbar-gutter:stable;overflow-anchor:none}
.learning-workspace .curriculum-course>h3{margin:0;padding:8px 4px 12px;color:var(--muted);font-size:11px;line-height:1.6;letter-spacing:.2px;text-transform:uppercase}.learning-workspace .curriculum details{padding:6px 0}.learning-workspace .curriculum summary{align-items:flex-start;gap:10px;padding:12px 4px}
.learning-workspace .curriculum .curriculum-module-number{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border:1px solid var(--border);border-radius:8px;background:var(--subsurface);color:var(--muted);font-size:11px;font-weight:750}
.curriculum-module-label{display:block;min-width:0}.curriculum-module-label strong{display:block;margin-bottom:6px;font-size:13px;line-height:1.6}.curriculum-module-label small{display:block;color:var(--muted);font-size:10px;font-weight:500}.curriculum-module-label progress{height:4px;margin-top:8px}.learning-workspace .curriculum summary>.icon{margin-top:5px;flex:none;width:16px;height:16px}
.curriculum-lessons{padding:0 2px 8px}.learning-workspace .lesson-link{display:flex;align-items:flex-start;gap:10px;margin:4px 0;padding:10px;border:1px solid transparent;border-radius:8px;font-size:12px;line-height:1.7}.learning-workspace .lesson-link.active{border-color:#bbf7d0}.lesson-marker{display:flex;flex:none;margin-top:2px;color:var(--muted)}.lesson-marker .icon{width:16px;height:16px}.lesson-marker.done,.lesson-link.active .lesson-marker{color:var(--accent)}.lesson-link-title{flex:1;min-width:0;overflow-wrap:anywhere}.curriculum-empty,.curriculum-no-results{margin:0;padding:12px 8px;color:var(--muted);font-size:12px;line-height:1.7}
.lesson-materials .material{gap:12px;margin:10px 0;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.lesson-materials .material:hover{background:var(--subsurface);text-decoration:none}.material-file-icon{display:grid;place-items:center;flex:none;width:36px;height:40px;border-radius:8px;background:var(--subsurface);color:var(--muted)}.material-description{flex:1;min-width:0;overflow-wrap:anywhere}.material-description strong{display:block;color:var(--text);font-size:13px}.material-description small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.material-action{flex:none;color:var(--accent)}.material-action .icon{width:18px;height:18px}
.lesson-questions>.subtle{font-size:12px;line-height:1.7}.lesson-question-thread{max-height:320px;overflow:auto;margin:20px 0;overscroll-behavior:contain}.lesson-question-empty{display:grid;place-items:center;gap:8px;min-height:140px;padding:24px;border:1px dashed var(--border-strong);border-radius:12px;color:var(--muted);text-align:center}.lesson-question-empty>.icon{width:28px;height:28px}.lesson-question-empty p{margin:0;font-size:13px}
.lesson-question-message{margin:12px 0;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--subsurface)}.lesson-question-message>div{display:flex;align-items:center;gap:10px;font-size:12px}.lesson-question-message time{margin-left:auto;color:var(--muted);font-size:10px}.lesson-question-message .pill{min-height:22px;padding:2px 6px;font-size:10px}.lesson-question-message p{margin:10px 0 0;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.lesson-question-compose{padding:12px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface)}.lesson-question-compose textarea{min-height:100px;max-height:220px;margin:0;padding:8px;border:0;border-radius:6px;font-size:14px;line-height:1.7;box-shadow:none}.lesson-question-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--border)}.lesson-question-footer>.subtle{font-size:10px}.lesson-question-footer button{min-height:40px;font-size:12px}.lesson-question-compose .form-status{margin:12px 4px 0;font-size:12px}.lesson-question-compose .form-status:empty{display:none}
.description-field{margin-bottom:24px}.description-field>label{margin-bottom:8px}.rich-editor{overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--control-radius);background:var(--surface)}.rich-editor:focus-within{border-color:var(--focus-border);box-shadow:0 0 0 3px var(--focus-halo)}.editor-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:6px;border-bottom:1px solid var(--border);background:var(--subsurface)}.editor-toolbar .icon-button{width:34px;min-height:34px;padding:8px;border-radius:6px}.editor-toolbar .icon{width:17px;height:17px}.editor-toolbar [aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}
.editor-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:12px;border-bottom:1px solid var(--border)}.editor-link-row[hidden]{display:none}.editor-link-row label{margin:0;font-size:12px}.editor-link-row input{min-height:38px;padding:8px 10px;font-size:13px}
.lexical-editor{position:relative;min-height:180px;max-height:350px;overflow:auto;padding:14px;outline:none;font-size:15px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.lexical-editor:focus-visible{outline:none}.lexical-editor[data-empty=true]:before{position:absolute;content:attr(data-placeholder);color:var(--muted);pointer-events:none}.lexical-paragraph{margin:0 0 12px}.lexical-heading{margin:16px 0 10px;font-size:18px}.lexical-bold{font-weight:750}.lexical-italic{font-style:italic}.lexical-underline{text-decoration:underline}.lexical-strike{text-decoration:line-through}.lexical-code{padding:2px 4px;border-radius:4px;background:var(--subsurface);font-family:monospace}.lexical-link{text-decoration:underline;color:var(--accent)}.lexical-list{padding-left:24px}.lexical-quote{padding-left:16px;border-left:3px solid var(--border-strong);color:var(--muted)}
.material-upload-field{margin-bottom:24px}.upload-file-control{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0 0 10px;padding:10px 14px;overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--control-radius);background:var(--surface);color:var(--accent);font-size:13px;font-weight:700;cursor:pointer}.upload-file-control:focus-within{outline:2px solid var(--focus-border);outline-offset:3px}.upload-file-control input{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;opacity:0;cursor:pointer}.material-upload-field>.subtle{margin:0 0 16px;font-size:11px;line-height:1.7}.material-upload-field .form-status{margin:12px 0 0;font-size:12px}
.uploaded-material{display:grid;grid-template-columns:28px minmax(0,1fr) 36px;align-items:center;gap:12px;margin:12px 0;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--subsurface)}.uploaded-material-icon{color:var(--muted)}.uploaded-material input{min-height:36px;padding:7px 10px;font-size:13px}.uploaded-material small{display:block;margin-top:6px;color:var(--muted);font-size:10px;overflow-wrap:anywhere}.uploaded-material .icon-button{width:36px;min-height:36px;padding:8px}
@media(min-width:1600px){.learning-workspace .learning{grid-template-columns:minmax(0,1fr) 360px}.lesson-stage-inner{padding:28px 40px 48px}}
@media(max-width:1000px){.learning-header{padding:16px 20px;gap:16px}.learning-heading h1{font-size:18px}.lesson-stage-inner{padding:20px 24px 32px}.lesson-title{font-size:22px}.lesson-navigation button span{display:none}}
@media(max-width:760px){.learning-header{grid-template-columns:minmax(0,1fr);gap:12px;padding:12px 20px}.learning-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.learning-heading h1{font-size:16px;margin:0}.learning-workspace .learning{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 220px}.learning-workspace .curriculum{border-left:0;border-top:1px solid var(--border)}.curriculum-heading{padding:12px 16px}.curriculum-heading h2{display:none}.curriculum-search input{min-height:38px}.curriculum-search>.icon{top:10px}.curriculum-scroll{padding:8px 12px 16px}.lesson-stage-inner{padding:20px}.lesson-title{font-size:20px}.lesson-navigation{margin-bottom:14px}.lesson-section{padding:24px 0}.learning-overall>div{display:none}.learning-overall p{font-size:10px}.lesson-question-footer{flex-wrap:wrap}}
.search-control{position:relative;min-width:0}.search-control input{padding-right:48px}.search-control>.icon{top:50%;transform:translateY(-50%)}.search-control .search-clear{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:40px;min-height:40px;padding:10px;border:0;border-radius:6px;background:transparent;color:var(--muted);box-shadow:none}.search-control .search-clear:hover{background:var(--subsurface);color:var(--text)}.search-control .search-clear .icon{width:18px;height:18px}.curriculum-search.search-control input{min-height:44px}
