:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#24324a;background:#f3f5f9;font-synthesis:none;--ink:#24324a;--muted:#596980;--blue:#245de3;--line:#e1e6ef;--radius:16px;--shadow:0 8px 32px #13274409;color-scheme:light}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:var(--blue)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ffa630;outline-offset:4px}input:focus,select:focus,textarea:focus{outline:3px solid #245de32a;border-color:var(--blue)}.skip{position:fixed;z-index:100;top:10px;left:12px;background:white;padding:12px;transform:translateY(-200%)}.skip:focus{transform:none}.loading{margin:15vh auto;max-width:500px;padding:25px}.layout{display:grid;grid-template-columns:246px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:30px 20px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;color:#1c2b44;text-decoration:none;font-size:23px;font-weight:750;letter-spacing:-.7px}.brandmark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--blue);color:#fff;font-size:26px;font-weight:500}.brand small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:2px;color:var(--muted);font-weight:600;margin-top:4px}.subject{margin:36px 0 25px;display:flex;align-items:center;gap:11px;padding:14px;background:#eef3ff;border-radius:12px;font-size:15px;font-weight:650}.subject .symbol{font-family:Georgia,serif;font-size:26px;color:var(--blue)}.nav-label{font-size:11px;font-weight:700;color:#78849a;text-transform:uppercase;letter-spacing:1.8px;margin:5px 12px 13px}.nav{display:grid;gap:5px}.nav a{display:flex;gap:11px;align-items:center;padding:12px;border-radius:9px;font-size:14px;text-decoration:none;color:#596780;font-weight:550}.nav a.active{background:#245de3;color:white;box-shadow:0 5px 12px #245de323}.nav a:not(.active):hover{background:#f1f4fa}.nav svg,.button svg,.icon svg{width:20px;height:20px;flex-shrink:0}.count{margin-left:auto;font-size:11px;background:#eef1f8;color:#607089;border-radius:5px;padding:2px 5px}.nav .active .count{background:#ffffff2a;color:#fff}.sidebar-bottom{margin-top:auto;padding-top:24px;display:grid;gap:18px}.preview-link{color:#405575;text-decoration:none;font-size:14px;display:flex;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px}.sidebar-note{font-size:12px;line-height:1.6;color:#77849a;padding:0 10px}.shell{min-width:0}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;border-bottom:1px solid var(--line);background:#ffffffc9;gap:12px}.breadcrumb{font-size:13px;color:var(--muted)}.breadcrumb strong{color:var(--ink);font-weight:550}.local-indicator{display:flex;gap:8px;align-items:center;font-size:12px;color:#596980}.local-indicator b{width:7px;height:7px;background:#5480d8;border-radius:50%}.avatar{height:32px;width:32px;border-radius:50%;background:#eaf0fa;display:grid;place-items:center;font-size:12px;font-weight:700;margin-left:8px}.top-actions{display:flex;align-items:center;gap:10px}.content{max-width:1400px;margin:auto;padding:38px 42px 44px}h1{font-size:30px;line-height:1.2;font-weight:700;letter-spacing:-1px;margin:0 0 10px}h2{font-size:18px;letter-spacing:-.3px;margin:0}h3{font-size:16px;margin:0 0 10px}p{line-height:1.65}p.muted,.muted{color:var(--muted)}.lead{margin:0;font-size:14px;color:var(--muted);max-width:730px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:30px}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:41px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 15px;color:var(--ink);text-decoration:none;font-size:14px;font-weight:600;white-space:normal}.button.primary{background:var(--blue);border-color:var(--blue);color:white;box-shadow:0 4px 12px #245de316}.button:hover{filter:brightness(.97)}.button.small{min-height:34px;font-size:12px;padding:7px 11px}.button.quiet{border-color:transparent;background:transparent;color:#4c6384}.button.danger{color:#ae3340;border-color:#f0d0d4}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat{border:1px solid var(--line);background:#fff;border-radius:14px;padding:21px 22px;box-shadow:var(--shadow)}.stat-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.stat-label{font-size:12px;color:#647189;font-weight:550}.stat-icon{background:#f2f5fb;color:#59708e;border-radius:8px;padding:7px;display:flex}.stat strong{display:block;font-size:32px;font-weight:650;line-height:1.4;margin:10px 0 2px;font-variant-numeric:tabular-nums}.stat small{font-size:12px;color:#7a8699}.main-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:22px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panel-head{padding:23px 25px 19px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf0f5;gap:15px}.panel-head p{margin:6px 0 0;font-size:13px;color:var(--muted)}.panel-body{padding:24px}.badge{font-size:11px;font-weight:600;border-radius:6px;padding:5px 8px;display:inline-flex;gap:5px;align-items:center;background:#f0f3f8;color:#5a6b83;white-space:nowrap}.badge.approved{color:#176b52;background:#e6f5ee}.badge.review{color:#89610a;background:#fff3d6}.badge.published{color:#2551b5;background:#e9f0ff}.empty{min-height:260px;padding:40px 26px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty .icon{width:55px;height:55px;background:#f0f4fd;color:#657fba;border-radius:15px;display:grid;place-items:center;margin-bottom:17px}.empty .icon svg{height:25px;width:25px}.empty h3{font-size:17px;margin:0 0 9px}.empty p{font-size:13px;max-width:335px;margin:0 0 20px;color:var(--muted)}.steps{padding:8px 24px 16px}.step{display:flex;gap:15px;padding:18px 0;border-bottom:1px solid #eef1f6}.step:last-child{border:0}.step-no{width:29px;height:29px;display:grid;place-items:center;flex-shrink:0;background:#f1f4fa;border-radius:50%;font-size:12px;color:#677997}.step.done .step-no{background:#e5f4ec;color:#167950}.step.current .step-no{background:#245de3;color:white}.step strong{font-size:13px;display:block;margin:3px 0 5px}.step p{font-size:12px;margin:0;color:#748199;line-height:1.5}.step a{font-size:12px;text-decoration:none;margin-top:7px;display:inline-block}.workflow{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#8791a3;font-size:12px}.info-strip{display:flex;gap:15px;align-items:flex-start;margin-top:23px;border-radius:12px;background:#eaf0fd;border:1px solid #d9e3fa;padding:19px 22px;color:#43608e}.info-strip p{font-size:13px;line-height:1.65;margin:0}.info-strip strong{color:#274877}.footer{font-size:11px;color:#7d8898;display:flex;justify-content:space-between;gap:10px;margin-top:32px}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.search{max-width:380px;flex:1;min-width:190px}.toolbar input,.toolbar select{background:#fff;border:1px solid var(--line);padding:11px 13px;border-radius:9px;font-size:13px;min-height:42px;color:var(--ink)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-size:11px;font-weight:650;color:#708098;background:#fafbfe;padding:13px 19px;white-space:nowrap}td{border-top:1px solid #edf0f6;padding:15px 19px;vertical-align:middle}td strong{font-weight:600;display:block;overflow-wrap:anywhere}td small{font-size:11px;color:#708098;display:block;margin-top:5px}td:last-child{width:1%;white-space:nowrap}.table-wrap .actions{flex-wrap:nowrap}.notice{padding:13px 16px;border:1px solid #e2e8f2;border-radius:10px;font-size:13px;background:#f8faff;color:#557093;margin-bottom:20px;line-height:1.6}.section-stack{display:grid;gap:20px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.material-card{padding:23px}.material-card h3{margin:15px 0 8px;overflow-wrap:anywhere}.material-card p{font-size:13px;color:var(--muted);margin:0 0 20px}.meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:#6c7a90}.settings-line{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #edf0f6;padding:16px 0;align-items:center}.settings-line:last-child{border:0}.settings-line p{margin:5px 0 0;font-size:13px;color:var(--muted)}details summary{cursor:pointer;font-size:14px;font-weight:600;padding:17px 0}details p,details li{font-size:13px;color:var(--muted);line-height:1.7}code{font-size:.9em;background:#f1f4fa;padding:2px 5px;border-radius:4px;overflow-wrap:anywhere}dialog{width:min(780px,calc(100vw - 32px));max-height:calc(100dvh - 40px);border:1px solid #dce4ef;border-radius:18px;padding:0;color:var(--ink);box-shadow:0 28px 90px #14233c40}dialog::backdrop{background:#14213c65;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:25px 28px 18px;border-bottom:1px solid var(--line)}.dialog-head h2{font-size:21px}.dialog-head p{font-size:13px;color:var(--muted);margin:8px 0 0}.close{border:0;background:#f1f4f9;border-radius:8px;font-size:23px;line-height:1;width:33px;height:33px;flex-shrink:0}.dialog-body{padding:24px 28px}.dialog-footer{padding:18px 28px;border-top:1px solid var(--line);background:#fafbfe;display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{font-size:14px;padding:11px 12px;border:1px solid #d7dfeb;border-radius:8px;color:var(--ink);background:white;width:100%}.field textarea{resize:vertical;line-height:1.6;min-height:100px}.field small{font-weight:400;color:var(--muted);font-size:12px}.checkbox{display:flex;gap:10px;font-size:14px;line-height:1.6;margin:15px 0;font-weight:400}.checkbox input{width:18px;height:18px;flex-shrink:0;margin-top:3px;accent-color:var(--blue)}.error{padding:12px 15px;background:#fff0f1;border:1px solid #efc9d0;border-radius:8px;color:#9e273e;margin-top:16px;font-size:13px}.read-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.8;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fafbfe;margin-top:20px;max-height:44vh;overflow:auto}.read-meta{display:grid;grid-template-columns:130px 1fr;gap:10px;font-size:13px;line-height:1.6}.read-meta dt{color:var(--muted)}.read-meta dd{margin:0;overflow-wrap:anywhere}.read-meta a{word-break:break-word}.audit-row{display:grid;grid-template-columns:145px 1fr;gap:20px;padding:17px 22px;border-bottom:1px solid var(--line);font-size:13px}.audit-row time{color:var(--muted);font-size:12px}.audit-row small{display:block;color:var(--muted);margin-top:6px}#toast{position:fixed;z-index:10000;bottom:24px;left:50%;transform:translateX(-50%);background:#24324a;color:#fff;border-radius:11px;padding:14px 20px;box-shadow:0 8px 35px #15274626;max-width:min(90vw,600px);font-size:14px;display:none}#toast.show{display:block}.learner{min-height:100vh;background:linear-gradient(160deg,#f2f6ff,#fafcff)}.learner-header{max-width:1120px;margin:auto;padding:25px 30px;display:flex;align-items:center;justify-content:space-between;gap:15px}.learner-main{max-width:1000px;margin:auto;padding:40px 28px}.learner h1{font-size:36px;margin-bottom:15px}.learner .empty{min-height:350px}.learner .empty .icon{width:74px;height:74px;border-radius:21px;background:#eaf0ff}.learner .empty .icon svg{width:32px;height:32px}.learner .empty h3{font-size:23px}.learner .empty p{font-size:16px;max-width:400px}.learner-tag{font-size:12px;color:#4869a5;text-transform:uppercase;letter-spacing:1.6px;font-weight:650;margin-bottom:12px}.learner-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:22px 0}.learner-tools .button{min-height:46px}.student-reading{font-size:20px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;padding:30px}.large-text .student-reading{font-size:27px}.student-empty-foot{font-size:13px;color:var(--muted);text-align:center;margin-top:20px}.mobile-menu{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1700px){.content{padding-top:48px}.main-grid{grid-template-columns:1.8fr 1fr}}
@media(max-width:1150px){.layout{grid-template-columns:216px minmax(0,1fr)}.sidebar{padding:25px 14px}.content{padding:30px 25px}.topbar{padding:0 25px}.stats{gap:10px}.stat{padding:17px}.main-grid{grid-template-columns:1fr}.page-head{align-items:flex-start}.cards{grid-template-columns:1fr}}
@media(max-width:720px){.layout{display:block}.sidebar{position:static;height:auto;padding:18px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:20px}.brand small{display:none}.subject,.nav-label,.sidebar-bottom{display:none}.nav{display:flex;overflow:auto;margin-top:18px;padding-bottom:3px;gap:7px}.nav a{white-space:nowrap;font-size:12px;padding:10px}.nav a svg{width:17px;height:17px}.count{display:none}.topbar{height:58px;padding:0 20px}.breadcrumb{font-size:12px}.local-indicator{font-size:11px}.avatar{display:none}.content{padding:25px 18px}.page-head{flex-direction:column;gap:16px;margin-bottom:23px}h1{font-size:27px}.stats{grid-template-columns:1fr 1fr}.stat strong{font-size:29px}.stat-label{font-size:11px}.stat-icon{padding:5px}.stat{padding:15px}.stat small{font-size:11px}.panel-head{padding:20px}.panel-head h2{font-size:16px}.empty{padding:30px 20px;min-height:250px}.panel-body{padding:20px}.footer{font-size:10px;flex-direction:column}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.dialog-head,.dialog-body{padding:20px}.dialog-footer{padding:16px 20px}.audit-row{grid-template-columns:1fr;gap:8px}.read-meta{grid-template-columns:1fr;gap:4px}.read-meta dd{margin-bottom:10px}.learner-header{padding:20px}.learner-header .brand{font-size:19px}.learner-header .button{font-size:12px}.learner-main{padding:24px 18px}.learner h1{font-size:30px}.learner .empty h3{font-size:20px}.student-reading{padding:22px}.info-strip{padding:17px}.settings-line{align-items:flex-start;flex-direction:column}}
svg{width:20px;height:20px;flex-shrink:0}.preview-link svg{width:20px;height:20px}.stat-icon svg{width:19px;height:19px}.nav a.mobile-only{display:none}
.grade-picker{margin:0;border:1px solid var(--line);border-radius:9px;padding:15px}.grade-picker legend{padding:0 5px}.grade-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 12px}.grade-options .checkbox{font-size:12px;margin:5px 0}@media(max-width:560px){.grade-options{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.nav a.mobile-only{display:flex}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.context-bar{display:grid;grid-template-columns:minmax(150px,1fr) minmax(330px,1.4fr);gap:18px 24px;margin-bottom:30px;padding:22px 24px;border:1px solid #d6e1f5;border-radius:14px;background:#fff;box-shadow:var(--shadow)}.context-intro{display:flex;flex-direction:column;justify-content:center;gap:9px}.context-eyebrow{font-size:11px;font-weight:700;color:#526b97;letter-spacing:1.5px;text-transform:uppercase}.context-intro strong{font-size:17px;line-height:1.5}.context-selects{display:grid;grid-template-columns:1fr 1fr;gap:14px}.context-selects label{display:grid;gap:7px;font-size:12px;font-weight:650;min-width:0}.context-selects select{width:100%;min-width:0;min-height:46px;border:1px solid #b8c9e5;border-radius:9px;background:#f8faff;color:#24324a;padding:10px;font-size:14px}.context-notes{grid-column:1/-1;border-top:1px solid #edf0f5;padding-top:12px;display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#596980;line-height:1.6}.form-context{font-size:13px;color:var(--muted);margin:0 0 20px}.architecture-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.architecture-grid p,.progress-axes p{font-size:14px;color:var(--muted);margin-bottom:0}.learner-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:27px}.learner-nav .button{min-height:46px}.progress-axes{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.learner input[type=checkbox]{accent-color:var(--blue);width:24px;height:24px;flex-shrink:0}.learner.large-text .lead,.learner.large-text .panel-body p{font-size:19px}.learner.large-text .button,.learner.large-text .context-selects select{font-size:17px}.learner.high-contrast{background:#fff;--ink:#111;--muted:#242424;--line:#444;color:#111}.high-contrast .panel,.high-contrast .context-bar{border-color:#444;box-shadow:none}.high-contrast .muted,.high-contrast .lead,.high-contrast .context-notes,.high-contrast .meta,.high-contrast .learner-tag,.high-contrast .student-empty-foot{color:#222}.high-contrast .button{border-color:#222}.high-contrast .badge{background:#fff;color:#111;border:1px solid #444}.sidebar{overflow-y:auto}.sidebar .subject{margin-top:25px;margin-bottom:16px}
@media(max-width:1000px){.context-bar{grid-template-columns:1fr}.context-notes{flex-direction:column;gap:4px}}
@media(max-width:720px){.context-bar{padding:18px;gap:16px;margin-bottom:24px}.context-selects{grid-template-columns:1fr;gap:12px}.context-intro strong{font-size:16px}.architecture-grid,.progress-axes{grid-template-columns:1fr}.panel-heading{flex-wrap:wrap}.learner .settings-line{flex-direction:row}.learner .context-bar{margin-bottom:20px}.topbar{height:auto;min-height:58px;padding-top:12px;padding-bottom:12px}.breadcrumb{line-height:1.6}.local-indicator{max-width:110px}}
