:root{color-scheme:light;--bg: #f4efe6;--ink: #1c1915;--muted: #5c564c;--card: #fffdf8;--line: #d9d0c2;--accent: #1f4d3a;--accent-ink: #f4efe6;--danger: #8b2e1f;font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg: #1c1915;--ink: #f4efe6;--muted: #c4b8a8;--card: #2a2520;--line: #4a4238;--accent: #8fbfa8;--accent-ink: #1c1915;--danger: #e08a7a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}a{color:var(--accent)}button,input,select{font:inherit}button{background:var(--accent);color:var(--accent-ink);border:0;border-radius:6px;padding:.45rem .8rem;cursor:pointer}button.secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}input,select,textarea{border:1px solid var(--line);border-radius:6px;padding:.4rem .55rem;background:var(--card);color:var(--ink)}.shell{min-height:100vh}.topbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;padding:.9rem 1.4rem;border-bottom:1px solid var(--line);background:var(--card)}.brand{font-weight:700;letter-spacing:.04em}nav{display:flex;gap:1rem;align-items:center}nav a[aria-current=page]{font-weight:700}.session-bar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.session-bar label{display:flex;gap:.35rem;align-items:center;color:var(--muted);font-size:.95rem}main{padding:1.4rem;max-width:1100px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.2rem}.toolbar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:1rem}.flash{color:var(--muted);margin:.5rem 0}.error{color:var(--danger)}.tree,table{width:100%;border-collapse:collapse}.tree-row,th,td{text-align:left;padding:.4rem .35rem;border-bottom:1px solid var(--line)}.tree-row{display:grid;grid-template-columns:8rem 1fr 4rem 6rem;gap:.5rem}.tree-row.with-balances{grid-template-columns:8rem 1fr 4rem 6rem 7rem 7rem 7rem}.money{font-variant-numeric:tabular-nums;text-align:right}.line-grid{display:grid;grid-template-columns:2fr 7rem 7rem 1fr auto;gap:.4rem;align-items:center;margin-bottom:.35rem}.policy-form{display:grid;gap:.75rem}.policy-form .fields{display:flex;flex-wrap:wrap;gap:.75rem}.policy-form label{display:grid;gap:.3rem}table[data-testid=policy-table] tbody tr{cursor:pointer}.login{max-width:24rem;margin:4rem auto}.login form{display:grid;gap:.75rem}.login label{display:grid;gap:.3rem}
