:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17251f;background:#f5f7f4;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:12px;color:#52635c}.spinner{width:22px;height:22px;border:2px solid #d6e0da;border-top-color:#28765d;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(380px,.9fr) minmax(480px,1.1fr)}.welcome-panel{display:flex;flex-direction:column;padding:48px clamp(36px,6vw,96px);color:#fff;background:radial-gradient(circle at 10% 80%,rgba(87,183,145,.3),transparent 32%),linear-gradient(145deg,#102d25,#1d5947)}.brand{display:inline-flex;align-items:center;gap:11px;width:fit-content;color:inherit;text-decoration:none;font-size:1.25rem;font-weight:750}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#123c30;background:#8de0bd;font-size:.9rem;font-weight:850}.welcome-copy{margin:auto 0;max-width:520px}.eyebrow{margin:0 0 12px;color:#408b70;font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.welcome-panel .eyebrow{color:#8de0bd}.welcome-copy h1{margin:0 0 18px;font-size:clamp(2.6rem,5vw,4.8rem);line-height:1;letter-spacing:-.045em}.welcome-copy p:not(.eyebrow){margin:0;max-width:440px;color:#c8ddd5;font-size:1.08rem;line-height:1.7}.security-note{margin:0;color:#a8c4ba;font-size:.82rem}.sign-in-panel{display:grid;place-items:center;padding:40px 24px;background:#f6f8f6}.sign-in-wrap{width:100%;max-width:430px}.mobile-brand{display:none}.clerk-root,.clerk-card-box{width:100%}.clerk-card{box-shadow:0 18px 60px #1430261a}.app-shell{min-height:100vh;background:#f5f7f4}.app-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,72px);background:#fff;border-bottom:1px solid #e2e8e4}.brand.dark{color:#17251f}.dashboard{max-width:1180px;margin:0 auto;padding:64px 28px}.dashboard-heading{display:flex;justify-content:space-between;align-items:end;gap:24px}.dashboard-heading h1{margin:0 0 8px;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.035em}.dashboard-heading p:last-child{margin:0;color:#64746d}.primary-button{border:0;border-radius:10px;padding:12px 18px;color:#fff;background:#246c55;font-weight:700}.primary-button:hover{background:#195640}.primary-button:disabled{cursor:not-allowed;opacity:.55}.notice{margin:24px 0 0;padding:13px 16px;border-radius:10px;font-size:.92rem}.notice.error{color:#8c2e2e;background:#fbeaea;border:1px solid #f2cccc}.notice.success{color:#246445;background:#e8f5ed;border:1px solid #cce8d7}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:38px 0}.summary-grid article{display:flex;flex-direction:column;padding:24px;background:#fff;border:1px solid #e2e8e4;border-radius:14px}.summary-grid span{color:#64746d;font-size:.88rem}.summary-grid strong{margin:16px 0 8px;font-size:1.8rem}.summary-grid small{color:#8a9892}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-bottom:18px}.panel{padding:24px;background:#fff;border:1px solid #e2e8e4;border-radius:16px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.panel-heading h2{margin:0;font-size:1.25rem}.panel-heading>span{color:#78867f;font-size:.88rem}.import-panel form{display:grid;gap:16px}.import-panel label{display:grid;gap:7px;color:#3f5149;font-size:.84rem;font-weight:700}.import-panel input,.import-panel select{width:100%;border:1px solid #d8e1dc;border-radius:9px;padding:11px 12px;color:#17251f;background:#fff}.file-field input{padding:9px;background:#f7f9f7}.privacy-help{margin:-3px 0 0;color:#78867f;font-size:.8rem;line-height:1.5}.account-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-top:1px solid #edf1ee}.account-row:first-of-type{border-top:0}.account-row>div{display:grid;gap:5px}.account-row span{color:#7a8982;font-size:.82rem}.visibility-button{flex:none;border:0;border-radius:999px;padding:7px 10px;font-size:.76rem;font-weight:750}.visibility-button.private{color:#765e24;background:#f8f0d8}.visibility-button.shared{color:#246445;background:#e4f3ea}.transaction-visibility{position:relative;display:inline-flex}.visibility-trigger{cursor:pointer;border:0;font:inherit}.visibility-popover-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:39;padding:0;border:0;background:transparent}.visibility-popover{position:absolute;z-index:40;top:calc(100% + 7px);left:0;display:grid;gap:7px;width:220px;padding:13px;color:#26352f;text-align:left;background:#fff;border:1px solid #dce5e0;border-radius:12px;box-shadow:0 12px 32px #142d2229}.visibility-popover small{color:#718078;line-height:1.4}.visibility-popover button{padding:8px 10px;color:#286f53;text-align:left;background:#f3f8f5;border:0;border-radius:8px;cursor:pointer}.visibility-popover button:hover{background:#e4f3ea}.visibility-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:25px;text-align:center;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 12px) 50%,calc(100% - 8px) 50%;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.visibility-select:disabled{cursor:wait;opacity:.65}.compact-empty{padding:28px 0;color:#7a8982;text-align:center}.transactions-panel{margin-bottom:32px}.chat-panel{margin-bottom:18px}.engine-badge{padding:6px 9px;border-radius:999px;color:#27694e!important;background:#e5f3ea;font-size:.74rem!important;font-weight:750}.chat-messages{display:flex;flex-direction:column;gap:14px;max-height:480px;overflow-y:auto;padding:4px 2px 20px}.chat-message{width:fit-content;max-width:min(780px,88%);padding:14px 16px;border-radius:4px 16px 16px;background:#f0f5f2}.chat-message.user{align-self:flex-end;border-radius:16px 4px 16px 16px;color:#fff;background:#246c55}.chat-message.error{color:#8c2e2e;background:#fbeaea}.message-author{display:block;margin-bottom:5px;color:#708078;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.chat-message.user .message-author{color:#c9e5d9}.chat-message p{margin:0;line-height:1.6}.answer-breakdown{display:grid;gap:7px;margin-top:12px;padding-top:10px;border-top:1px solid #dbe5df}.answer-breakdown div{display:flex;justify-content:space-between;gap:20px;font-size:.84rem}.chat-suggestions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.transaction-confirmation{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.transaction-confirmation button{border:1px solid #d6e1db;border-radius:8px;padding:9px 12px;color:#52645b;background:#fff;font-weight:750}.transaction-confirmation .primary-button{color:#fff;border-color:#21865f;background:#21865f}.chat-suggestions button{border:1px solid #cddbd3;border-radius:999px;padding:6px 9px;color:#315d4b;background:#fff;font-size:.76rem}.chat-form{display:flex;gap:10px;border-top:1px solid #edf1ee;padding-top:18px}.record-transaction{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d3ded8;border-radius:10px;padding:11px 14px;color:#315d4b;background:#fff;font-weight:800}.record-transaction span{color:#d24c4c;font-size:.72rem}.record-transaction.recording{color:#8f2929;border-color:#e6aaaa;background:#fff0f0;animation:recordPulse 1.2s ease-in-out infinite}.record-transaction:disabled{cursor:not-allowed;opacity:.55}@keyframes recordPulse{50%{box-shadow:0 0 0 5px #d24c4c1f}}.chat-form input{flex:1;min-width:0;border:1px solid #d3ded8;border-radius:10px;padding:12px 14px}.chat-disclaimer{margin:10px 0 0;color:#85928c;font-size:.74rem}.typing{display:flex;gap:5px}.typing span{width:7px;height:7px;border-radius:50%;background:#6e8379;animation:pulse 1s infinite alternate}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes pulse{to{opacity:.25;transform:translateY(-2px)}}.transaction-list{display:grid}.transaction-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px 0;border-top:1px solid #edf1ee}.transaction-date{color:#7a8982;font-size:.82rem}.transaction-main{display:grid;gap:5px;min-width:0}.transaction-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-main span{color:#7a8982;font-size:.8rem}.transaction-main em{margin-left:5px;padding:3px 6px;border-radius:999px;font-style:normal;font-weight:700}.transaction-main em.private{color:#765e24;background:#f8f0d8}.transaction-main em.shared{color:#246445;background:#e4f3ea}.amount{color:#a23c3c;font-variant-numeric:tabular-nums}.amount.income{color:#24704b}.empty-state{padding:64px 24px;text-align:center;background:#fff;border:1px solid #e2e8e4;border-radius:18px}.bank-icon{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 18px;border-radius:15px;color:#246c55;background:#e4f2eb;font-size:1.6rem}.empty-state h2{margin:0 0 10px}.empty-state p{max-width:520px;margin:0 auto 24px;color:#64746d;line-height:1.6}@media (max-width: 780px){.auth-page{display:block;background:#f6f8f6}.welcome-panel{display:none}.sign-in-panel{min-height:100vh;padding:28px 18px}.mobile-brand{display:flex;align-items:center;gap:10px;margin:0 0 32px}.dashboard-heading{align-items:flex-start;flex-direction:column}.summary-grid,.content-grid{grid-template-columns:1fr}.transaction-row{grid-template-columns:minmax(0,1fr) auto}.transaction-date{grid-column:1 / -1}.chat-message{max-width:94%}.chat-form{align-items:stretch;flex-direction:column}}.app-shell{min-height:100vh;padding-left:228px;background:#f7f9f8}.side-nav{position:fixed;inset:0 auto 0 0;z-index:30;display:flex;flex-direction:column;width:228px;padding:25px 16px 18px;background:#fff;border-right:1px solid #e8eeea}.side-brand{display:block;margin:0 10px 30px}.wava-logo{display:block;width:139px;max-width:100%}.wava-logo svg{display:block;width:100%;height:auto}.side-brand .brand-mark{width:38px;height:38px;color:#fff;background:linear-gradient(145deg,#1b7c57,#46b786)}.side-nav nav{display:grid;gap:6px}.side-nav nav button,.help-link{display:flex;align-items:center;gap:12px;width:100%;border:0;border-radius:10px;padding:12px 14px;color:#596a62;background:transparent;text-align:left;font-weight:650}.side-nav nav button span,.help-link span{width:22px;font-size:1.15rem;text-align:center}.side-nav nav button:hover{background:#f1f7f4}.side-nav nav button.active{color:#111313;background:#e8f4ee}.side-family{display:flex;align-items:center;gap:10px;margin-top:auto;padding:14px;border:1px solid #e0e9e4;border-radius:12px;background:#fafcfb}.family-avatar{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:10px;color:#176b4c;background:#dff2e8;font-weight:850}.side-family div{display:grid;min-width:0}.side-family strong{overflow:hidden;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.side-family small{margin-top:3px;color:#84918b;font-size:.7rem}.help-link{margin-top:10px;font-size:.8rem}.app-header{position:sticky;top:0;z-index:20;height:76px;padding:0 32px;border-bottom:1px solid #e8eeea;background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.global-search{display:flex;align-items:center;gap:9px;width:min(420px,48vw);margin-left:auto;border:1px solid #dce5e0;border-radius:10px;padding:10px 13px;background:#fafcfb}.global-search span{color:#718078;font-size:1.25rem}.global-search input{width:100%;border:0;outline:0;color:#25372f;background:transparent}.header-user{display:flex;align-items:center;gap:11px;margin-left:26px}.theme-toggle{display:grid;place-items:center;width:38px;height:38px;border:1px solid #dce5e0;border-radius:10px;color:#365c4d;background:#f7faf8;font-size:1.15rem;transition:transform .18s ease,background .18s ease}.theme-toggle:hover{transform:translateY(-1px);background:#e8f4ee}.notification-dot{color:#2b9b6d;font-size:.8rem}.user-copy{display:grid;text-align:right}.user-copy strong{font-size:.86rem}.user-copy small{margin-top:2px;color:#8a9691;font-size:.68rem}.mobile-menu{display:none;border:0;background:transparent;font-size:1.3rem}.mobile-nav-backdrop{display:none}.dashboard{max-width:1500px;padding:38px 32px 64px}.dashboard-heading{align-items:center;margin-bottom:28px}.dashboard-heading h1{font-size:clamp(1.8rem,3vw,2.65rem)}.heading-action{flex:none;box-shadow:0 8px 20px #21865f2e}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 16px}.summary-grid article{flex-direction:row;align-items:center;gap:14px;min-width:0;padding:20px;border-radius:14px;box-shadow:0 5px 20px #1a382b09}.summary-grid article>div:last-child{display:flex;min-width:0;flex-direction:column}.summary-grid strong{margin:6px 0;font-size:clamp(1.15rem,2vw,1.65rem);white-space:nowrap}.metric-icon{display:grid;place-items:center;flex:0 0 50px;height:50px;border-radius:50%;font-size:1.25rem;font-weight:800}.metric-icon.mint{color:#176b4c;background:#dff3e9}.metric-icon.sage{color:#33835f;background:#e8f4ed}.metric-icon.gold{color:#8d6722;background:#f9efd9}.metric-icon.forest{color:#fff;background:#2a8c66}.analytics-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.9fr);gap:16px;margin-bottom:16px}.analytics-grid .panel,.transactions-panel{box-shadow:0 5px 22px #1a382b0a}.line-chart{position:relative;height:260px;padding:10px 8px 26px}.line-chart svg{position:absolute;top:8px;right:8px;bottom:28px;left:8px;width:calc(100% - 16px);height:calc(100% - 36px);overflow:visible}.chart-grid{position:absolute;top:10px;right:8px;bottom:29px;left:8px;display:flex;flex-direction:column;justify-content:space-between}.chart-grid i{display:block;border-top:1px dashed #dfe8e3}.chart-axis{position:absolute;right:8px;bottom:2px;left:8px;display:flex;justify-content:space-between;color:#8b9892;font-size:.72rem}.category-content{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;align-items:center;min-height:250px}.donut{display:grid;place-items:center;width:180px;height:180px;border-radius:50%}.donut>div{display:grid;place-items:center;width:112px;height:112px;border-radius:50%;background:#fff}.donut strong{font-size:1rem}.donut span{margin-top:-22px;color:#88958f;font-size:.7rem}.category-legend{display:grid;gap:11px}.category-legend>div{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:.76rem}.category-legend i{width:8px;height:8px;border-radius:50%}.category-legend span{overflow:hidden;color:#5e6f67;text-overflow:ellipsis;white-space:nowrap}.category-legend strong{font-size:.75rem}.transactions-panel{margin-bottom:0}.workspace-grid{grid-template-columns:minmax(0,760px)}.workspace-grid>.panel{min-height:420px}.chat-panel{min-height:600px}.family-layout{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(440px,1.28fr);gap:16px;align-items:start}.family-layout .pending-panel{grid-column:1 / -1}.invite-form{display:grid;gap:15px}.invite-form label{display:grid;gap:7px;color:#4f6259;font-size:.8rem;font-weight:700}.invite-form input,.invite-form select,.member-row select{border:1px solid #d8e2dd;border-radius:9px;padding:10px 11px;color:#24372f;background:#fff}.family-explainer{margin:16px 0 0;color:#7a8982;font-size:.78rem;line-height:1.55}.member-list{display:grid}.member-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:15px 0;border-top:1px solid #edf1ef}.member-row:first-child{border-top:0}.member-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#176b4c;background:#dff2e8;font-weight:850}.member-avatar.pending{color:#8a6729;background:#f8efd9}.member-identity{display:grid;min-width:0;gap:4px}.member-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-identity strong small{margin-left:5px;color:#21865f;font-size:.65rem;text-transform:uppercase}.member-identity span{overflow:hidden;color:#7f8c86;font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.role-chip{padding:6px 9px;border-radius:999px;color:#47665a;background:#edf4f0;font-size:.7rem;font-weight:750;text-transform:capitalize}.role-chip.owner{color:#176b4c;background:#dff2e8}.danger-link{border:0;padding:6px;color:#a44a4a;background:transparent;font-size:.74rem}.danger-link:hover{text-decoration:underline}.banks-layout{display:grid;grid-template-columns:minmax(460px,1.15fr) minmax(380px,.85fr);gap:16px;align-items:start}.connected-list,.bank-catalog{display:grid;gap:10px}.connected-bank{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto auto;gap:11px;align-items:center;padding:13px;border:1px solid #e4ebe7;border-radius:11px}.connected-bank>div,.bank-option>div,.account-bank-heading>div,.bank-account-line>div{display:grid;gap:4px;min-width:0}.connected-bank span,.bank-option span,.account-bank-heading span,.bank-account-line span{color:#819088;font-size:.72rem}.bank-logo{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;color:#176b4c!important;background:#e1f2e9;font-size:1rem!important;font-weight:850}.bank-logo.imported{color:#7d632a!important;background:#f8f0df}.bank-logo.has-image{overflow:hidden;padding:5px;border:1px solid #e3e9e6;background:#fff}.bank-logo.has-image svg,.bank-logo.has-image img{display:block;width:100%;max-width:34px;height:100%;max-height:30px;object-fit:contain}.connection-status{padding:6px 8px;border-radius:999px;font-weight:700;text-transform:capitalize}.connection-status.connected{color:#1d744f;background:#e1f3e9}.connection-status.pending_authorization{color:#8b6523;background:#faf0da}.sync-button,.connect-button{border:1px solid #bcd8ca;border-radius:8px;padding:8px 11px;color:#176b4c;background:#f4faf7;font-size:.76rem;font-weight:750}.sync-button:hover,.connect-button:hover{color:#fff;background:#21865f}.connect-button:disabled{opacity:.55}.account-bank-group{margin-top:6px;padding:14px;border:1px solid #e4ebe7;border-radius:12px}.account-bank-heading{display:flex;align-items:center;gap:11px;margin-bottom:10px}.bank-account-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid #edf2ef}.bank-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}.bank-tabs button{border:1px solid #d8e3dd;border-radius:999px;padding:7px 12px;color:#607169;background:#fff;font-size:.76rem}.bank-tabs button.active{color:#fff;border-color:#21865f;background:#21865f}.bank-option{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px;border:1px solid #e5ece8;border-radius:11px}.bank-security-note{margin:16px 0 0;color:#7c8c84;font-size:.74rem;line-height:1.55}.expense-filters{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;margin-bottom:18px;padding:14px;border-radius:12px;background:#f4f8f6}.expense-filters label{display:grid;gap:5px;color:#64756d;font-size:.68rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.expense-filters input{width:100%;min-width:0;border:1px solid #d8e3dd;border-radius:8px;padding:9px 10px;color:#24372f;background:#fff;font-size:.78rem}.wide-filter{grid-column:span 2}.clear-filters{align-self:end;border:0;padding:10px;color:#287457;background:transparent;font-size:.76rem;font-weight:750}.expense-heading-actions{display:flex;align-items:center;gap:14px;color:#718078;font-size:.76rem}.delete-all-expenses,.delete-expense{border:1px solid #efc5c5;border-radius:8px;color:#b43b3b;background:#fff6f6;font-weight:750}.delete-all-expenses{padding:8px 11px}.delete-expense{padding:6px 9px;font-size:.7rem}.delete-all-expenses:hover,.delete-expense:hover{color:#922929;background:#ffeaea}.delete-all-expenses:disabled,.delete-expense:disabled{cursor:not-allowed;opacity:.45}.expense-table-wrap{overflow-x:auto;border:1px solid #e6ece9;border-radius:11px}.expense-table{width:100%;min-width:1050px;border-collapse:collapse;font-size:.77rem}.expense-table th{padding:11px 13px;color:#6e7c76;background:#f5f8f6;text-align:left;font-size:.67rem;letter-spacing:.04em;text-transform:uppercase}.expense-table th button{display:inline-flex;align-items:center;gap:6px;width:100%;border:0;padding:0;color:inherit;background:transparent;font:inherit;font-weight:800;letter-spacing:inherit;text-align:inherit;text-transform:inherit;white-space:nowrap}.expense-table th button:hover{color:#21865f}.expense-table th button span{color:#21865f;font-size:.78rem}.expense-table th.number-cell button{justify-content:flex-end}.expense-table td{padding:12px 13px;border-top:1px solid #edf1ef;color:#52645b;vertical-align:middle}.expense-table tbody tr:hover{background:#f8fbf9}.expense-table td>strong:not(.amount),.expense-table td>small{display:block;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-table td>strong:not(.amount){color:#26382f}.expense-table td>small{margin-top:4px;color:#8a9690;font-size:.68rem}.category-tag,.status-tag{display:inline-block;padding:5px 8px;border-radius:7px;color:#286b50;background:#e8f4ee;white-space:nowrap}.status-tag{color:#53675d;background:#eef3f0}.number-cell{text-align:right!important;white-space:nowrap}.action-cell{width:74px;text-align:center!important;white-space:nowrap}.not-owner-action{color:#a9b2ae}.receipt-cell{min-width:130px}.receipt-cell small{max-width:150px!important}.no-receipt{color:#8b9791;white-space:nowrap}.view-receipt,.upload-receipt,.remove-receipt{display:inline-block;border:1px solid #cfe0d7;border-radius:8px;padding:6px 9px;color:#286f53;background:#f5fbf8;font-size:.7rem;font-weight:750;white-space:nowrap}.upload-receipt{cursor:pointer}.upload-receipt input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.upload-receipt.disabled{cursor:wait;opacity:.5}.remove-receipt{margin-top:5px;border-color:transparent;color:#a43e3e;background:transparent}.receipt-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:24px;background:#0a120eb8}.receipt-modal article{width:min(920px,96vw);height:min(820px,92vh);display:grid;grid-template-rows:auto 1fr;overflow:hidden;border-radius:14px;background:#fff;box-shadow:0 24px 80px #00000059}.receipt-modal header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;border-bottom:1px solid #e1e9e5}.receipt-modal header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receipt-modal header button{border:0;color:#52645b;background:transparent;font-size:1.6rem;line-height:1}.receipt-modal img{width:100%;height:100%;min-height:0;object-fit:contain;background:#eef2f0}.receipt-modal iframe{width:100%;height:100%;border:0}.no-grid-results{padding:40px!important;color:#84918b!important;text-align:center}.grid-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;color:#718078;font-size:.76rem}.grid-pagination>div{display:flex;align-items:center;gap:12px}.grid-pagination button{border:1px solid #d6e1db;border-radius:8px;padding:8px 11px;color:#286f53;background:#fff}.grid-pagination button:disabled{cursor:not-allowed;opacity:.4}@media (max-width: 1150px){.summary-grid{grid-template-columns:repeat(2,1fr)}.analytics-grid,.family-layout,.banks-layout{grid-template-columns:1fr}.expense-filters{grid-template-columns:repeat(3,minmax(130px,1fr))}.family-layout .pending-panel{grid-column:auto}}@media (max-width: 820px){.app-shell{padding-left:0}.side-nav{transform:translate(-105%);box-shadow:12px 0 30px #142d2224;transition:transform .2s ease}.side-nav.open{transform:translate(0)}.mobile-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:29;display:block;padding:0;border:0;background:#142d2233}.mobile-menu{display:block}.app-header{padding:0 18px}.global-search{width:min(420px,55vw);margin-left:10px}.user-copy,.notification-dot{display:none}.header-user{margin-left:10px}.dashboard{padding:28px 18px 48px}}@media (max-width: 600px){.summary-grid{grid-template-columns:1fr}.category-content{grid-template-columns:1fr;justify-items:center}.category-legend,.heading-action{width:100%}.member-row{grid-template-columns:40px minmax(0,1fr) auto}.member-row .danger-link{grid-column:2 / -1;justify-self:start}.connected-bank{grid-template-columns:42px minmax(0,1fr) auto}.connected-bank .sync-button,.connected-bank .danger-link{grid-column:2 / -1;justify-self:start}.expense-filters{grid-template-columns:1fr 1fr}.wide-filter{grid-column:1 / -1}.grid-pagination{align-items:flex-start;flex-direction:column}}:root{--wava-page: #f7f9f8;--wava-surface: #ffffff;--wava-surface-soft: #f4f8f6;--wava-surface-hover: #f8fbf9;--wava-border: #e4ebe7;--wava-text: #17251f;--wava-muted: #718078;--wava-green: #21865f;--wava-green-soft: #e1f2e9;--wava-shadow: rgba(26, 56, 43, .05)}:root[data-theme=dark]{color-scheme:dark;--wava-page: #080909;--wava-surface: #121313;--wava-surface-soft: #1a1c1c;--wava-surface-hover: #222424;--wava-border: #303333;--wava-text: #f0f1f1;--wava-muted: #a2a7a5;--wava-green: #55c592;--wava-green-soft: #242626;--wava-shadow: rgba(0, 0, 0, .22)}:root[data-theme=dark] body,:root[data-theme=dark] .app-shell,:root[data-theme=dark] .dashboard{color:var(--wava-text);background:var(--wava-page)}:root[data-theme=dark] .side-nav,:root[data-theme=dark] .app-header,:root[data-theme=dark] .panel,:root[data-theme=dark] .summary-grid article,:root[data-theme=dark] .empty-state,:root[data-theme=dark] .donut>div{color:var(--wava-text);border-color:var(--wava-border);background:var(--wava-surface);box-shadow:0 6px 24px var(--wava-shadow)}:root[data-theme=dark] .app-header{background:#121313f5}:root[data-theme=dark] .side-nav nav button,:root[data-theme=dark] .help-link,:root[data-theme=dark] .dashboard-heading p,:root[data-theme=dark] .panel-heading>span,:root[data-theme=dark] .summary-grid span,:root[data-theme=dark] .summary-grid small,:root[data-theme=dark] .transaction-date,:root[data-theme=dark] .transaction-main span,:root[data-theme=dark] .privacy-help,:root[data-theme=dark] .chat-disclaimer{color:var(--wava-muted)}:root[data-theme=dark] .side-nav nav button:hover,:root[data-theme=dark] .expense-table tbody tr:hover{background:var(--wava-surface-hover)}:root[data-theme=dark] .side-nav nav button.active{color:#f2f3f3;background:#292c2b}:root[data-theme=dark] .side-family,:root[data-theme=dark] .global-search,:root[data-theme=dark] .expense-filters,:root[data-theme=dark] .token-card{color:var(--wava-text);border-color:var(--wava-border);background:var(--wava-surface-soft)}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] .import-panel input,:root[data-theme=dark] .import-panel select,:root[data-theme=dark] .expense-filters input,:root[data-theme=dark] .chat-form input{color:var(--wava-text);border-color:#393d3b;background:#0d0f0f}:root[data-theme=dark] input::placeholder{color:#708178}:root[data-theme=dark] .theme-toggle{color:#f5cd69;border-color:var(--wava-border);background:var(--wava-surface-soft)}:root[data-theme=dark] .theme-toggle:hover{background:#303333}:root[data-theme=dark] .expense-table-wrap,:root[data-theme=dark] .expense-table td,:root[data-theme=dark] .account-row,:root[data-theme=dark] .member-row,:root[data-theme=dark] .transaction-row,:root[data-theme=dark] .bank-account-line{border-color:var(--wava-border)}:root[data-theme=dark] .expense-table th{color:#aeb2b0;background:#1d1f1f}:root[data-theme=dark] .expense-table td{color:#bdcbc4;background:var(--wava-surface)}:root[data-theme=dark] .expense-table td>strong:not(.amount),:root[data-theme=dark] .member-identity strong,:root[data-theme=dark] .account-row strong,:root[data-theme=dark] .transaction-main strong{color:var(--wava-text)}:root[data-theme=dark] .chat-message.assistant{color:var(--wava-text);background:#202222}:root[data-theme=dark] .chat-suggestions button,:root[data-theme=dark] .transaction-confirmation button:not(.primary-button),:root[data-theme=dark] .record-transaction,:root[data-theme=dark] .grid-pagination button,:root[data-theme=dark] .bank-tabs button,:root[data-theme=dark] .sync-button,:root[data-theme=dark] .connect-button{color:#78d8aa;border-color:#3a3e3c;background:#1b1d1d}:root[data-theme=dark] .record-transaction.recording{color:#faa;border-color:#754444;background:#321f1f}:root[data-theme=dark] .delete-all-expenses,:root[data-theme=dark] .delete-expense{color:#ff9696;border-color:#613838;background:#2b1c1c}:root[data-theme=dark] .connected-bank,:root[data-theme=dark] .account-bank-group,:root[data-theme=dark] .bank-option{border-color:var(--wava-border);background:var(--wava-surface-soft)}:root[data-theme=dark] .chart-grid i{border-color:#343737}:root[data-theme=dark] .notice.error{color:#ffb5b5;border-color:#673b3b;background:#382020}:root[data-theme=dark] .notice.success{color:#8ce0b3;border-color:#315743;background:#1c3328}:root[data-theme=dark] .eyebrow{color:#65c99a}:root[data-theme=dark] .metric-icon,:root[data-theme=dark] .metric-icon.mint,:root[data-theme=dark] .metric-icon.sage,:root[data-theme=dark] .metric-icon.gold,:root[data-theme=dark] .metric-icon.forest,:root[data-theme=dark] .family-avatar,:root[data-theme=dark] .member-avatar,:root[data-theme=dark] .member-avatar.pending,:root[data-theme=dark] .bank-logo,:root[data-theme=dark] .bank-logo.imported{color:#70d2a4!important;background:#292c2b}:root[data-theme=dark] .bank-logo.has-image{border-color:#3a3d3c;background:#f4f4f4}:root[data-theme=dark] .visibility-button.private,:root[data-theme=dark] .visibility-button.shared,:root[data-theme=dark] .transaction-main em.private,:root[data-theme=dark] .transaction-main em.shared,:root[data-theme=dark] .role-chip,:root[data-theme=dark] .role-chip.owner,:root[data-theme=dark] .engine-badge,:root[data-theme=dark] .category-tag,:root[data-theme=dark] .status-tag,:root[data-theme=dark] .connection-status.connected,:root[data-theme=dark] .connection-status.pending_authorization{color:#83d9af!important;background:#292c2b}:root[data-theme=dark] .primary-button,:root[data-theme=dark] .chat-message.user,:root[data-theme=dark] .bank-tabs button.active{color:#07110c;background:#55c592}:root[data-theme=dark] .notice.success{color:#8ddab4;border-color:#3b3f3d;background:#202222}
