:root{--ink:#3c2830;--wine:#713448;--green:#286557;--paper:#faf8f3;--line:#e4ded2;--gold:#a97c35}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 Tahoma,Arial,sans-serif}a{color:var(--wine);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;background:var(--wine);border:1px solid var(--wine);color:#fff;border-radius:10px;padding:11px 21px;cursor:pointer;text-decoration:none;font-weight:bold;line-height:1.6}button:hover,.button:hover{filter:brightness(.94);text-decoration:none}.secondary{background:#fff;color:var(--wine);border-color:var(--line)}.quiet{background:transparent;color:var(--wine);border-color:var(--line)}.small{padding:6px 13px;font-size:13px}.wide{width:100%;margin-top:15px}.topbar{max-width:1400px;margin:auto;padding:18px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:22px}.brand{display:flex;align-items:center;gap:14px;font-weight:bold;color:var(--wine);font-size:21px}.brand img{width:66px;height:72px;object-fit:contain}.brand small{display:block;font-size:12px;font-weight:normal;color:#71655e}.topbar nav{display:flex;gap:20px;align-items:center;font-size:14px;flex-wrap:wrap}.topbar form{margin:0}.shell{max-width:1280px;margin:auto;padding:24px 5% 65px;min-height:78vh}.hero{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:60px;padding:55px 0 70px}.hero h1{font-size:clamp(34px,4vw,56px);line-height:1.5;letter-spacing:-1px;margin:18px 0}.hero h1 em{font-style:normal;color:var(--green)}.hero p{max-width:650px;font-size:18px;color:#76675f}.hero img{width:100%;max-height:340px;object-fit:contain}.eyebrow{font-size:13px;color:var(--gold);font-weight:bold}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;margin:20px 0;min-width:0}.grid{display:grid;gap:18px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid .panel{margin:0}.step{font-size:30px;color:var(--gold);font-family:Georgia,serif}.panel h2{font-size:21px;margin:0 0 10px}.panel p{margin:10px 0}.panel h1{margin:8px 0 18px;font-size:32px}.auth{max-width:550px;margin:40px auto;padding:38px}.muted,small{color:#7b7068}label{display:block;font-weight:bold;font-size:14px;margin:16px 0}input:not([type=checkbox]),select,textarea{display:block;width:100%;border:1px solid #d9cfc0;border-radius:9px;padding:11px 13px;margin-top:7px;background:#fff;color:var(--ink)}input[type=file]{font-size:13px}label small{display:block;font-weight:normal;font-size:12px}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:3px solid #bf9b52;outline-offset:3px}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.actions form{margin:0}.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0 25px}.page-title h1{margin:6px 0;font-size:32px}.account-line{font-size:12px;color:#7e7064;display:flex;justify-content:space-between;gap:15px;margin:0 0 22px}.metric{background:#efeade;border:1px solid var(--line);padding:22px;border-radius:14px}.metric b{font-size:37px;display:block;color:var(--wine)}.metric span{font-size:13px;color:#75685b}.tablewrap{overflow:auto;margin:16px 0}table{border-collapse:collapse;width:100%;font-size:13px;text-align:right}th,td{padding:13px 12px;border-bottom:1px solid #eee7dc;vertical-align:top;white-space:nowrap}th{background:#f5f0e6;font-size:12px;color:#75634f}td small{display:block}.badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;background:#ecebe5}.approved{background:#e5f2ea;color:#235e3b}.pending{background:#fff1d4;color:#8a5c0b}.rejected,.suspended{background:#f9e5e5;color:#943c3c}.empty{text-align:center;color:#8d7e70;padding:25px}.notice{padding:14px 20px;border-radius:12px;margin:16px 0;background:#edf3e9;border:1px solid #c5d5bf}.notice.error{background:#fff0eb;border-color:#dfb8a6}.password{display:block;background:#f1f2ed;padding:7px;direction:ltr;user-select:all;color:#273e34}summary{font-weight:bold;cursor:pointer;color:var(--wine)}details form{margin-top:16px}.count{background:#f3ede0;border-radius:25px;padding:4px 12px;font-size:13px}.checkcard{display:flex;gap:12px;align-items:center;background:#faf8f2;border:1px solid var(--line);padding:15px;border-radius:10px;margin:0;font-weight:normal}.checkcard input{width:18px;height:18px;accent-color:var(--wine)}.linkpanel{color:var(--ink);display:block}.linkpanel:hover{border-color:var(--gold);text-decoration:none}.foot{padding:24px 5%;text-align:center;color:#8b7b6f;font-size:12px;border-top:1px solid var(--line)}@media(max-width:800px){.topbar{align-items:flex-start;flex-direction:column}.topbar nav{gap:12px}.hero{grid-template-columns:1fr;gap:15px;padding:25px 0}.hero img{max-height:190px;grid-row:1}.three,.two{grid-template-columns:1fr}.page-title{align-items:flex-start;flex-direction:column}.panel{padding:20px}.shell{padding-inline:5%}.auth{padding:24px}.account-line{flex-direction:column;gap:3px}.hero h1{font-size:34px}.hero p{font-size:16px}}

.lesson-card{padding:22px;border:1px solid #e5ded5;border-radius:16px;background:#faf9f5;color:inherit;text-decoration:none}.lesson-card:hover{border-color:#85513f;background:#fff}.lesson-card span,.lesson-card p{color:#716b62}.learning-preview{width:100%;height:75vh;border:1px solid #ded7cf;border-radius:18px;background:white}.editor-actions{position:sticky;bottom:0;padding:16px;display:flex;gap:22px;align-items:center;background:#fff;border:1px solid #eee;border-radius:16px}textarea{width:100%;padding:12px;border:1px solid #d8d3cb;border-radius:10px;box-sizing:border-box}summary{cursor:pointer;padding:12px}details form{padding-top:16px}
.scope-badge{display:inline-block;padding:7px 14px;background:#edf1e7;color:#50623f;border-radius:30px;font-size:13px}.stage-editor{padding:20px;margin:18px 0;border:1px solid #ded8ce;border-radius:15px;background:#faf9f5}.stage-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.stage-top button{padding:5px 10px;font-size:12px}.toggle{display:flex;align-items:center;gap:10px}.toggle input{width:auto}.searchable[hidden]{display:none}

.password-rules{margin:12px 0;padding:14px 18px;background:#f7f5ed;border:1px solid #e5decd;border-radius:12px;font-size:13px;line-height:1.9}.password-rules ol{padding-right:20px;margin:8px 0}.password-rules p{margin:8px 0 0}.password-rules code{font-size:16px;color:#713448}

/* Preserve the original transparent emblem proportions at every breakpoint. */
.brand{flex-shrink:0}.brand img{display:block;width:72px;height:auto;max-height:none;aspect-ratio:1120/1404;object-fit:contain;flex:none;background:transparent;filter:drop-shadow(0 3px 4px #71344812)}.hero-brand{display:flex;align-items:center;justify-content:center;position:relative;isolation:isolate;padding:14px 28px}.hero-brand:before{content:"";position:absolute;inset:8% -5%;z-index:-1;background:radial-gradient(ellipse,#eee4ce88,transparent 70%);border-radius:50%}.hero .hero-brand img{display:block;width:min(100%,300px);height:auto;max-height:none;object-fit:contain;background:transparent;filter:drop-shadow(0 14px 16px #59302516)}@media(max-width:760px){.brand img{width:58px;height:auto}.hero-brand{padding:10px 25px}.hero .hero-brand img{width:min(70vw,250px);height:auto;max-height:none}}

/* Give management pages the available viewport width. */
.dashboard-layout .shell,.dashboard-layout .topbar{width:100%;max-width:none;padding-inline:clamp(16px,2.4vw,48px)}
.dashboard-layout .shell{min-height:calc(100vh - 140px)}
.dashboard-layout .topbar{flex-wrap:wrap}
@media(max-width:760px){.dashboard-layout .shell,.dashboard-layout .topbar{padding-inline:14px}.dashboard-layout .panel{padding:18px}.dashboard-layout .page-title{flex-wrap:wrap}}

.grade-filters{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.grade-filters .button{gap:12px;padding:9px 15px}.grade-count{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;border-radius:50%;background:#ffffff30;font-size:12px}.grade-filters .secondary .grade-count{background:#f1ece3}.grade-filters [aria-current=page]{box-shadow:0 0 0 3px #71344820}@media(max-width:600px){.grade-filters .button{flex:1 1 calc(50% - 10px)}}

.school-registration.auth{max-width:860px}.registration-credentials{align-items:start}.registration-credentials label{min-width:0}.registration-credentials small{overflow-wrap:anywhere}@media(max-width:760px){.school-registration.auth{padding:24px 18px}.registration-credentials{grid-template-columns:1fr}}
