/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--radius-lg:.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.contents{display:contents}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}}:root{--ink:#231f20;--ink-soft:#4c4745;--honey:#f8bf4d;--honey-bright:#ffc639;--honey-deep:#fbb321;--gold:#fbc108;--honey-soft:#ffe161;--cream:#fbf9f3;--surface:#fff;--surface-muted:#f4f1e9;--border:#e7e1d5;--muted:#756f69;--success:#39734d;--success-soft:#e7f3ea;--warning:#9a6100;--warning-soft:#fff2cf;--danger:#a34232;--danger-soft:#fae9e5;--shadow:0 18px 50px #231f2014;--radius-sm:12px;--radius:18px;--radius-lg:26px;--sidebar:256px;--font-display:"Arial Rounded MT Bold", "Trebuchet MS", Arial, sans-serif;--font-body:"Avenir Next", Avenir, Montserrat, "Segoe UI", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:var(--font-body);margin:0;font-size:15px;line-height:1.5}button,input,select,textarea{color:inherit;font:inherit}button,label,select,input[type=month],input[type=date],input[type=color]{cursor:pointer}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--honey-bright);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3,strong{text-wrap:balance}h1[tabindex="-1"]:focus{outline:none}input,select,textarea{border:1px solid var(--border);background:var(--surface);border-radius:11px;outline:none;width:100%;padding:.76rem .85rem}input:focus,select:focus,textarea:focus{border-color:#b47800;box-shadow:0 0 0 3px #f8bf4d3d}input[type=color]{min-height:46px;padding:.25rem}textarea{resize:vertical}.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}.skip-link{z-index:200;background:var(--ink);color:#fff;border-radius:9px;padding:.7rem 1rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-140%)}.skip-link:focus{transform:translateY(0)}.eyebrow{color:#805400;letter-spacing:.15em;text-transform:uppercase;margin:0 0 .45rem;font-size:.7rem;font-weight:800}.button{background:var(--honey);min-height:44px;color:var(--ink);border:1px solid #d79d18;border-radius:12px;justify-content:center;align-items:center;gap:.48rem;padding:.7rem 1rem;font-weight:750;transition:transform .16s,background .16s,box-shadow .16s;display:inline-flex}.button:hover:not(:disabled){background:var(--honey-bright);transform:translateY(-1px);box-shadow:0 8px 24px #af760029}.button:disabled{cursor:not-allowed;opacity:.5}.button--secondary{border-color:var(--border);background:var(--surface)}.button--secondary:hover:not(:disabled){background:var(--surface-muted);box-shadow:none}.button--dark{border-color:var(--ink);background:var(--ink);color:#fff}.button--dark:hover:not(:disabled){background:#3b3537}.button--danger{background:var(--danger-soft);color:#7f2f22;border-color:#e6b7ae}.button--danger:hover:not(:disabled){box-shadow:none;background:#f5d9d3}.text-button{color:#744d00;background:0 0;align-items:center;gap:.22rem;padding:.35rem;font-weight:750;display:inline-flex}.text-button:hover{color:var(--ink)}.icon-button{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:inline-grid}.icon-button:hover{background:var(--surface-muted)}.brand-lockup{align-items:center;gap:.75rem;display:inline-flex}.brand-words{line-height:1;display:grid}.brand-words strong{font-family:var(--font-display);letter-spacing:.04em;font-size:1.22rem}.brand-words small{letter-spacing:.2em;margin-top:.35rem;font-size:.52rem;font-weight:800}.brand-lockup--inverse .brand-words{color:#fff}.brand-cells{flex:0 0 46px;width:46px;height:42px;position:relative}.brand-cells i,.balance-cells i{background:var(--honey);clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%);width:17px;height:19px;position:absolute}.brand-cells i:first-child{top:11px;left:0}.brand-cells i:nth-child(2){top:3px;left:14px}.brand-cells i:nth-child(3){top:11px;left:28px}.brand-cells i:nth-child(4){top:19px;left:14px}.brand-cells i:nth-child(5){top:27px;left:28px}.brand-cells i:nth-child(6){opacity:.66;top:27px;left:0}.app-shell{background:linear-gradient(to right, var(--ink) 0, var(--ink) var(--sidebar), var(--cream) var(--sidebar), var(--cream) 100%);min-height:100vh;position:relative}.sidebar{z-index:40;height:100svh;width:var(--sidebar);background:var(--ink);color:#fff;flex-direction:column;padding:1.55rem 1rem 1.2rem;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.sidebar-brand{justify-content:space-between;align-items:center;padding:0 .35rem 1.75rem;display:flex}.sidebar-primary{z-index:1;position:static}.sidebar-close{color:#fff;background:0 0;display:none}.sidebar nav{gap:.3rem;display:grid}.sidebar nav button{color:#d9d2d1;text-align:left;background:0 0;border-radius:12px;align-items:center;gap:.7rem;min-height:46px;padding:.72rem .85rem;transition:all .15s;display:flex}.sidebar nav button:hover{color:#fff;background:#ffffff12}.sidebar nav button.active{background:var(--honey);color:var(--ink);font-weight:800}.sidebar-tip{background:#ffffff0e;border:1px solid #ffffff17;border-radius:14px;gap:.7rem;margin-top:auto;padding:.85rem;display:flex}.sidebar-tip p{color:#cfc7c5;margin:0;font-size:.73rem;display:grid}.sidebar-tip strong{color:#fff;font-size:.78rem}.tip-hex,.feature-hex,.goal-hex{background:var(--honey);clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%);flex:none;place-items:center;display:grid}.tip-hex{width:36px;height:40px;color:var(--ink)}.sidebar footer{color:#a9a09f;border-top:1px solid #ffffff14;margin-top:1rem;padding:1rem .3rem 0;font-size:.7rem}.sidebar footer p{margin:0 0 .5rem}.sidebar footer strong{color:#fff}.offline-dot:before{content:"";background:#8ac890;border-radius:50%;width:7px;height:7px;margin-right:.35rem;display:inline-block}.app-main{min-height:100vh;margin-left:var(--sidebar)}.topbar{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbf9f3eb;border-bottom:1px solid #e7e1d5cc;justify-content:space-between;align-items:center;min-height:68px;padding:.75rem clamp(1rem,3vw,2.6rem);display:flex;position:sticky;top:0}.topbar-actions{align-items:center;gap:.8rem;display:flex}.quick-add{border:1px solid var(--border);background:var(--surface);border-radius:11px;align-items:center;gap:.4rem;min-height:42px;padding:.55rem .8rem;font-weight:750;display:inline-flex}.profile-badge{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:39px;height:39px;font-size:.75rem;font-weight:800;display:grid}.month-picker input{background:var(--surface);min-width:145px;font-weight:700}.mobile-menu,.mobile-brand,.bottom-nav{display:none}.content{max-width:1540px;margin:0 auto;padding:2rem clamp(1rem,3vw,2.8rem) 4rem}.hero-summary{border-radius:var(--radius-lg);background:radial-gradient(circle at 3% 12%, #ffffff47 0 2%, transparent 2.2%), var(--honey);min-height:300px;box-shadow:var(--shadow);grid-template-columns:minmax(0,1.45fr) minmax(330px,.85fr);display:grid;position:relative;overflow:hidden}.hero-copy{flex-direction:column;justify-content:center;max-width:700px;padding:clamp(2rem,5vw,3.7rem);display:flex}.hero-copy h1{max-width:650px;font-family:var(--font-display);letter-spacing:-.045em;margin-bottom:.8rem;font-size:clamp(2.3rem,5vw,4.4rem);line-height:.98}.hero-copy>p:not(.eyebrow){color:#4f3c18;max-width:570px;margin-bottom:1.5rem;font-size:1.02rem}.hero-actions{flex-wrap:wrap;gap:.65rem;display:flex}.hero-copy .button{background:#ffffffc7;border-color:#231f2033}.hero-copy .button--dark{border-color:var(--ink);background:var(--ink)}.balance-panel{background:var(--ink);color:#fff;flex-direction:column;justify-content:center;min-height:300px;padding:clamp(2rem,4vw,3.3rem);display:flex;position:relative;overflow:hidden}.balance-panel>span{color:#c9c0bf;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;font-weight:700}.balance-panel strong{z-index:2;letter-spacing:-.04em;margin:.4rem 0 .65rem;font-size:clamp(2rem,4vw,3.5rem);position:relative}.balance-panel small{color:#c9c0bf}.balance-cells{opacity:.28;width:145px;height:135px;position:absolute;bottom:-15px;right:-15px;transform:scale(2.2)}.balance-cells i:first-child{top:38px;left:22px}.balance-cells i:nth-child(2){top:30px;left:36px}.balance-cells i:nth-child(3){top:38px;left:50px}.balance-cells i:nth-child(4){top:46px;left:36px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.2rem 0;display:grid}.metric-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-content:center;min-height:160px;padding:1.25rem;display:grid;position:relative}.metric-card--featured{background:#fff8df;border-color:#d9aa3c}.metric-card p{color:var(--muted);margin:.5rem 0 .28rem;font-size:.82rem;font-weight:700}.metric-card strong{letter-spacing:-.035em;font-size:clamp(1.35rem,2.4vw,2rem)}.metric-card small{color:var(--muted);margin-top:.3rem;font-size:.7rem}.metric-icon{background:var(--warning-soft);color:#805400;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.metric-icon--income{background:var(--success-soft);color:var(--success)}.metric-icon--expense{background:var(--danger-soft);color:var(--danger)}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:0;padding:1.35rem}.panel--wide{grid-column:span 2}.panel-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.15rem;display:flex}.panel-header h2,.section-title h2{letter-spacing:-.025em;margin:0;font-size:1.2rem}.category-chart{gap:.85rem;display:grid}.category-row{grid-template-columns:minmax(85px,.8fr) minmax(100px,2fr) minmax(85px,auto);align-items:center;gap:.7rem;font-size:.78rem;display:grid}.category-row>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.category-row>strong{text-align:right}.category-track{background:var(--surface-muted);border-radius:99px;height:9px;overflow:hidden}.category-track i{border-radius:99px;min-width:8px;height:100%;display:block}.data-alternative{border-top:1px solid var(--border);color:var(--muted);margin-top:1rem;padding-top:.75rem;font-size:.76rem}.data-alternative summary{width:fit-content;font-weight:700}table{border-collapse:collapse;width:100%;color:var(--ink);margin-top:.7rem}th,td{border-bottom:1px solid var(--border);text-align:left;padding:.55rem}.compact-list{gap:1rem;display:grid}.progress-item{gap:.6rem;display:grid}.progress-item>div:first-child{justify-content:space-between;gap:.7rem;display:flex}.progress-item strong{font-size:.8rem}.progress-item span{color:var(--muted);font-size:.72rem}.progress{background:var(--surface-muted);border-radius:99px;height:9px;overflow:hidden}.progress>span{border-radius:inherit;background:#c88b0a;height:100%;transition:width .45s;display:block}.progress--warning>span{background:#c3700a}.progress--exceeded>span{background:var(--danger)}.progress--goal>span{background:var(--success)}.upcoming-list{gap:.95rem;display:grid}.upcoming-list>div{grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;display:grid}.upcoming-list p{margin:0;display:grid}.upcoming-list p strong,.upcoming-list>div>b{font-size:.76rem}.upcoming-list p small{color:var(--muted);font-size:.68rem}.date-badge{background:var(--warning-soft);color:#754d00;border-radius:10px;place-items:center;min-width:42px;min-height:36px;font-size:.68rem;font-weight:800;display:grid}.muted-copy{color:var(--muted);margin:0;font-size:.82rem}.transaction-list{border:1px solid var(--border);border-radius:14px;overflow:hidden}.panel>.transaction-list{border:0;border-radius:0}.transaction-row{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(140px,1.5fr) minmax(80px,.7fr) auto minmax(100px,.7fr) auto;align-items:center;gap:.8rem;min-height:68px;padding:.65rem .45rem;display:grid}.transaction-list:not(.is-compact) .transaction-row{padding:.75rem .85rem}.transaction-row:last-child{border-bottom:0}.transaction-icon{background:var(--warning-soft);color:#805400;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.transaction-icon--income{background:var(--success-soft);color:var(--success)}.transaction-icon--transfer{color:#5e4b8b;background:#ece9f6}.transaction-main{min-width:0;display:grid}.transaction-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.transaction-main span,.transaction-date{color:var(--muted);font-size:.69rem}.status-badge{border-radius:99px;justify-content:center;align-items:center;padding:.3rem .55rem;font-size:.64rem;font-weight:800;display:inline-flex}.status-badge--paid{background:var(--success-soft);color:var(--success)}.status-badge--pending{background:var(--warning-soft);color:var(--warning)}.transaction-value{text-align:right;font-size:.8rem}.transaction-value--income{color:var(--success)}.transaction-value--expense{color:var(--danger)}.row-actions,.card-menu{align-items:center;gap:.2rem;display:flex}.row-actions button,.card-menu>button,.credit-card .card-menu button,.category-pills button{background:0 0;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.row-actions button:hover,.card-menu>button:hover,.category-pills button:hover{background:var(--surface-muted)}.page-header{justify-content:space-between;align-items:flex-end;gap:1.5rem;margin:.6rem 0 1.7rem;display:flex}.page-header h1{font-family:var(--font-display);letter-spacing:-.045em;margin:0 0 .35rem;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1}.page-header>div:first-child>p:last-child{max-width:650px;color:var(--muted);margin:0}.page-header__actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.toolbar{align-items:center;gap:.65rem;margin-bottom:1rem;display:flex}.search-field{flex:1;align-items:center;min-width:min(420px,100%);display:flex;position:relative}.search-field>svg{color:var(--muted);position:absolute;left:.8rem}.search-field input{padding-left:2.5rem}.search-field button{background:0 0;border-radius:8px;place-items:center;width:30px;height:30px;display:grid;position:absolute;right:.45rem}.filter-field{min-width:160px}.section-block{margin-bottom:2rem}.section-title{justify-content:space-between;align-items:flex-end;margin-bottom:.9rem;display:flex}.section-title p{color:var(--muted);margin:.2rem 0 0;font-size:.78rem}.account-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.account-card,.credit-card,.add-card{border-radius:var(--radius);min-height:230px;padding:1.3rem}.account-card{border:1px solid var(--border);background:var(--surface);flex-direction:column;display:flex}.account-card__top,.credit-card__top{justify-content:space-between;align-items:center;display:flex}.account-card__top>span{border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.account-card>p{color:var(--muted);margin:1.1rem 0 .15rem;font-size:.7rem}.account-card h3,.credit-card h3{margin:0;font-size:1.1rem}.account-card>strong{letter-spacing:-.04em;margin-top:auto;font-size:1.75rem}.account-card>small{color:var(--muted)}.is-archived{opacity:.52}.credit-card{background:var(--ink);color:#fff;flex-direction:column;display:flex}.credit-card .card-menu button{color:#fff}.credit-card .card-menu button:hover{background:#ffffff1a}.credit-card h3{margin-top:1.3rem}.credit-card>p{color:#d8d0cf;justify-content:space-between;align-items:baseline;margin:1.1rem 0 .55rem;font-size:.72rem;display:flex}.credit-card>p strong{color:#fff;font-size:1rem}.credit-card .progress{background:#ffffff29}.credit-card footer{justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1rem;display:flex}.credit-card footer span{color:#cfc7c5;font-size:.65rem;display:grid}.credit-card footer b{color:#fff;font-size:.8rem}.add-card{color:var(--ink-soft);text-align:center;background:#ffffff73;border:1px dashed #c9bfae;align-content:center;place-items:center;display:grid}.add-card strong{margin-top:.5rem}.add-card span{color:var(--muted);font-size:.73rem}.add-card:hover{background:#fff9e8;border-color:#a8750b}.month-control{justify-content:flex-end;margin-bottom:1rem;display:flex}.month-control label{width:min(240px,100%);color:var(--muted);gap:.35rem;font-size:.7rem;font-weight:700;display:grid}.budget-grid,.goal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.budget-card,.goal-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:1.35rem}.budget-card header,.goal-card header{align-items:center;gap:.7rem;display:flex}.budget-card header>span{border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.budget-card header>div:nth-child(2){flex:1}.budget-card header p,.budget-card header h2{margin:0}.budget-card header p{color:var(--muted);font-size:.68rem}.budget-card header h2{font-size:1rem}.budget-values{justify-content:space-between;gap:1rem;margin:1.2rem 0 .7rem;display:flex}.budget-values span{color:var(--muted);font-size:.68rem;display:grid}.budget-values b{color:var(--ink);font-size:1rem}.budget-message{background:var(--success-soft);color:#2f5f3f;border-radius:11px;margin:1rem 0 0;padding:.75rem;font-size:.73rem}.budget-message--warning{background:var(--warning-soft);color:var(--warning)}.budget-message--exceeded{background:var(--danger-soft);color:var(--danger)}.goal-card header{justify-content:space-between}.goal-hex{width:54px;height:60px}.goal-card>.eyebrow{margin-top:1.1rem}.goal-card h2{margin-bottom:1rem;font-size:1.25rem}.goal-total{align-items:baseline;gap:.45rem;margin-bottom:.65rem;display:flex}.goal-total strong{letter-spacing:-.035em;font-size:1.65rem}.goal-total span{color:var(--muted);font-size:.76rem}.goal-facts{gap:2rem;margin-top:1rem;display:flex}.goal-facts span{color:var(--muted);font-size:.67rem;display:grid}.goal-facts b{color:var(--ink);font-size:.82rem}.goal-suggestion,.positive-callout{border-top:1px solid var(--border);color:var(--muted);margin:1rem 0 0;padding-top:.9rem;font-size:.72rem}.positive-callout{color:var(--success);font-weight:700}.report-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:1rem;display:grid}.report-filters label,.entry-form label,.onboarding-fields label{color:var(--ink-soft);gap:.35rem;font-size:.72rem;font-weight:700;display:grid}.report-metrics{margin-top:0}.vertical-chart{border-bottom:1px solid var(--border);justify-content:space-around;align-items:flex-end;gap:.55rem;min-height:245px;padding:1.5rem 0 .4rem;display:flex}.vertical-chart>div{flex:1;justify-items:center;gap:.35rem;min-width:55px;max-width:100px;display:grid}.vertical-chart i{border-radius:10px 10px 3px 3px;width:min(52px,70%);min-height:14px;display:block}.vertical-chart b{text-overflow:ellipsis;white-space:nowrap;max-width:95px;font-size:.64rem;overflow:hidden}.vertical-chart__value{font-size:.61rem}.ranking-list{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.ranking-list li{grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;display:grid}.ranking-list li>span{color:#b17a0b;font-size:.68rem;font-weight:800}.ranking-list p{margin:0;display:grid}.ranking-list strong,.ranking-list b{font-size:.76rem}.ranking-list small{color:var(--muted);font-size:.65rem}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.settings-card{align-content:start;gap:1rem;display:grid}.settings-icon{background:var(--warning-soft);color:#805400;border-radius:13px;place-items:center;width:44px;height:44px;display:grid}.settings-card h2{margin-bottom:.35rem;font-size:1.1rem}.settings-card p{color:var(--muted);margin:0;font-size:.78rem}.settings-actions,.inline-actions{flex-wrap:wrap;gap:.55rem;display:flex}.file-button{position:relative;overflow:hidden}.file-button input{opacity:0;width:1px;height:1px;position:absolute}.import-preview{background:#fff9e7;border:1px solid #e1bd60;border-radius:13px;padding:1rem}.import-preview h3{margin-bottom:.4rem;font-size:.9rem}.import-preview p,.import-preview li{color:var(--ink-soft);font-size:.73rem}.import-preview .inline-actions{margin-top:.8rem}.category-pills{flex-wrap:wrap;gap:.45rem;display:flex}.category-pills>span{border:1px solid var(--border);border-radius:99px;align-items:center;gap:.35rem;min-height:36px;padding:.2rem .3rem .2rem .65rem;font-size:.7rem;display:inline-flex}.category-pills>span.is-dragging{border-color:var(--honey-deep);opacity:.78;box-shadow:0 5px 18px #231f2024}.category-order-help{margin-top:.35rem;font-size:.72rem}.category-pills .category-drag-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.category-pills .category-drag-handle:active{cursor:grabbing}.category-pills i{border-radius:50%;width:8px;height:8px}.category-pills button{width:25px;height:25px}.form-error{border-left:3px solid var(--danger);color:#7d251b;background:#fff1ef;border-radius:8px;margin:0;padding:.75rem;font-size:.78rem;font-weight:700}.privacy-facts{gap:.65rem;margin:0;display:grid}.privacy-facts div{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding-bottom:.5rem;font-size:.72rem;display:flex}.privacy-facts dt{color:var(--muted)}.privacy-facts dd{text-align:right;margin:0;font-weight:700}.disclaimer{max-width:900px;color:var(--muted);text-align:center;margin:2rem auto 0;font-size:.7rem}.empty-state{text-align:center;justify-items:center;max-width:560px;margin:2rem auto;padding:2rem;display:grid}.empty-state--compact{margin:0;padding:.6rem}.empty-state__icon{background:var(--warning-soft);color:#805400;border-radius:18px;place-items:center;width:62px;height:62px;display:grid}.empty-state--compact .empty-state__icon{border-radius:12px;width:43px;height:43px}.empty-state h3{margin:.9rem 0 .25rem;font-size:1rem}.empty-state p{max-width:440px;color:var(--muted);margin-bottom:.8rem;font-size:.78rem}.empty-state--compact h3{margin-top:.55rem;font-size:.85rem}.empty-state--compact p{margin-bottom:.25rem;font-size:.7rem}.modal-backdrop{z-index:100;background:#231f20ad;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-card,.confirm-card{border-radius:var(--radius);background:var(--surface);width:min(680px,100%);max-height:calc(100vh - 2rem);overflow-y:auto;box-shadow:0 30px 100px #0000003d}.modal-header{z-index:2;border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:flex-start;padding:1.25rem 1.35rem;display:flex;position:sticky;top:0}.modal-header h2{margin:0;font-size:1.35rem}.entry-form{gap:1rem;padding:1.35rem;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.form-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.span-two{grid-column:span 2}.modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:.6rem;padding-top:1rem;display:flex}.confirm-card{text-align:center;justify-items:center;max-width:470px;padding:2rem;display:grid}.confirm-card h2{margin:.9rem 0 .35rem}.confirm-card p{color:var(--muted);font-size:.8rem}.confirm-card .modal-actions{width:100%}.danger-icon{background:var(--danger-soft);width:50px;height:50px;color:var(--danger);border-radius:15px;place-items:center;display:grid}.live-region{z-index:150;position:fixed;bottom:1rem;right:1rem}.live-region span{background:var(--ink);color:#fff;max-width:420px;box-shadow:var(--shadow);border:1px solid #d8a630;border-radius:12px;padding:.8rem 1rem;font-size:.78rem;display:block}.onboarding-shell{background:radial-gradient(circle at 85% 12%, #f8bf4d33, transparent 24rem), var(--cream);min-height:100vh;padding:1.4rem clamp(1rem,4vw,4rem) 2rem}.onboarding-header{justify-content:space-between;align-items:center;max-width:1260px;margin:0 auto 2rem;display:flex}.onboarding-card{border:1px solid var(--border);background:var(--surface);max-width:1120px;min-height:610px;box-shadow:var(--shadow);border-radius:30px;grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);margin:auto;display:grid;overflow:hidden}.onboarding-art{background:var(--honey);place-items:center;display:grid;position:relative;overflow:hidden}.feature-hex{background:var(--ink);color:#fff;width:160px;height:176px}.floating-cell{clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%);border:3px solid #231f2047;width:92px;height:100px;position:absolute}.floating-cell--one{top:12%;left:-20px}.floating-cell--two{top:28%;right:-15px;transform:scale(1.35)}.floating-cell--three{bottom:-40px;left:18%;transform:scale(1.5)}.onboarding-copy{flex-direction:column;justify-content:center;padding:clamp(2rem,6vw,4.5rem);display:flex}.onboarding-copy h1{font-family:var(--font-display);letter-spacing:-.045em;margin-bottom:.8rem;font-size:clamp(2rem,5vw,3.6rem);line-height:1}.onboarding-copy>p:not(.eyebrow){color:var(--muted);font-size:1rem}.onboarding-fields{gap:.8rem;margin-top:.6rem;display:grid}.check-row{background:var(--surface-muted);border-radius:12px;align-items:flex-start;padding:.75rem;gap:.6rem!important;font-weight:500!important;display:flex!important}.check-row input{width:auto;margin-top:.16rem}.step-dots{gap:.4rem;margin:1.5rem 0;display:flex}.step-dots span{background:#d7d0c6;border-radius:99px;width:8px;height:8px;transition:width .18s}.step-dots span.active{background:var(--ink);width:30px}.onboarding-actions{justify-content:space-between;gap:1rem;display:flex}.onboarding-note{max-width:800px;color:var(--muted);text-align:center;margin:1rem auto 0;font-size:.7rem}.loading-screen,.error-screen{background:var(--cream);text-align:center;align-content:center;justify-items:center;min-height:100vh;padding:2rem;display:grid}.loading-screen p,.error-screen p{color:var(--muted)}.loading-hive{background:var(--honey);clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%);width:42px;height:46px;margin:2rem 0 .6rem;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}@media (width<=1180px){.metric-grid,.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel--wide{grid-column:span 2}.account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){:root{--sidebar:278px}.app-shell{background:var(--cream)}.sidebar{transition:transform .22s;position:fixed;transform:translate(-105%)}.sidebar-primary{position:static}.sidebar--open{transform:translate(0)}.sidebar-close{display:grid}.sidebar-scrim{z-index:35;background:#231f207a;position:fixed;inset:0}.app-main{margin-left:0}.mobile-menu{background:var(--surface);border-radius:10px;place-items:center;width:40px;height:40px;display:grid}.mobile-brand{align-items:center;gap:.35rem;display:flex}.mobile-brand .brand-cells{transform:scale(.72)}.mobile-brand strong{font-family:var(--font-display);letter-spacing:.06em;font-size:.85rem}.hero-summary{grid-template-columns:1fr}.balance-panel{min-height:210px}.settings-grid{grid-template-columns:1fr}.onboarding-card{grid-template-columns:.8fr 1.2fr}}@media (width<=700px){body{font-size:14px}.content{padding:1.1rem .9rem 6.5rem}.topbar{min-height:62px;padding:.55rem .8rem}.month-picker{display:none}.quick-add{justify-content:center;width:40px;height:40px;min-height:40px;padding:0}.quick-add span,.profile-badge{display:none}.hero-summary{border-radius:20px}.hero-copy{padding:1.6rem 1.25rem 1.3rem}.hero-copy h1{font-size:2.45rem}.hero-actions{grid-template-columns:1fr 1fr;display:grid}.hero-actions .button{padding-inline:.65rem;font-size:.74rem}.balance-panel{min-height:180px;padding:1.35rem}.metric-grid,.dashboard-grid,.account-grid,.budget-grid,.goal-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.metric-card{min-height:148px;padding:1rem}.metric-card strong{font-size:1.3rem}.panel--wide{grid-column:span 1}.panel{padding:1rem}.transaction-row{grid-template-columns:auto 1fr auto;gap:.6rem}.transaction-date,.status-badge{display:none}.transaction-value{text-align:left;grid-column:2}.row-actions{grid-area:1/3/span 2}.row-actions button:nth-child(2){display:none}.page-header{align-items:start;margin-bottom:1.2rem;display:grid}.page-header h1{font-size:2.45rem}.page-header__actions{justify-content:flex-start}.toolbar{grid-template-columns:1fr 1fr;display:grid}.search-field{grid-column:span 2;min-width:0}.toolbar .button{font-size:.72rem}.report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.vertical-chart{justify-content:flex-start;overflow-x:auto}.vertical-chart>div{min-width:68px}.settings-actions .button{flex:160px}.form-grid,.form-grid--three{grid-template-columns:1fr}.span-two{grid-column:auto}.modal-backdrop{align-items:end;padding:0}.modal-card{border-radius:22px 22px 0 0;width:100%;max-height:92vh}.confirm-card{width:calc(100% - 1.5rem);margin-bottom:.75rem}.bottom-nav{z-index:32;border-top:1px solid var(--border);padding:.45rem .3rem max(.45rem, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;inset:auto 0 0;overflow-x:hidden}.bottom-nav button{min-width:0;min-height:50px;color:var(--muted);background:0 0;border-radius:10px;flex:1;place-items:center;gap:.1rem;font-size:.58rem;display:grid}.bottom-nav button:nth-child(n+6){display:none}.bottom-nav button.active{background:var(--warning-soft);color:#6b4700;font-weight:800}.onboarding-shell{padding:1rem .8rem 1.5rem}.onboarding-header{margin-bottom:1rem}.onboarding-header .brand-words{display:none}.onboarding-card{border-radius:22px;grid-template-columns:1fr;min-height:0}.onboarding-art{min-height:230px}.feature-hex{width:108px;height:118px}.onboarding-copy{padding:1.5rem 1.2rem}.onboarding-copy h1{font-size:2.2rem}.onboarding-actions .button{padding-inline:.7rem;font-size:.73rem}.live-region{bottom:5.2rem;left:.75rem;right:.75rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.app-shell{background:#fff}.sidebar,.topbar,.bottom-nav,.page-header__actions,.row-actions,.button{display:none!important}.app-main{margin:0}body{background:#fff}.panel,.metric-card{break-inside:avoid;box-shadow:none}}.auth-shell{background:var(--surface);grid-template-columns:minmax(320px,.8fr) minmax(480px,1.2fr);min-height:100svh;display:grid}.auth-brand-panel{background:var(--ink);color:#fff;flex-direction:column;justify-content:space-between;min-height:100svh;padding:clamp(2rem,5vw,5rem);display:flex;position:relative;overflow:hidden}.auth-brand-panel:after{clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%);content:"";background:#f8bf4d1a;width:19rem;height:21rem;position:absolute;bottom:8rem;right:-7rem}.auth-brand-panel h1{max-width:9ch;font-family:var(--font-display);margin:1rem 0;font-size:clamp(2.7rem,5vw,5rem);line-height:.98}.auth-brand-panel>div>p:last-child{color:#ded8cf;max-width:38rem;font-size:1.05rem}.auth-security-note{z-index:1;color:#ded8cf;align-items:center;gap:.6rem;display:flex}.auth-form-panel{place-items:center;min-width:0;padding:2rem;display:grid;overflow-y:auto}.auth-card{width:min(100%,29rem)}.auth-card--wide{width:min(100%,34rem)}.auth-card h2,.gate-state h1,.migration-card h1,.legal-card h1{font-family:var(--font-display);margin-bottom:.6rem;font-size:clamp(2rem,4vw,3.25rem);line-height:1.05}.auth-card>p:not(.eyebrow,.auth-switch,.form-notice){color:var(--muted)}.auth-card form{gap:.95rem;margin:1.5rem 0 1rem;display:grid}.auth-field{color:var(--ink-soft);gap:.4rem;font-weight:700;display:grid}.auth-input{border:1px solid var(--border);background:#fff;border-radius:12px;align-items:center;padding-left:.85rem;display:flex}.auth-input:focus-within{border-color:#9a6100;box-shadow:0 0 0 3px #f8bf4d3d}.auth-input input{min-width:0;box-shadow:none;cursor:text;border:0;flex:1}.auth-input input:focus,.auth-input input:focus-visible{box-shadow:none;border:0;outline:none}.auth-input input::-ms-clear{display:none}.auth-input input::-ms-reveal{display:none}.password-toggle{background:0 0;border-radius:10px;flex:0 0 44px;place-items:center;min-width:44px;min-height:44px;display:grid}.field-error{color:var(--danger);font-size:.82rem;font-weight:700}.password-help{color:var(--muted);margin:-.5rem 0 0;font-size:.78rem}.auth-remember span{display:grid}.auth-remember small{color:var(--muted);font-weight:500}.auth-submit,.auth-google{justify-content:center;width:100%}.auth-google{margin-bottom:.75rem}.auth-switch{color:var(--muted);text-align:center;margin-top:1.4rem}.auth-switch button{color:#795000;background:0 0;font-weight:800;text-decoration:underline}.form-notice,.legal-alert{border-left:4px solid var(--honey);background:var(--warning-soft);border-radius:8px;margin-top:1rem;padding:.9rem 1rem}.auth-info{text-align:center}.auth-info .settings-icon{margin-inline:auto}.gate-state{text-align:center;place-content:center;justify-items:center;min-height:100svh;padding:2rem;display:grid}.gate-state .brand-lockup{margin-bottom:2.5rem}.gate-loader{background:var(--honey);clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%);width:48px;height:54px;margin-bottom:1.5rem;animation:1.2s ease-in-out infinite alternate gate-pulse}@keyframes gate-pulse{to{opacity:.45;transform:scale(.88)}}.migration-shell{background:linear-gradient(135deg, var(--cream), #fff8e4);place-items:center;min-height:100svh;padding:1.25rem;display:grid}.migration-card{border:1px solid var(--border);border-radius:var(--radius-lg);width:min(100%,50rem);box-shadow:var(--shadow);background:#fff;padding:clamp(1.5rem,4vw,3.5rem);position:relative}.migration-close{background:var(--surface-muted);border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:1rem;right:1rem}.migration-counts{grid-template-columns:repeat(3,1fr);gap:.7rem;margin:1.5rem 0;display:grid}.migration-counts div{border:1px solid var(--border);background:var(--surface-muted);border-radius:13px;padding:.8rem}.migration-counts dt{color:var(--muted);font-size:.75rem}.migration-counts dd{margin:.1rem 0 0;font-size:1.4rem;font-weight:800}.migration-warning{background:var(--warning-soft);border-radius:13px;align-items:flex-start;gap:.7rem;padding:1rem;display:flex}.migration-warning svg{flex:none}.backup-reminder{color:#744900;margin:1rem 0 0;font-weight:700}.migration-actions{flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:1.5rem;display:flex}.offline-banner{background:var(--warning-soft);color:#624100;border-bottom:1px solid #e2b44c;padding:.7rem clamp(1rem,4vw,2.5rem);font-size:.85rem;font-weight:700}.profile-settings-card{grid-column:1/-1}.settings-actions a.button{text-decoration:none}.tour-screen{z-index:1;background:var(--surface);border:1px solid #231f202e;border-radius:18px;width:min(92%,31rem);margin:0;position:relative;overflow:hidden;box-shadow:0 18px 38px #231f202e}.tour-screen img{width:100%;height:auto;display:block}.tour-screen figcaption{border-top:1px solid var(--border);color:var(--ink);background:#fffffff5;padding:.65rem .85rem;font-size:.76rem;font-weight:800}.onboarding-art--preview{flex-direction:column;gap:1rem;padding:1.5rem 0}.onboarding-art--preview .feature-hex{width:74px;height:82px}.tour-detail{border-left:3px solid var(--honey);color:var(--muted);padding-left:.8rem;font-size:.88rem}.legal-shell{min-height:100svh;padding:clamp(1rem,4vw,3rem)}.legal-shell>header{justify-content:space-between;align-items:center;max-width:56rem;margin:0 auto 2rem;display:flex}.legal-shell>header a{color:#704900;font-weight:800}.legal-card{border:1px solid var(--border);border-radius:var(--radius-lg);max-width:56rem;box-shadow:var(--shadow);background:#fff;margin:auto;padding:clamp(1.4rem,5vw,4rem)}.legal-card h2{font-family:var(--font-display);margin-top:2rem}.legal-card p{color:var(--ink-soft)}@media (width<=760px){.auth-shell{grid-template-columns:1fr}.auth-brand-panel{gap:2rem;min-height:auto;padding:1.25rem}.auth-brand-panel>div:not(.brand-lockup){display:none}.auth-security-note{margin:0;font-size:.8rem}.auth-form-panel{padding:2rem 1.1rem 3rem;display:block}.auth-card,.auth-card--wide{margin-inline:auto}.migration-counts{grid-template-columns:repeat(2,1fr)}.migration-actions{flex-direction:column;align-items:stretch}.migration-actions .button,.migration-actions .text-button{justify-content:center;width:100%}.onboarding-art--preview{min-height:280px;padding:1rem 0}.tour-screen{width:min(94%,32rem)}.legal-shell>header{align-items:flex-start;gap:1rem}.legal-shell>header .brand-words{display:none}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
