:root{--ink:#1f2933;--muted:#667680;--line:#dce3e6;--canvas:#f7f9fa;--surface:#fff;--brand:#0e5968;--brand-dark:#083c47;--danger:#b63838;--warning:#9a6100;--success:#16734a;--radius:8px;--shadow:0 1px 2px #0f172a0f}*{box-sizing:border-box}body{background:var(--canvas);color:var(--ink);margin:0;font:14px/1.45 Inter,ui-sans-serif,system-ui,sans-serif}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--brand-dark);color:#fff;flex-direction:column;gap:28px;padding:20px 14px;display:flex}.brand{align-items:center;gap:9px;padding:4px 8px;font-size:17px;font-weight:700;display:flex}.sidebar nav{gap:4px;display:grid}.sidebar button{color:#d8e7e9;text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;display:flex}.sidebar button:hover,.sidebar .nav-current{color:#fff;background:#176979}.sidebar-footer{color:#d8e7e9;border-top:1px solid #34727e;margin-top:auto;padding:12px 8px}.sidebar-footer small{color:#a8c8ce;display:block}.main-area{min-width:0;max-width:1500px;padding:30px 36px 48px}.context-header{justify-content:space-between;align-items:start;gap:18px;margin-bottom:22px;display:flex}.context-header h1{letter-spacing:-.03em;margin:2px 0;font-size:25px}.eyebrow{color:var(--brand);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.muted{color:var(--muted)}.context-header .muted{margin:4px 0 0}.context-bar{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);align-items:end;gap:14px;margin-bottom:18px;padding:12px 14px;display:flex}label{color:var(--muted);gap:4px;font-size:12px;font-weight:600;display:grid}select,input,button{font:inherit}select,input{min-height:34px;color:var(--ink);background:#fff;border:1px solid #cbd5d9;border-radius:6px;padding:7px 9px}.search{background:#fff;border:1px solid #cbd5d9;border-radius:6px;flex:1;align-items:center;gap:6px;max-width:380px;padding:0 8px;display:flex}.search input{border:0;outline:0;width:100%;padding-left:0}button{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #c7d2d7;border-radius:6px;padding:8px 11px}button:hover{background:#f5f8f8;border-color:#74939a}button:focus-visible,select:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #9ed4de}button:disabled{cursor:not-allowed;opacity:.55}.primary{border-color:var(--brand);background:var(--brand);color:#fff;justify-content:center;align-items:center;gap:7px;font-weight:700;display:inline-flex}.primary:hover{border-color:var(--brand-dark);background:var(--brand-dark)}.workspace-grid{grid-template-columns:260px minmax(300px,1fr) minmax(320px,1.1fr);gap:16px;display:grid}.workspace-grid article,article{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.structure-panel,.list-panel,.detail-panel{min-height:580px;padding:14px}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:10px;padding-bottom:12px;display:flex}.panel-heading h2{margin:0;font-size:15px}.panel-heading span{color:var(--muted);font-size:12px}.tree-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:18px 0 7px;font-size:11px;font-weight:700}.tree-item,.topic-row{text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:9px 8px;display:flex}.tree-item:hover,.topic-row:hover{background:#f2f7f7}.tree-item.selected,.topic-row.selected{color:#064d5b;background:#e6f2f3}.tree-item span,.topic-row span{gap:2px;display:grid}.tree-item small,.topic-row small{color:var(--muted);font-size:11px}.lifecycle{margin-top:18px;padding-top:3px}.topic-list{gap:3px;margin-top:10px;display:grid}.empty-state{text-align:center;min-height:310px;color:var(--muted);place-items:center;gap:8px;padding:28px;display:grid}.empty-state h3{color:var(--ink);margin:0;font-size:15px}.empty-state p{max-width:260px;margin:0}.detail-title{padding:16px 0 8px}.detail-title h3{margin:4px 0}.detail-section{border-top:1px solid var(--line);padding:13px 0}.detail-section h4{justify-content:space-between;margin:0 0 7px;font-size:13px;display:flex}.detail-section h4 span{color:var(--muted);font-weight:500}.detail-section p,.expanded-row p{color:#394950;gap:2px;margin:7px 0;font-size:12px;display:grid}.detail-section b,.expanded-row b{color:var(--ink)}.status{white-space:nowrap;color:#42535a;letter-spacing:.02em;background:#e8eef0;border-radius:99px;align-items:center;padding:3px 7px;font-size:11px;font-weight:700;display:inline-flex}.status.ready,.status.draft,.status.add,.status.unchanged{color:var(--success);background:#e7f5ed}.status.conflict,.status.missing-source{color:var(--danger);background:#fff0ef}.status.needs-decision,.status.attention-required,.status.warning,.status.update{color:var(--warning);background:#fff4dd}.status.no-draft,.status.review{color:#216274;background:#e7f0f3}.import-header{margin-bottom:18px}.back-link{color:var(--brand);background:0 0;border:0;align-items:center;gap:5px;padding:0;font-weight:700;display:inline-flex}.import-start,.success-card{justify-items:start;gap:12px;max-width:670px;padding:28px;display:grid}.import-start h2,.success-card h2{margin:0}.upload-icon{width:48px;height:48px;color:var(--brand);background:#e6f2f3;border-radius:8px;place-items:center;display:grid}.file-control{width:100%;color:var(--ink);border:1px dashed #9aafb5;border-radius:7px;align-items:center;gap:10px;padding:12px;display:flex}.file-control input{border:0;padding:0}.action-row{align-items:center;gap:8px;display:flex}.error-text{color:var(--danger)}.import-review{gap:14px;display:grid}.review-summary{justify-content:space-between;align-items:center;gap:12px;padding:18px;display:flex}.review-summary h2{margin:3px 0;font-size:20px}.review-summary p{margin:0}.review-tabs{align-items:center;gap:4px;padding:0 2px;display:flex;overflow:auto}.review-tabs span{color:var(--muted);text-transform:uppercase;margin-right:8px;font-size:12px;font-weight:700}.review-tabs button{white-space:nowrap;background:0 0;border:0}.review-tabs .active{color:#075564;background:#dfeef0;font-weight:700}article:not(.structure-panel):not(.list-panel):not(.detail-panel){padding:18px}article h2{margin:0 0 10px;font-size:17px}table{border-collapse:collapse;text-align:left;width:100%}th{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px}th,td{border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 8px}td{font-size:13px}.table-scroll{overflow:auto}.icon-button{place-items:center;min-width:32px;min-height:32px;padding:6px;display:inline-grid}.issue{border-bottom:1px solid var(--line);color:var(--warning);align-items:start;gap:10px;padding:11px 0;display:flex}.issue p{color:var(--ink);gap:2px;margin:0;display:grid}.issue span{color:var(--muted);font-size:12px}.source-warning{color:#8b651b}.delta-group{margin-top:18px}.delta-group h3{margin:0;padding:9px 0;font-size:14px}.disclosure{text-align:left;background:0 0;border:0;align-items:center;gap:7px;padding:4px;display:flex}.expanded-row td{background:#f8fbfb}.expanded-row section{padding:5px 0}.expanded-row h4{margin:8px 0 3px;font-size:12px}.confirm-bar{justify-content:space-between;align-items:center;gap:16px;margin-top:16px;display:flex;position:sticky;bottom:14px;border-color:#b7d4d9!important;box-shadow:0 4px 16px #0f172a1f!important}.confirm-bar div{gap:2px;display:grid}.confirm-bar span{color:var(--muted);font-size:12px}.confirm-bar>div:last-child{align-items:center;display:flex}.success-card{max-width:600px}.success-card svg{color:var(--success)}.count-grid{grid-template-columns:repeat(4,1fr);width:100%;margin:6px 0;display:grid}.count-grid span{border-right:1px solid var(--line);color:var(--muted);gap:2px;padding:8px;font-size:12px;display:grid}.count-grid span:last-child{border:0}.count-grid b{color:var(--ink);font-size:18px}.placeholder{max-width:520px;margin:60px auto}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1100px){.workspace-grid{grid-template-columns:230px minmax(280px,1fr)}.detail-panel{grid-column:1/-1;min-height:auto}}@media (width<=760px){.app-shell{display:block}.sidebar{min-height:auto;padding:12px}.sidebar nav{display:flex;overflow:auto}.sidebar nav button{white-space:nowrap;width:auto}.sidebar-footer{display:none}.main-area{padding:20px 14px}.context-header,.context-bar,.confirm-bar{flex-direction:column;align-items:stretch}.workspace-grid{grid-template-columns:1fr}.structure-panel,.list-panel,.detail-panel{min-height:auto}.context-bar{gap:9px}.search{max-width:none}.count-grid{grid-template-columns:repeat(2,1fr)}.review-tabs{padding-bottom:4px}.file-control{flex-direction:column;align-items:start}}.editor-backdrop{z-index:50;background:#10203399;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.editor-modal{background:#fff;border-radius:12px;width:min(960px,100%);max-height:90vh;padding:24px;overflow:auto;box-shadow:0 24px 64px #0005}.editor-modal header,.editor-modal footer{justify-content:space-between;align-items:start;gap:16px;display:flex}.editor-modal label{margin:16px 0;font-weight:600;display:block}.editor-modal input,.rich-editor{box-sizing:border-box;color:#14202b;background:#fff;border:1px solid #9aabba;border-radius:6px;width:100%;margin-top:6px;padding:12px}.rich-editor{min-height:380px;font-weight:400;line-height:1.55}.editor-toolbar{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.editor-toolbar button{font-size:.82rem}.source-copy{background:#f4f7fa;border-left:3px solid #72879b;margin-top:16px;padding:12px;font-size:.9rem}.conflict{background:#fff2df;border:1px solid #e2a84b;padding:12px}.editor-modal footer{justify-content:flex-end;margin-top:20px}.login-shell{grid-template-columns:minmax(0,420px);place-content:center;place-items:center;min-height:100vh;padding:16px;display:grid}.login-shell .main-area{width:100%;max-width:420px;padding:0}.login-shell .import-start{width:100%;max-width:none;padding:28px}.login-shell form{gap:14px;width:100%;display:grid}.login-shell form .primary{width:100%}@media (width<=420px){.login-shell .import-start{padding:24px 20px}}.book-library{padding:0!important}.book-library td small{color:var(--muted);margin-top:3px;display:block}.book-filters{flex-wrap:wrap;align-items:end}.library-actions{white-space:nowrap}.empty-library{text-align:center;color:var(--muted);padding:24px}.create-book{gap:12px;display:grid}.workflow-progress{border:1px solid var(--line);border-radius:var(--radius);background:var(--line);grid-template-columns:repeat(5,minmax(105px,1fr));gap:1px;margin-bottom:16px;display:grid;overflow:auto}.workflow-progress span{background:var(--surface);min-width:125px;color:var(--muted);gap:3px;padding:10px;font-size:12px;display:grid}.workflow-progress b{color:var(--ink)}.book-grid{grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:16px;display:grid}.book-tree,.book-outline{gap:3px;display:grid}.book-tree button,.book-outline button{text-align:left;border:0;gap:3px;width:100%;display:grid}.book-tree button.selected,.book-outline button.selected{color:#064d5b;background:#e6f2f3}.book-tree small{color:var(--muted)}.authoring-grid{grid-template-columns:280px minmax(0,1fr) 300px;gap:16px;display:grid}.authoring-grid>aside,.authoring-grid>.book-author{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;box-shadow:var(--shadow);padding:16px}.book-author{gap:12px;display:grid}.book-block{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding:14px 0;display:flex}.book-block p{max-width:760px}.block-inspector p{color:var(--muted);line-height:1.7}.book-preview{justify-items:center;gap:16px;display:grid}.preview-controls{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.a5-page{background:#fff;border:1px solid #b9c4c8;width:min(100%,420px);min-height:595px;padding:38px;position:relative;box-shadow:0 6px 20px #10203322}.a5-page h1{font-size:24px}.a5-page p{font-size:12px;line-height:1.45}.a5-page footer{text-align:center;color:var(--muted);font-size:11px;position:absolute;bottom:20px;left:38px;right:38px}@media (width<=1100px){.authoring-grid{grid-template-columns:240px minmax(0,1fr)}.block-inspector{grid-column:1/-1}}@media (width<=760px){.book-grid,.authoring-grid{grid-template-columns:1fr}.book-block{flex-direction:column}.preview-controls{align-items:stretch}.preview-controls label{min-width:140px}.editor-backdrop{padding:8px}.editor-modal{max-height:96vh;padding:18px}.rich-editor{min-height:350px}}.book-hierarchy{gap:3px;display:grid}.book-tree-branch{gap:2px;display:grid}.book-tree-children{border-left:1px solid var(--line);gap:2px;margin-left:8px;padding:2px 0 5px 11px;display:grid}.book-tree-disclosure,.book-tree-select,.book-tree-block{text-align:left;background:0 0;border:0;align-items:center;gap:7px;width:100%;display:flex!important}.book-tree-disclosure{padding:7px 6px;font-weight:750}.book-tree-disclosure small{color:var(--muted);margin-left:auto;font-size:11px}.book-tree-book{color:var(--brand-dark);background:#edf7f8;border-radius:6px;font-size:13px}.book-tree-term{color:#41535a}.book-tree-subject{color:var(--brand)}.book-tree-topic{font-weight:700}.book-tree-select{color:var(--muted);padding:5px 7px;font-size:11px}.book-tree-block{padding:6px 7px;font-size:11px}.book-tree-block small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.book-tree-disclosure:hover,.book-tree-select:hover,.book-tree-block:hover{color:#064d5b;background:#e6f2f3}.book-tree-select.selected,.book-tree-block.selected{color:var(--brand-dark);background:#d9ecef;border-radius:5px}.book-tree-disclosure:focus-visible,.book-tree-select:focus-visible,.book-tree-block:focus-visible{outline-offset:1px;outline:3px solid #9ed4de}.add-block-picker{background:#f4fbfb;border:1px solid #b7d4d9;border-radius:7px;gap:10px;padding:12px;display:grid}.add-block-picker div{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.add-block-picker span{min-width:60px;color:var(--muted);font-size:12px;font-weight:700}.lifecycle-strip{color:#075564;letter-spacing:.04em;background:#eef7f8;border:1px solid #c8dfe3;border-radius:6px;justify-content:space-between;gap:14px;margin:0 0 16px;padding:9px 12px;font-size:11px;font-weight:800;display:flex}.lifecycle-strip span{color:var(--muted);letter-spacing:0;font-weight:600}.curriculum-workspace-grid{grid-template-columns:minmax(260px,300px) minmax(0,1fr) minmax(280px,320px);align-items:start;gap:16px;display:grid}.curriculum-tree-panel,.content-workspace-panel,.record-inspector{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:620px;box-shadow:var(--shadow);padding:14px}.curriculum-tree{gap:5px;margin-top:12px;display:grid}.tree-branch{border-bottom:1px solid #edf1f2}.tree-disclosure,.tree-topic,.tree-context{text-align:left;background:0 0;border:0;align-items:center;gap:7px;width:100%;display:flex}.tree-disclosure{padding:10px 6px;font-weight:750}.tree-disclosure svg,.tree-topic svg{transition:transform .15s}.tree-disclosure[aria-expanded=true] svg,.tree-topic[aria-expanded=true] svg{transform:rotate(90deg)}.tree-disclosure small{color:var(--muted);margin-left:auto}.tree-children{gap:2px;padding:2px 0 10px 13px;display:grid}.tree-context{color:var(--muted);padding:6px;font-size:12px}.tree-context small{margin-left:auto}.tree-topic{color:#33464d;padding:8px 6px}.tree-topic span{flex:1}.tree-record-counts{color:var(--muted);flex-wrap:wrap;gap:5px;padding:2px 8px 8px;font-size:11px;display:flex}.tree-record-counts span{background:#eef4f5;border-radius:999px;padding:2px 5px}.tree-disclosure.selected,.tree-topic.selected{color:#064d5b;background:#e6f2f3;border-radius:5px}.content-workspace-panel{min-width:0}.content-workspace-panel .detail-title{padding-top:16px}.content-workspace-panel .detail-section{max-width:900px}.mapping-context{background:#f2f8f8;border-left:3px solid #2a7885;grid-template-columns:135px minmax(0,1fr);gap:5px 12px;margin-top:14px;padding:12px;font-size:12px;display:grid}.mapping-context span{color:#41535a}.record-inspector{min-height:unset;position:sticky;top:18px}.record-inspector dl{gap:4px;margin:16px 0;display:grid}.record-inspector dt{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-top:7px;font-size:11px;font-weight:800}.record-inspector dd{overflow-wrap:anywhere;margin:0;font-size:12px}.record-inspector .provenance{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}@media (width<=1100px){.curriculum-workspace-grid{grid-template-columns:240px minmax(0,1fr)}.record-inspector{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:12px;min-height:0;display:grid;position:static}.record-inspector .panel-heading{grid-column:1/-1}.record-inspector dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 16px}.record-inspector .provenance{margin:0}}@media (width<=760px){.lifecycle-strip{flex-direction:column;align-items:flex-start}.curriculum-workspace-grid{grid-template-columns:1fr}.curriculum-tree-panel,.content-workspace-panel,.record-inspector{min-height:0}.record-inspector{display:block}.record-inspector dl{grid-template-columns:1fr;display:grid}.mapping-context{grid-template-columns:1fr}.content-workspace-panel .rich-editor{min-height:350px}}.curriculum-completion{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:-5px 0 16px;display:grid}.curriculum-completion span{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:6px;gap:3px;padding:9px 11px;font-size:12px;display:grid}.curriculum-completion b{color:var(--ink);text-transform:uppercase;letter-spacing:.04em;font-size:11px}@media (width<=760px){.curriculum-completion{grid-template-columns:1fr}}.book-block.selected{background:#eff8f8;border-radius:7px;margin:0 -7px;padding:14px 7px}.block-inspector dl{gap:4px;margin:0;display:grid}.block-inspector dt{color:var(--muted);text-transform:uppercase;margin-top:8px;font-size:11px;font-weight:800}.block-inspector dd{overflow-wrap:anywhere;margin:0}.inspector-actions{gap:8px;margin-top:18px;display:grid}.export-readiness{color:#8a5a00;background:#fff8e9;border:1px solid #e2b54f;border-radius:7px;margin:0 0 12px;padding:9px 12px;font-weight:700}.export-readiness.ready{color:#16643f;background:#edf8f0;border-color:#94c9a8}.preview-hierarchy{color:var(--muted);font-size:12px;font-weight:700}.curriculum-tree .tree-children{border-left:1px solid var(--line);margin-left:7px;padding-left:11px}.curriculum-tree .tree-disclosure{border-radius:6px;margin:2px 0}.curriculum-tree .tree-year{color:var(--brand-dark);background:#edf7f8;font-size:13px}.curriculum-tree .tree-subject{color:var(--brand);background:#f2f7f7}.curriculum-tree .tree-term{color:#41535a}.curriculum-tree .tree-topic-row{align-items:center;gap:3px;display:flex}.curriculum-tree .tree-topic{color:var(--ink);flex:none;padding:7px 6px;font-weight:700}.tree-topic-select{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:8px;font-weight:700;display:flex}.tree-topic-select small{color:var(--muted);font-size:11px;font-weight:600}.curriculum-tree .tree-disclosure:hover,.curriculum-tree .tree-record:hover,.tree-topic-select:hover{color:#064d5b;background:#e6f2f3}.curriculum-tree .tree-disclosure.selected,.tree-topic-select.selected{color:var(--brand-dark);background:#d9ecef}.curriculum-tree .tree-record-group{gap:2px;margin:4px 0 7px;display:grid}.tree-record-group-title{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;padding:3px 6px;font-size:10px;font-weight:800}.tree-record{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:5px;grid-template-columns:76px minmax(0,1fr);gap:7px;padding:6px;font-size:11px;display:grid}.tree-record span{color:var(--brand);font-weight:700}.tree-record small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.curriculum-tree button:focus-visible{outline-offset:1px;outline:3px solid #9ed4de}.curriculum-tree .tree-children-topic{border-left-color:#b9d9de}.full-rich-text-editor{gap:9px;margin-top:7px;display:grid}.full-rich-text-editor .editor-toolbar{background:linear-gradient(135deg,#edf9fa,#f7f2ff);border:1px solid #b8d9de;border-radius:7px;align-items:end;gap:6px;padding:9px;display:flex}.full-rich-text-editor .editor-toolbar label{color:var(--brand-dark);gap:2px;font-size:10px}.full-rich-text-editor .editor-toolbar select{background:#fff;min-height:30px;padding:4px 6px}.full-rich-text-editor .editor-toolbar input[type=color]{width:34px;min-height:30px;padding:3px}.full-rich-text-editor .editor-toolbar button{min-height:30px;color:var(--brand-dark);background:#fff;border-color:#b6cfd4;padding:5px 7px;font-size:11px;font-weight:700}.full-rich-text-editor .editor-toolbar button:hover{color:#523686;background:#f2ecff;border-color:#7658a8}.full-rich-text-editor .rich-editor{border-color:#8bb8c1;margin:0;box-shadow:inset 0 1px 2px #1020330d}.rich-editor table{border:1px solid var(--line);margin:10px 0}.rich-editor td{border:1px solid var(--line);min-width:80px}.approved-media-placeholder{color:#54377c;background:#f4edff;border:1px dashed #8c63b6;border-radius:6px;margin:6px 0;padding:7px 9px;font-weight:700;display:inline-block}.rich-editor .checklist{padding-left:24px;list-style:"☐  "}@media (width<=760px){.full-rich-text-editor .editor-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;display:grid}.full-rich-text-editor .editor-toolbar label{min-width:0}.full-rich-text-editor .editor-toolbar button{white-space:normal;min-width:0}.full-rich-text-editor .rich-editor{min-height:300px}}.canonical-rich-editor .rich-editor{max-width:900px;min-height:380px}.editor-icon-button{place-items:center;display:inline-grid}.publication-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0 22px;display:grid}.publication-kpi-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-direction:column;justify-content:center;gap:4px;min-height:92px;padding:18px 20px;display:flex}.publication-kpi-card b{color:var(--brand-dark);font-size:28px;line-height:1}.publication-kpi-card span{color:var(--muted);font-size:12px;font-weight:700}.publication-kpi-card.attention{border-left:4px solid #b87522}.publication-overview-panel{padding:0;overflow:hidden}.publication-overview-heading{justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 20px 8px;display:flex}.publication-overview-heading h2{margin:0 0 4px}.publication-controls{margin:10px 20px 18px}.publication-table{border-top:1px solid var(--line)}.publication-table-head,.publication-project-row{grid-template-columns:minmax(300px,2.4fr) minmax(90px,.7fr) minmax(60px,.45fr) minmax(60px,.45fr) minmax(80px,.6fr) minmax(90px,.7fr);align-items:center;display:grid}.publication-table-head{min-height:42px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;background:#f5f8f8;padding:0 16px;font-size:11px;font-weight:800}.publication-project-group{border-top:1px solid var(--line)}.publication-project-group:first-of-type{border-top:0}.publication-project-row{background:#fff;min-height:62px;padding:0 16px}.publication-project-row>span{padding:10px 8px;font-size:12px}.publication-project-toggle{min-width:0;color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:10px 8px 10px 0;display:flex}.publication-project-toggle:hover{color:var(--brand-dark);background:0 0;border:0}.publication-project-toggle>span:last-child{gap:3px;min-width:0;display:grid}.publication-project-toggle b,.publication-project-toggle small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.publication-project-toggle small{color:var(--muted);font-size:11px;font-weight:600}.publication-chevron{border:1px solid var(--line);width:22px;height:22px;color:var(--brand-dark);border-radius:5px;flex:0 0 22px;place-items:center;font-weight:800;display:grid}.attention-count{color:#9a5d14;font-weight:800}.publication-project-detail{background:#f8fafb;max-height:0;padding:0 20px;transition:max-height .2s,padding .2s;overflow:hidden}.publication-project-group.is-open>.publication-project-detail{max-height:8000px;padding:18px 20px 22px}.publication-project-detail-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.publication-project-detail-heading>div{gap:3px;display:grid}.publication-project-detail-heading span{color:var(--muted);font-size:11px}.publication-project-state{border:1px solid var(--line);text-transform:uppercase;border-radius:999px;padding:5px 9px;font-weight:800;font-size:10px!important}.publication-set-row{border:1px solid var(--line);background:#fff;border-radius:7px;margin:8px 0;padding:0;overflow:hidden}.publication-set-summary{text-align:left;width:100%;min-height:58px;color:var(--ink);background:#fff;border:0;border-radius:0;grid-template-columns:minmax(280px,2fr) minmax(145px,1fr) minmax(120px,.8fr) minmax(130px,.9fr);align-items:center;gap:12px;padding:10px 12px;display:grid}.publication-set-summary:hover{background:#f5f9f9;border:0}.publication-set-name{align-items:center;gap:9px;min-width:0;display:flex}.publication-set-name>span:last-child{gap:3px;min-width:0;display:grid}.publication-set-name small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.publication-set-summary>span:not(.publication-set-name){color:#41535a;font-size:11px}.publication-row-state{font-weight:800}.publication-row-state.attention{color:#9a5d14!important}.publication-set-detail{border-top:1px solid #0000;max-height:0;padding:0 16px;transition:max-height .2s,padding .2s;overflow:hidden}.publication-set-row.is-open>.publication-set-detail{border-top-color:var(--line);max-height:5000px;padding:16px}.publication-set-context{grid-template-columns:120px minmax(0,1fr) 120px minmax(0,1fr);gap:7px 12px;margin-bottom:16px;font-size:11px;display:grid}.publication-set-context span{color:var(--muted);font-weight:700}.publication-units{border:1px solid var(--line);border-radius:6px;overflow:hidden}.publication-unit-heading,.publication-unit-row{grid-template-columns:minmax(220px,.8fr) minmax(0,2fr);align-items:center;gap:12px;display:grid}.publication-unit-heading{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;background:#f5f8f8;padding:8px 12px;font-size:10px;font-weight:800}.publication-unit-row{border-top:1px solid var(--line);min-height:58px;padding:10px 12px}.publication-unit-name{gap:3px;display:grid}.publication-unit-name small{color:var(--muted);font-size:10px}.publication-unit-actions{justify-content:flex-end}.publication-release-bar{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-top:14px;padding:12px 0 0;display:flex}.publication-release-bar>div:first-child{gap:3px;display:grid}.publication-release-bar span{color:var(--muted);font-size:10px}.publication-source-note{color:var(--muted);margin:14px 0 0;font-size:11px}.publication-preview{margin:12px 16px 16px}@media (width<=1050px){.publication-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.publication-table{overflow-x:auto}.publication-table-head,.publication-project-row{min-width:850px}.publication-set-summary{grid-template-columns:minmax(260px,2fr) 1fr 1fr}.publication-set-summary>span:last-child{grid-column:2/-1}}@media (width<=680px){.publication-kpi-grid{grid-template-columns:1fr}.publication-controls{grid-template-columns:1fr;display:grid}.publication-set-summary{flex-direction:column;align-items:stretch;display:flex}.publication-unit-heading,.publication-unit-row,.publication-set-context{grid-template-columns:1fr}.publication-release-bar{flex-direction:column;align-items:flex-start}}.client-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0 22px;display:grid}.client-kpi-grid article{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex-direction:column;justify-content:center;gap:4px;min-height:92px;padding:18px 20px;display:flex}.client-kpi-grid article b{color:var(--brand-dark);font-size:28px;line-height:1}.client-kpi-grid article span{color:var(--muted);font-size:12px;font-weight:700}@media (width<=1050px){.client-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.client-kpi-grid{grid-template-columns:1fr}}.assembly-context-nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;margin-bottom:14px;padding-bottom:12px;display:flex}.assembly-back{flex:none;min-height:34px;padding:7px 12px;font-size:11px;font-weight:800}.assembly-breadcrumb{min-width:0;color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;font-size:11px;display:flex}.assembly-breadcrumb b{color:var(--ink)}.assembly-project-strip{border:1px solid var(--line);background:#f7f9f9;border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px;padding:12px 14px;display:grid}.assembly-project-strip>div{gap:3px;min-width:0;display:grid}.assembly-project-strip span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.assembly-project-strip b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.project-workspace-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.compact-workspace-action{white-space:nowrap;min-height:32px;padding:6px 10px;font-size:11px}.primary-workspace-action{font-weight:800}@media (width<=760px){.assembly-context-nav{flex-direction:column;align-items:flex-start}.assembly-breadcrumb{justify-content:flex-start}.assembly-project-strip{grid-template-columns:1fr}}.project-workspace-actions{align-items:center;gap:7px;display:flex}.project-icon-action{border:1px solid var(--line);width:34px;min-width:34px;height:34px;color:var(--brand-dark);background:#fff;border-radius:6px;place-items:center;padding:0;display:inline-grid;position:relative}.project-icon-action:hover,.project-icon-action:focus-visible{border-color:var(--brand-dark);background:#f2f7f7}.project-icon-action-primary{background:var(--brand-dark);color:#fff;border-color:var(--brand-dark)}.project-icon-action-primary:hover,.project-icon-action-primary:focus-visible{background:var(--brand-dark);color:#fff}.project-icon-action:after{content:attr(data-tooltip);z-index:30;color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#18343c;border-radius:5px;width:max-content;max-width:190px;padding:6px 8px;font-size:10px;font-weight:700;line-height:1.2;transition:opacity .12s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.project-icon-action:before{content:"";z-index:30;opacity:0;pointer-events:none;border:5px solid #0000;border-top-color:#18343c;transition:opacity .12s;position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%)}.project-icon-action:hover:after,.project-icon-action:hover:before,.project-icon-action:focus-visible:after,.project-icon-action:focus-visible:before{opacity:1}.curriculum-version-actions{vertical-align:middle;align-items:center;gap:8px;margin-left:12px;display:inline-flex}.version-action-rail{align-items:center;gap:5px;display:inline-flex}.version-icon-action{border:1px solid var(--line);width:31px;min-width:31px;height:31px;color:var(--brand-dark);background:#fff;border-radius:6px;place-items:center;padding:0;display:inline-grid;position:relative}.version-icon-action:hover,.version-icon-action:focus-visible{border-color:var(--brand-dark);background:#f2f7f7}.version-icon-action:disabled{opacity:.35;cursor:not-allowed}.version-icon-danger{color:#82533b}.version-action-divider{background:var(--line);width:1px;height:22px;margin:0 3px}.publication-version-action{position:relative}.publication-version-action small{background:var(--brand-dark);color:#fff;border-radius:50%;place-items:center;width:14px;height:14px;font-size:8px;font-weight:800;display:grid;position:absolute;bottom:-3px;right:-3px}.version-icon-action:after{content:attr(data-tooltip);z-index:50;color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#18343c;border-radius:5px;width:max-content;padding:6px 8px;font-size:10px;font-weight:700;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.version-icon-action:hover:after,.version-icon-action:focus-visible:after{opacity:1}.curriculum-override-editor{align-items:center;gap:5px;display:flex}.curriculum-override-editor input{width:180px;min-height:31px;padding:5px 8px;font-size:11px}.collection-detail>ul{margin-top:14px}.collection-detail>ul>li{padding:7px 0;line-height:1.55}.collection-detail>ul>li+li{margin-top:3px}.curriculum-version-actions{margin-top:3px;margin-bottom:3px}.version-action-rail{vertical-align:middle}.client-project-heading{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.client-project-context{flex-wrap:wrap;align-items:center;gap:8px 18px;margin-bottom:8px;font-size:11px;display:flex}.curriculum-version-workspace{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.curriculum-table-heading h3{margin:0 0 3px}.version-filter-bar{border:1px solid var(--line);background:#f8fafb;border-radius:7px;grid-template-columns:minmax(220px,2fr) minmax(120px,.8fr) minmax(125px,.8fr) minmax(145px,1fr) auto auto;align-items:end;gap:10px;margin:16px 0 12px;padding:12px;display:grid}.version-filter-bar label{gap:4px;font-size:10px;font-weight:700;display:grid}.curriculum-table-meta{justify-content:space-between;align-items:center;gap:20px;min-height:38px;padding:0 4px;font-size:11px;display:flex}.curriculum-version-table-wrap{border:1px solid var(--line);border-radius:7px;overflow:auto}.curriculum-version-table{border-collapse:collapse;background:#fff;width:100%;min-width:1050px}.curriculum-version-table th{border-bottom:1px solid var(--line);color:var(--muted);letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#f3f6f6;padding:9px 10px;font-size:10px;font-weight:800}.curriculum-version-table td{vertical-align:middle;border-bottom:1px solid #edf1f2;padding:10px;font-size:11px}.curriculum-version-table tbody tr:last-child td{border-bottom:0}.curriculum-version-table tbody tr:hover{background:#fafcfc}.selection-column{width:42px;text-align:center!important}.version-cell{min-width:175px}.curriculum-actions-cell{min-width:190px}.publication-actions-cell{min-width:125px}.version-action-rail,.publication-action-rail{align-items:center;gap:5px;display:flex}.curriculum-override-editor{gap:5px;margin-bottom:6px;display:flex}.curriculum-override-editor input{width:145px}.table-empty-state{height:90px;color:var(--muted);text-align:center}.curriculum-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 2px 0;font-size:11px;display:flex}.curriculum-pagination label{align-items:center;gap:7px;display:flex}.pagination-controls{align-items:center;gap:5px;display:flex}.pagination-controls button{min-width:31px;min-height:31px;padding:5px 8px}.pagination-controls .active-page{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff;font-weight:800}.years-terms-detail{margin-top:18px}@media (width<=1200px){.version-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.version-filter-bar{grid-template-columns:1fr}.curriculum-pagination{flex-direction:column;align-items:flex-start}}.curriculum-version-link{color:var(--brand-dark);text-align:left;background:0 0;border:0;padding:0;font-weight:800;text-decoration:none}.curriculum-version-link:hover,.curriculum-version-link:focus-visible{background:0 0;border:0;text-decoration:underline}.curriculum-record-workspace{width:100%}.curriculum-record-nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;padding-bottom:12px;display:flex}.curriculum-record-breadcrumb{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;font-size:11px;display:flex}.curriculum-record-breadcrumb b{color:var(--ink)}.curriculum-record-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.curriculum-record-summary article{border:1px solid var(--line);background:#fff;border-radius:7px;align-content:center;gap:4px;min-height:72px;padding:13px 15px;display:grid}.curriculum-record-summary span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.curriculum-version-notice{background:#fbf8f2;border-left:4px solid #b87522;margin:0 0 18px;padding:12px 14px}.curriculum-version-notice p{color:var(--muted);margin:4px 0 0;font-size:11px}.curriculum-record-grid{gap:14px;display:grid}.curriculum-record-panel{border:1px solid var(--line);background:#fff;border-radius:8px;padding:18px}.record-panel-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.curriculum-override-form{grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;display:grid}.curriculum-override-form label{gap:5px;font-size:11px;font-weight:700;display:grid}.override-value-field{grid-column:1/-1}.curriculum-override-form textarea{resize:vertical;width:100%}.curriculum-override-form .record-actions{grid-column:1/-1}.curriculum-overrides-table-wrap{margin-top:14px;overflow:auto}.curriculum-overrides-table{border-collapse:collapse;width:100%}.curriculum-overrides-table th,.curriculum-overrides-table td{border-bottom:1px solid var(--line);text-align:left;padding:9px 10px;font-size:11px}.curriculum-overrides-table th{color:var(--muted);text-transform:uppercase;background:#f5f8f8;font-size:10px}.record-workspace-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}@media (width<=900px){.curriculum-record-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.curriculum-record-nav{flex-direction:column;align-items:flex-start}.curriculum-record-breadcrumb{justify-content:flex-start}.curriculum-record-summary,.curriculum-override-form{grid-template-columns:1fr}.override-value-field{grid-column:auto}}
