:root{--ink:#14213d;--bg:#f5f7fb;--card:#fff;--line:#dde3ee;--leaf:#1f7a5c;--chalk:#f2b84b;--mut:#5b6678}
@media(prefers-color-scheme:dark){:root{--ink:#e8edf7;--bg:#0f1626;--card:#18213a;--line:#2a3555;--leaf:#4cc39a;--mut:#9aa6bf}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 "Segoe UI",system-ui,sans-serif}
.top{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px 20px;background:#14213d;color:#fff;border-bottom:4px solid var(--chalk)}
.brand{color:#fff;font-weight:700;font-size:1.1rem;text-decoration:none}.chip{background:var(--chalk);color:#14213d;border-radius:99px;padding:1px 10px;font-size:.8rem;font-weight:700}
.top nav{margin-left:auto;display:flex;flex-wrap:wrap;gap:4px 16px}.top nav a{color:#dfe6f5;text-decoration:none}.top nav a:hover{color:#fff;text-decoration:underline}
main{max-width:980px;margin:0 auto;padding:24px 16px 40px}h1{margin:.2em 0 .6em;font-size:1.6rem}h3{margin:0 0 .6em}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;margin:0 0 16px;overflow-x:auto}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.stat{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--leaf);border-radius:12px;padding:14px;color:var(--mut)}.stat b{display:block;font-size:1.9rem;color:var(--ink)}
input,select{width:100%;padding:11px 12px;margin:0 0 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit}
label{display:block;font-weight:600;margin-bottom:4px}small{color:var(--mut);font-weight:400}
button,.btn{display:inline-block;padding:10px 18px;border:0;border-radius:8px;background:var(--leaf);color:#fff;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.btn.ghost{background:transparent;color:var(--leaf);border:1px solid var(--leaf)}button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--chalk);outline-offset:2px}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line)}th{color:var(--mut);font-weight:600}
.note{background:#fff6dc;color:#5a4300;border:1px solid var(--chalk);border-radius:10px;padding:10px 14px;margin-bottom:16px}
.login{max-width:400px;margin:8vh auto}footer{text-align:center;color:var(--mut);padding:20px;font-size:.85rem}
@media(min-width:700px){form.card input,form.card select{max-width:420px;display:block}}
