:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f6f3;color:#17201b;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #17201b;--muted: #657168;--line: #d9dfd7;--surface: #ffffff;--surface-strong: #f9faf7;--surface-tint: #eef5ef;--green: #146c43;--green-strong: #0f5132;--mint: #54b37a;--amber: #b35c00;--amber-bg: #fff4dd;--red: #a33232;--red-bg: #fff0f0;--blue: #1c4e80}*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(90deg,rgba(16,36,27,.04) 1px,transparent 1px),linear-gradient(180deg,rgba(16,36,27,.035) 1px,transparent 1px),linear-gradient(180deg,#f8faf5,#eef4f0);background-size:48px 48px,48px 48px,auto}body.viewer-open{overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.login-panel{width:min(100%,420px);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:28px;box-shadow:0 1px #ffffffd9 inset,0 24px 70px #17201b21;position:relative;overflow:hidden}.login-panel:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--green),var(--blue),var(--mint))}.login-brand,.app-brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-logo{width:48px;height:48px;flex:0 0 auto;filter:drop-shadow(0 8px 18px rgba(16,36,27,.18))}.brand-logo.large{width:58px;height:58px}.login-panel h1,.topbar h1,.detail-header h2{margin:0;letter-spacing:0}.login-panel h1{font-size:2rem}.login-panel p{color:var(--muted);line-height:1.5;margin:10px 0 22px}.primary-action,.secondary-action,.icon-text-button,.danger-button,.close-button,.icon-button{border:1px solid transparent;border-radius:8px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:background .16s ease,border-color .16s ease,transform .16s ease}.primary-action{background:var(--green);color:#fff;padding:0 16px;font-weight:700}.primary-action:hover{background:var(--green-strong)}.secondary-action,.icon-text-button,.close-button{background:var(--surface);color:var(--ink);border-color:var(--line);padding:0 14px;font-weight:650}.secondary-action:hover,.icon-text-button:hover,.close-button:hover,.icon-button:hover{border-color:#aeb8ad;background:#f2f5f1}.danger-button{background:#fff;border-color:#e5b9b9;color:var(--red);padding:0 14px;font-weight:700}.danger-button:hover{background:var(--red-bg)}.login-panel .primary-action,.login-panel .secondary-action{width:100%;margin-top:10px}.auth-form{display:grid;gap:10px;margin-top:4px}.auth-form label{display:grid;gap:6px;color:var(--muted);font-weight:750;font-size:.84rem}.auth-form input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:0 11px}.split-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.login-links{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:16px}.login-links button{min-height:30px;border:0;background:transparent;color:var(--blue);font-weight:750;padding:0 4px}.login-links button:hover{color:var(--green)}.app-shell{width:min(1440px,100%);margin:0 auto;padding:24px}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:22px;background:#ffffffb8;border:1px solid rgba(217,223,215,.82);border-radius:8px;padding:12px;box-shadow:0 14px 38px #17201b14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.eyebrow{display:block;color:var(--blue);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:0;margin-bottom:4px}.topbar h1{font-size:clamp(1.7rem,4vw,2.8rem);line-height:1}.user-chip{min-height:42px;display:inline-flex;align-items:center;gap:9px;padding:6px 8px 6px 12px;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--muted);max-width:100%}.user-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.icon-button{width:34px;height:34px;min-height:34px;padding:0;background:transparent;color:var(--muted)}.summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:14px}.summary-tile{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px;min-height:96px;display:flex;flex-direction:column;justify-content:space-between;text-align:left;color:var(--ink);position:relative;overflow:hidden;box-shadow:0 12px 28px #17201b0f}.summary-tile:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--green),var(--blue))}.summary-tile span{color:var(--muted);font-weight:700;font-size:.86rem}.summary-tile strong{font-size:1.65rem;letter-spacing:0}.summary-tile.warn{border-color:#efc774;background:var(--amber-bg)}.summary-tile.warn:before{background:var(--amber)}.summary-tile.ok{border-color:#bbd8c8}.summary-tile.ok:before{background:var(--green)}.summary-tile.hsa{border-color:#b8d4df;background:#eef8fb}.summary-tile.hsa:before{background:var(--blue)}.summary-tile.interactive:hover,.summary-tile.interactive.active{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.summary-tile.interactive.active span{color:var(--green-strong)}.toolbar{position:sticky;top:0;z-index:2;background:#f8faf5e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;align-items:center;gap:10px;padding:12px 0;margin-bottom:10px}.toolbar-spacer{flex:1}.year-filter{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#ffffffc7;max-width:min(100%,420px);overflow-x:auto}.year-filter button{min-height:34px;white-space:nowrap;border:0;border-radius:6px;padding:0 11px;background:transparent;color:var(--muted);font-weight:750}.year-filter button:hover,.year-filter button.active{background:var(--green);color:#fff}.process-banner,.alert{border-radius:8px;min-height:44px;padding:12px 14px;display:flex;align-items:center;gap:10px;margin:10px 0}.toast-message{justify-content:space-between}.toast-message span{min-width:0}.toast-dismiss{width:30px;height:30px;min-height:30px;border:1px solid currentColor;border-radius:8px;background:transparent;color:inherit;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.process-banner{position:relative;overflow:hidden;background:#eef6f1;border:1px solid #c9decd;color:var(--green-strong);font-weight:700;flex-wrap:wrap}.process-banner.compact{margin-bottom:0}.floating-process{position:fixed;top:18px;right:18px;z-index:40;width:min(440px,calc(100vw - 32px));margin:0;box-shadow:0 18px 42px #1333232e}.process-copy{display:grid;gap:2px;min-width:0}.process-copy span{color:var(--muted);font-size:.84rem;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:min(520px,72vw)}.progress-bar{position:absolute;left:0;bottom:0;width:40%;height:3px;background:var(--green);animation:progress 1.2s ease-in-out infinite}.progress-track{flex:1 1 180px;height:8px;border-radius:999px;overflow:hidden;background:#cfe0d3}.progress-track span{display:block;height:100%;min-width:8px;background:var(--green);transition:width .18s ease}.alert.success{background:#eef8f2;border:1px solid #bfe0cb;color:var(--green-strong)}.alert.error{background:var(--red-bg);border:1px solid #ecc3c3;color:var(--red)}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,430px);gap:14px;align-items:start}.receipt-panel,.page-panel,.detail-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:0;box-shadow:0 16px 42px #17201b12}.page-panel{padding:16px}.admin-page,.category-page,.family-page{display:grid;gap:14px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#0e16117a;display:grid;place-items:center;padding:18px}.category-modal{width:min(680px,100%);max-height:min(760px,calc(100vh - 36px));overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px;box-shadow:0 26px 80px #17201b38}.app-modal{width:min(620px,100%);max-height:min(780px,calc(100vh - 36px));overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px;box-shadow:0 26px 80px #17201b38}.wide-modal{width:min(840px,100%)}.admin-modal{width:min(1040px,100%)}.admin-tabs,.admin-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px}.admin-tabs button{min-height:40px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);display:inline-flex;align-items:center;gap:8px;padding:0 12px;font-weight:780}.admin-tabs button.active{color:var(--green-strong);background:var(--green-soft);border-color:#c9dfcf}.admin-tabs .secondary-action{margin-left:auto}.admin-toolbar .receipt-search{flex:1 1 280px}.admin-table-wrap{max-height:min(680px,70vh);border:1px solid var(--line);border-radius:8px}.admin-table-wrap td{vertical-align:top}.admin-table-wrap tbody tr{cursor:default}.compact-action{min-height:34px;padding:0 10px;white-space:nowrap}.scan-source-breakdown{margin-top:3px;color:var(--muted);font-size:.82rem;line-height:1.35}.compact-toggle{display:inline-flex;align-items:center;gap:8px;font-weight:760;color:var(--muted)}.compact-toggle input{width:18px;height:18px;accent-color:var(--green)}.metadata-code{display:block;max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#4c5a52}.audit-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 14px}.audit-detail-grid div{min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong)}.audit-detail-grid dt{color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.audit-detail-grid dd{margin:4px 0 0;overflow-wrap:anywhere}.audit-json{max-height:380px;overflow:auto;margin:0;padding:14px;border-radius:8px;background:#10241b;color:#eaf5ec;font-size:.84rem;line-height:1.5}.modal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.modal-form label{display:grid;gap:6px;color:var(--muted);font-weight:750;font-size:.84rem}.modal-form input,.modal-form textarea,.modal-form select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:0 11px}.modal-form textarea{min-height:120px;padding:10px 11px;resize:vertical}.modal-form input:read-only{background:var(--surface-strong);color:var(--muted)}.modal-form input:focus,.modal-form textarea:focus,.modal-form select:focus{outline:3px solid rgba(20,108,67,.16);border-color:var(--green)}.wide-field{grid-column:1 / -1}.modal-footnote{grid-column:1 / -1;margin:0;color:var(--muted);font-size:.9rem}.support-upload-field{display:grid;gap:8px;color:var(--muted);font-weight:750;font-size:.84rem}.support-upload-field .secondary-action{width:fit-content;max-width:100%;justify-content:flex-start;overflow-wrap:anywhere}.profile-heading{display:flex;align-items:center;gap:12px;min-width:0}.profile-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:1px solid var(--line);background:var(--surface-strong)}.profile-avatar.placeholder{display:grid;place-items:center;color:var(--muted)}.profile-avatar-button{border:0;background:transparent;padding:0;display:grid;gap:6px;justify-items:center;color:var(--green-strong);font-weight:800;cursor:pointer}.profile-avatar-button:disabled{cursor:progress;opacity:.7}.profile-avatar-button span:last-child{font-size:.78rem}.connection-list{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.connection-list span{border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:var(--muted);font-size:.82rem;font-weight:750;background:var(--surface-strong)}.connection-list span.connected{border-color:#bfe0cb;color:var(--green-strong);background:#eef8f2}.billing-status-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;margin-bottom:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong)}.billing-status-card div{display:grid;gap:4px;min-width:0}.billing-status-card strong{font-size:1.03rem}.billing-status-card span{color:var(--muted);font-weight:750}.plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.plan-card{min-height:176px;display:grid;gap:7px;align-content:start;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.plan-card span{color:var(--muted);font-weight:800;font-size:.86rem}.plan-card strong{font-size:1.8rem;letter-spacing:0}.plan-card small{color:var(--muted);font-weight:700}.plan-card .primary-action{width:100%;margin-top:auto}.plan-card.disabled{background:var(--surface-strong)}.plan-card.disabled strong,.plan-card.disabled span,.plan-card.disabled small{color:#89938c}.modal-copy{display:grid;gap:10px;color:var(--muted);line-height:1.55}.modal-copy p{margin:0}.compact-state{min-height:160px}.category-section{display:grid;gap:10px;margin-top:16px}.category-section h3{margin:0;font-size:.92rem;color:var(--muted);letter-spacing:0}.category-chip-row{display:flex;flex-wrap:wrap;gap:8px}.category-chip{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);font-weight:750}.category-create-row,.category-edit-row,.family-create-form,.family-invite-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:end;margin-top:18px}.category-create-row label,.family-create-form label,.family-invite-form label{display:grid;gap:6px;color:var(--muted);font-weight:750;font-size:.84rem}.category-create-row input,.category-edit-row input,.family-create-form input,.family-invite-form input{width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:0 11px}.category-list{list-style:none;display:grid;gap:8px;padding:0;margin:0}.category-list li{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong)}.category-row-actions{display:inline-flex;gap:6px}.category-page-meta{color:var(--muted);font-weight:760}.category-table-wrap{border:1px solid var(--line);border-radius:8px}.family-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-weight:760}.family-meta span,.role-pill{min-height:28px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;background:var(--surface-strong);border:1px solid var(--line)}.family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.family-grid h3{margin:0 0 8px;font-size:1rem}.family-list{display:grid;gap:8px}.family-row{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong)}.family-row>span:first-child{display:grid;gap:3px;min-width:0}.family-row small,.receipt-owner-badge small em{display:block;color:var(--muted);font-style:normal;font-weight:650}.family-row-actions{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}.compact-action{min-height:34px;padding:0 10px}.inline-edit-row{grid-template-columns:minmax(180px,1fr) auto auto;margin:0;max-width:560px}.muted-copy{margin:0;color:var(--muted)}.receipt-panel{overflow:hidden}.receipt-panel-header{min-height:44px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:.88rem;font-weight:750;border-bottom:1px solid var(--line);background:#f9faf7b8}.receipt-panel-actions,.bulk-select-control{display:inline-flex;align-items:center;gap:10px}.bulk-select-control{gap:7px;white-space:nowrap}.bulk-select-control input,.select-column input,.mobile-select-control input{width:18px;height:18px;accent-color:var(--green)}.select-column{width:42px;text-align:center}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:15px 14px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:.78rem;text-transform:uppercase;letter-spacing:0;color:var(--muted);background:linear-gradient(180deg,var(--surface-strong),var(--surface-tint))}.sort-button{min-height:26px;padding:0;border:0;background:transparent;color:inherit;display:inline-flex;align-items:center;gap:6px;font-weight:800;text-transform:uppercase}.sort-button svg{color:#95a096}.sort-button.active{color:var(--green-strong)}.sort-button.active svg{color:var(--green)}tbody tr{outline:none}tbody tr:hover,tbody tr.selected{background:#f1f6f2}tbody tr.selected{box-shadow:inset 4px 0 0 var(--green)}.actions-cell{width:1%;text-align:right}.table-icon-button{width:34px;height:34px;min-height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted)}.table-icon-button:hover{background:#f2f5f1;border-color:#aeb8ad}.danger-icon-button{color:var(--red)}.danger-icon-button:hover{background:var(--red-bg);border-color:#e5b9b9}.review-badge{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px}.review-badge.warn{color:var(--amber);background:var(--amber-bg)}.review-badge.ok{color:var(--green);background:#e8f5ee}.status-badges{display:inline-flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}.hsa-badge{min-height:30px;display:inline-flex;align-items:center;gap:5px;padding:0 9px;border-radius:999px;background:#eaf6fb;color:var(--blue);font-size:.76rem;font-weight:850;white-space:nowrap}.duplicate-badge{min-height:30px;display:inline-flex;align-items:center;gap:5px;padding:0 9px;border-radius:999px;background:var(--red-bg);color:var(--red);font-size:.76rem;font-weight:850;white-space:nowrap}.receipt-owner-badge{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:190px}.receipt-owner-badge img,.receipt-owner-badge>span{width:30px;height:30px;border-radius:999px;flex:0 0 auto}.receipt-owner-badge img{object-fit:cover;border:1px solid var(--line)}.receipt-owner-badge>span{display:inline-grid;place-items:center;background:#eef3ea;color:var(--green-strong);border:1px solid var(--line);font-size:.74rem;font-weight:850}.receipt-owner-badge small{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-weight:760}.mobile-list{display:none}.pagination{display:flex;align-items:center;justify-content:center;gap:6px;padding:14px;border-top:1px solid var(--line);background:var(--surface-strong);flex-wrap:wrap}.page-number,.page-nav,.page-ellipsis{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-weight:800}.page-number,.page-nav{border:1px solid var(--line);background:#fff;color:var(--ink)}.page-number:hover,.page-nav:hover:not(:disabled){border-color:var(--green);background:#eef8f2}.page-number.active{background:var(--green);border-color:var(--green);color:#fff}.page-nav:disabled{cursor:not-allowed;color:#a7b0aa;background:#f1f3ef}.page-ellipsis{color:var(--muted)}.receipt-card{width:100%;border-bottom:1px solid var(--line);background:#fff;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:0}.mobile-select-control{padding-left:14px;display:inline-flex;align-items:center}.receipt-card-main{width:100%;border:0;background:transparent;padding:15px 8px;text-align:left;display:grid;gap:7px;color:var(--ink)}.receipt-card.selected{background:#f1f6f2}.mobile-delete-button{margin-right:12px}.card-topline,.card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.card-topline span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}.card-money{font-size:1.45rem;font-weight:850}.card-meta{color:var(--muted);display:block;line-height:1.4}.empty-state,.empty-detail{min-height:280px;display:grid;place-items:center;gap:10px;color:var(--muted);font-weight:750}.detail-panel{padding:16px;position:sticky;top:78px}.detail-header{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:14px}.detail-header h2{font-size:1.15rem;line-height:1.2;overflow-wrap:anywhere}.image-frame{width:100%;aspect-ratio:4 / 5;border-radius:8px;border:1px solid var(--line);background:#edf0ea;overflow:hidden;display:grid;place-items:center;color:var(--muted);position:relative}.image-frame.expandable{cursor:zoom-in}.image-frame.expandable:focus{outline:3px solid rgba(20,108,67,.18);outline-offset:2px}.image-frame img,.image-frame iframe{width:100%;height:100%;background:#f9faf7}.image-frame img{object-fit:contain}.image-frame iframe{border:0}.expand-button{position:absolute;right:10px;top:10px;width:38px;height:38px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(16,36,27,.14);border-radius:8px;color:var(--ink);background:#ffffffe0;box-shadow:0 10px 24px #17201b24}.expand-button:hover{border-color:var(--green);color:var(--green)}.viewer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;flex-direction:column;background:#10241be0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:18px}.viewer-toolbar{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#f8faf5f5;box-shadow:0 20px 54px #00000038}.viewer-title{min-width:0;display:grid;gap:2px}.viewer-title span{font-weight:850;color:var(--ink)}.viewer-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.86rem}.viewer-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.zoom-value{min-width:48px;text-align:center;font-weight:800;color:var(--muted)}.viewer-shell{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,390px);gap:14px;padding-top:14px}.viewer-stage{min-height:0;overflow:auto;display:grid;place-items:center;padding:20px;border-radius:8px;cursor:zoom-in}.viewer-stage img,.viewer-stage iframe{max-width:100%;max-height:calc(100vh - 150px);transform-origin:center;transition:transform .14s ease;border-radius:8px;box-shadow:0 24px 80px #00000059;background:#fff}.viewer-stage img{width:auto;height:auto;object-fit:contain}.viewer-stage iframe{width:min(100%,920px);height:calc(100vh - 150px);border:0}.viewer-side-panel{min-height:0;overflow:auto;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#f8faf5f7;padding:14px;box-shadow:0 20px 54px #00000038}.viewer-review-card{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;margin-bottom:10px}.viewer-review-card div{display:grid;gap:2px;min-width:0}.viewer-review-card strong{color:var(--ink)}.viewer-review-card span{color:var(--muted);font-weight:700;font-size:.86rem}.viewer-review-card em{color:var(--muted);font-style:normal;font-size:.84rem}.viewer-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.viewer-side-panel .edit-form{grid-template-columns:1fr}.viewer-side-panel .form-actions{flex-direction:column}.viewer-side-panel .form-actions .primary-action,.viewer-side-panel .form-actions .danger-button{width:100%}.scan-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0;color:var(--muted);font-size:.9rem}.scan-meta .secondary-action{min-height:34px;padding:0 10px}.duplicate-review-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:12px;border:1px solid #ecc3c3;border-radius:8px;background:var(--red-bg);color:var(--red);margin:10px 0 12px}.duplicate-review-card div{display:grid;gap:3px}.duplicate-review-card span{color:#7f4c4c;font-weight:650}.edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.edit-form label{display:grid;gap:6px;color:var(--muted);font-weight:750;font-size:.84rem}.edit-form input,.edit-form select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:0 11px}.edit-form input:focus,.edit-form select:focus{outline:3px solid rgba(20,108,67,.16);border-color:var(--green)}.checkbox-field{grid-column:1 / -1;display:flex;align-items:center;gap:10px;min-height:46px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong)}.checkbox-field input{width:20px;height:20px;min-height:20px;padding:0;accent-color:var(--green)}.checkbox-field span{display:grid;gap:2px;color:var(--ink)}.checkbox-field small{color:var(--muted);font-weight:650}.form-actions{grid-column:1 / -1;display:flex;gap:10px;justify-content:space-between;margin-top:4px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes progress{0%{transform:translate(-100%)}50%{transform:translate(130%)}to{transform:translate(260%)}}@media(max-width:980px){.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.content-grid{grid-template-columns:1fr}.detail-panel{position:static}}@media(max-width:680px){.app-shell{padding:14px}.topbar{align-items:flex-start;flex-direction:column}.user-chip{width:100%;justify-content:space-between}.summary-grid{grid-template-columns:1fr 1fr;gap:8px}.summary-tile{min-height:82px;padding:12px}.summary-tile strong{font-size:1.3rem}.toolbar{display:grid;grid-template-columns:1fr 1fr}.toolbar .primary-action,.toolbar .secondary-action,.toolbar .icon-text-button{width:100%;padding:0 10px}.toolbar-spacer{display:none}.year-filter{grid-column:1 / -1;width:100%}.table-wrap{display:none}.admin-table-wrap,.category-table-wrap{display:block}.family-grid,.duplicate-review-card,.family-create-form,.family-invite-form{grid-template-columns:1fr}.duplicate-review-card .secondary-action,.duplicate-review-card .danger-button{width:100%}.mobile-list{display:block}.detail-panel{padding:13px}.edit-form{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .primary-action,.form-actions .danger-button{width:100%}.viewer-backdrop{padding:10px}.viewer-toolbar{align-items:stretch;flex-direction:column}.viewer-actions{justify-content:flex-start}.viewer-shell{grid-template-columns:1fr;overflow:auto}.viewer-stage{min-height:58vh;overflow:hidden}.viewer-stage img,.viewer-stage iframe{max-height:58vh}.viewer-stage iframe{height:58vh}.viewer-side-panel{overflow:visible}.viewer-review-actions{grid-template-columns:1fr}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.login-panel{padding:22px}.summary-grid,.toolbar,.modal-form,.plan-grid{grid-template-columns:1fr}.billing-status-card{align-items:flex-start;flex-direction:column}}:root{--ink: #101815;--muted: #66736b;--line: #e2e8e1;--soft-line: #edf1eb;--surface: #ffffff;--surface-strong: #fafcf9;--surface-tint: #eef8f1;--green: #107544;--green-strong: #075c35;--green-soft: #e7f5ec;--shadow-soft: 0 18px 55px rgba(16, 24, 21, .08);--shadow-card: 0 12px 34px rgba(16, 24, 21, .07)}body{background:radial-gradient(circle at 80% 12%,rgba(16,117,68,.08),transparent 28rem),linear-gradient(180deg,#fbfdf9,#f3f7f1)}a{color:inherit;text-decoration:none}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.brand-lockup{display:inline-flex;align-items:center;gap:12px;color:var(--ink);font-weight:850;font-size:1.1rem}.brand-logo{border-radius:14px}.marketing-page,.demo-page,.auth-page{min-height:100vh;color:var(--ink)}.marketing-nav{position:sticky;top:0;z-index:10;width:min(1540px,calc(100% - 48px));min-height:78px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;background:#fbfdf9db;border-bottom:1px solid rgba(226,232,225,.82);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.marketing-nav nav,.marketing-actions{display:flex;align-items:center;gap:26px}.marketing-nav nav{justify-content:center}.marketing-nav a{color:#26312b;font-weight:720}.marketing-nav nav a{color:#3f4a44;font-size:.95rem}.marketing-nav nav a:hover,.marketing-nav nav a[aria-current=page],.nav-link:hover{color:var(--green)}.nav-cta{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 20px;border-radius:10px;background:var(--green);color:#fff!important;box-shadow:0 12px 24px #1075443d}.hero-section{width:min(1540px,calc(100% - 48px));margin:0 auto;min-height:calc(100vh - 94px);display:grid;grid-template-columns:minmax(0,1.02fr) minmax(520px,.98fr);align-items:center;gap:56px;padding:58px 0 38px}.hero-copy{max-width:740px}.hero-badge{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 14px;border-radius:999px;background:var(--green-soft);color:var(--green-strong);font-weight:780}.hero-copy h1,.content-hero h1{margin:28px 0 16px;font-size:clamp(3.2rem,6.2vw,6.3rem);line-height:.94;letter-spacing:0}.hero-copy h1 span{display:block;color:var(--green)}.hero-copy p,.content-hero p,.section-heading p,.split-section p,.final-cta p{color:var(--muted);font-size:1.08rem;line-height:1.65}.hero-actions,.compact-actions,.final-cta>div:last-child{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.large-action{min-height:52px;padding:0 20px;border-radius:10px}.trust-row{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:22px;color:var(--muted);font-weight:700}.trust-row span,.security-list span,.auth-benefits span{display:inline-flex;align-items:center;gap:8px}.hero-visual{position:relative;min-height:520px;display:grid;place-items:center}.hero-visual:before{content:"";position:absolute;top:8%;right:-5%;bottom:4%;left:0;border:1px solid rgba(16,117,68,.13);border-radius:50%;transform:rotate(-7deg)}.phone-mockup{position:relative;z-index:1;width:238px;height:430px;padding:18px 14px;border-radius:38px;background:#fdfdfb;border:1px solid #dfe5de;box-shadow:0 24px 60px #10181529}.phone-mockup:after{content:"";position:absolute;top:52px;right:14px;bottom:52px;left:14px;border-radius:18px;background:linear-gradient(#ffffff0f,#ffffff0f),linear-gradient(145deg,#b48964,#ead9bc)}.phone-top{display:flex;justify-content:space-between;color:#56615b}.phone-top span{width:18px;height:18px;border-radius:99px;border:1px solid #d8ded7}.receipt-paper{position:absolute;z-index:2;left:50%;top:108px;width:148px;padding:22px 16px;transform:translate(-50%);display:grid;gap:9px;background:#fff;color:#3f4842;text-align:center;box-shadow:0 12px 22px #10181529}.receipt-paper span,.receipt-paper b{font-size:.72rem}.phone-camera{position:absolute;z-index:3;bottom:28px;left:50%;width:42px;height:42px;border-radius:999px;transform:translate(-50%);background:#fff;border:4px solid #f0f2ef}.floating-cards{position:absolute;right:4%;top:18%;display:grid;gap:16px;width:min(340px,48%)}.floating-card{display:flex;align-items:center;gap:14px;min-height:74px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#ffffffeb;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.floating-card>span{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;color:var(--green);background:var(--green-soft)}.floating-card div{display:grid;gap:3px}.floating-card small{color:var(--muted);font-weight:650}.preview-section,.content-section,.split-section,.final-cta,.content-hero{width:min(1540px,calc(100% - 48px));margin:0 auto}.preview-section,.content-section,.split-section{padding:54px 0}.section-heading{max-width:760px;margin-bottom:24px}.section-heading h2,.split-section h2,.final-cta h2,.content-hero h1{margin:8px 0 0;font-size:clamp(2rem,4vw,3.2rem);line-height:1.04;letter-spacing:0}.dashboard-preview{display:grid;grid-template-columns:230px minmax(0,1fr) 340px;min-height:520px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-soft)}.dashboard-preview.compact{min-height:410px}.dashboard-preview>aside:first-child{padding:22px 18px;border-right:1px solid var(--line);background:#fbfdfb;display:grid;align-content:start;gap:10px}.dashboard-preview>aside:first-child>span:not(.brand-lockup),.dashboard-preview>aside:first-child>a{min-height:40px;display:flex;align-items:center;justify-content:space-between;border-radius:10px;padding:0 12px;color:#415048;font-weight:760}.dashboard-preview>aside:first-child>span.active{background:var(--green-soft);color:var(--green-strong)}.dashboard-preview section{padding:24px;min-width:0}.preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px}.preview-header h2,.preview-header h3{margin:0;font-size:1.7rem}.preview-header p{margin:4px 0 0;color:var(--muted)}.preview-header button,.demo-actions button{border:0;border-radius:10px;min-height:42px;display:inline-flex;align-items:center;gap:8px;padding:0 14px;background:var(--green);color:#fff;font-weight:780}.preview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.preview-metrics article,.feature-card,.step-card,.testimonial-card,.pricing-card{border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-card)}.preview-metrics article{padding:16px;display:grid;gap:8px}.preview-metrics span,.preview-filters,.mini-plan small{color:var(--muted);font-weight:700}.preview-metrics strong{font-size:1.35rem}.preview-filters{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}.preview-filters span{min-height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:#fff}.preview-table td{padding:13px 10px}.preview-receipt{padding:22px;border-left:1px solid var(--line);background:#fbfdfb}.preview-receipt>div:first-child{display:flex;justify-content:space-between;color:var(--muted);font-weight:750;margin-bottom:18px}.sample-receipt{display:grid;gap:8px;min-height:260px;padding:28px;background:#fff;border:1px solid #e8e1d8;color:#29312d;text-align:center;box-shadow:0 16px 35px #10181514}.sample-receipt b{font-size:1.35rem}.mini-plan{margin-top:24px;padding:14px;display:grid;gap:8px;border:1px solid var(--line);border-radius:12px;background:#fff}.mini-plan span,.quota-track{height:7px;overflow:hidden;border-radius:999px;background:#dfe8df}.mini-plan i,.quota-track span{display:block;width:38%;height:100%;background:var(--green)}.step-grid,.feature-grid,.testimonial-grid,.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.step-card,.feature-card,.testimonial-card,.pricing-card{padding:22px}.step-card>span{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--green);color:#fff;font-weight:850}.step-card h3,.feature-card h3,.feature-card h2,.testimonial-card strong{margin:16px 0 8px}.step-card p,.feature-card p,.testimonial-card p,.pricing-card p{color:var(--muted);line-height:1.55}.feature-card svg,.testimonial-card svg{color:var(--green)}.split-section,.final-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.55fr);gap:34px;align-items:center}.security-list{display:grid;gap:12px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-card)}.security-list span{min-height:46px;padding:0 12px;border-radius:10px;background:var(--surface-strong);font-weight:760}.pricing-card{display:grid;gap:10px}.pricing-card.featured{border-color:#10754461;box-shadow:0 20px 55px #10754426}.pricing-card>span{color:var(--green);font-weight:850}.pricing-card>strong{font-size:2.2rem}.pricing-card small{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-weight:720}.pricing-card button{width:100%;margin-top:12px}.final-cta{margin-top:40px;margin-bottom:46px;padding:34px;border-radius:18px;background:var(--ink);color:#fff;box-shadow:var(--shadow-soft)}.final-cta .eyebrow,.final-cta p{color:#cbd8d0}.final-cta .secondary-action{background:#ffffff14;border-color:#ffffff3d;color:#fff}.marketing-footer{width:min(1540px,calc(100% - 48px));margin:0 auto;padding:28px 0 50px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.marketing-footer nav{display:flex;gap:14px 20px;flex-wrap:wrap;justify-content:flex-end;max-width:860px}.marketing-footer a{color:var(--muted);font-weight:700;text-transform:capitalize}.content-hero{padding:92px 0 30px;max-width:980px}.content-hero h1{font-size:clamp(2.5rem,5vw,4.8rem)}.product-app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr);background:#f7faf5}.app-sidebar{position:sticky;top:0;height:100vh;padding:22px;border-right:1px solid var(--line);background:#ffffffd1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:grid;grid-template-rows:auto 1fr auto;gap:26px}.app-sidebar-brand{display:inline-flex;align-items:center;gap:12px;font-weight:850;font-size:1.1rem}.sidebar-nav{display:grid;align-content:start;gap:8px}.sidebar-nav button,.demo-sidebar button{width:100%;min-height:44px;border:0;border-radius:10px;display:flex;align-items:center;gap:10px;padding:0 12px;background:transparent;color:#435049;font-weight:760;text-align:left}.sidebar-nav button strong{margin-left:auto;min-width:24px;min-height:24px;display:grid;place-items:center;border-radius:999px;background:#fff;color:var(--green)}.sidebar-nav button:hover,.sidebar-nav button.active,.demo-sidebar button:hover,.demo-sidebar button.active{background:var(--green-soft);color:var(--green-strong)}.sidebar-plan-card{display:grid;gap:8px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-card)}.sidebar-plan-card span{color:var(--muted);font-weight:750}.sidebar-plan-card strong{font-size:1.6rem}.sidebar-plan-card small{color:var(--muted)}.sidebar-plan-card button{border:0;background:transparent;color:var(--green);padding:0;text-align:left;font-weight:800}.app-workspace{min-width:0;padding:24px}.masquerade-banner{position:sticky;top:12px;z-index:10;min-height:46px;margin-bottom:14px;padding:8px 10px 8px 14px;border:1px solid #efd28b;border-radius:8px;background:#fff6dd;color:#6b4d00;display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:800;box-shadow:0 12px 28px #6b4d001a}.app-topbar{min-height:88px;display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px}.app-topbar h1{margin:0;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:0}.app-topbar p{margin:6px 0 0;color:var(--muted)}.app-topbar-actions,.demo-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.topbar-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover;border:1px solid var(--line)}.product-app-shell .summary-grid,.demo-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.toolbar{top:0;z-index:3;margin:10px 0;border:1px solid var(--line);border-radius:14px;padding:10px;background:#ffffffe0;box-shadow:var(--shadow-card)}.receipt-search{flex:1 1 300px;min-height:42px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted)}.receipt-search input{min-width:0;width:100%;border:0;outline:0;color:var(--ink);background:transparent}.upload-safety-strip{min-height:42px;display:flex;align-items:center;gap:9px;padding:0 14px;border:1px solid #cce4d3;border-radius:12px;background:#eef8f2;color:var(--green-strong);font-weight:720;margin:10px 0}.content-grid{grid-template-columns:minmax(0,1fr) minmax(360px,430px)}.receipt-panel,.detail-panel,.summary-tile{border-radius:14px;box-shadow:var(--shadow-card)}.receipt-panel-header,th{background:#fbfdfb}tbody tr{transition:background .14s ease,box-shadow .14s ease}.auth-page{display:grid;place-items:center;padding:34px}.auth-back{position:fixed;left:24px;top:24px;min-height:40px;display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--muted);font-weight:800}.auth-shell{width:min(1060px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,450px);gap:24px;align-items:stretch}.auth-story,.modern-login{border:1px solid var(--line);border-radius:18px;background:#ffffffe6;box-shadow:var(--shadow-soft)}.auth-story{padding:36px;display:grid;align-content:center}.auth-story h1{margin:28px 0 14px;font-size:clamp(2.2rem,4vw,4rem);line-height:1.02;letter-spacing:0}.auth-story p{color:var(--muted);line-height:1.65;font-size:1.04rem}.auth-benefits{display:grid;gap:10px;margin-top:22px;color:var(--green-strong);font-weight:780}.modern-login{width:100%;padding:28px}.modern-login:before{display:none}.modern-login h2{margin:6px 0 4px;font-size:1.7rem}.oauth-action{width:100%;margin-top:10px}.apple-action{background:#111815;color:#fff;border-color:#111815}.apple-action:disabled{opacity:.82;cursor:not-allowed}.or-divider{display:grid;place-items:center;margin:16px 0 12px;color:var(--muted);font-weight:760}.or-divider:before{content:"";grid-area:1 / 1;width:100%;height:1px;background:var(--line)}.or-divider span{position:relative;z-index:1;padding:0 12px;background:#fff}.password-details{margin-top:12px;color:var(--muted);font-weight:750}.password-details summary{cursor:pointer}.compact-auth{margin-top:10px}.demo-page{padding-bottom:34px}.demo-hero{width:min(1540px,calc(100% - 48px));margin:0 auto;padding:52px 0 22px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.demo-hero h1{max-width:720px;margin:18px 0 12px;font-size:clamp(2.3rem,5vw,4.2rem);line-height:1.03}.demo-hero p{max-width:720px;color:var(--muted);line-height:1.65}.demo-shell{width:min(1540px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:240px minmax(0,1fr);min-height:640px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:var(--shadow-soft)}.demo-sidebar{padding:22px;border-right:1px solid var(--line);background:#fbfdfb;display:grid;align-content:start;gap:10px}.demo-sidebar .brand-lockup{margin-bottom:16px}.demo-main{min-width:0;padding:24px}.demo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,390px);gap:14px}.force-list{display:block}.demo-preview-panel{position:static}.large-receipt{min-height:300px;margin-bottom:16px}.demo-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.demo-field-grid span{display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-strong);color:var(--muted)}.demo-field-grid b{color:var(--ink)}@media(max-width:1180px){.hero-section,.dashboard-preview,.demo-shell,.auth-shell{grid-template-columns:1fr}.hero-visual{min-height:430px}.floating-cards{right:0}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-preview>aside:first-child,.preview-receipt{display:none}.product-app-shell{grid-template-columns:1fr}.app-sidebar{position:static;height:auto;grid-template-rows:auto}.sidebar-nav{grid-template-columns:repeat(5,minmax(0,1fr));overflow-x:auto}}@media(max-width:820px){.marketing-nav{width:min(100% - 28px,1540px);grid-template-columns:1fr auto}.marketing-nav nav{display:none}.marketing-actions{gap:12px}.hero-section,.preview-section,.content-section,.split-section,.final-cta,.content-hero,.marketing-footer,.demo-hero,.demo-shell{width:min(100% - 28px,1540px)}.hero-section,.preview-section,.content-section,.split-section{padding:34px 0}.hero-copy h1{font-size:clamp(2.7rem,12vw,4.5rem)}.hero-visual{display:none}.step-grid,.feature-grid,.testimonial-grid,.pricing-grid,.split-section,.final-cta,.demo-grid{grid-template-columns:1fr}.marketing-footer,.demo-hero,.preview-header,.app-topbar{flex-direction:column}.app-workspace,.demo-main{padding:16px}.product-app-shell .summary-grid,.demo-summary,.preview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-nav{grid-template-columns:1fr 1fr}.content-grid{grid-template-columns:1fr}.floating-process{top:12px;left:12px;right:12px;width:auto}}@media(max-width:520px){.marketing-actions .nav-link{display:none}.auth-page{padding:72px 14px 20px}.auth-story{display:none}.product-app-shell .summary-grid,.demo-summary,.preview-metrics,.demo-field-grid,.toolbar{grid-template-columns:1fr}}
