/* Palette from the neighbouring exam and student-progress dashboards. */
:root{--page:#f3f5f1;--ink:#233b36;--muted:#647b70;--forest:#203e35;--sage:#82ab69;--lime:#c9e887;--teal:#138779;--line:#dce4dc;--mint:#e8f3ef;--peach:#fbefdf;--violet:#ebeffa}
body{background:var(--page);color:var(--ink);font-family:'Segoe UI',Arial,sans-serif}
header{border-color:var(--line);background:#fff;height:84px;padding:0 30px}
.brand{color:var(--forest);letter-spacing:.3px}.brand small{color:#638477;letter-spacing:1.8px;margin-top:3px;font-size:10px}
.shell{min-height:calc(100vh - 84px);grid-template-columns:224px 1fr}
aside{background:var(--forest);border-color:var(--forest);padding-top:28px}
aside p{color:#bfd3c9}aside .muted{color:#bfd3c9}
nav button{color:#e5eee7;border-radius:9px;padding:12px 14px;margin-bottom:6px;border:1px solid transparent}
nav button:hover{background:#355849;color:#fff}
nav button.active{background:var(--lime);color:var(--forest);border:1px solid var(--lime);font-weight:650}
main{padding:34px 38px}h1{color:var(--forest);letter-spacing:-.6px;font-weight:700}h2,h3{color:var(--ink)}
.eyebrow{color:#638477;font-weight:700}.muted,small{color:var(--muted)}
button{border-color:var(--line);border-radius:9px;background:#fff;color:#29493d;transition:background .15s,border-color .15s,box-shadow .15s}
button:hover{background:#edf4e5;border-color:#a4b99e}
button.active,.primary{background:var(--forest);color:#fff;border-color:var(--forest)}
button.active:hover,.primary:hover{background:#355849;color:#fff;border-color:#355849}
header .actions{padding:4px;background:#f3f5f1;border:1px solid var(--line);border-radius:13px;gap:5px}
header .actions button{border-color:transparent;background:transparent;padding:9px 13px}
header .actions button.active{background:var(--forest);color:white;box-shadow:0 2px 5px #203e3515}
a{color:#10746a;text-underline-offset:3px}a:hover{color:var(--forest)}
.card{border:1px solid #e0e6df;border-radius:16px;box-shadow:0 3px 14px #203e3504;padding:24px}
.row,th,td,.footer{border-color:#e5ebe3}.stat{color:var(--forest);font-weight:700;letter-spacing:-.8px}
.grid>.card:nth-child(1){background:#eaf0e3}.grid>.card:nth-child(2){background:#fbefdf}.grid>.card:nth-child(3){background:#e8f3ef}
.notice{background:#fff6e7;border:1px solid #eddfc6;color:#775e32;border-radius:10px;line-height:1.65}
.tag{background:#edf4e5;border:1px solid #dbe8d1;color:#507843;border-radius:20px;font-weight:600;padding:4px 9px}
.bar{background:#e5ecdf;height:8px;border-radius:10px;overflow:hidden}.bar span{background:var(--sage);border-radius:10px}
.placeholder{background:#e5ebe3;color:#647b70;border:1px dashed #b7c5b3;border-radius:11px}
input:not([type=checkbox]):not([type=radio]),select,textarea{border-color:var(--line);border-radius:9px;color:#29493d;accent-color:var(--teal)}
input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--teal)}
input::placeholder,textarea::placeholder{color:#819087}
input:focus,select:focus,textarea:focus{outline:2px solid #82ab6980;outline-offset:2px}
button:focus-visible,a:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
th{background:#f3f6f1;color:var(--muted)}td{color:var(--ink)}
dialog{border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 80px #203e3530;background:#fff;color:var(--ink)}
dialog::backdrop{background:#102d265e}.question{border-color:var(--line);border-radius:12px;background:#fafcf8}
.toast{border:1px solid #b8ceb6;border-radius:12px;background:var(--forest);color:white;box-shadow:0 8px 30px #203e3526}
.empty{border-color:#b9c9b6;border-radius:15px;background:#f9fbf7}.day{border-color:var(--line);border-radius:13px}
.day>b{color:#638477}.day .lesson{background:var(--mint);border-color:#cadfd5;border-radius:9px}.day:nth-child(4) .lesson{background:var(--peach);border-color:#ebdbc4}
.template-gallery{gap:24px}.template-card{border-color:#e0e6df;border-radius:16px;overflow:hidden;box-shadow:0 3px 14px #203e3505}
.template-select{border-radius:16px;padding:26px;background:#fff}.template-select:hover{background:#f8fbf5}
.template-select h2{color:var(--forest)}.template-select p{color:var(--muted)}.template-cta{color:var(--teal);font-weight:600}
.favorite-button{border-radius:9px;color:#638477;background:#ffffffd9}.favorite-button:hover{background:#edf4e5}.favorite-button[aria-pressed=true]{background:var(--lime);color:var(--forest)}
.template-sketch{background:#eaf0e3;border-color:#d7e1cf;color:#46633d;border-radius:10px}
.template-card:nth-child(2) .template-sketch{background:#fbefdf;border-color:#eddfc6;color:#8a6945}
.template-card:nth-child(3) .template-sketch{background:#e8f3ef;border-color:#cfe4da;color:#3e7964}
.template-card:nth-child(4) .template-sketch{background:#ebeffa;border-color:#d9dff1;color:#697ca7}
.template-card:nth-child(5) .template-sketch{background:#edf4e5;border-color:#d7e5ca;color:#507843}
.sketch-tile,.sketch-line,.sketch-columns>span{border-color:#b5c6ad;background:#ffffffdf;border-radius:4px;color:var(--ink)}
.answer-assembly{background:#f1f6e9;border-color:#a3bb92;border-radius:11px}.answer-assembly button{background:#e4efcf;border-color:#c7dbae}
.token-pool button{border-color:#b7cec3;background:#f5faf7}.category-labels .tag{background:#e8f3ef;color:#286955}
.footer{color:#7a8a80}.tabs button.active{box-shadow:0 2px 6px #203e3510}
@media(max-width:900px){.shell{grid-template-columns:170px 1fr}main{padding:24px}}
@media(max-width:600px){header{height:auto;padding:15px}header .actions{width:100%}header .actions button{flex:1;padding:9px 8px;font-size:12px}.shell{display:block}aside{padding:10px 8px;border-bottom:0}nav button{margin-bottom:0;padding:10px 12px;border-radius:8px}main{padding:20px 16px}.card{padding:20px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}
