:root{--bg:#f6f1ea;--ink:#1a1512;--muted:#6b5e56;--card:#fffdf9;--line:#e4d8cc;--accent:#c62828;--good:#1b7f4a;--bad:#b42318;--font:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--sans:"Avenir Next","Segoe UI",system-ui,sans-serif}*{box-sizing:border-box}html,body{background:radial-gradient(1200px 600px at 10% -10%,#ffe8d6 0%,transparent 55%),radial-gradient(900px 500px at 100% 0%,rgba(240,230,255,0) 0%,transparent 40%),var(--bg);color:var(--ink);font-family:var(--sans);min-height:100%;margin:0;padding:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.shell{max-width:960px;margin:0 auto;padding:1.25rem 1.25rem 3rem}.nav{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.25rem;margin-bottom:1.75rem;padding-bottom:.75rem;display:flex}.brand{font-family:var(--font);letter-spacing:.02em;color:var(--ink);font-size:1.35rem;text-decoration:none}.nav-links{flex-wrap:wrap;gap:.85rem;font-size:.92rem;display:flex}.nav-links a{color:var(--muted);text-decoration:none}.nav-links a:hover{color:var(--ink)}.hero-kpi{background:var(--card);border:1px solid var(--line);border-radius:4px;margin-bottom:1.25rem;padding:1.5rem 1.35rem}.hero-kpi h1{font-family:var(--font);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 .35rem;font-size:1.05rem;font-weight:600}.kpi-value{font-family:var(--font);margin:.2rem 0;font-size:max(2.2rem,min(5vw,3.2rem));line-height:1.05}.kpi-delta{font-size:1rem;font-weight:600}.kpi-delta.up{color:var(--good)}.kpi-delta.down{color:var(--bad)}.kpi-delta.flat{color:var(--muted)}.grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin:1rem 0 1.5rem;display:grid}.stat{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:.9rem 1rem}.stat .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.stat .val{font-family:var(--font);margin-top:.25rem;font-size:1.35rem}.panel{background:var(--card);border:1px solid var(--line);border-radius:4px;margin-bottom:1rem;padding:1.15rem 1.25rem}.panel h2{font-family:var(--font);margin:0 0 .75rem;font-size:1.15rem}.btn{background:var(--ink);color:#fff;cursor:pointer;font:inherit;border:none;border-radius:3px;padding:.65rem 1.1rem;font-size:.92rem;display:inline-block}.btn:hover{opacity:.9}.btn.secondary{color:var(--ink);border:1px solid var(--line);background:0 0}.btn.danger{background:var(--accent)}input,select,textarea{border:1px solid var(--line);width:100%;font:inherit;background:#fff;border-radius:3px;margin-bottom:.65rem;padding:.55rem .65rem}input[type=checkbox],input[type=radio]{background:0 0;border:none;flex-shrink:0;width:auto;margin:0;padding:0}label{color:var(--muted);margin-bottom:.25rem;font-size:.8rem;display:block}label.check{color:var(--ink);cursor:pointer;align-items:center;gap:.5rem;margin:.35rem 0 .75rem;font-size:.92rem;display:flex}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.5rem .4rem}th{color:var(--muted);text-transform:uppercase;font-size:.75rem;font-weight:600}.login-wrap{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-card{background:var(--card);border:1px solid var(--line);border-radius:4px;width:min(400px,100%);padding:1.75rem 1.5rem}.login-card h1{font-family:var(--font);margin:0 0 .35rem;font-size:1.75rem}.login-card p{color:var(--muted);margin:0 0 1.25rem;font-size:.92rem}.err{color:var(--bad);margin-bottom:.75rem;font-size:.85rem}.muted{color:var(--muted);font-size:.9rem}.qr{border:1px solid var(--line);background:#fff;width:200px;height:200px}.link-box{word-break:break-all;border:1px dashed var(--line);background:#faf6f1;border-radius:3px;padding:.65rem;font-size:.85rem}
