/* Shared visual language for the school platform. */
:root {
 --paper:#fff;--canvas:#fff;--ink:#171717;--muted:#606060;--forest:#171717;--accent:#22c55e;--line:#dedede;--soft:#e8faee;--danger:#a42d2d;--radius:16px;
 --primary:#171717;--surface:#fff;--text:#171717;--text-primary:#171717;--text-secondary:#606060;--border:#dedede;--primary-deep:#171717;--primary-soft:#e8faee;--surface-soft:#f7f7f7;--surface-strong:#fff;--surface-lowest:#fff;--surface-low:#f7f7f7;
 --font-heading:'Manrope',sans-serif;--font-body:'Manrope',sans-serif;--radius-xl:24px;--radius-lg:16px;--radius-md:12px;--radius-sm:10px;--shadow-lg:none;--shadow-md:none;--shadow-sm:none;
}

body{background:var(--canvas)!important;color:var(--ink)}
body::before,body::after,.ambient-orb{display:none!important}
h1,h2,h3,h4,h5,h6,.font-headline{font-family:var(--font-heading)!important;color:var(--ink);letter-spacing:-.025em}
button,input,select,textarea,.btn,.qb-topbar-link{font-family:var(--font-body)!important;font-size:14px;letter-spacing:0}
button,.btn{min-height:44px;border-radius:999px;box-shadow:none}
input:not([type=checkbox]):not([type=radio]),select,textarea{border-radius:10px;border-color:#ccc;background:white;color:var(--ink)}
a{color:var(--ink)}
:focus-visible{outline:3px solid #16803c;outline-offset:3px}
::selection{background:#bbf3cd;color:#171717}input,textarea{caret-color:#16803c}*{scrollbar-color:#aaa #f7f7f7}
.isp-nav{background:white;color:var(--ink);border-right:1px solid var(--line);padding:26px 16px}
.isp-brand,.isp-nav .isp-brand{color:var(--ink)!important;font-size:20px;font-weight:800}
.isp-brand-mark{color:var(--ink);border:2px solid var(--ink);border-radius:8px;background:white}
.isp-nav-link{color:#333;border-radius:12px;font-weight:600;min-height:48px}
.isp-nav-link:hover{color:var(--ink);background:#f6f6f6}
.isp-nav-link[aria-current=page]{color:var(--ink);background:var(--soft)}
.isp-nav-link[aria-current=page] svg{color:#16803c}
.isp-nav-account{border-color:var(--line)}.isp-nav-account p,#ispAccountMeta{color:var(--muted)}.isp-nav-account button{color:var(--ink)}
.isp-button,.btn-primary,.resource-button--primary{background:var(--accent)!important;color:#102417!important;border:1px solid #22c55e!important;border-radius:999px!important;box-shadow:none!important;font-weight:800}
.isp-button:hover,.btn-primary:hover,.resource-button--primary:hover{background:#1bb652!important;color:#102417!important}
.isp-button--secondary,.btn-outline{background:white!important;color:var(--ink)!important;border:1px solid #ccc!important;border-bottom-width:3px!important;border-radius:999px!important}
.isp-panel,.glass-panel,.resource-panel,.profile-section,.reader-stage-card,.reader-context-card{background:white;border:1px solid var(--line);border-radius:16px;box-shadow:none;backdrop-filter:none}
.isp-tabs{gap:8px;flex-wrap:wrap}.isp-tabs a{display:flex;align-items:center;min-height:44px;padding:10px 16px;text-decoration:none;border-radius:999px;font-weight:600}.isp-tabs a[aria-current]{background:var(--soft);color:#105f2d}
.isp-status,.isp-toast{background:#f7f7f7;color:var(--ink);border-radius:12px}.isp-status--error{background:#fff0ee;color:var(--danger)}
.home-page{--canvas:#f5f5f3;background:#f5f5f3!important}
.home-nav{height:72px;margin:24px auto 0;padding:0 28px;width:calc(100% - 64px);max-width:1320px;background:white;border:1px solid #eee;border-radius:999px;gap:24px}
.home-wordmark{font-weight:800;color:#171717;font-size:24px;letter-spacing:-.04em}.home-wordmark>span{display:none}
.home-nav nav{gap:28px}.home-nav nav a{font-size:14px;color:#171717}.home-nav .isp-button{min-height:44px}
.home-hero,.home-features,.home-programmes,.home-faq,.home-final,.home-footer{width:min(1256px,calc(100% - 80px))}
.home-hero{grid-template-columns:1.1fr 1fr;gap:40px;padding:60px 0 50px;align-items:center}
.home-hero h1{font-family:'Source Serif 4',Georgia,serif!important;font-size:clamp(42px,5vw,72px);font-weight:650;line-height:1.08;letter-spacing:-.035em;margin:0 0 28px;color:#0a0a0a}
.home-hero-copy>p{font-size:19px;line-height:1.55;max-width:500px;color:#515151}.home-actions{gap:12px;flex-wrap:wrap;margin-top:30px}.home-actions .isp-button{padding:14px 24px;min-height:52px;font-size:15px}.home-hero-note{font-size:12px!important;margin-top:18px!important}
.home-learning-art{border-radius:32px;overflow:hidden;background:white;aspect-ratio:1.1}.home-learning-art img{width:100%;height:100%;object-fit:contain;display:block}
.home-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0 0 72px}.home-section-head{grid-column:1/-1;display:block;margin-bottom:0}.home-section-head h2{font-size:30px;margin:0 0 12px}.home-section-head>p{display:none}
.home-feature{display:flex;flex-direction:column;gap:0;background:white;border:1px solid #ddd;border-bottom:4px solid #ddd;border-radius:20px;overflow:hidden;padding:0;margin:0}
.home-feature:nth-child(odd){flex-direction:column}.home-feature img{width:100%;height:170px;object-fit:cover;border-radius:0;margin:0}.home-feature>div{padding:22px}.home-feature h3{font-size:21px;margin:0 0 12px}.home-feature p{font-size:14px;line-height:1.6;margin:0 0 20px}.home-feature a{font-size:14px;font-weight:800}.home-feature-number{display:none}
.home-programmes{display:block;padding:50px 0;border-top:1px solid #ddd}.home-programmes h2{font-size:36px}.home-programme-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.home-programme-list>div{background:white;border:1px solid #ddd;border-bottom:3px solid #ddd;border-radius:16px;padding:22px}.home-programme-list strong{color:#171717}.home-faq{padding:50px 0}.home-final{background:#e8faee;color:#171717;border-radius:24px;padding:36px;margin-top:40px;margin-bottom:40px}.home-final h2,.home-final p{color:#171717}.home-footer{border-color:#ddd}
.reader-topbar,.qb-topbar{background:white;box-shadow:none;border-bottom:1px solid var(--line)}.reader-main{background:white;transition:none}
.catalogue-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border:0;background:transparent}.catalogue-book{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:20px!important;border:1px solid #dedede!important;border-bottom:4px solid #dedede!important;border-radius:16px;min-width:0;background:white!important}
.catalogue-cover{height:86px;width:100%;background:#eef0ff;color:#4756c4;border:0;border-radius:12px;font-size:28px;align-self:stretch}.catalogue-book:nth-child(3n+2) .catalogue-cover{background:#e8faee;color:#16803c}.catalogue-book:nth-child(3n+3) .catalogue-cover{background:#fff7db;color:#856107}.catalogue-book h2{font-size:16px;line-height:1.4;font-weight:800;min-height:44px}.catalogue-book p{font-size:12px;color:#606060}.catalogue-book>div:last-child{margin-top:auto;display:flex;gap:8px}.catalogue-book button{min-height:44px;border-radius:999px}.catalogue-book button[data-open-book]{background:var(--accent);border-color:var(--accent);color:#102417;font-weight:800;flex:1}.catalogue-book button[data-favourite-book]{border:1px solid #ccc;min-width:44px;color:#171717}
.admin-panel,.admin-surface,.admin-users,.admin-user-console,.admin-side-card,.admin-editor-card,.admin-preview-card,.admin-user-insight-card,.admin-metric-card,.admin-library-card,.admin-user-table,.admin-user-editor{background:white!important;background-image:none!important;backdrop-filter:none!important;box-shadow:none!important;border-color:var(--line)!important;border-radius:16px!important;color:var(--ink)!important}
.admin-panel *::before,.admin-user-insight-card::after,.admin-preview-cover::after{box-shadow:none!important;background-image:none!important}.admin-panel h2,.admin-panel h3,.admin-panel h4,.admin-panel strong,.admin-panel label,.admin-panel .admin-metric-value{color:#171717!important}.admin-panel .admin-note,.admin-panel .admin-metric-copy,.admin-user-primary span{color:#606060!important}.admin-panel button{border-radius:999px!important;background-image:none!important;box-shadow:none!important;color:#171717!important;min-height:44px}.admin-panel input,.admin-panel select{box-shadow:none!important;background:white!important;border-color:#ccc!important;color:#171717!important;font-weight:500}.admin-panel .admin-user-status-tab--active{background:var(--soft)!important;color:#105f2d!important}.admin-panel .admin-section-head{padding:0;margin-bottom:16px}.admin-panel .admin-section-head h3{font-size:26px;margin:0 0 8px}.admin-live-indicator--soft,.admin-user-insight-card p{display:none}.admin-scroll-block{overflow:visible!important}.admin-user-insight-grid{display:flex!important;flex-wrap:wrap;gap:8px!important;margin:0 0 18px}.admin-user-insight-card{display:flex;align-items:center;gap:8px;flex:1 1 auto!important;padding:10px 14px!important;min-height:0!important;border:1px solid #ddd!important;border-radius:10px!important}.admin-user-insight-card .admin-metric-label{font-size:11px;letter-spacing:0}.admin-user-insight-card .admin-metric-value{font-size:20px}.admin-user-console{padding:0!important;border:0!important}.admin-user-console-top{gap:12px!important}.admin-user-console-copy{display:flex;align-items:end;gap:8px;padding:0!important;background:transparent!important}.admin-user-status-tabs{display:none!important}.admin-user-toolbar{flex:1;display:flex;gap:10px}.admin-user-search{flex:1;min-width:160px!important}.admin-user-toolbar-select{min-width:120px!important;flex:0 1 160px}.admin-user-bulk-toolbar{gap:8px;padding:12px 0!important;flex-direction:row!important;flex-wrap:wrap;margin:0!important}.admin-user-bulk-toolbar button{font-size:12px;padding:8px 12px}.admin-user-selection-summary{background:#f7f7f7!important;padding:8px;font-size:11px;color:#555}.admin-advanced-filters{padding:10px 12px;background:#f7f7f7;border-bottom:1px solid #ddd}.admin-advanced-filters summary{min-height:44px;display:flex;align-items:center;font-weight:600}.admin-advanced-filters>label{display:inline-grid;gap:5px;width:180px;margin:8px}.admin-user-table-head{background:white!important;min-width:0!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}.admin-user-head-label{white-space:nowrap!important;word-break:normal!important;letter-spacing:0!important;color:#555!important}.admin-user-head-cell{padding:8px}.admin-user-table-row{min-width:0!important;grid-template-columns:36px minmax(100px,1fr) minmax(100px,1fr) minmax(100px,.8fr) minmax(60px,.6fr) minmax(160px,1.2fr)!important;align-items:center!important;background:white!important;border-color:#ddd!important}.admin-user-table-cell{min-width:0;overflow-wrap:anywhere;padding:12px 8px!important}.admin-user-primary strong{white-space:normal!important}.admin-user-review-actions{flex-wrap:wrap;gap:5px}.user-status{border-radius:6px!important;font-size:10px}.user-status--approved{color:#105f2d!important;background:#e8faee!important}.user-status--pending{color:#795006!important;background:#fff5d8!important}.user-status--blocked,.user-status--rejected{color:#922b26!important;background:#ffefed!important}
.qb-main .hero-panel--workspace{background:white!important;color:#171717;padding:0 0 18px!important;border-radius:0!important;gap:16px;margin-bottom:0}.qb-main .hero-panel--workspace h1{color:#171717;font-size:30px;margin:0 0 8px}.qb-main .hero-panel--workspace .hero-copy{color:#606060;margin:0}.qb-main .hero-panel--workspace .hero-panel__aside{display:flex!important;gap:8px;flex-wrap:wrap}.qb-main .hero-panel:not(.hero-panel--workspace){background:#f7f7f7!important;color:#171717;border:1px solid #ddd;border-radius:16px}.qb-main .hero-panel h1{color:#171717}.qb-main .hero-copy{color:#606060}.qb-main .hero-side-card{background:white;border:1px solid #ddd}.qb-main .hero-side-card :is(p,span,strong){color:#171717}.qb-topbar-nav{display:flex;gap:8px;flex-wrap:wrap;overflow:visible!important}.qb-topbar-link{color:#171717!important;min-height:44px;border-radius:999px!important;padding:8px 14px!important;font-size:13px;white-space:nowrap}.qb-topbar-brand .qb-brand-icon{background:#e8faee!important;color:#105f2d!important}.qb-topbar-brand p{display:none}.qb-main .glass-panel{border-radius:16px}.qb-main .workspace-panel{padding:16px}.workspace-search-row{gap:10px}.workspace-search{min-width:0}.workspace-search input{padding-left:44px!important;width:100%}.workspace-search>span{left:14px!important}.filters--core{grid-template-columns:1fr 1fr!important;gap:12px!important;margin-top:12px}.workspace-advanced{margin-top:10px;border-top:1px solid #eee}.workspace-advanced summary{min-height:44px;display:flex;gap:8px;align-items:center;font-weight:600}.workspace-advanced .filters{padding-top:8px}.workspace-advanced .filters label{font-size:12px}.workspace-results-head{margin:10px 0}.result-list .card,.question-card{border:1px solid #ddd!important;border-radius:16px!important;background:white!important;box-shadow:none!important}.qb-main .btn,.qb-topbar .btn{border-radius:999px!important;min-height:44px}.qb-main .btn:not(.btn-primary){color:#171717}.qb-main .section-head h2{font-size:22px}
.resource-kicker,.resource-hero h2,.resource-hero__copy>p{display:none}.resource-topbar{padding:0;margin:0 0 18px;align-items:center}.resource-topbar h1{font-size:30px;margin:0}.resource-hero{padding:12px 0;background:white!important;border:0!important;border-radius:0;box-shadow:none!important;align-items:center;gap:12px;margin-bottom:8px}.resource-pill{background:#f7f7f7;color:#555;border:1px solid #ddd;border-radius:8px;font-size:11px;letter-spacing:0}.resource-hero__copy{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.resource-sync-badge{margin:0!important;border:0!important;background:transparent!important;color:#555!important;font-size:11px;letter-spacing:0}.resource-search input{padding-left:42px!important}.resource-dashboard{display:flex!important;gap:18px;flex-wrap:wrap;margin:16px 0}.resource-metric{display:flex;align-items:baseline;gap:8px;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0}.resource-metric span{font-size:11px;color:#606060;letter-spacing:0}.resource-metric strong{font-size:17px;color:#171717}.resource-tabs{margin:12px 0;gap:10px}.resource-tab{border-radius:999px;min-height:44px}.resource-tab--active,.resource-tab.is-active{background:var(--soft)!important;color:#105f2d!important;border-color:#a5d5b4!important}.resource-panel__head{padding:16px!important}.resource-panel__head h3{font-size:18px;margin:0}.resource-browser-path{padding:8px 16px}.resource-browser-row,.resource-file-row{background:white!important;border-color:#ddd!important;border-radius:10px}.resource-panel--viewer{border-radius:16px}.resource-avatar{background:#e8faee;color:#105f2d}.resource-actions{width:auto}.resource-button{min-height:44px;border-radius:999px;font-size:12px}.resource-dashboard+.resource-workspace{gap:18px}
.legal-page{background:#fff!important}.legal-topbar{background:white!important;border-bottom:1px solid #ddd;box-shadow:none;border-radius:0;padding:18px 32px;min-height:70px}.legal-page main{padding-top:0}.legal-hero{padding:30px 24px 22px!important}.legal-hero h1{font-size:38px;margin:0 0 10px;letter-spacing:-.03em}.legal-hero p{font-size:14px;max-width:70ch}.legal-hero .chip{margin-top:12px!important;padding:0;background:transparent;border:0;color:#606060}.legal-layout{gap:24px;align-items:start}.legal-card,.toc-card{border:1px solid #ddd;background:white!important;box-shadow:none!important;border-radius:16px;backdrop-filter:none;padding:24px}.legal-card::before,.toc-card::before{display:none!important}.toc-card summary{min-height:44px;display:flex;align-items:center;font-size:16px;font-weight:800}.toc-card nav{padding-top:12px}.toc-card a{color:#444;min-height:36px}.toc-card a.is-active{background:#e8faee;color:#105f2d}.legal-card h2{font-size:22px}.section-index{display:none}.legal-note{background:#f7f7f7;color:#444;border-radius:12px}.legal-page .brand-link{color:#171717}.legal-page .brand-mark{background:#e8faee;color:#105f2d;box-shadow:none}
.admin-integrations{gap:16px}.admin-integrations>div{border-left:0!important;padding:0 0 16px;border-bottom:1px solid #ddd}.admin-directory>a{background:#f7f7f7;color:#171717;border:1px solid #ddd;border-radius:16px}.admin-directory span{color:#606060}.admin-drive-sources{margin-top:20px;border-top:1px solid #ddd;padding-top:12px}.admin-drive-sources summary{min-height:44px;display:flex;align-items:center;font-weight:600}.admin-drive-sources p{font-size:12px}
@media(min-width:768px){.toc-card:not([open]) nav{display:grid}.catalogue-heading h1{font-size:34px;font-weight:800}}
@media(max-width:1100px){.catalogue-list{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-integrations{grid-template-columns:1fr}.admin-user-table-row{grid-template-columns:30px minmax(80px,1fr) minmax(80px,1fr) minmax(70px,.8fr) minmax(45px,.5fr) minmax(150px,1.2fr)!important}.home-hero{gap:25px}.home-nav nav{gap:16px}}
@media(max-width:767px){
 .home-nav{margin:12px auto 0;width:calc(100% - 24px);height:60px;padding:0 16px;gap:12px}.home-wordmark{font-size:20px}.home-nav nav{display:none}.home-nav .isp-button{font-size:12px;padding:8px 16px}.home-hero,.home-features,.home-programmes,.home-faq,.home-final,.home-footer{width:calc(100% - 32px)}.home-hero{display:flex;flex-direction:column;align-items:stretch;gap:28px;padding:32px 0}.home-hero h1{font-size:44px;line-height:1.08;margin-bottom:20px}.home-hero-copy>p{font-size:16px}.home-actions{margin-top:24px;gap:10px}.home-actions .isp-button{font-size:13px;padding:12px 18px}.home-learning-art{aspect-ratio:1.35;border-radius:24px;max-height:290px}.home-features{grid-template-columns:1fr;padding-bottom:36px;gap:16px}.home-section-head h2{font-size:27px}.home-feature img{height:155px}.home-feature>div{padding:20px}.home-programmes{padding:30px 0}.home-programmes h2{font-size:29px}.home-programme-list{grid-template-columns:1fr;gap:12px}.home-programme-list>div{padding:18px}.home-faq{padding:30px 0}.home-final{padding:24px}.home-final h2{font-size:27px}
 .isp-nav{box-shadow:8px 0 28px #0001}.isp-mobile-bar a,.isp-mobile-bar button{color:#555}.isp-mobile-bar [aria-current=page]{color:#105f2d}.isp-page,.qb-main,.resource-main{padding:20px 16px}
 .catalogue-list{grid-template-columns:1fr;gap:14px}.catalogue-book{display:grid;grid-template-columns:62px minmax(0,1fr);gap:12px;min-height:148px;padding:16px!important}.catalogue-cover{width:62px;height:64px;font-size:19px;align-self:start}.catalogue-book h2{font-size:15px;min-height:0}.catalogue-book>div:last-child{grid-column:1/-1;justify-content:flex-end}.catalogue-book button[data-open-book]{flex:1}.catalogue-heading h1{font-size:28px}.catalogue-filters{gap:10px}
 .admin-panel--bottom{padding:0!important;border:0!important}.admin-users{padding:0!important;border:0!important}.admin-section-head--users{display:block!important}.admin-user-insight-grid{gap:6px!important;margin-bottom:12px}.admin-user-insight-card{flex:1 1 calc(33% - 6px)!important;padding:8px!important;gap:6px}.admin-user-insight-card .admin-metric-label{font-size:9px}.admin-user-insight-card .admin-metric-value{font-size:16px}.admin-user-console-top{display:flex;flex-wrap:wrap;gap:8px!important}.admin-user-console-copy{flex:0 1 120px}.admin-user-toolbar{flex:1 1 190px;align-items:end;gap:8px}.admin-user-toolbar .admin-user-search{flex:1 1 100%;min-width:0!important}.admin-user-toolbar #adminUserResetFiltersBtn{display:none}.admin-user-bulk-toolbar button{padding:8px 10px;font-size:11px}.admin-user-bulk-toolbar{gap:5px}.admin-user-selection-summary{font-size:10px}.admin-user-table-row{display:grid!important;grid-template-columns:28px 1fr 1fr!important;gap:0;padding:10px 4px!important}.admin-user-table-cell{padding:6px!important}.admin-user-table-cell--check{grid-row:1/3}.admin-user-table-cell--review{grid-column:2/-1!important;grid-row:3}.admin-user-review-stack{display:flex;align-items:center;justify-content:space-between;gap:8px}.admin-user-review-actions{display:flex;gap:5px}.admin-user-review-actions button{font-size:11px;padding:6px 12px}.admin-user-table-head{grid-template-columns:1fr 1fr!important}.admin-user-primary strong{font-size:13px}.admin-user-editor{border-radius:20px 20px 0 0!important}
 .qb-topbar{gap:8px;padding:12px 16px}.qb-topbar-brand{display:none}.qb-topbar-nav{display:grid;grid-template-columns:repeat(4,1fr);width:100%;gap:4px}.qb-topbar-link{font-size:12px;padding:8px!important;min-width:0;white-space:nowrap}.qb-topbar-actions{display:none}.qb-main .hero-panel--workspace{display:flex;flex-direction:column;align-items:stretch;padding-bottom:14px!important;gap:10px}.qb-main .hero-panel--workspace h1{font-size:26px;margin:0 0 6px}.qb-main .hero-panel--workspace .hero-copy{font-size:12px}.qb-main .hero-panel--workspace .hero-panel__aside{width:100%;display:flex!important}.hero-panel--workspace .hero-panel__aside .btn{flex:1;font-size:12px}.hero-panel--workspace .hero-panel__aside [data-view-target=dashboard]{display:none}.workspace-search-row{flex-direction:row!important;flex-wrap:wrap}.workspace-search{width:100%}.filter-actions{display:flex;width:100%;gap:8px}.filter-actions .btn{flex:1;min-height:44px;font-size:12px;padding:8px 12px}.filters--core{gap:10px!important;margin-top:10px}.filters--core label{font-size:11px}.filters--core select{font-size:12px}.workspace-advanced .filters{grid-template-columns:1fr 1fr}.qb-main .workspace-panel{padding:12px}.qb-main .workspace-main{min-width:0}.workspace-results-head{margin:8px 0}.qb-main .result-list .card{padding:14px}
 .resource-topbar{gap:12px;margin-bottom:12px}.resource-topbar h1{font-size:26px}.resource-user{width:100%}.resource-hero{padding:0;gap:10px}.resource-hero__copy{gap:8px}.resource-actions{width:100%;display:flex;gap:8px}.resource-actions button{flex:1;padding:9px 12px}.resource-dashboard{gap:10px;margin:12px 0}.resource-metric{gap:5px}.resource-metric span{font-size:9px}.resource-metric strong{font-size:13px}.resource-metric:last-child{flex:1 1 100%;display:flex}.resource-tabs{margin:10px 0}.resource-panel__head{padding:12px!important;gap:10px}.resource-browser-path{padding:8px 12px}.resource-panel__head h3{font-size:17px}.resource-browser-tools{gap:8px}
 .legal-topbar{padding:14px 16px;gap:12px}.legal-nav{gap:12px;flex-wrap:wrap}.legal-page main{width:calc(100% - 32px)}.legal-hero{padding:22px 20px 16px!important}.legal-hero h1{font-size:30px}.legal-hero p{font-size:13px;margin:8px 0}.legal-layout{display:flex;flex-direction:column;gap:16px}.toc-card{position:static;width:100%;padding:8px 16px}.toc-card:not([open]) nav{display:none}.legal-stack{width:100%}.legal-card{padding:20px}.legal-card h2{font-size:20px}.legal-card p{font-size:14px;line-height:1.75}
 .admin-directory{gap:12px}.admin-integrations{grid-template-columns:1fr}.isp-tabs{gap:6px}.isp-tabs a{padding:8px 12px;font-size:12px;min-height:44px}.admin-directory>a{padding:18px}
}
@media(prefers-reduced-motion:no-preference){.catalogue-book{transition:border-color 160ms ease,box-shadow 160ms ease}.catalogue-book:hover{border-color:#b1b1b1!important;box-shadow:0 6px 18px #0000000d}.home-learning-art{animation:learning-arrive 500ms cubic-bezier(.16,1,.3,1) both}@keyframes learning-arrive{from{clip-path:inset(0 0 10px 0 round 32px)}to{clip-path:inset(0 round 32px)}}}
.catalogue-subjects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.catalogue-subject{display:flex;align-items:center;gap:16px;min-width:0;min-height:124px;padding:22px;border:1px solid #dedede;border-bottom-width:4px;border-radius:16px;background:#fff;color:#171717;text-decoration:none}.catalogue-subject-icon{display:grid;place-items:center;flex:0 0 60px;width:60px;height:64px;border-radius:12px;background:#eef0ff;color:#4756c4;font-size:38px}.catalogue-subject[data-tone="1"] .catalogue-subject-icon{background:#e8faee;color:#16803c}.catalogue-subject[data-tone="2"] .catalogue-subject-icon{background:#fff7db;color:#856107}.catalogue-subject-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:8px}.catalogue-subject-copy strong{font-size:16px;line-height:1.4;font-weight:800;overflow-wrap:anywhere}.catalogue-subject-copy>span{font-size:13px;color:#606060}.catalogue-subject-arrow{font-size:20px;color:#606060}.catalogue-subject:hover{border-color:#aaa;background:#fafcfb}.catalogue-subject:focus-visible{outline:3px solid #16803c;outline-offset:4px}.catalogue-subjects>.isp-empty,.catalogue-list>.isp-empty{grid-column:1/-1}.catalogue-back{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;min-height:44px;padding:8px 14px;border:1px solid #dedede;border-radius:999px;background:#fff;color:#171717}.catalogue-back .material-symbols-outlined{font-size:20px}
.catalogue-book>.catalogue-cover-button{display:block;width:100%;min-height:0;padding:0;border:0;border-radius:10px;background:transparent;overflow:hidden}.catalogue-book>.catalogue-cover-button:hover{background:transparent}.catalogue-book>.catalogue-cover-button:focus-visible{outline:3px solid #16803c;outline-offset:3px}.catalogue-book .catalogue-cover{position:relative;display:grid;place-items:center;height:240px;width:100%;border:0;border-radius:10px;background:#f6f6f4;color:#606060;overflow:hidden}.catalogue-cover img{display:block;width:100%;height:100%;object-fit:contain}.catalogue-cover-status{padding:12px;font:500 13px/1.4 var(--font-body);text-align:center}.catalogue-book>.catalogue-book-copy{display:block;margin-top:0}.catalogue-book-copy h2{overflow-wrap:anywhere}.catalogue-book-copy p{margin-top:6px}
@media(max-width:1100px){.catalogue-subjects{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue-subject{padding:18px;gap:12px}.catalogue-subject-icon{flex-basis:52px;width:52px;height:58px;font-size:34px}}
@media(max-width:767px){.catalogue-subjects{grid-template-columns:1fr;gap:12px}.catalogue-subject{min-height:100px;padding:16px}.catalogue-subject-copy strong{font-size:15px}.catalogue-book{grid-template-columns:92px minmax(0,1fr)}.catalogue-book>.catalogue-cover-button{width:92px;align-self:start}.catalogue-book .catalogue-cover{width:92px;height:132px}.catalogue-book>.catalogue-book-copy{grid-column:2;align-self:center}.catalogue-filters:has(>#catalogueProgramme[hidden]):has(>#catalogueSubject[hidden]){grid-template-columns:1fr}.catalogue-filters:has(>#catalogueProgramme[hidden]) #catalogueSubject{grid-column:1/-1}}
@media(max-width:500px){.catalogue-heading{flex-direction:column;align-items:flex-start;gap:12px}.catalogue-heading>div{min-width:0;width:100%}.catalogue-heading h1{overflow-wrap:anywhere}.catalogue-heading .isp-button{min-height:44px}}
.catalogue-cover img{position:absolute;inset:0;min-width:0;min-height:0}.catalogue-cover-status{position:absolute;inset:0;display:grid;place-items:center}.catalogue-book:nth-child(n) .catalogue-cover{background:#f6f6f4;color:#606060}
.catalogue-book>button[data-open-book]{margin-top:auto;width:100%;background:var(--accent);color:#102417;border:1px solid var(--accent);font-weight:800}
@media(max-width:767px){.catalogue-book>button[data-open-book]{grid-column:1/-1}.catalogue-cover .material-symbols-outlined{font-size:34px}}
.admin-panel .admin-user-bulk-toolbar{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;padding:10px 0!important;gap:8px!important}
.admin-panel .admin-user-bulk-toolbar button{width:auto!important;flex:0 1 auto!important;max-width:none!important;padding:8px 12px!important}.admin-panel .admin-user-bulk-toolbar .admin-user-selection-summary{width:auto!important;flex:0 1 auto!important;margin:0!important}
.admin-panel .admin-user-toolbar-select--compact{display:grid!important;margin:0!important;min-width:0!important;max-width:160px!important}.admin-panel .admin-user-console-copy{padding:0!important;width:auto!important;min-width:0!important}
.admin-user-toolbar-label{font-size:10px!important;letter-spacing:0!important;color:#555!important}
.question-source-details summary{min-height:30px;font-size:11px;color:#606060}.qb-main .card-head{gap:8px;margin-bottom:12px}.qb-main .card-head h3{font-size:18px;margin:0 0 5px}.qb-main .card-meta{font-size:11px;margin:3px 0;line-height:1.5}.qb-main .card-body{font-size:14px;line-height:1.65}.qb-main .card-body img{max-width:100%;height:auto}.qb-main .card-actions{gap:8px}.qb-main .inline-check{min-height:44px;font-size:12px}
#questionUploadStatusBar{position:static;margin:16px 16px 80px;transform:none;width:auto;max-width:640px;border-radius:12px;box-shadow:none;background:#f7f7f7;color:#333}
#questionUploadStatusBar.question-upload-status--error{position:fixed;bottom:78px;left:16px;right:16px;margin:0;z-index:80;background:#fff0ee;color:#922b26}
@media(max-width:767px){.admin-user-toolbar{flex:1 1 180px!important}.admin-user-console-copy{flex:0 1 120px!important}.admin-user-console-top{align-items:end!important}.qb-main .hero-panel--workspace .hero-copy{display:none}.qb-main .card{padding:14px!important}.qb-main .card-actions{flex-direction:row;align-items:center}.question-source-details summary{min-height:30px}.qb-main .card-head{gap:8px}}

/* Finish review: readable small labels and the actual resource-card components. */
:root{--resource-ink:#171717;--resource-muted:#606060;--resource-faint:#606060;--resource-line:#dedede;--resource-card:#fff;--resource-card-strong:#fff;--resource-blue:#171717;--resource-blue-soft:#e8faee;--resource-shadow:none;--resource-radius:16px}
.isp-tabs button[aria-selected=true]{color:#105f2d;background:#e8faee;border-bottom-color:#16803c}
.resource-file-card,.resource-folder-card{background:#fff!important;border:1px solid #dedede!important;border-radius:16px!important;box-shadow:none!important}
.resource-file-card:hover,.resource-file-card--active{background:#f7f7f7!important;border-color:#999!important}
.resource-file-card strong{font-family:var(--font-body)!important;color:#171717;line-height:1.4}
.resource-file-card span{color:#606060}
.resource-file-card .resource-file-card__icon{color:#105f2d!important;background:#e8faee!important;box-shadow:none!important;font-size:24px}
.resource-file-card .resource-file-card__type{color:#105f2d;background:#e8faee;letter-spacing:0}
@media(min-width:768px) and (max-width:1100px){
 .admin-user-table-row{display:grid!important;grid-template-columns:28px minmax(0,1fr) minmax(0,1fr)!important;gap:0;padding:10px 4px!important}
 .admin-user-table-cell{padding:6px!important}.admin-user-table-cell--check{grid-row:1/3}
 .admin-user-table-cell--review{grid-column:2/-1!important;grid-row:3}
 .admin-user-review-stack{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
 .admin-user-review-actions{display:flex;gap:5px}.admin-user-review-actions button{font-size:11px;padding:6px 12px}
 .admin-user-table-head{grid-template-columns:1fr 1fr!important}
}
@media(max-width:767px){
 #adminPanel .admin-scroll-block--metrics .admin-metric-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:12px 0}
 #adminPanel .admin-metric-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px!important;min-height:0}
 #adminPanel .admin-metric-label{font-size:10px;letter-spacing:0}#adminPanel .admin-metric-value{font-size:18px}
 #adminPanel .admin-metric-copy,#adminPanel .admin-surface-head .admin-section-intro{display:none}
 #adminPanel .admin-surface-head{padding:12px!important}#adminPanel .admin-surface-head h3{font-size:20px;margin:0}
}
@media(max-width:767px){
 #adminPanel .admin-shell{display:flex;flex-direction:column;gap:12px}
 #adminPanel .admin-panel-head{order:0;gap:10px;padding:0!important}#adminPanel .admin-panel-head h2{font-size:24px!important;line-height:1.2}
 #adminPanel .admin-scroll-block--editor{order:1}#adminPanel .admin-scroll-block--metrics{order:2}
 #adminPanel .admin-scroll-block--metrics .admin-metric-grid{margin:0}
 #adminPanel .admin-panel-copy .admin-note,#adminPanel .admin-security-pill{display:none}
 #adminPanel .admin-panel-actions{gap:8px;margin:0!important}#adminPanel .admin-live-indicator{padding:6px 10px!important}
}
#adminPanel #adminForm,#adminPanel .admin-form-grid{align-items:start}
#adminPanel input:not([type=checkbox]):not([type=radio]):not([type=hidden]){height:48px;min-height:48px;align-self:start}
#adminPanel .programme-choice-option{display:flex!important;align-items:center;justify-content:flex-start;gap:10px;min-height:44px;padding:10px!important}
#adminPanel .programme-choice-option input[type=checkbox]{width:18px!important;height:18px!important;min-height:18px!important;margin:0;flex:0 0 18px}
#adminPanel .programme-choice-option span{font-size:13px;letter-spacing:0;text-transform:none}
#adminPanel .field-hint{font-size:13px!important;line-height:1.5!important;text-transform:none!important;letter-spacing:0!important;color:#606060!important}
#adminPanel .admin-preview-cover{background:#e8faee!important;background-image:none!important;box-shadow:none!important;border:1px solid #dedede!important;border-radius:16px!important}
#adminPanel .admin-preview-cover *{color:#171717!important;text-shadow:none!important}

/* Reader actions remain usable beside long book titles and on small screens. */
.reader-hero-actions{flex-wrap:wrap}
.reader-hero-actions>button{flex:0 1 auto;min-width:0;max-width:100%}
.isp-source-figure-missing{display:inline-block;max-width:100%;padding:12px 16px;margin:8px 0;background:#f5f5f5;color:#414141;border:1px solid #d9d9d9;border-radius:8px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:767px){
 .reader-hero-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
 .reader-hero-actions>button{width:100%;min-height:44px;justify-content:center}
}
