:root{--ink:#4b3428;--paper:#fffdf7;--green:#527b3d;--line:#e4daca;--wash:#fcf8ef;font:17px/1.6 system-ui,sans-serif;color:var(--ink);background:var(--wash)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a{color:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:9px 22px;border:2px solid var(--ink);border-radius:20px;background:var(--paper);color:var(--ink);font-weight:700;text-decoration:none;cursor:pointer;box-shadow:0 3px 0 var(--ink)}button:active,.button:active{transform:translateY(2px);box-shadow:0 1px 0 var(--ink)}button:disabled{cursor:wait;opacity:.65}.primary{background:var(--green);color:#fff}input,select,textarea{width:100%;padding:12px;border:2px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}:focus-visible{outline:3px solid #eda525;outline-offset:3px}[hidden]{display:none!important}.brand{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px max(20px,calc((100% - 1080px)/2));border-bottom:2px solid var(--line);background:var(--paper)}.brand>a{font-weight:800;text-decoration:none;display:flex;align-items:center;gap:10px}.brand img{width:38px;height:44px;object-fit:contain}main{max-width:1080px;margin:40px auto;padding:0 20px}.panel{background:var(--paper);border:2px solid var(--line);border-radius:26px;padding:28px;box-shadow:0 4px 0 #4b342808}.login{max-width:440px;margin:10vh auto;text-align:center;border:3px solid var(--ink);box-shadow:0 6px 0 var(--line)}h1{font-size:30px;line-height:1.3;margin:12px 0 24px}h2{font-size:23px;margin:0 0 18px}form{display:grid;gap:14px}label{text-align:left;font-weight:700}.actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:20px}[role=status],[role=alert]{min-height:1.6em;margin:8px 0;color:#6c503f}.muted{font-size:15px;color:#776154}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:22px}.course{display:flex;align-items:center;gap:18px;text-decoration:none;min-height:148px;border:2px solid var(--ink);box-shadow:0 4px 0 var(--ink)}.course img{width:76px;height:90px;object-fit:contain}.course strong{display:block;font-size:22px}.course small{display:block;color:#80634c}.toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:24px}.compact{min-height:44px;padding:6px 16px;font-size:15px}.stack{display:grid;gap:20px}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.check-grid label{display:flex;align-items:center;gap:10px;padding:8px}.check-grid input{width:22px;height:22px;accent-color:var(--green)}.student-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line);padding:16px 0}.student-row p{margin:0}.student-row .actions{margin:0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.learning-card{text-align:center;border:2px solid var(--ink);border-radius:20px;padding:24px;background:white;break-inside:avoid}.learning-card svg{width:180px;height:180px;max-width:100%}.learning-code{font:700 19px/1.8 ui-monospace,monospace;letter-spacing:2px;overflow-wrap:anywhere}.hero-logo{width:88px;height:88px;object-fit:contain}.notice{padding:12px 20px;border-radius:14px;background:#fff0ca}.tabs{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.tabs [aria-current=true]{background:#e6efd9}.logout{font-size:14px}.empty{text-align:center;padding:44px 20px}@media(max-width:500px){main{margin:24px auto;padding:0 14px}.brand{padding:14px}.brand>a{font-size:17px}.panel{padding:20px}.login{margin:7vh auto}h1{font-size:26px}.toolbar{align-items:flex-start}.course strong{font-size:20px}.student-row .actions{justify-content:flex-start}}@media print{body{background:white}.brand,.no-print{display:none!important}main{max-width:none;margin:0;padding:0}.cards{grid-template-columns:1fr 1fr}.learning-card{box-shadow:none}.panel{border:0}}

.student-number,.initial-password{font-family:ui-monospace,monospace;overflow-wrap:anywhere}.account-number{font-size:26px;font-weight:800;letter-spacing:1px}.initial-password{font-size:22px}.account-url{font-size:14px;overflow-wrap:anywhere}.spelling-row{display:grid;gap:8px;padding:16px;border:1px solid var(--line);border-radius:14px}.toolbar .actions{margin-top:0}#studentSearch{margin-top:10px}#searchResults{margin-top:12px}

.login-fallback{display:grid;gap:14px;min-width:0;border:0;padding:0;margin:0}
