:root{--bg: #14100d;--bg2: #1c1612;--panel: #231b15;--line: #3a2d22;--text: #efe4d2;--muted: #a39581;--accent: #e0a458;--accent2: #c2703d;--danger: #e5766a;--ok: #8fc27a;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:radial-gradient(1200px 700px at 50% -10%,#2a1f16 0%,var(--bg) 60%) fixed;color:var(--text);font:16px/1.5 var(--sans);-webkit-font-smoothing:antialiased}h1,h2{font-family:var(--serif);font-weight:600;letter-spacing:.01em;margin:0 0 .4em}.muted{color:var(--muted)}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn{font:inherit;cursor:pointer;border-radius:10px;padding:.65em 1.1em;border:1px solid var(--line);background:var(--panel);color:var(--text);transition:transform .08s,background .15s,border-color .15s}.btn:hover{border-color:var(--accent2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:progress}.btn.primary{background:linear-gradient(180deg,var(--accent),var(--accent2));color:#1b120a;border-color:transparent;font-weight:600}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{background:transparent;padding:.4em .8em;font-size:.9rem}.login-screen{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.login-card{width:min(400px,100%);display:grid;gap:.45rem;padding:2.2rem 2rem 2rem;text-align:center;background:linear-gradient(180deg,#2a2018,var(--panel));border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 80px #0000008c,inset 0 1px #ffffff0a}.login-card .die{font-size:3.2rem;line-height:1;color:var(--accent);text-shadow:0 0 28px rgba(224,164,88,.45)}.login-card h1{font-size:2.4rem;margin:0;letter-spacing:.18em}.login-card .tagline{color:var(--muted);margin:0 0 1rem;font-family:var(--serif);font-style:italic}.login-card label{text-align:left;font-size:.85rem;color:var(--muted);margin-top:.5rem}.login-card input{font:inherit;color:var(--text);background:#120d0a;border:1px solid var(--line);border-radius:10px;padding:.7em .85em}.login-card input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #e0a45833}.login-card .btn{margin-top:1rem}.form-error{min-height:1.4em;margin:.4rem 0 0;color:var(--danger);font-size:.92rem}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:1.2rem;padding:.6rem 1.2rem;background:#14100dd9;backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.brand{font-family:var(--serif);font-size:1.4rem;letter-spacing:.16em;display:flex;align-items:center;gap:.5rem}.brand .die{color:var(--accent)}nav{display:flex;gap:.2rem;flex:1;overflow-x:auto;scrollbar-width:none}nav a{display:flex;align-items:center;gap:.4rem;padding:.45em .8em;border-radius:9px;color:var(--muted);white-space:nowrap;font-size:.93rem}nav a:hover{color:var(--text);background:var(--bg2)}nav a.active{color:var(--text);background:var(--panel);box-shadow:inset 0 -2px 0 var(--accent)}.topbar-right{display:flex;align-items:center;gap:.8rem}.dot{width:9px;height:9px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 3px #e5766a26}.dot.on{background:var(--ok);box-shadow:0 0 0 3px #8fc27a26}.badge{font-size:.75rem;padding:.15em .6em;border-radius:99px;border:1px solid var(--accent2);color:var(--accent)}.badge[hidden]{display:none}.spend{position:relative;display:flex;gap:.45rem;align-items:baseline;font-size:.92rem;cursor:default;padding:.2em .5em;border-radius:8px}.spend strong{font-variant-numeric:tabular-nums;color:var(--accent)}.spend-pop{display:none;position:absolute;right:0;top:100%;margin-top:.4rem;min-width:250px;padding:.8rem 1rem;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px #00000080}.spend:hover .spend-pop,.spend:focus .spend-pop,.spend:focus-within .spend-pop{display:block}.spend-pop div{display:flex;justify-content:space-between;gap:1rem;font-size:.88rem;padding:.12rem 0}.spend-pop div span{color:var(--muted)}.spend-pop hr{border:0;border-top:1px solid var(--line);margin:.4rem 0}.content{flex:1;padding:2rem 1.4rem;width:min(1100px,100%);margin:0 auto}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:2rem}.empty{text-align:center;padding:4rem 1.5rem}.empty-icon{font-size:3rem;margin-bottom:.6rem}@media(max-width:720px){.topbar{flex-wrap:wrap}nav{order:3;flex-basis:100%}}
