:root{--bg:#f7f5f1;--fg:#1c1b19;--muted:#6b6560;--border:#d9d2c8;--accent:#2f5d50;--danger:#8b2e2e;--surface:#ffffff;--font:"IBM Plex Sans","Segoe UI",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:var(--bg);color:var(--fg);font-family:var(--font)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}main{padding:1.5rem}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}nav.side{border-right:1px solid var(--border);background:var(--surface);padding:1.25rem 1rem}nav.side .brand{font-weight:700;margin-bottom:1.5rem;color:var(--fg);text-decoration:none}nav.side ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:.5rem;gap:.5rem}nav.side a{color:var(--fg)}.auth-card{max-width:420px;margin:4rem auto;background:var(--surface);border:1px solid var(--border);padding:1.5rem}.auth-card h1{margin-top:0;font-size:1.4rem}.auth-card label{display:grid;grid-gap:.35rem;gap:.35rem;margin-bottom:1rem;font-size:.9rem}.auth-card input{padding:.55rem .65rem;border:1px solid var(--border);background:#fff;font:inherit}.auth-card button,.button{border:0;background:var(--accent);color:#fff;padding:.6rem 1rem;font:inherit;cursor:pointer}.error{color:var(--danger);margin-bottom:1rem}.muted{color:var(--muted)}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:1rem;gap:1rem;margin:1.25rem 0}.stat{background:var(--surface);border:1px solid var(--border);padding:1rem}.stat-label{color:var(--muted);font-size:.85rem}.stat-value{font-size:1.75rem;font-weight:600}.balance-list{list-style:none;padding:0;margin:0 0 1.5rem;display:grid;grid-gap:.5rem;gap:.5rem}.balance-list li{background:var(--surface);border:1px solid var(--border);padding:.75rem 1rem}.filters{display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin-bottom:1rem;align-items:flex-end}.filters label,.stack-form label{display:grid;grid-gap:.3rem;gap:.3rem;font-size:.9rem}.filters input,.filters select,.stack-form input,.stack-form select,.stack-form textarea{padding:.45rem .55rem;border:1px solid var(--border);background:#fff;font:inherit}.stack-form{max-width:520px;display:grid;grid-gap:.85rem;gap:.85rem;margin-bottom:2rem}.stack-form fieldset{border:1px solid var(--border);padding:.75rem}.stack-form .inline{display:flex;gap:.5rem;align-items:center;margin-bottom:.35rem}.data-table{width:100%;border-collapse:collapse;background:var(--surface);font-size:.92rem}.data-table td,.data-table th{border:1px solid var(--border);padding:.5rem .65rem;text-align:left;vertical-align:top}.pager{display:flex;justify-content:space-between;margin-top:1rem}.detail-list{display:grid;grid-gap:.65rem;gap:.65rem;margin-bottom:1.25rem}.detail-list>div{display:grid;grid-template-columns:140px 1fr;grid-gap:.5rem;gap:.5rem}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0}.actions-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;align-items:center}.button-secondary{background:#5a6b63!important}.button-danger{background:var(--danger)!important}.ok{color:var(--accent)}.audit-list{padding-left:1.25rem}.audit-json{background:#f0ece4;padding:.5rem;font-size:.75rem;overflow:auto;max-height:160px}.inline-edit{display:grid;grid-gap:.35rem;gap:.35rem}@media (max-width:720px){.shell{grid-template-columns:1fr}nav.side{border-right:0;border-bottom:1px solid var(--border)}.detail-list>div{grid-template-columns:1fr}}