:root{--ink: #16241f;--paper: #f6f4ee;--panel: #ffffff;--ledger-green: #1f4d3d;--ledger-green-light: #2c6b54;--flag-high: #a13d2f;--flag-high-bg: #fbe9e5;--flag-medium: #a3721f;--flag-medium-bg: #fbf1de;--flag-low: #3d6b4f;--flag-low-bg: #e9f2ec;--line: #dcd6c8;--muted: #6b6355}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;background:var(--paper);color:var(--ink)}#root{min-height:100vh}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:40px;width:100%;max-width:380px;box-shadow:0 1px 3px #16241f0f}.brand{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.brand-mark{width:10px;height:10px;background:var(--ledger-green);display:inline-block;transform:rotate(45deg)}.brand-name{font-size:20px;font-weight:700;letter-spacing:-.01em}.tagline{color:var(--muted);font-size:13px;margin:0 0 28px}label{display:block;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:3px;font-size:14px;margin-bottom:18px;background:var(--paper);color:var(--ink)}input:focus,select:focus,button:focus-visible{outline:2px solid var(--ledger-green-light);outline-offset:1px}button.primary{width:100%;background:var(--ledger-green);color:#fff;border:none;padding:12px;border-radius:3px;font-size:14px;font-weight:600;cursor:pointer}button.primary:hover{background:var(--ledger-green-light)}button.primary:disabled{opacity:.6;cursor:not-allowed}.error-banner{background:var(--flag-high-bg);color:var(--flag-high);border:1px solid var(--flag-high);padding:10px 12px;border-radius:3px;font-size:13px;margin-bottom:16px}.hint{font-size:12px;color:var(--muted);margin-top:16px;text-align:center}.app-shell{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--ledger-green);color:#eef4f0;padding:24px 18px;display:flex;flex-direction:column}.sidebar .brand-name{color:#fff}.sidebar .brand{margin-bottom:32px}.nav-item{padding:10px 12px;border-radius:3px;font-size:14px;margin-bottom:4px;cursor:pointer;color:#cfe0d6}.nav-item.active{background:#ffffff1f;color:#fff;font-weight:600}.sidebar-footer{margin-top:auto;font-size:12px;color:#a9c3b3}.business-name{font-size:13px;color:#cfe0d6;margin-bottom:2px}.main{flex:1;padding:32px 40px;max-width:1000px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}h1{font-size:22px;margin:0 0 4px}.subtitle{color:var(--muted);font-size:14px;margin:0}.stat-row{display:flex;gap:16px;margin-bottom:28px}.stat-card{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:16px 18px}.stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:6px}.stat-value{font-size:24px;font-weight:700}.stat-value.high{color:var(--flag-high)}button.scan-btn{background:var(--ledger-green);color:#fff;border:none;padding:10px 18px;border-radius:3px;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px}button.scan-btn:hover{background:var(--ledger-green-light)}button.scan-btn:disabled{opacity:.6;cursor:not-allowed}.panel{background:var(--panel);border:1px solid var(--line);border-radius:4px;margin-bottom:24px;overflow:hidden}.panel-header{padding:14px 18px;border-bottom:1px solid var(--line);font-weight:600;font-size:14px;display:flex;justify-content:space-between;align-items:center}.panel-header .count{font-size:12px;color:var(--muted);font-weight:400}.flag-row{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:flex-start}.flag-row:last-child{border-bottom:none}.flag-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:3px 8px;border-radius:10px;white-space:nowrap;margin-top:2px}.flag-badge.high{background:var(--flag-high-bg);color:var(--flag-high)}.flag-badge.medium{background:var(--flag-medium-bg);color:var(--flag-medium)}.flag-badge.low{background:var(--flag-low-bg);color:var(--flag-low)}.flag-content{flex:1}.flag-vendor{font-weight:600;font-size:14px;margin-bottom:2px}.flag-amount{font-family:SF Mono,monospace;color:var(--muted);font-size:13px;margin-bottom:6px}.flag-explanation{font-size:13px;color:#4a463c;line-height:1.5}.flag-actions{display:flex;gap:6px;margin-top:8px}.flag-actions button{font-size:11px;padding:5px 10px;border-radius:3px;border:1px solid var(--line);background:var(--paper);cursor:pointer;color:var(--ink)}.flag-actions button:hover{background:#eee9dc}.flag-actions button.confirmed{border-color:var(--flag-high);color:var(--flag-high)}.flag-actions button.dismissed{border-color:var(--muted);color:var(--muted)}.status-pill{font-size:11px;padding:3px 8px;border-radius:10px;background:var(--line);color:var(--ink);text-transform:capitalize}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);padding:10px 18px;border-bottom:1px solid var(--line)}td{padding:12px 18px;border-bottom:1px solid var(--line);font-size:13px}tr:last-child td{border-bottom:none}.amount-cell{font-family:SF Mono,monospace}.empty-state{padding:40px 18px;text-align:center;color:var(--muted);font-size:13px}.sensitivity-row{display:flex;align-items:center;gap:10px;padding:14px 18px}.sensitivity-row select{padding:6px 10px;border:1px solid var(--line);border-radius:3px;font-size:13px}.add-txn-form{padding:16px 18px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.add-txn-form .full{grid-column:1 / -1}.add-txn-form label{margin-bottom:4px}.add-txn-form input{margin-bottom:0}.field-error{color:var(--flag-high);font-size:12px;margin-top:2px}.badge-mode{font-size:10px;padding:2px 8px;border-radius:10px;background:#ffffff1f;color:#cfe0d6;text-transform:uppercase;letter-spacing:.03em}@media (max-width: 720px){.app-shell{flex-direction:column}.sidebar{width:100%;flex-direction:row;align-items:center;padding:14px 18px}.sidebar-footer,.nav-labels{display:none}.main{padding:20px}.stat-row{flex-direction:column}.add-txn-form{grid-template-columns:1fr}}
