:root{--background:#f6f7fb;--surface:#fff;--ink:#202638;--muted:#626b80;--brand:#3658d4;--brand-deep:#2947b7;--brand-soft:#ebefff;--line:#e4e8f0;--control:#8791a8;--mint:#e5f4ec;--mint-ink:#245c43;--apricot:#fff0db;--apricot-ink:#805014;--rose:#fbe9ed;--rose-ink:#9e354c;--shadow:0 18px 50px #26345b14;color:var(--ink);background:var(--background);font-synthesis:none;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--background);min-width:320px}body{background:var(--background);min-height:100vh;margin:0}button,input{font:inherit}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:3px;outline:3px solid #1f6feb}.brand{width:fit-content;color:var(--ink);letter-spacing:-.04em;align-items:center;gap:10px;font-size:22px;font-weight:750;text-decoration:none;display:inline-flex}.brand-mark{background:var(--brand);color:#fff;border-radius:13px 13px 13px 5px;place-items:center;width:38px;height:38px;font-size:23px;line-height:1;display:inline-grid}.brand-on-blue{color:#fff}.brand-on-blue .brand-mark{color:var(--brand);background:#fff}.login-page{grid-template-columns:minmax(420px,.92fr) minmax(480px,1.08fr);min-height:100vh;display:grid}.login-story{background:var(--brand);color:#fff;flex-direction:column;min-height:100vh;padding:clamp(32px,5vw,72px);display:flex;position:relative;overflow:hidden}.login-story:after{content:"";border:82px solid #ffffff13;border-radius:50%;width:360px;height:360px;position:absolute;bottom:84px;right:-110px}.story-copy{z-index:1;max-width:590px;margin:auto 0;position:relative}.phase-label,.section-context{color:var(--muted);margin:0 0 10px;font-size:14px;font-weight:650}.phase-label{color:#ffffffc2}.story-copy h1{letter-spacing:-.065em;max-width:570px;margin:0 0 24px;font-size:clamp(48px,6.2vw,82px);font-weight:760;line-height:.98}.story-copy>p:last-child{color:#ffffffc7;max-width:520px;margin:0;font-size:18px;line-height:1.6}.grade-ribbon{z-index:1;gap:8px;display:flex;position:relative}.grade-ribbon span{color:#ffffffd9;font-variant-numeric:tabular-nums;border:1px solid #ffffff40;border-radius:10px;place-items:center;width:36px;height:36px;font-size:14px;display:grid}.login-panel{background:var(--surface);place-items:center;padding:40px;display:grid}.login-form-wrap{width:min(100%,440px)}.mobile-brand{display:none}.login-form-wrap h2{letter-spacing:-.04em;margin:0 0 12px;font-size:34px;line-height:1.15}.form-intro{color:var(--muted);margin:0 0 30px;line-height:1.55}.notice{border-radius:14px;align-items:flex-start;gap:10px;margin:0 0 22px;padding:14px 16px;font-size:14px;line-height:1.45;display:flex}.notice-error{background:var(--rose);color:var(--rose-ink)}.notice-success{background:var(--mint);color:var(--mint-ink)}.notice-icon{border:1px solid;border-radius:50%;flex:none;place-items:center;width:21px;height:21px;font-size:12px;font-weight:800;display:grid}.login-form{gap:10px;display:grid}.login-form label{margin-top:8px;font-size:14px;font-weight:700}.login-form input{border:1px solid var(--control);width:100%;min-height:52px;color:var(--ink);background:#fff;border-radius:14px;padding:12px 15px;transition:border-color .12s,box-shadow .12s}.login-form input:hover{border-color:#58637c}.login-form input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 4px #3658d41f}.primary-button{color:#fff;background:var(--brand);cursor:pointer;border:0;border-radius:16px;justify-content:center;align-items:center;min-height:52px;margin-top:14px;padding:0 22px;font-weight:750;text-decoration:none;display:inline-flex}.primary-button:hover{background:var(--brand-deep)}.primary-button:active{transform:translateY(1px)}.security-note{color:var(--muted);gap:10px;margin:24px 0 0;font-size:13px;line-height:1.5;display:flex}.security-note span{color:var(--brand);padding-top:4px;font-size:11px}.admin-layout{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;height:100vh;padding:28px 20px 22px;display:flex;position:sticky;top:0}.sidebar-brand{margin:0 12px 42px}.main-nav{gap:6px;display:grid}.nav-link{min-height:50px;color:var(--muted);border-radius:14px;align-items:center;gap:13px;padding:0 14px;font-size:14px;font-weight:650;text-decoration:none;display:flex}.nav-link:hover{background:var(--background);color:var(--ink)}.nav-link.is-active{background:var(--brand-soft);color:var(--brand)}.nav-icon{width:22px;height:22px}.sidebar-account{border-top:1px solid var(--line);margin-top:auto;padding:18px 10px 0}.account-line{align-items:center;gap:11px;min-width:0;display:flex}.account-line>div{min-width:0}.account-line strong,.account-line span{display:block}.account-line strong{font-size:13px}.account-line div>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;overflow:hidden}.avatar{background:var(--mint);width:38px;height:38px;color:var(--mint-ink);border-radius:12px;flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.logout-button{min-height:44px;color:var(--muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin:12px 0 0 49px;padding:0;font-size:13px;text-decoration:underline}.admin-main{min-width:0}.mobile-header,.mobile-nav{display:none}.dashboard{width:min(100%,1180px);margin:0 auto;padding:54px clamp(28px,5vw,72px) 80px}.page-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:34px;display:flex}.page-heading h1{letter-spacing:-.045em;margin:0 0 8px;font-size:clamp(30px,4vw,42px);line-height:1.12}.page-heading>div>p:last-child{color:var(--muted);margin:0;line-height:1.5}.phase-chip,.honesty-chip{background:var(--brand-soft);color:var(--brand);border-radius:10px;flex:none;padding:9px 13px;font-size:13px;font-weight:750}.dashboard-notice{margin-bottom:24px}.foundation-band{color:#fff;background:var(--brand);border-radius:22px;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:34px;padding:30px;display:grid;position:relative;overflow:hidden}.foundation-band:after{content:"";border:44px solid #ffffff14;border-radius:50%;width:180px;height:180px;position:absolute;top:-60px;right:-54px}.foundation-copy{z-index:1;gap:18px;display:flex;position:relative}.foundation-symbol{background:#ffffff24;border-radius:15px;flex:none;place-items:center;width:48px;height:48px;display:grid}.foundation-symbol svg{width:25px;height:25px}.foundation-copy h2{letter-spacing:-.025em;margin:6px 0 8px;font-size:23px}.foundation-copy p:last-child{color:#ffffffc2;max-width:570px;margin:0;font-size:14px;line-height:1.55}.status-kicker{color:#ffffffe6;align-items:center;gap:7px;margin:0;font-size:13px;font-weight:700;display:flex}.status-kicker span{background:#92e0b5;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #92e0b524}.system-facts{z-index:1;grid-template-columns:repeat(3,1fr);margin:0;padding:4px 0;display:grid;position:relative}.system-facts div{border-left:1px solid #fff3;padding:9px 18px}.system-facts dt{color:#ffffffa6;font-size:12px}.system-facts dd{margin:7px 0 0;font-size:14px;font-weight:750;line-height:1.35}.curriculum-section{margin-top:36px}.section-heading-row{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:17px;display:flex}.section-heading-row h2{letter-spacing:-.025em;margin:0;font-size:22px}.text-link,.back-link{color:var(--brand);text-underline-offset:4px;font-size:14px;font-weight:700}.grade-ledger{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:20px;overflow:hidden}.grade-row{border-bottom:1px solid var(--line);grid-template-columns:48px minmax(160px,1fr) 110px 180px;align-items:center;gap:16px;min-height:72px;padding:10px 22px;display:grid}.grade-row:last-child{border-bottom:0}.grade-row:first-child{box-shadow:inset 4px 0 0 var(--apricot-ink)}.grade-number,.table-grade{background:var(--brand-soft);width:36px;height:36px;color:var(--brand);font-variant-numeric:tabular-nums;border-radius:10px;place-items:center;font-weight:800;display:grid}.grade-name strong,.grade-name span{display:block}.grade-name strong{font-size:15px}.grade-name span{color:var(--muted);margin-top:4px;font-size:13px}.track-badge{background:var(--mint);width:fit-content;color:var(--mint-ink);border-radius:8px;padding:7px 10px;font-size:12px;font-weight:750}.track-badge.preparation{background:var(--apricot);color:var(--apricot-ink)}.status-badge{color:var(--muted);white-space:nowrap;align-items:center;gap:8px;font-size:13px;font-weight:650;display:inline-flex}.status-badge span{border:2px solid var(--control);border-radius:50%;width:8px;height:8px}.scope-note{background:var(--apricot);color:var(--apricot-ink);border-radius:14px;align-items:center;gap:12px;margin-top:14px;padding:14px 18px;display:flex}.scope-note svg{flex:none;width:22px;height:22px}.scope-note p{margin:0;font-size:13px;line-height:1.5}.back-link{margin-bottom:24px;display:inline-block}.curriculum-detail{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:22px;overflow:hidden}.detail-intro{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;padding:28px 30px;display:flex}.detail-intro h2{letter-spacing:-.025em;margin:0 0 8px;font-size:21px}.detail-intro p{max-width:720px;color:var(--muted);margin:0;font-size:14px;line-height:1.6}.honesty-chip{background:var(--apricot);color:var(--apricot-ink)}.detail-table-wrap{overflow-x:auto}.detail-table{border-collapse:collapse;text-align:left;width:100%}.detail-table th{border-bottom:1px solid var(--line);color:var(--muted);background:#fafbfe;padding:14px 30px;font-size:12px;font-weight:700}.detail-table td{border-bottom:1px solid var(--line);min-width:170px;padding:15px 30px;font-size:14px}.detail-table tr:last-child td{border-bottom:0}.detail-table td:first-child{align-items:center;gap:12px;display:flex}.detail-table small{color:var(--apricot-ink);margin-top:4px;font-size:12px;display:block}.table-grade{width:34px;height:34px;display:inline-grid}.service-page{place-items:center;min-height:100vh;padding:24px;display:grid}.service-card{border:1px solid var(--line);width:min(100%,520px);box-shadow:var(--shadow);background:#fff;border-radius:22px;padding:38px}.service-mark{background:var(--rose);width:48px;height:48px;color:var(--rose-ink);border-radius:15px;place-items:center;margin-bottom:22px;font-size:22px;font-weight:800;display:grid}.service-card h1{letter-spacing:-.035em;margin:0 0 12px;font-size:28px}.service-card>p:last-of-type{color:var(--muted);margin:0;line-height:1.6}.inline-button{width:fit-content;margin-top:24px}@media (max-width:950px){.login-page{grid-template-columns:minmax(340px,.8fr) minmax(400px,1.2fr)}.story-copy h1{font-size:52px}.admin-layout{grid-template-columns:220px minmax(0,1fr)}.foundation-band{grid-template-columns:1fr}.system-facts div:first-child{border-left:0}.grade-row{grid-template-columns:44px minmax(130px,1fr) 90px 150px;padding-inline:16px}}@media (max-width:720px){.login-page{background:#fff;display:block}.login-story{display:none}.login-panel{min-height:100vh;padding:32px 22px}.mobile-brand{letter-spacing:-.04em;align-items:center;gap:10px;margin-bottom:70px;font-size:22px;font-weight:750;display:flex}.login-form-wrap h2{font-size:30px}.admin-layout{display:block}.sidebar{display:none}.mobile-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;min-height:70px;padding:12px 20px;display:flex}.mobile-header .brand{font-size:19px}.mobile-header .brand-mark{border-radius:11px 11px 11px 4px;width:34px;height:34px;font-size:20px}.mobile-owner{color:var(--muted);font-size:12px;font-weight:700}.dashboard{padding:32px 20px 104px}.page-heading{margin-bottom:25px}.page-heading h1{font-size:31px}.phase-chip{margin-top:21px}.foundation-band{padding:24px 20px}.foundation-copy{align-items:flex-start}.foundation-symbol{width:42px;height:42px}.system-facts{grid-template-columns:1fr;gap:0}.system-facts div,.system-facts div:first-child{border-top:1px solid #ffffff2e;border-left:0;padding:13px 0}.system-facts div:first-child{margin-top:8px}.system-facts dd{margin-top:3px}.section-heading-row{align-items:flex-start}.text-link{white-space:nowrap;padding-top:24px}.grade-row{grid-template-columns:42px minmax(0,1fr);gap:8px 12px;padding:15px 16px}.track-badge{grid-column:2}.status-badge{grid-column:2;margin-top:3px}.scope-note{align-items:flex-start}.detail-intro{padding:22px 20px;display:block}.honesty-chip{margin-top:18px;display:inline-block}.detail-table th,.detail-table td{padding-inline:20px}.mobile-nav{z-index:10;padding:7px 10px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffffff5;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav form{margin:0}.mobile-nav-link{width:100%;min-height:54px;color:var(--muted);background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:650;text-decoration:none;display:flex}.mobile-nav-link .nav-icon{width:21px;height:21px}.mobile-nav-link.is-active{color:var(--brand);background:var(--brand-soft)}}@media (max-width:430px){.page-heading{gap:12px}.phase-chip{padding-inline:10px}.section-heading-row{display:block}.text-link{padding-top:10px;display:inline-block}.foundation-copy{display:block}.foundation-symbol{margin-bottom:16px}.service-card{padding:28px 22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}button,input,select,textarea{font:inherit}button:disabled{cursor:not-allowed;opacity:.52;transform:none}.catalog-dashboard{max-width:1320px}.catalog-heading{align-items:center}.catalog-heading h1{overflow-wrap:anywhere}.catalog-heading .primary-button{flex-shrink:0;margin:0}.catalog-heading-actions{align-items:center;gap:10px;display:flex}.catalog-guidance{border-left:4px solid var(--brand);background:var(--brand-soft);border-radius:0 16px 16px 0;align-items:center;gap:18px;margin:0 0 28px;padding:22px 24px;display:flex}.catalog-guidance p{color:#435376;max-width:75ch;margin:0;font-size:14px;line-height:1.65}.catalog-guidance strong{color:var(--ink)}.catalog-book{color:var(--brand);font-size:36px}.catalog-filters{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.grade-filters{flex-wrap:wrap;gap:7px;display:flex}.grade-filters button{border:1px solid var(--line);min-height:48px;color:var(--muted);cursor:pointer;background:#fff;border-radius:12px;padding:0 12px;font-size:13px;font-weight:650}.grade-filters button[aria-pressed=true]{background:var(--brand);color:#fff;border-color:var(--brand)}.status-filter{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.status-filter select{border:1px solid var(--control);max-width:100%;min-height:48px;color:var(--ink);background:#fff;border-radius:12px;padding:0 32px 0 12px}.catalog-count{color:var(--muted);margin:0 0 12px;font-size:13px}.catalog-empty{border:1px dashed var(--control);text-align:center;background:#fff;border-radius:20px;padding:52px 24px}.catalog-empty h2{letter-spacing:-.025em;margin:16px 0 10px;font-size:23px}.catalog-empty h3{margin:0 0 10px}.catalog-empty p{max-width:55ch;color:var(--muted);margin:0 auto 20px;font-size:14px;line-height:1.65}.catalog-empty.compact{padding:30px 20px}.catalog-empty.compact p{margin-bottom:0}.empty-book{background:var(--brand-soft);width:60px;height:60px;color:var(--brand);border-radius:16px 16px 16px 4px;place-items:center;font-size:32px;display:inline-grid}.program-ledger{border:1px solid var(--line);background:#fff;border-radius:20px;overflow:hidden}.program-row{border-bottom:1px solid var(--line);grid-template-columns:58px minmax(0,1fr) 150px auto 12px;align-items:center;gap:20px;padding:24px;text-decoration:none;display:grid}.program-row:last-child{border-bottom:0}.program-row:hover{background:#fafbff}.program-grade{height:64px;color:var(--brand);background:var(--brand-soft);border-radius:13px;place-items:center;gap:1px;padding:8px;display:grid}.program-grade strong{font-variant-numeric:tabular-nums;font-size:25px;line-height:1}.program-grade small{font-size:12px}.program-grade.preparation{background:var(--apricot);color:var(--apricot-ink)}.program-identity h2{overflow-wrap:anywhere;margin:0 0 5px;font-size:17px;line-height:1.4}.program-identity p{color:var(--muted);margin:0 0 4px;font-size:13px}.program-identity>span{color:var(--muted);font-size:12px}.program-counts{gap:5px;font-size:13px;display:grid}.program-counts strong{font-weight:650}.program-counts span{color:var(--muted)}.program-badge{white-space:nowrap;background:var(--background);width:fit-content;color:var(--muted);border-radius:8px;align-items:center;padding:7px 10px;font-size:12px;font-weight:750;display:inline-flex}.program-badge.draft{background:var(--apricot);color:var(--apricot-ink)}.program-badge.published{background:var(--mint);color:var(--mint-ink)}.row-arrow{color:var(--muted);font-size:25px}.secondary-button{border:1px solid var(--control);min-height:48px;color:var(--ink);cursor:pointer;background:#fff;border-radius:13px;justify-content:center;align-items:center;padding:10px 16px;font-size:14px;font-weight:650;text-decoration:none;display:inline-flex}.secondary-button:hover:not(:disabled){border-color:var(--brand);color:var(--brand);background:#fafbff}.quiet-button{min-height:48px;color:var(--brand);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:650}.quiet-button:hover:not(:disabled){background:var(--brand-soft)}.danger-text{color:var(--rose-ink)}.catalog-error{flex-wrap:wrap;justify-content:space-between}.catalog-error p{margin:6px 0 0}.catalog-error .secondary-button{flex-shrink:0}.conflict-reload{margin:-8px 0 22px}.audit-section{margin-top:40px}.audit-section h2{font-size:20px}.audit-empty{color:var(--muted);border-top:1px solid var(--line);padding:22px 0;font-size:14px}.audit-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.audit-list li{border-bottom:1px solid var(--line);grid-template-columns:10px minmax(0,1fr) auto;gap:16px;padding:18px 0;display:grid}.audit-dot{background:var(--brand);border-radius:50%;width:8px;height:8px;margin-top:6px}.audit-list strong{margin-bottom:5px;font-size:14px;display:block}.audit-list div>span,.audit-list time{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.audit-list a{width:fit-content;color:var(--brand);text-underline-offset:3px;margin-top:8px;font-size:12px;display:block}.field-hint{color:var(--muted);font-size:12px;line-height:1.5}.program-fieldset{border:0;min-width:0;margin:0;padding:0}.editor-section{border:1px solid var(--line);background:#fff;border-radius:20px;margin-bottom:24px;padding:28px}.editor-section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.editor-section-heading h2,.version-actions h2{letter-spacing:-.025em;margin:0 0 7px;font-size:21px}.editor-section-heading p,.version-actions>div>p{color:var(--muted);margin:0;font-size:14px;line-height:1.55}.revision-label{color:var(--muted);white-space:nowrap;font-size:12px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.catalog-field{flex-direction:column;gap:8px;min-width:0;display:flex}.catalog-field>span{color:var(--ink);font-size:13px;font-weight:700}.catalog-field.wide{grid-column:1/-1}.catalog-field input,.catalog-field select,.catalog-field textarea{border:1px solid var(--control);width:100%;min-height:50px;color:var(--ink);background:#fff;border-radius:12px;padding:12px 14px;font-size:14px}.catalog-field textarea{resize:vertical;line-height:1.5}.catalog-field input:disabled,.catalog-field select:disabled,.catalog-field textarea:disabled{color:#4d566a;opacity:1;-webkit-text-fill-color:#4d566a;background:#f6f7fb}.catalog-field input::placeholder,.catalog-field textarea::placeholder{color:#758095}.catalog-field small{color:var(--muted);font-size:12px;line-height:1.55}.catalog-field input:focus,.catalog-field select:focus,.catalog-field textarea:focus{outline:2px solid var(--brand);outline-offset:2px;border-color:var(--brand)}.inline-note{background:var(--apricot);color:var(--apricot-ink);border-radius:10px;margin:20px 0 0;padding:13px 16px;font-size:13px;line-height:1.5}.source-link{min-height:48px;color:var(--brand);text-underline-offset:3px;align-items:center;margin-top:8px;font-size:13px;display:inline-flex}.verification-check{cursor:pointer;background:#f6f8ff;border-radius:12px;align-items:flex-start;gap:12px;margin-top:16px;padding:18px;display:flex}.verification-check input{width:21px;height:21px;accent-color:var(--brand);flex-shrink:0;margin:0}.verification-check strong{font-size:14px;line-height:1.5;display:block}.verification-check small{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.6;display:block}.verification-check .secondary-button{flex-shrink:0;margin-left:auto}.review-dashboard{max-width:1480px}.review-heading{align-items:center}.review-heading .secondary-button{flex-shrink:0}.review-tabs{gap:8px;margin-bottom:14px;display:flex;overflow-x:auto}.review-tabs button{border:1px solid var(--line);min-height:42px;color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;background:#fff;border-radius:11px;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:700;display:inline-flex}.review-tabs button:hover,.review-tabs button.is-active{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-deep)}.review-tabs button span{text-align:center;background:#fff;border-radius:999px;min-width:24px;padding:2px 6px;font-size:11px}.review-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.review-stat{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;padding:15px 16px}.review-stat span{color:var(--muted);font-size:12px;line-height:1.35;display:block}.review-stat strong{font-variant-numeric:tabular-nums;margin-top:7px;font-size:23px;display:block}.review-stat.pending{background:var(--apricot);border-color:#efcd91}.review-stat.approved{background:var(--mint);border-color:#b9dec8}.review-stat.needs_changes,.review-stat.issues{background:var(--rose);border-color:#efc3ce}.review-filters{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:120px minmax(190px,1.2fr) minmax(180px,1fr) minmax(170px,.8fr) auto;align-items:end;gap:12px;margin-bottom:22px;padding:18px;display:grid}.review-filters>label:not(.issues-filter),.review-note{color:var(--ink);gap:7px;font-size:12px;font-weight:700;display:grid}.review-filters select,.review-note textarea{border:1px solid var(--control);width:100%;min-height:46px;color:var(--ink);background:#fff;border-radius:11px;padding:10px 12px}.review-worksheet{border:1px solid var(--border);background:linear-gradient(135deg,#f7f9ff 0%,#fffdf8 100%);border-radius:22px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin:0 0 18px;padding:20px;display:grid}.review-worksheet h2{margin:2px 0 5px;font-size:20px}.review-worksheet p{color:var(--muted);margin:0}.review-worksheet-actions{gap:10px;display:flex}.file-button{cursor:pointer;position:relative;overflow:hidden}.file-button input{opacity:0;pointer-events:none;block-size:1px;inline-size:1px;position:absolute}.file-button.is-disabled{opacity:.55;cursor:not-allowed}.worksheet-preview{background:#fff;border:1px solid #c9d8ff;border-radius:16px;grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:16px;display:grid}.worksheet-preview>strong,.worksheet-preview>span{overflow-wrap:anywhere;min-width:0}.worksheet-preview>span{color:var(--muted);text-align:right}.worksheet-preview>p,.worksheet-preview>ul{grid-column:1/-1;margin:0}.worksheet-preview>button{justify-self:start}.worksheet-preview.has-errors{background:#fff8f7;border-color:#efb2aa}.worksheet-preview ul{color:#96392e;padding-left:20px}.review-batch{background:#f8faff;border:1px solid #c9d8ff;border-radius:22px;margin:0 0 18px;padding:20px}.review-batch-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.review-batch h2{margin:2px 0 5px;font-size:20px}.review-batch p{color:var(--muted);margin:0}.review-batch>label{color:var(--muted);gap:7px;margin-top:16px;font-size:13px;font-weight:700;display:grid}.review-batch>label input{border:1px solid var(--line-strong);min-height:46px;color:var(--ink);font:inherit;background:#fff;border-radius:12px;padding:0 13px}.review-batch>label small{justify-self:end;font-weight:500}.review-batch .review-actions{margin-top:14px}.review-batch>.review-warning{color:#8b5a12;margin-top:12px}.issues-filter{min-height:46px;color:var(--muted);align-items:center;gap:9px;font-size:13px;font-weight:650;display:flex}.issues-filter input{width:19px;height:19px;accent-color:var(--brand)}.review-workspace{grid-template-columns:minmax(235px,.72fr) minmax(0,2fr);align-items:start;gap:18px;display:grid}.review-list{border:1px solid var(--line);background:#fff;border-radius:18px;max-height:760px;overflow:auto}.review-list-row{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:auto minmax(0,1fr);display:grid}.review-select{place-items:center;padding:0 4px 0 12px;display:grid}.review-select input{width:18px;height:18px;accent-color:var(--brand)}.review-list-row>button,.review-list>.review-next{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:0;gap:5px;padding:16px;display:grid}.review-list-row>button:hover,.review-list-row>button.is-selected,.review-list>.review-next:hover{background:var(--brand-soft)}.review-list-row>button.is-selected{box-shadow:inset 4px 0 0 var(--brand)}.review-list button>span,.review-list button>small{color:var(--muted);font-size:11px;line-height:1.4}.review-list button>strong{overflow-wrap:anywhere;font-size:14px}.review-status{background:var(--background);width:fit-content;color:var(--muted);border-radius:6px;margin-top:3px;padding:4px 7px;font-size:10px;font-style:normal;font-weight:750}.review-status.pending{background:var(--apricot);color:var(--apricot-ink)}.review-status.approved{background:var(--mint);color:var(--mint-ink)}.review-status.needs_changes{background:var(--rose);color:var(--rose-ink)}.review-next{font-weight:750;color:var(--brand)!important;text-align:center!important}.review-detail{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:clamp(20px,3vw,34px)}.review-context{flex-wrap:wrap;gap:7px;margin-bottom:22px;display:flex}.review-context span{background:var(--brand-soft);color:var(--brand-deep);border-radius:7px;padding:6px 9px;font-size:11px;font-weight:700}.review-code-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.review-code-row>div{border:1px solid var(--line);border-radius:12px;min-width:0;padding:14px}.review-code-row small,.review-code-row strong{display:block}.review-code-row small{color:var(--muted);margin-bottom:6px}.review-code-row strong{overflow-wrap:anywhere}.review-copy,.review-evidence,.review-issues{background:#f8f9fc;border-radius:14px;margin-top:16px;padding:18px}.review-copy.source-copy{border-left:3px solid var(--brand);background:#f1f4ff}.review-detail h2{margin:0 0 9px;font-size:14px}.review-copy p,.review-evidence p,.review-evidence ul,.review-issues ul{color:#434c60;margin:0;font-size:13px;line-height:1.65}.review-evidence ul,.review-issues ul{padding-left:19px}.review-warning{font-weight:650;color:var(--rose-ink)!important}.review-origin{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.review-origin span{background:var(--mint);color:var(--mint-ink);border-radius:7px;padding:6px 9px;font-size:11px;font-weight:750}.review-origin small{color:var(--muted)}.review-meaning{color:var(--ink);gap:7px;margin-top:18px;font-size:12px;font-weight:700;display:grid}.review-meaning input{border:1px solid var(--control);min-height:46px;color:var(--ink);font:inherit;background:#fff;border-radius:11px;padding:10px 12px}.review-meaning input:focus{border-color:var(--brand);outline:3px solid #3660e81f}.review-meaning small{color:var(--muted);font-weight:500}.review-note{margin-top:20px}.review-note textarea{resize:vertical;line-height:1.55}.review-note small{color:var(--muted);justify-self:end;font-weight:500}.review-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.review-actions .primary-button{margin:0}.units-section{margin-top:32px}.units-section>.editor-section-heading>.secondary-button{flex-shrink:0}.unit-editor{border:1px solid var(--line);border-top:3px solid var(--brand);background:#fff;border-radius:15px;margin-bottom:22px;padding:24px}.unit-toolbar{justify-content:space-between;align-items:center;gap:16px;margin:-8px 0 16px;display:flex}.unit-number{color:var(--brand);font-size:15px;font-weight:750}.unit-tools{gap:2px;display:flex}.nested-heading{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:22px;padding-top:12px;display:flex}.nested-heading h3{margin:0;font-size:15px}.nested-heading h3 span{background:var(--brand-soft);color:var(--brand);border-radius:6px;margin-left:6px;padding:3px 7px;font-size:12px;display:inline-block}.vocabulary-heading h3 span{background:var(--mint);color:var(--mint-ink)}.nested-empty{color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.6}.outcome-row{grid-template-columns:minmax(110px,.65fr) minmax(0,2fr) auto;align-items:start;gap:12px;margin-top:14px;display:grid}.vocabulary-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:start;gap:12px;margin-top:14px;display:grid}.remove-item{min-height:48px;color:var(--rose-ink);cursor:pointer;background:0 0;border:0;border-radius:8px;margin-top:25px;padding:0 8px;font-size:12px}.remove-item:hover{background:var(--rose)}.save-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:20px 0;display:flex}.save-bar>span{color:var(--muted);font-size:13px}.save-bar .primary-button{margin:0}.version-actions{border:1px solid var(--line);background:#fff;border-radius:20px;margin-top:32px;padding:28px}.version-action-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;margin-top:24px;padding-top:24px;display:flex}.version-action-row>div{flex:1}.version-action-row h3{margin:0 0 6px;font-size:15px}.version-action-row p{max-width:60ch;color:var(--muted);margin:0;font-size:13px;line-height:1.6}.version-action-row .primary-button{margin:0}.version-action-row>button{flex-shrink:0}.clone-form .catalog-field{max-width:165px}.clone-form>button{align-self:flex-end}.action-confirmation{background:var(--apricot);color:var(--apricot-ink);border-radius:14px;margin-top:24px;padding:22px}.action-confirmation h3{margin:0 0 8px;font-size:17px}.action-confirmation p{margin:0;font-size:14px;line-height:1.6}.button-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;display:flex}.button-row .primary-button{margin:0}@media (max-width:1150px){.review-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.review-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.program-row{grid-template-columns:52px minmax(0,1fr) auto;gap:16px}.program-counts{flex-wrap:wrap;grid-area:2/2;gap:8px;display:flex}.program-row .program-badge{grid-area:1/3}.row-arrow{display:none}.clone-form{flex-wrap:wrap;gap:14px}.clone-form>div{flex-basis:100%}.clone-form .catalog-field{flex:1;max-width:none}}@media (max-width:720px){.catalog-heading-actions,.catalog-heading-actions>a{width:100%}.catalog-heading-actions{grid-template-columns:1fr 1fr;display:grid}.review-heading{align-items:stretch}.review-heading .secondary-button{width:100%}.review-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.review-filters,.review-workspace,.review-worksheet{grid-template-columns:1fr}.review-worksheet-actions{flex-wrap:wrap}.review-batch-heading{flex-direction:column;align-items:stretch}.worksheet-preview{grid-template-columns:1fr}.worksheet-preview>span{text-align:left}.review-list{scroll-snap-type:x proximity;max-height:none;display:flex;overflow-x:auto}.review-list-row{border-right:1px solid var(--line);scroll-snap-align:start;border-bottom:0;flex:0 0 210px;grid-template-columns:1fr}.review-select{justify-content:start;padding:10px 12px 0}.review-list-row>button.is-selected{box-shadow:inset 0 -4px 0 var(--brand)}.review-code-row{grid-template-columns:1fr}.review-actions>button{width:100%}.verification-check{flex-wrap:wrap}.verification-check .secondary-button{width:100%;margin-left:0}.catalog-heading{flex-wrap:wrap;gap:16px}.catalog-heading h1{font-size:30px}.catalog-heading .primary-button{width:100%}.catalog-guidance{gap:12px;padding:18px}.catalog-book{display:none}.grade-filters{gap:6px}.grade-filters button{padding-inline:11px}.status-filter{justify-content:space-between;width:100%}.status-filter select{flex:1;max-width:210px}.program-row{grid-template-columns:48px minmax(0,1fr);gap:12px;padding:20px 16px}.program-row .program-badge{grid-area:3/2}.program-identity h2{font-size:16px}.program-grade{height:58px}.catalog-empty{padding:34px 20px}.catalog-empty h2{font-size:21px}.audit-list li{grid-template-columns:8px minmax(0,1fr);gap:12px}.audit-list time{grid-column:2}.audit-section .section-heading-row{display:block}.audit-section .field-hint{margin-top:8px;display:block}.editor-section,.version-actions{padding:22px 18px}.editor-section-heading{flex-wrap:wrap;gap:10px}.editor-section-heading h2{font-size:19px}.form-grid{grid-template-columns:1fr;gap:18px}.unit-editor{padding:20px 16px}.unit-toolbar{flex-wrap:wrap;gap:4px}.unit-tools{justify-content:flex-end;width:100%}.outcome-row,.vocabulary-row{border-bottom:1px solid var(--line);grid-template-columns:1fr;gap:10px;padding-bottom:12px}.remove-item{justify-self:end;margin-top:0}.nested-heading{align-items:center;gap:10px}.nested-heading h3{font-size:14px}.save-bar{flex-direction:column;align-items:stretch;gap:14px}.save-bar>span{text-align:center}.version-action-row{flex-wrap:wrap;gap:16px}.version-action-row>div{flex-basis:100%}.version-action-row>button{width:100%}.clone-form .catalog-field{flex-basis:100%}.button-row>button{width:100%}.verification-check{padding:14px}}.accounts-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;margin-top:28px;display:grid}.account-card,.account-editor{overflow-wrap:anywhere;background:#fff;border:1px solid #e0e5f2;border-radius:24px;padding:24px}.account-card-heading{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.account-card h2{margin:0;font-size:19px}.account-card p{color:#64708a;line-height:1.6}.account-card .status-badge{margin-left:auto}.account-editor{margin-top:32px}.account-editor .form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px;margin:24px 0;display:grid}.account-editor label{gap:8px;font-size:14px;font-weight:650;display:grid}.account-editor input{background:#f8f9fd;border:1px solid #aebbd4;border-radius:12px;width:100%;min-height:48px;padding:10px}.recovery-box{border-top:1px solid #e5e9f2;margin-top:28px;padding-top:24px}.recovery-box p{color:#596580;line-height:1.6}.notice-box{background:#edf2ff;border:1px solid #dce4ff;border-radius:20px;padding:20px 24px}.notice-box p{margin-bottom:0;line-height:1.6}.account-editor .primary-button{min-height:48px}@media (max-width:767px){.mobile-nav{grid-template-columns:repeat(4,1fr)}.account-card,.account-editor{padding:20px}.account-editor .form-grid{grid-template-columns:1fr}}.learning-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px;margin:28px 0;display:grid}.learning-card{border:1px solid var(--line);background:var(--surface);overflow-wrap:anywhere;border-radius:22px;min-width:0;margin:24px 0;padding:28px;position:relative}.learning-grid .learning-card{margin:0}.learning-card h2{letter-spacing:-.025em;margin:0 0 14px;font-size:22px}.learning-card p{color:var(--muted);line-height:1.6}.content-link{border-top:4px solid var(--brand);text-decoration:none;transition:box-shadow .15s;display:block}.content-link:hover{box-shadow:var(--shadow)}.card-tags{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.card-tags span{background:var(--brand-soft);color:var(--brand);border-radius:8px;padding:6px 9px;font-size:12px;font-weight:650}.card-tags span+span{background:var(--mint);color:var(--mint-ink)}.content-arrow{color:var(--brand);font-size:24px;position:absolute;bottom:24px;right:24px}.learning-form{min-width:0}.learning-form fieldset{border:0;min-width:0;margin:0;padding:0}.learning-form label{gap:8px;min-width:0;margin:18px 0;font-size:14px;font-weight:650;display:grid}.learning-form input,.learning-form select,.learning-form textarea{border:1px solid var(--control);width:100%;min-width:0;min-height:50px;color:var(--ink);font:inherit;background:#fff;border-radius:12px;padding:12px 14px}.learning-form textarea{resize:vertical;min-height:96px;line-height:1.5}.learning-form :disabled{cursor:default}.learning-form fieldset:disabled input,.learning-form fieldset:disabled textarea,.learning-form fieldset:disabled select{background:var(--background);color:var(--muted)}.learning-form small,.muted{color:var(--muted);font-weight:400;line-height:1.6}.empty-state{border:1px dashed var(--control);text-align:center;color:var(--muted);border-radius:22px;margin-top:28px;padding:44px 24px}.eyebrow{color:var(--brand);font-size:13px;font-weight:700}.form-error{background:var(--rose);color:var(--rose-ink);border-radius:12px;padding:16px;line-height:1.6}button:disabled{opacity:.55;cursor:default}@media (max-width:720px){.mobile-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-nav-link{padding-inline:2px;font-size:10px}.learning-card{padding:22px 18px}.learning-form .section-heading-row{flex-wrap:wrap}}.learning-form label{align-content:start}.asset-editor-field{border:1px dashed var(--control);background:var(--background);border-radius:14px;min-width:0;margin:18px 0;padding:16px}.asset-editor-field>label{margin:0}.asset-editor-field>small{margin-top:8px;display:block}.asset-editor-field>p{margin:12px 0 0}.asset-preview{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-top:14px;display:flex}.asset-preview img{object-fit:contain;border:1px solid var(--line);background:#fff;border-radius:10px;width:min(100%,240px);max-height:180px;display:block}.text-button{background:var(--rose);min-height:44px;color:var(--rose-ink);font:inherit;cursor:pointer;border:0;border-radius:10px;padding:8px 12px;font-size:13px}.learning-card .button-row>button:not([class]){border:1px solid var(--line);min-height:44px;color:var(--brand);font:inherit;cursor:pointer;background:#fff;border-radius:12px;padding:10px 16px}.page-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.page-actions .primary-button{margin:0}.coverage-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 24px;display:grid}.coverage-summary div{border:1px solid var(--line);background:#fff;border-radius:18px;min-width:0;padding:20px 22px;box-shadow:0 10px 32px #26345b0d}.coverage-summary .coverage-summary-ready{background:var(--mint);border-color:#0000}.coverage-summary dt{color:var(--muted);font-size:13px;line-height:1.4}.coverage-summary dd{letter-spacing:-.04em;margin:10px 0 0;font-size:30px;font-weight:780}.coverage-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:22px;overflow:hidden}.coverage-filter-row{justify-content:space-between;align-items:flex-end;gap:24px;padding:24px 26px 18px;display:flex}.coverage-filter-row h2{letter-spacing:-.025em;margin:0;font-size:22px}.coverage-filter-row .section-context{margin-bottom:6px}.coverage-filters{gap:12px;display:flex}.coverage-filters label{color:var(--muted);gap:6px;font-size:12px;font-weight:700;display:grid}.coverage-filters select{border:1px solid var(--control);min-width:150px;min-height:44px;color:var(--ink);font:inherit;background:#fff;border-radius:11px;padding:8px 34px 8px 12px;font-size:14px}.coverage-result-count{color:var(--muted);margin:0;padding:0 26px 16px;font-size:13px}.coverage-table-wrap{overflow-x:auto}.coverage-table{border-collapse:collapse;text-align:left;width:100%;min-width:930px}.coverage-table th{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);background:#fafbfe;padding:13px 18px;font-size:12px}.coverage-table th:first-child,.coverage-table td:first-child{padding-left:26px}.coverage-table th:last-child,.coverage-table td:last-child{padding-right:26px}.coverage-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:18px;font-size:14px}.coverage-table tbody tr:last-child td{border-bottom:0}.coverage-table td:first-child{align-items:flex-start;gap:12px;min-width:270px;display:flex}.coverage-table td:first-child strong,.coverage-table td:first-child small{display:block}.coverage-table td:first-child small{max-width:230px;color:var(--muted);margin-top:5px;line-height:1.4}.coverage-grade{background:var(--brand-soft);width:34px;height:34px;color:var(--brand);border-radius:10px;flex:none;place-items:center;font-weight:800;display:grid}.coverage-kind{min-width:165px}.coverage-kind>strong,.coverage-kind>span{display:block}.coverage-kind progress{background:var(--brand-soft);width:100%;height:7px;accent-color:var(--brand);border:0;border-radius:999px;margin:9px 0;display:block;overflow:hidden}.coverage-kind progress::-webkit-progress-bar{background:var(--brand-soft);border-radius:999px}.coverage-kind progress::-webkit-progress-value{background:var(--brand);border-radius:999px}.coverage-kind progress::-moz-progress-bar{background:var(--brand);border-radius:999px}.coverage-kind>span{color:var(--muted);margin-top:5px;font-size:12px}.coverage-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.coverage-actions a,.coverage-actions button{border:1px solid var(--line);min-height:36px;color:var(--brand);font:inherit;cursor:pointer;background:#fff;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:700;text-decoration:none}.coverage-actions button:disabled{cursor:default}.coverage-state{min-height:30px;color:var(--muted);background:var(--background);white-space:nowrap;border-radius:9px;align-items:center;padding:6px 9px;font-size:12px;font-weight:750;display:inline-flex}.coverage-state.ready{color:var(--mint-ink);background:var(--mint)}.coverage-state.draft,.coverage-state.partial{color:var(--apricot-ink);background:var(--apricot)}.coverage-state.withdrawn{color:var(--rose-ink);background:var(--rose)}@media (max-width:900px){.coverage-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.coverage-filter-row{flex-direction:column;align-items:flex-start}}@media (max-width:560px){.page-actions,.coverage-filters{width:100%}.page-actions>*,.coverage-filters label{flex:1 1 0}.coverage-filters select{width:100%;min-width:0}.coverage-summary{grid-template-columns:1fr}}
