:root{--color-bg: #f7f8f5;--color-bg-strong: #edf2ec;--color-surface: #ffffff;--color-surface-subtle: #fbfcf9;--color-surface-blue: #e5f1eb;--color-border: #dfe5e0;--color-border-strong: #c8d4cc;--color-text: #14211a;--color-text-strong: #102018;--color-text-muted: #5e6b63;--color-primary: #1f6b4f;--color-primary-hover: #15523c;--color-primary-strong: #102018;--color-primary-soft: #e5f1eb;--color-secondary: #39463e;--color-danger: #b91c1c;--color-danger-bg: #fee2e2;--color-danger-border: #fecaca;--color-success: #166534;--color-success-bg: #dcfce7;--color-success-border: #bbf7d0;--color-warning: #9a5b00;--color-warning-bg: #fff7d6;--color-warning-border: #fde68a;--color-info: #3e6253;--color-info-bg: #eef6f1;--color-info-border: #d8e9dd;--font-family-base: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .72rem;--font-size-sm: .82rem;--font-size-md: .9rem;--font-size-base: 1rem;--font-size-lg: 1.05rem;--font-size-xl: 1.55rem;--font-size-2xl: clamp(1.65rem, 3vw, 2.15rem);--font-size-3xl: clamp(2rem, 4vw, 3rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(16, 32, 24, .06);--shadow-sm: 0 8px 22px rgba(16, 32, 24, .07);--shadow-md: 0 16px 38px rgba(16, 32, 24, .09);--shadow-focus: 0 0 0 3px rgba(31, 107, 79, .24);--button-bg: var(--color-primary);--button-bg-hover: var(--color-primary-hover);--button-text: #ffffff;--button-secondary-bg: #ffffff;--button-secondary-bg-hover: #f2f5f0;--button-secondary-text: #39463e;--button-secondary-border: #cfd9d2;--chip-neutral-bg: #f2f5f0;--chip-neutral-border: #dfe5e0;--chip-neutral-text: #506057;--chip-success-bg: var(--color-success-bg);--chip-success-border: var(--color-success-border);--chip-success-text: var(--color-success);--chip-warning-bg: var(--color-warning-bg);--chip-warning-border: var(--color-warning-border);--chip-warning-text: var(--color-warning);--chip-danger-bg: var(--color-danger-bg);--chip-danger-border: var(--color-danger-border);--chip-danger-text: var(--color-danger);--chip-info-bg: var(--color-info-bg);--chip-info-border: var(--color-info-border);--chip-info-text: var(--color-info)}*{box-sizing:border-box}body{background:radial-gradient(circle at top left,rgba(31,107,79,.08),transparent 34rem),var(--color-bg);color:var(--color-text);font-family:var(--font-family-base);margin:0}a{color:var(--color-primary)}button,input,textarea,select{font:inherit}button,.button-link{align-items:center;background:var(--button-bg);border:1px solid transparent;border-radius:var(--radius-md);color:var(--button-text);cursor:pointer;display:inline-flex;font-size:var(--font-size-md);font-weight:760;justify-content:center;line-height:1;min-height:38px;padding:.58rem .9rem;text-decoration:none;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,color .14s ease,transform .14s ease}button:hover,.button-link:hover{background:var(--button-bg-hover)}button:active,.button-link:active{transform:translateY(1px)}button:focus-visible,.button-link:focus-visible,.nav-links a:focus-visible,.text-action:focus-visible,.switch-link a:focus-visible,.auth-support-link a:focus-visible,.private-beta-notice a:focus-visible,.legal-page a:focus-visible{box-shadow:var(--shadow-focus);outline:2px solid transparent;outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.64}input,textarea,select{background:var(--color-surface);border:1px solid var(--button-secondary-border);border-radius:var(--radius-md);min-height:40px;padding:.58rem .7rem;width:100%}input[type=checkbox]{min-height:18px;width:18px}input:focus,textarea:focus,select:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:0}textarea{resize:vertical}h1,h2,h3,h4{margin:0}.auth-page,.app-page{margin:0 auto;max-width:1180px;padding:var(--space-4) var(--space-6) var(--space-8)}.auth-page{align-items:center;display:flex;justify-content:center;min-height:100vh}.auth-panel,.panel,.metric-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.auth-panel{max-width:420px;padding:var(--space-8);width:100%}.auth-experience{align-items:stretch;display:grid;gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(360px,420px);justify-content:initial;max-width:1040px}.auth-brand-panel{background:linear-gradient(145deg,#1f6b4f1a,#fff0 48%),linear-gradient(180deg,var(--color-surface-subtle),var(--color-surface));border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--space-8);justify-content:space-between;min-height:560px;padding:var(--space-8)}.auth-brand-lockup{align-items:center;display:flex;gap:.65rem}.auth-product-copy{display:grid;gap:var(--space-3);max-width:38rem}.auth-product-copy h2{color:var(--color-text-strong);font-size:var(--font-size-3xl);letter-spacing:0;line-height:1.04;margin:0}.auth-product-copy p:last-child{color:var(--color-text-muted);font-size:var(--font-size-base);line-height:1.58;margin:0;max-width:34rem}.auth-proof-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.auth-proof-list span{background:var(--color-surface-blue);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-primary-strong);font-size:var(--font-size-sm);font-weight:800;line-height:1;padding:.5rem .7rem}.auth-form-panel{align-self:center;max-width:none}.auth-form-panel h1{color:var(--color-text-strong);font-size:var(--font-size-2xl);letter-spacing:0;line-height:1.08}.auth-form-panel .muted{font-size:var(--font-size-md);line-height:1.5}.auth-form{display:grid;gap:var(--space-4);margin-top:var(--space-5)}.auth-form .inline-alert{margin:0}.auth-form button[type=submit]{min-height:42px;width:100%}.auth-form-panel .switch-link{font-size:var(--font-size-md);margin:var(--space-5) 0 0}.auth-support-link{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.45;margin:var(--space-3) 0 0}.support-email{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;margin-top:.25rem}.acknowledgement-field{align-items:flex-start;background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:grid;font-size:var(--font-size-sm);font-weight:650;gap:var(--space-2);grid-template-columns:auto minmax(0,1fr);line-height:1.45;padding:var(--space-3)}.acknowledgement-field input{margin-top:.1rem}.app-page h1{color:var(--color-text-strong);font-size:var(--font-size-2xl);letter-spacing:0;line-height:1.08}.app-page h2{color:var(--color-text-strong);font-size:var(--font-size-lg);line-height:1.2}.eyebrow{color:var(--color-primary);font-size:var(--font-size-xs);font-weight:820;letter-spacing:0;margin:0 0 .35rem;text-transform:uppercase}.muted,.status,.switch-link{color:var(--color-text-muted)}.muted,.page-header-description{margin:.35rem 0 0}.page-header-description{color:var(--color-text-muted);font-size:var(--font-size-md);max-width:54rem}.form{display:grid;gap:var(--space-3);margin-top:var(--space-4)}.form label{display:grid;font-weight:720;gap:.4rem}.form-panel{max-width:680px}.form-actions,.page-actions,.pagination-controls,.receipt-view-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tax-year-select{align-items:flex-start;color:var(--color-text-muted);display:grid;font-size:var(--font-size-xs);font-weight:820;gap:.32rem;min-width:148px;text-transform:uppercase}.tax-year-select select{color:var(--color-text-strong);font-size:var(--font-size-md);font-weight:760;min-height:38px;padding:.52rem 2rem .52rem .72rem;text-transform:none}.error,.success{border-radius:var(--radius-md);margin:0;padding:.8rem}.error{background:var(--color-danger-bg);color:var(--color-danger)}.success{background:var(--color-success-bg);color:var(--color-success);margin-bottom:var(--space-4)}.inline-alert{align-items:flex-start;border:1px solid;border-radius:var(--radius-lg);display:grid;gap:.2rem;margin-bottom:var(--space-4);padding:var(--space-4)}.inline-alert strong{color:var(--color-text-strong)}.inline-alert-error{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger)}.inline-alert-success{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success)}.inline-alert-info{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info)}.topbar,.page-header{align-items:flex-end;border-bottom:1px solid var(--color-border);display:flex;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-4)}.page-header-copy{min-width:0}.app-shell-header{display:grid;gap:var(--space-2);margin-bottom:var(--space-5)}.app-nav{align-items:center;background:#ffffffd6;border:1px solid rgba(223,229,224,.92);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);display:flex;gap:var(--space-4);justify-content:space-between;margin-bottom:0;min-height:62px;padding:.55rem}.private-beta-notice{align-items:center;background:#e5f1ebc7;border:1px solid var(--color-info-border);border-radius:var(--radius-md);color:var(--color-info);display:flex;flex-wrap:wrap;font-size:var(--font-size-sm);gap:var(--space-2);line-height:1.35;padding:.55rem .7rem}.private-beta-notice strong{color:var(--color-primary-strong)}.private-beta-notice a{font-weight:800}.legal-page{margin:0 auto;max-width:920px;padding:var(--space-5) var(--space-6) var(--space-8)}.legal-shell{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid;gap:var(--space-5);padding:var(--space-6)}.legal-brand-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between}.legal-brand-logo{width:118px}.legal-header{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-4)}.legal-header h1{color:var(--color-text-strong);font-size:var(--font-size-2xl);line-height:1.08;margin:0}.legal-header p,.legal-section p{color:var(--color-text-muted);line-height:1.65;margin:.5rem 0 0}.legal-section{display:grid;gap:.35rem}.legal-section h2{color:var(--color-text-strong);font-size:var(--font-size-lg);margin:0}.app-shell-primary,.account-cluster,.app-brand{align-items:center;display:flex}.app-shell-primary{gap:var(--space-5);min-width:0}.app-brand{color:var(--color-text-strong);flex:0 0 auto;gap:.65rem}.brand-logo{display:block;flex:0 0 auto;height:auto;max-width:100%}.brand-logo-full{width:112px}.brand-logo-mark{display:none;width:32px}.auth-brand-logo{width:132px}.brand-context,.account-label,.account-email{display:block;line-height:1.05}.brand-context,.account-label{color:var(--color-text-muted);font-size:.68rem;font-weight:760;text-transform:uppercase}.brand-context{border-left:1px solid var(--color-border);margin-left:.15rem;padding-left:.65rem;white-space:nowrap}.nav-links{background:var(--color-primary-soft);border:1px solid #c8d8cf;border-radius:10px;display:flex;flex-wrap:nowrap;gap:.18rem;padding:.18rem}.nav-links a{align-items:center;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-info);display:inline-flex;font-size:var(--font-size-sm);font-weight:780;justify-content:center;min-height:32px;padding:.4rem .72rem;text-decoration:none;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,color .14s ease}.nav-links a:hover{background:#ffffff9e;color:var(--color-primary-strong)}.nav-links a.active{background:var(--color-primary-strong);border-color:var(--color-primary-strong);box-shadow:0 6px 14px #1020182e;color:#fff}.account-cluster{flex:0 1 auto;gap:var(--space-2);min-width:0}.account-summary{align-items:center;border-right:1px solid var(--color-border);color:var(--color-text-muted);display:flex;gap:.55rem;min-width:0;padding-right:var(--space-3)}.account-avatar{align-items:center;background:var(--color-surface-blue);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-primary-strong);display:inline-flex;flex:0 0 auto;font-size:var(--font-size-sm);font-weight:820;height:30px;justify-content:center;width:30px}.account-email{color:var(--color-text);font-size:var(--font-size-sm);font-weight:680;margin-top:.16rem;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-button{background:transparent;border-color:var(--color-border);color:#59685f;font-size:var(--font-size-sm);min-height:34px;padding:.44rem .7rem}.logout-button:hover{background:var(--button-secondary-bg-hover);border-color:var(--color-border-strong);color:var(--color-text)}.nav-capture-action{font-size:var(--font-size-sm);min-height:36px;padding:.48rem .82rem;white-space:nowrap}.secondary-button,.secondary-link{background:var(--button-secondary-bg);border-color:var(--button-secondary-border);color:var(--button-secondary-text)}.secondary-button:hover,.secondary-link:hover{background:var(--button-secondary-bg-hover)}.danger-button{background:var(--color-danger)}.danger-button:hover{background:#991b1b}.panel{padding:var(--space-4)}.section-heading{margin-bottom:var(--space-3)}.split-heading{align-items:flex-start;display:flex;gap:var(--space-4);justify-content:space-between}.text-action{color:var(--color-primary);font-size:var(--font-size-md);font-weight:800;text-decoration:none}.text-action:hover{color:var(--color-primary-strong);text-decoration:underline}.metric-grid,.dashboard-metrics{display:grid;gap:var(--space-3);grid-template-columns:minmax(0,1.35fr) minmax(0,.82fr) minmax(0,.98fr);margin-bottom:var(--space-4)}.metric-card{display:grid;gap:.4rem;min-height:112px;padding:var(--space-5);position:relative}.metric-label{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:820;text-transform:uppercase}.metric-value{align-self:end;color:var(--color-text-strong);font-size:var(--font-size-xl);line-height:1.05;overflow-wrap:anywhere}.metric-detail{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:650;overflow-wrap:anywhere}.metric-card-primary{background:linear-gradient(135deg,#1f6b4f1c,#fff0 60%),var(--color-surface);border-color:#b8d5c8}.metric-card-primary .metric-value{color:var(--color-primary-strong);font-size:var(--font-size-3xl)}.status-chip,.expense-receipt-state{align-items:center;border:1px solid;border-radius:var(--radius-pill);display:inline-flex;font-size:.74rem;font-weight:800;justify-content:center;justify-self:start;line-height:1;min-height:26px;padding:.35rem .55rem;white-space:nowrap}.status-chip-neutral{background:var(--chip-neutral-bg);border-color:var(--chip-neutral-border);color:var(--chip-neutral-text)}.status-chip-success{background:var(--chip-success-bg);border-color:var(--chip-success-border);color:var(--chip-success-text)}.status-chip-warning{background:var(--chip-warning-bg);border-color:var(--chip-warning-border);color:var(--chip-warning-text)}.status-chip-danger{background:var(--chip-danger-bg);border-color:var(--chip-danger-border);color:var(--chip-danger-text)}.status-chip-info,.expense-receipt-state{background:var(--chip-info-bg);border-color:var(--chip-info-border);color:var(--chip-info-text)}.empty-state{align-items:center;display:grid;gap:var(--space-4);justify-items:center;padding:var(--space-8);text-align:center}.empty-state p{color:var(--color-text-muted);margin:.45rem auto 0;max-width:28rem}.empty-state-mark{align-items:center;background:var(--color-surface-blue);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-primary);display:inline-flex;font-size:1.35rem;font-weight:820;height:44px;justify-content:center;width:44px}.dashboard-page{max-width:1120px}.capture-launch-panel{align-items:center;background:linear-gradient(135deg,#1f6b4f1f,#fff0 62%),var(--color-surface);border:1px solid #b8d5c8;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;gap:var(--space-5);justify-content:space-between;margin-bottom:var(--space-4);padding:var(--space-5)}.capture-launch-panel h2{font-size:var(--font-size-xl)}.capture-launch-panel p:not(.eyebrow){color:var(--color-text-muted);line-height:1.55;margin:.35rem 0 0;max-width:40rem}.capture-launch-actions{align-items:center;display:flex;flex:0 0 auto;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}.dashboard-loading{display:grid;gap:var(--space-3);grid-template-columns:minmax(0,1.35fr) minmax(0,.82fr) minmax(0,.98fr)}.skeleton-card,.skeleton-panel{animation:pulse 1.3s ease-in-out infinite;background:linear-gradient(90deg,#eef3ed,#fbfcf9,#eef3ed);background-size:220% 100%;border:1px solid var(--color-border);border-radius:var(--radius-lg);min-height:112px}.skeleton-panel{grid-column:1 / -1;min-height:320px}@keyframes pulse{0%{background-position:0% 50%}to{background-position:-220% 50%}}.dashboard-recent-panel{box-shadow:var(--shadow-md);overflow:hidden;padding:0}.dashboard-recent-panel .section-heading{align-items:center;background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border);margin:0;padding:.9rem var(--space-4)}.dashboard-expense-list,.expense-ledger-list,.expense-list,.receipt-list{display:grid;list-style:none;margin:0;padding:0}.dashboard-expense-list li,.expense-ledger-list li,.expense-row-link{align-items:center;border-bottom:1px solid #eef2ed;display:grid;gap:.9rem;grid-template-columns:minmax(180px,1.4fr) minmax(150px,1fr) minmax(118px,.72fr) minmax(92px,auto);min-height:62px;padding:.78rem var(--space-4)}.dashboard-expense-list li:hover,.expense-ledger-list li:hover,.expense-row-link:hover{background:#fbfcfa}.dashboard-expense-list li:last-child,.expense-ledger-list li:last-child{border-bottom:0}.expense-ledger-list li{border-bottom:0;padding:0}.expense-ledger-list li:last-child .expense-row-link{border-bottom:0}.expense-row-link{color:inherit;min-height:64px;text-decoration:none}.expense-row-link:focus-visible{box-shadow:var(--shadow-focus);outline:0;position:relative;z-index:1}.expense-main,.expense-meta{display:grid;gap:.2rem;min-width:0}.expense-main a{color:var(--color-text-strong);text-decoration:none}.expense-main a:hover,.expense-row-link:hover .expense-main strong{color:var(--color-primary);text-decoration:underline}.expense-main span,.expense-meta span{color:var(--color-text-muted);font-size:var(--font-size-sm);overflow-wrap:anywhere}.expense-amount{color:var(--color-text-strong);font-size:.96rem;justify-self:end;white-space:nowrap}.expenses-page{max-width:1120px}.expense-workspace-panel{box-shadow:var(--shadow-md);overflow:hidden;padding:0}.expense-workspace-heading{align-items:center;background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border);display:flex;gap:var(--space-4);justify-content:space-between;margin:0;padding:.9rem var(--space-4)}.expense-workspace-heading .pagination-controls{align-items:center}.expense-workspace-heading .secondary-button{font-size:var(--font-size-sm);min-height:34px;padding:.44rem .72rem}.expense-list-skeleton{display:grid;margin:0;padding:0}.expense-row-skeleton{animation:pulse 1.3s ease-in-out infinite;background:linear-gradient(90deg,#eef3ed,#fbfcf9,#eef3ed);background-size:220% 100%;border-bottom:1px solid #eef2ed;min-height:62px}.expense-row-skeleton:last-child{border-bottom:0}.create-expense-page{max-width:1040px}.expense-form-panel{box-shadow:var(--shadow-md);padding:0}.expense-entry-form{display:grid;gap:0}.form-section{border:0;border-bottom:1px solid var(--color-border);display:grid;gap:var(--space-4);margin:0;padding:var(--space-5)}.form-section:last-of-type{border-bottom:0}.form-section legend{display:grid;gap:.15rem;margin-bottom:var(--space-4);padding:0}.form-section legend strong{color:var(--color-text-strong);font-size:var(--font-size-lg)}.purchase-section{background:linear-gradient(180deg,var(--color-surface-subtle),var(--color-surface))}.form-grid{display:grid;gap:var(--space-4)}.form-grid-featured{grid-template-columns:minmax(0,1.35fr) minmax(220px,.8fr)}.form-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:grid;gap:.4rem;min-width:0}.field-label{align-items:center;color:var(--color-text-strong);display:flex;flex-wrap:wrap;font-size:var(--font-size-md);font-weight:780;gap:var(--space-2)}.field-help{color:var(--color-text-muted);font-size:var(--font-size-sm)}.field-prominent input{font-size:var(--font-size-base);font-weight:700}.optional-label{background:var(--chip-neutral-bg);border:1px solid var(--chip-neutral-border);border-radius:var(--radius-pill);color:var(--chip-neutral-text);font-size:.68rem;font-weight:800;line-height:1;padding:.24rem .45rem;text-transform:uppercase}.amount-input-wrap{align-items:center;background:var(--color-surface);border:1px solid var(--button-secondary-border);border-radius:var(--radius-md);display:flex;min-height:44px;overflow:hidden;transition:border-color .14s ease,box-shadow .14s ease}.amount-input-wrap:focus-within{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.amount-input-wrap>span{align-items:center;align-self:stretch;background:var(--color-surface-blue);border-right:1px solid var(--color-border);color:var(--color-primary-strong);display:inline-flex;font-weight:850;justify-content:center;width:42px}.amount-input-wrap input{border:0;border-radius:0;box-shadow:none;min-height:42px}.amount-input-wrap input:focus{box-shadow:none}.expense-entry-form .inline-alert{margin:var(--space-5) var(--space-5) 0}.expense-entry-form .form-actions{background:var(--color-surface-subtle);border-top:1px solid var(--color-border);justify-content:flex-end;padding:var(--space-5)}.expense-detail-page{max-width:1180px}.detail-loading,.detail-summary-grid{display:grid;gap:var(--space-3);grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr) minmax(0,.9fr);margin-bottom:var(--space-4)}.summary-tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid;gap:.35rem;min-height:90px;padding:var(--space-4)}.summary-tile span{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:820;text-transform:uppercase}.summary-tile .status-chip{font-size:.74rem;text-transform:none}.summary-tile .status-chip-neutral{color:var(--chip-neutral-text)}.summary-tile .status-chip-success{color:var(--chip-success-text)}.summary-tile .status-chip-warning{color:var(--chip-warning-text)}.summary-tile .status-chip-danger{color:var(--chip-danger-text)}.summary-tile .status-chip-info{color:var(--chip-info-text)}.summary-tile strong{align-self:end;color:var(--color-text-strong);font-size:var(--font-size-xl);line-height:1.05;overflow-wrap:anywhere}.summary-tile-primary{background:linear-gradient(135deg,#1f6b4f1a,#fff0 58%),var(--color-surface);border-color:#b8d5c8}.summary-tile-primary strong{color:var(--color-primary-strong)}.detail-workspace-grid{align-items:start;display:grid;gap:var(--space-4);grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr)}.detail-edit-panel,.document-panel{box-shadow:var(--shadow-md);overflow:hidden}.detail-edit-panel{padding:0}.document-workspace{display:grid;gap:var(--space-4)}.document-panel{padding:0}.document-panel-heading{align-items:flex-start;background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border);display:flex;gap:var(--space-3);justify-content:space-between;padding:var(--space-4)}.document-panel-heading .muted{max-width:34rem}.document-note{background:var(--color-info-bg);border:1px solid var(--color-info-border);border-radius:var(--radius-md);color:var(--color-info);font-size:var(--font-size-sm);margin:var(--space-4) var(--space-4) 0;padding:var(--space-3)}.document-panel>.inline-alert,.review-state-metadata{margin:var(--space-4) var(--space-4) 0}.review-state-metadata{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.document-panel .receipt-view-actions{padding:var(--space-4) var(--space-4) 0}.receipt-placeholder{align-items:center;background:var(--color-surface-subtle);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);color:var(--color-text-muted);display:flex;font-size:var(--font-size-md);justify-content:center;margin:var(--space-4);min-height:160px;padding:var(--space-4);text-align:center}.document-panel .receipt-preview{background:var(--color-surface-subtle);margin:var(--space-4);max-height:520px;max-width:none;overflow:auto}.document-panel .receipt-preview img{margin:0 auto}.receipt-upload-form{border-top:1px solid var(--color-border);display:grid;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-4)}.receipt-upload-form .inline-alert,.ocr-panel .inline-alert{margin:0}.ocr-panel{display:grid}.ocr-panel>.document-note,.ocr-panel>.inline-alert,.ocr-loading,.ocr-review{margin-left:var(--space-4);margin-right:var(--space-4)}.ocr-loading{animation:pulse 1.3s ease-in-out infinite;background:linear-gradient(90deg,#eef3ed,#fbfcf9,#eef3ed);background-size:220% 100%;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-weight:720;margin-top:var(--space-4);padding:var(--space-4)}.ocr-review{border-top:0;display:grid;gap:var(--space-4);margin-bottom:var(--space-4);margin-top:var(--space-4);padding-top:0}.ocr-data{display:grid;gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.ocr-data div{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.ocr-data dt{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:820;margin-bottom:.25rem;text-transform:uppercase}.ocr-data dd{color:var(--color-text-strong);font-weight:720;margin:0;overflow-wrap:anywhere}.ocr-actions{display:grid;gap:var(--space-3);max-width:none}.ocr-actions .secondary-button{justify-self:start}.ocr-warnings{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius-md);color:var(--color-warning);margin-top:0;padding:var(--space-3)}.ocr-warnings h4{color:var(--color-text-strong);margin-bottom:var(--space-2)}.ocr-warnings ul{margin:0;padding-left:var(--space-5)}.ocr-raw-text{margin-top:0}.ocr-raw-text summary{color:var(--color-primary);cursor:pointer;font-weight:780}.ocr-raw-text pre{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:360px;overflow-x:auto;overflow-y:auto;padding:var(--space-4);white-space:pre-wrap;word-break:break-word}.detail-danger-panel{background:snow;box-shadow:var(--shadow-xs)}.receipts-page{max-width:1120px}.evidence-workspace-panel{box-shadow:var(--shadow-md);overflow:hidden;padding:0}.evidence-workspace-heading{align-items:center;background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border);display:flex;gap:var(--space-4);justify-content:space-between;margin:0;padding:.9rem var(--space-4)}.evidence-workspace-heading .pagination-controls{align-items:center}.evidence-workspace-heading .secondary-button{font-size:var(--font-size-sm);min-height:34px;padding:.44rem .72rem}.evidence-workspace-panel>.inline-alert{margin:var(--space-4)}.evidence-list,.evidence-list-skeleton{display:grid;list-style:none;margin:0;padding:0}.evidence-list li{align-items:center;border-bottom:1px solid #eef2ed;display:grid;gap:var(--space-4);grid-template-columns:minmax(160px,.85fr) minmax(220px,1.25fr) minmax(170px,.9fr) minmax(140px,auto);min-height:76px;padding:.85rem var(--space-4)}.evidence-list li:hover{background:#fbfcfa}.evidence-list li:last-child{border-bottom:0}.evidence-state,.evidence-metadata,.evidence-links,.evidence-actions{display:grid;gap:.28rem;min-width:0}.evidence-state strong{color:var(--color-text-strong);font-size:var(--font-size-md)}.evidence-metadata span,.evidence-links span,.locked-note{color:var(--color-text-muted);font-size:var(--font-size-sm);overflow-wrap:anywhere}.evidence-metadata .receipt-filename{color:#708076;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.evidence-expense-links a{font-weight:760}.evidence-actions{justify-items:end}.evidence-actions .secondary-button,.evidence-actions .danger-button{font-size:var(--font-size-sm);min-height:34px;padding:.44rem .72rem;white-space:nowrap}.evidence-actions .secondary-button:disabled{background:#eef2ed;border-color:var(--color-border);color:var(--color-text-muted);opacity:1}.evidence-row-skeleton{animation:pulse 1.3s ease-in-out infinite;background:linear-gradient(90deg,#eef3ed,#fbfcf9,#eef3ed);background-size:220% 100%;border-bottom:1px solid #eef2ed;min-height:76px}.evidence-row-skeleton:last-child{border-bottom:0}.expense-list{gap:.6rem}.expense-list li,.receipt-list li{align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:var(--space-4);justify-content:space-between;padding:var(--space-3)}.expense-list li div{display:grid;gap:.2rem;min-width:0}.expense-list li div span,.receipt-list-details span{color:var(--color-text-muted);font-size:var(--font-size-md);overflow-wrap:anywhere}.detailed-expense-list li,.receipt-list li{align-items:flex-start}.receipt-list{gap:.6rem}.receipt-list-details{display:grid;gap:.25rem;min-width:0}.receipt-filename{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:var(--font-size-sm)}.receipt-list .danger-button:disabled{background:#e4ebe5;color:var(--color-text-muted);opacity:1}.danger-panel{border-color:var(--color-danger-border);margin-top:var(--space-4)}.receipt-panel{margin-top:var(--space-4)}.receipt-preview{border:1px solid var(--button-secondary-border);border-radius:var(--radius-md);margin-top:var(--space-4);max-width:680px;overflow:hidden;width:100%}.receipt-preview img{display:block;height:auto;max-width:100%}.receipt-capture-page{max-width:1120px}.capture-shell{display:grid;gap:var(--space-4)}.capture-shell:focus{outline:0}.capture-shell:focus-visible{border-radius:var(--radius-lg);box-shadow:var(--shadow-focus)}.capture-start-panel{align-items:center;background:linear-gradient(145deg,#1f6b4f1f,#fff0 54%),var(--color-surface);border:1px dashed #a9cdbb;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;gap:var(--space-5);justify-items:center;min-height:420px;padding:clamp(1.25rem,5vw,3rem);text-align:center}.capture-hero-mark{align-items:center;background:var(--color-primary-soft);border:1px solid #b8d5c8;border-radius:22px;color:var(--color-primary-strong);display:inline-flex;font-size:2rem;font-weight:850;height:76px;justify-content:center;width:76px}.capture-copy{display:grid;gap:var(--space-2);max-width:42rem}.capture-copy h2{font-size:var(--font-size-3xl)}.capture-copy .muted{line-height:1.6}.capture-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.capture-actions.stacked{align-items:stretch;display:grid}.capture-primary-action{font-size:var(--font-size-base);min-height:48px;padding-left:var(--space-5);padding-right:var(--space-5)}.capture-drop-hint{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.capture-preview-layout,.capture-review-layout{align-items:start;display:grid;gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(300px,.46fr)}.capture-review-layout{grid-template-columns:minmax(300px,.46fr) minmax(0,1fr)}.capture-preview-panel,.capture-side-panel,.capture-processing-panel,.capture-error-panel{box-shadow:var(--shadow-md)}.capture-preview-panel{padding:var(--space-4)}.capture-side-panel,.capture-processing-panel,.capture-error-panel{display:grid;gap:var(--space-4);padding:var(--space-5)}.capture-side-panel{position:sticky;top:var(--space-4)}.capture-side-panel .muted,.capture-processing-panel .muted{line-height:1.55}.capture-image-preview{align-items:center;background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;justify-content:center;margin-top:var(--space-4);max-height:68vh;overflow:auto;padding:var(--space-3)}.capture-image-preview.compact{max-height:520px}.capture-image-preview img{border-radius:var(--radius-md);display:block;height:auto;max-width:100%;object-fit:contain}.capture-processing-panel{justify-items:start;margin:0 auto;max-width:620px;text-align:left;width:100%}.capture-processing-pulse{animation:pulse 1.3s ease-in-out infinite;background:linear-gradient(90deg,#e5f1eb,#fbfcf9,#e5f1eb);background-size:220% 100%;border:1px solid #b8d5c8;border-radius:var(--radius-lg);height:12px;width:100%}.capture-review-form-panel{overflow:hidden}.capture-review-form-panel .inline-alert{margin:0}.capture-raw-text{margin-top:var(--space-4)}.suggestion-status{align-self:start;border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-muted);display:inline-flex;font-size:var(--font-size-xs);font-weight:700;line-height:1;margin-bottom:var(--space-1);padding:.3rem .55rem;width:fit-content}.suggestion-status.suggested{background:var(--color-primary-soft);border-color:#b8d5c8;color:var(--color-primary-strong)}.suggestion-status.review-required{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning)}.suggestion-status.unavailable,.suggestion-status.manual{background:var(--color-surface-subtle);color:var(--color-text-muted)}.suggestion-status.user-confirmed{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success)}.suggestion-alternatives{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2)}.suggestion-choice{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);color:var(--color-text);font-size:var(--font-size-xs);font-weight:750;min-height:34px;padding:.35rem .7rem}.suggestion-choice:hover:not(:disabled){background:var(--color-primary-soft);border-color:#95bea9;color:var(--color-primary-strong)}.suggestion-choice:disabled{background:var(--color-primary-soft);border-color:#b8d5c8;color:var(--color-primary-strong);cursor:default;opacity:1}.receipt-info-section input{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.visually-hidden{border:0;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.error-boundary-page{align-items:center;background:radial-gradient(circle at top left,rgba(31,107,79,.12),transparent 34%),var(--color-bg);display:grid;min-height:100vh;padding:var(--space-6)}.error-boundary-panel{display:grid;gap:var(--space-4);margin:0 auto;max-width:560px;width:100%}.error-boundary-panel h1{color:var(--color-text-strong);font-size:var(--font-size-2xl);margin:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}@media(max-width:880px){.app-nav,.app-shell-primary,.account-cluster{align-items:stretch;flex-direction:column}.app-shell-primary,.account-cluster,.nav-links{width:100%}.app-brand{justify-content:flex-start}.nav-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.account-summary{border-right:0;justify-content:flex-start;padding-right:0}.account-email{max-width:none}.detail-workspace-grid,.capture-preview-layout,.capture-review-layout{grid-template-columns:1fr}.capture-side-panel{position:static}}@media(max-width:760px){.auth-page,.app-page{padding:.8rem var(--space-4) var(--space-5)}.auth-experience{gap:var(--space-4);grid-template-columns:1fr;min-height:100vh}.auth-brand-panel{gap:var(--space-3);min-height:0;padding:var(--space-3)}.capture-launch-panel{align-items:stretch;display:grid;gap:var(--space-4);padding:var(--space-4)}.capture-launch-actions{justify-content:stretch}.capture-launch-actions .button-link{width:100%}.capture-start-panel{gap:var(--space-4);min-height:0;padding:var(--space-5) var(--space-4)}.capture-copy h2{font-size:var(--font-size-2xl)}.capture-actions,.capture-actions.stacked{align-items:stretch;display:grid;width:100%}.capture-actions button,.capture-actions .button-link{min-height:48px;width:100%}.capture-preview-panel,.capture-side-panel,.capture-processing-panel,.capture-error-panel{padding:var(--space-4)}.capture-image-preview{max-height:56vh}.suggestion-choice{min-height:44px}.suggestion-alternatives{display:grid;grid-template-columns:1fr}.auth-brand-logo{width:112px}.auth-product-copy{gap:var(--space-1)}.auth-product-copy h2{font-size:1.28rem;line-height:1.12}.auth-product-copy p:last-child{font-size:var(--font-size-sm);line-height:1.42}.auth-proof-list{display:none}.auth-form{gap:var(--space-3);margin-top:var(--space-4)}.auth-form button[type=submit]{min-height:44px}.auth-form-panel .switch-link{margin-top:var(--space-4)}.auth-panel,.panel,.metric-card{box-shadow:var(--shadow-xs)}.auth-panel,.panel,.auth-form-panel{padding:var(--space-4)}button,.button-link,.nav-links a{min-height:44px;padding:.75rem 1rem}input,textarea,select{min-height:44px;padding:.75rem}.topbar,.page-header,.page-actions,.form-actions,.pagination-controls,.receipt-view-actions,.split-heading,.expense-workspace-heading,.evidence-workspace-heading{align-items:stretch;flex-direction:column}.app-nav{gap:var(--space-2);margin-bottom:var(--space-3);min-height:0;padding:.65rem}.private-beta-notice{gap:.35rem var(--space-2);padding:.5rem .65rem}.app-shell-primary{gap:var(--space-2)}.brand-logo-full{width:98px}.brand-context,.account-label{font-size:.64rem}.nav-links{grid-template-columns:repeat(3,minmax(0,1fr))}.nav-links a{font-size:var(--font-size-sm);min-height:40px;padding:.62rem .55rem}.account-cluster{display:grid;gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto}.nav-capture-action{grid-column:1 / -1;min-height:44px;width:100%}.account-summary{align-items:center;min-width:0}.logout-button{min-height:44px;width:auto}.secondary-button,.secondary-link,.pagination-controls button,.receipt-view-actions button,.evidence-actions .secondary-button,.evidence-actions .danger-button{min-height:44px}.page-actions>*,.form-actions>*,.pagination-controls>*,.receipt-view-actions>*,.evidence-actions>*{width:100%}.dashboard-metrics,.metric-grid,.dashboard-loading,.detail-loading,.detail-summary-grid,.form-grid-featured,.form-grid-compact{grid-template-columns:1fr}.metric-card{min-height:auto;padding:var(--space-5)}.dashboard-recent-panel{padding:0}.dashboard-recent-panel .section-heading,.expense-workspace-heading{align-items:flex-start}.expense-workspace-panel,.evidence-workspace-panel,.expense-form-panel,.detail-edit-panel,.document-panel{padding:0}.detail-loading,.detail-summary-grid{gap:var(--space-2);margin-bottom:var(--space-3)}.summary-tile{min-height:76px;padding:var(--space-3)}.summary-tile strong{font-size:1.28rem}.detail-workspace-grid,.document-workspace{gap:var(--space-3)}.document-panel-heading{align-items:flex-start;flex-direction:column;gap:var(--space-2);padding:var(--space-3)}.document-panel .receipt-view-actions{align-items:stretch;padding:var(--space-3) var(--space-3) 0}.document-note,.document-panel>.inline-alert,.review-state-metadata,.receipt-placeholder,.document-panel .receipt-preview{margin:var(--space-3)}.receipt-upload-form{margin-top:var(--space-3);padding:var(--space-3)}.ocr-panel>.document-note,.ocr-panel>.inline-alert,.ocr-loading,.ocr-review{margin-left:var(--space-3);margin-right:var(--space-3)}.ocr-review{gap:var(--space-3);margin-bottom:var(--space-3);margin-top:var(--space-3)}.form-section,.expense-entry-form .form-actions{padding:var(--space-3)}.form-section{gap:var(--space-3)}.form-section legend{margin-bottom:var(--space-3)}.expense-entry-form .inline-alert{margin:var(--space-3) var(--space-3) 0}.dashboard-expense-list li,.expense-ledger-list li,.expense-row-link{align-items:start;gap:.45rem;grid-template-columns:minmax(0,1fr) auto;min-height:0;padding:.9rem var(--space-4)}.expense-ledger-list li{padding:0}.expense-row-link{min-height:72px}.evidence-list li{align-items:start;gap:.55rem;grid-template-columns:minmax(0,1fr) auto;min-height:0;padding:.9rem var(--space-4)}.evidence-state,.evidence-metadata,.evidence-links{grid-column:1 / 2}.evidence-actions{grid-column:2 / 3;grid-row:1 / 4;justify-items:end}.evidence-actions .secondary-button,.evidence-actions .danger-button{white-space:normal;width:auto}.expense-main,.expense-meta,.status-chip,.expense-receipt-state{grid-column:1 / 2}.status-chip,.expense-receipt-state{margin-top:.15rem;min-height:28px}.expense-amount{grid-column:2 / 3;grid-row:1 / 2}.expense-list li,.receipt-list li{align-items:stretch;flex-direction:column}.expense-list li>span{font-weight:700}.receipt-preview{max-height:70vh;overflow:auto}.ocr-data{grid-template-columns:1fr;gap:var(--space-2)}.ocr-data div,.ocr-warnings{padding:var(--space-2)}.ocr-raw-text{margin-top:0}.ocr-actions{gap:var(--space-2);max-width:none}.ocr-raw-text pre{max-height:280px;padding:var(--space-3)}}@media(max-width:420px){.auth-page,.app-page{padding:.75rem}.nav-links,.dashboard-expense-list li,.expense-ledger-list li,.expense-row-link,.evidence-list li{grid-template-columns:1fr}button,.button-link,.nav-links a{width:100%}.app-nav .nav-links{grid-template-columns:repeat(3,minmax(0,1fr))}.app-nav .nav-links a,.app-nav .logout-button{width:auto}.app-brand{gap:.5rem}.account-email{display:none}.account-summary{min-height:44px}.brand-logo-full{display:none}.brand-logo-mark{display:block}.brand-context{margin-left:0;padding-left:.5rem}.expense-amount{grid-column:1 / 2;grid-row:auto;justify-self:start}.evidence-actions{grid-column:1 / 2;grid-row:auto;justify-items:stretch}.evidence-actions .secondary-button,.evidence-actions .danger-button{width:100%}}
