:root{--ink:#1e2838;--ink-soft:#3d4a5f;--moss:#3d8aef;--moss-bright:#5aa7ff;--moss-deep:#2f6fd4;--sage:#dceeff;--mist:#f4f7fb;--fog:#e4ebf4;--paper:#fff;--warn:#d9554c;--warn-soft:#f3a089;--ok:#2faf8f;--amber:#d4922e;--shadow:0 12px 32px #1e283812;--shadow-sm:0 4px 14px #1e28380d;--radius:1.25rem;--radius-sm:.9rem;--touch:2.75rem;--font-display:"Sora", "DM Sans", system-ui, sans-serif;--font-body:"DM Sans", system-ui, sans-serif;--pad:clamp(.95rem, 2vw, 1.75rem);--max:min(100%, 72rem);--measure:42rem;--text:1.05rem;--text-sm:.95rem;--text-xs:.82rem;--title:clamp(1.35rem, 1vw + 1.1rem, 1.75rem);--hero:clamp(2.75rem, 6vw + 1rem, 4.25rem);--space-1:.35rem;--space-2:.65rem;--space-3:1rem;--space-4:1.35rem;--space-5:1.85rem;color:var(--ink);background:var(--mist);font-family:var(--font-body);font-size:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(900px 480px at 6% -10%, #5aa7ff2e, transparent 55%), radial-gradient(720px 420px at 100% 0%, #2faf8f1a, transparent 48%), linear-gradient(180deg, #fbfdff 0%, var(--mist) 42%, #eef3f9 100%);background-attachment:fixed;min-height:100dvh;transition:background .55s}html[data-mood=good]{--ok:#2a9f82;--sage:#d4f0e8;--mist:#f2f8f6}html[data-mood=good] body{background:radial-gradient(900px 480px at 8% -12%, #2faf8f38, transparent 55%), radial-gradient(720px 420px at 100% 0%, #5aa7ff1f, transparent 48%), linear-gradient(180deg, #f7fcfa 0%, var(--mist) 45%, #e8f3ef 100%)}html[data-mood=tight]{--moss:#c9842a;--moss-bright:#e0a04a;--moss-deep:#a66a1c;--sage:#f5e6d0;--mist:#faf6f0;--amber:#c87820}html[data-mood=tight] body{background:radial-gradient(900px 480px at 10% -10%, #d4922e33, transparent 55%), radial-gradient(700px 400px at 100% 5%, #f3a0891f, transparent 50%), linear-gradient(180deg, #fffbf5 0%, var(--mist) 42%, #f3ebe0 100%)}html[data-mood=danger]{--moss:#c45a52;--moss-bright:#d97870;--moss-deep:#a3443e;--sage:#f5ddd9;--mist:#faf4f3;--ok:#c45a52}html[data-mood=danger] body{background:radial-gradient(900px 480px at 6% -10%, #d9554c29, transparent 55%), radial-gradient(720px 400px at 100% 0%, #f3a08924, transparent 48%), linear-gradient(180deg, #fff8f7 0%, var(--mist) 42%, #f3e8e6 100%)}button,input,select,textarea{font:inherit}a{color:inherit}:focus-visible{outline:3px solid color-mix(in srgb, var(--moss-bright) 70%, white);outline-offset:2px}.app-shell{width:var(--max);padding:var(--pad);padding-top:max(var(--pad), env(safe-area-inset-top));padding-left:max(var(--pad), env(safe-area-inset-left));padding-right:max(var(--pad), env(safe-area-inset-right));padding-bottom:calc(var(--pad) + 5.75rem + env(safe-area-inset-bottom));margin:0 auto}.brand{font-family:var(--font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-weight:700}.muted{color:var(--ink-soft);font-size:var(--text-sm);line-height:1.45}.panel{background:color-mix(in srgb, var(--paper) 96%, white);border:1px solid color-mix(in srgb, var(--moss) 10%, transparent);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panel-pad{padding:clamp(1.1rem,2vw,1.65rem)}.summary-panel{gap:var(--space-3);display:grid}.btn{appearance:none;min-height:var(--touch);background:var(--moss);color:#fff;font-weight:650;font-size:var(--text-sm);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.85rem 1.25rem;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.btn:hover{background:var(--moss-deep);box-shadow:0 10px 22px #3d8aef47}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-ghost{color:var(--ink);border:1px solid color-mix(in srgb, var(--moss) 20%, transparent);background:#ffffffd1}.btn-ghost:hover{background:var(--sage)}.btn-chip{min-height:2.45rem;padding:.55rem .95rem;font-size:.9rem}.field{gap:.35rem;margin-bottom:.95rem;display:grid}.field label{font-size:var(--text-xs);letter-spacing:.02em;text-transform:uppercase;color:var(--ink-soft);font-weight:650}.field input,.field select{border:1px solid color-mix(in srgb, var(--moss) 18%, transparent);border-radius:var(--radius-sm);width:100%;min-height:var(--touch);background:#fffffff2;outline:none;padding:.85rem 1rem;font-size:1rem;line-height:1.35;transition:border-color .2s,box-shadow .2s}.field input:focus,.field select:focus{border-color:var(--moss);box-shadow:0 0 0 4px color-mix(in srgb, var(--sage) 85%, transparent)}.top-header{margin-bottom:var(--space-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;display:flex}.top-header .brand{font-size:clamp(1.45rem,2vw + .8rem,1.85rem)}.top-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.more-wrap{position:relative}.sheet-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.sheet-close{appearance:none;background:color-mix(in srgb, var(--fog) 80%, white);color:var(--ink);cursor:pointer;border:0;border-radius:999px;flex-shrink:0;place-items:center;width:2.75rem;height:2.75rem;font-size:1.65rem;line-height:1;display:grid}.sheet-close:hover{background:var(--sage)}.more-sheet{max-height:min(92dvh,100dvh - 1rem);padding-bottom:max(1.85rem, calc(1.1rem + env(safe-area-inset-bottom)));flex-direction:column;display:flex;overflow:hidden}.more-sheet>.sheet-handle,.more-sheet>.sheet-head,.more-sheet>.section-sub,.more-sheet>.field{flex:none}.more-sheet-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;gap:.7rem;min-height:0;margin-top:.35rem;padding-bottom:1.5rem;display:flex;overflow-y:auto}.more-sheet-list button{appearance:none;border:1px solid color-mix(in srgb, var(--moss) 10%, transparent);background:color-mix(in srgb, var(--paper) 92%, white);text-align:left;border-radius:var(--radius-sm);cursor:pointer;color:var(--ink);width:100%;height:auto;min-height:4.1rem;padding:1.05rem 1.1rem 1.25rem;line-height:normal;transition:background .15s,border-color .15s;display:block}.more-sheet-list button:hover{background:var(--sage);border-color:color-mix(in srgb, var(--moss) 22%, transparent)}.more-sheet-row{flex-direction:column;align-items:flex-start;gap:.4rem;width:100%;display:flex}.more-sheet-title{font-weight:650;font-size:var(--text-sm);line-height:1.35;display:block}.more-sheet-hint{font-size:var(--text-xs);color:var(--ink-soft);padding-bottom:.1rem;font-weight:500;line-height:1.4;display:block}.more-sheet-danger .more-sheet-title{color:var(--warn)}.more-menu{display:none}.more-menu button{appearance:none;text-align:left;cursor:pointer;color:var(--ink);min-height:var(--touch);background:0 0;border:0;border-radius:.8rem;padding:.8rem .95rem;font-weight:600}.more-menu button:hover{background:var(--sage)}.period-bar{margin-bottom:var(--space-3);flex-wrap:wrap;gap:.45rem;display:flex}.period-label-short{display:none}.more-icon{letter-spacing:.08em;font-weight:700;line-height:1;display:none}.more-mobile-only,.top-import-icon{display:none}.ux-tips{margin-bottom:var(--space-3);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--sage) 55%, white);border:1px solid color-mix(in srgb, var(--moss) 18%, transparent);justify-content:space-between;align-items:flex-start;gap:.85rem;padding:.9rem 1rem;display:flex}.ux-tips-body{min-width:0}.ux-tips-body strong{font-size:var(--text-sm);margin-bottom:.35rem;display:block}.ux-tips-body ul{font-size:var(--text-sm);color:var(--ink-soft);margin:0;padding-left:1.1rem;line-height:1.45}.ux-tips-body b{color:var(--ink);font-family:var(--font-display)}.ux-glossary{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--paper) 90%, white);border:1px dashed color-mix(in srgb, var(--moss) 22%, transparent);margin:0;padding:.55rem .85rem}.ux-glossary>summary{cursor:pointer;font-weight:650;font-size:var(--text-sm);color:var(--moss-deep);list-style:none}.ux-glossary>summary::-webkit-details-marker{display:none}.ux-glossary-list{gap:.55rem;margin:.75rem 0 .25rem;display:grid}.ux-glossary-list div{gap:.1rem;display:grid}.ux-glossary-list dt{font-weight:700;font-size:var(--text-xs);letter-spacing:.02em;text-transform:uppercase;color:var(--ink)}.ux-glossary-list dd{font-size:var(--text-sm);color:var(--ink-soft);margin:0;line-height:1.4}.moves-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.85rem;display:flex}.moves-head .section-title{margin:0}.moves-head .section-sub{margin:.25rem 0 0}.filter-refine-panel{margin-bottom:.65rem;overflow:hidden}.empty-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.65rem;display:flex}.tx-badge{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;flex:none;padding:.18rem .45rem;font-size:.68rem;font-weight:700;line-height:1.2}.tx-badge.is-anomaly{background:color-mix(in srgb, var(--warn) 18%, white);color:var(--warn)}.tx-item.is-anomaly{border-color:color-mix(in srgb, var(--warn) 28%, transparent)}.app-shell.is-simple .ux-glossary,.app-shell.is-simple .grid-metrics,.app-shell.is-simple .cat-block,.app-shell.is-simple .coach-card,.app-shell.is-simple .how-calc,.app-shell.is-simple .forecast-card,.app-shell.is-simple .pace-card,.app-shell.is-simple .summary-actions,.app-shell.is-simple .alert-stack{display:none!important}.goal-list{gap:.75rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.goal-item{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--sage) 35%, white);border:1px solid color-mix(in srgb, var(--moss) 12%, transparent);padding:.85rem .95rem}.goal-head{font-size:var(--text-sm);justify-content:space-between;gap:.75rem;margin-bottom:.45rem;display:flex}.goal-actions{gap:.35rem;margin-top:.55rem;display:flex}.compare-grid{gap:.75rem;display:grid}.compare-card{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--paper) 90%, white);border:1px solid color-mix(in srgb, var(--moss) 12%, transparent);padding:.9rem 1rem}.ask-answer{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--sage) 40%, white);margin:0 0 1rem;padding:.9rem 1rem;line-height:1.45}.onboard-card{gap:.75rem;margin-top:.5rem;display:grid}.field-label{font-size:var(--text-xs);letter-spacing:.03em;text-transform:uppercase;color:var(--ink-soft);margin:.75rem 0 .45rem;font-weight:700}.tx-item.is-pending{border-color:color-mix(in srgb, var(--amber) 35%, transparent);background:color-mix(in srgb, var(--amber) 6%, white)}.settle-toggle{background:color-mix(in srgb, var(--fog) 70%, white);border-radius:999px;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:.35rem;padding:.25rem;display:grid}.settle-opt{appearance:none;min-height:2.55rem;font-weight:650;font-size:var(--text-sm);cursor:pointer;color:var(--ink-soft);background:0 0;border:0;border-radius:999px}.settle-opt.active{background:var(--ink);color:#fff}.settle-opt.is-pending.active{background:var(--amber);color:#fff}.settle-hint{font-size:var(--text-xs);margin:0 0 1rem}.range-row{margin-bottom:var(--space-3);z-index:5;flex-wrap:wrap;gap:.75rem;display:flex;position:relative}.range-row .field{position:relative}.range-row .day-picker.is-open{z-index:8}.import-hint{margin:0 0 var(--space-3);font-size:var(--text-sm)}.home-layout{gap:var(--space-4);align-items:start;display:grid}.grid-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.35rem;display:grid}.metric-card{box-shadow:var(--shadow-sm);padding:.9rem 1rem}.metric-label{font-size:var(--text-xs);letter-spacing:.02em;text-transform:uppercase;color:var(--ink-soft);font-weight:650}.metric-value{font-variant-numeric:tabular-nums;font-size:clamp(1.15rem,.4vw + 1.05rem,1.35rem);font-weight:700;font-family:var(--font-display);letter-spacing:-.03em;margin-top:.3rem}.hero-block{gap:.15rem;display:grid}.hero-available{font-size:var(--hero);letter-spacing:-.045em;font-variant-numeric:tabular-nums;font-weight:700;line-height:.95;display:block}.hero-copy{font-size:var(--text-sm);-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:52ch;margin:0;line-height:1.45;display:-webkit-box;overflow:hidden}.hero-eyebrow{font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-weight:700}.hero-daily-hint{font-size:var(--text-sm);color:var(--ink-soft);margin:0}.hero-daily-hint strong{color:var(--ink);font-family:var(--font-display);letter-spacing:-.02em}.snapshot-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:0;display:grid}.snapshot-cell{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--sage) 42%, white);border:1px solid color-mix(in srgb, var(--moss) 12%, transparent);gap:.2rem;min-width:0;padding:.7rem .65rem;display:grid}.snapshot-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);font-size:.72rem;font-weight:700}.snapshot-value{font-family:var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(.95rem,1.8vw + .7rem,1.15rem);font-weight:700;line-height:1.15}.snapshot-value.is-danger{color:var(--warn)}.plan-leftover{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--sage) 38%, white);border:1px solid color-mix(in srgb, var(--moss) 14%, transparent);justify-content:space-between;align-items:center;gap:1rem;margin:0;padding:.85rem 1rem;display:flex}.plan-leftover span{font-weight:650;font-size:var(--text-sm);display:block}.plan-leftover em{font-style:normal;font-size:var(--text-xs);color:var(--ink-soft);margin-top:.15rem;display:block}.plan-leftover strong{font-family:var(--font-display);letter-spacing:-.03em;flex-shrink:0;font-size:clamp(1.15rem,.4vw + 1rem,1.35rem)}.how-calc{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--paper) 88%, white);border:1px solid color-mix(in srgb, var(--moss) 12%, transparent);margin:0;padding:.75rem .95rem .85rem}.how-calc>summary{cursor:pointer;font-weight:650;font-size:var(--text-sm);color:var(--moss-deep);list-style:none}.how-calc>summary::-webkit-details-marker{display:none}.how-calc>summary:after{content:" ▾";opacity:.7;font-size:.85em}.how-calc[open]>summary:after{content:" ▴"}.how-calc-lead{font-size:var(--text-sm);margin:.75rem 0 .85rem;line-height:1.45}.how-calc-block{margin-bottom:.85rem}.how-calc-title{text-transform:uppercase;letter-spacing:.04em;color:color-mix(in srgb, var(--ink) 55%, transparent);margin:0 0 .45rem;font-size:.82rem;font-weight:700}.how-calc-settle{margin-top:.35rem;margin-bottom:.25rem}.summary-actions{flex-wrap:wrap;gap:.45rem;margin:0;display:flex}.edit-sheet-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.edit-autosave{letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:.25rem .55rem;font-size:.78rem;font-weight:650}.edit-autosave.is-busy{background:color-mix(in srgb, var(--moss) 14%, white);color:var(--moss-deep)}.edit-autosave.is-ok{background:color-mix(in srgb, var(--ok) 14%, white);color:color-mix(in srgb, var(--ok) 40%, var(--ink))}.coach-card{background:color-mix(in srgb, var(--ok) 10%, white);border:1px solid color-mix(in srgb, var(--ok) 22%, transparent);border-radius:1.05rem;margin:.85rem 0 .35rem;padding:.9rem 1rem}.vibe-card{background:color-mix(in srgb, var(--sage) 55%, white);border:1px solid color-mix(in srgb, var(--moss) 18%, transparent);border-radius:1.1rem;margin:.75rem 0 .15rem;padding:.95rem 1.05rem;transition:background .4s,border-color .4s}.vibe-card.vibe-good{background:color-mix(in srgb, var(--ok) 12%, white);border-color:color-mix(in srgb, var(--ok) 28%, transparent)}.vibe-card.vibe-tight{background:color-mix(in srgb, var(--amber) 12%, white);border-color:color-mix(in srgb, var(--amber) 30%, transparent)}.vibe-card.vibe-danger{background:color-mix(in srgb, var(--warn) 10%, white);border-color:color-mix(in srgb, var(--warn) 28%, transparent)}.vibe-line{font-size:var(--text-sm);margin:0;font-weight:550;line-height:1.45}.vibe-source{letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb, var(--ink) 45%, transparent);margin-top:.45rem;font-size:.72rem;font-weight:650;display:inline-block}.coach-card-title{letter-spacing:.03em;text-transform:uppercase;color:color-mix(in srgb, var(--ok) 40%, var(--ink));margin-bottom:.3rem;font-size:.82rem;font-weight:700;display:block}.coach-card p{font-size:var(--text-sm);margin:0;line-height:1.45}.status-row{font-weight:650;font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:.4rem .55rem;margin:0;display:flex}.cash-pill{background:color-mix(in srgb, var(--ok) 14%, white);color:color-mix(in srgb, var(--ok) 35%, var(--ink));font-weight:650;font-size:var(--text-xs);white-space:nowrap;border-radius:999px;margin-left:auto;padding:.28rem .7rem}.status-dot{background:var(--ok);border-radius:99px;width:.55rem;height:.55rem}.status-ok .status-dot{background:var(--ok)}.status-warn .status-dot{background:var(--amber)}.status-danger .status-dot{background:var(--warn)}.status-text-ok{color:var(--ink)}.status-text-warn{color:color-mix(in srgb, var(--amber) 55%, var(--ink))}.status-text-danger{color:var(--warn)}.pace-card{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--sage) 40%, white);border:1px solid color-mix(in srgb, var(--moss) 16%, transparent);margin:0;padding:.9rem 1rem}.pace-card.status-warn{background:color-mix(in srgb, var(--amber) 12%, white);border-color:color-mix(in srgb, var(--amber) 28%, transparent)}.pace-card.status-danger{background:color-mix(in srgb, var(--warn) 10%, white);border-color:color-mix(in srgb, var(--warn) 28%, transparent)}.pace-head{font-size:var(--text-sm);justify-content:space-between;gap:1rem;margin-bottom:.65rem;font-weight:650;display:flex}.pace-track{background:var(--fog);border-radius:99px;height:10px;position:relative;overflow:visible}.pace-fill{background:var(--moss);border-radius:99px;height:100%}.pace-card.status-warn .pace-fill{background:var(--amber)}.pace-card.status-danger .pace-fill{background:var(--warn)}.pace-mark{background:var(--ink);opacity:.55;border-radius:99px;width:3px;margin-left:-1.5px;position:absolute;top:-4px;bottom:-4px}.pace-legend{color:color-mix(in srgb, var(--ink) 62%, transparent);justify-content:space-between;gap:1rem;margin-top:.55rem;font-size:.92rem;display:flex}.tip-fold{margin:.35rem 0 .5rem}.tip-toggle{appearance:none;color:var(--moss-deep);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:650;text-decoration:underline}.coach-copy{max-width:58ch;margin-top:.55rem;overflow:hidden}.alert-stack{gap:.65rem;margin-top:.85rem;display:grid}.limit-progress{border:1px solid color-mix(in srgb, var(--moss) 16%, transparent);background:color-mix(in srgb, var(--mist) 70%, white);border-radius:1rem;padding:.85rem .95rem}.limit-progress.is-ok{border-color:color-mix(in srgb, var(--moss) 16%, transparent);background:color-mix(in srgb, var(--mist) 70%, white)}.limit-progress.is-warn{border-color:color-mix(in srgb, var(--amber) 30%, transparent);background:color-mix(in srgb, var(--amber) 8%, white)}.limit-progress.is-danger{border-color:color-mix(in srgb, var(--warn) 40%, transparent);background:color-mix(in srgb, var(--warn) 8%, white)}.limits-sheet{width:min(100%,28rem);max-height:min(92dvh,100dvh - 1rem);padding-bottom:max(.85rem, env(safe-area-inset-bottom));flex-direction:column;display:flex;overflow:hidden}.limits-sheet-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-y:auto}.limits-sheet-foot{border-top:1px solid color-mix(in srgb, var(--moss) 10%, transparent);flex:none;margin-top:.35rem;padding-top:.75rem}.limits-hint{margin:0 0 .85rem}.limits-list{margin-bottom:1rem}.limit-card{cursor:default;grid-template-columns:unset;flex-direction:column;align-items:stretch;display:flex}.limit-card.is-editing{box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--moss) 35%, transparent)}.limit-card-top{justify-content:space-between;gap:12px;width:100%;display:flex}.limit-card-actions{gap:1rem;margin-top:.55rem;display:flex}.limits-card-note{margin:.45rem 0 0;font-size:.8rem}.limits-form{padding-bottom:.35rem}.limits-form-title{margin:0 0 .65rem;font-weight:650}.limit-progress.inline{width:100%;margin-top:.75rem}.limit-progress-head{font-size:var(--text-sm);justify-content:space-between;gap:.75rem;margin-bottom:.45rem;display:flex}.section-title{font-size:var(--title);margin:0 0 .4rem}.section-sub{font-size:var(--text-sm);margin:0 0 1rem}.cat-block{margin-top:1.55rem}.cat-list{gap:.85rem;display:grid}.cat-row{font-size:var(--text-sm);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.4rem;display:flex}.cat-name{flex-wrap:wrap;align-items:center;gap:.35rem;display:inline-flex}.cat-glyph{background:var(--sage);width:1.55rem;height:1.55rem;color:var(--moss-deep);border-radius:.55rem;flex:none;place-items:center;font-size:.85rem;font-weight:700;display:inline-grid}.cat-glyph.tiny{width:1.25rem;height:1.25rem;margin-right:.25rem;font-size:.72rem}.cat-pct{color:color-mix(in srgb, var(--ink) 52%, transparent);text-align:right;font-size:.85rem;font-weight:500;display:block}.cat-bar{background:var(--fog);border-radius:99px;height:10px;overflow:hidden}.cat-bar>div{background:var(--moss);border-radius:99px;height:100%}.tx-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.tx-item{border-radius:var(--radius-sm);border:1px solid color-mix(in srgb, var(--fog) 80%, transparent);cursor:pointer;background:#ffffffeb;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.65rem 1rem;min-height:4rem;padding:.95rem 1.05rem;transition:border-color .15s,transform .15s,box-shadow .15s;display:grid}.tx-item:hover{border-color:color-mix(in srgb, var(--moss) 28%, transparent);box-shadow:var(--shadow-sm)}.tx-main{gap:.25rem;min-width:0;display:grid}.tx-title{font-weight:650;font-size:var(--text);align-items:center;gap:.4rem;min-width:0;line-height:1.3;display:flex}.tx-desc{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tx-meta{font-size:var(--text-xs);color:var(--ink-soft);letter-spacing:0;text-transform:none;flex-wrap:wrap;gap:.25rem .55rem;margin:0;font-weight:600;display:flex}.tx-meta>span:not(:last-child):after{content:"·";opacity:.55;margin-left:.55rem}.tx-cat{color:var(--moss-deep)}.tx-amount{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:clamp(1.05rem,.35vw + .95rem,1.2rem);font-weight:700;font-family:var(--font-display);letter-spacing:-.03em;text-align:right}.tx-amount.is-out{color:var(--ink)}.tx-amount.is-in{color:var(--ok)}.kind-pill{font-size:var(--text-xs);letter-spacing:.01em;color:var(--moss-deep);align-items:center;gap:.35rem;margin-top:0;font-weight:650;display:inline-flex}.kind-pill.soft{text-transform:none;letter-spacing:0;font-weight:600}.filter-bar{flex-wrap:wrap;gap:.45rem;margin-bottom:1rem;display:flex}.filter-chip,.kind-chip{appearance:none;border:1px solid color-mix(in srgb, var(--moss) 22%, transparent);font:inherit;cursor:pointer;color:var(--ink);background:#fffc;border-radius:999px;padding:.55rem .95rem;font-size:.95rem;font-weight:600}.filter-chip.active,.kind-chip.active{background:var(--moss);border-color:var(--moss);color:#fff}.kind-grid{gap:.55rem;display:grid}.kind-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.kind-grid.compact .kind-chip{text-align:center;padding:.65rem .75rem;font-size:.92rem}@media (width>=420px){.kind-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}}.kind-chip{text-align:left;border-radius:1rem;width:100%;padding:.9rem 1.05rem}.empty-state{text-align:center;justify-items:center;gap:.35rem;cursor:default!important;padding:2rem 1rem!important;display:grid!important}.empty-mark{background:var(--sage);width:3rem;height:3rem;color:var(--moss-deep);border-radius:99px;place-items:center;margin-bottom:.35rem;font-size:1.4rem;display:grid}.hero-block.is-atajo{box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--moss) 35%, transparent);border-radius:1rem;animation:1.2s 3 atajo-pulse}@keyframes atajo-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}.shortcuts-sheet{max-width:100%;overflow-x:hidden}.shortcuts-sheet .shortcut-card{background:color-mix(in srgb, var(--mist) 70%, white);border:1px solid color-mix(in srgb, var(--fog) 80%, transparent);overflow-wrap:anywhere;border-radius:.95rem;gap:.55rem;min-width:0;max-width:100%;margin-top:.95rem;padding:.9rem .95rem 1rem;display:grid}.shortcuts-sheet .shortcut-actions,.shortcuts-sheet .shortcut-card .btn-chip{margin-top:.15rem;margin-right:.35rem}.shortcut-steps{color:var(--ink-soft);overflow-wrap:anywhere;min-width:0;max-width:100%;margin:0;padding-left:1.15rem;font-size:.88rem;line-height:1.45}.shortcut-steps li{overflow-wrap:anywhere;word-break:break-word;min-width:0}.shortcut-steps code,.shortcut-url{word-break:break-all;overflow-wrap:anywhere;white-space:pre-wrap;margin-top:.25rem;font-size:.78rem;display:block}.shortcuts-note{text-align:left;margin-top:.75rem;display:inline-block}.fab{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:40;align-items:center;gap:.55rem;display:flex;position:fixed}.fab-btn{align-items:center;gap:.45rem;padding-inline:1.25rem 1.45rem;display:inline-flex;box-shadow:0 14px 32px #5aa7ff59}.fab-secondary{background:#ffffffeb;box-shadow:0 10px 24px #2c36481a}.fab-income{background:var(--ok);color:#fff;box-shadow:0 12px 28px color-mix(in srgb, var(--ok) 38%, transparent);border-color:#0000}.fab-income:hover{background:color-mix(in srgb, var(--ok) 88%, black);color:#fff}.period-note{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--amber) 12%, white);border:1px solid color-mix(in srgb, var(--amber) 28%, transparent);font-size:var(--text-sm);gap:.2rem;margin:0;padding:.75rem .9rem;line-height:1.4;display:grid}.period-note strong{font-size:var(--text-xs);letter-spacing:.03em;text-transform:uppercase;margin:0;display:block}.remanente-strip{background:color-mix(in srgb, var(--sage) 45%, white);border:1px solid color-mix(in srgb, var(--moss) 16%, transparent);border-radius:1.1rem;gap:.35rem;margin:0 0 1rem;padding:.95rem 1.05rem;display:grid}.remanente-row{font-size:var(--text-sm);justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.remanente-row>span:first-child{overflow-wrap:anywhere;flex:1;min-width:0;line-height:1.35}.remanente-row>strong{text-align:right;flex-shrink:0}.remanente-row.accent{border-top:1px dashed color-mix(in srgb, var(--moss) 25%, transparent);margin-top:.2rem;padding-top:.35rem;font-weight:650}.remanente-row.highlight strong{color:var(--moss-deep);font-size:1.15rem}.tx-search input{border:1px solid color-mix(in srgb, var(--moss) 20%, transparent);width:100%;font-size:var(--text);background:#ffffffeb;border-radius:.95rem;outline:none;padding:.85rem 1.05rem}.tx-search input:focus{border-color:var(--moss);box-shadow:0 0 0 4px color-mix(in srgb, var(--sage) 80%, transparent)}.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}.remanente-row.muted-row strong{opacity:.75;font-weight:500}.plan-details{margin:.65rem 0 .35rem}.plan-details summary{cursor:pointer;margin-bottom:.45rem;font-size:.9rem;list-style:none}.plan-details summary::-webkit-details-marker{display:none}.plan-details summary:before{content:"▸ ";opacity:.55}.plan-details[open] summary:before{content:"▾ "}.plan-preview{background:var(--fog);border-radius:1rem;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.1rem;padding:.85rem .95rem;display:grid}.plan-preview span{margin-bottom:.2rem;font-size:.9rem;display:block}.plan-preview strong{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.25rem}.dual-metrics{grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:.85rem;display:grid}.dual-metrics>div{background:color-mix(in srgb, var(--moss) 8%, white);border:1px solid color-mix(in srgb, var(--moss) 14%, transparent);border-radius:.95rem;padding:.75rem .85rem}.dual-metrics span{margin-bottom:.2rem;font-size:.82rem;display:block}.dual-metrics strong{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.2rem;display:block}.dual-metrics em{color:color-mix(in srgb, var(--ink) 55%, transparent);margin-top:.2rem;font-size:.78rem;font-style:normal;display:block}.settle-grid{grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.85rem;display:grid}.settle-grid>div{background:color-mix(in srgb, var(--paper) 90%, white);border:1px solid color-mix(in srgb, var(--ink) 8%, transparent);border-radius:.85rem;padding:.65rem .75rem}.settle-grid span{margin-bottom:.15rem;font-size:.78rem;display:block}.settle-grid strong{font-variant-numeric:tabular-nums;font-size:1rem}.pattern-card{background:color-mix(in srgb, var(--moss) 7%, white);border:1px solid color-mix(in srgb, var(--moss) 16%, transparent);border-radius:1.1rem;margin:0 0 1rem;padding:.95rem 1rem}.pattern-card-compact{margin:0;padding:.45rem .65rem}.pattern-card-toggle{appearance:none;text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:0;grid-template-columns:1fr auto;grid-template-areas:"main chev""meta chev";align-items:center;gap:.15rem .55rem;min-height:2.75rem;padding:.2rem .1rem;display:grid}.pattern-card-toggle-main{flex-wrap:wrap;grid-area:main;align-items:baseline;gap:.35rem .55rem;display:flex}.pattern-card-toggle-main .plan-observed-title{margin:0;font-size:.95rem;font-weight:650}.pattern-card-toggle-meta{font-variant-numeric:tabular-nums;flex-wrap:wrap;grid-area:meta;gap:.25rem;font-size:.78rem;display:flex}.pattern-card-chevron{color:var(--ink-soft);grid-area:chev;padding:.25rem;font-size:.85rem}.pattern-card-body{border-top:1px solid color-mix(in srgb, var(--moss) 12%, transparent);margin-top:.4rem;padding-top:.45rem;overflow:hidden}.pattern-summary-full{-webkit-line-clamp:4}.pattern-card-compact .plan-observed-grid{gap:.4rem;margin-bottom:.15rem}.pattern-card-compact .plan-observed-grid>div{padding:.4rem .5rem}.pattern-card-compact .pattern-apply{margin-top:.45rem;font-size:.88rem}.pattern-apply{align-items:flex-start;gap:.55rem;margin-top:.65rem;font-size:.92rem;line-height:1.35;display:flex}.pattern-apply input{margin-top:.2rem}.pattern-choice{margin-top:.65rem}.pattern-choice-lead{margin:0 0 .5rem;font-size:.9rem;line-height:1.35}.pattern-choice-grid{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.pattern-choice-btn{appearance:none;border:1px solid color-mix(in srgb, var(--moss) 16%, transparent);background:color-mix(in srgb, var(--paper) 94%, white);text-align:left;cursor:pointer;color:inherit;border-radius:.85rem;gap:.2rem;padding:.7rem .75rem;display:grid}.pattern-choice-btn strong{font-size:.9rem}.pattern-choice-btn span{font-size:.78rem;line-height:1.3}.pattern-choice-btn.active{border-color:var(--moss-deep);background:color-mix(in srgb, var(--sage) 70%, white);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--moss) 25%, transparent)}@media (width<=520px){.pattern-choice-grid{grid-template-columns:1fr}}.settle-actions{grid-template-columns:1fr 1fr;gap:.5rem;margin-top:1rem;display:grid}.recur-panel-list{margin-top:.35rem}.recur-panel-item{cursor:pointer;align-items:flex-start;gap:.75rem;padding:.55rem 0!important}.recur-panel-main{flex:1;min-width:0}.recur-panel-label{overflow-wrap:anywhere;white-space:normal;font-size:.95rem;line-height:1.35;display:block}.recur-grid{flex-wrap:wrap;gap:.35rem;margin-top:.5rem;display:flex}.recur-tag{opacity:.7;font-size:.82em;font-style:normal}.plan-observed{background:color-mix(in srgb, var(--paper) 88%, white);border:1px solid color-mix(in srgb, var(--ink) 8%, transparent);border-radius:1.1rem;margin-bottom:1rem;padding:.95rem 1rem}.plan-observed-title{letter-spacing:-.02em;margin:0 0 .75rem;font-size:1rem;font-weight:650}.plan-observed-grid{grid-template-columns:repeat(3,1fr);gap:.55rem;margin-bottom:.85rem;display:grid}.plan-observed-grid span{margin-bottom:.15rem;font-size:.82rem;display:block}.plan-observed-grid strong{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.05rem}.plan-fixed-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.plan-fixed-list li{border-top:1px solid color-mix(in srgb, var(--ink) 7%, transparent);justify-content:space-between;align-items:baseline;gap:.75rem;padding:.35rem 0;font-size:.92rem;display:flex}.plan-fixed-list li:first-child{border-top:0;padding-top:0}.plan-fixed-list span{overflow-wrap:anywhere;min-width:0;line-height:1.35}.plan-fixed-list strong{font-variant-numeric:tabular-nums;flex-shrink:0}.plan-fixed-list .positive{color:var(--moss)}.plan-income-list{border-top:1px dashed color-mix(in srgb, var(--ink) 12%, transparent);margin-top:.65rem;padding-top:.35rem}.plan-empty-hint{margin:0;font-size:.9rem;line-height:1.4}.plan-adjust{margin-top:.85rem;padding-top:.35rem}.pattern-conf{white-space:nowrap;font-size:.78rem}.pattern-summary{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .55rem;font-size:.88rem;line-height:1.35;display:-webkit-box;overflow:hidden}.pattern-not-current{margin:.55rem 0 0;font-size:.86rem;line-height:1.4}.review-layout{flex-direction:column;gap:.75rem;width:100%;height:100%;min-height:0;display:flex;overflow:hidden}.review-header{flex:none;padding-bottom:.15rem}.review-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.review-title{margin:0;font-size:1.25rem;font-weight:700}.review-month-badge{color:var(--ink-soft);background:var(--fog);border-radius:2rem;align-items:center;gap:.45rem;padding:.3rem .65rem;font-size:.85rem;font-weight:600;display:inline-flex}.review-month-badge .linkish{font-size:.78rem;font-weight:500}.review-segment{flex-wrap:wrap;flex:none;gap:.45rem;padding:0;display:flex;overflow:visible}.review-segment::-webkit-scrollbar{display:none}.review-seg-btn{appearance:none;border:1px solid color-mix(in srgb, var(--moss) 18%, transparent);background:var(--paper);cursor:pointer;color:var(--ink);white-space:nowrap;border-radius:.6rem;flex:none;align-items:center;gap:.35rem;min-height:2.4rem;padding:.55rem .95rem;font-size:.9rem;font-weight:600;line-height:1.2;transition:all .15s;display:inline-flex}.review-seg-btn:hover{background:var(--fog);border-color:color-mix(in srgb, var(--moss) 28%, transparent)}.review-seg-btn.active{background:var(--moss);border-color:var(--moss);color:#fff}.review-seg-count{opacity:.9;font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:500}.review-month-scope{margin:-.35rem 0 0;font-size:.8rem;line-height:1.35}.review-expected{background:color-mix(in srgb, var(--amber,#b7791f) 10%, white);border:1px solid color-mix(in srgb, var(--amber,#b7791f) 22%, transparent);border-radius:.85rem;margin:0 0 .75rem;padding:.75rem .8rem .85rem}.review-expected-title{margin:0 0 .2rem;font-size:.88rem;font-weight:650}.review-expected-hint{margin:0 0 .65rem;font-size:.78rem;line-height:1.35}.review-expected-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.review-expected-card{background:color-mix(in srgb, var(--paper) 92%, white);border-radius:.75rem;min-width:0;padding:.8rem .85rem .9rem}.review-expected-tag{letter-spacing:.03em;text-transform:uppercase;color:color-mix(in srgb, var(--amber,#b7791f) 90%, #5c3d0a);font-size:.72rem;font-weight:700}.review-settle-list{margin-top:.35rem}.review-settle-q{margin:.55rem 0 .4rem;font-size:.82rem;line-height:1.4}.review-settle-list .settle-toggle{margin:0 0 .35rem}.review-settle-list .day-picker,.review-settle-list [class*=day-picker]{margin-top:.35rem}.review-pattern-details{border:1px solid color-mix(in srgb, var(--moss) 14%, transparent);background:color-mix(in srgb, var(--moss) 6%, white);border-radius:.85rem;flex:none;margin:0;padding:.7rem .85rem}.review-pattern-summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;padding:0;font-size:.88rem;list-style:none;display:flex}.review-pattern-summary::-webkit-details-marker{content:"";display:none}.review-pattern-summary::marker{content:"";display:none}.review-pattern-label{flex:auto;font-weight:600}.review-pattern-nums{font-variant-numeric:tabular-nums;flex:none;font-size:.82rem}.review-pattern-chevron{color:var(--ink-soft);font-size:.7rem}.review-pattern-body{padding:0 0 .65rem}.review-pattern-apply{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.review-pattern-btns{gap:.35rem;display:flex}.review-pattern-opt{appearance:none;border:1px solid color-mix(in srgb, var(--moss) 18%, transparent);background:var(--paper);cursor:pointer;border-radius:.5rem;padding:.35rem .75rem;font-size:.82rem;font-weight:600}.review-pattern-opt.active{background:var(--moss);border-color:var(--moss);color:#fff}.review-pattern-note{margin:0;font-size:.82rem}.review-list-area{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:.15rem 0 .5rem;overflow-y:auto}.review-tx-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}@media (width>=860px){.review-list-area{width:100%;padding:0}.review-tx-list,.review-expected-list{grid-template-columns:1fr 1fr;align-items:start;gap:.7rem;display:grid}.review-pattern-summary{flex-wrap:nowrap}.review-pattern-nums{flex:none}}@media (width>=1280px){.review-tx-list,.review-expected-list{grid-template-columns:1fr 1fr 1fr}}.review-tx-row{background:var(--fog);border-radius:.85rem;padding:.95rem 1.05rem 1.05rem}.review-tx-main{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.review-tx-desc{flex:auto;min-width:0;font-size:.92rem;font-weight:600;line-height:1.35}.review-tx-amount{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-size:.95rem;font-weight:700}.review-tx-meta{margin-top:.2rem;font-size:.8rem}.review-tx-kinds{flex-wrap:wrap;gap:.3rem;margin-top:.55rem;display:flex}.review-kind-btn{appearance:none;border:1px solid color-mix(in srgb, var(--moss) 16%, transparent);background:var(--paper);cursor:pointer;color:var(--ink);border-radius:.5rem;padding:.38rem .65rem;font-size:.78rem;font-weight:600;transition:all .12s}.review-kind-btn:hover{border-color:var(--moss)}.review-kind-btn.active{background:var(--moss);border-color:var(--moss);color:#fff}.review-tx-recur{gap:.3rem;margin-top:.4rem;display:flex}.review-recur-btn{appearance:none;border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);cursor:pointer;color:var(--ink-soft);background:0 0;border-radius:.4rem;padding:.28rem .55rem;font-size:.72rem;font-weight:500}.review-recur-btn.active{background:color-mix(in srgb, var(--moss) 14%, white);border-color:color-mix(in srgb, var(--moss) 28%, transparent);color:var(--ink);font-weight:600}.review-footer{border-top:1px solid color-mix(in srgb, var(--moss) 10%, transparent);flex:none;gap:.65rem;margin-top:auto;padding-top:.85rem;display:flex}.review-btn-confirm{flex:auto}.review-btn-cancel{flex:none}@media (width<=600px){.review-segment{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:.15rem;overflow-x:auto}.review-segment::-webkit-scrollbar{display:none}.review-tx-kinds{scrollbar-width:none;flex-wrap:nowrap;margin-inline:-.95rem;padding-inline:.95rem;overflow-x:auto}.review-tx-kinds::-webkit-scrollbar{display:none}.review-kind-btn{flex:none}.review-footer{flex-direction:column}.review-btn-cancel{order:1}}.review-sheet{max-height:min(92dvh,100dvh - 1rem);padding-bottom:max(1rem, env(safe-area-inset-bottom));flex-direction:column;display:flex;overflow:hidden}.review-sheet>.sheet-handle{flex:none}.review-sheet-body{flex-direction:column;flex:auto;min-height:0;display:flex}.review-sheet-body>.review-step{flex:auto;height:100%;min-height:0}.review-sheet-tall,.review-sheet-liq{height:min(94dvh,100dvh - .5rem);min-height:min(86dvh,100dvh - .5rem);max-height:min(96dvh,100dvh - .35rem)}@media (width>=768px){.review-sheet-tall,.review-sheet-liq{height:min(92dvh,100dvh - 2rem);min-height:min(80dvh,100dvh - 2rem)}.review-summary{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));display:grid;overflow:visible}.review-summary-chip{min-width:0}.pattern-choice-grid{grid-template-columns:1fr 1fr}}@media (width<=767px){.sheet-backdrop-wide:has(.review-sheet){padding:.25rem 0 0;align-items:stretch;padding-bottom:0}.sheet-wide.review-sheet{width:100%;max-width:100%;padding:.85rem .95rem max(.85rem, env(safe-area-inset-bottom));border-radius:1.15rem 1.15rem 0 0;height:min(96dvh,100dvh - .25rem);min-height:min(96dvh,100dvh - .25rem);max-height:min(96dvh,100dvh - .25rem)}.pattern-choice-grid{grid-template-columns:1fr}}.review-step{flex-direction:column;min-height:0;display:flex}.review-step-fill{flex:auto;min-height:0}.review-sheet-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-y:auto}.review-sheet-head{margin-bottom:.75rem}.review-sheet-head .section-title{margin:0 0 .35rem}.review-sheet-head .section-sub{margin:0}.review-filters{z-index:2;background:color-mix(in srgb, var(--paper) 92%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);margin-bottom:.35rem;padding:.35rem 0 .55rem;position:sticky;top:0}.review-sheet-actions{border-top:1px solid color-mix(in srgb, var(--moss) 12%, transparent);background:var(--paper);flex:none;gap:.45rem;margin-top:.15rem;padding-top:.75rem;display:grid}.liq-back{margin:0 0 .55rem;padding:0;font-size:.9rem;font-weight:600;display:inline-flex}.liq-lines{gap:.15rem;margin:.55rem 0 1.15rem;padding:0;list-style:none;display:grid}.liq-line{border-bottom:1px solid color-mix(in srgb, var(--moss) 10%, transparent);grid-template-columns:1fr auto;align-items:start;gap:.85rem;padding:.75rem .15rem;display:grid}.liq-line:last-child{border-bottom:0}.liq-line-emphasis{background:color-mix(in srgb, var(--moss) 7%, transparent);border-bottom:0;border-radius:.95rem;margin:.35rem 0;padding:.9rem}.liq-line-main{min-width:0}.liq-line-label{flex-wrap:wrap;align-items:center;gap:.4rem .5rem;font-size:.98rem;line-height:1.35;display:flex}.liq-line-note{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.35rem 0 0;font-size:.82rem;line-height:1.4;display:-webkit-box;overflow:hidden}.liq-amt{font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:.1rem;font-size:1.02rem}.liq-amt-out{color:color-mix(in srgb, var(--warn) 85%, #7a2e2e)}.liq-amt-hero{color:var(--ink);font-size:1.1rem}.liq-chip{letter-spacing:.02em;text-transform:uppercase;border:1px solid #0000;border-radius:.35rem;align-items:center;padding:.14rem .42rem;font-size:.68rem;font-weight:600;display:inline-flex}.liq-chip-pdf{color:color-mix(in srgb, var(--moss) 80%, #1a3a2a);background:color-mix(in srgb, var(--moss) 12%, white);border-color:color-mix(in srgb, var(--moss) 22%, transparent)}.liq-chip-calc{color:color-mix(in srgb, var(--ink) 70%, #334);background:color-mix(in srgb, var(--ink) 6%, white);border-color:color-mix(in srgb, var(--ink) 12%, transparent)}.liq-chip-plan{color:color-mix(in srgb, var(--amber,#b7791f) 90%, #5c3d0a);background:color-mix(in srgb, var(--amber,#b7791f) 14%, white);border-color:color-mix(in srgb, var(--amber,#b7791f) 28%, transparent)}.liq-chip-na{color:var(--muted,#6b7280);background:color-mix(in srgb, var(--muted,#6b7280) 10%, white);border-color:color-mix(in srgb, var(--muted,#6b7280) 18%, transparent)}.liq-daily{background:color-mix(in srgb, var(--ok,#2f6b4f) 10%, white);border:1px solid color-mix(in srgb, var(--ok,#2f6b4f) 22%, transparent);border-radius:1.05rem;margin:.5rem 0 .75rem;padding:1.1rem 1.15rem}.liq-daily-tight{background:color-mix(in srgb, var(--warn) 10%, white);border-color:color-mix(in srgb, var(--warn) 28%, transparent)}.liq-daily-kicker{letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb, var(--ink) 55%, transparent);margin:0;font-size:.75rem;font-weight:650}.liq-daily-value{font-variant-numeric:tabular-nums;margin:.4rem 0 .3rem;font-size:clamp(1.4rem,2vw + 1rem,1.8rem);font-weight:700;line-height:1.15}.liq-daily-copy{margin:0;font-size:.98rem;line-height:1.4}.liq-daily-warn{margin:.5rem 0 0;font-size:.82rem}.forecast-card{background:color-mix(in srgb, var(--paper) 92%, white);border:1px solid color-mix(in srgb, var(--moss) 16%, transparent);border-radius:1.15rem;margin:.85rem 0 .35rem;padding:1.05rem 1.1rem}.forecast-card.level-warn{border-color:color-mix(in srgb, var(--amber) 35%, transparent);background:color-mix(in srgb, var(--amber) 8%, white)}.forecast-card.level-danger{border-color:color-mix(in srgb, var(--warn) 35%, transparent);background:color-mix(in srgb, var(--warn) 8%, white)}.forecast-head h3{margin:0;font-size:clamp(1.15rem,.6vw + 1rem,1.35rem)}.forecast-head p{margin:.25rem 0 .85rem}.forecast-hero{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-bottom:.85rem;display:grid}.forecast-hero span,.forecast-grid span{margin-bottom:.2rem;font-size:.88rem;display:block}.forecast-hero strong{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(1.15rem,.5vw + 1rem,1.35rem)}.forecast-copy{font-size:var(--text-sm);color:color-mix(in srgb, var(--ink) 78%, transparent);margin:0 0 .9rem;line-height:1.45}.forecast-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.forecast-grid strong{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.15rem;display:block}.forecast-grid em{color:color-mix(in srgb, var(--ink) 55%, transparent);margin-top:.15rem;font-size:.88rem;font-style:normal;display:block}@media (width<=767px){.forecast-hero,.forecast-grid{grid-template-columns:1fr}}.fab-plus{background:#ffffff38;border-radius:99px;place-items:center;width:1.45rem;height:1.45rem;font-size:1.15rem;line-height:1;display:inline-grid}.sheet-backdrop{-webkit-backdrop-filter:blur(5px);z-index:50;padding:.75rem;padding-bottom:max(.75rem, env(safe-area-inset-bottom));background:#1e28386b;place-items:end center;display:grid;position:fixed;inset:0;overflow:auto}.sheet-backdrop-center{z-index:60;align-items:center}.sheet-backdrop-center.is-elevated{z-index:90}.overlay-scrim{appearance:none;z-index:55;-webkit-backdrop-filter:blur(5px);cursor:pointer;background:#1e28386b;border:0;margin:0;padding:0;position:fixed;inset:0}.sheet{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--paper);width:min(100%,34rem);max-height:min(92dvh,100dvh - 1.5rem);box-shadow:var(--shadow);border-radius:1.4rem;padding:1.35rem 1.45rem 1.6rem;overflow-y:auto}.confirm-sheet{width:min(100%,22.5rem);max-height:none;padding:1.35rem 1.35rem 1.25rem;overflow:visible}.confirm-sheet-body{color:var(--ink-soft);margin:.65rem 0 1.15rem;font-size:.95rem;line-height:1.45}.confirm-sheet-actions{gap:.45rem;display:grid}.btn-danger{background:color-mix(in srgb, var(--warn) 82%, #4a1515);color:#fff;border-color:#0000}.btn-danger:hover:not(:disabled){filter:brightness(1.05)}.btn-danger:disabled{opacity:.7}.sheet-backdrop-wide{padding:.45rem;padding-bottom:max(.45rem, env(safe-area-inset-bottom));align-items:end}.sheet-wide{border-radius:1.25rem 1.25rem 1.05rem 1.05rem;width:min(100%,52rem);max-width:calc(100vw - .9rem);padding:1.25rem 1.15rem 1.45rem}@media (width>=768px){.sheet-backdrop-wide{align-items:center;padding:1.25rem}.sheet-wide{border-radius:1.4rem;width:min(100%,44rem);max-width:min(44rem,100vw - 2.5rem);padding:1.45rem 1.6rem 1.7rem}}.review-backdrop{padding:.35rem;padding-bottom:max(.35rem, env(safe-area-inset-bottom));place-items:stretch stretch;overflow:hidden}.review-backdrop .sheet.sheet-wide.review-sheet{width:100%;max-width:100%;height:100%;min-height:0;max-height:100%;padding:1rem 1.05rem max(1rem, env(safe-area-inset-bottom));box-sizing:border-box;border-radius:1.15rem;margin:0}@media (width>=768px){.review-backdrop{place-items:center;padding:1.5rem 2rem}.review-backdrop .sheet.sheet-wide.review-sheet{border-radius:1.25rem;width:min(76rem,100vw - 3rem);max-width:min(76rem,100vw - 3rem);height:min(88dvh,100dvh - 3rem);max-height:min(88dvh,100dvh - 3rem);padding:1.25rem 1.4rem 1.15rem}}@media (width<=767px){.review-backdrop{padding:.2rem 0 0}.review-backdrop .sheet.sheet-wide.review-sheet{border-radius:1.15rem 1.15rem 0 0;height:100%;max-height:100%}}.entry-sheet{padding:1.5rem 1.25rem}.entry-mode-toggle{background:color-mix(in srgb, var(--paper) 60%, var(--fog));border-radius:999px;margin-bottom:1.5rem;padding:.35rem;display:flex;position:relative}.entry-mode-toggle button{appearance:none;color:color-mix(in srgb, var(--ink) 60%, transparent);cursor:pointer;z-index:1;background:0 0;border:0;border-radius:999px;flex:1;padding:.65rem 1rem;font-size:.95rem;font-weight:600;transition:color .2s;position:relative}.entry-mode-toggle button.active{color:#fff}.entry-mode-label{z-index:1;position:relative}.entry-mode-pill{background:var(--ink);z-index:0;border-radius:999px;position:absolute;inset:0;box-shadow:0 4px 12px #2c364826}.entry-mode-pill.is-income{background:var(--ok);box-shadow:0 4px 12px #4ec4a240}.entry-mode-toggle button.active.is-income{color:#fff}.entry-amount-field{z-index:3;background:var(--paper);margin:0 0 1rem;padding:.15rem 0 .55rem;position:sticky;top:0}.entry-amount-wrap{background:color-mix(in srgb, var(--mist) 78%, white);border:1.5px solid color-mix(in srgb, var(--fog) 88%, var(--moss));border-radius:1.05rem;justify-content:flex-start;align-items:center;min-height:4.4rem;padding:.45rem .9rem;display:flex}.entry-currency{font-family:var(--font-display);color:color-mix(in srgb, var(--ink) 40%, transparent);margin-right:.35rem;font-size:2.1rem;font-weight:600}.entry-amount-input,.field .entry-amount-input{appearance:none;font-family:var(--font-display);color:var(--ink);text-align:left;width:100%;min-width:0;min-height:0;box-shadow:none;background:0 0;border:0;outline:none;padding:0;font-size:2.55rem;font-weight:700}.field .entry-amount-input:focus{box-shadow:none;border:0}.entry-amount-input::placeholder{color:color-mix(in srgb, var(--ink) 20%, transparent)}.entry-chips{justify-content:center;margin-bottom:1.5rem}.entry-fields{gap:.85rem;margin-bottom:1.5rem;display:grid}.entry-fields .field{margin-bottom:0}.entry-submit{width:100%;padding:1.1rem;font-size:1.1rem}.btn-income{background:var(--ok);color:#fff}.btn-income:hover{background:color-mix(in srgb, var(--ok) 85%, black)}.sheet-handle{background:#2c364826;border-radius:99px;width:40px;height:4px;margin:0 auto 1rem}.error{color:var(--warn);font-size:var(--text-sm)}.error-panel{justify-items:start;gap:.85rem;padding:1.25rem .25rem 2rem;display:grid}.error-panel .btn{min-width:8.5rem}.skeleton{background:linear-gradient(90deg, var(--fog), #fff, var(--fog));background-size:200% 100%;border-radius:1rem;animation:1.2s ease-in-out infinite shimmer}.skeleton-stack{gap:1rem;display:grid}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.install-banner{z-index:30;font-size:var(--text-sm);margin-bottom:1rem;position:sticky;top:.5rem;padding:1rem 1.15rem!important}.dropzone{border:1.5px dashed color-mix(in srgb, var(--moss) 40%, transparent);border-radius:var(--radius);background:color-mix(in srgb, var(--sage) 35%, white);text-align:center;cursor:pointer;margin-bottom:1.15rem;padding:clamp(1.1rem,2vw,1.5rem);transition:background .2s,border-color .2s,transform .2s}.dropzone strong{font-size:clamp(1.15rem,.5vw + 1rem,1.35rem)}.dropzone.active{background:var(--sage);border-color:var(--moss);transform:scale(1.01)}.privacy-callout{font-size:var(--text-sm);color:color-mix(in srgb, var(--ink) 70%, transparent);margin-top:.75rem;line-height:1.45}.privacy-callout strong{color:var(--ink);font-weight:650}.linkish{appearance:none;color:var(--moss-deep);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:650;text-decoration:underline}.legal-links{font-size:var(--text-sm);flex-wrap:wrap;justify-content:center;gap:.75rem 1.1rem;margin-top:1.25rem;display:flex}.cookie-banner{left:max(.85rem, env(safe-area-inset-left));right:max(.85rem, env(safe-area-inset-right));bottom:max(.85rem, env(safe-area-inset-bottom));z-index:65;font-size:var(--text-sm);gap:.85rem;padding:1.1rem 1.2rem;display:grid;position:fixed}.cookie-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.auth-shell{width:min(100%,26rem);padding-bottom:max(var(--pad), env(safe-area-inset-bottom));flex-direction:column;justify-content:center;min-height:100dvh;margin-inline:auto;display:flex}.auth-card{width:100%;max-width:24rem;margin:0 auto;padding:1.5rem 1.35rem 1.6rem}.auth-brand{margin:0;font-size:clamp(2rem,6vw,2.45rem);line-height:1.05}.auth-tagline{margin:.65rem 0 0;font-size:.98rem;line-height:1.4}.auth-form{margin-top:1.35rem}.month-picker{background:color-mix(in srgb, var(--sage) 28%, white);border:1px solid color-mix(in srgb, var(--moss) 12%, transparent);border-radius:.95rem;margin-top:.25rem;padding:.55rem .6rem .5rem}.month-picker-year{justify-content:space-between;align-items:center;gap:.35rem;margin-bottom:.45rem;display:flex}.month-picker-year-label{font-family:var(--font-display);letter-spacing:-.02em;text-align:center;min-width:3.5rem;font-size:.98rem;font-weight:700;display:inline-block}.month-picker-nav{appearance:none;border:1px solid color-mix(in srgb, var(--moss) 12%, transparent);cursor:pointer;width:1.85rem;height:1.85rem;color:var(--ink);background:#fff;border-radius:999px;place-items:center;font-size:1.05rem;line-height:1;display:grid}.month-picker-nav:hover{background:var(--sage);border-color:color-mix(in srgb, var(--moss) 22%, transparent)}.month-picker-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.28rem;display:grid}.month-picker-cell{appearance:none;background:color-mix(in srgb, var(--paper) 80%, white);min-height:1.95rem;font:inherit;cursor:pointer;color:var(--ink);border:1px solid #0000;border-radius:.55rem;padding:.28rem .2rem;font-size:.8rem;font-weight:600;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.month-picker-cell:hover:not(:disabled):not(.is-active){border-color:color-mix(in srgb, var(--moss) 18%, transparent);background:#fff}.month-picker-cell.is-today{border-color:color-mix(in srgb, var(--moss) 28%, transparent)}.month-picker-cell.is-suggested{background:color-mix(in srgb, var(--moss) 10%, white);border-color:color-mix(in srgb, var(--moss) 22%, transparent)}.month-picker-cell.is-active{background:var(--moss-deep);color:#fff;border-color:var(--moss-deep);box-shadow:0 4px 10px color-mix(in srgb, var(--moss) 22%, transparent)}.month-picker-cell:disabled{opacity:.32;cursor:not-allowed}.month-picker-foot{border-top:1px dashed color-mix(in srgb, var(--moss) 14%, transparent);flex-wrap:wrap;justify-content:space-between;gap:.35rem .75rem;margin-top:.45rem;padding-top:.4rem;font-size:.82rem;display:flex}.month-picker-chosen{margin:.4rem 0 0;font-size:.85rem}.day-picker{position:relative}.day-picker-trigger{appearance:none;border:1px solid color-mix(in srgb, var(--moss) 14%, transparent);background:color-mix(in srgb, var(--paper) 94%, white);width:100%;font:inherit;color:var(--ink);cursor:pointer;text-align:left;border-radius:.75rem;justify-content:space-between;align-items:center;gap:.4rem;padding:.55rem .75rem;font-size:.92rem;font-weight:550;display:flex}.day-picker-trigger:hover{border-color:color-mix(in srgb, var(--moss) 28%, transparent);background:#fff}.day-picker-trigger-icon{color:color-mix(in srgb, var(--ink) 42%, transparent);font-size:.75rem;display:inline-block}.day-picker-panel{background:color-mix(in srgb, var(--paper) 96%, white);border:1px solid color-mix(in srgb, var(--moss) 14%, transparent);z-index:30;border-radius:.95rem;max-width:17.5rem;margin-top:.35rem;padding:.55rem .55rem .45rem;box-shadow:0 16px 40px #1e28382e}.day-picker-trigger-elevated{z-index:57;border-color:color-mix(in srgb, var(--moss) 35%, transparent);background:#fff;margin:0;position:fixed;box-shadow:0 10px 28px #1e283829}.day-picker.is-open .day-picker-trigger{visibility:hidden}.day-picker-panel-float{z-index:56;max-width:none;margin-top:0;position:fixed}.day-picker-inline .day-picker-panel{box-shadow:none;background:color-mix(in srgb, var(--sage) 28%, white);width:100%;max-width:100%;margin-top:0;position:static}.day-picker-month{justify-content:space-between;align-items:center;gap:.3rem;min-height:1.85rem;margin-bottom:.4rem;display:flex}.day-picker-month-label{font-family:var(--font-display);letter-spacing:-.02em;text-align:center;flex:1;font-size:.88rem;font-weight:700;display:inline-block}.day-picker-nav{appearance:none;border:1px solid color-mix(in srgb, var(--moss) 12%, transparent);cursor:pointer;width:1.75rem;height:1.75rem;color:var(--ink);background:#fff;border-radius:999px;flex-shrink:0;place-items:center;font-size:1rem;line-height:1;display:grid}.day-picker-nav:hover{background:var(--sage)}.day-picker-weekdays{text-align:center;color:color-mix(in srgb, var(--ink) 42%, transparent);grid-template-columns:repeat(7,minmax(0,1fr));gap:.1rem;margin-bottom:.15rem;font-size:.65rem;font-weight:700;display:grid}.day-picker-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.12rem;display:grid}.day-picker-cell{appearance:none;aspect-ratio:1;width:100%;max-width:2rem;height:auto;min-height:0;font:inherit;cursor:pointer;color:var(--ink);background:0 0;border:0;border-radius:999px;place-items:center;margin-inline:auto;font-size:.78rem;font-weight:600;transition:background .12s,color .12s,box-shadow .12s;display:grid}.day-picker-cell.is-out,.day-picker-cell:disabled{opacity:.22;cursor:default}.day-picker-cell.is-today{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--moss) 35%, transparent)}.day-picker-cell.is-active{background:var(--moss-deep);color:#fff;box-shadow:0 3px 8px color-mix(in srgb, var(--moss) 22%, transparent)}.day-picker-cell:hover:not(:disabled):not(.is-active):not(.is-out){background:color-mix(in srgb, var(--paper) 88%, white)}.day-picker-foot{border-top:1px dashed color-mix(in srgb, var(--moss) 14%, transparent);justify-content:space-between;gap:.5rem;margin-top:.35rem;padding-top:.3rem;font-size:.8rem;display:flex}.auth-card .field input{padding:.8rem .95rem}.toast{left:.75rem;right:.75rem;bottom:max(5.5rem, calc(4.5rem + env(safe-area-inset-bottom)));background:var(--ink);color:#fff;z-index:120;text-align:center;width:auto;max-width:28rem;font-size:var(--text-sm);white-space:normal;overflow-wrap:anywhere;word-break:break-word;pointer-events:auto;border-radius:1.05rem;margin-inline:auto;padding:.85rem 1.15rem;font-weight:550;line-height:1.4;position:fixed;box-shadow:0 12px 30px #2c364838}.toast.is-top{top:max(.85rem, calc(env(safe-area-inset-top) + .55rem));bottom:auto}.toast.is-busy{background:color-mix(in srgb, var(--moss-deep) 88%, #0f1724);justify-content:center;align-items:center;gap:.55rem;display:flex}.toast-pulse{background:color-mix(in srgb, white 85%, var(--moss-bright));border-radius:99px;flex-shrink:0;width:.55rem;height:.55rem;animation:1s ease-in-out infinite toast-pulse}@keyframes toast-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.toast-pulse{opacity:.9;animation:none}}.view-tabs,.mobile-tabs{z-index:1;background:color-mix(in srgb, var(--fog) 62%, white);border:1px solid color-mix(in srgb, var(--moss) 12%, transparent);width:100%;box-shadow:none;-webkit-backdrop-filter:none;border-radius:.85rem;grid-template-columns:1fr 1fr 1fr;gap:.2rem;margin:0 0 1.15rem;padding:.22rem;display:grid;position:relative}.view-tabs button,.mobile-tabs button{appearance:none;font:inherit;cursor:pointer;color:color-mix(in srgb, var(--ink) 60%, transparent);isolation:isolate;background:0 0;border:0;border-radius:.7rem;min-height:2.45rem;padding:.55rem .65rem;font-weight:650;transition:color .2s;position:relative}.view-tab-pill{background:var(--moss);z-index:-1;border-radius:.7rem;position:absolute;inset:0}.view-tab-label{z-index:1;position:relative}.view-tabs button.active,.mobile-tabs button.active{color:#fff;background:0 0}.home-tab-viewport{position:relative;overflow:clip visible}.pane-summary,.pane-moves,.pane-calendar{min-width:0;display:none}.pane-summary.is-active,.pane-moves.is-active,.pane-calendar.is-active{display:block}.pane-moves.is-desktop-companion{display:none}.cal-panel{margin-top:.25rem;overflow-x:clip}.cal-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.cal-title-wrap{text-align:center;flex:1;min-width:0;min-height:3.1rem}.cal-legend{flex-wrap:wrap;gap:.65rem 1rem;margin-bottom:.65rem;font-size:.88rem;display:flex}.cal-leg{align-items:center;gap:.35rem;display:inline-flex}.cal-leg:before{content:"";border-radius:99px;width:.55rem;height:.55rem}.cal-leg-fixed:before{background:var(--moss-deep)}.cal-leg-variable:before{background:var(--amber)}.cal-leg-pending:before{border:1.5px dashed var(--warn);background:0 0}.cal-leg-today:before{background:var(--moss);box-shadow:0 0 0 2px color-mix(in srgb, var(--moss) 28%, transparent)}.cal-month-stats{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.85rem;display:grid}.cal-month-stats>div{background:color-mix(in srgb, var(--sage) 35%, white);border-radius:.85rem;gap:.15rem;padding:.55rem .65rem;display:grid}.cal-month-stats .muted{font-size:.82rem}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.cal-weekday{text-align:center;color:color-mix(in srgb, var(--ink) 55%, transparent);padding:.2rem 0 .35rem;font-size:.78rem;font-weight:600}.cal-day{appearance:none;border:1px solid color-mix(in srgb, var(--moss) 12%, transparent);cursor:pointer;min-height:3.6rem;color:inherit;touch-action:manipulation;background:#ffffffe0;border-radius:.75rem;grid-template-rows:auto auto 1fr;justify-items:center;gap:.1rem;padding:.3rem .25rem .35rem;display:grid}.cal-day.is-out{opacity:.28;cursor:default;background:0 0;border-color:#0000}.cal-day.is-out.is-today{opacity:1}.cal-day.is-range{opacity:1;cursor:pointer}.cal-day.is-today{border-color:var(--moss);background:color-mix(in srgb, var(--moss) 18%, white);box-shadow:0 0 0 2px color-mix(in srgb, var(--moss) 42%, transparent);z-index:1}.cal-day.is-today .cal-day-num{background:var(--moss);color:#fff;border-radius:99px;place-items:center;width:1.6rem;height:1.6rem;font-weight:700;display:grid}.cal-today-tag{letter-spacing:.04em;text-transform:uppercase;color:var(--moss-deep);font-size:.58rem;font-weight:750;line-height:1}.cal-jump-today{margin-top:.2rem;font-size:.82rem;display:inline-block}.cal-day.has-fixed{background:color-mix(in srgb, var(--moss-deep) 10%, white);border-color:color-mix(in srgb, var(--moss-deep) 38%, transparent)}.cal-day.has-fixed .cal-day-num{color:var(--moss-deep);font-weight:750}.cal-day.has-fixed .cal-day-sum{color:var(--moss-deep);font-weight:650}.cal-day.is-today.has-fixed{background:color-mix(in srgb, var(--moss) 18%, white);border-color:var(--moss-deep)}.cal-day.is-today.has-fixed .cal-day-num{background:var(--moss-deep);color:#fff}.cal-day.is-selected{background:color-mix(in srgb, var(--sage) 70%, white);border-color:var(--moss-deep)}.cal-day-num{font-size:.86rem;font-weight:650;font-family:var(--font-display);line-height:1}.cal-dots{gap:.18rem;min-height:.4rem;display:flex}.cal-dots .dot{border-radius:99px;width:.35rem;height:.35rem;display:block}.cal-dots .dot.fixed{background:var(--moss-deep)}.cal-dots .dot.variable{background:var(--amber)}.cal-dots .dot.pending{border:1.5px dashed var(--warn);box-sizing:border-box;background:0 0}.cal-day-sum{color:color-mix(in srgb, var(--ink) 62%, transparent);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.62rem;line-height:1.1;overflow:hidden}.cal-day-detail{border-top:1px dashed color-mix(in srgb, var(--moss) 22%, transparent);margin-top:1rem;padding-top:.85rem}.cal-day-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.65rem;display:flex}.cal-day-detail-head strong{text-transform:capitalize}.cal-day-actions{flex-wrap:wrap;gap:.4rem;display:flex}.cal-day-list .tx-item.is-projected{opacity:.92;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--amber,#b7791f) 28%, transparent)}.cal-day-list .tx-item.is-twin{box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--amber,#b7791f) 55%, transparent)}.cal-hide-proj{justify-self:start;margin-top:.1rem;font-size:.78rem}.cal-twin{background:color-mix(in srgb, var(--amber,#b7791f) 10%, white);border:1px solid color-mix(in srgb, var(--amber,#b7791f) 28%, transparent);border-radius:.95rem;margin:0 0 .85rem;padding:.9rem .95rem 1rem}.cal-twin-compare{gap:.5rem;margin:0 0 .15rem;padding:0;list-style:none;display:grid}.cal-twin-card{border:1px solid color-mix(in srgb, var(--amber,#b7791f) 26%, transparent);background:#ffffffe0;border-radius:.75rem;gap:.18rem;padding:.7rem .75rem;display:grid}.cal-twin-card-tag{letter-spacing:.02em;text-transform:uppercase;color:color-mix(in srgb, var(--amber,#b7791f) 88%, #4a2a00);font-size:.72rem;font-weight:650}.cal-twin-card-label{word-break:break-word;font-size:.92rem;line-height:1.3}.cal-twin-card-meta{color:var(--ink-soft);font-size:.8rem}.cal-twin-banner{text-align:left;border:1px solid color-mix(in srgb, var(--amber,#b7791f) 30%, transparent);background:color-mix(in srgb, var(--amber,#b7791f) 12%, white);width:100%;color:inherit;cursor:pointer;border-radius:.9rem;gap:.15rem;margin:0 0 .85rem;padding:.8rem .95rem;display:grid}.cal-twin-banner strong{font-size:.92rem}.cal-twin-banner span{color:var(--ink-soft);font-size:.8rem}.cal-day.has-twin{box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--amber,#b7791f) 42%, transparent)}.cal-day-list .tx-item.is-settling{box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--moss) 40%, transparent)}.cal-settle{background:color-mix(in srgb, var(--mist) 70%, white);border:1px solid color-mix(in srgb, var(--moss) 14%, transparent);border-radius:.9rem;margin-top:.85rem;padding:.85rem .9rem .95rem}.cal-settle-title{margin:0 0 .3rem;font-weight:650}.cal-settle-hint{margin:0 0 .65rem;font-size:.82rem}.cal-settle-actions{gap:.45rem;margin-top:.75rem;display:grid}.cal-day-overlay{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2c364852;display:grid;position:fixed;inset:0}.cal-day-overlay.is-modal{place-items:center;padding:1.25rem}.cal-day-overlay.is-sheet{place-items:end stretch;padding:0}.cal-day-panel{background:var(--paper);box-shadow:var(--shadow);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;width:min(100%,28rem);max-height:min(85dvh,40rem);padding:1.15rem 1.25rem 1.35rem;overflow:auto}.cal-day-panel.is-modal{border-radius:1.35rem}.cal-day-panel.is-sheet{width:100%;max-width:none;padding-bottom:max(1.35rem, env(safe-area-inset-bottom));border-radius:1.35rem 1.35rem 0 0;max-height:min(88dvh,42rem)}.cal-day-panel-top{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}@media (width>=768px){.home-layout.is-summary{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1.5rem}.home-layout.is-summary .pane-summary,.home-layout.is-summary .pane-moves.is-desktop-companion{display:block}.home-layout.is-calendar,.home-layout.is-moves{grid-template-columns:1fr;max-width:46rem}.period-bar{background:color-mix(in srgb, var(--paper) 88%, white);border:1px solid color-mix(in srgb, var(--moss) 12%, transparent);border-radius:999px;flex-wrap:wrap;gap:.25rem;padding:.25rem;display:inline-flex}.period-main,.period-extra{min-height:2.45rem;box-shadow:none}.grid-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sticky-panel{position:sticky;top:4.25rem}.sheet-backdrop{align-items:center}.sheet{border-radius:1.45rem;width:min(100%,36rem);max-height:min(88dvh,44rem)}.cookie-banner{grid-template-columns:1fr auto;align-items:center;left:max(1.25rem,50vw - 34.75rem);right:max(1.25rem,50vw - 34.75rem)}.fab{right:max(1.25rem,50vw - 34.75rem)}.forecast-hero{grid-template-columns:repeat(3,minmax(0,1fr))}.cal-day{min-height:4.4rem;padding:.4rem .3rem .45rem}.cal-day-sum{font-size:.68rem}.cal-day-panel.is-modal{width:min(100%,32rem)}.auth-shell{width:min(100%,24rem)}.auth-card{max-width:22rem;padding:1.55rem 1.45rem 1.65rem}.view-tabs{width:100%;max-width:28rem;margin-inline:0}}@media (width>=1100px){.app-shell{padding-inline:max(clamp(1.5rem, 3vw, 2.75rem), env(safe-area-inset-left)) max(clamp(1.5rem, 3vw, 2.75rem), env(safe-area-inset-right));padding-top:max(1.75rem, env(safe-area-inset-top))}.home-layout.is-summary{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:1.75rem}.grid-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.view-tabs{width:100%;max-width:22rem;margin-inline:0}.cal-grid{gap:.45rem}.cal-day{border-radius:.9rem;min-height:5.1rem}.cal-day-num{font-size:.95rem}.cal-day-sum{font-size:.72rem}.cal-month-stats{gap:.75rem}.cal-month-stats>div{padding:.7rem .85rem}.cal-day-panel.is-modal{width:min(100%,36rem);max-height:min(82dvh,44rem)}.hero-available{letter-spacing:-.05em}.top-header{margin-bottom:1.35rem}.fab{gap:.65rem}}@media (width<=767px){:root{--hero:clamp(2.55rem, 11vw + .35rem, 3.35rem);--title:clamp(1.25rem, 3vw + .85rem, 1.5rem);--text:1.02rem;--text-sm:.92rem;--touch:2.85rem}.app-shell{padding-left:max(.85rem, env(safe-area-inset-left));padding-right:max(.85rem, env(safe-area-inset-right));padding-bottom:calc(5.25rem + env(safe-area-inset-bottom))}.panel-pad{padding:1.05rem 1rem 1.15rem}.top-header{flex-wrap:nowrap;align-items:center;gap:.5rem;margin-bottom:.7rem}.top-header .brand{font-size:clamp(1.3rem,4vw + .55rem,1.55rem)}.top-actions{flex-wrap:nowrap;gap:.35rem;width:auto;margin-left:auto}.top-import-btn{display:none}.top-import-icon{min-width:var(--touch);min-height:var(--touch);border-radius:999px;padding-inline:.7rem;font-size:1.15rem;font-weight:700;display:inline-flex}.more-label{display:none}.more-icon{display:inline}.more-trigger{min-width:var(--touch);min-height:var(--touch);border-radius:999px;padding-inline:.7rem}.more-mobile-only{display:block}.more-menu{min-width:min(18rem,100vw - 1.5rem);max-height:min(70dvh,28rem);overflow:auto}.period-bar{flex-wrap:unset;background:color-mix(in srgb, var(--paper) 88%, white);border:1px solid color-mix(in srgb, var(--moss) 12%, transparent);border-radius:1rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;margin-bottom:.7rem;padding:.22rem;display:grid;overflow:visible}.period-extra{grid-column:span 1;justify-content:center;width:100%;min-height:2.35rem;padding:.35rem .25rem;font-size:.82rem;display:inline-flex}.period-extra:first-of-type{grid-column:1/2}.period-extra:last-of-type{grid-column:2/4}.period-main{flex:unset;width:100%;min-height:2.45rem;box-shadow:none;justify-content:center;padding:.4rem .3rem;font-size:.9rem}.period-label-full{display:none}.period-label-short{display:inline}.import-hint{display:none}.ux-tips{flex-direction:column;align-items:stretch}.ux-tips .btn{width:100%}.moves-head{align-items:center}.moves-head .btn-chip{flex-shrink:0}.view-tabs,.mobile-tabs{gap:.15rem;margin-bottom:.8rem;padding:.2rem}.view-tabs button,.mobile-tabs button{min-height:2.55rem;padding:.55rem .3rem;font-size:.92rem}.snapshot-strip{gap:.35rem}.snapshot-cell{padding:.65rem .45rem}.snapshot-value{font-size:.95rem}.cash-pill{text-align:left;overflow-wrap:anywhere;width:auto;max-width:100%;margin-left:0}.status-row{align-items:center}.filter-bar{-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.15rem;flex-wrap:nowrap;margin-inline:-.1rem;padding-inline:.1rem;overflow-x:auto}.filter-bar::-webkit-scrollbar{display:none}.filter-chip{flex:none;min-height:2.4rem;padding:.55rem .9rem;font-size:.88rem}.tx-item{gap:.5rem .75rem;padding:.9rem .95rem}.tx-title{font-size:.98rem}.tx-amount{font-size:1.05rem}.grid-metrics{gap:.55rem}.metric-card{padding:.8rem .85rem}.fab{left:auto;right:max(.85rem, env(safe-area-inset-right));bottom:max(.85rem, env(safe-area-inset-bottom));justify-content:flex-end}.fab-income{display:none}.fab .btn{border-radius:999px;flex:none;justify-content:center;min-width:3.35rem;min-height:3.35rem;padding-inline:1rem;font-size:1.05rem;box-shadow:0 12px 28px #3d8aef61}.fab-gasto-label{display:none}.fab-plus{background:0 0;width:auto;height:auto;margin:0;font-size:1.65rem;line-height:1}.toast{top:max(.75rem, calc(env(safe-area-inset-top) + .45rem));border-radius:1rem;width:auto;max-width:none;padding:.9rem 1rem;bottom:auto;left:.75rem;right:.75rem}.toast.is-top{top:max(.75rem, calc(env(safe-area-inset-top) + .45rem));bottom:auto}.entry-sheet{max-height:min(94dvh, calc(var(--keyboard-vh,100dvh) - .5rem))}.entry-amount-input{font-size:clamp(1.85rem,8vw,2.45rem)}.sheet{width:100%;max-height:min(94dvh,100dvh - .5rem);padding:1.15rem 1.15rem max(1.35rem, env(safe-area-inset-bottom));border-radius:1.25rem 1.25rem 0 0}.sheet-backdrop{padding:0;align-items:end;padding-bottom:0}.pace-head,.pace-legend{flex-direction:column;align-items:flex-start;gap:.25rem}.remanente-row,.cat-row,.limit-progress-head{gap:.65rem}.plan-preview,.dual-metrics,.settle-grid,.settle-actions,.plan-observed-grid{grid-template-columns:1fr}.filter-chip,.kind-chip{min-height:2.75rem}.tip-toggle{align-items:center;min-height:2.5rem;display:inline-flex}.status-row{flex-wrap:wrap;align-items:center}.cash-pill{overflow-wrap:anywhere;max-width:100%;margin-left:0}.hero-available{overflow-wrap:anywhere}body{background-attachment:scroll}.cal-head{gap:.45rem}.cal-legend{gap:.45rem .75rem;font-size:.82rem}.cal-month-stats{gap:.4rem}.cal-month-stats>div{padding:.45rem .4rem}.cal-month-stats .muted{font-size:.72rem}.cal-month-stats strong{font-size:.92rem}.cal-grid{gap:.22rem}.cal-weekday{padding-bottom:.2rem;font-size:.68rem}.cal-day{border-radius:.55rem;gap:.05rem;min-height:3.15rem;padding:.22rem .1rem .25rem}.cal-day-num{font-size:.78rem}.cal-dots .dot{width:.28rem;height:.28rem}.cal-day-sum{font-size:.55rem}.forecast-hero,.forecast-grid{grid-template-columns:1fr}.auth-shell{min-height:100dvh}.auth-card{padding:1.35rem 1.2rem 1.5rem}}@media (width<=380px){.cal-day-sum{display:none}.view-tabs button,.mobile-tabs button{padding:.55rem .2rem;font-size:.84rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body.has-cookie-banner{--cookie-stack:8.5rem}body.has-cookie-banner .fab{bottom:calc(max(.75rem, env(safe-area-inset-bottom)) + var(--cookie-stack))}body.has-cookie-banner .toast:not(.is-top){bottom:calc(5.75rem + env(safe-area-inset-bottom) + var(--cookie-stack))}@media (width>=768px){body.has-cookie-banner{--cookie-stack:6.5rem}body.has-cookie-banner .fab{bottom:calc(max(1rem, env(safe-area-inset-bottom)) + var(--cookie-stack))}}
