:root{--mint:#8DD9BF;--ink:#000;--bg:#fff;--mut:#555;--line:#e3e3e3}
@media(prefers-color-scheme:dark){:root{--bg:#111;--ink:#fff;--mut:#aaa;--line:#2b2b2b}}
*{box-sizing:border-box}body{margin:0;font-family:Montserrat,sans-serif;background:var(--bg);color:var(--ink);min-height:100vh;display:flex;flex-direction:column}
header,footer{background:#000;color:#fff;padding:14px 16px;display:flex;justify-content:space-between;align-items:center}
footer{font-size:12px;justify-content:center;margin-top:auto}
.brand{font-family:'Alfa Slab One',serif;letter-spacing:.04em;font-size:15px}
nav button{background:none;border:0;color:#fff;font:600 13px Poppins;cursor:pointer;margin-left:12px}
main{max-width:640px;width:100%;margin:0 auto;padding:24px 16px}
h1{font-family:'Alfa Slab One',serif;font-weight:400;font-size:28px;margin:0 0 8px}
p{line-height:1.5;color:var(--mut)}
input,select{width:100%;padding:14px;font:16px Montserrat;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);margin:8px 0}
.btn{background:var(--mint);color:#000;border:0;border-radius:999px;padding:14px 22px;font:600 14px Poppins;cursor:pointer;width:100%;margin-top:8px}
.btn.ghost{background:none;border:1px solid var(--line);color:var(--ink)}
.msg{padding:12px;border-radius:10px;background:var(--line);margin:12px 0;color:var(--ink)}.err{border-left:4px solid #c33}.ok{border-left:4px solid var(--mint)}
table{width:100%;border-collapse:collapse;font-size:14px}td,th{padding:8px 4px;border-bottom:1px solid var(--line);text-align:left}
