:root{--primary:#194d3b;--secondary:#eaf3e9;--accent:#df7b47;--background:#f7f7f1;--green:var(--primary);--mint:var(--secondary);--orange:var(--accent);--bg:var(--background)}body{background:var(--background)}a,button,input,textarea{touch-action:manipulation}button,a.btn{min-height:42px}button[type=submit]{cursor:pointer}.skip{position:absolute;top:-60px;left:12px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.public-header{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:22px 32px;gap:20px}.review-brand{display:flex;align-items:center;gap:11px;font-weight:850;letter-spacing:1.5px;font-size:19px}.review-brand img{width:43px;height:45px;object-fit:contain}.review-brand small{display:block;letter-spacing:2px;font-size:8px;margin-top:4px}.public-nav{display:flex;align-items:center;gap:26px;font-size:12px;font-weight:650}.public-nav a{padding:10px 0}.public-nav a.active{color:var(--primary);border-bottom:2px solid var(--accent)}main.public-main{max-width:1160px;min-height:75vh;padding:20px 32px 64px}.review-hero{position:relative;text-align:center;padding:50px 60px 32px;background:linear-gradient(145deg,var(--secondary),#f8f8ef);border:1px solid #dbe6d5;border-radius:24px;overflow:visible}.archive-label{font-size:10px;letter-spacing:2.3px;font-weight:800;color:var(--primary);display:block;margin-bottom:21px}.review-hero h1{font:500 clamp(38px,5vw,63px)/1.05 Georgia,serif;letter-spacing:-2.6px;color:var(--primary)}.review-hero .subheading{font-size:14px;font-weight:650;margin:16px auto 12px}.review-hero .intro{max-width:720px;margin:auto;color:#586b60;font-size:12px;line-height:1.8;white-space:pre-line}.search-zone{text-align:left;max-width:800px;margin:27px auto 0;position:relative}.search-form{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 22px;border:1px solid #cedbce;border-radius:13px;background:white;box-shadow:0 12px 30px #194d3b0b}.search-form svg{width:22px;color:var(--primary);flex-shrink:0}.search-form input{border:0;padding:13px 4px;box-shadow:none;outline:none;font-size:15px;background:transparent}.search-form:focus-within{outline:3px solid #df7b4760}.search-form button{padding:13px 21px;border-radius:9px}.search-kinds{display:flex;gap:6px;margin:12px 0;align-items:center;font-size:10px;color:var(--muted)}.search-kinds button{background:transparent;border:0;min-height:30px;padding:5px 12px;font-size:10px;letter-spacing:.8px}.search-kinds button.selected{background:var(--primary);color:white}.search-help{font-size:10px;color:#637668;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.search-help button{padding:3px 8px;min-height:26px;font-size:10px;background:#ffffff90}.search-results{margin-top:16px}.suggestions{position:absolute;z-index:10;background:white;box-shadow:0 20px 60px #183d3430;border:1px solid var(--line);border-radius:12px;top:72px;left:0;right:0;max-height:480px;overflow:auto;text-align:left;padding:12px}.suggestions[hidden]{display:none}.suggestions h3{font-size:9px;letter-spacing:1.4px;color:var(--muted);padding:8px 10px}.suggestions a{display:flex;justify-content:space-between;gap:20px;padding:12px;border-radius:8px;font-size:12px}.suggestions a[aria-selected=true],.suggestions a:hover{background:var(--secondary)}.suggestions a small{display:block;margin-top:4px}.suggestions .empty{padding:15px;font-size:12px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:32px 0 16px;gap:15px}.section-title h2{font:500 25px Georgia,serif}.section-title small{font-size:10px}.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:28px 0}.how-card{padding:22px 18px;border:1px solid var(--line);border-radius:13px;background:white}.step-num{color:var(--accent);font:24px Georgia,serif;margin-bottom:14px}.how-card h3{font-size:11px;letter-spacing:.5px}.how-card p{font-size:11px;color:var(--muted);margin-top:10px;line-height:1.7}.archive-stats{display:flex;justify-content:space-around;gap:20px;flex-wrap:wrap;padding:25px;border-block:1px solid var(--line);margin:24px 0}.archive-stats b{font:32px Georgia,serif;color:var(--primary);display:block}.archive-stats span{font-size:10px;color:var(--muted)}.thanks{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;padding:35px 18px}.thanks h2{font:34px/1.1 Georgia,serif;color:var(--primary);max-width:300px}.thanks p{font-size:12px;white-space:pre-line;color:#627465}.site-footer{white-space:pre-line;border-top:1px solid var(--line);text-align:center;padding:24px 16px;color:var(--muted);font-size:10px;line-height:1.8}.subnav{font-size:12px;color:var(--muted);margin:8px 0 28px;display:flex;justify-content:space-between;align-items:center}.profile-header{display:flex;align-items:center;gap:25px;padding:35px;background:var(--secondary);border:1px solid #dce7d8;border-radius:17px}.profile-initials{width:75px;height:75px;flex-shrink:0;background:var(--primary);color:white;border-radius:18px;display:grid;place-items:center;font:30px Georgia,serif}.profile-header h1{font-size:29px;letter-spacing:-1px;overflow-wrap:anywhere}.profile-header .eyebrow{margin:0 0 9px}.meta{display:flex;gap:9px;flex-wrap:wrap;align-items:center;font-size:11px;color:#5c7062;margin-top:13px}.meta span+span:before{content:'·';margin-right:9px;color:#a2b1a2}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.programme-card,.student-card{background:white;border:1px solid var(--line);border-radius:13px;padding:23px;display:flex;flex-direction:column;min-width:0}.programme-card.has-review{border-top:3px solid var(--primary);padding-top:21px}.card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;color:var(--muted);margin-bottom:16px}.programme-card h3{font-size:15px;min-height:43px;overflow-wrap:anywhere}.programme-card .topic{font-size:11px;color:var(--muted);margin:10px 0;line-height:1.6;white-space:pre-line}.review-state{font-size:9px;letter-spacing:.6px;margin:17px 0 10px;color:var(--primary);font-weight:750}.review-state.missing{color:#81877e}.programme-card .btn{margin-top:auto;text-align:center;font-size:11px}.programme-card .missing-copy{font-size:10px;color:var(--muted);margin-bottom:13px}.programme-card .secondary-link{font-size:11px;color:var(--muted);margin-top:auto}.student-card h3{font-size:16px}.student-card .btn{margin-top:20px;align-self:flex-start}.profile-note{font-size:11px;color:var(--muted);margin:16px 0 24px}.programme-layout{display:grid;grid-template-columns:minmax(0,2.3fr) 1fr;gap:25px;margin-top:25px}.review-card{background:white;border:1px solid #d7e2d3;border-top:4px solid var(--primary);border-radius:15px;padding:37px;box-shadow:0 15px 45px #194d3b05}.review-card .review-label{display:flex;align-items:center;gap:10px;color:var(--primary);font-size:10px;font-weight:750;letter-spacing:1.7px;margin-bottom:25px}.quote-mark{font:65px/.8 Georgia,serif;color:#d5dfca;height:45px}.official-review{font:17px/1.9 Georgia,serif;white-space:pre-wrap;overflow-wrap:anywhere;color:#35483a}.grade-row{margin-top:29px;border-top:1px solid var(--line);padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:16px}.grade-row small{font-size:9px;letter-spacing:1.2px;font-weight:700}.grade{padding:8px 12px;border-radius:7px;background:#edf1df;color:#456230;font-size:10px;font-weight:750;letter-spacing:.5px;display:inline-block}.grade.below{background:#fcf0e5;color:#865d34}.grade.above{background:#e4f0e8;color:#225b3d}.learning-card{border:1px solid var(--line);border-radius:13px;background:#fcfcf7;padding:24px;margin-bottom:16px}.learning-card h3{font:22px/1.2 Georgia,serif;color:var(--primary);margin-bottom:12px}.learning-card p{font-size:12px;color:var(--muted);line-height:1.8}.learning-card .btn{display:block;margin-top:16px;text-align:center}.admin-note{margin-top:22px;padding:20px;border-radius:9px;background:var(--soft);font-size:12px;white-space:pre-wrap}.admin-note h3{font-size:10px;letter-spacing:1px;margin-bottom:10px}.empty-box{padding:35px;background:white;border:1px dashed #ccd9c7;border-radius:12px;text-align:center}.empty-box h2{font:26px Georgia,serif;margin-bottom:13px}.empty-box p{font-size:13px;color:var(--muted)}.filters{display:flex;gap:12px;margin:25px 0;align-items:center}.filters input{flex:1}.filters select{width:auto;max-width:250px}.directory-head{padding:20px 0 5px}.directory-head h1{font:44px Georgia,serif;color:var(--primary)}.directory-head p{font-size:13px;color:var(--muted);margin-top:12px}.pagination{display:flex;justify-content:center;gap:20px;align-items:center;margin:30px 0;font-size:12px}.about-copy{max-width:720px;margin:25px auto;font:19px/1.9 Georgia,serif;white-space:pre-line}.admin-layout{display:flex;min-height:100vh}.review-sidebar{width:220px;flex-shrink:0;padding:26px 18px;background:white;border-right:1px solid var(--line)}.review-sidebar .review-brand{font-size:16px}.review-sidebar nav{display:grid;gap:5px;margin-top:35px}.review-sidebar nav a{font-size:12px;padding:12px 14px;border-radius:8px}.review-sidebar nav a.active{background:var(--primary);color:white}.review-sidebar .admin-bottom{margin-top:35px;border-top:1px solid var(--line);padding-top:20px;display:grid;gap:12px;font-size:11px}.admin-main{max-width:1500px;flex:1;padding:35px;min-width:0}.admin-main .page-head h1{font:33px Georgia,serif}.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;font-size:11px;color:var(--muted)}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}.admin-panel{background:white;border:1px solid var(--line);border-radius:13px;padding:25px;margin:18px 0}.admin-panel h2{font-size:17px;margin-bottom:16px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:white}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;padding:13px;color:var(--muted);font-size:10px;white-space:nowrap;background:#f3f6ee}td{padding:14px;border-top:1px solid var(--line);line-height:1.5}td small{display:block}td button,td .btn{font-size:11px;min-height:34px;padding:7px 10px}.admin-tools{display:flex;gap:10px;margin:18px 0;align-items:center}.admin-tools input{flex:1}.admin-tools select{max-width:230px}.edit-form{display:grid;gap:20px}.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.full-width{grid-column:1/-1}.edit-form textarea{line-height:1.75;min-height:140px}.edit-form textarea.review-text{min-height:275px;font-size:15px}.edit-form label{font-size:11px}.check-label{display:flex;align-items:center;gap:10px;line-height:1.6}.check-label input{width:18px;min-width:18px}.form-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px}.form-note{font-size:11px;color:var(--muted);line-height:1.8}.editor-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:20px}.editor-head h2{font:28px Georgia,serif}dialog{width:min(850px,95vw);max-height:90vh;border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:0 30px 100px #0003}dialog::backdrop{background:#15382caf;backdrop-filter:blur(4px)}dialog .table-wrap{max-height:250px;overflow:auto}.login-card{max-width:420px;margin:60px auto;padding:32px;border:1px solid var(--line);border-radius:16px;background:white}.login-card h1{font:29px Georgia,serif;margin-bottom:22px}.login-card form{display:grid;gap:20px}.form-error{color:#973e2f;font-size:12px;line-height:1.6}.warning-note{border-left:3px solid var(--accent);padding:14px 20px;background:var(--soft);font-size:12px;line-height:1.8}.qr-image{max-width:270px;margin:20px auto;display:block}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:200;background:var(--primary);color:white;font-size:13px;padding:13px 22px;border-radius:9px;max-width:90vw;box-shadow:0 8px 25px #0002;display:none}#toast.show{display:block}.saved-status{font-size:11px;color:var(--primary)}
@media(max-width:850px){.public-header{padding:18px 22px}.public-nav{gap:14px;font-size:11px}.review-hero{padding:38px 25px 30px}.how-grid{grid-template-columns:repeat(2,1fr)}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.programme-layout{grid-template-columns:1fr}.programme-aside{display:grid;grid-template-columns:1fr 1fr;gap:15px}.review-sidebar{width:180px;padding:22px 12px}.admin-main{padding:25px}.admin-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.public-header{padding:15px 18px;flex-wrap:wrap;gap:15px}.review-brand{font-size:17px}.review-brand img{width:34px;height:37px}.public-nav{width:100%;justify-content:space-between;gap:10px;font-size:11px}.public-nav a{padding:5px 0}.public-main,main.public-main{padding:10px 16px 35px}.review-hero{padding:29px 16px 24px;border-radius:16px}.archive-label{font-size:8px;letter-spacing:1.4px;margin-bottom:18px}.review-hero h1{font-size:43px;letter-spacing:-2px;line-height:1.12}.review-hero .subheading{font-size:11px;line-height:1.6;margin-top:14px}.review-hero .intro{font-size:10px;line-height:1.8;max-height:none}.search-zone{margin-top:22px}.search-form{padding:7px 7px 7px 12px;gap:8px}.search-form input{font-size:16px;padding:12px 0}.search-form button{padding:10px;font-size:11px}.search-form svg{width:18px}.search-help{font-size:9px}.search-kinds{font-size:9px;gap:0}.search-kinds button{font-size:9px;padding:5px 9px}.suggestions{top:66px;max-height:400px}.how-grid{gap:10px;margin:20px 0}.how-card{padding:18px 15px}.how-card h3{font-size:10px;line-height:1.6}.how-card p{font-size:10px}.step-num{font-size:22px;margin-bottom:10px}.archive-stats{padding:20px 5px;gap:15px}.archive-stats b{font-size:26px}.archive-stats span{font-size:9px}.thanks{grid-template-columns:1fr;gap:18px;padding:22px 8px}.thanks h2{font-size:30px}.thanks p{font-size:11px}.cards-grid{grid-template-columns:1fr}.profile-header{padding:23px 19px;gap:16px}.profile-initials{width:48px;height:55px;font-size:24px;border-radius:12px}.profile-header h1{font-size:23px;line-height:1.25}.profile-header .eyebrow{font-size:8px}.meta{font-size:10px;gap:6px;line-height:1.8}.programme-card{padding:22px}.programme-card h3{min-height:0}.section-title h2{font-size:23px}.section-title small{font-size:9px}.review-card{padding:25px 22px}.official-review{font-size:17px;line-height:1.85}.programme-aside{display:block}.directory-head h1{font-size:36px}.filters{flex-wrap:wrap;gap:10px}.filters input{flex-basis:100%}.filters select{flex:1;max-width:none}.admin-layout{display:block}.review-sidebar{width:100%;padding:18px;border-right:0;border-bottom:1px solid var(--line)}.review-sidebar nav{display:flex;overflow:auto;gap:4px;margin-top:18px;padding-bottom:4px}.review-sidebar nav a{white-space:nowrap;padding:10px;font-size:11px}.review-sidebar .admin-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:12px}.admin-main{padding:20px 16px}.admin-main .page-head{align-items:flex-start;flex-direction:column}.admin-main .page-head h1{font-size:30px}.admin-top{font-size:10px}.admin-stats{gap:10px}.stat{padding:16px}.stat .number{font-size:26px}.admin-tools{flex-wrap:wrap}.admin-tools input{flex-basis:100%}.admin-panel{padding:20px 16px}.edit-grid{grid-template-columns:1fr}.full-width{grid-column:auto}dialog{width:calc(100vw - 16px);max-height:95vh;padding:22px 18px;border-radius:13px}.editor-head h2{font-size:25px}.login-card{margin:30px auto}.about-copy{font-size:17px}.grade-row{align-items:flex-start;flex-direction:column}.review-state{margin-top:18px}.subnav{font-size:11px;margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media print{.public-nav,.subnav,.button-row,.review-sidebar,.search-zone,button{display:none!important}.review-card{box-shadow:none;break-inside:avoid}.programme-layout{display:block}.public-main{max-width:none}}
.search-identity{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px;font-size:10px;color:var(--muted);font-weight:650}.search-identity span{display:inline-flex;align-items:center;padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:#f7faf4}.suggestions a small{margin-top:4px;line-height:1.4}.about-copy{white-space:pre-line}

/* Search-result identity hotfix */
.suggestion-count{padding:7px 10px 10px;font-size:10px;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:4px}.suggestions a{align-items:center}.suggestion-main{min-width:0;display:block}.suggestion-main strong{display:block;font-size:13px;color:var(--primary);overflow-wrap:anywhere}.suggestion-meta{display:flex!important;flex-wrap:wrap;gap:6px!important;margin-top:6px!important}.suggestion-meta b,.suggestion-meta em{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;border:1px solid var(--line);background:#f7faf4;color:#586b60;font-size:9px;font-style:normal;font-weight:700}.suggestion-meta b:first-child{background:var(--secondary);color:var(--primary)}.suggestion-arrow{flex-shrink:0;font-size:17px;color:var(--accent)}

/* v2 fast-search/performance patch */
.cards-grid>article{content-visibility:auto;contain-intrinsic-size:260px}.suggestions{overscroll-behavior:contain;scrollbar-gutter:stable}.suggestions a{contain:content}.search-identity .identity-chest{background:var(--secondary);color:var(--primary)}.search-identity .identity-team{background:#fff}.search-results:empty{display:none}@media(max-width:560px){.suggestions{max-height:min(58vh,430px)}.suggestions a{padding:10px}.suggestion-main strong{font-size:12px}.suggestion-meta b,.suggestion-meta em{font-size:8.5px}}

/* Admin review publication queue */
.review-queue-note{display:flex;gap:18px;align-items:flex-start;padding:16px 18px;margin-bottom:18px;border:1px solid color-mix(in srgb,var(--primary) 16%,transparent);border-radius:16px;background:color-mix(in srgb,var(--secondary) 58%,white)}
.review-queue-note strong{white-space:nowrap;color:var(--primary)}
.review-queue-note span{line-height:1.55;color:#476157}
.queue-status{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;letter-spacing:.05em;background:#f1f2ec;color:#66716a}
.queue-status.draft{background:#fff4d8;color:#805d00}.queue-status.hidden{background:#f4e9e7;color:#7c443b}.queue-status.no-review{background:#eef0ed;color:#59635e}
.compact-stats{grid-template-columns:repeat(2,minmax(0,220px));justify-content:start}
@media(max-width:720px){.review-queue-note{display:block}.review-queue-note strong{display:block;margin-bottom:6px}.compact-stats{grid-template-columns:1fr 1fr}}
