:root{--accent-h: 268;--accent: oklch(.55 .18 var(--accent-h));--accent-soft: oklch(.96 .03 var(--accent-h));--accent-soft-hover: oklch(.91 .05 var(--accent-h));--accent-softer: oklch(.985 .012 var(--accent-h));--accent-strong: oklch(.42 .2 var(--accent-h));--accent-fg: #ffffff;--month-h: 250;--month: oklch(.56 .17 var(--month-h));--month-strong: oklch(.45 .19 var(--month-h));--month-soft: oklch(.95 .045 var(--month-h));--month-softer: oklch(.975 .022 var(--month-h));--bg: oklch(.985 .004 270);--bg-elev: #ffffff;--bg-sidebar: oklch(.992 .003 270);--surface: #ffffff;--surface-2: oklch(.975 .004 270);--border: oklch(.925 .006 270);--border-strong: oklch(.88 .008 270);--divider: oklch(.95 .005 270);--text: oklch(.2 .02 270);--text-2: oklch(.38 .015 270);--text-3: oklch(.48 .015 270);--text-muted: oklch(.55 .012 270);--pos: oklch(.62 .14 155);--pos-soft: oklch(.96 .04 155);--neg: oklch(.62 .18 25);--neg-soft: oklch(.97 .03 25);--danger: oklch(.45 .17 27);--danger-hover: oklch(.4 .17 27);--warn: oklch(.74 .14 70);--warn-soft: oklch(.97 .04 70);--info: oklch(.62 .14 240);--info-soft: oklch(.96 .04 240);--ana: oklch(.62 .16 340);--ana-soft: oklch(.97 .03 340);--leo: oklch(.55 .16 230);--leo-soft: oklch(.96 .03 230);--cat-bg-delivery: oklch(.97 .035 40);--cat-bg-restaurantes: oklch(.97 .035 50);--cat-bg-mercado: oklch(.97 .035 145);--cat-bg-transporte: oklch(.97 .03 230);--cat-bg-vestuario: oklch(.97 .035 320);--cat-bg-beleza: oklch(.97 .035 350);--cat-bg-saude: oklch(.97 .035 20);--cat-bg-casa: oklch(.97 .035 70);--cat-bg-pet: oklch(.97 .03 60);--cat-bg-eletronicos: oklch(.97 .03 265);--cat-bg-marketplace: oklch(.97 .035 85);--cat-bg-assinaturas: oklch(.97 .035 290);--cat-bg-games: oklch(.97 .035 300);--cat-bg-lazer: oklch(.97 .035 330);--cat-bg-viagens: oklch(.97 .035 235);--cat-bg-telefonia: oklch(.97 .035 200);--cat-bg-servicos: oklch(.96 .015 250);--cat-bg-tarifas: oklch(.96 .02 250);--cat-bg-outros: oklch(.96 .01 270);--shadow-sm: 0 1px 2px oklch(.2 .02 270 / .04);--shadow-md: 0 1px 2px oklch(.2 .02 270 / .04), 0 4px 14px oklch(.2 .02 270 / .05);--shadow-lg: 0 1px 2px oklch(.2 .02 270 / .04), 0 12px 32px oklch(.2 .02 270 / .07);--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 22px;--pad: 24px;--gap: 24px;--sp-0: 0px;--sp-1: 4px;--sp-2: 8px;--sp-3: 16px;--sp-4: 24px;--sp-5: 32px;--sp-6: 40px;--sp-7: 48px;--sp-8: 64px;--fs-display: 48px;--fs-h1: 32px;--fs-h2: 20px;--fs-h3: 18px;--fs-h4: 16px;--fs-h5: 14px;--fs-body-lg: 16px;--fs-body: 14px;--fs-body-sm: 12px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-extrabold: 800;--font-ui: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-display: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ease: cubic-bezier(.25, .1, .25, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--dur: .3s;--dur-fast: .5s;--dur-enter: .5s}.ds-display{font-family:var(--font-display);font-size:var(--fs-display);font-weight:var(--fw-extrabold);letter-spacing:-.03em;line-height:1.05}.ds-h1{font-family:var(--font-display);font-size:var(--fs-h1);font-weight:var(--fw-bold);letter-spacing:-.02em;line-height:1.12}.ds-h2{font-family:var(--font-display);font-size:var(--fs-h2);font-weight:var(--fw-bold);letter-spacing:-.01em;line-height:1.2}.ds-h3{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:var(--fw-semibold);line-height:1.25}.ds-h4{font-family:var(--font-display);font-size:var(--fs-h4);font-weight:var(--fw-semibold);line-height:1.3}.ds-h5{font-family:var(--font-display);font-size:var(--fs-h5);font-weight:var(--fw-semibold);line-height:1.3}.ds-body-lg{font-family:var(--font-ui);font-size:var(--fs-body-lg);font-weight:var(--fw-regular);line-height:1.5}.ds-body{font-family:var(--font-ui);font-size:var(--fs-body);font-weight:var(--fw-regular);line-height:1.45}.ds-body-sm{font-family:var(--font-ui);font-size:var(--fs-body-sm);font-weight:var(--fw-regular);line-height:1.4}[data-theme=dark]{--bg: oklch(.16 .012 270);--bg-elev: oklch(.2 .014 270);--bg-sidebar: oklch(.18 .013 270);--surface: oklch(.205 .014 270);--surface-2: oklch(.235 .015 270);--border: oklch(.3 .014 270);--border-strong: oklch(.36 .016 270);--divider: oklch(.27 .013 270);--text: oklch(.97 .005 270);--text-2: oklch(.78 .012 270);--text-3: oklch(.62 .012 270);--text-muted: oklch(.5 .01 270);--accent: oklch(.7 .16 var(--accent-h));--accent-soft: oklch(.3 .08 var(--accent-h));--accent-soft-hover: oklch(.36 .1 var(--accent-h));--accent-softer: oklch(.24 .04 var(--accent-h));--month: oklch(.74 .15 var(--month-h));--month-strong: oklch(.8 .14 var(--month-h));--month-soft: oklch(.3 .08 var(--month-h));--month-softer: oklch(.24 .045 var(--month-h));--pos-soft: oklch(.3 .08 155);--neg-soft: oklch(.3 .1 25);--warn-soft: oklch(.3 .08 70);--info-soft: oklch(.3 .08 240);--ana-soft: oklch(.28 .06 340);--leo-soft: oklch(.28 .06 230);--cat-bg-delivery: oklch(.3 .05 40);--cat-bg-restaurantes: oklch(.3 .05 50);--cat-bg-mercado: oklch(.3 .05 145);--cat-bg-transporte: oklch(.3 .04 230);--cat-bg-vestuario: oklch(.3 .05 320);--cat-bg-beleza: oklch(.3 .05 350);--cat-bg-saude: oklch(.3 .05 20);--cat-bg-casa: oklch(.3 .05 70);--cat-bg-pet: oklch(.3 .04 60);--cat-bg-eletronicos: oklch(.3 .04 265);--cat-bg-marketplace: oklch(.3 .05 85);--cat-bg-assinaturas: oklch(.3 .05 290);--cat-bg-games: oklch(.3 .05 300);--cat-bg-lazer: oklch(.3 .05 330);--cat-bg-viagens: oklch(.3 .05 235);--cat-bg-telefonia: oklch(.3 .05 200);--cat-bg-servicos: oklch(.28 .02 250);--cat-bg-tarifas: oklch(.28 .025 250);--cat-bg-outros: oklch(.28 .012 270);--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 1px 2px rgba(0,0,0,.3), 0 4px 14px rgba(0,0,0,.3);--shadow-lg: 0 1px 2px rgba(0,0,0,.3), 0 12px 32px rgba(0,0,0,.4)}[data-density=compact]{--pad: 16px;--gap: 14px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-ui);background:var(--bg);color:var(--text-2);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.app-shell{display:grid;grid-template-columns:96px 1fr;height:100vh;overflow:hidden;background:#fbfbfb}[data-theme=dark] .app-shell{background:#0d0f16}.sidebar{background:var(--bg-sidebar);width:64px;margin:16px 0 16px 16px;border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:16px 0;display:flex;flex-direction:column;align-items:center;gap:8px;position:sticky;top:16px;height:calc(100vh - 32px);overflow:hidden}.sidebar[data-profile=leo]{background:#092b44;border-right-color:#304b61;--sidebar-bg: oklch(.28 .06 245);--text: #ffffff;--text-2: oklch(.86 .03 245);--text-3: oklch(.74 .03 245);--text-muted: oklch(.66 .03 245);--border: #6186a1;--surface: #325670;--surface-2: oklch(.44 .06 245);--divider: oklch(.42 .05 245)}.sidebar[data-profile=ana]{background:#4a1a33;border-right-color:#704258;--sidebar-bg: oklch(.3 .08 350);--text: #ffffff;--text-2: oklch(.88 .04 350);--text-3: oklch(.76 .04 350);--text-muted: oklch(.68 .04 350);--border: #8a5c75;--surface: #743d5b;--surface-2: oklch(.46 .08 350);--divider: oklch(.44 .07 350)}.sidebar[data-profile=al]{background:#32204d;border-right-color:#584974;--sidebar-bg: oklch(.29 .08 300);--text: #ffffff;--text-2: oklch(.87 .04 300);--text-3: oklch(.75 .04 300);--text-muted: oklch(.67 .04 300);--border: oklch(.46 .06 300);--surface: oklch(.36 .07 300);--surface-2: oklch(.41 .07 300);--divider: oklch(.43 .06 300)}.brand{display:flex;align-items:center;justify-content:center;padding:0 0 12px;flex-shrink:0}.nav-section{display:flex;flex-direction:column;align-items:center;gap:6px}.nav-item{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:var(--r-md);color:var(--text-2);cursor:pointer;border:1px solid transparent;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);text-decoration:none;-webkit-user-select:none;user-select:none;position:relative}.nav-item:hover{background:color-mix(in oklab,var(--sidebar-bg, var(--bg-sidebar)),black 18%);color:var(--text-2)}.nav-item.active{background:var(--accent);color:#fff;border-color:transparent;box-shadow:var(--shadow-sm)}.nav-item.active .nav-icon{color:#fff}.nav-icon{width:20px;height:20px;color:var(--text-3);flex-shrink:0}.nav-item .badge{position:absolute;top:2px;right:2px;font-size:9px;padding:0 5px;border-radius:999px;background:var(--accent);color:#fff;font-weight:600}.nav-tooltip{position:fixed;z-index:500;background:#1e212b;color:#fff;font-size:12.5px;font-weight:600;padding:6px 11px;border-radius:var(--r-sm);white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-md);opacity:0;transform:translateY(-50%) translate(-4px);transition:opacity var(--dur-fast) var(--ease),top .12s ease,transform var(--dur-fast) var(--ease)}.nav-tooltip.show{opacity:1;transform:translateY(-50%) translate(0)}.couple-card{width:40px;height:40px;border-radius:var(--r-md);background:none;border:none;display:grid;place-items:center;flex-shrink:0}.avatar{width:30px;height:30px;border-radius:999px;border:2px solid var(--surface);display:grid;place-items:center;font-size:11.5px;font-weight:600;color:#fff}.avatar.ana{background:var(--ana)}.avatar.leo{background:var(--leo)}.avatar.al{background:#5b3291}.couple-card.is-button{cursor:pointer;transition:background var(--dur-fast) var(--ease)}.couple-card.is-button:hover{background:color-mix(in oklab,var(--sidebar-bg, var(--bg-sidebar)),black 18%)}.avatar-brand{width:30px;height:30px;border-radius:var(--r-md);display:grid;place-items:center;font-size:11.5px;font-weight:700;color:#fff}.avatar-brand.leo{background:linear-gradient(135deg,#007ca5,#005572);background:linear-gradient(135deg,color(xyz 0.14 0.174 0.552),color(xyz 0.068 0.078 0.356));box-shadow:0 3px 8px #007ca54d;box-shadow:0 3px 8px oklch(.55 .18 230 / .3)}.avatar-brand.ana{background:linear-gradient(135deg,#b13b92,#9e1d80,#87006b);background:linear-gradient(135deg,#b13b92,#9e1d80,color(xyz 0.132 0.061 0.152));box-shadow:0 3px 8px #b13b924d}.avatar-brand.al{background:linear-gradient(135deg,#8451c9,#611ba7);box-shadow:0 3px 8px #8451c94d}.profile-gate{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:52px;z-index:1000;padding:24px}.profile-gate h1{font-family:var(--font-display);font-size:44px;font-weight:800;color:var(--text-2);letter-spacing:-.03em;margin:0;text-align:center}.profile-gate-list{display:flex;gap:44px;flex-wrap:wrap;justify-content:center}.profile-gate-footer{position:absolute;bottom:28px;left:0;right:0;display:flex;justify-content:center}.profile-pick{display:flex;flex-direction:column;align-items:center;gap:16px;background:none;border:none;cursor:pointer;padding:0}.profile-pick .face{width:132px;height:132px;border-radius:44px;display:grid;place-items:center;font-family:var(--font-display);font-size:56px;font-weight:800;color:#fff;transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.profile-pick:hover .face,.profile-pick:focus-visible .face{transform:scale(1.06);box-shadow:0 12px 34px #0000004d,0 0 0 10px #ffffff24}.profile-pick .pname{font-size:18px;font-weight:600;color:var(--text-2);transition:color .18s}.main-area{display:flex;flex-direction:column;min-width:0;overflow-y:auto;height:100vh;scrollbar-gutter:stable}.topbar{display:none}.topbar h1{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.02em;margin:0;color:var(--text-2)}.topbar .sub{color:var(--text-3);font-size:13px;margin-top:2px}.topbar-spacer{flex:1}.iconbtn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--surface);border:1px solid var(--border);color:var(--text-2);cursor:pointer}.iconbtn:hover{color:var(--text-2)}.iconbtn:disabled{opacity:.4;cursor:not-allowed}.row-action{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:var(--r-sm);border:none;background:transparent;color:var(--text-3);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.row-action:hover{background:var(--surface-2);color:var(--text-2)}.row-action.edit:hover{background:var(--accent-softer);color:var(--accent)}.row-action.danger:hover{background:var(--neg-soft);color:var(--neg)}.row-action.accent{background:var(--accent-soft);color:var(--accent)}.row-action.accent:hover{background:var(--accent-soft-hover);color:var(--accent)}.iconbtn.has-dot{position:relative}.iconbtn.has-dot:after{content:"";position:absolute;top:7px;right:8px;width:7px;height:7px;border-radius:99px;background:var(--neg);border:2px solid var(--surface)}.content{padding:24px 24px 60px;display:flex;flex-direction:column;gap:var(--gap);max-width:1480px;width:100%;margin-inline:auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:4px}.page-head h2{font-family:var(--font-display);font-size:32px;font-weight:700;letter-spacing:-.02em;margin:0;color:var(--accent)}.page-head p{color:var(--text-3);font-size:13.5px;margin:4px 0 0}.page-icon{width:52px;height:52px;flex-shrink:0;border-radius:var(--r-lg);display:grid;place-items:center;background:var(--accent);box-shadow:0 4px 12px oklch(.55 .18 var(--accent-h) / .3)}.page-icon .nav-icon{width:26px;height:26px;color:#fff}.month-hero{display:flex;flex-direction:column;gap:18px;margin-bottom:4px;padding-top:4px}.month-hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.month-hero-actions-tabs,.month-hero-actions{flex-wrap:wrap}.month-hero h1{font-family:var(--font-display);font-size:72px;font-weight:800;letter-spacing:-.04em;line-height:.95;margin:0;color:var(--text-2);display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;transition:color var(--dur)}.month-hero h1 .year{font-size:36px;font-weight:500;color:var(--text-3);letter-spacing:-.02em}.month-hero h1 .month-name{display:inline-block;position:relative;color:var(--month);transition:color var(--dur)}.month-hero .greeting{font-size:13.5px;color:var(--text-2);margin-top:10px;font-weight:500}.month-hero .greeting b{color:var(--text-2);font-weight:700}.month-hero .couple-line{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--text-2);letter-spacing:-.01em;margin-top:4px}.month-hero .couple-line .amp{color:var(--text-3);font-weight:500;margin:0 6px}.month-hero-row2{display:flex;align-items:center;justify-content:space-between;gap:16px}.month-list{display:flex;align-items:stretch;flex:1;min-width:0;gap:6px;padding:6px 2px;overflow-x:auto;scrollbar-width:none}.month-list::-webkit-scrollbar{display:none}.month-current-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid oklch(.82 .05 var(--tab-hue, 268) / .6);background-color:oklch(.96 .04 var(--tab-hue, 268));border-radius:var(--r-sm);padding:10px 14px;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-display);font-size:14px;font-weight:700;color:var(--text);cursor:pointer}[data-theme=dark] .month-current-card{background-color:oklch(.3 .06 var(--tab-hue, 268));color:oklch(.85 .05 var(--tab-hue, 268))}.month-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1199;background:#12161f73;opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease)}.month-sheet-backdrop.open{opacity:1;pointer-events:auto}.month-sheet{position:fixed;z-index:1200;left:0;right:0;bottom:0;max-height:70vh;overflow-y:auto;background:var(--surface);border-radius:16px 16px 0 0;box-shadow:var(--shadow-lg);padding:var(--sp-2) var(--sp-2) calc(var(--sp-2) + env(safe-area-inset-bottom,0px));transform:translateY(100%);transition:transform var(--dur) var(--ease)}.month-sheet.open{transform:translateY(0)}.opcoes-sidesheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1199;background:#12161f73;opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease)}.opcoes-sidesheet-backdrop.open{opacity:1;pointer-events:auto}.opcoes-sidesheet{position:fixed;z-index:1200;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow-y:auto;background:var(--surface);padding:calc(var(--sp-4) + env(safe-area-inset-top,0px)) var(--sp-4) calc(var(--sp-4) + env(safe-area-inset-bottom,0px));transform:translate(100%);transition:transform var(--dur) var(--ease)}.opcoes-sidesheet.open{transform:translate(0)}.opcoes-sidesheet .card-title{font-size:22px}.opcoes-sidesheet>.row:first-child{padding-bottom:var(--sp-3);margin-bottom:var(--sp-3)!important;border-bottom:1px solid var(--divider)}.opcoes-month-btn{justify-content:space-between;font-weight:700}.opcoes-month-btn .mi-chevron{display:inline-flex;color:var(--text-3)}.opcoes-back{font-weight:700;color:var(--accent)}.opcoes-back .mi-icon{color:var(--accent)}.month-pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border:1px solid oklch(.82 .05 var(--tab-hue, 268) / .6);font-family:var(--font-display);font-size:12.5px;font-weight:600;color:var(--text-2);cursor:pointer;white-space:nowrap;border-radius:var(--r-sm);background-color:oklch(.96 .04 var(--tab-hue, 268));transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease);flex-shrink:0;overflow:visible}.month-pill:hover{transform:translateY(-1px);background-color:oklch(.9 .06 var(--tab-hue, 268))}.month-pill.active{background-color:oklch(.88 .1 var(--tab-hue, 268));color:oklch(.25 .1 var(--tab-hue, 268));border-color:oklch(.55 .18 var(--tab-hue, 268));box-shadow:0 2px 8px oklch(.55 .18 var(--tab-hue, 268) / .25)}[data-theme=dark] .month-pill{background-color:oklch(.3 .06 var(--tab-hue, 268));color:oklch(.85 .05 var(--tab-hue, 268))}[data-theme=dark] .month-pill:hover{background-color:oklch(.38 .08 var(--tab-hue, 268))}[data-theme=dark] .month-pill.active{background-color:oklch(.45 .13 var(--tab-hue, 268));color:oklch(.97 .04 var(--tab-hue, 268));border-color:oklch(.65 .16 var(--tab-hue, 268))}@keyframes monthShimmer{0%{opacity:0;transform:translateY(8px);filter:blur(4px)}60%{opacity:.8;filter:blur(0)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.month-content-anim{animation:monthShimmer var(--dur) cubic-bezier(.2,.6,.2,1)}@keyframes monthTitleSwap{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.month-title-anim{animation:monthTitleSwap var(--dur) cubic-bezier(.2,.6,.2,1)}.card{background:var(--surface);border:none;box-shadow:var(--shadow-md);border-radius:var(--r-lg);padding:var(--pad);display:flex;flex-direction:column;gap:var(--sp-3);position:relative;min-width:0}.card.tight{padding:18px;gap:10px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.card-title{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--accent);letter-spacing:-.018em;margin:0;line-height:1.2}.card-title strong{color:inherit;font-weight:700}.card-title.sm{font-size:15px;font-weight:700}.card-sub{font-size:12px;color:var(--text-3);margin-top:8px;font-weight:500}.card-sub-stats{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px}.card-sub-stats span{font-size:12px;color:var(--text-3);font-weight:500;white-space:nowrap}.dashboard .card-title{color:var(--month);transition:color var(--dur)}.dash-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);align-items:stretch}.dash-grid>*{min-width:0}.dash-grid .dash-full{grid-column:1 / -1}.card.metas-highlight{background:linear-gradient(135deg,var(--month) 0%,var(--month-strong) 100%);box-shadow:0 6px 22px oklch(.55 .18 var(--month-h) / .22)}.card.metas-highlight,.card.metas-highlight .card-title,.card.metas-highlight .card-sub,.card.metas-highlight span,.card.metas-highlight .btn{color:var(--accent-fg)!important}.kpi-value{font-family:var(--font-display);font-size:32px;font-weight:700;letter-spacing:-.025em;color:var(--text-2);line-height:1.05;display:inline-flex;align-items:baseline;gap:4px}.kpi-value .currency{font-size:14px;color:var(--text-3);margin-right:4px;font-family:var(--font-ui);font-weight:600}.kpi-value .cents{font-size:14px;color:var(--text-3);font-weight:600}.kpi-delta{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500}.kpi-delta.pos{color:var(--pos)}.kpi-delta.neg{color:var(--neg)}.bar{height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden;position:relative}.bar>i{display:block;height:100%;background:var(--accent);border-radius:99px}.bar.thin{height:4px}.bar.green>i{background:var(--pos)}.bar.red>i{background:var(--neg)}.bar.warn>i{background:var(--warn)}.bar-stack{height:10px;display:flex;border-radius:99px;overflow:hidden;background:var(--surface-2)}.bar-stack>span{display:block;height:100%}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 8px;border-radius:99px;font-size:11.5px;font-weight:600;border:1px solid var(--border);background:var(--surface);color:var(--text-2);white-space:nowrap}.badge.ok{background:var(--pos-soft);border-color:transparent}.badge.ok .dot{background:var(--pos)}.badge.pending{background:var(--warn-soft);border-color:transparent}.badge.pending .dot{background:var(--warn)}.badge.todo{background:var(--surface-2)}.badge.todo .dot{background:var(--text-muted)}.badge.info{background:var(--info-soft);border-color:transparent}.badge.info .dot{background:var(--info)}.badge.accent{background:var(--accent-soft);border-color:transparent}.badge.accent .dot{background:var(--accent)}.badge.neutral{background:var(--surface-2)}.badge.neutral .dot{background:var(--text-3)}.badge.ana{background:var(--ana-soft);border-color:transparent}.badge.ana .dot{background:var(--ana)}.badge.leo{background:var(--leo-soft);border-color:transparent}.badge.leo .dot{background:var(--leo)}.badge .dot{width:7px;height:7px;border-radius:99px;background:currentColor;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 14px;min-height:40px;border-radius:var(--r-md);font-size:13px;font-weight:500;line-height:1.2;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-2);white-space:nowrap;transition:background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease);font-family:inherit;text-decoration:none;box-sizing:border-box}.btn:hover{background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:var(--accent-fg);border-color:transparent;box-shadow:0 3px 10px oklch(.55 .18 var(--accent-h) / .18)}.btn.primary:hover{filter:brightness(.95)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--surface-2)}.btn.secondary{background:transparent;color:var(--accent);border-color:var(--accent);transition:background var(--dur-fast) var(--ease)}.btn.secondary:hover{background:var(--accent-soft-hover)}.btn.secondary.tone-ana{color:var(--ana);border-color:var(--ana)}.btn.secondary.tone-leo{color:var(--leo);border-color:var(--leo)}.btn.primary.tone-ana{background:var(--ana);box-shadow:none}.btn.primary.tone-leo{background:var(--leo);box-shadow:none}.btn.contextual{background:transparent;border-color:transparent;color:var(--text-2);padding-left:0;padding-right:0}.btn.contextual:hover{background:transparent;color:var(--accent)}.btn.contextual.danger:hover{color:var(--neg);background:transparent;border-color:transparent}.btn.danger{background:transparent;color:var(--text-2);border-color:transparent}.btn.danger:hover{background:var(--neg-soft);color:var(--neg);border-color:var(--neg)}.btn.danger.primary{background:var(--neg);color:#fff;border-color:transparent}.btn.danger.primary:hover{background:#c92f33}.btn.danger.strong{background:transparent;color:var(--text-2);border-color:transparent}.btn.danger.strong:hover{background:var(--neg-soft);border-color:var(--danger-hover);color:var(--danger-hover)}.btn.danger.strong svg{color:inherit;stroke:currentColor}.btn.sm{padding:5px 10px;font-size:12px;border-radius:8px;min-height:40px}.btn.lg{padding:11px 18px;font-size:14px}.btn.block{width:100%;justify-content:center}.btn:disabled{opacity:.5;cursor:not-allowed}.btn .ico{width:14px;height:14px}.ds-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:#12161f73;display:flex;align-items:center;justify-content:center;padding:var(--sp-4);opacity:0;transition:opacity var(--dur) var(--ease)}.ds-modal-overlay.show{opacity:1}.ds-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);width:100%;max-width:520px;max-height:90vh;overflow:auto;transform:translateY(56px);transition:transform var(--dur-enter) var(--ease-out),opacity var(--dur-enter) var(--ease-out);opacity:0}.ds-modal-overlay.show .ds-modal{opacity:1}.ds-modal-overlay.show .ds-modal{transform:translateY(0)}.ds-modal-head{padding:var(--sp-4) var(--sp-4) var(--sp-2);display:flex;align-items:flex-start;gap:var(--sp-2)}.ds-modal-icon{width:40px;height:40px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.ds-modal-title{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:var(--fw-bold);margin:0}.ds-modal-sub{font-size:var(--fs-body-sm);color:var(--text-3);margin-top:var(--sp-1)}.ds-modal-body{padding:var(--sp-2) var(--sp-4) var(--sp-2)}.ds-modal-foot{padding:var(--sp-3) var(--sp-4) var(--sp-4);display:flex;justify-content:flex-end;gap:var(--sp-2)}.cat-chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--text-2)}.cat-chip .emoji{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;font-size:14px;flex-shrink:0}.tbl{width:100%;border-collapse:collapse;font-size:var(--fs-body)}.tbl th{text-align:left;font-weight:500;color:var(--text-3);font-size:var(--fs-body-sm);letter-spacing:.01em;padding:12px 14px;border-bottom:1px solid var(--divider);background:transparent}.tbl td{padding:15px 14px;border-bottom:1px solid var(--divider);color:var(--text-2);vertical-align:middle}.tbl tr:last-child td{border-bottom:none}.tbl tr:hover td{background:var(--surface-2);transition:background var(--dur-fast) var(--ease)}.tbl .num{text-align:right;font-variant-numeric:tabular-nums}.tbl .check{width:28px}.goals-sticky td{font-size:var(--fs-body-sm)}.goals-sticky th:first-child,.goals-sticky td:first-child{position:sticky;left:0;z-index:1;background:var(--surface);box-shadow:1px 0 0 var(--border)}.goals-sticky thead th:first-child,.goals-sticky tfoot td:first-child{z-index:2}.goals-sticky tr:hover td:first-child,.goals-sticky tfoot td:first-child{background:var(--surface-2)}.tbl.dt{table-layout:auto}.tbl.dt th{position:relative;padding:0;-webkit-user-select:none;user-select:none}.tbl.dt th.dt-dragover{background:var(--accent-soft)}.tbl.dt th.dt-dragging{opacity:.45}.tbl.dt td{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dt-th{display:flex;align-items:center;gap:6px;padding:10px 12px;cursor:grab;overflow:hidden}.dt-th.dt-num{justify-content:flex-end}.dt-th.dt-center{justify-content:center}.dt-th:active{cursor:grabbing}.dt-th-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}.dt-th.dt-sortable .dt-th-label{cursor:pointer}.dt-sort{display:inline-flex;opacity:.5;flex-shrink:0}.dt-sort .ico{width:13px;height:13px}.dt-sort.dt-active{opacity:1;color:var(--accent)}.tbl.dt td{overflow:hidden}.tbl.dt td.dt-col-wide{max-width:none;overflow:visible;text-overflow:clip;white-space:normal}.dt-edit-row-wide{flex-wrap:wrap}@media(min-width:761px){.dt-edit-row-wide{flex-wrap:nowrap;overflow-x:auto}}.tbl.compact td,.tbl.compact .dt-th{padding-top:7px;padding-bottom:7px}.dt-wrap{width:100%;overflow-x:auto;position:relative;border-radius:var(--r-md)}.dt-shadow{position:absolute;top:0;bottom:0;width:24px;z-index:3;pointer-events:none;opacity:0;transition:opacity .15s ease}.dt-shadow.show{opacity:1}.dt-shadow-left{left:0;background:linear-gradient(to right,oklch(0 0 0 / .12),transparent)}.dt-shadow-right{right:0;background:linear-gradient(to left,oklch(0 0 0 / .12),transparent)}.tbl.dt.dt-editable tbody tr{cursor:pointer}.tbl.dt.dt-editable tbody tr:hover td{background:var(--accent-softer)}.dt-editing .tbl.dt tbody td{background:var(--accent-softer);transition:background var(--dur) var(--ease)}.dt-editing .tbl.dt tbody .input,.dt-editing .tbl.dt tbody select.input{background:var(--surface)}.dt-cards{display:flex;flex-direction:column;gap:10px}.dt-mobile-sort{margin-bottom:2px}.dt-card{background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow-sm);padding:12px 14px;display:flex;flex-direction:column;gap:8px}.dt-card.dt-card-editing{background:var(--accent-softer)}.dt-card-top{display:flex;align-items:center;gap:10px}.dt-card-title{flex:1;min-width:0;font-weight:600;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dt-card-amount{font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0}.dt-card-corner-l,.dt-card-corner-r{display:flex;align-items:center;flex-shrink:0}.dt-card-meta{display:flex;flex-direction:column;gap:6px;padding-top:6px;border-top:1px solid var(--divider)}.dt-card-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:12.5px}.dt-card-label{color:var(--text-3);flex-shrink:0}.dt-card-value{color:var(--text-2);text-align:right;min-width:0;overflow:hidden;text-overflow:ellipsis}.dt-card-footer{background:var(--accent-softer)}.dt-card-footer .dt-card-label,.dt-card-footer .dt-card-value{color:var(--text-2);font-weight:700}.dt-cards-empty{text-align:center;padding:24px 0}.dash-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:stretch}.fat-massbar{gap:8px;flex-wrap:wrap;padding:8px 10px;border-radius:var(--r-sm);background:var(--accent-softer);border:1px solid var(--accent-soft);animation:massIn var(--dur) var(--ease) both}@keyframes massIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.fat-list{display:flex;flex-direction:column}.fat-date-group+.fat-date-group{margin-top:var(--sp-3)}.fat-date-header{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);padding:4px 4px 8px}.fat-tgrid{display:grid;grid-template-columns:44px minmax(140px,1fr) 72px 200px 110px 84px;align-items:center;gap:20px}.fat-tgrid.select-mode{grid-template-columns:26px 44px minmax(140px,1fr) 72px 200px 110px 84px}.fat-table-head{margin-top:24px;padding:0 4px 8px;margin-bottom:20px;border-bottom:1px solid var(--divider);font-size:14px;font-weight:700;letter-spacing:.02em;color:var(--text-2)}.fat-table-head .fat-col-meta{font-size:14px;font-weight:700;color:var(--text-2)}.fat-row{padding:9px 4px;border-radius:var(--r-sm);transition:background var(--dur-fast) var(--ease)}.fat-row:hover{background:var(--surface-2)}.fat-col-check{display:flex;align-items:center}.fat-col-cat{display:flex;justify-content:flex-start;text-align:left}.fat-col-desc{min-width:0}.fat-col-perfil{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fat-col-meta{display:flex;gap:var(--sp-3);font-size:12px;color:var(--text-3);font-weight:500}.fat-col-meta>span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fat-parcela-cur{font-size:13px;font-weight:700;color:var(--text-2)}.fat-parcela-total{font-size:11px;font-weight:500;color:var(--text-3)}.fat-col-valor{text-align:right}.fat-col-acoes{display:flex;justify-content:flex-end}.fat-row-title{max-width:280px;font-size:14px;font-weight:400;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.fat-row-title-input{font-size:14px;font-weight:400;padding:4px 8px;width:100%}.fat-row-amount{font-weight:700;font-variant-numeric:tabular-nums;color:var(--neg);font-size:14px}@media(max-width:760px){.fat-table-head{display:none}.fat-tgrid.fat-row{display:flex;flex-wrap:nowrap;align-items:center;gap:10px}.fat-row .fat-col-check:empty{display:none}.fat-row .fat-col-cat,.fat-row .fat-col-perfil{display:none}.fat-row .fat-col-desc{flex:1 1 auto;min-width:0;order:1}.fat-row .fat-col-meta{order:2;flex-shrink:0;gap:0;width:40px;justify-content:flex-end}.fat-row .fat-col-meta>span{flex:none!important;width:auto!important}.fat-row .fat-col-meta>span:last-child{display:none}.fat-row .fat-col-valor{order:3;flex-shrink:0;width:100px;overflow:hidden;text-overflow:ellipsis}.fat-row .fat-col-acoes{order:4;flex-shrink:0}}@keyframes fatSlide{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.fat-slide{animation:fatSlide .22s var(--ease) both;min-width:0}.fat-totals-footer{position:relative;display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:var(--sp-3);padding:12px 16px;flex-shrink:0}.fat-totals-footer:before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:calc(var(--pad) * -1);right:calc(var(--pad) * -1);background:var(--surface-2);border-top:2px solid var(--border)}.fat-toolbar-totals{display:flex;align-items:flex-start;gap:20px;margin-left:auto;flex-wrap:wrap}.fat-stat{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.fat-stat-label{font-size:11px;font-weight:700;letter-spacing:.01em}.fat-stat-value{font-weight:800;color:var(--text-2);font-variant-numeric:tabular-nums;font-size:14px}.fat-stat-total .fat-stat-value{font-family:var(--font-display);font-size:18px}@media(max-width:760px){.fat-toolbar-totals{gap:12px}.fat-stat-label{font-size:10px}.fat-stat-value{font-size:12px}.fat-stat-total .fat-stat-value{font-size:14px}.fat-toolbar{flex-direction:column;align-items:stretch}.fat-toolbar-search{width:100%;max-width:none!important}.fat-toolbar>.ds-menu-anchor{width:100%}.fat-toolbar-options{width:100%;justify-content:center}}.up-drop{border:2px dashed var(--border-strong);border-radius:var(--r-md);padding:22px 16px;display:flex;justify-content:center;cursor:pointer;color:var(--text-2);background:var(--surface-2);transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.up-drop.over,.up-drop:hover{border-color:var(--accent);background:var(--accent-softer)}.up-drop.has-file{border-style:solid;border-color:var(--accent-soft);background:var(--accent-softer)}.up-error{padding:10px 12px;border-radius:var(--r-sm);font-size:13px;font-weight:600;background:var(--neg-soft);color:var(--danger)}.up-step{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-sm);font-size:14px;color:var(--text-3);transition:color var(--dur) var(--ease),background var(--dur) var(--ease)}.up-step.active{color:var(--text-2);background:var(--accent-softer);font-weight:600}.up-step.done{color:var(--pos)}.up-step-ic{display:inline-flex;width:20px;justify-content:center;font-weight:700}.up-spin{width:14px;height:14px;border-radius:50%;border:2px solid var(--accent-soft);border-top-color:var(--accent);animation:upSpin .7s linear infinite}@keyframes upSpin{to{transform:rotate(360deg)}}.up-check{width:52px;height:52px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;background:var(--pos-soft);color:var(--pos);animation:upPop var(--dur) var(--ease) both}@keyframes upPop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.salary-cta{padding:12px 16px;border-radius:var(--r-md);background:var(--accent-softer);border:1px dashed var(--accent-soft)}.ds-menu{position:fixed;z-index:1200;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:var(--sp-1);opacity:0;transform:translateY(-4px) scale(.98);pointer-events:none;transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.ds-menu.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.ds-menu-item{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;box-sizing:border-box;padding:9px 12px;border:none;background:transparent;text-align:left;font-family:var(--font-ui);font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--text-2);border-radius:var(--r-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.ds-menu-item:hover{background:var(--accent-soft);color:var(--accent)}.ds-menu-item .mi-icon{display:inline-flex;width:18px;justify-content:center;color:var(--text-3)}.ds-menu-item:hover .mi-icon{color:var(--accent)}.ds-menu-item .mi-sub{font-size:var(--fs-body-sm);font-weight:var(--fw-regular);color:var(--text-3)}.ds-menu-sep{height:1px;background:var(--divider);margin:var(--sp-1) var(--sp-2)}.ds-menu-backdrop{display:none}@keyframes routeIn{0%{opacity:0}to{opacity:1}}.route-fade{animation:routeIn .22s ease both;display:flex;flex-direction:column;min-height:0}.ac-row{border-bottom:1px solid var(--divider)}.ac-row:last-child{border-bottom:none}#toast-container{position:fixed;left:50%;bottom:24px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:2000;pointer-events:none}.toast{display:flex;align-items:center;gap:8px;background:var(--pos);color:#fff;padding:10px 18px;border-radius:10px;font-size:13px;font-weight:600;box-shadow:0 8px 24px #0000002e;opacity:0;transform:translateY(18px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.toast.show{opacity:1;transform:translateY(0)}.toast .toast-ico{width:16px;height:16px;flex-shrink:0}.tbl.dt tfoot td,.goals-sticky tfoot td{position:relative;border-top:2px solid var(--border);border-bottom:none;padding:12px;font-weight:700;color:var(--text-2);font-size:12.5px;background:var(--surface-2)}.tbl.dt tfoot tr:hover td{background:var(--surface-2)}.tbl.dt tfoot td:after,.goals-sticky tfoot td:after{content:"";position:absolute;z-index:-1;top:0;bottom:calc(var(--pad) * -1);left:0;right:0;background:var(--surface-2);border-top:2px solid var(--border)}.tbl.dt tfoot td:first-child:after,.goals-sticky tfoot td:first-child:after{left:calc(var(--pad) * -1);border-bottom-left-radius:var(--r-lg)}.tbl.dt tfoot td:last-child:after,.goals-sticky tfoot td:last-child:after{right:calc(var(--pad) * -1);border-bottom-right-radius:var(--r-lg)}.goals-sticky tbody tr:hover td{background:transparent}.goals-sticky td.goal-month-cell{border-radius:var(--r-sm);transition:background var(--dur-fast) var(--ease)}.goals-sticky td.goal-month-cell:hover{background:var(--surface-2)}.goals-sticky .goal-row-delete{max-width:0;overflow:hidden;opacity:0;transition:max-width var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease)}.goals-sticky tbody tr:hover .goal-row-delete{max-width:40px;opacity:1}@media(hover:none){.goals-sticky .goal-row-delete{max-width:40px;opacity:1}}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.cb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--border-strong);background:var(--surface);cursor:pointer;display:inline-grid;place-items:center;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);flex-shrink:0}.cb:checked{background:var(--accent);border-color:var(--accent)}.cb:checked:after{content:"";width:10px;height:10px;background:#fff;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M3 8.5l3.5 3L13 5'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M3 8.5l3.5 3L13 5'/></svg>") center/contain no-repeat}.ds-tabs{display:inline-flex;gap:var(--sp-1);padding:var(--sp-1);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.ds-tabs.block{display:flex;width:100%}.ds-tabs.block .ds-tab{flex:1;justify-content:center}.ds-tab{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);min-height:40px;border:none;background:transparent;color:var(--text-3);font-family:var(--font-ui);font-size:var(--fs-body);font-weight:var(--fw-semibold);border-radius:var(--r-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease);white-space:nowrap}.ds-tab:hover{color:var(--text-2)}.ds-tab.active{background:var(--surface);color:var(--text-2);box-shadow:var(--shadow-sm)}.ds-tab .av{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;background:var(--text-3)}.ds-tab.tone-leo .av{background:var(--leo)}.ds-tab.tone-ana .av{background:var(--ana)}.ds-tab.tone-leo.active{color:var(--leo)}.ds-tab.tone-ana.active{color:var(--ana)}.ds-tabs.sm .ds-tab{padding:var(--sp-1) var(--sp-2);font-size:var(--fs-body-sm);min-height:36px}.ds-tabs.btn-size{padding:3px}.ds-tabs.btn-size .ds-tab{min-height:32px;padding:4px 14px;font-size:13px}.pill-tabs{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);width:100%;border-bottom:1px solid var(--border)}.pill-tabs-indicator{position:absolute;z-index:1;bottom:-1px;height:2px;background:var(--accent);border-radius:2px;transition:left var(--dur) var(--ease),width var(--dur) var(--ease)}.pill-tab{position:relative;z-index:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;cursor:pointer;font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-body);padding:10px 2px;color:var(--text-3);transition:color var(--dur) var(--ease);white-space:nowrap}.pill-tab:hover:not(.active){color:var(--text-2)}.pill-tab.active{color:var(--accent)}.pill-tab.has-icon{display:inline-flex;align-items:center;gap:8px}.pill-tab-icon{display:inline-flex;flex-shrink:0}.chip-row{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:var(--fs-body-sm);font-weight:600;cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.chip:hover{background:var(--surface-2)}.chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.chip.tone-ana.active{background:var(--ana);border-color:var(--ana)}.chip.tone-leo.active{background:var(--leo);border-color:var(--leo)}.row{display:flex;align-items:center;gap:10px}.col{display:flex;flex-direction:column;gap:var(--sp-1)}.spacer{flex:1}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums}.divider{height:1px;background:var(--divider);width:100%}.muted{color:var(--text-3)}.t-up{color:var(--pos)}.t-down{color:var(--neg)}.grid-dashboard{display:grid;grid-template-columns:1.55fr 1fr 1fr;gap:var(--gap)}.grid-dashboard .span-2{grid-column:span 2}.grid-2{display:grid;grid-template-columns:1.55fr 1fr;gap:var(--gap)}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--gap)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}.cat-tile{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:17px;background:var(--surface-2);border:1px solid var(--border);flex-shrink:0}.chart-axis{display:flex;justify-content:space-between;font-size:10.5px;color:var(--text-3);margin-top:6px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.pair>div{display:flex;flex-direction:column;gap:2px}.pair label{font-size:11px;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em}.pair b{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}.goal-card{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column}.goal-cover{height:130px;position:relative;background-size:cover;background-position:center}.goal-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 30%,oklch(.12 .04 270 / .6) 100%)}.goal-cover .goal-pin{position:absolute;top:12px;left:12px;background:#080c1ab3;color:#fff;border-radius:99px;padding:4px 10px;font-size:11px;font-weight:500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2}.goal-edit-btn{position:absolute;top:10px;right:10px;z-index:3;width:30px;height:30px;border-radius:8px;border:none;cursor:pointer;background:#080c1ab3;color:#fff;display:inline-flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.goal-edit-btn svg{width:15px;height:15px}.goal-edit-btn:hover{background:#080c1ae6}.goal-body{padding:16px 18px;display:flex;flex-direction:column;gap:10px}.goal-value-pill{display:inline-block;color:var(--text-2);padding:3px 0;font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:-.01em}.plus-tile{border:1.5px dashed var(--border-strong);border-radius:var(--r-lg);display:grid;place-items:center;color:var(--text-3);cursor:pointer;background:transparent;min-height:240px;font-weight:500;font-size:13px;gap:6px;flex-direction:column}.plus-tile:hover{color:var(--accent);border-color:var(--accent)}.who{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:500}.who .av{width:22px;height:22px;border-radius:99px;display:grid;place-items:center;color:#fff;font-size:10.5px;font-weight:600}.who.ana .av{background:var(--ana)}.who.leo .av{background:var(--leo)}.who.both .av{background:linear-gradient(90deg,var(--ana) 0 50%,var(--leo) 50% 100%)}.tbl tr.clickable{cursor:pointer}.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text-2);padding:8px 12px 8px 14px;min-height:40px;line-height:1.2;border-radius:9px;font-size:13px;font-family:inherit;outline:none;width:100%;box-sizing:border-box}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.spark{display:block;width:100%;height:56px}.drag{width:20px;height:20px;display:grid;place-items:center;color:var(--text-muted);cursor:grab}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background-color:oklch(.78 .09 var(--accent-h));border-radius:99px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:oklch(.68 .12 var(--accent-h))}::-webkit-scrollbar-track{background:transparent}.salary-edit{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md)}.salary-edit label{font-family:var(--font-display);font-size:12px;font-weight:600;color:var(--text-2);letter-spacing:.02em;text-transform:uppercase}.salary-edit .currency{font-size:12px;color:var(--text-3);font-weight:600}.salary-edit input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;font-family:var(--font-display);font-size:17px;font-weight:700;color:var(--text-2);width:110px;outline:none;letter-spacing:-.01em}.salary-edit input:focus{color:var(--accent)}.card-scroll{max-height:360px;overflow-y:auto;padding-right:8px;margin-right:-8px}.card-scroll::-webkit-scrollbar{width:8px}.card-scroll::-webkit-scrollbar-thumb{background-color:oklch(.78 .09 var(--accent-h));border-radius:99px;border:2px solid transparent;background-clip:padding-box}.card-scroll::-webkit-scrollbar-thumb:hover{background-color:oklch(.68 .12 var(--accent-h))}.transfer-step{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--divider);background:var(--surface)}.transfer-step+.transfer-step{margin-top:6px}.transfer-step.disabled{opacity:.45;pointer-events:none}.transfer-step.gate{padding:14px 16px;border-width:1.5px}.transfer-step.gate.highlight{background:linear-gradient(135deg,var(--accent-softer),var(--accent-soft));border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.transfer-step.gate.done{background:var(--pos-soft);border-color:var(--pos)}.transfer-step-num{font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--text-3);min-width:18px}.transfer-step-title{font-family:var(--font-display);font-size:14.5px;font-weight:700;letter-spacing:-.01em;color:var(--text-2);line-height:1.2}.transfer-step-sub{font-size:12px;color:var(--text-3);font-weight:500}.gated{position:relative;opacity:.55;pointer-events:none;filter:saturate(.6)}.gated:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(45deg,transparent 0 12px,oklch(.55 .18 var(--accent-h) / .025) 12px 24px);pointer-events:none}.transfer-gate-card.highlight{background:linear-gradient(135deg,var(--accent-softer),var(--accent-soft));border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow-md)}.transfer-gate-card.done{background:var(--pos-soft);border-color:var(--pos)}.goal-grid{display:grid;grid-template-columns:100px repeat(13,minmax(60px,1fr));font-size:12px}.goal-grid>div{padding:9px 10px;border-bottom:1px solid var(--divider);border-right:1px solid var(--divider);text-align:right;font-variant-numeric:tabular-nums}.goal-grid>div.lbl{text-align:left;color:var(--text-2);font-weight:500}.goal-grid>.head{font-size:10.5px;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;background:var(--surface-2)}.goal-grid>.pos{color:var(--pos)}.goal-grid>.neg{color:var(--neg)}.goal-grid>.total{font-weight:600;color:var(--text-2);background:var(--accent-softer)}.hide-amounts .kpi-value,.hide-amounts .kpi-value *,.hide-amounts .num,.hide-amounts [class*=num]{filter:blur(6px);-webkit-user-select:none;user-select:none;pointer-events:none;transition:filter .2s}.bottom-nav{display:none;position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));max-width:480px;margin:0 auto;height:64px;background:var(--bg-sidebar);border-radius:20px;align-items:center;padding-left:4px;padding-right:4px;z-index:100;box-shadow:0 10px 30px #00000038,0 2px 10px #0000001f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transform:translateZ(0);will-change:transform}.bottom-nav>.ds-menu-anchor{flex:1;height:100%}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:100%;border-radius:10px;cursor:pointer;border:none;background:transparent;color:#ffffffb8;font-family:var(--font-ui);font-size:10px;font-weight:500;position:relative;margin:7px 3px;height:calc(100% - 14px);transition:color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);-webkit-tap-highlight-color:transparent;padding:0}.bottom-nav-item svg{width:20px;height:20px}.bottom-nav-item .nav-icon{color:inherit}.bn-avatar{width:20px;height:20px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;color:#fff;background:#ffffff38;box-shadow:inset 0 0 0 1px #ffffff73}.bottom-nav-item.active{color:#fff;background:#ffffff24;box-shadow:inset 0 0 0 1.5px #ffffff8c}.bottom-nav[data-profile=leo]{background:#092b44;border-top-color:#304b61}.bottom-nav[data-profile=ana]{background:#4a1a33;border-top-color:#704258}.bottom-nav[data-profile=al]{background:#32204d;border-top-color:#584974}.bottom-nav[data-profile] .bottom-nav-badge{border-color:transparent}.bottom-nav-badge{position:absolute;top:8px;right:calc(50% - 18px);min-width:16px;height:16px;border-radius:99px;background:var(--neg);color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--bg-sidebar)}@media(max-width:1024px){.bottom-nav{display:flex}.app-shell{grid-template-columns:1fr;height:100dvh}.sidebar{display:none}.main-area{height:100dvh}.ds-modal-overlay{align-items:stretch;justify-content:flex-end;padding:0}.ds-modal{width:100%;max-width:min(420px,88vw);height:100%;max-height:100%;border-radius:16px 0 0 16px;transform:translate(100%)}.ds-modal-overlay.show .ds-modal{transform:translate(0)}.ds-modal-foot{flex-direction:column-reverse}.ds-modal-foot .btn{width:100%;justify-content:center}.content{padding:24px 24px calc(96px + env(safe-area-inset-bottom,0px))}.page-head{flex-direction:column;align-items:flex-start;gap:16px;width:100%}.page-head h2{font-size:20px}.page-head-actions,.card-head-actions{align-self:stretch;width:100%;flex-direction:column;gap:10px}.page-head-actions .btn,.card-head-actions .btn{width:100%;justify-content:center}.month-hero h1{font-size:42px;gap:10px}.month-hero h1 .year{font-size:22px}.month-hero-row{flex-direction:column;align-items:flex-start;gap:16px}.salary-cta{flex-direction:column;align-items:flex-start!important;gap:10px}.salary-cta .btn{width:100%;justify-content:center}.grid-4,.grid-3,.grid-2,.grid-dashboard{grid-template-columns:repeat(2,1fr)}.dash-2col{grid-template-columns:1fr}.grid-dashboard .span-2{grid-column:1 / -1}.dash-grid{grid-template-columns:1fr}.goal-detail-kpis{flex-wrap:wrap;gap:12px}.goal-detail-kpis>.col{align-items:flex-start!important}.goal-detail-kpis>.btn{width:100%;justify-content:center;margin-top:4px}.card>.tbl,.card>table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}::-webkit-scrollbar{width:0;height:0}}@media(max-width:400px){.page-head h2{font-size:18px}.month-hero h1{font-size:32px;gap:8px}.month-hero h1 .year{font-size:18px}}@media(max-width:760px){.card-head{flex-wrap:wrap}.card-head>.card-sub{flex-basis:100%;margin-right:0!important}.ds-menu-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1199;background:#12161f73;opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease)}.ds-menu-backdrop.open{opacity:1;pointer-events:auto}.ds-menu{position:fixed!important;top:auto!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;max-width:100%!important;min-width:0!important;max-height:80vh!important;overflow-y:auto;border-radius:16px 16px 0 0!important;padding:var(--sp-2) var(--sp-2) calc(var(--sp-2) + env(safe-area-inset-bottom,0px))!important;transform:translateY(100%);grid-template-columns:repeat(auto-fill,minmax(38px,1fr))!important}.ds-menu.open{transform:translateY(0)}.ds-menu-item{min-height:48px;font-size:15px}.month-hero-actions-tabs,.month-hero-actions,.month-hero-actions>.row{width:100%;flex-direction:column;gap:12px;margin-left:0!important}.month-hero-actions .btn,.month-hero-actions .ds-menu-anchor{width:100%;flex:none;justify-content:center}.month-hero-actions-tabs .ds-tabs{width:100%}.month-hero-actions-tabs .ds-tabs .ds-tab{flex:1;justify-content:center}.month-hero-row2{flex-direction:column;align-items:stretch;gap:12px}.month-hero-row2>.ds-tabs{width:100%}.month-hero-row2>.ds-tabs .ds-tab{flex:1;justify-content:center}.empty-cta .btn{width:100%;justify-content:center}.goal-cards-grid{grid-template-columns:1fr}.goals-sticky,.goals-sticky thead,.goals-sticky tbody,.goals-sticky tfoot,.goals-sticky tr,.goals-sticky td{display:block;width:100%}.goals-sticky thead{display:none}.goals-sticky tbody tr{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-2)}.goals-sticky tfoot tr{padding:var(--sp-2) var(--sp-3)}.goals-sticky td{border:none!important;padding:6px 0!important;background:transparent!important}.goals-sticky td[colSpan]{padding-bottom:8px!important;border-bottom:1px solid var(--border)!important;margin-bottom:4px}.goals-sticky td[data-label]{display:flex;align-items:center;justify-content:space-between;gap:12px}.goals-sticky td[data-label]:before{content:attr(data-label);color:var(--text-3);font-weight:500;flex-shrink:0}.goals-sticky .goal-month-cell{cursor:pointer}.goals-sticky .goal-month-cell .col{align-items:flex-end}.goals-sticky td.goal-row-delete{max-width:none!important;opacity:1!important;overflow:visible;text-align:right!important;padding-top:8px!important}.goals-sticky tfoot td:first-child{background:transparent!important}.goals-sticky tfoot td:after{content:none}}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.acc-head:hover{background:var(--surface-2)}.acc-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%;background:none;border:none;cursor:pointer;text-align:left;padding:14px 16px;transition:background .12s}.acc-chev.open{transform:rotate(90deg)}.acc-chev{transition:transform var(--dur) var(--ease);flex-shrink:0}.indet-track:after{content:"";position:absolute;top:0;bottom:0;border-radius:999px;background:var(--accent);animation:indet 1.1s cubic-bezier(.4,0,.2,1) infinite}.indet-track{position:relative;height:6px;border-radius:999px;overflow:hidden;background:var(--surface-3);width:100%}@keyframes indet{0%{left:-40%;width:40%}50%{left:25%;width:55%}to{left:100%;width:40%}}.person-tabs{display:flex;gap:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:4px;margin-bottom:12px;width:fit-content}.person-tab.on{background:var(--surface);color:var(--text-2);box-shadow:var(--shadow-sm)}.person-tab.leo .av{background:var(--leo)}.person-tab.ana .av{background:var(--ana)}.person-tab .av{width:20px;height:20px;border-radius:999px;display:grid;place-items:center;font-size:10px;font-weight:700;color:#fff}.person-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:7px 14px;border-radius:8px;font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--text-2);cursor:pointer;display:inline-flex;align-items:center;gap:8px}.seg button.on{background:var(--surface);color:var(--text-2);box-shadow:var(--shadow-sm)}.seg button{border:none;background:transparent;padding:6px 12px;border-radius:7px;font-size:12.5px;font-weight:500;color:var(--text-2);cursor:pointer;font-family:inherit}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:3px;gap:2px}
