:root{--ink:#14181f;--mute:#5c6675;--line:#d7dde6;--panel:#ffffffdb;--bg0:#e8eef4;--bg1:#f7f9fc;--gold:#b08a3c;--gold-deep:#8a6a2a;--ok:#1f7a4c;--warn:#9a6b12;--danger:#b42318;--shadow:0 18px 50px #14181f14;color:var(--ink);background:var(--bg1);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Outfit,system-ui,sans-serif;font-weight:450;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(1200px 600px at 10% -10%, #b08a3c2e, transparent 55%), radial-gradient(900px 500px at 100% 0%, #4664821f, transparent 50%), linear-gradient(165deg, var(--bg0), var(--bg1) 45%, #eef2f6);min-height:100vh}h1,h2,.brand{letter-spacing:-.02em;font-family:Fraunces,Georgia,serif;font-weight:700}button,input,select{font:inherit}a{color:inherit}.login-shell{grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid}@media (width<=900px){.login-shell{grid-template-columns:1fr}}.login-hero{color:#f5f0e6;background:linear-gradient(145deg,#14181f8c,#14181f40),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cg fill='none' stroke='%23b08a3c' stroke-opacity='0.22'%3E%3Cpath d='M0 80h160M80 0v160'/%3E%3Ccircle cx='80' cy='80' r='28'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(160deg,#1c2430,#2f3b4a 50%,#1a1f27);flex-direction:column;justify-content:flex-end;min-height:42vh;padding:48px 40px;display:flex;position:relative}.login-hero-veil{pointer-events:none;background:radial-gradient(600px 320px at 30% 80%,#b08a3c47,#0000 60%);position:absolute;inset:0}.login-hero-mark{margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(2.4rem,5vw,4rem);line-height:1.05;position:relative}.login-hero-line{color:#f5f0e6b8;margin:10px 0 0;font-size:1.05rem;position:relative}.login-card{background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;justify-content:center;padding:40px clamp(24px,5vw,64px);display:flex}.login-card .brand{color:var(--gold-deep);margin:0 0 8px;font-size:1.35rem}.login-card h1{margin:0 0 8px;font-size:2rem}.login-sub{color:var(--mute);margin:0 0 24px}.login-card label{color:var(--mute);margin:12px 0 6px;font-size:.85rem;font-weight:600;display:block}.login-card input{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;padding:12px 14px}.login-card button{background:linear-gradient(135deg, var(--gold), var(--gold-deep));color:#fff;cursor:pointer;border:0;border-radius:12px;width:100%;margin-top:22px;padding:14px 16px;font-weight:700}.login-card button:disabled{opacity:.65;cursor:wait}.login-alert{color:var(--danger);background:#fdecea;border:1px solid #f3c6c2;border-radius:12px;margin:0 0 12px;padding:12px 14px}.login-hint{color:var(--mute);margin-top:18px;font-size:.88rem}.dash{max-width:1100px;margin:0 auto;padding:28px 20px 56px}.dash-loading{text-align:center;color:var(--mute);padding:48px}.dash-top{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px;display:flex}.dash-top .brand{color:var(--gold-deep);margin:0;font-size:1.2rem}.dash-top h1{margin:4px 0 6px;font-size:clamp(1.8rem,3vw,2.4rem)}.dash-sub{color:var(--mute);max-width:42ch;margin:0}.dash-user{color:var(--mute);align-items:center;gap:10px;display:flex}.ghost{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;padding:8px 14px;font-weight:600}.metric-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}@media (width<=800px){.metric-row{grid-template-columns:1fr 1fr}.dash-top{flex-direction:column}}.metric{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:16px 14px}.metric .lab{letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin:0;font-size:.72rem;font-weight:700}.metric .val{font-variant-numeric:tabular-nums;margin:8px 0 0;font-size:1.35rem;font-weight:700}.metric.ok .val{color:var(--ok)}.metric.warn .val{color:var(--warn)}.metric.danger .val{color:var(--danger)}.dash-grid{grid-template-columns:1.35fr .9fr;gap:16px;display:grid}@media (width<=900px){.dash-grid{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:22px 20px}.panel h2{margin:0 0 8px;font-size:1.35rem}.help{color:var(--mute);margin:0 0 16px;font-size:.9rem}.help code,.kv code{background:#eef2f6;border-radius:6px;padding:1px 6px;font-size:.85em}.panel label,.lab-inline{color:var(--mute);margin:14px 0 6px;font-size:.82rem;font-weight:600;display:block}.panel input{border:1px solid var(--line);background:#fff;border-radius:11px;width:100%;padding:11px 12px}.row2{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=520px){.row2{grid-template-columns:1fr}}.force-row{flex-wrap:wrap;gap:8px;display:flex}.force{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:11px;padding:10px 12px;font-weight:600}.force.active{background:var(--ink);color:#fff;border-color:var(--ink)}.actions{margin-top:20px}.actions button{background:linear-gradient(135deg, var(--gold), var(--gold-deep));color:#fff;cursor:pointer;border:0;border-radius:12px;padding:12px 16px;font-weight:700}.actions button:disabled{opacity:.65}.ok-msg{color:var(--ok);margin:12px 0 0}.err-msg{color:var(--danger);margin:12px 0 0}.kv{margin:0}.kv>div{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:8px;padding:10px 0;display:grid}.kv dt{color:var(--mute);margin:0;font-size:.85rem}.kv dd{text-align:right;margin:0;font-weight:600}
