:root { --ink:#1b2926; --muted:#66716d; --faint:#99a19b; --bg:#f7f8f5; --panel:#fff; --sidebar:#f2f4ef; --line:#e0e5df; --strong:#d0d8d1; --primary:#244b40; --primary-dark:#193d33; --accent:#e36d49; --accent-pale:#fff0e9; --success:#277456; --success-pale:#ebf7ef; --warning:#965e2e; --warning-pale:#fff4e6; --danger:#b74c42; --danger-pale:#fef0ed; --r:11px; --shadow:0 12px 40px rgba(35,58,46,.09); --font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
*,*::before,*::after { box-sizing:border-box; }html{min-height:100%;}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;-webkit-font-smoothing:antialiased;}button,input,select,textarea{font:inherit;}button{cursor:pointer;}button:disabled{cursor:not-allowed;opacity:.5;}input:focus-visible,textarea:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #f3bd9d;outline-offset:2px;}a{color:var(--primary);}h1,h2,h3,p{margin:0;}h1{font-size:clamp(26px,3vw,36px);letter-spacing:-.045em;font-weight:740;line-height:1.14;}h2{font-size:21px;letter-spacing:-.035em;line-height:1.25;}h3{font-size:15px;letter-spacing:-.018em;}p{line-height:1.6;color:var(--muted);}small{font-size:12px;}svg{flex-shrink:0}.hidden,[hidden]{display:none!important}.mobile-only{display:none}.tabular,.metric-value,.nav-count,.smallstat strong,.progress-num{font-variant-numeric:tabular-nums;}
.app{min-height:100vh;display:flex}.sidebar{width:252px;background:var(--sidebar);border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;flex-shrink:0}.sidebar-head{padding:30px 20px 40px}.brand{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:800;letter-spacing:-.04em;white-space:nowrap}.brand small{display:block;font-weight:500;letter-spacing:0;color:var(--muted);font-size:11px;margin-top:2px}.brand-mark{background:var(--primary);border-radius:9px;display:grid;place-items:center;color:white;font-size:23px;line-height:1;font-weight:900;letter-spacing:-.1em;width:42px;height:42px}.brand-mark span{color:var(--accent)}.workspace-label{padding:0 22px 10px;color:#83918a;font-size:10px;font-weight:800;letter-spacing:.12em}.nav{padding:0 12px;display:flex;flex-direction:column;gap:4px}.nav-item{width:100%;display:flex;align-items:center;gap:13px;border:0;background:transparent;color:#5a6962;border-radius:8px;text-align:left;padding:12px 13px;font-weight:590;font-size:13px;transition:background .15s,color .15s}.nav-item svg{width:18px;height:18px}.nav-item:hover{background:#e8eee8;color:var(--ink)}.nav-item.selected{background:#dde9e0;color:var(--primary);font-weight:750}.nav-count{margin-left:auto;font-size:11px;font-weight:750;background:#e6ebe5;padding:3px 7px;border-radius:6px;color:#5d6a62}.nav-item.selected .nav-count{background:#cbded0;color:#325b45}.nav-divider{height:1px;background:var(--line);margin:20px 21px}.sidebar-bottom{margin-top:auto;padding:18px 14px 20px}.mode-indicator{display:flex;align-items:center;gap:9px;padding:12px 10px;font-size:11px;font-weight:650;color:var(--muted)}.mode-dot{height:7px;width:7px;border-radius:50%;background:var(--warning)}.mode-indicator.live .mode-dot{background:var(--success)}.user-box{padding:13px 8px 4px;display:flex;align-items:center;gap:10px;border-top:1px solid var(--line)}.user-box>div:nth-child(2){min-width:0;flex:1}.user-box strong,.user-box span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-box strong{font-size:12px}.user-box span{font-size:11px;color:var(--muted);margin-top:3px}.avatar{display:grid;place-items:center;width:34px;height:34px;background:#d5e0d4;color:#2c5146;border-radius:50%;font-size:11px;font-weight:800}.content-shell{min-width:0;flex:1}.topbar{height:76px;border-bottom:1px solid var(--line);background:var(--panel);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,3.4vw,58px);gap:16px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:20px}.breadcrumb{font-size:12px;color:#84908a}.breadcrumb span{margin:0 9px;color:#adb4ae}.breadcrumb strong{color:var(--ink);font-weight:700}.sync-label{font-size:11px;color:var(--muted)}.main{padding:36px clamp(24px,3.4vw,58px) 80px;max-width:1600px;margin:auto}.main:focus{outline:none}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:30px}.page-eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;color:#75847c;text-transform:uppercase;margin-bottom:9px}.page-head p{margin-top:10px;max-width:670px}.head-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.btn{border:1px solid transparent;border-radius:8px;padding:11px 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:12.5px;font-weight:740;transition:background .15s,border-color .15s,transform .1s;line-height:1.2;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn svg{width:16px;height:16px}.btn-primary{background:var(--accent);color:white}.btn-primary:hover:not(:disabled){background:#c85b3a}.btn-dark{background:var(--primary);color:white}.btn-dark:hover:not(:disabled){background:var(--primary-dark)}.btn-subtle{border-color:var(--line);background:white;color:var(--ink)}.btn-subtle:hover:not(:disabled){border-color:var(--strong);background:#f9fbf9}.btn-danger{border:1px solid #f2cfc8;background:#fff7f4;color:var(--danger)}.btn-small{padding:9px 12px}.btn-wide{width:100%}.icon-btn{border:0;background:transparent;color:var(--muted);padding:7px;border-radius:7px;display:grid;place-items:center}.icon-btn:hover{background:#ebf0ea;color:var(--ink)}.icon-btn svg{width:18px;height:18px}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:22px}.metric{background:white;border:1px solid var(--line);border-radius:var(--r);padding:20px 21px;min-height:120px}.metric-label{font-size:12px;color:var(--muted);margin-bottom:15px}.metric-value{font-size:31px;font-weight:760;letter-spacing:-.045em;line-height:1}.metric-note{font-size:11px;color:var(--muted);margin-top:9px}.metric-accent .metric-value{color:var(--accent)}.dash-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(285px,.85fr);gap:16px;align-items:stretch}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.panel-pad{padding:24px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.panel-head p{font-size:12px;margin-top:4px}.panel-heading-small{font-size:14px;letter-spacing:-.01em;font-weight:760}.question-feature{padding:30px}.question-feature h2{font-size:clamp(22px,2.3vw,31px);font-weight:750;line-height:1.3;letter-spacing:-.038em;max-width:640px;margin:10px 0 23px}.question-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:11px;color:#6a7770}.question-meta span+span:before{content:"·";margin-right:9px;color:#a9b2aa}.option{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;padding:13px 15px;margin-bottom:9px;font-size:13px;line-height:1.4;background:#fff}.option-key{width:25px;height:25px;background:#f0f3ef;border-radius:5px;display:grid;place-items:center;font-size:11px;font-weight:800;flex-shrink:0}.option.correct{border-color:#badac6;background:#f0f9f3}.option.correct .option-key{background:#d1ead8;color:#236c4b}.feature-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:19px;padding-top:19px;border-top:1px solid var(--line)}.feature-footer p{font-size:11px}.aside-stack{display:flex;flex-direction:column;gap:16px}.action-list{display:flex;flex-direction:column}.action-item{border:0;border-top:1px solid var(--line);background:white;padding:16px 0;text-align:left;display:flex;gap:12px;justify-content:space-between;align-items:center}.action-item:first-child{border-top:0}.action-item:hover strong{color:var(--primary)}.action-item strong{font-size:12.5px}.action-item span{display:block;font-size:11px;color:var(--muted);margin-top:5px}.action-num{color:var(--ink);font-size:17px;font-weight:750;font-variant-numeric:tabular-nums}.course-table{margin-top:18px}.section-label{display:flex;justify-content:space-between;align-items:center;margin:28px 0 12px}.section-label h2{font-size:18px}.section-label a{font-size:12px;text-decoration:none;font-weight:730}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}.data-table{width:100%;border-collapse:collapse;text-align:left}.data-table th{padding:14px 17px;border-bottom:1px solid var(--line);font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#85928a;font-weight:780;white-space:nowrap}.data-table td{padding:16px 17px;border-bottom:1px solid #edf0eb;font-size:12px;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover{background:#fafcf9}.strong-cell{font-weight:700;color:var(--ink)}.soft-cell{color:var(--muted)}.status{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;border-radius:5px;padding:5px 8px;white-space:nowrap}.status:before{content:"";width:6px;height:6px;background:currentColor;border-radius:50%}.status-published{background:var(--success-pale);color:var(--success)}.status-draft{background:var(--warning-pale);color:var(--warning)}.status-review{background:#f0f1f5;color:#626d86}.status-archived{background:#f4f2f1;color:#898077}
.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:17px}.search-wrap{flex:1;min-width:210px;position:relative}.search-wrap input{padding-left:38px!important}.search-wrap svg{position:absolute;left:13px;top:12px;color:#a1aaa4;width:17px}.input,textarea,select,.search-wrap input{width:100%;border:1px solid #d8e0d8;border-radius:8px;background:white;color:var(--ink);padding:11px 12px;outline:0;line-height:1.4}.toolbar select{width:auto;min-width:135px;max-width:210px}.input:focus,textarea:focus,select:focus,.search-wrap input:focus{border-color:#83a595;box-shadow:0 0 0 3px #e5eee6;outline:0}.toolbar p{font-size:11px}.split-workspace{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(360px,1.1fr);gap:16px;align-items:start}.q-list{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.q-list-head{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.q-list-head strong{font-size:12.5px}.q-list-head small{color:var(--muted)}.q-item{display:block;width:100%;padding:17px 20px;text-align:left;border:0;border-bottom:1px solid #ecf0eb;background:white}.q-item:hover{background:#fafcf9}.q-item.active{background:#f1f6f0;box-shadow:inset 3px 0 var(--primary)}.q-item:last-child{border-bottom:0}.q-item-title{font-size:13px;font-weight:650;line-height:1.48;margin:7px 0}.q-item-bottom{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.q-item-top{display:flex;align-items:center;gap:12px;justify-content:space-between}.q-item-top span{font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.q-item-top .status{letter-spacing:0;text-transform:none}.editor{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;position:sticky;top:20px}.editor-head{padding:20px 23px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.editor-body{padding:23px}.editor .editor-head h2{font-size:17px}.editor-head p{margin-top:4px;font-size:11px}.field{margin-bottom:18px}.field label{display:block;color:#394c43;font-size:12px;font-weight:750;margin-bottom:7px}.field small{display:block;color:var(--muted);margin-top:5px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.answer-line{display:flex;align-items:center;gap:10px;margin:7px 0}.answer-line .input{flex:1}.answer-line .radio{accent-color:var(--primary);width:16px;height:16px}.editor-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);padding:17px 23px;flex-wrap:wrap}.editor-footer .group{display:flex;gap:8px;flex-wrap:wrap}.inline-check{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--ink)}.inline-check input{accent-color:var(--primary)}.empty{display:grid;place-content:center;text-align:center;min-height:260px;padding:30px;gap:11px;color:var(--muted)}.empty svg{width:30px;height:30px;margin:auto;color:#99aaa0}.empty strong{font-size:15px;color:var(--ink)}.empty p{font-size:12px}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.review-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:17px}.review-card{padding:28px}.review-card .option{cursor:default}.review-card h2{font-size:clamp(20px,2.3vw,29px);line-height:1.35;margin:14px 0 23px}.review-explanation{border-left:3px solid #b5cabc;background:#f6faf6;padding:16px 17px;margin-top:17px;border-radius:0 7px 7px 0}.review-explanation strong{font-size:12px}.review-explanation p{margin-top:6px;font-size:12px;color:#4b5d52}.review-actions{display:flex;gap:9px;margin-top:22px;flex-wrap:wrap}.review-side{padding:22px}.review-side h3{margin-bottom:17px}.review-side .meta-row{display:flex;justify-content:space-between;gap:8px;padding:13px 0;border-bottom:1px solid var(--line);font-size:11px}.meta-row span{color:var(--muted)}.review-side .meta-row strong{text-align:right;font-size:11px;max-width:160px;overflow-wrap:anywhere}.notice{padding:14px 16px;background:#f4f7f2;border:1px solid #e0e6dc;border-radius:8px;color:#5b6b61;font-size:12px;line-height:1.55}.notice strong{color:var(--ink)}.notice-warning{background:var(--warning-pale);border-color:#f0ddbd;color:#815a2d}.notice-danger{background:var(--danger-pale);border-color:#f5d8d5;color:#953f37}
.studio-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:17px}.studio-step{padding:24px}.step-top{display:flex;align-items:center;gap:11px;margin-bottom:17px}.step-index{display:grid;place-items:center;border-radius:7px;background:#e5eee7;color:#2b5b40;width:28px;height:28px;font-weight:750;font-size:12px}.step-top strong{font-size:14px}.upload-drop{border:1.5px dashed #b9c8be;border-radius:9px;background:#fbfdfa;padding:32px 22px;text-align:center;display:flex;align-items:center;flex-direction:column;gap:12px;cursor:pointer}.upload-drop:hover{border-color:#739680}.upload-drop svg{width:29px;height:29px;color:#688f79}.upload-drop strong{font-size:13px}.upload-drop span{color:var(--muted);font-size:11px}.step-separator{height:1px;background:var(--line);margin:23px 0}.studio-help{font-size:12px;color:var(--muted);line-height:1.7}.source-summary{padding:17px;background:#f7f9f6;border:1px solid var(--line);border-radius:8px;margin-top:13px;display:flex;justify-content:space-between;align-items:center;gap:10px}.source-summary strong{font-size:12px;overflow-wrap:anywhere}.source-summary small{display:block;margin-top:3px;color:var(--muted)}.right-studio{display:flex;flex-direction:column;gap:16px}.progressline{height:7px;border-radius:8px;background:#e9efe9;overflow:hidden}.progressline>span{display:block;height:100%;background:var(--accent);width:0}.code-label{font-family:ui-monospace,Menlo,monospace;font-size:11px;background:#f1f4ef;color:#55705c;padding:5px 6px;border-radius:5px;white-space:normal}.text-preview{max-height:180px;overflow:auto;background:#fbfcfa;border:1px solid var(--line);border-radius:8px;padding:13px;font-size:12px;white-space:pre-wrap;color:#5e6c64;line-height:1.5}.source-card{border:1px solid var(--line);padding:17px;border-radius:9px;background:white;display:flex;justify-content:space-between;gap:13px}.source-card strong{display:block;font-size:13px;margin:0 0 5px;overflow-wrap:anywhere}.source-card small{display:block;color:var(--muted);line-height:1.5}.source-list{display:grid;gap:10px}.mini-tag{font-size:10px;font-weight:720;padding:5px 8px;border-radius:5px;background:#f0f3ef;color:#52675a;white-space:nowrap}.activity-item{display:flex;gap:13px;padding:16px 0;border-bottom:1px solid var(--line)}.activity-item:last-child{border-bottom:0}.activity-icon{width:32px;height:32px;border-radius:7px;background:#edf3ed;color:var(--primary);display:grid;place-items:center;flex-shrink:0}.activity-item strong{font-size:12px}.activity-item p{font-size:11px;margin-top:4px}.activity-item time{margin-left:auto;font-size:11px;color:var(--muted);white-space:nowrap}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.setting-row strong{display:block;font-size:13px}.setting-row p{font-size:11px;margin-top:4px}.setting-row .btn{flex-shrink:0}.settings-wrap{max-width:850px}.setting-section{margin-bottom:24px}.setting-section .panel-pad{padding:24px}.setting-section h2{margin-bottom:6px}.setting-section>p{margin-bottom:15px}.setting-row:last-child{border-bottom:0}.mode-note{font-size:12px;color:var(--muted)}
.modal-root{position:fixed;inset:0;z-index:50;background:rgba(16,31,26,.45);display:flex;align-items:center;justify-content:center;padding:22px}.modal{width:min(690px,100%);max-height:calc(100vh - 44px);overflow:auto;background:white;border:1px solid #d5ddd4;border-radius:12px;box-shadow:var(--shadow)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:19px 22px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:18px}.modal-body{padding:22px}.modal-foot{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);padding:18px 22px}.toast-stack{position:fixed;bottom:22px;right:22px;z-index:70;display:grid;gap:8px;max-width:min(410px,calc(100vw - 44px))}.toast{padding:13px 16px;background:#243e34;color:white;border-radius:8px;box-shadow:var(--shadow);font-size:12px;line-height:1.45}.toast.error{background:#8e342f}.toast button{margin-left:10px;border:0;background:transparent;color:#fff;font-weight:800}.auth-screen,.boot-screen{min-height:100vh;display:grid;place-content:center;padding:25px;background:#f4f6f2}.auth-card{background:white;border:1px solid var(--line);border-radius:12px;width:min(430px,calc(100vw - 40px));padding:35px}.brand-auth{margin-bottom:35px}.auth-card h1{font-size:29px}.auth-card p{font-size:13px;margin:10px 0 27px}.auth-card form{display:grid;gap:10px}.auth-card label{font-size:12px;font-weight:730;margin-top:6px}.auth-card input{padding:12px;border:1px solid var(--line);border-radius:8px}.auth-card form .btn{margin-top:13px}.auth-note{display:block;margin-top:25px;color:var(--muted);line-height:1.6}.form-error{color:#b03e38;background:#fff1ef;padding:11px;border-radius:7px;font-size:12px}.boot-screen{gap:15px;justify-items:center;color:var(--muted);font-size:12px}.loader{width:28px;height:28px;border-radius:50%;border:3px solid #d8e7dc;border-top-color:var(--primary);animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.muted{color:var(--muted)}.quiet-link{border:0;background:transparent;color:var(--primary);font-size:12px;font-weight:730;padding:3px}.quiet-link:hover{text-decoration:underline}.linklike{border:0;background:none;padding:0;text-align:left;color:var(--primary);font-size:12px;font-weight:700}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.skeleton{height:14px;background:#e8eee8;border-radius:4px;animation:pulse 1.2s ease-in-out infinite alternate}@keyframes pulse{to{opacity:.4}}.section-stack{display:grid;gap:16px}.count-note{font-size:12px;color:var(--muted)}
@media(max-width:1250px){.dash-grid{grid-template-columns:1fr}.aside-stack{display:grid;grid-template-columns:1fr 1fr}.studio-grid{grid-template-columns:1fr 310px}.split-workspace{grid-template-columns: minmax(260px,.85fr) minmax(330px,1.15fr)}}
@media(max-width:970px){.sidebar{width:218px}.main{padding:28px 24px 60px}.topbar{padding:0 24px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-grid{grid-template-columns:1fr}.right-studio{display:grid;grid-template-columns:1fr 1fr}.review-layout{grid-template-columns:1fr}.split-workspace{grid-template-columns:1fr}.editor{position:static}}
@media(max-width:710px){.mobile-only{display:grid}.sidebar{position:fixed;z-index:25;left:0;top:0;bottom:0;transform:translateX(-102%);transition:transform .2s;box-shadow:var(--shadow);width:min(300px,85vw)}.sidebar.open{transform:translateX(0)}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:28px}.topbar{height:62px;padding:0 16px}.topbar-right{gap:8px}.sync-label{display:none}.topbar .btn-small{font-size:0;gap:0;padding:10px}.topbar .btn-small svg{width:19px;height:19px}.main{padding:25px 16px 55px}.page-head{align-items:flex-start;flex-direction:column;gap:17px}.page-head h1{font-size:29px}.metrics{gap:9px}.metric{padding:16px;min-height:105px}.metric-value{font-size:27px}.question-feature{padding:20px}.feature-footer{align-items:flex-start;flex-direction:column}.aside-stack{grid-template-columns:1fr}.field-grid{grid-template-columns:1fr}.right-studio{grid-template-columns:1fr}.toolbar select{width:calc(50% - 5px);min-width:0}.toolbar .search-wrap{flex-basis:100%}.editor-body{padding:18px}.editor-head,.editor-footer{padding:16px 18px}.review-card{padding:19px}.review-card h2{font-size:23px}.source-card{flex-direction:column}.page-head .head-actions{width:100%}.page-head .head-actions .btn{flex:1}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* Layout consistency fixes: vertical rhythm, non-overlapping figures, compact task list. */
.mobile-only { display:none !important; }
.metrics .metric { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:8px; min-height:143px; }
.metrics .metric-label { display:block; width:100%; }
.metrics .metric-value { display:block; font-size:36px; line-height:1.05; letter-spacing:-.055em; }
.metrics .metric-note { display:block; font-size:11px; line-height:1.5; }
.dash-grid { align-items:start; }
.action-item > div { min-width:0; display:flex; flex:1; flex-direction:column; align-items:flex-start; gap:5px; }
.action-item strong { display:block; line-height:1.35; }
.action-item small { display:block; color:var(--muted); font-weight:450; line-height:1.4; }
.action-item > svg { margin-left:auto; }
.editor-form { display:grid; gap:17px; }
.editor-form .field { display:grid; gap:8px; }
.editor-form .field-grid { gap:15px; }
.editor-form .field > span, .editor-form .field-grid .field > span { font-size:12px; font-weight:700; }
.answer-line { display:flex; align-items:center; gap:10px; margin-top:7px; }
.answer-line > span { display:grid; place-items:center; background:#eef3ed; border:1px solid var(--line); border-radius:7px; width:30px; height:36px; flex-shrink:0; font-weight:800; }
.answer-line > input { flex:1; min-width:0; }
.option.correct { border-color:#9ab9a2; background:#edf6ed; }
.review-actions button { align-items:center; }
@media (max-width:710px) { .mobile-only { display:grid !important; } .metrics .metric { min-height:155px; } .metrics .metric-value { font-size:33px; } }

/* V3 — Editorial crimson / obsidian. Professioneel, scherper, zonder gradients. */
:root{--ink:#181b25;--muted:#67707e;--faint:#9b9fab;--bg:#f4f5f7;--sidebar:#171b24;--line:#e0e3e9;--strong:#cbd0d8;--primary:#202634;--primary-dark:#10141e;--accent:#c02c45;--accent-pale:#fff0f3;--danger:#b82945;--danger-pale:#fff0f3;--success:#237b5a;--shadow:0 14px 44px rgba(13,18,32,.11)}
body{background:var(--bg)}
.sidebar{background:var(--sidebar);border-right:1px solid #242b39;color:#e7e9ee}
.sidebar .brand{color:#f6f6f8}.sidebar .brand small{color:#aab0bd}.brand-mark{background:#272d3c;border:1px solid #444b5a;border-radius:8px}.brand-mark span{color:#ff6d86}
.sidebar .workspace-label{color:#788393}.sidebar .nav-item{color:#abb3c2}.sidebar .nav-item:hover{background:#232a38;color:#f4f5f7}
.sidebar .nav-item.selected{background:#30222f;color:#fff;border-left:3px solid var(--accent);padding-left:10px}
.sidebar .nav-count{background:#2b3241;color:#b5bdca}.sidebar .nav-item.selected .nav-count{background:#4d293a;color:#ffc5d0}
.sidebar .nav-divider{background:#313745}.sidebar .mode-indicator{color:#9ba5b4}.sidebar .user-box{border-top-color:#343b49}.sidebar .user-box span{color:#9ba5b4}
.sidebar .avatar{background:#353145;color:#ffd4dc;border-radius:7px}
.sidebar .icon-btn:hover{background:#2f3442;color:#fff}
.topbar{background:#fff;border-bottom:1px solid #dde1e8}.breadcrumb{color:#818797}.breadcrumb strong{color:#202735}
.page-eyebrow{color:#b32640}.btn-primary{background:var(--accent);box-shadow:none}.btn-primary:hover:not(:disabled){background:#a42039}.btn-dark{background:#202634}.btn-dark:hover:not(:disabled){background:#111622}
.btn-subtle:hover:not(:disabled){background:#f5f6f8}.btn-danger{background:#fff1f3;border-color:#f0cad2}.input,textarea,select,.search-wrap input{border-color:#d7dce5}.input:focus,textarea:focus,select:focus{border-color:#c02c45;box-shadow:0 0 0 3px rgba(192,44,69,.10)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgba(192,44,69,.5);outline-offset:2px}
.metric{background:#fff}.metrics .metric:first-child{border-top:3px solid var(--accent)}.metric-value{color:#222733}
.panel{border-color:#e1e5ec}.nav-item.selected svg,.sidebar .nav-item.selected .nav-count{color:#ffc6d0}.status-review{background:#fff0f3;color:#a72b41}.action-item:hover strong{color:var(--accent)}
.course-meta{border:1px solid #e6e8ed;border-radius:7px;background:#f7f8fa;display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:9px 12px;font-size:11px;margin:1px 0 16px;color:#6c7280}
.course-meta span:first-child{font-weight:750;color:#a52a43}.curriculum-form-label{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#252a38;color:#f8f8fa;border-radius:8px;padding:11px 14px;font-weight:760;font-size:12px;margin-bottom:10px}
.curriculum-form-label span{font-size:10px;color:#f0a7b6;text-transform:uppercase;letter-spacing:.08em}
.curriculum-summary{border-radius:11px;border:1px solid #3a2f3b;background:#1c202c;padding:24px 27px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:19px}
.curriculum-summary h2{color:#fff;font-size:24px}.curriculum-summary p{color:#b5bac7;margin-top:9px;font-size:12px}.curriculum-summary .page-eyebrow{color:#ff7c94}
.source-reference{color:#ffb3c3;text-decoration:none;border:1px solid #654253;border-radius:6px;padding:10px 14px;white-space:nowrap;font-size:11px;font-weight:730}
.source-reference:hover{background:#342334}.curriculum-filter{display:flex;align-items:center;gap:12px;margin:0 0 20px}.curriculum-filter>span:first-child{white-space:nowrap;font-weight:740;font-size:12px}.curriculum-filter select{max-width:210px}.curriculum-disclaimer{font-size:11px;color:#7d8491}
.curriculum-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:start}.curriculum-panel{border:1px solid var(--line);border-radius:11px;overflow:hidden;background:white}.curriculum-panel-head{display:flex;gap:13px;align-items:center;background:#f9fafc;padding:18px 19px;border-bottom:1px solid var(--line)}
.curriculum-panel-head h2{font-size:16px}.curriculum-panel-head p{font-size:11px;margin-top:4px}.curriculum-year{display:grid;place-content:center;width:44px;height:44px;background:#252a39;color:#fff;border-radius:8px;font-size:17px;font-weight:830}
.curriculum-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #eff0f3;padding:14px 15px}.curriculum-item:last-child{border-bottom:0}.curriculum-info{min-width:0;display:flex;flex-direction:column;gap:6px}.curriculum-info strong{font-size:12px;line-height:1.35;overflow-wrap:anywhere}.curriculum-info small{font-size:10px;color:#8a909e}.curriculum-period{font-size:10px;font-weight:760;letter-spacing:.035em;color:#a82d45;text-transform:uppercase}
.curriculum-actions{display:flex;gap:5px;flex-shrink:0}.mini-action{display:grid;place-content:center;width:29px;height:29px;color:#fff;background:var(--accent);border:0;border-radius:6px}.mini-action:hover{background:#922136}.mini-action.secondary{background:#f1f2f5;color:#313746}.mini-action.secondary:hover{background:#e4e7ec}
.curriculum-footnote{font-size:11px;margin:15px 0 30px;color:#818894;line-height:1.6}
.auth-screen,.boot-screen{background:#202530}.auth-card{border-color:#373d4c;box-shadow:0 15px 45px rgba(0,0,0,.18)}.auth-card .brand-mark{background:#262b37}
.notice{background:#f6f7f9;border-color:#e3e6eb;color:#525c6c}.notice-warning{background:#fff6e9;border-color:#f0dbb7;color:#835d30}.notice-danger{background:var(--danger-pale);border-color:#f1cad4;color:#93273a}
.modal-root{background:rgba(12,14,24,.74)}.modal{border-color:#cfd3dd;box-shadow:0 28px 85px rgba(9,13,25,.28)}.modal-head{border-top:3px solid var(--accent)}
@media(max-width:1300px){.curriculum-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:780px){.curriculum-grid{grid-template-columns:1fr}.curriculum-summary{flex-direction:column;align-items:flex-start}.curriculum-filter{flex-wrap:wrap}.curriculum-disclaimer{flex-basis:100%}}
