:root{--ink: #120705;--surface: #1a0a06;--surface-raised: #2b0d06;--line: #3a1a10;--text: #ffe9c4;--text-dim: #c98a3b;--gold: #ffd23f;--flame: #ff7a12;--blood: #d92312;--space-2xs: 2px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 4px;--radius-md: 10px;--radius-lg: 14px}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--text);font-family:Archivo,sans-serif;font-size:15px;line-height:1.5}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.num{font-variant-numeric:tabular-nums lining-nums}.app{max-width:1100px;margin:0 auto;padding:var(--space-lg) var(--space-md) var(--space-2xl)}.topbar{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;padding-bottom:var(--space-md);border-bottom:1px solid var(--line);margin-bottom:var(--space-lg)}.topbar h1{font-size:19px;font-weight:700;letter-spacing:.4px;margin:0}.topbar .who{color:var(--text-dim);font-size:13px;display:flex;align-items:center;gap:var(--space-sm)}.role{border:1px solid var(--line);border-radius:999px;padding:0 var(--space-sm);font-size:12px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase}button{font:inherit;font-weight:700;letter-spacing:.5px;color:var(--text);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);min-height:44px;padding:0 var(--space-md);cursor:pointer;transition:transform .1s ease-out,background-color .15s ease-out}button:hover:not(:disabled){background:#3a1409}button:active:not(:disabled){transform:translateY(1px)}button.primary{background:var(--flame);border-color:var(--flame);color:#2b0d06}button.primary:hover:not(:disabled){background:#ff8c33}button.danger{border-color:var(--blood);color:#ff9b8f}button.quiet{min-height:32px;font-weight:500;letter-spacing:0;background:transparent}button:disabled,button.primary:disabled,button.danger:disabled,button.quiet:disabled{cursor:not-allowed;background:#1d0c07;color:#6b4a2a;border-color:#2a1109;transform:none}input,select{font:inherit;color:var(--text);background:var(--ink);border:1px solid var(--line);border-radius:var(--radius-md);min-height:44px;padding:0 var(--space-sm);width:100%}input::placeholder{color:#6b4a2a}label{display:block;font-size:12px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-dim);margin-bottom:var(--space-xs)}.login{min-height:100vh;display:grid;place-items:center;padding:var(--space-md)}.login form{width:min(360px,100%);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-lg)}.login h1{font-size:19px;margin:0 0 var(--space-lg)}.field{margin-bottom:var(--space-md)}.error,.notice{border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);font-size:14px}.error{border:1px solid var(--blood);background:#2a0c08;color:#ffb3a7}.notice{border:1px solid var(--line);background:var(--surface);color:var(--text-dim)}.filters{display:flex;gap:var(--space-sm);align-items:flex-end;flex-wrap:wrap;margin-bottom:var(--space-md)}.filters .grow{flex:1 1 220px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:var(--space-sm);border-bottom:1px solid var(--line)}th{font-size:12px;font-weight:500;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-dim)}td.right,th.right{text-align:right}tbody tr:hover{background:var(--surface)}.amount{color:var(--gold);font-weight:700}.amount.negative{color:#ff9b8f}.status-blocked{color:#ff9b8f;font-weight:700}.status-ok{color:var(--text-dim)}.pager{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-md);color:var(--text-dim);font-size:14px}.mono{font-size:13px;color:var(--text-dim)}.detail{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg)}.detail h2{font-size:19px;margin:0 0 var(--space-md)}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-md);margin-bottom:var(--space-lg)}.fact .label{font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-dim)}.fact .value{font-size:19px;font-weight:700}.actions{display:flex;gap:var(--space-sm);flex-wrap:wrap;align-items:flex-end}.actions .grow{flex:1 1 240px}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
