:root{--background:#f4f6f3;--surface:#fff;--surface-muted:#f8faf8;--navy:#10244a;--text:#26354d;--muted:#6f7a8d;--line:#dfe5e2;--green:#0a9f66;--green-dark:#087d52;--green-soft:#e2f5ec;--red:#ee5a5a;--red-soft:#fff0ef;--amber:#e7a90f;--shadow:0 8px 24px #182d2612;--shadow-hover:0 14px 32px #182d261c}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:radial-gradient(circle at 100% 0%, #0a9f6614, transparent 28rem), var(--background);min-width:320px;color:var(--text);margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}.app-shell{width:min(1480px,100% - 48px);margin:0 auto;padding:32px 0 52px}.page-header,.header-actions,.summary-card,.section-heading,.category-header,.category-totals,.progress-row,.expenses-header,.expenses-title,.expense-row{align-items:center;display:flex}.page-header{justify-content:space-between;gap:24px;margin-bottom:24px}.eyebrow{color:var(--green-dark);letter-spacing:.11em;text-transform:uppercase;margin:0 0 5px;font-size:.72rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{color:var(--navy);letter-spacing:-.04em;margin-bottom:0;font-size:clamp(2rem,4vw,3rem);line-height:1}h2{color:var(--navy);letter-spacing:-.025em;margin-bottom:0;font-size:1.45rem}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px}.signed-out-state{border:1px solid var(--line);width:min(620px,100%);min-height:410px;box-shadow:var(--shadow);text-align:center;background:#ffffffe0;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;margin:72px auto 0;padding:48px 32px;display:flex}.signed-out-mark{background:var(--green-soft);width:58px;height:58px;color:var(--green-dark);border-radius:18px;place-items:center;margin-bottom:20px;font-size:1.55rem;font-weight:900;display:grid}.signed-out-state h2{margin-bottom:12px;font-size:clamp(1.5rem,4vw,2.15rem)}.signed-out-state>p:not(.eyebrow){max-width:430px;color:var(--muted);margin-bottom:24px;line-height:1.65}.signed-out-state small{color:var(--muted);margin-top:16px;font-size:.68rem}.month-picker,.button{border:1px solid var(--line);height:46px;color:var(--navy);background:#ffffffe6;border-radius:12px}.month-picker{align-items:center;gap:10px;padding:0 14px;display:flex;box-shadow:0 4px 14px #182d260a}.month-picker svg,.button svg,.clock-icon svg,.undo-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:19px;height:19px}.month-picker input{min-width:150px;color:var(--navy);background:0 0;border:0;outline:0;font-weight:600}.button{justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:700;transition:border-color .16s,transform .16s,background .16s;display:inline-flex}.button:hover{background:var(--surface);border-color:#a8b8b0;transform:translateY(-1px)}.summary-card,.category-card,.expenses-card{box-shadow:var(--shadow);background:#fffffff0;border:1px solid #cdd8d3e6}.summary-card{border-radius:18px;grid-template-columns:1fr 1fr 1fr 2.5fr;align-items:stretch;margin-bottom:34px;display:grid;overflow:hidden}.summary-stat,.summary-progress{padding:24px 28px}.summary-stat{border-right:1px solid var(--line);flex-direction:column;justify-content:center;display:flex}.summary-stat span,.summary-progress-label span{color:var(--text);font-size:.85rem;font-weight:700}.summary-stat strong{color:var(--navy);letter-spacing:-.035em;white-space:nowrap;margin-top:9px;font-size:clamp(1.45rem,2.3vw,2rem)}.summary-stat .spent-text{color:var(--red)}.summary-stat .remaining-text{color:var(--green)}.summary-stat .remaining-text.negative{color:var(--red)}.summary-progress{min-width:0}.summary-progress-label,.progress-caption{justify-content:space-between;align-items:center;gap:16px;display:flex}.summary-progress-label strong{color:var(--navy);font-size:.82rem}.progress-track{background:#e9eeec;border-radius:999px;height:9px;position:relative;overflow:hidden}.summary-progress .progress-track{margin:14px 0 8px}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--green-dark), #17b978);width:0;height:100%;transition:width .3s,background .2s}.progress-fill.warning{background:linear-gradient(90deg,#dd9310,#f0bd39)}.progress-fill.over{background:linear-gradient(90deg, #d94747, var(--red))}.progress-caption{color:var(--muted);font-size:.74rem;font-weight:700}.categories-section{margin-bottom:26px}.section-heading{justify-content:space-between;gap:24px;margin-bottom:16px}.section-heading>p{max-width:440px;color:var(--muted);text-align:right;margin-bottom:0;font-size:.9rem}.categories-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.category-card{border-radius:16px;min-width:0;padding:18px;transition:transform .18s,box-shadow .18s,border-color .18s}.category-card:focus-within{box-shadow:var(--shadow-hover), 0 0 0 3px #0a9f6617;border-color:#0a9f6685;transform:translateY(-2px)}.category-header{justify-content:space-between;gap:10px;min-height:42px}.category-name-wrap{align-items:center;min-width:0;display:flex}.category-icon{background:var(--category-color,var(--green));border-radius:999px;flex:none;width:9px;height:30px;margin-right:10px}.category-name{color:var(--navy);margin-bottom:0;font-size:.98rem;line-height:1.22}.budget-label,.category-totals>div{flex-direction:column;display:flex}.budget-label{flex:none;align-items:flex-end;font-size:.68rem}.budget-label span,.category-totals span{color:var(--muted);font-size:.7rem;font-weight:700}.budget-label strong{color:var(--navy);margin-top:2px;font-size:.83rem}.category-totals{justify-content:space-between;margin:18px 0 10px}.category-totals strong{margin-top:4px}.category-remaining{color:var(--green);letter-spacing:-.035em;font-size:1.45rem}.category-remaining.negative{color:var(--red)}.spent-block{align-items:flex-end}.category-spent{color:var(--navy);font-size:.83rem}.progress-row{gap:9px}.progress-row .progress-track{flex:1}.category-percentage{width:42px;color:var(--muted);text-align:right;font-size:.7rem;font-weight:700}.expense-form{border-top:1px solid #edf0ef;margin-top:16px;padding-top:14px}.form-label{color:var(--navy);margin-bottom:7px;font-size:.7rem;font-weight:800;display:block}.expense-fields{grid-template-columns:minmax(72px,.8fr) minmax(96px,1.2fr) 40px;gap:7px;display:grid}.expense-fields label{min-width:0}.expense-fields input{background:var(--surface-muted);width:100%;min-width:0;height:40px;color:var(--navy);border:1px solid #d7dedb;border-radius:9px;outline:0;padding:0 10px;font-size:.78rem;transition:border-color .15s,box-shadow .15s,background .15s}.expense-fields input:focus{border-color:var(--green);background:var(--surface);box-shadow:0 0 0 3px #0a9f661a}.expense-fields input::placeholder{color:#9aa3b1}.add-button{color:#fff;background:linear-gradient(145deg,#10ad70,#078b59);border:0;border-radius:10px;width:40px;height:40px;font-size:1.35rem;line-height:1;transition:transform .15s,box-shadow .15s;box-shadow:0 5px 12px #0a9f663d}.add-button:hover{transform:translateY(-1px);box-shadow:0 8px 16px #0a9f664d}.add-button:active{transform:translateY(1px);box-shadow:0 3px 8px #0a9f6633}.expenses-card{border-radius:18px;overflow:hidden}.expenses-header{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:18px 22px}.expenses-title{gap:12px}.expenses-title h2{font-size:1.05rem}.expenses-title .eyebrow{font-size:.6rem}.clock-icon{background:var(--green-soft);width:38px;height:38px;color:var(--green-dark);border-radius:50%;place-items:center;display:grid}.expense-count{background:var(--surface-muted);color:var(--muted);border-radius:999px;padding:7px 11px;font-size:.72rem;font-weight:700}.expense-table{border-collapse:collapse;width:100%}.expense-table th,.expense-table td{text-align:left;border-bottom:1px solid #edf0ef;padding:12px 22px}.expense-table th{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.67rem}.expense-table td{color:var(--text);font-size:.78rem}.expense-table tbody tr:last-child td{border-bottom:0}.expense-table td:nth-child(3){color:var(--navy);font-weight:800}.category-pill{align-items:center;gap:8px;display:inline-flex}.category-pill:before{background:var(--pill-color,var(--green));content:"";border-radius:50%;width:8px;height:8px}.undo-button{color:#087ea4;background:0 0;border:0;align-items:center;gap:5px;padding:5px;font-size:.73rem;font-weight:700;display:inline-flex}.empty-state{color:var(--muted);text-align:center;padding:34px 24px 38px}.empty-state strong{color:var(--navy);margin-bottom:6px;display:block}.expense-mobile-list{display:none}.toast{z-index:10;background:var(--navy);color:#fff;opacity:0;pointer-events:none;border-radius:12px;max-width:min(360px,100% - 48px);padding:13px 17px;font-size:.82rem;font-weight:700;transition:opacity .18s,transform .18s;position:fixed;bottom:24px;right:24px;transform:translateY(12px);box-shadow:0 14px 38px #10244a40}.toast.show{opacity:1;transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1180px){.summary-card{grid-template-columns:repeat(3,1fr)}.summary-progress{border-top:1px solid var(--line);grid-column:1/-1}.summary-stat:nth-child(3){border-right:0}.categories-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=880px){.app-shell{width:min(100% - 28px,760px);padding-top:22px}.page-header{align-items:flex-start}.header-actions{flex-direction:column;align-items:stretch}.categories-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-table{display:none}.expense-mobile-list{display:block}.expense-row{border-bottom:1px solid #edf0ef;justify-content:space-between;gap:14px;padding:14px 18px}.expense-row:last-child{border-bottom:0}.expense-row-main{min-width:0}.expense-row-main strong,.expense-row-main span{display:block}.expense-row-main strong{color:var(--navy);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:.8rem;overflow:hidden}.expense-row-main span,.expense-row-side small{color:var(--muted);font-size:.67rem}.expense-row-side{text-align:right;flex:none}.expense-row-side strong,.expense-row-side small{display:block}.expense-row-side strong{color:var(--navy);font-size:.82rem}.expense-row-side .undo-button{margin:3px -5px -4px auto}}@media (width<=620px){.app-shell{width:min(100% - 20px,520px);padding-bottom:34px}.page-header{display:block}h1{font-size:2.1rem}.header-actions{grid-template-columns:1fr auto;margin-top:20px;display:grid}.month-picker input{width:100%;min-width:0}.button{padding:0 13px}.button svg{display:none}.summary-card{grid-template-columns:1fr 1fr;margin-bottom:26px}.summary-stat,.summary-progress{padding:19px 17px}.summary-stat:first-child{border-right:0;border-bottom:1px solid var(--line);grid-column:1/-1}.summary-stat:nth-child(2){border-right:1px solid var(--line)}.summary-stat strong{font-size:1.4rem}.summary-progress-label strong{display:none}.section-heading{align-items:flex-start}.section-heading>p{display:none}.categories-grid{grid-template-columns:1fr}.category-card{padding:17px}.expenses-header{padding:16px}.expenses-title{gap:9px}.clock-icon{width:34px;height:34px}.toast{max-width:calc(100% - 24px);bottom:12px;right:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.section-actions{align-items:center;gap:18px;display:flex}.section-actions p{max-width:430px;color:var(--muted);text-align:right;margin:0;font-size:.86rem}.button-primary{border-color:var(--green);color:#fff;background:linear-gradient(145deg,#10ad70,#078b59);box-shadow:0 6px 15px #0a9f6633}.button-primary:hover{border-color:var(--green-dark);background:linear-gradient(145deg,#0fa96d,#087d52)}.button-danger{color:#d93f3f;background:#fff;border-color:#f0a5a5}.button-danger:hover{border-color:var(--red);background:var(--red-soft)}.category-card{cursor:pointer}.category-card:hover{box-shadow:var(--shadow-hover);border-color:#0a9f6657;transform:translateY(-2px)}.category-card-actions{align-items:flex-start;gap:7px;display:flex}.category-menu-button{width:30px;height:30px;color:var(--muted);letter-spacing:.08em;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;font-weight:800;line-height:1;display:grid}.category-menu-button:hover,.category-menu-button:focus-visible{background:var(--surface-muted);color:var(--navy);outline:0}.categories-empty{min-height:230px;color:var(--muted);text-align:center;background:#ffffff9e;border:1px dashed #bbc9c3;border-radius:18px;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:8px;display:flex}.categories-empty strong{color:var(--navy);font-size:1.05rem}.categories-empty .button{margin-top:10px}.empty-actions{gap:10px;display:flex}.auth-control{position:relative}.auth-button{border:1px solid var(--line);height:46px;color:var(--navy);background:#fff;border-radius:12px;align-items:center;gap:9px;padding:0 14px;font-size:.78rem;font-weight:700;display:inline-flex}.auth-button:hover:not(:disabled){border-color:#a8b8b0;box-shadow:0 4px 12px #182d2612}.auth-button:disabled{cursor:not-allowed;opacity:.6}.google-mark{width:19px;height:19px}.auth-error{z-index:5;width:280px;box-shadow:var(--shadow);color:#b93636;background:#fff5f5;border:1px solid #f2c5c5;border-radius:9px;padding:9px 11px;font-size:.68rem;line-height:1.4;position:absolute;top:calc(100% + 7px);right:0}.user-control{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:9px;min-width:230px;height:46px;padding:5px 8px;display:flex}.user-control img,.user-initial{border-radius:50%;flex:none;width:32px;height:32px}.user-initial{background:var(--green-soft);color:var(--green-dark);place-items:center;font-weight:800;display:grid}.user-control>div{flex:1;min-width:0}.user-control strong,.user-control span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.user-control strong{color:var(--navy);font-size:.68rem}.user-control span{color:var(--muted);font-size:.58rem}.user-control button{color:#087ea4;background:0 0;border:0;font-size:.64rem;font-weight:700}.templates-dialog{width:min(100%,700px)}.template-list{gap:10px;margin-top:24px;display:grid}.template-item{border:1px solid var(--line);background:var(--surface-muted);border-radius:12px;justify-content:space-between;align-items:center;gap:18px;padding:14px;display:flex}.template-title{align-items:center;gap:7px;display:flex}.template-title strong{color:var(--navy);font-size:.86rem}.template-title span{background:var(--green-soft);color:var(--green-dark);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:4px 7px;font-size:.55rem;font-weight:800}.template-item p{color:var(--muted);margin:5px 0 0;font-size:.7rem}.template-actions{align-items:center;gap:7px;display:flex}.template-actions .button{height:38px;padding:0 12px;font-size:.7rem}.template-delete{width:38px;height:38px;color:var(--red);background:#fff;border:1px solid #efcaca;border-radius:9px;place-items:center;display:grid}.template-delete svg{width:17px;height:17px}.save-template-form{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.save-template-form>div:first-child strong,.save-template-form>div:first-child span{display:block}.save-template-form>div:first-child strong{color:var(--navy);font-size:.82rem}.save-template-form>div:first-child span{color:var(--muted);margin-top:4px;font-size:.68rem}.save-template-fields{grid-template-columns:1fr auto;gap:9px;margin-top:11px;display:grid}.save-template-fields input{background:var(--surface-muted);min-width:0;height:44px;color:var(--navy);border:1px solid #d5ded9;border-radius:10px;outline:0;padding:0 12px}.save-template-fields input:focus{border-color:var(--green);box-shadow:0 0 0 3px #0a9f661a}.category-history-link,.mobile-history-link{color:inherit;font:inherit;text-align:left;background:0 0;border:0}.category-history-link{border-radius:7px;padding:4px 6px}.category-history-link:hover{background:var(--surface-muted)}.archived-tag,.archived-badge{color:#6b7584;letter-spacing:.04em;text-transform:uppercase;background:#eef1f0;border-radius:999px;font-size:.58rem;font-weight:800}.archived-tag{margin-left:5px;padding:3px 6px}.modal-open{overflow:hidden}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f1b3080;place-items:center;padding:28px;display:grid;position:fixed;inset:0;overflow-y:auto}.dialog{background:var(--surface);border:1px solid #cfd8d5f2;border-radius:18px;width:min(100%,520px);max-height:calc(100vh - 56px);padding:28px;animation:.16s ease-out dialog-in;position:relative;overflow-y:auto;box-shadow:0 28px 80px #0a1b3240}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.dialog-close{z-index:1;width:34px;height:34px;color:var(--muted);background:0 0;border:0;border-radius:9px;place-items:center;font-size:1.7rem;font-weight:300;line-height:1;display:grid;position:absolute;top:18px;right:18px}.dialog-close:hover{background:var(--surface-muted);color:var(--navy)}.dialog-header{padding-right:36px}.dialog-header h2{margin-bottom:8px}.dialog-header>p:last-child,.history-heading p{color:var(--muted);margin-bottom:0;font-size:.85rem}.dialog-form{margin-top:24px}.dialog-field{margin-bottom:17px;display:block}.dialog-field>span,.color-field legend{color:var(--navy);margin-bottom:8px;font-size:.75rem;font-weight:800;display:block}.dialog-field>input,.currency-input{background:var(--surface-muted);border:1px solid #d5ded9;border-radius:10px;width:100%;height:46px}.dialog-field>input{color:var(--navy);outline:0;padding:0 13px}.dialog-field>input:focus,.currency-input:focus-within{border-color:var(--green);background:var(--surface);box-shadow:0 0 0 3px #0a9f661a}.currency-input{align-items:center;display:flex;overflow:hidden}.currency-input strong{border-right:1px solid var(--line);height:100%;color:var(--navy);place-items:center;padding:0 13px;font-size:.77rem;display:grid}.currency-input input{width:100%;min-width:0;height:100%;color:var(--navy);background:0 0;border:0;outline:0;padding:0 13px}.color-field{border:0;margin:0 0 24px;padding:0}.color-options{gap:12px;display:flex}.color-option{cursor:pointer;width:36px;height:36px;display:block;position:relative}.color-option input{opacity:0;position:absolute}.color-option span{background:var(--swatch);border:4px solid #fff;border-radius:50%;width:100%;height:100%;display:block;box-shadow:0 0 0 1px #d7dfdc}.color-option input:checked+span{box-shadow:0 0 0 2px var(--swatch), 0 0 0 5px white}.dialog-actions,.dialog-actions-right{justify-content:flex-end;align-items:center;gap:9px;display:flex}.dialog-actions{border-top:1px solid var(--line);padding-top:20px}.dialog-actions-split{justify-content:space-between}.history-dialog{width:min(100%,780px);padding:30px}.history-heading,.history-title-row,.history-list-header,.history-row,.history-progress{align-items:center;display:flex}.history-heading{gap:14px;padding-right:42px}.history-color{background:var(--history-color);border-radius:50%;flex:none;width:48px;height:48px;box-shadow:inset 0 0 0 10px #ffffff24}.history-title-row{gap:8px}.history-title-row h2{margin:0;font-size:1.7rem}.archived-badge{padding:4px 7px}.history-summary{border:1px solid var(--line);background:var(--surface-muted);border-radius:13px;grid-template-columns:repeat(3,1fr);margin-top:24px;display:grid;overflow:hidden}.history-summary>div:not(.history-progress){border-right:1px solid var(--line);flex-direction:column;padding:18px;display:flex}.history-summary span{color:var(--muted);font-size:.7rem;font-weight:700}.history-summary strong{color:var(--navy);margin-top:6px;font-size:1.05rem}.history-summary .spent-text,.negative-text{color:var(--red)}.history-summary .remaining-text{color:var(--green)}.history-progress{border-top:1px solid var(--line);grid-column:1/-1;gap:10px;padding:12px 18px}.history-progress .progress-track{flex:1}.history-list-header{justify-content:space-between;margin:25px 0 10px}.history-list-header h3{color:var(--navy);margin:0;font-size:.95rem}.history-list-header span{color:var(--muted);font-size:.7rem;font-weight:700}.history-list{border:1px solid var(--line);border-radius:12px;overflow:hidden}.history-row{border-bottom:1px solid #edf0ef;grid-template-columns:minmax(0,1fr) auto 80px;gap:18px;padding:13px 15px;display:grid}.history-row:last-child{border-bottom:0}.history-row>div strong,.history-row>div span{display:block}.history-row>div strong{color:var(--navy);margin-bottom:3px;font-size:.75rem}.history-row>div span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.history-row>strong{color:var(--navy);font-size:.82rem}.history-empty{color:var(--muted);text-align:center;padding:28px}.history-empty strong,.history-empty span{display:block}.history-empty strong{color:var(--navy);margin-bottom:5px}.history-expense-form{margin-top:20px;padding-top:18px}.archived-notice{color:var(--muted);background:#f5f7f6;border:1px solid #dce2df;border-radius:10px;margin-top:18px;padding:12px 14px;font-size:.76rem;line-height:1.5}@media (width<=760px){.section-actions p{display:none}.header-actions{flex-wrap:wrap;justify-content:flex-end}.auth-control,.user-control{order:3}.modal-backdrop{align-items:end;padding:10px}.dialog{border-radius:18px 18px 12px 12px;width:100%;max-height:calc(100vh - 20px);padding:22px 18px}.history-dialog{padding:24px 16px}.history-summary{grid-template-columns:1fr 1fr}.history-summary>div:nth-child(2){border-right:0}.history-summary>div:nth-child(3){border-top:1px solid var(--line);border-right:0;grid-column:1/-1}.history-row{grid-template-columns:minmax(0,1fr) auto;gap:10px}.history-row .undo-button{grid-column:2;justify-self:end;margin-top:-5px}}@media (width<=520px){.section-actions .button{height:42px;padding:0 12px;font-size:.75rem}.dialog-actions-split{flex-direction:column-reverse;align-items:stretch}.dialog-actions-right{width:100%}.dialog-actions-right .button{flex:1}.button-danger{width:100%}.template-item{flex-direction:column;align-items:stretch}.template-actions .button{flex:1}.save-template-fields{grid-template-columns:1fr}.user-control{width:100%}}.sync-status{color:#60716a;white-space:nowrap;background:#fff;border:1px solid #dce5e1;border-radius:999px;align-items:center;gap:.45rem;min-height:2.5rem;padding:0 .75rem;font-size:.78rem;font-weight:700;display:inline-flex}.sync-status>span{background:#8b9892;border-radius:50%;width:.5rem;height:.5rem}.sync-saving>span,.sync-loading>span{background:#e4aa08}.sync-saved>span{background:#0a9f66}.sync-error{color:#b6424f;border-color:#f1c5c9}.sync-error>span{background:#d9495b}.sync-conflict{color:#8a6414;background:#fffaf0;border-color:#efc66a}.sync-conflict>span{background:#e4aa08}.app-tabs{border:1px solid var(--line);background:#ffffffb8;border-radius:13px;gap:5px;margin:0 0 22px;padding:4px;display:inline-flex}.app-tabs button{min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:9px;padding:0 17px;font-size:.78rem;font-weight:800}.app-tabs button.active{background:var(--navy);color:#fff;box-shadow:0 5px 12px #122c2324}.category-toolbar{justify-content:space-between;align-items:center;gap:12px;margin:14px 0;display:flex}.category-toolbar label{border:1px solid var(--line);width:min(330px,100%);height:42px;color:var(--muted);background:#fff;border-radius:11px;align-items:center;gap:8px;padding:0 12px;display:flex}.category-toolbar input{width:100%;color:var(--navy);background:0 0;border:0;outline:0;font-size:.78rem}.category-toolbar>span{color:var(--muted);font-size:.72rem;font-weight:700}.dashboard-view{gap:18px;display:grid}.dashboard-welcome{background:linear-gradient(120deg,#f4fbf7,#fff 58%,#f6f8ff);border:1px solid #d9e5df;border-radius:18px;justify-content:space-between;align-items:center;gap:22px;padding:24px 26px;display:flex;box-shadow:0 8px 30px #19362c0d}.dashboard-welcome h2{font-size:clamp(1.45rem,3vw,2rem)}.dashboard-welcome p:last-child{color:var(--muted);margin:8px 0 0;font-size:.8rem}.dashboard-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.dashboard-kpis article,.dashboard-panel{border:1px solid var(--line);background:#fff;border-radius:16px;box-shadow:0 7px 24px #1a322a0b}.dashboard-kpis article{gap:7px;padding:19px 20px;display:grid}.dashboard-kpis span,.dashboard-kpis small{color:var(--muted);font-size:.68rem}.dashboard-kpis span{letter-spacing:.04em;text-transform:uppercase;font-weight:800}.dashboard-kpis strong{color:var(--navy);letter-spacing:-.035em;font-size:clamp(1.2rem,2.4vw,1.75rem)}.dashboard-kpis strong.negative{color:var(--danger)}.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(310px,.85fr);gap:16px;display:grid}.dashboard-panel{padding:22px}.insights-panel{grid-column:1/-1}.panel-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.panel-heading h3,.data-tool-card h3{color:var(--navy);margin:0;font-size:1rem}.panel-total{color:var(--navy);font-size:.8rem;font-weight:800}.chart-legend{color:var(--muted);align-items:center;gap:6px;font-size:.64rem;font-weight:700;display:flex}.chart-legend span{border-radius:2px;width:8px;height:8px;margin-left:5px}.budget-dot{background:#b9d8ca}.spent-dot{background:var(--green)}.trend-chart{border-bottom:1px solid var(--line);background:repeating-linear-gradient(#0000 0 54px,#f0f3f2 55px);grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:12px;height:220px;padding-top:10px;display:grid}.trend-column{background:0 0;border:0;grid-template-rows:1fr 28px;align-items:end;height:100%;padding:0;display:grid}.trend-bars{justify-content:center;align-items:end;gap:4px;width:100%;height:100%;display:flex}.trend-bars span{border-radius:5px 5px 1px 1px;width:min(16px,38%);min-height:3px;transition:transform .16s}.trend-column:hover .trend-bars span{transform:translateY(-3px)}.trend-budget{background:#b9d8ca}.trend-spent{background:var(--green)}.trend-column small{color:var(--muted);font-size:.65rem;font-weight:800}.ranking-list{gap:16px;display:grid}.ranking-row{gap:8px;display:grid}.ranking-label{grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.ranking-label>span{border-radius:50%;width:9px;height:9px}.ranking-label strong{color:var(--navy);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;overflow:hidden}.ranking-label small{color:var(--muted);font-size:.61rem}.ranking-track{background:#edf1ef;border-radius:999px;height:6px;overflow:hidden}.ranking-track span{border-radius:inherit;height:100%;display:block}.ranking-track span.over{background:var(--danger)}.insight-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.insight-list>div{background:#f7f9f8;border-radius:12px;grid-template-columns:10px 1fr;gap:11px;padding:15px;display:grid}.insight-list>div>span{border-radius:50%;width:9px;height:9px;margin-top:4px}.insight-list .healthy{background:var(--green)}.insight-list .warning{background:#e4aa08}.insight-list .danger{background:var(--danger)}.insight-list .neutral{background:#758294}.insight-list p{color:var(--muted);margin:0;font-size:.7rem;line-height:1.45}.insight-list strong{color:var(--navy);margin-bottom:3px;font-size:.76rem;display:block}.dashboard-empty{color:var(--muted);text-align:center;padding:30px 10px;font-size:.76rem}.data-tools-dialog{width:min(880px,100vw - 30px)}.data-tools-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:22px 0;display:grid}.data-tool-card{border:1px solid var(--line);background:#fafcfb;border-radius:14px;flex-direction:column;gap:14px;min-height:250px;padding:18px;display:flex}.data-tool-card p{color:var(--muted);margin:6px 0 0;font-size:.7rem;line-height:1.5}.data-tool-card .button{width:100%;margin-top:auto}.data-tool-icon{width:38px;height:38px;color:var(--green-dark);background:#e9f6ef;border-radius:10px;place-items:center;font-size:1.05rem;font-weight:900;display:grid}.file-button{cursor:pointer;justify-content:center;align-items:center;display:flex}.data-tools-error{color:#b6424f;background:#fff5f6;border:1px solid #f1c5c9;border-radius:9px;margin:12px 0;padding:10px 12px;font-size:.72rem;line-height:1.45}.conflict-dialog{text-align:center;width:min(650px,100vw - 30px)}.conflict-mark{color:#9a6b00;background:#fff2cf;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 15px;font-size:1.35rem;font-weight:900;display:grid}.conflict-options{text-align:left;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 14px;display:grid}.conflict-option{border:1px solid var(--line);color:var(--navy);background:#fff;border-radius:13px;gap:7px;padding:16px;display:grid}.conflict-option.preferred{background:#f2fbf6;border-color:#87c3a6}.conflict-option:disabled{cursor:wait;opacity:.65}.conflict-option strong{font-size:.78rem}.conflict-option span{color:var(--muted);font-size:.68rem;line-height:1.45}.backup-link{color:var(--green-dark);background:0 0;border:0;font-size:.7rem;font-weight:800;text-decoration:underline}.conflict-progress{color:var(--muted);margin:12px 0 0;font-size:.7rem}@media (width<=1020px){.dashboard-kpis{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.insights-panel{grid-column:auto}.insight-list{grid-template-columns:1fr}}@media (width<=760px){.dashboard-welcome{flex-direction:column;align-items:stretch}.data-tools-grid{grid-template-columns:1fr}.data-tool-card{min-height:0}}@media (width<=620px){.signed-out-state{border-radius:18px;min-height:360px;margin-top:32px;padding:36px 20px}.app-tabs{grid-template-columns:1fr 1fr;display:grid}.dashboard-kpis{grid-template-columns:1fr 1fr;gap:9px}.dashboard-kpis article{padding:15px}.dashboard-panel{padding:17px 14px}.trend-chart{gap:5px}.chart-legend{display:none}.conflict-options{grid-template-columns:1fr}.category-toolbar{flex-direction:column;align-items:stretch}.sync-status,.auth-control,.user-control{grid-column:1/-1}.sync-status{justify-content:center}.auth-button{justify-content:center;width:100%}}
