:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#22252a;background:#f6f5f1;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{overflow-x:hidden}body{margin:0;min-width:320px;background:#f6f5f1;overflow-x:hidden}button,input,select,textarea{box-sizing:border-box;font:inherit}button{min-height:44px;border:0;border-radius:8px;padding:0 16px;color:#fff;background:#216e59;font-weight:800;cursor:pointer;transition:background .16s ease,transform .16s ease}button:hover{background:#185744}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.7}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.filter-chip:focus-visible,.section-tab:focus-visible{outline:3px solid rgba(33,110,89,.28);outline-offset:2px}.secondary-button{min-height:36px;padding:0 12px;color:#42474f;background:#ece6da}.secondary-button:hover{background:#ded6c8}.app-shell{width:min(1280px,calc(100% - 32px));margin:0 auto;padding:24px 0 44px}.app-content{display:grid;gap:18px;min-width:0}.top-bar{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:18px;min-width:0}.top-bar>div{min-width:0}h1,h2,p{margin:0}h1{margin-top:4px;font-size:34px;line-height:1.12;letter-spacing:0}h2{font-size:17px;line-height:1.25}.eyebrow{color:#c65f3a;font-size:12px;font-weight:900;letter-spacing:0;text-transform:uppercase}.top-bar p,.panel-heading span,.section-heading p,.rank-row span,.empty,.loading,.form-status,.action-status{color:#6f747c}.top-bar p{margin-top:7px;font-size:15px}.top-bar-meta{display:flex;flex-wrap:wrap;gap:6px 10px;min-height:18px;margin-top:7px;color:#77736b;font-size:12px;font-weight:800}.top-bar-meta strong{color:#216e59}.top-bar-actions{display:flex;align-items:center;gap:10px}.primary-action{min-width:168px}.refresh-button{min-width:112px}.logout-button{min-width:72px}.auth-screen{display:grid;min-height:100vh;place-items:center;padding:24px;background:#f6f5f1}.auth-card{display:grid;width:min(100%,420px);gap:14px;border:1px solid #ded9ce;border-radius:10px;padding:24px;background:#fffefa;box-shadow:0 18px 42px #27292d14}.auth-card h1{font-size:30px}.auth-card p,.auth-global-error{color:#6f747c}.auth-form{display:grid;gap:12px;margin-top:8px}.auth-global-error{position:fixed;top:16px;left:50%;z-index:50;width:min(calc(100% - 24px),480px);transform:translate(-50%);border:1px solid #e0a09b;border-radius:8px;padding:10px 12px;color:#8a1f1f;background:#fff1ef;font-size:13px;font-weight:900;text-align:center}.section-tabs{display:flex;gap:8px;margin-bottom:18px;border-bottom:1px solid #ded9ce}.section-tab{min-height:42px;border-radius:8px 8px 0 0;padding:0 18px;color:#555b63;background:transparent}.section-tab:hover{color:#216e59;background:#ede7dc}.section-tab.active{color:#fff;background:#216e59}.page-section{display:none;min-width:0}.page-section.active{display:grid;gap:16px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px}.section-heading h2{font-size:22px}.section-heading p{margin-top:4px;font-size:14px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.expenses-workspace{display:grid;gap:14px;min-width:0}.expenses-header{display:flex;align-items:end;justify-content:space-between;gap:18px;min-width:0}.expenses-header h2{font-size:24px}.expenses-header p,.filter-panel-heading p,.expenses-status-card p,.confirm-dialog p,.confirm-dialog span{color:#6f747c}.expenses-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.filters-toggle{display:none}.expenses-toolbar{display:grid;grid-template-columns:minmax(260px,520px)}.expense-search{position:relative}.expense-search span{color:#77736b;font-size:11px;font-weight:900;letter-spacing:0;text-transform:uppercase}.active-filter-chips{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.filter-chip{display:inline-flex;align-items:center;gap:7px;min-height:30px;border:1px solid #ded6c8;border-radius:999px;padding:5px 10px;color:#3f464d;background:#f7f1e7;font-size:12px;font-weight:900;max-width:100%;overflow-wrap:anywhere}button.filter-chip{min-height:30px;color:#3f464d;background:#f7f1e7}button.filter-chip:hover{background:#ece3d6}.filter-chip span{font-size:14px;line-height:1}.desktop-filter-card,.expenses-list-surface,.expenses-status-card{border:1px solid #ded9ce;border-radius:8px;background:#fffefa;box-shadow:0 14px 34px #27292d12}.desktop-filter-card{padding:14px}.expense-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.expenses-list-surface{overflow:hidden}.expenses-list-surface .transaction-panel{border:0;border-radius:0;box-shadow:none}.expenses-status-card{display:grid;gap:10px;padding:20px}.expenses-status-card strong{font-size:18px}.expenses-status-card button{width:fit-content;margin-top:4px}.filter-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;background:#22252a6b}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:grid;place-items:center;padding:18px;background:#22252a6b}.filter-panel-backdrop{align-items:end}.filter-panel{display:grid;width:min(100%,680px);justify-self:center;max-height:calc(100vh - 28px);gap:14px;overflow:auto;border:1px solid #ded9ce;border-radius:16px 16px 0 0;padding:16px;background:#fffefa;box-shadow:0 -18px 54px #14161838}.filter-panel-heading,.filter-panel-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.filter-panel-actions button{flex:1 1 0}.confirm-dialog{display:grid;width:min(420px,100%);max-width:100%;min-width:0;gap:18px;border:1px solid #ded9ce;border-radius:10px;padding:18px;background:#fffefa;box-shadow:0 24px 70px #14161847}.confirm-dialog h2{font-size:22px}.confirm-dialog p{margin-top:6px}.confirm-dialog span{display:block;margin-top:10px;font-size:13px;font-weight:900}.confirm-actions{display:flex;justify-content:flex-end;gap:10px}.action-status{border-radius:8px;padding:10px 12px;font-size:13px;font-weight:900}.action-status.success{border:1px solid #c9dfd5;background:#f0f8f3}.action-status.error{border:1px solid #e0a09b;color:#8a1f1f;background:#fff1ef}label{display:grid;gap:7px;color:#42474f;font-size:13px;font-weight:800}input,select,textarea{width:100%;max-width:100%;min-width:0;min-height:44px;border:1px solid #d6d2c8;border-radius:8px;padding:9px 11px;color:#22252a;background:#fffefa;outline:none;transition:border-color .16s ease,box-shadow .16s ease}input[type=date]{width:100%;max-width:100%;min-width:0;box-sizing:border-box}input:focus,select:focus,textarea:focus{border-color:#216e59;box-shadow:0 0 0 3px #216e5924}.summary-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:0}.summary-cards article,.panel,.expense-form-panel{border:1px solid #ded9ce;border-radius:8px;background:#fffefa;box-shadow:0 14px 34px #27292d12}.summary-cards article{display:grid;min-height:122px;align-content:space-between;padding:18px}.summary-cards span{display:block;color:#77736b;font-size:11px;font-weight:900;letter-spacing:0;text-transform:uppercase}.summary-cards strong{display:grid;gap:4px;margin-top:12px;color:#1f3d34;font-size:clamp(22px,2.2vw,31px);line-height:1.15}.summary-cards small{color:#6f747c;font-size:12px;font-weight:800}.summary-dashboard{display:grid;gap:18px;min-width:0}.summary-bi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.summary-bi-card{min-height:100%;min-width:0}.summary-rank-row{grid-template-columns:minmax(0,1fr) auto}.insights-panel{background:#fffefa}.insight-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.insight-card{display:grid;gap:8px;min-width:0;border:1px solid #eee9df;border-radius:8px;padding:14px;background:#fffdf8}.insight-card span{color:#77736b;font-size:11px;font-weight:900;letter-spacing:0;text-transform:uppercase}.insight-card strong{color:#1f3d34;font-size:18px}.summary-status-card{display:grid;gap:10px;border:1px solid #ded9ce;border-radius:8px;padding:22px;background:#fffefa;box-shadow:0 14px 34px #27292d12}.summary-status-card strong{font-size:20px}.summary-status-card p{color:#6f747c}.summary-status-card button{width:fit-content;margin-top:4px}.page-section-expenses{grid-template-columns:minmax(0,1fr)}.page-section-expenses .transaction-panel{grid-row:auto}.add-section{width:100%;max-width:720px}.panel,.expense-form-panel{min-width:0;max-width:100%;overflow-x:clip;padding:18px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.rank-list{display:grid;gap:12px}.rank-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;border-bottom:1px solid #eee9df;padding-bottom:12px}.rank-row:last-child{border-bottom:0;padding-bottom:0}.rank-row-main,.rank-row-value{display:grid;gap:4px}.rank-row-main strong,.rank-row-value strong{overflow-wrap:anywhere}.rank-row-value{text-align:right}.meter{grid-column:1 / -1;height:8px;overflow:hidden;border-radius:999px;background:#ece6da}.meter span{display:block;height:100%;min-width:4px;border-radius:inherit;background:#c65f3a}.expense-form{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;min-width:0}.expense-form-heading{align-items:start}.form-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;border:1px solid #eee9df;border-radius:8px;margin:0;padding:14px;background:#fffdf8}.form-group legend{padding:0 6px;color:#8a3f24;font-size:12px;font-weight:900;letter-spacing:0;text-transform:uppercase}.form-group>label,.expense-form>label,.form-group>*{min-width:0}.date-field{width:100%;min-width:0;max-width:100%}.date-field input,.amount-field,.amount-input-wrap{width:100%;max-width:100%;min-width:0}.amount-group{align-items:end}.amount-field{grid-column:span 1}.amount-field>span,.amount-input-wrap span{color:#6f747c}.amount-input-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid #d6d2c8;border-radius:10px;background:#fffefa;transition:border-color .16s ease,box-shadow .16s ease}.amount-input-wrap:focus-within{border-color:#216e59;box-shadow:0 0 0 3px #216e5924}.amount-input-wrap input{min-height:58px;border:0;background:transparent;font-size:30px;font-weight:900}.amount-input-wrap input:focus{box-shadow:none}.amount-input-wrap span{padding:0 14px 0 8px;font-size:13px;font-weight:900}.note-group{grid-template-columns:minmax(0,1fr)}.field-error input,.field-error select,.field-error .amount-input-wrap{border-color:#d56b5d}.field-error small{color:#9b2f22;font-size:12px;font-weight:900}.compact-field{margin-top:-4px}.form-actions{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:center;gap:12px;min-height:44px;min-width:0}.form-actions button{min-width:0}.form-status{border-radius:8px;padding:10px 12px;font-size:13px;font-weight:800}.form-status.success{border:1px solid #c9dfd5;background:#f0f8f3}.form-status.error{border:1px solid #e0a09b;color:#8a1f1f;background:#fff1ef}.table-wrap{overflow-x:auto}.mobile-transaction-list{display:none}.mobile-transaction-card{display:grid;gap:11px;min-width:0;border:1px solid #eee9df;border-radius:8px;padding:14px;background:#fffefa;box-shadow:0 10px 24px #27292d0d}.mobile-transaction-main,.mobile-transaction-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.mobile-transaction-main>div{display:grid;min-width:0;gap:3px}.mobile-transaction-main>strong{color:#1f3d34;font-size:17px;white-space:nowrap}.mobile-transaction-main strong:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-transaction-main span,.mobile-transaction-card p,.mobile-transaction-meta span:not(.pill){color:#6f747c;font-size:12px;font-weight:800}.mobile-transaction-meta{justify-content:flex-start;flex-wrap:wrap}.mobile-transaction-card p{line-height:1.35}.danger-button{min-height:34px;border:1px solid #f0c4bb;padding:0 11px;color:#9b2f22;background:#fff0ed;font-size:12px;font-weight:900}.danger-button:hover{background:#ffe0da}.mobile-delete-button{width:fit-content;justify-self:end;min-height:32px}table{width:100%;border-collapse:collapse;table-layout:fixed}.date-col{width:128px}.merchant-col{width:22%}.details-col{width:28%}.note-col{width:auto}.amount-col{width:130px}.actions-col{width:96px}th,td{border-bottom:1px solid #eee9df;padding:15px 10px;text-align:left;vertical-align:top;white-space:nowrap}th{color:#77736b;font-size:11px;font-weight:900;text-transform:uppercase}td strong,td span{display:block}td span{margin-top:3px;color:#6f747c;white-space:normal}td:last-child,th:last-child{text-align:right}.amount-column{text-align:right;vertical-align:middle}.date-cell{width:128px;color:#6f747c;font-size:13px;font-weight:800}.merchant-name{overflow-wrap:anywhere}.detail-cell{display:flex;flex-wrap:wrap;gap:6px;min-width:190px}.note-cell{color:#6f747c;font-size:13px;line-height:1.35;white-space:normal}.pill{display:inline-flex;width:fit-content;min-height:28px;align-items:center;border-radius:999px;padding:5px 10px;color:#8a3f24;background:#fff0e4;font-size:12px;font-weight:900}.muted-pill{color:#43534c;background:#eef5ef}.source-pill{color:#334c67;background:#edf4fb}.alert{border:1px solid #e0a09b;border-radius:8px;margin-bottom:12px;padding:11px 12px;color:#8a1f1f;background:#fff1ef}.loading{margin-bottom:12px;font-weight:800}.empty{padding:8px 0}@media(max-width:1100px){.summary-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-bi-grid{grid-template-columns:1fr}.insight-list{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-filter-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}}@media(max-width:760px){:root{background:#fbf8f1}body{padding-bottom:calc(108px + env(safe-area-inset-bottom))}.app-shell{width:min(100% - 24px,1280px);padding-top:14px;padding-bottom:calc(124px + env(safe-area-inset-bottom))}.top-bar{position:sticky;top:0;z-index:10;align-items:start;margin:0 -12px 12px;border-bottom:1px solid rgba(222,217,206,.78);padding:12px;background:#fbf8f1f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.top-bar-actions{align-items:start;flex-wrap:wrap;justify-content:flex-end}.desktop-add-action{display:none}.section-tabs{position:fixed;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));left:12px;z-index:30;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;border:1px solid #ded9ce;border-radius:12px;padding:6px;background:#fffefaf5;box-shadow:0 12px 30px #27292d24;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.section-tab{min-height:42px;border-radius:8px;padding:0 8px;font-size:13px}.section-heading{display:grid;gap:4px}.expenses-header{align-items:start;display:grid;gap:12px}.expenses-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.expenses-actions button{min-width:0;padding:0 10px}.filters-toggle{display:inline-flex;align-items:center;justify-content:center}.desktop-filter-card{display:none}.expenses-toolbar,.expense-filter-grid{grid-template-columns:1fr}.expenses-list-surface{border:0;background:transparent;box-shadow:none;overflow:visible}.expenses-list-surface .transaction-panel{padding:0;background:transparent}.expenses-list-surface .panel-heading{display:none}.expense-form,.form-group{grid-template-columns:minmax(0,1fr)}.expense-form>label,.form-group>label,.amount-field,.date-field{grid-column:1 / -1}.summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-dashboard{gap:14px}.summary-bi-grid,.insight-list{grid-template-columns:1fr;gap:12px}.form-span-2{grid-column:1 / -1}.date-field{max-width:100%}th,td{padding:11px 8px}.table-wrap{display:none}.mobile-transaction-list{display:grid;gap:10px}.mobile-transaction-main>strong{text-align:right}.filter-panel{width:100%;max-height:calc(100vh - 18px - env(safe-area-inset-bottom));padding-bottom:calc(16px + env(safe-area-inset-bottom))}}@media(max-width:560px){.app-shell{width:min(100% - 14px,1280px);padding-bottom:calc(132px + env(safe-area-inset-bottom))}h1{font-size:29px}.top-bar{display:grid;gap:12px;margin:0 -7px 14px;padding:12px 7px 14px}.top-bar-actions{width:100%}.panel-heading,.form-actions{display:grid;gap:8px}.refresh-button,.logout-button,.form-actions button{width:100%}.auth-screen{align-items:start;padding:56px 14px 24px}.auth-card{padding:18px}.top-bar-meta{font-size:11px}.panel,.expense-form-panel{border-radius:10px;padding:14px;box-shadow:0 10px 26px #27292d0f}.active-filter-chips{gap:6px}.filter-chip{max-width:100%}.summary-cards article{min-height:96px;padding:13px}.summary-cards strong{font-size:20px}input,select,textarea{min-height:46px;border-radius:10px;font-size:16px}.expense-form{gap:10px;padding-bottom:18px}.expense-form,.expense-form>label,.form-group,.form-group>label,.date-field,.date-field input,.amount-field,.amount-input-wrap,.expense-form input,.expense-form select,.expense-form textarea{width:100%;max-width:100%;min-width:0}.form-group{gap:10px;padding:12px}.amount-input-wrap input{min-height:56px;font-size:28px}.rank-row{grid-template-columns:1fr}.rank-row-value{text-align:left}.mobile-delete-button{width:fit-content;justify-self:end}}@media(max-width:420px){.summary-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.summary-cards article:first-child{grid-column:1 / -1}.mobile-transaction-main{align-items:start}.mobile-transaction-main>strong{flex:0 0 auto}}
