@font-face{font-family:Mielo Jakarta;src:url("./plus-jakarta-sans-latin-wght-normal-XZSBT77D.woff2") format("woff2");font-style:normal;font-weight:500 700;font-display:swap}@font-face{font-family:Mielo Fraunces;src:url("./mielo-fraunces-600-soft100-GA6QVEZN.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0020,U+0042,U+004D,U+0063,U+0065,U+0068,U+0069,U+006C,U+006E,U+006F,U+0075,U+0076,U+007A}:root{--bg: #F6F7F2;--surface: #FFFFFF;--surface-2: #E9EEE8;--ink: #202A25;--ink-2: #4D6156;--line: #D9E0D9;--action: #365F4B;--on-action: #FFFFFF;--seb: #345FA0;--caro: #855277;--on-person: #FFFFFF;--attention: #865700;--attention-soft: #FFF4DD;--focus: var(--action);--problem: #A12F35;--problem-soft: #FBECEE;--on-problem: #FFFFFF;--info: #006778;--info-soft: #E7F4F6;--line-strong: #78857B;--disabled-bg: #E5E8E2;--disabled-ink: #647067;--action-hover: #2E523F;--action-pressed: #264634;--overlay: rgba(21, 22, 28, .6);--selected: #789080;--on-selected: #17211C;--data-1: #626262;--brand-cream: #FFF8EC;--brand-sauge: #17211C;--font-ui: "Mielo Jakarta", system-ui, -apple-system, "Segoe UI", sans-serif;--font-wordmark: "Mielo Fraunces", Georgia, serif;--font-display: var(--font-ui);--text-xs: .75rem;--text-sm: .8125rem;--text-body: 1rem;--text-subtitle: 1.125rem;--text-title: 1.25rem;--text-screen: 1.75rem;--text-display: 2.5rem;--mascot-sm: 32px;--mascot-md: 40px;--mascot-lg: 96px;--r-lg: 16px;--r-md: 16px;--r-sm: 10px;--shadow: none;--sidebar: 248px}@media(prefers-color-scheme:dark){:root{--bg: #17211C;--surface: #222E27;--surface-2: #303F35;--ink: #EEF4EE;--ink-2: #C0CBC3;--line: #415346;--action: #A8CDB6;--on-action: #17211C;--seb: #A8C4F1;--caro: #DDB2CF;--on-person: #17211C;--attention: #E6C27A;--attention-soft: #3D321D;--focus: var(--action);--problem: #F2A5A9;--problem-soft: #49292D;--on-problem: #17211C;--info: #80DCEA;--info-soft: #183E43;--line-strong: #809387;--disabled-bg: #354038;--disabled-ink: #A6B1A9;--action-hover: #B9D9C5;--action-pressed: #92BDA2;--overlay: rgba(21, 22, 28, .6);--selected: #789080;--on-selected: #17211C;--data-1: #B8B8B8;--brand-cream: #FFF8EC;--brand-sauge: #17211C}}:root{--muted: var(--ink-2);--brand: var(--action);--on-brand: var(--on-action);--brand-soft: var(--selected);--brand-line: var(--selected);--accent: var(--surface-2);--on-accent: var(--ink);--on-accent-muted: var(--ink-2);--on-accent-soft: var(--line);--bar: var(--ink-2);--on-ink: var(--bg);--on-ink-muted: var(--ink-2);--on-ink-soft: var(--line);--on-warn: var(--on-problem);--on-bad: var(--on-problem);--splash-honey: var(--brand-cream);--accent-soft: var(--line);--forecast: var(--attention);--caro-ink: var(--ink);--caro-soft: var(--surface-2);--seb-ink: var(--ink);--seb-soft: var(--surface-2);--good: var(--action);--good-soft: var(--surface-2);--warn: var(--attention);--warn-soft: var(--attention-soft);--bad: var(--problem);--bad-soft: var(--problem-soft);--tint: var(--ink-2);--tint-soft: var(--surface-2)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overscroll-behavior-y:none}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-body);font-weight:500;line-height:1.5;font-synthesis:none;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1}button{font:inherit;color:inherit}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}h1,h2,h3,p{margin:0}.num{font-variant-numeric:lining-nums tabular-nums;letter-spacing:0;white-space:nowrap}input,select,textarea{font-size:max(var(--text-body),16px)}.wordmark,.welcome-title{font-family:var(--font-wordmark);font-weight:600}.bee-disc{display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:50%;background:var(--brand-cream)}.app{display:flex;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;width:var(--sidebar);flex:none;background:var(--surface);padding:28px 20px;display:flex;flex-direction:column;border-right:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;padding:10px;line-height:1}.brand-mark{flex:none;width:var(--mascot-md);height:var(--mascot-md);border-radius:50%;background:var(--brand-cream)}.nav-title{margin:36px 8px 10px;font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.nav{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;border:0;background:none;font-weight:500;color:var(--ink-2);cursor:pointer;text-align:left}.nav-item svg{width:20px;height:20px}.nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-item[aria-current=page]{background:var(--surface-2);color:var(--action)}.sidebar-foot{margin-top:auto;display:flex;align-items:center;padding:8px}.sidebar-foot .avatar+.avatar{margin-left:-8px}.sidebar-names{margin-left:10px;font-weight:600;font-size:var(--text-body)}.main{flex:1;min-width:0;padding:28px 32px 112px;max-width:1280px}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px}.mobile-brand{display:none;align-items:center;gap:8px;font-weight:700;font-size:var(--text-subtitle);letter-spacing:-.03em;margin-bottom:14px}.mobile-brand img{width:30px;height:30px}.eyebrow{font-size:var(--text-sm);color:var(--muted);font-weight:500;margin-bottom:2px}h1{font-size:var(--text-screen);font-weight:700;letter-spacing:-.03em}.month-picker{display:flex;align-items:center;gap:6px;background:var(--surface);border-radius:999px;padding:5px;border:1px solid var(--line);box-shadow:var(--shadow)}.month-picker button{width:36px;height:36px;border-radius:50%;border:0;background:var(--surface-2);display:grid;place-items:center;cursor:pointer}.month-picker button:hover:not(:disabled){background:var(--ink);color:var(--on-ink)}.month-picker button:disabled{opacity:.35;cursor:default}.month-picker button svg{width:18px;height:18px}.month-label{min-width:138px;text-align:center;font-weight:600;text-transform:capitalize}.month-label small{display:block;font-size:var(--text-xs);font-weight:600;color:var(--muted);text-transform:none;letter-spacing:.01em}.month-label small.forecast{color:var(--forecast)}.card{background:var(--surface);border-radius:var(--r-lg);padding:22px;border:1px solid var(--line);box-shadow:var(--shadow)}@media(prefers-color-scheme:dark){.card{border-color:transparent}}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.card-head h2{font-size:var(--text-subtitle);font-weight:700;letter-spacing:-.02em}.card-head .hint{font-size:var(--text-sm);color:var(--muted)}.link-btn{border:0;background:none;color:var(--ink-2);font-size:var(--text-sm);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:0}.grid-overview{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.stack{display:grid;gap:20px}.hero{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.kpi{position:relative;border-radius:var(--r-lg);padding:20px 20px 18px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}.kpi-top{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--ink-2);font-size:var(--text-body)}.kpi-value{font-size:var(--text-display);font-weight:700;margin-top:14px;line-height:1.05}.kpi-value .unit{font-size:var(--text-body);font-weight:600;color:var(--muted);letter-spacing:0}.kpi-sub{margin-top:8px;font-size:var(--text-sm);color:var(--muted)}.kpi-adj{display:inline-block;white-space:nowrap;margin-top:8px;font-size:var(--text-xs);font-weight:600;color:var(--caro-ink);background:var(--caro-soft);border-radius:999px;padding:2px 9px}.kpi.seb .kpi-adj{color:var(--seb-ink);background:var(--seb-soft)}.kpi.total{background:var(--accent);color:var(--on-accent);border-color:transparent}.kpi.total .kpi-top,.kpi.total .kpi-sub,.kpi.total .kpi-value .unit{color:var(--on-accent-muted)}.kpi-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--on-accent-soft)}.kpi-icon svg{width:17px;height:17px}.avatar{width:30px;height:30px;border-radius:50%;display:inline-grid;place-items:center;font-size:var(--text-sm);font-weight:700;color:var(--on-person);border:2px solid var(--surface);flex:none}.avatar.caro{background:var(--caro)}.avatar.seb{background:var(--seb)}.avatar.lg{width:40px;height:40px;font-size:var(--text-body)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 11px;font-size:var(--text-sm);font-weight:600;background:var(--surface-2);color:var(--ink-2);border:0}.chip svg{width:14px;height:14px}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.caro{background:var(--caro-soft);color:var(--caro-ink)}.chip.on-dark{background:var(--on-accent-soft);color:var(--on-accent)}button.chip{cursor:pointer;min-height:44px}.score{display:inline-flex;align-items:center;justify-content:center;min-width:52px;border-radius:999px;padding:3px 9px;font-size:var(--text-xs);font-weight:700;white-space:nowrap}.score.good{background:var(--good-soft);color:var(--good)}.score.mid{background:var(--warn-soft);color:var(--warn)}.score.low{background:var(--bad-soft);color:var(--bad)}.score.label{background:var(--surface-2);color:var(--muted);font-weight:600}.banner{display:flex;align-items:center;gap:16px;border-radius:var(--r-lg);padding:16px 20px;background:var(--caro-soft);color:var(--ink)}.banner-icon{width:40px;height:40px;border-radius:12px;background:var(--surface);color:var(--caro-ink);display:grid;place-items:center;flex:none}.banner-icon svg{width:20px;height:20px}.banner-text{flex:1;min-width:0}.banner-text strong{font-weight:700}.banner-text p{font-size:var(--text-sm);color:var(--ink-2);margin-top:2px}.progress{display:flex;gap:3px;margin-top:10px}.progress i{height:5px;flex:1;border-radius:3px;background:var(--surface-2)}.progress i.on{background:var(--caro)}.banner-amount{font-size:var(--text-title);font-weight:700;color:var(--caro-ink);white-space:nowrap}button.banner{width:100%;border:0;font:inherit;text-align:left;cursor:pointer}.banner.seb{background:var(--seb-soft)}.banner.seb .banner-icon,.banner.seb .banner-amount{color:var(--seb-ink)}.banner.seb .progress i{background:var(--surface-2)}.banner.seb .progress i.on{background:var(--seb)}.bars{display:grid;gap:4px}.bar-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px;margin:0 -8px;border-radius:12px;border:0;background:none;cursor:pointer;text-align:left;width:calc(100% + 16px)}.bar-row:hover,.bar-row:focus-visible{background:var(--surface-2)}.bar-label{display:flex;justify-content:space-between;gap:8px;font-size:var(--text-body);font-weight:600;margin-bottom:6px}.bar-label span:last-child{color:var(--muted);font-weight:500;font-size:var(--text-sm)}.bar-main{display:block;min-width:0}.bar-track{display:block;height:8px;border-radius:4px;background:var(--surface-2);overflow:hidden}.bar-fill{height:100%;border-radius:4px;background:var(--bar);min-width:4px}.bar-track:has(.bar-limit){position:relative;overflow:visible}.bar-limit{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;border-radius:1px;background:var(--ink, currentColor);opacity:.55}.bar-track.warn .bar-fill{background:var(--warn)}.bar-track.over .bar-fill{background:var(--bad)}.bar-value{font-weight:700;min-width:92px;text-align:right}.bar-value small{display:block;font-size:var(--text-xs);color:var(--muted);font-weight:500}.cat-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex:none}.cat-icon svg{width:18px;height:18px}.tint-amber,.tint-green,.tint-coral,.tint-teal,.tint-pink,.tint-yellow{background:var(--tint-soft);color:var(--tint)}.people-rows{display:grid;gap:12px}.person-row{display:flex;align-items:center;gap:12px}.person-row .grow{flex:1}.person-row .name{font-weight:600}.person-row .meta{font-size:var(--text-sm);color:var(--muted)}.person-row .amount{font-weight:700}.split{display:flex;height:10px;border-radius:5px;overflow:hidden;gap:2px;margin:18px 0 8px}.split .caro{background:var(--caro)}.split .seb{background:var(--seb)}.split-legend{display:flex;justify-content:space-between;font-size:var(--text-sm);font-weight:600}.split-legend .caro{color:var(--caro-ink)}.split-legend .seb{color:var(--seb-ink)}.watch{display:grid;gap:2px}.watch-item{display:flex;align-items:flex-start;gap:12px;padding:10px;margin:0 -10px;border-radius:12px;border:0;background:none;text-align:left;cursor:pointer;width:calc(100% + 20px)}.watch-item:hover{background:var(--surface-2)}.watch-dot{width:28px;height:28px;border-radius:9px;background:var(--warn-soft);color:var(--warn);display:grid;place-items:center;flex:none}.watch-dot svg{width:15px;height:15px}.watch-item strong{display:block;font-size:var(--text-body);font-weight:600}.watch-item span{font-size:var(--text-sm);color:var(--muted)}.changes{display:grid;gap:10px}.change{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:var(--text-body)}.change .delta{font-weight:700}.delta.up{color:var(--bad)}.delta.down{color:var(--good)}.day-word{display:flex;align-items:center;gap:4px;padding:2px 2px 2px 16px;border-radius:var(--r-md);background:var(--info-soft);color:var(--ink);font-size:var(--text-sm)}.day-word p{flex:1;min-width:0;padding:10px 0}.day-word strong{font-weight:600}.day-word .link-btn{flex:none;margin:0;padding:0 8px}.word-close{flex:none;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:var(--r-sm);background:none;color:var(--muted);cursor:pointer}.word-close svg{width:18px;height:18px}.card-total{font-size:var(--text-subtitle);font-weight:700;white-space:nowrap}.card-total small{font-size:var(--text-sm);font-weight:600;color:var(--muted)}#overview-budget>.chips{margin-bottom:12px}#overview-budget .hint-text .link-btn{margin-left:4px}#overview-budget .bar-label span:last-child{display:none}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px}.search{flex:1 1 260px;display:flex;align-items:center;gap:10px;background:var(--surface);border-radius:999px;padding:0 16px;height:44px;border:1px solid var(--line);box-shadow:var(--shadow)}.search svg{width:18px;height:18px;color:var(--muted);flex:none}.search input{border:0;outline:none;flex:1;font:inherit;background:none;min-width:0}.search:focus-within{outline:2px solid var(--ink);outline-offset:2px}.filters{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}.filters:has(>button,>.haptic-wrap){width:fit-content;max-width:100%;margin-left:0;margin-right:0;padding:3px;border-radius:999px;background:var(--surface-2)}.filters button{border:0;background:none;padding:0 14px;min-height:44px;border-radius:999px;font-size:var(--text-sm);font-weight:600;color:var(--ink-2);cursor:pointer;white-space:nowrap}.filters button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #15161c2e}@media(prefers-color-scheme:dark){.filters:has(>button,>.haptic-wrap){background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}.filters button[aria-pressed=true]{background:var(--surface-2)}}.summary-strip{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:baseline;margin-bottom:16px;color:var(--ink-2);font-size:var(--text-body)}.summary-strip strong{font-size:var(--text-title);color:var(--ink);font-weight:700}.groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.group{padding:18px 14px 10px}.group-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:0 8px 12px;border-bottom:1px solid var(--line);margin-bottom:4px}.group-head h2{font-size:var(--text-body);font-weight:700;flex:1;min-width:0;overflow-wrap:anywhere;letter-spacing:-.01em}.group-head .num{font-weight:700}.group-head .num small{font-weight:500;color:var(--muted);font-size:var(--text-xs)}.row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 8px;border-radius:12px;border:0;background:none;width:100%;text-align:left;cursor:pointer}.row:hover,.row:focus-visible{background:var(--surface-2)}.row+.row{box-shadow:0 -1px 0 var(--line)}.row:hover+.row,.row:hover{box-shadow:none}.row-name{font-weight:600;font-size:var(--text-body);display:flex;align-items:center;gap:6px;min-width:0}.row-name .t{overflow-wrap:break-word;min-width:0}.row-name .flag{width:7px;height:7px;border-radius:50%;background:var(--warn);flex:none}.row-freq{font-size:var(--text-sm);color:var(--muted);margin-top:1px;overflow-wrap:break-word}.row-amount{font-weight:700;text-align:right;white-space:nowrap}.row-amount.missing{color:var(--warn);font-weight:600;font-size:var(--text-sm)}.group.projects{background:transparent;box-shadow:none;border:1.5px dashed var(--line)}.group.projects .row .row-name{color:var(--ink-2)}.sort{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px;max-width:100%;min-width:0;font-size:var(--text-sm);color:var(--ink-2)}.sort select{font:inherit;font-size:16px;min-height:44px;padding:0 12px;max-width:100%;min-width:0;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink)}.charges-toolbar{align-items:flex-start}#expense-filters{flex:1;min-width:0}.charges-filter-options{margin-bottom:0}#expense-filters:not([open]) .charges-filter-options{display:none}.charges-filter-options .search{flex-basis:100%}.charges-filter-options .filters{flex-wrap:wrap;gap:8px}.charges-filter-options .filters:has(>button,>.haptic-wrap){width:100%;padding:0;overflow:visible;background:none;box-shadow:none}.charges-filter-options .filters button{background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.charges-filter-options .filters button[aria-pressed=true]{background:var(--action);color:var(--on-action);box-shadow:none}@media(max-width:860px){#expense-filters[open]{flex-basis:100%}body:has(#expense-filters) .topbar .month-label{min-width:0;font-size:var(--text-body)}.charges-filter-options .filters{margin:0}}@media(max-width:360px){body:has(#expense-filters) .groups .row{grid-template-columns:auto auto}body:has(#expense-filters) .groups .row>span:first-child{grid-column:1 / -1}body:has(#expense-filters) .groups .group-head h2{flex-basis:min-content}}.other-debit .grow{flex:1 1 100%;overflow-wrap:anywhere}.other-debit .link-select{margin-left:auto}.sort{display:grid;grid-template-columns:7.5em minmax(0,1fr);width:min(100%,23rem)}.sort select{width:100%}.sheet-backdrop{position:fixed;inset:0;background:var(--overlay);z-index:40;animation:fade .2s ease}.sheet{position:fixed;z-index:50;top:12px;right:12px;bottom:12px;width:420px;max-width:calc(100vw - 24px);background:var(--surface);border-radius:var(--r-lg);box-shadow:0 20px 60px #15161c2e;overflow-y:auto;padding:24px;animation:slide-in .24s cubic-bezier(.2,.8,.2,1)}.sheet-close{position:absolute;top:18px;right:18px;width:36px;height:36px;border-radius:50%;border:0;background:var(--surface-2);cursor:pointer;display:grid;place-items:center}.sheet-close svg{width:18px;height:18px}.sheet-title{display:flex;align-items:center;gap:12px;margin:4px 48px 20px 0}.sheet-title h2{font-size:var(--text-title);font-weight:700;letter-spacing:-.02em;line-height:1.2}.sheet-title p{font-size:var(--text-sm);color:var(--muted)}.sheet-hero{background:var(--surface-2);border-radius:var(--r-md);padding:18px}.sheet-hero .big{font-size:var(--text-screen);font-weight:700}.sheet-hero .big.num{white-space:normal}.sheet-hero .big .unit{font-size:var(--text-body);color:var(--muted);font-weight:600;letter-spacing:0}.sheet-hero p{font-size:var(--text-body);color:var(--ink-2);margin-top:6px}.sheet-hero .formula{font-size:var(--text-sm);color:var(--muted);margin-top:4px}.split-line{display:flex;gap:8px;margin-top:14px}.split-line span{flex:1;border-radius:10px;padding:8px 10px;font-size:var(--text-sm);font-weight:600}.split-line .caro{background:var(--caro-soft);color:var(--caro-ink)}.split-line .seb{background:var(--seb-soft);color:var(--seb-ink)}.split-line b{display:block;font-size:var(--text-body);font-weight:700}.dl{display:grid;grid-template-columns:120px 1fr;gap:12px 16px;margin:20px 0;font-size:var(--text-body)}.dl dt{color:var(--muted)}.dl dd{margin:0;font-weight:600}.note-box{border-radius:var(--r-md);border:1px solid var(--line);padding:14px 16px;font-size:var(--text-body);color:var(--ink-2)}.note-box+.note-box{margin-top:10px}.note-box h3{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px}.timeline{display:grid;gap:6px}.timeline div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 8px}.timeline .num{white-space:normal}.sheet-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.btn{flex:1;min-height:46px;padding:8px 18px;border-radius:999px;border:0;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--brand);color:var(--on-brand)}.btn.secondary{background:var(--surface-2);color:var(--ink)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn svg{width:18px;height:18px}a.btn{text-decoration:none}.btn.small{flex:none;min-height:44px;padding:6px 14px;font-size:var(--text-sm)}.btn.small svg{width:16px;height:16px}.soon{text-align:center;font-size:var(--text-sm);color:var(--muted);margin-top:10px}.form{display:grid;gap:14px}.field{display:grid;gap:6px;min-width:0}.field>span{font-size:var(--text-sm);font-weight:600;color:var(--ink-2)}.field>span i{font-style:normal;font-weight:500;color:var(--muted)}.field>span i:before{content:"("}.field>span i:after{content:")"}.field input,.field select,.field textarea{width:100%;min-width:0;font:inherit;font-size:max(var(--text-body),16px);color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:10px 12px;min-height:44px;outline:none}.field textarea{resize:vertical;line-height:1.45}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--focus);box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--focus)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fieldset{border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px 14px;margin:0;display:grid;gap:12px}.fieldset legend{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:0 6px}.check-field{display:flex;align-items:center;gap:10px;font-size:var(--text-body);color:var(--ink-2)}.check-field input{width:18px;height:18px;accent-color:var(--ink)}.hint-text{font-size:var(--text-sm);color:var(--muted)}.form-error{background:var(--bad-soft);color:var(--bad);border-radius:var(--r-sm);padding:10px 12px;font-size:var(--text-body);font-weight:600}.form .sheet-actions{margin-top:4px}.income-form{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.income-form h3{font-size:var(--text-body);font-weight:700}.notice{display:flex;gap:12px;border-radius:var(--r-md);padding:14px 16px;margin-bottom:16px;font-size:var(--text-body)}.notice svg{width:20px;height:20px;flex:none;margin-top:1px}.notice p{margin-top:4px}.notice.warn{background:var(--warn-soft);color:var(--warn)}.add-btn{flex:none;height:44px;padding:0 18px}.toast{pointer-events:none;position:fixed;z-index:60;left:50%;transform:translate(-50%);bottom:24px;max-width:calc(100vw - 32px);background:var(--ink);color:var(--on-ink);padding:12px 18px;border-radius:var(--r-md);font-size:var(--text-body);font-weight:600;box-shadow:0 10px 30px #15161c40;animation:fade .2s ease}.toast.warn{background:var(--warn);color:var(--on-warn)}.toast.error{background:var(--bad);color:var(--on-bad)}.toast-undo{pointer-events:auto;margin:-12px -10px -12px 6px;min-height:44px;padding:0 12px;border:0;border-radius:999px;background:none;color:inherit;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.fatal{max-width:520px;margin:32px auto;text-align:center}.fatal h2{font-size:var(--text-subtitle);margin-bottom:8px}.loading{padding:40px 0;text-align:center}.history{display:grid}.history-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:var(--text-body)}.history-row:first-child{border-top:0}.history-row .grow{flex:1;min-width:0}.history-row .when{display:block;font-size:var(--text-sm);color:var(--muted)}.history-row .link-btn{flex:none}.note-box .link-btn{display:inline-flex;align-items:center;gap:6px;margin-top:10px}.note-box .link-btn svg{width:15px;height:15px}.btn.danger{color:var(--bad)}.ptr{position:fixed;z-index:35;top:calc(8px + env(safe-area-inset-top));left:50%;width:40px;height:40px;border-radius:50%;background:var(--surface);color:var(--muted);box-shadow:0 4px 16px #15161c24;display:grid;place-items:center;transform:translate(-50%,-56px);opacity:0;pointer-events:none}.ptr svg{width:20px;height:20px}.ptr.visible{opacity:1}.ptr.ready{color:var(--ink)}.ptr.loading{opacity:1;color:var(--ink);transform:translate(-50%,24px)!important;transition:transform .2s ease}.ptr.loading svg{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card .notice{background:none;border-radius:0;padding:12px 0 0;margin:12px 0 0;border-top:1px solid var(--line)}.fab{flex:none;align-self:center;min-height:44px;padding:0 18px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface);color:var(--ink);display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:transform .15s ease,background-color .2s ease}.fab img{display:none}.fab:hover{background:var(--surface-2)}.fab:active{transform:scale(.96)}.voice-input{position:relative}.voice-input textarea{padding-right:60px;min-height:96px}.voice-input input{padding-right:52px}.voice-input input+.mic{right:4px;bottom:4px;width:36px;height:36px}.chat-log{display:flex;flex-direction:column;gap:8px;margin:4px 0 12px}.chat-msg{max-width:88%;padding:10px 14px;border-radius:var(--r-md);font-size:var(--text-body);line-height:1.45;overflow-wrap:anywhere}.chat-msg.mielo{align-self:flex-start;background:var(--surface-2);color:var(--ink);border-bottom-left-radius:4px}.chat-msg.me{align-self:flex-end;background:var(--selected);color:var(--on-selected);border-bottom-right-radius:4px}.chat-msg.pending{color:var(--ink-2)}.chat-msg:has(.sheet-actions){max-width:100%;align-self:stretch}.chat-log>.hint-text{margin:0}.chat-msg .link-btn{display:inline-flex;align-items:center;gap:6px;margin-top:6px}.chat-msg .link-btn svg{width:15px;height:15px}.chat-msg .note-box,.chat-msg .notice,.chat-msg .sheet-actions{margin-top:10px}.mic{position:absolute;right:8px;bottom:8px;width:44px;height:44px;border-radius:50%;border:0;background:var(--brand);color:var(--on-brand);display:grid;place-items:center;cursor:pointer}.mic svg{width:20px;height:20px}.mic.listening{background:var(--bad);color:var(--on-bad);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 8px var(--bad-soft)}}.plan{margin:0;padding-left:18px;display:grid;gap:6px;color:var(--ink)}.impact{width:100%;border-collapse:collapse;font-size:var(--text-body);margin-top:4px}.impact td{padding:6px 0;border-top:1px solid var(--line)}.impact td.r{text-align:right;white-space:nowrap}.impact .up{color:var(--bad)}.impact .down{color:var(--good)}.thinking{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:var(--text-body);margin-top:16px}.thinking svg{width:18px;height:18px;animation:spin .8s linear infinite}#voice-result:not(:empty){margin-top:18px;display:grid;gap:12px}.ask-card{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}.ask-field{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-height:56px;padding:4px 4px 4px 16px;border-radius:28px;background:var(--surface);border:1px solid var(--line-strong)}.ask-field:focus-within{outline:2px solid var(--focus);outline-offset:2px}.ask-icon{flex:none;display:grid;place-items:center;color:var(--ink-2)}.ask-icon svg{width:20px;height:20px}.ask-field input{flex:1 1 0;width:auto;min-width:0;min-height:44px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:var(--text-body);padding:0 6px}.ask-field input:focus{outline:none}.ask-field input::placeholder{color:var(--ink-2);opacity:1}.ask-btn{flex:none;width:44px;height:44px;border-radius:50%;border:0;display:grid;place-items:center;background:transparent;color:var(--ink-2);cursor:pointer}.ask-btn.send{background:var(--surface-2);color:var(--ink)}.ask-btn svg{width:20px;height:20px}.ask-btn:hover{background:var(--surface-2);color:var(--ink)}.ask-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.ask-chips .chip{flex:none}.ask-field .form-error{flex-basis:100%;padding:0 12px 8px}@media(max-width:359px){.ask-icon{display:none}}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:none}.nav-item:focus-visible,.tabbar button:focus-visible,.fab:focus-visible,.btn.primary:focus-visible{outline-color:var(--ink);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}table.sr-only{table-layout:fixed;border-collapse:collapse}table.sr-only caption{position:absolute;width:1px;height:1px;overflow:hidden;white-space:normal}table.sr-only th,table.sr-only td{padding:0;white-space:normal;overflow-wrap:anywhere}.month-picker button,.sheet-close{width:44px;height:44px}.link-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0;margin:-12px 0}.check-field input{width:22px;height:22px}h1,.card-head h2,.group-head h2,.sheet-title h2,.fatal h2{font-family:var(--font-ui);letter-spacing:-.01em}.brand,.mobile-brand{font-family:var(--font-wordmark);font-weight:600;letter-spacing:-.01em}h1{font-weight:600;font-size:var(--text-screen);letter-spacing:-.02em}.card-head h2,.group-head h2,.sheet-title h2{font-weight:600;font-size:var(--text-title)}.brand{font-size:var(--text-screen)}.mobile-brand{font-weight:600;font-size:var(--text-title)}.empty{text-align:center;color:var(--muted);padding:28px 16px}.settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.table{width:100%;border-collapse:collapse;font-size:var(--text-body)}.table th{text-align:left;font-size:var(--text-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:0 0 10px}.table td{padding:11px 0;border-top:1px solid var(--line)}.table td.r,.table th.r{text-align:right}.check{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--good)}.check.ko{color:var(--bad)}.check.changed{color:var(--warn)}.check svg{width:16px;height:16px}.rules{display:grid;gap:12px;font-size:var(--text-body);color:var(--ink-2);padding-left:18px;margin:0}.tint-none{background:var(--surface-2);color:var(--ink-2)}.tint-warn{background:var(--warn-soft);color:var(--warn)}.cat-icon.sm{width:32px;height:32px;border-radius:10px}.cat-icon.sm svg{width:16px;height:16px}.tx-list{display:grid}.tx-row{grid-template-columns:auto minmax(0,1fr) auto}.row-amount.credit,.sheet-hero .big.credit{color:var(--good)}.note-dot{width:7px;height:7px;border-radius:50%;background:var(--muted);flex:none}.tx-day{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:16px 8px 4px}.tx-day:first-child{margin-top:6px}.card-intro{margin:-6px 0 10px}.sub-title{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:22px 0 8px}.filters.in-card{margin:0 0 6px}.filters button svg{width:14px;height:14px;vertical-align:-2px}.chip.ok{background:var(--good-soft);color:var(--good)}.chip.over{background:var(--bad-soft);color:var(--bad)}.env-main{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}.env-main .kpi-value{margin-top:0;font-size:var(--text-display)}.envelope.over .env-main .kpi-value{color:var(--bad)}.env-side{display:flex;gap:24px;margin:0}.env-side dt{font-size:var(--text-sm);color:var(--muted)}.env-side dd{margin:0;font-weight:700;font-size:var(--text-body)}.gauge{height:12px;border-radius:6px;background:var(--surface-2);overflow:hidden;margin:16px 0 10px}.gauge span{display:block;height:100%;border-radius:6px;background:var(--ink-2);min-width:4px}.gauge.warn span{background:var(--warn)}.gauge.over span{background:var(--bad)}.gauge.none span{background:var(--muted)}.env-status{font-size:var(--text-sm);color:var(--ink-2);margin:-4px 0 6px}.env-explain{font-size:var(--text-sm);color:var(--muted);margin-bottom:12px}.meta-r{font-size:var(--text-sm);font-weight:600;text-align:right}.total-line{border-top:1px solid var(--line);padding-top:12px;margin-top:14px}.avatar.none{background:var(--surface-2);color:var(--ink-2)}.avatar.none svg{width:15px;height:15px}.muted{color:var(--muted);font-weight:600}.checks{list-style:none;padding:0;margin:18px 0;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;font-size:var(--text-body)}.checks li{display:flex;gap:10px;align-items:flex-start;min-width:0}.checks li>span{min-width:0;overflow-wrap:break-word;hyphens:auto}.checks svg{width:18px;height:18px;flex:none;margin-top:1px}.checks .ok svg{color:var(--good)}.checks .warn svg{color:var(--warn)}.checks .ko{color:var(--bad)}.dl dd.raw{font-weight:500;font-size:var(--text-sm);overflow-wrap:anywhere}#suggest-box:not(:empty){margin-bottom:16px}#suggest-box>.btn{width:100%;justify-content:center}.note-box.suggest{border-color:var(--ink-2)}.note-box.suggest p+p{margin-top:6px}.note-box.suggest .suggest-title{margin-top:14px}.note-box.suggest>.hint-text:last-child{margin-top:10px}.batch-row{min-width:0}.batch-row legend{max-width:100%;overflow-wrap:anywhere}.batch-row .check-field input{flex:none}.batch-row .check-field,.batch-row p{overflow-wrap:anywhere}.batch-details{min-width:0;font-size:var(--text-sm);color:var(--ink-2);overflow-wrap:anywhere}.batch-details summary{cursor:pointer;padding:8px 0}.batch-details ul{margin:6px 0 0;padding-left:20px;display:grid;gap:8px}.spend-hero .card-head{margin-bottom:4px}.spend-amount{font-size:var(--text-display);font-weight:700;line-height:1.15;letter-spacing:0}.spend-amount.over{color:var(--bad)}.spend-hero .gauge{margin:12px 0 8px}.spend-hero .sheet-actions,.envelope .sheet-actions{margin-top:12px}.spend-hero .sheet-actions .btn,.envelope .sheet-actions .btn{flex:none}@media(max-width:400px){.spend-amount{font-size:var(--text-screen)}}.registry{list-style:none;margin:0;padding:0;display:grid;gap:8px;color:var(--ink)}.sheet-actions.center{justify-content:center}.empty strong{display:block;color:var(--ink);font-size:var(--text-body);margin-bottom:6px}.empty p{max-width:440px;margin:0 auto}.toolbar .hint-text{flex:1;min-width:min(220px,100%)}.toolbar .btn{max-width:100%;text-align:center}.stack{min-width:0;grid-template-columns:minmax(0,1fr)}.card-head{flex-wrap:wrap}.chips .chip{white-space:normal;text-align:left}.tabbar{display:none}@keyframes fade{0%{opacity:0}}@keyframes slide-in{0%{transform:translate(24px);opacity:0}}@keyframes slide-up{0%{transform:translateY(40px);opacity:0}}@media(max-width:1180px){.grid-overview{grid-template-columns:minmax(0,1fr)}.grid-overview>.stack:last-child{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media(max-width:1000px){.groups,.settings{grid-template-columns:minmax(0,1fr)}}@media(max-width:860px){.sidebar{display:none}.main{padding:18px 16px calc(var(--tabbar-h, 72px) + 24px)}html{scroll-padding-bottom:calc(var(--tabbar-h, 72px) + 16px)}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title bee" "month month";align-items:center;gap:10px 12px;margin-bottom:16px}.topbar-title{grid-area:title;min-width:0}.topbar .eyebrow{display:none}.topbar .month-picker{grid-area:month}.topbar .fab{grid-area:bee;width:48px;height:48px;padding:0;justify-content:center;border-color:var(--line);background:var(--brand-cream)}.topbar .fab img{display:block;width:var(--mascot-sm);height:var(--mascot-sm)}.topbar .fab span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}h1{font-size:var(--text-screen)}.month-picker{justify-content:space-between;padding:0;box-shadow:none}.month-label small,.topbar .month-picker[style*="visibility: hidden"]{display:none}.hero{grid-template-columns:1fr 1fr;gap:12px}.kpi{padding:16px}.kpi.total{grid-column:1 / -1;order:-1}.kpi-value{font-size:var(--text-screen);margin-top:10px}.kpi.total .kpi-value{font-size:var(--text-screen)}.kpi-sub{font-size:var(--text-xs)}.card{padding:18px}.banner{flex-wrap:wrap;padding:16px}.banner-amount{font-size:var(--text-subtitle)}.stack,.grid-overview{gap:14px}.grid-overview>.stack:last-child{grid-template-columns:minmax(0,1fr)}.bar-value{min-width:0}.bar-label span:last-child{display:none}.toolbar{margin-bottom:14px}.filters{width:100%;margin:0 -16px;padding:4px 16px;width:calc(100% + 32px)}.groups{gap:14px}.group{padding:14px 8px 6px}.tabbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;z-index:30;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding:6px 0 calc(6px + env(safe-area-inset-bottom))}.tabbar>.haptic-wrap{display:grid;min-width:0}.tabbar button{border:0;background:none;color:var(--ink-2);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;min-height:52px;padding:2px 0 4px;font-size:var(--text-sm);line-height:1.15;font-weight:600;cursor:pointer;min-width:0;text-align:center}.tabbar button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);letter-spacing:-.01em}.tabbar button svg{width:24px;height:24px;padding:4px 16px;box-sizing:content-box}.tabbar button[aria-current=page]{color:var(--action)}.sheet{inset:auto 0 0;width:100%;max-width:none;max-height:88vh;border-radius:24px 24px 0 0;padding:20px 18px calc(24px + env(safe-area-inset-bottom));animation:slide-up .26s cubic-bezier(.2,.8,.2,1)}.sheet{overscroll-behavior:contain;touch-action:pan-y}.sheet:before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:var(--line);margin:-8px auto 14px}.dl{grid-template-columns:110px 1fr}.toast{left:12px;right:12px;transform:none;max-width:none;bottom:calc(var(--tabbar-h, 72px) + 8px);text-align:left}}@media(max-width:360px){.tabbar button svg{padding:4px 10px}}@media(max-width:380px){.kpi-value{font-size:var(--text-screen)}.field-row{grid-template-columns:1fr}}.foyer-tabs{margin-bottom:-4px}.agenda-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.calendar-toolbar{justify-content:flex-start}.calendar-toolbar .month-picker{flex:0 1 auto;min-width:0;max-width:100%}.calendar-toolbar>.btn-wrap{flex:none}.calendar-toolbar+.filters{margin:0}@media(max-width:860px){body:has(.calendar-toolbar) .topbar{grid-template-areas:"title bee"}}.agenda-step{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:center}.agenda-step strong{font-size:var(--text-body)}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.cal-head{text-align:center;font-size:var(--text-sm);font-weight:600;color:var(--muted);padding-bottom:4px}.cal-cell{border:0;background:var(--surface-2);color:var(--ink);border-radius:12px;min-height:48px;padding:6px 0;display:flex;flex-direction:column;align-items:center;gap:4px;font:inherit;font-size:var(--text-sm);font-weight:600;letter-spacing:-.02em;cursor:pointer;min-width:0}.cal-cell.out{background:none;color:var(--muted);font-weight:500}.cal-cell.today{box-shadow:inset 0 0 0 2px var(--ink)}.cal-cell[aria-pressed=true]{background:var(--action);color:var(--on-action)}.cal-cell[aria-pressed=true] .agenda-dot{box-shadow:0 0 0 1.5px var(--on-action)}.cal-cell.today[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--on-action),0 0 0 2px var(--action)}.cal-dots{display:flex;gap:3px;min-height:6px}.agenda-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--muted);flex:none}.agenda-dot.event{background:var(--seb)}.agenda-dot.charge{background:var(--warn)}.agenda-dot.paid{background:var(--good)}.agenda-dot.income{background:var(--caro)}.cal-legend{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:12px;font-size:var(--text-xs)}.cal-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.agenda-list{display:grid}.agenda-item{display:flex;align-items:center;gap:10px;padding:10px 0;border:0;border-top:1px solid var(--line);background:none;color:var(--ink);font:inherit;font-size:var(--text-body);text-align:left;width:100%;min-width:0;cursor:pointer}div.agenda-item{cursor:default}.agenda-item .grow{flex:1;min-width:0;overflow-wrap:anywhere}.agenda-item small{display:block;color:var(--muted);font-size:var(--text-sm)}.agenda-item svg{width:16px;height:16px;color:var(--muted);flex:none}.agenda-week{display:grid;gap:4px}.week-day{border-top:1px solid var(--line);padding:6px 0}.week-day:first-child{border-top:0}.week-day .agenda-item{border-top:0;padding:6px 0}.week-label{border:0;background:none;font:inherit;font-weight:700;color:var(--ink);padding:8px 0;cursor:pointer;text-transform:capitalize}.week-day.today .week-label{text-decoration:underline;text-underline-offset:4px}.agenda-day h2{text-transform:none}.aisle-title{font-size:var(--text-sm);font-weight:700;color:var(--muted);margin:16px 0 4px;text-transform:uppercase;letter-spacing:.04em}.course-list{list-style:none;margin:0;padding:0}.course{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--line);font-size:var(--text-body);min-width:0}.course .grow{flex:1;min-width:0;overflow-wrap:anywhere}.course small{color:var(--muted);font-size:var(--text-sm)}.course.done strong{text-decoration:line-through;color:var(--muted);font-weight:500}.course-check{width:44px;height:44px;margin:-7px;flex:none;position:relative;border:0;background:none;color:var(--on-action);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.course-check:before{content:"";position:absolute;inset:7px;border-radius:50%;border:2px solid var(--line-strong)}.course-check[aria-pressed=true]:before{background:var(--action);border-color:var(--action)}.course-check svg{position:relative;width:16px;height:16px}.icon-link{width:40px;height:40px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:none;color:var(--ink-2);cursor:pointer}.icon-link svg{width:18px;height:18px}.course-form .field-row{align-items:end}.recipes{display:grid;gap:12px}.recipe-ready svg{width:16px;height:16px;vertical-align:-3px;margin-right:4px}.history-row>.btn-wrap{flex:none}.qr-box{display:grid;place-items:center;padding:8px 0}.qr-box svg{width:min(240px,70vw);height:auto;background:#fff;border-radius:8px}.transfer-copy .history-row .when{word-break:break-all}.recipe{border-top:1px solid var(--line);padding-top:12px}.recipe:first-child{border-top:0;padding-top:0}.recipe h3{font-size:var(--text-body);font-weight:700}.recipe.done h3{color:var(--muted)}.recipe .card-head{margin-bottom:6px}.recipe details{font-size:var(--text-body);color:var(--ink-2)}.recipe summary{cursor:pointer;padding:8px 0;font-weight:600}.recipe ul,.recipe ol{margin:4px 0 8px;padding-left:20px;display:grid;gap:4px}.recipe .sheet-actions{margin-top:10px;flex-wrap:wrap;align-items:center}.plan-actions{margin:6px 0 4px;flex-wrap:wrap;align-items:center}.plan-actions [aria-pressed=true]{background:var(--surface-2);color:var(--ink);border-color:var(--action)}.cook-portions{display:flex;align-items:center;gap:12px;margin:8px 0;font-weight:600}.cook-portions output{min-width:2ch;text-align:center;font-size:var(--text-title);font-weight:700}.cook-portions .btn{min-width:44px;min-height:44px;justify-content:center}.cook-subtitle{font-size:var(--text-body);font-weight:700;margin:12px 0 6px}.cook-ingredients{list-style:none;padding:0;margin:0;display:grid;gap:6px}.cook-ingredients li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.cook-step{font-size:var(--text-title);line-height:1.45;margin:16px 0}.cook-tm6{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}.cook-tm6 span{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-weight:600}.cook-timers:empty{display:none}.cook-timers{display:grid;gap:6px;margin:8px 0}.cook-timer{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:12px;background:var(--surface-2)}.cook-timer strong{font-size:var(--text-title);font-variant-numeric:tabular-nums;margin-left:auto}.cook-timer.ring{background:var(--ink);color:var(--on-ink)}.cook-timer.ring .link-btn{color:var(--on-ink)}.equipment{border:0;padding:0;margin:0;min-width:0}.equipment legend{font-size:var(--text-sm);font-weight:600;color:var(--ink-2);margin-bottom:8px}.equipment .check-field{min-height:44px}.recipe-pick{border:0;border-top:1px solid var(--line);padding:10px 0 0;margin:0;min-width:0}.recipe-pick .hint-text{overflow-wrap:anywhere}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.row-link{flex:1;min-width:0;border:0;background:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.row-link:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:6px}.sub-details{border-top:1px solid var(--line)}.sub-details>summary{cursor:pointer;padding:12px 0;font-size:var(--text-body);font-weight:600;color:var(--ink-2)}.sub-details[open]>summary{padding-bottom:4px}.notice .grow{flex:1;min-width:0}.other-debit{flex-wrap:wrap}.link-select select{font:inherit;font-size:16px;padding:6px 8px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);max-width:11rem;min-height:32px}.switch-field input[switch]{width:auto;height:auto}.haptic-wrap{display:grid}.haptic-wrap>*{grid-area:1 / 1}.haptic-overlay{width:100%;height:100%;margin:0;opacity:.001;z-index:1;cursor:pointer;-webkit-tap-highlight-color:transparent}.haptic-overlay:disabled{pointer-events:none}.btn-wrap{flex:1}.btn-wrap>.btn{width:100%}#suggest-box>.btn-wrap{width:100%}.splash{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:var(--bg);transition:opacity .45s ease,visibility .45s ease}.splash.out{opacity:0;visibility:hidden}.splash.out .splash-inner{transform:scale(1.04)}.splash-inner{display:grid;justify-items:center;gap:6px;transition:transform .45s ease;padding:24px;text-align:center}.splash-stage{position:relative;width:180px;height:170px}.splash-comb{position:absolute;left:50%;top:52%;width:132px;height:120px;translate:-50% -50%;clip-path:polygon(25% 3%,75% 3%,100% 50%,75% 97%,25% 97%,0 50%);background:var(--splash-honey);opacity:.55;animation:comb-breathe 2.4s ease-in-out infinite}.splash-bee{position:absolute;left:50%;top:50%;width:132px;height:132px;margin:-66px 0 0 -66px;overflow:visible;animation:bee-hover 1.3s ease-in-out infinite alternate;filter:none}.splash-bee g{transform-box:fill-box}.bee-aile.gauche{transform-origin:96% 60%;animation:wing-left .14s ease-in-out infinite alternate}.bee-aile.droite{transform-origin:4% 64%;animation:wing-right .14s ease-in-out infinite alternate}.bee-antenne.gauche{transform-origin:100% 100%;animation:antenna-left 1.6s ease-in-out infinite alternate}.bee-antenne.droite{transform-origin:0% 100%;animation:antenna-right 1.6s .4s ease-in-out infinite alternate}.bee-oeil{transform-origin:50% 60%;animation:blink 3.4s ease-in-out infinite}.bee-bouche{transform-origin:50% 40%;animation:smile 3.4s ease-in-out infinite}.bee-bras.droite{transform-origin:40% 8%;animation:wave 2.8s ease-in-out infinite}.bee-bras.gauche{transform-origin:70% 8%;animation:sway 1.4s ease-in-out infinite alternate}.bee-patte.gauche{transform-origin:50% 5%;animation:dangle-left 1.3s ease-in-out infinite alternate}.bee-patte.droite{transform-origin:40% 5%;animation:dangle-right 1.3s .3s ease-in-out infinite alternate}@keyframes bee-hover{0%{transform:translateY(2px)}to{transform:translateY(-4px)}}@keyframes wing-left{0%{transform:rotate(-4deg)}to{transform:rotate(20deg) scaleY(.86)}}@keyframes wing-right{0%{transform:rotate(4deg)}to{transform:rotate(-20deg) scaleY(.86)}}@keyframes antenna-left{0%{transform:rotate(-9deg)}to{transform:rotate(7deg)}}@keyframes antenna-right{0%{transform:rotate(8deg)}to{transform:rotate(-8deg)}}@keyframes blink{0%,88%,to{transform:scaleY(1)}92%{transform:scaleY(.1)}96%{transform:scaleY(1)}}@keyframes smile{0%,40%,to{transform:scale(1)}55%,80%{transform:scale(1.25,1.35)}}@keyframes wave{0%,45%,to{transform:rotate(0)}55%{transform:rotate(-28deg)}65%{transform:rotate(-8deg)}75%{transform:rotate(-28deg)}85%{transform:rotate(0)}}@keyframes sway{0%{transform:rotate(-3deg)}to{transform:rotate(4deg)}}@keyframes dangle-left{0%{transform:rotate(-6deg)}to{transform:rotate(5deg)}}@keyframes dangle-right{0%{transform:rotate(6deg)}to{transform:rotate(-5deg)}}.splash-name{font-family:var(--font-display);font-size:var(--text-display);font-weight:600;letter-spacing:-.02em;color:var(--ink);animation:rise .6s .15s cubic-bezier(.2,.8,.2,1) both}.splash-text{font-size:var(--text-body);color:var(--muted);min-height:1.4em;animation:rise .6s .3s cubic-bezier(.2,.8,.2,1) both}.splash-text.swap{animation:text-swap .35s ease both}.splash-drops{display:flex;gap:8px;margin-top:10px}.splash-drops i{width:9px;height:9px;border-radius:50% 50% 50% 0;rotate:-45deg;background:var(--splash-honey);animation:drop 1.1s ease-in-out infinite}.splash-drops i:nth-child(2){animation-delay:.15s}.splash-drops i:nth-child(3){animation-delay:.3s}@keyframes comb-breathe{50%{opacity:.8;transform:scale(1.06)}}@keyframes drop{0%,to{transform:translateY(0);opacity:.45}40%{transform:translateY(-7px);opacity:1}}@keyframes text-swap{0%{opacity:0;transform:translateY(6px)}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@keyframes grow{0%{transform:scaleX(0)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,16px) scale(.96)}}@keyframes toast-up{0%{opacity:0;transform:translateY(12px)}}@media(max-width:860px){.toast{animation-name:toast-up}}#view.enter .card,#view.enter .toolbar,#view.enter .summary-strip,#view.enter .notice,#view.enter .banner,#view.enter .empty{animation:rise .42s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i, 0) * 45ms)}#view.enter-month .card,#view.enter-month .summary-strip{animation:rise .3s cubic-bezier(.2,.8,.2,1) both}#view.enter .bar-fill,#view.enter .gauge span,#view.enter-month .bar-fill,#view.enter-month .gauge span{transform-origin:left center;animation:grow .7s .12s cubic-bezier(.2,.8,.2,1) both}.month-label.next{animation:month-next .3s cubic-bezier(.2,.8,.2,1)}.month-label.prev{animation:month-prev .3s cubic-bezier(.2,.8,.2,1)}@keyframes month-next{0%{opacity:0;transform:translate(14px)}}@keyframes month-prev{0%{opacity:0;transform:translate(-14px)}}.btn,.tabbar button,.month-picker button,.nav-item,.fab,.chip,.row,.tx-row,.bar-row,.filters button{transition:transform .14s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease}.btn:active,.tabbar button:active,.month-picker button:active:not(:disabled),.fab:active,.filters button:active,.chip:active,.haptic-wrap:active>.btn,.haptic-wrap:active>button:not(:disabled){transform:scale(.96)}.row:active,.tx-row:active,.bar-row:active{transform:scale(.99)}.tabbar button[aria-current=page] svg{animation:tab-pop .35s cubic-bezier(.2,.8,.2,1.4)}@keyframes tab-pop{40%{transform:scale(1.18) translateY(-1px)}}.toast{animation:toast-in .3s cubic-bezier(.2,.8,.2,1)}.sub-details[open]>:not(summary){animation:rise .25s ease both}.dialog-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:var(--overlay);animation:fade .18s ease}.dialog-backdrop[hidden]{display:none}.dialog{width:min(400px,100%);background:var(--surface);border-radius:var(--r-lg);padding:24px 22px 20px;text-align:center;box-shadow:0 24px 60px #15161c4d;animation:dialog-in .26s cubic-bezier(.2,.8,.2,1.2)}.dialog h2{font-family:var(--font-display);font-size:var(--text-title);font-weight:600;letter-spacing:-.01em;line-height:1.25}.dialog p{margin-top:8px;font-size:var(--text-body);color:var(--ink-2);line-height:1.45}.dialog .sheet-actions{margin-top:20px}.dialog-icon{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:16px;margin-bottom:12px;background:var(--good-soft);color:var(--good)}.dialog-icon.danger{background:var(--bad-soft);color:var(--bad)}.dialog-icon svg{width:24px;height:24px}.btn.danger-solid{background:var(--bad);color:var(--on-bad)}@keyframes dialog-in{0%{opacity:0;transform:translateY(10px) scale(.95)}}.kpi-value.bad{color:var(--bad)}.trend-rows{display:grid;gap:2px}.trend-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;width:calc(100% + 16px);margin:0 -8px;padding:10px 8px;border:0;border-radius:12px;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.trend-row:hover,.trend-row:focus-visible{background:var(--surface-2)}.trend-row.current{background:var(--surface-2)}.trend-month{font-weight:600;font-size:var(--text-body);text-transform:capitalize}.trend-month small{display:block;font-size:var(--text-sm);font-weight:500;color:var(--muted);text-transform:none}.trend-main{display:block;min-width:0}.trend-track{position:relative;display:block;height:8px;border-radius:4px;background:var(--surface-2)}.trend-row.current .trend-track{background:var(--surface)}.trend-track:after{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:var(--line)}.trend-fill{position:absolute;top:0;bottom:0;border-radius:4px;min-width:3px}.trend-fill.pos,.trend-fill.neg{background:var(--data-1)}.trend-meta{display:flex;flex-wrap:wrap;gap:0 10px;margin-top:5px;font-size:var(--text-sm);color:var(--muted)}.trend-meta span{white-space:nowrap}.trend-value{font-weight:700;text-align:right;min-width:92px}.trend-value.bad{color:var(--bad)}.trend-hausse,.trend-baisse,.trend-stable{color:var(--ink-2)!important}.trend-cats .bar-label span:last-child{white-space:nowrap}.bar-row.static{cursor:default}.bar-row.static:hover{background:none}@media(max-width:860px){.trend-cats .bar-label span:last-child{display:inline}.trend-value{min-width:0}}@media(max-width:420px){.card{padding:16px}.table{font-size:var(--text-sm)}.table .check{font-size:0;gap:0}}
