:root{color:#17211f;background:#f5f7f6;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}:root[data-theme=dark]{color:#e6eeeb;background:#101715;color-scheme:dark}*{box-sizing:border-box}body{background:#f5f7f6;color:#17211f;margin:0;min-width:320px}:root[data-theme=dark] body{background:#101715;color:#e6eeeb}button,input,select{font:inherit}button{cursor:pointer}.auth-shell{align-items:center;display:flex;min-height:100vh;justify-content:center;padding:24px}.auth-panel{background:#fff;border:1px solid #dce4e0;border-radius:8px;box-shadow:0 20px 60px #121f1c14;max-width:420px;padding:28px;width:100%}.brand-row{align-items:center;display:flex;gap:14px;margin-bottom:26px}.brand-row .theme-button{flex:0 0 auto;margin-left:auto}.brand-mark,.metric-icon{align-items:center;background:#e4f3ec;border:1px solid #c9e2d4;border-radius:8px;color:#106b4a;display:inline-flex;height:42px;justify-content:center;width:42px}h1,h2,p{margin:0}h1{font-size:28px;letter-spacing:0;line-height:1.15}h2{font-size:17px;letter-spacing:0}.brand-row p,.eyebrow,.muted,small{color:#66736f}.segmented{background:#eef2f0;border-radius:8px;display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:22px;padding:4px}.segmented button{background:transparent;border:0;border-radius:6px;color:#4d5d58;padding:10px 12px}.segmented button.active{background:#fff;color:#17211f;box-shadow:0 1px 4px #141c1914}.auth-form{display:grid;gap:14px}label,.compact-label{color:#3d4945;display:grid;font-size:13px;font-weight:700;gap:7px}.compact-label+.compact-label{margin-top:12px}input,select{background:#fbfcfb;border:1px solid #ccd8d4;border-radius:8px;color:#17211f;min-height:44px;padding:10px 12px;width:100%}input:focus,select:focus{border-color:#16825c;outline:3px solid rgba(22,130,92,.13)}.primary-button,.icon-button{align-items:center;border:0;display:inline-flex;justify-content:center}.primary-button{background:#167a58;border-radius:8px;color:#fff;font-weight:800;gap:9px;min-height:44px;padding:10px 14px}.primary-button:disabled{opacity:.6}.primary-button.full{margin-top:12px;width:100%}.auth-footer{align-items:center;display:flex;justify-content:center;min-height:22px}.text-button{background:transparent;border:0;color:#106b4a;font-weight:800;padding:2px 4px}.text-button:hover{text-decoration:underline}.error-line,.alert{color:#a23a2a}.success-line{color:#167a58;font-weight:700}.dashboard-shell{margin:0 auto;max-width:1280px;padding:28px}.topbar{align-items:center;display:flex;gap:18px;justify-content:space-between;margin-bottom:24px}.header-actions{align-items:center;display:flex;gap:10px}.user-code{background:#fff;border:1px solid #dce4e0;border-radius:8px;color:#3d4945;font-size:13px;font-weight:700;padding:10px 12px}.icon-button{background:#fff;border:1px solid #dce4e0;border-radius:8px;color:#263632;height:40px;width:40px}.theme-button{flex:0 0 auto}.metrics-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:18px}.metric-card,.panel{background:#fff;border:1px solid #dce4e0;border-radius:8px}.metric-card{align-items:center;display:flex;gap:13px;min-height:92px;padding:16px}.metric-card strong{display:block;font-size:22px;letter-spacing:0;line-height:1.15;margin-top:4px;overflow-wrap:anywhere}.content-grid{align-items:start;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 360px}.panel{padding:18px}.accounts-overview{margin-bottom:18px}.panel+.panel{margin-top:18px}.panel-header,.account-row,.admin-row,.category-row,.transaction-row{align-items:center;display:flex;justify-content:space-between}.panel-header{gap:12px;margin-bottom:14px}.section-subtitle{color:#66736f;font-size:13px;margin-top:4px}.account-card-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.account-card{background:#fbfcfb;border:1px solid #e3e9e6;border-radius:8px;display:grid;gap:16px;min-height:176px;padding:14px}.account-card-header{align-items:center;display:flex;gap:12px;min-width:0}.account-card-header>span:last-child{display:grid;gap:3px;min-width:0}.account-card-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-balance{display:grid;gap:4px}.account-balance strong{font-size:24px;letter-spacing:0;line-height:1.1;overflow-wrap:anywhere}.account-meta{border-top:1px solid #eef2f0;color:#66736f;display:grid;font-size:13px;gap:5px;padding-top:10px}.main-column{min-width:0}.review-list{display:grid;gap:8px}.review-row{align-items:center;background:#fffaf0;border:1px solid #f0d7a8;border-radius:8px;color:#17211f;display:flex;gap:12px;justify-content:space-between;min-height:60px;padding:11px 12px;text-align:left;width:100%}.review-row.active{border-color:#a66f19;box-shadow:inset 0 0 0 1px #a66f19}.review-row span{display:grid;gap:2px;min-width:0}.review-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ledger-toolbar{display:grid;gap:10px;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(140px,1fr)) auto;margin-bottom:14px}.search-box{color:#66736f;display:flex;gap:8px;position:relative}.search-box svg{left:12px;pointer-events:none;position:absolute;top:14px}.search-box input{padding-left:36px}.review-toggle{align-items:center;background:#fbfcfb;border:1px solid #ccd8d4;border-radius:8px;color:#3d4945;display:flex;font-size:13px;font-weight:800;gap:8px;min-height:44px;padding:10px 12px;white-space:nowrap}.review-toggle input{height:16px;min-height:0;width:16px}.transaction-list{display:grid;gap:8px}.transaction-row{background:#fbfcfb;border:1px solid #e3e9e6;border-radius:8px;color:#17211f;gap:12px;min-height:68px;padding:12px;text-align:left;width:100%}.transaction-row.active{border-color:#16825c;box-shadow:inset 0 0 0 1px #16825c}.direction-dot{background:#a23a2a;border-radius:999px;flex:0 0 auto;height:10px;width:10px}.direction-dot.credit{background:#167a58}.direction-dot.unknown{background:#a66f19}.transaction-main{display:grid;flex:1;gap:3px;min-width:0}.transaction-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:3px}.transaction-tags span{background:#eef2f0;border-radius:999px;color:#4d5d58;font-size:12px;font-weight:700;line-height:1;padding:5px 7px}.transaction-tags .warning-tag{background:#fff2d7;color:#8a5713}.empty-state{padding:12px 2px}.money{color:#8e3529;font-weight:800;white-space:nowrap}.money.credit{color:#167a58}.side-column{min-width:0}.account-list,.admin-list,.category-list{display:grid;gap:10px}.account-row,.admin-row,.category-row{border-top:1px solid #eef2f0;gap:12px;padding-top:10px}.account-row span,.admin-row span{display:grid}.admin-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.route-code{background:#eef2f0;border-radius:8px;color:#17211f;font-weight:900;min-width:54px;padding:8px 10px;text-align:center}.mini-button{align-items:center;background:#fff;border:1px solid #dce4e0;border-radius:8px;color:#263632;display:inline-flex;font-size:12px;font-weight:800;gap:6px;min-height:34px;padding:7px 9px}.mini-button:disabled{cursor:not-allowed;opacity:.55}.raw-text{background:#f5f7f6;border-radius:8px;color:#4d5d58;font-size:13px;line-height:1.5;margin-top:12px;padding:12px}.edit-status{font-size:13px;font-weight:800;margin-top:10px}.alert{background:#fff3ee;border:1px solid #f0c8bc;border-radius:8px;margin-bottom:16px;padding:12px 14px}.spin{animation:spin .9s linear infinite}:root[data-theme=dark] .auth-panel,:root[data-theme=dark] .metric-card,:root[data-theme=dark] .panel,:root[data-theme=dark] .icon-button,:root[data-theme=dark] .mini-button,:root[data-theme=dark] .user-code{background:#17221f;border-color:#30443d;color:#e6eeeb}:root[data-theme=dark] .auth-panel{box-shadow:0 20px 60px #0000004d}:root[data-theme=dark] .brand-mark,:root[data-theme=dark] .metric-icon{background:#18392e;border-color:#285c49;color:#7de0b7}:root[data-theme=dark] .brand-row p,:root[data-theme=dark] .eyebrow,:root[data-theme=dark] .muted,:root[data-theme=dark] small,:root[data-theme=dark] .section-subtitle,:root[data-theme=dark] .search-box,:root[data-theme=dark] .account-meta{color:#a8b8b2}:root[data-theme=dark] .segmented,:root[data-theme=dark] .route-code,:root[data-theme=dark] .transaction-tags span{background:#22302c;color:#d5e0dc}:root[data-theme=dark] .segmented button{color:#a8b8b2}:root[data-theme=dark] .segmented button.active{background:#2a3a35;color:#f1f7f5;box-shadow:0 1px 4px #0000003d}:root[data-theme=dark] label,:root[data-theme=dark] .compact-label,:root[data-theme=dark] .user-code,:root[data-theme=dark] .review-toggle{color:#d5e0dc}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] .account-card,:root[data-theme=dark] .transaction-row,:root[data-theme=dark] .review-toggle{background:#111a18;border-color:#30443d;color:#f1f7f5}:root[data-theme=dark] input:focus,:root[data-theme=dark] select:focus{border-color:#47c796;outline-color:#47c79633}:root[data-theme=dark] .primary-button{background:#2aa374;color:#07120f}:root[data-theme=dark] .text-button,:root[data-theme=dark] .success-line,:root[data-theme=dark] .money.credit{color:#62d6aa}:root[data-theme=dark] .transaction-row.active{border-color:#47c796;box-shadow:inset 0 0 0 1px #47c796}:root[data-theme=dark] .review-row{background:#2a2114;border-color:#704f1e;color:#f4ead8}:root[data-theme=dark] .review-row.active{border-color:#d39a37;box-shadow:inset 0 0 0 1px #d39a37}:root[data-theme=dark] .transaction-tags .warning-tag{background:#332816;color:#f1c06a}:root[data-theme=dark] .money{color:#ff9a87}:root[data-theme=dark] .raw-text{background:#111a18;color:#bdcbc6}:root[data-theme=dark] .account-meta,:root[data-theme=dark] .account-row,:root[data-theme=dark] .admin-row,:root[data-theme=dark] .category-row{border-color:#263833}:root[data-theme=dark] .alert{background:#2b1714;border-color:#7c3e34;color:#ffb1a4}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1180px){.ledger-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.search-box{grid-column:1 / -1}}@media(max-width:980px){.metrics-grid{grid-template-columns:1fr 1fr}.content-grid{align-items:stretch;grid-template-columns:1fr}.side-column{grid-column:auto}}@media(max-width:680px){.dashboard-shell{padding:18px}.topbar,.header-actions{align-items:stretch;flex-direction:column}.metrics-grid,.content-grid,.ledger-toolbar{grid-template-columns:1fr}.search-box{grid-column:auto}.review-row,.transaction-row{align-items:flex-start}.user-code{overflow-wrap:anywhere}.metric-card strong{font-size:20px}}
