:root{color:#17201e;background:#f7f5ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--surface: #f7f5ef;--panel: #fffdf8;--panel-subtle: #eeebe2;--ink: #17201e;--muted: #68736f;--fine-rule: #ddd8cc;--accent: #2f6f63;--accent-deep: #22564d;--accent-soft: #dcebe6;--attention: #8d5a1f;--attention-soft: #f2e4cf;--danger: #963d37;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#fffdf8b8,#f7f5ef00 320px),var(--surface)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.68}h1,h2,p{margin:0}h1{font-size:3rem;line-height:1.05;letter-spacing:0}h2{font-size:1.02rem;line-height:1.2;letter-spacing:0}.app-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:32px 0 48px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.topbar h1{font-size:2.75rem}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.eyebrow{color:var(--accent-deep);font-size:.74rem;font-weight:750;letter-spacing:0;text-transform:uppercase}.identity-pill,.status-chip{display:inline-flex;align-items:center;gap:8px;min-height:34px;border:1px solid var(--fine-rule);border-radius:999px;background:#fffdf8b8;color:var(--muted);padding:0 12px;font-size:.86rem;white-space:nowrap}.notice{display:flex;align-items:center;gap:10px;margin-bottom:18px;border:1px solid #bdd7cf;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent-deep);padding:12px 14px;font-weight:650}.command-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px}.metric-card{border:1px solid var(--fine-rule);border-radius:var(--radius-md);background:var(--panel);padding:16px}.metric-card span{color:var(--muted);font-size:.82rem;font-weight:650}.metric-card strong{display:block;margin-top:10px;color:var(--ink);font-size:1.75rem;font-variant-numeric:tabular-nums;line-height:1}.metric-card p{margin-top:9px;color:var(--muted);font-size:.88rem}.metric-card-attention strong{color:var(--attention)}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.lower-grid{margin-top:18px}.settings-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:18px}.panel{border:1px solid var(--fine-rule);border-radius:var(--radius-md);background:#fffdf8e0;padding:20px}.capture-panel{background:#fcfbf6}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-heading svg{color:var(--accent)}.stack-form{display:grid;gap:12px}.compact-form{padding-bottom:18px;border-bottom:1px solid var(--fine-rule);margin-bottom:16px}.two-column-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-subheading{display:inline-flex;align-items:center;gap:8px;color:var(--accent-deep);font-size:.9rem}.line-item-stack{display:grid;gap:10px}.auth-methods{display:grid;gap:12px}.settings-note{color:var(--muted);font-size:.9rem;line-height:1.45}.settings-kv{display:grid;gap:10px;margin:0 0 18px;padding:0 0 18px;border-bottom:1px solid var(--fine-rule)}.settings-kv div{display:grid;gap:3px}.settings-kv dt{color:var(--muted);font-size:.8rem;font-weight:700}.settings-kv dd{margin:0;color:var(--ink);font-size:.96rem;font-weight:650;overflow-wrap:anywhere}.auth-methods .secondary-button{justify-self:start}.line-item-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.1fr) minmax(112px,.55fr);align-items:end;gap:10px}.line-item-row .icon-button{grid-column:1 / -1;justify-self:end}.button-row{display:flex;flex-wrap:wrap;gap:8px}.icon-button{min-width:86px}.form-error{color:var(--danger);font-size:.9rem;font-weight:650}label{display:grid;gap:6px;color:var(--muted);font-size:.84rem;font-weight:650}input,select{width:100%;min-height:42px;border:1px solid var(--fine-rule);border-radius:var(--radius-sm);background:#fffefa;color:var(--ink);padding:0 11px;outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2f6f6324}.file-picker{position:relative;display:flex;align-items:center;min-height:96px;justify-content:center;gap:10px;border:1px dashed #b8c8c3;border-radius:var(--radius-md);background:#f8fbf8;color:var(--accent-deep);text-align:center;padding:16px}.file-picker input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border-radius:var(--radius-sm);border:1px solid transparent;padding:0 14px;font-weight:750;transition:background-color .16s ease-out,border-color .16s ease-out,color .16s ease-out,transform .16s ease-out}.primary-button{background:var(--accent);color:#fffefa}.primary-button:hover:not(:disabled){background:var(--accent-deep)}.secondary-button{background:#fffefa;border-color:var(--fine-rule);color:var(--accent-deep)}.secondary-button:hover:not(:disabled){border-color:#b9c9c4;background:#f5faf7}.record-list{display:grid;gap:9px;list-style:none;padding:0;margin:0}.record-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--fine-rule);border-radius:var(--radius-sm);background:#fffefa;padding:12px}.record-list li div{display:grid;gap:3px;min-width:0}.record-list strong{color:var(--ink);font-size:.96rem;overflow-wrap:anywhere}.record-list span{color:var(--muted);font-size:.84rem}.evidence-list li{align-items:flex-start}.amount-chip{display:inline-flex;align-items:center;min-height:34px;border-radius:999px;padding:0 12px;font-size:.9rem;font-variant-numeric:tabular-nums;font-weight:750;white-space:nowrap}.amount-chip-outflow{background:#f1e4d0;color:#674317}.amount-chip-inflow{background:var(--accent-soft);color:var(--accent-deep)}.budget-list{max-height:420px;overflow:auto}.budget-chip{display:inline-flex;align-items:center;min-height:34px;border-radius:999px;padding:0 12px;font-size:.86rem;font-variant-numeric:tabular-nums;font-weight:750;white-space:nowrap}.budget-chip-ok{background:var(--accent-soft);color:var(--accent-deep)}.budget-chip-over{background:#f5d8d4;color:var(--danger)}.budget-chip-empty{background:var(--panel-subtle);color:var(--muted)}.review-stack{display:grid;gap:10px}.review-item{display:grid;gap:12px;border:1px solid #e3c99d;border-radius:var(--radius-md);background:var(--attention-soft);padding:14px}.review-item p{color:#5d401d;font-weight:650}.empty-note{color:var(--muted);font-size:.92rem;line-height:1.45}.center-screen,.signin-shell{min-height:100vh}.center-screen{display:grid;place-items:center;align-content:center;gap:16px;width:min(520px,calc(100% - 32px));margin:0 auto;text-align:center}.center-screen p{color:var(--muted);line-height:1.5}.setup-screen h1{font-size:2.75rem}.signin-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.7fr);align-items:center;gap:40px;width:min(1040px,calc(100% - 32px));margin:0 auto;padding:48px 0}.signin-copy{display:grid;gap:18px}.signin-copy p:not(.eyebrow){max-width:64ch;color:var(--muted);font-size:1.04rem;line-height:1.6}.signin-copy .primary-button{justify-self:start;min-height:48px;padding:0 18px}.signin-providers{display:flex;flex-wrap:wrap;gap:8px}.signin-providers span{display:inline-flex;align-items:center;gap:7px;min-height:34px;border:1px solid var(--fine-rule);border-radius:999px;background:#fffdf8c7;color:var(--ink);padding:0 12px;font-size:.86rem;font-weight:700}.signin-providers svg{color:var(--accent-deep)}.signin-error{color:var(--danger);font-weight:650}.signin-ledger{display:grid;gap:10px;border:1px solid var(--fine-rule);border-radius:var(--radius-md);background:#fffdf8;padding:18px}.signin-ledger div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--fine-rule);padding:14px 0}.signin-ledger div:last-child{border-bottom:0}.signin-ledger span{color:var(--muted)}.signin-ledger strong{font-size:1.4rem;font-variant-numeric:tabular-nums}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media(max-width:820px){.app-shell{width:min(100% - 24px,720px);padding-top:20px}.topbar{align-items:flex-start;flex-direction:column}.topbar-actions{width:100%;align-items:flex-start;flex-direction:column-reverse}.topbar-actions .secondary-button{width:100%}h1,.topbar h1,.setup-screen h1{font-size:2.15rem}.command-grid,.settings-grid,.workspace-grid,.signin-shell{grid-template-columns:1fr}.command-grid{gap:10px}.panel{padding:16px}.two-column-fields,.line-item-row{grid-template-columns:1fr}.signin-shell{align-content:center;gap:24px}.signin-copy .primary-button{justify-self:stretch}.signin-providers span{flex:1 1 96px;justify-content:center}.record-list li{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
