:root{--bg: #f4f5f7;--card: #ffffff;--border: #e2e4e9;--text: #1b1d22;--muted: #6b7180;--accent: #4f6bed;--accent-text: #ffffff;--positive: #148a4b;--negative: #c9372c;--warning: #a36500;--badge-bg: #eef0f4;--radius: 10px;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #111318;--card: #1a1d24;--border: #2b2f3a;--text: #e6e8ee;--muted: #8d93a3;--accent: #6c84ff;--positive: #3ecf7f;--negative: #ff6b5e;--warning: #f0b44c;--badge-bg: #252935;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0 0 12px;font-weight:600}h2{font-size:20px}h3{font-size:16px}section{margin-bottom:24px}button,input,select,textarea{font:inherit;color:inherit;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:7px 12px}button{cursor:pointer;white-space:nowrap}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}button.danger{color:var(--negative)}button.ghost{background:transparent;border-color:transparent}button.link{background:none;border:none;padding:0;color:var(--accent);text-align:left}input,select,textarea{width:100%}textarea{resize:vertical;font-family:ui-monospace,monospace;font-size:12px}.page{max-width:1280px;margin:0 auto;padding:20px 16px 60px}.topbar{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--card);border-bottom:1px solid var(--border)}.topbar .brand{font-weight:700;font-size:16px}.topbar .small{flex:1}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;margin-bottom:24px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.section-head h2,.section-head h3{margin:0}.actions{display:flex;gap:8px;flex-wrap:wrap}.muted{color:var(--muted)}.small{font-size:12px}.center{text-align:center}.nowrap{white-space:nowrap}.positive{color:var(--positive)}.negative{color:var(--negative)}.error{color:var(--negative);margin:6px 0;overflow-wrap:anywhere}.warning{color:var(--warning);margin:0}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:16px}.stats .stat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:2px}.stats.compact{grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.stats.compact .stat{padding:0;border:none;background:none}.stats.compact .stat-value{font-size:15px}.stat-label{color:var(--muted);font-size:12px}.stat-value{font-size:24px;font-weight:600;font-variant-numeric:tabular-nums}.stat-hint{color:var(--muted);font-size:12px}.full-row{grid-column:1 / -1}.chart{margin-bottom:24px}.chart-head{display:flex;justify-content:space-between;align-items:baseline}.chart svg{width:100%;height:200px;display:block}.chart-zero{stroke:var(--border);stroke-dasharray:4 4}.chart-line{fill:none;stroke-width:2;vector-effect:non-scaling-stroke}.chart-line.positive{stroke:var(--positive)}.chart-line.negative{stroke:var(--negative)}.chart-dot{fill:var(--accent)}.chart-axis{display:flex;justify-content:space-between}.profile-card:hover{border-color:var(--accent)}.account.paused{opacity:.6}.account-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.account p{margin:6px 0}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:var(--badge-bg);white-space:nowrap}.badge.ok{color:var(--positive)}.badge.auth_error,.badge.error{color:var(--negative)}.badge.syncing{color:var(--accent)}.badge.deposit{color:var(--negative)}.badge.withdrawal{color:var(--positive)}.form{display:flex;flex-direction:column;gap:12px}.form label,.login-card label,.form .field{display:flex;flex-direction:column;gap:4px;font-weight:500}.picker{display:flex;flex-direction:column;gap:4px;font-weight:400}.results{list-style:none;margin:0;padding:0;max-height:240px;overflow-y:auto}.results button{width:100%;display:flex;justify-content:space-between;gap:12px;border:none;border-radius:6px;text-align:left;white-space:normal}.results button:hover{background:var(--badge-bg)}.picked{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--accent);border-radius:8px;font-weight:400}button.manual,button.count-toggle{margin-left:6px}button.manual{color:var(--muted)}.money{display:flex;gap:8px}.money select{width:90px}.hint{color:var(--muted);font-size:12px;font-weight:400}.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-form input{width:220px}.login{min-height:100vh;display:grid;place-items:center;padding:16px}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:14px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:grid;place-items:center;padding:16px;z-index:10}.modal{width:100%;max-width:560px;max-height:90vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h2{margin:0}.table-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.table-head h3{margin:0}.table-head select{width:auto}.tabs{display:flex;gap:4px}.tabs button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}th{color:var(--muted);font-weight:500;font-size:12px;white-space:nowrap}.num{text-align:right}.item{display:flex;align-items:center;gap:10px;min-width:220px}.item img{width:48px;height:36px;object-fit:contain}.inline-edit{display:flex;gap:4px;align-items:center}.inline-edit input{min-width:240px;padding:4px 8px}.inline-edit button{padding:4px 8px}.checkbox{display:flex;align-items:center;gap:6px;margin-left:auto;cursor:pointer;white-space:nowrap}.checkbox input{width:auto}tr.uncounted td{opacity:.45}.all-time{margin-bottom:16px}.all-time summary{cursor:pointer;color:var(--muted)}.pager{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:12px}@media (max-width: 640px){.topbar .small{display:none}.topbar{justify-content:space-between}.grid{grid-template-columns:1fr}.stat-value{font-size:20px}}
