:root{--wine:#620000;--cream:#fff5da;--sky:#95d7e9;--ink:#332927;--muted:#736760;--line:#e7dac9;--paper:#fffdfa;--bg:#faf7f0;--warn:#7d5218}
*{box-sizing:border-box}[hidden]{display:none!important}html{font-size:16px}body{margin:0;background:var(--bg);color:var(--ink);font:16px Barlow,Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}
.demo-banner{text-align:center;padding:9px 15px;background:#e7f4fa;color:#174759;font-size:12px;font-weight:700;letter-spacing:.05em;border-bottom:1px solid #9ed3e0}
header{background:var(--wine);color:var(--cream);padding:20px max(18px,calc((100% - 1120px)/2));display:flex;justify-content:space-between;align-items:center;gap:15px}.brand{display:flex;align-items:baseline;gap:15px}.brand strong{font:48px 'Bebas Neue',sans-serif;letter-spacing:2px;line-height:1}.brand span{font:600 11px Barlow,Arial,sans-serif;letter-spacing:.18em}.account{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}.account button{background:transparent;color:var(--cream);border:1px solid #ad7777}
button{border:1px solid var(--line);border-radius:10px;padding:11px 15px;background:white;color:var(--wine);font-weight:600;min-height:44px}button.primary{background:var(--wine);border-color:var(--wine);color:var(--cream)}button.ghost{background:transparent}button:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
main{max-width:1120px;margin:25px auto;padding:0 18px 40px}.hero{margin:0 0 20px}.eyebrow{color:var(--muted);font-weight:700;letter-spacing:.11em;text-transform:uppercase;font-size:12px}.hero h1{margin:4px 0;font:45px 'Bebas Neue',sans-serif;letter-spacing:.02em;color:var(--wine)}.hero p{margin:4px 0;color:var(--muted)}
.panel{background:var(--paper);border:1px solid var(--line);padding:20px;border-radius:16px;box-shadow:0 4px 20px rgba(98,0,0,.04)}.panel h2{font-size:20px;margin:0 0 12px}.panel h3{font-size:16px;margin:0 0 10px}.muted{color:var(--muted)}.small{font-size:13px}.card-list{display:grid;gap:12px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px}.student-card{display:flex;flex-direction:column;gap:9px;text-align:left;width:100%;border:1px solid var(--line);background:#fff;padding:16px;border-radius:13px}.student-card:hover{border-color:var(--wine)}.pill{display:inline-flex;padding:5px 10px;border-radius:100px;font-size:12px;font-weight:700;background:#f2ebe1;color:#714f39}.pill.sky{background:#ddf3fa;color:#285361}.pill.neutral{background:#eeeae6;color:#605a55}.pill.warn{background:#fff1d4;color:var(--warn)}.pill.good{background:#e4f2e8;color:#256044}
nav{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:17px}nav button.selected{background:var(--wine);border-color:var(--wine);color:var(--cream)}.stack{display:grid;gap:15px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.line{border-top:1px solid var(--line);margin:12px 0}.item{padding:11px 0;border-top:1px solid var(--line)}.item:first-of-type{border-top:0}.summary-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.outline{border:1px solid var(--line);border-radius:12px;padding:14px}.attention{border:1px solid #e0c394;border-left:4px solid #d3a55f;background:#fffaf0;padding:14px;border-radius:11px}.empty{padding:25px;text-align:center;color:var(--muted);background:#f8f4ec;border:1px dashed var(--line);border-radius:12px}.back{margin-bottom:15px}.login{max-width:550px;margin:8vh auto}.login h1{font:44px 'Bebas Neue';color:var(--wine);margin-bottom:4px}.login-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.login .note{background:#eef6f8;border-radius:10px;padding:13px;font-size:13px;margin-top:19px}.footnote{font-size:12px;color:var(--muted);margin:25px auto;text-align:center;max-width:850px}
@media(max-width:750px){header{padding:16px}.brand strong{font-size:38px}.brand span{font-size:10px}main{margin:17px auto;padding:0 14px}.hero h1{font-size:37px}.grid2,.login-actions{grid-template-columns:1fr}.panel{padding:16px}.account span{display:none}}
