:root{--brand:#1b7a8f;--brand-press:#0f5d70;--brand-soft:#e3eff2;--brand-deep:#0a4d5e;--brand-grad:linear-gradient(135deg, #1b7a8f 0%, #0f5d70 52%, #0a4d5e 100%);--brand-dark-grad:linear-gradient(165deg, #0d2e38 0%, #0c1e24 42%, #0b1220 100%);--money:#16a55a;--money-txt:#0c7a41;--money-soft:#e7f7ee;--warn:#9a5c00;--warn-txt:#9a5c00;--amber:#f5a623;--warn-soft:#fff3da;--danger:#e31b23;--danger-txt:#b9141b;--danger-soft:#ffe7e4;--gold:#e8a400;--bg:#f5f7f6;--card:#fff;--card-2:#fbfbfd;--text:#1f2329;--text-2:#55666c;--text-3:#95a1a4;--hair:#e8ecea;--track:#e7ecea;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:32px;--r-sm:10px;--r:14px;--r-lg:20px;--r-pill:999px;--shadow-sm:0 4px 14px #0b12200d;--shadow:0 4px 14px #0b12200d, 0 14px 34px #0b12200f;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--num:"SF Mono", ui-monospace, "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-tap-highlight-color:transparent;font-size:16px;line-height:1.45}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}button:disabled{cursor:default}input{font-family:inherit;font-size:inherit}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}:focus-visible{outline:2px solid var(--brand-press);outline-offset:2px;border-radius:4px}.app{flex-direction:column;min-height:100dvh;display:flex}.scr{padding:var(--s4) var(--s4) calc(84px + env(safe-area-inset-bottom));flex:1;width:100%;max-width:560px;margin:0 auto;overflow:hidden auto}.col{flex-direction:column;display:flex}.row{align-items:center;display:flex}.between{justify-content:space-between}.grow{flex:1;min-width:0}.gap1{gap:4px}.gap2{gap:8px}.gap3{gap:12px}.gap4{gap:16px}.wrap{flex-wrap:wrap}.top{background:var(--brand-dark-grad);color:#fff;padding:calc(env(safe-area-inset-top) + 12px) var(--s4) 14px;z-index:10;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.top .hi{color:#ffffffb8;font-size:12px}.top .who{letter-spacing:-.01em;font-size:17px;font-weight:750}.top .ico-btn{border-radius:var(--r-pill);color:#fff;background:#ffffff1f;place-items:center;width:38px;height:38px;display:grid}.top .ico-btn:active{background:#ffffff38}.top .ico-btn:disabled{opacity:.72}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.tabbar{z-index:20;-webkit-backdrop-filter:saturate(180%)blur(14px);border-top:1px solid var(--hair);padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:#ffffffeb;grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar .tab{color:var(--text-3);flex-direction:column;align-items:center;gap:3px;padding:3px 0;font-size:12px;font-weight:650;display:flex}.tabbar .tab.on{color:var(--brand-deep)}.eyebrow{color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800}.h-page{letter-spacing:-.02em;margin:0;font-size:22px;font-weight:800}.muted{color:var(--text-2)}.tiny{color:var(--text-3);font-size:11.5px}.small{font-size:13px}.b{font-weight:700}.card{background:var(--card);border:1px solid var(--hair);border-radius:var(--r);box-shadow:var(--shadow-sm)}.card.pad{padding:var(--s4)}.card.tap:active{transform:scale(.992)}.hero{background:var(--money-soft);border-radius:var(--r-lg);padding:var(--s5);border:1px solid #c7ebd6;flex-direction:column;gap:4px;display:flex}.hero .val{font-family:var(--num);color:var(--money-txt);letter-spacing:-.02em;font-size:clamp(34px,12vw,46px);font-weight:850;line-height:1}.hero .cap{color:var(--text-2);font-size:13px}.hero .cap b{color:var(--money-txt)}.bar{border-radius:var(--r-pill);background:var(--track);height:10px;position:relative;overflow:hidden}.bar>i{border-radius:inherit;background:var(--brand);transition:width .4s;position:absolute;inset:0 auto 0 0}.bar.tall{height:13px}.flags{height:12px;position:relative}.flags .flag{background:var(--card);opacity:.9;width:2px;height:12px;position:absolute;top:0;transform:translate(-1px)}.flagrow{color:var(--text-3);justify-content:space-between;margin-top:2px;font-size:10px;display:flex}.stars{letter-spacing:1px}.star-on{color:var(--gold)}.star-off{color:var(--text-3);opacity:.5}.pill{border-radius:var(--r-pill);align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.pill.money{background:var(--money-soft);color:var(--money-txt)}.pill.brand{background:var(--brand-soft);color:var(--brand-deep)}.pill.mute{color:var(--text-2);background:#eef1ef}.pill.warn{background:var(--warn-soft);color:var(--warn-txt)}.pill.lock{color:#7a6f57;background:#f0eee9}.item .top-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.item .name{font-size:15px;font-weight:700}.item .plus{font-family:var(--num);font-weight:800}.item .plus.on{color:var(--money-txt)}.item .plus.off{color:var(--text-3)}.item .sub{color:var(--text-2);font-size:12px}.hoje{color:var(--brand-deep);background:var(--brand-soft);border-radius:var(--r-sm);padding:8px 10px;font-size:12.5px;font-weight:650}.hoje.win{color:var(--money-txt);background:var(--money-soft)}.acima{color:var(--gold);font-size:12.5px;font-weight:650}.foco{border-radius:var(--r);padding:var(--s4);background:linear-gradient(135deg,#fff6df,#fdeecb);border:1px solid #f2dfa8}.foco .t{color:#8a5b00;font-size:14px;font-weight:800}.foco .d{color:#6f5527;margin-top:3px;font-size:13px}.data-status{min-height:24px;color:var(--text-3);justify-content:center;align-items:center;gap:6px;margin:-6px 0 10px;font-size:12px;display:flex}.data-status.offline,.data-status.error{border-radius:var(--r-sm);justify-content:flex-start;padding:8px 10px}.data-status.offline{color:var(--warn-txt);background:var(--warn-soft)}.data-status.error{color:var(--danger-txt);background:var(--danger-soft)}.pilot-note{border-radius:var(--r);background:var(--warn-soft);color:var(--warn-txt);border:1px solid #f2dfa8;flex-direction:column;gap:2px;padding:11px 13px;font-size:13px;display:flex}.pilot-note span{color:#6f5527}.degrau{border-radius:var(--r-sm);background:var(--card-2);border:1px solid var(--hair);align-items:center;gap:10px;padding:11px 13px;display:flex}.degrau.ok{background:var(--money-soft);border-color:#bfe8cf}.degrau.next{border-color:var(--brand)}.degrau .ic{text-align:center;width:20px;color:var(--text-3);font-weight:800}.degrau.ok .ic{color:var(--money-txt)}.degrau .nm{flex:1;font-size:13.5px;font-weight:650}.degrau .vl{font-family:var(--num);font-size:15px;font-weight:800}.degrau.ok .vl{color:var(--money-txt)}.grid-cats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.catbox{background:var(--card-2);border:1px solid var(--hair);border-radius:var(--r-sm);padding:10px 12px}.catbox .cn{color:var(--text-2);font-size:12.5px;font-weight:650}.catbox .cs{margin-top:2px;font-size:14px}.btn{border-radius:var(--r);background:var(--brand-grad);color:#fff;justify-content:center;align-items:center;gap:8px;width:100%;padding:13px 18px;font-size:15px;font-weight:700;display:inline-flex}.btn:active{filter:brightness(.96)}.btn.ghost{color:var(--text);background:#eef1ef}.btn.line{border:1px solid var(--hair);color:var(--text);background:0 0}.btn:disabled{opacity:.5}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--text-2);font-size:13px;font-weight:700}.field input{border-radius:var(--r);border:1px solid var(--hair);background:var(--card);padding:13px 14px}.field input:focus{border-color:var(--brand);outline:none}.scrim{z-index:40;background:#0b12206b;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--card);border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-width:560px;padding:var(--s5) var(--s4) calc(var(--s5) + env(safe-area-inset-bottom));max-height:88dvh;margin:0 auto;position:relative;overflow-y:auto;box-shadow:0 -12px 40px #0b122038}.sheet .grab{background:var(--hair);border-radius:99px;width:40px;height:4px;margin:0 auto 14px}.sheet-close{border-radius:var(--r-pill);width:36px;height:36px;color:var(--text-2);background:#eef1ef;place-items:center;font-size:24px;line-height:1;display:grid;position:absolute;top:9px;right:10px}.empty{text-align:center;padding:var(--s6) var(--s4);color:var(--text-2)}.empty .ic{font-size:34px}.empty .et{color:var(--text);margin-top:8px;font-size:16px;font-weight:750}.login{justify-content:center;gap:var(--s5);min-height:100dvh;padding:var(--s6) var(--s5) calc(var(--s6) + env(safe-area-inset-bottom));flex-direction:column;max-width:420px;margin:0 auto;display:flex}.login .brandrow{justify-content:center;align-items:center;gap:10px;display:flex}.login .wm{letter-spacing:-.01em;font-size:20px;font-weight:850}.login .wm .g{color:var(--brand)}.center{text-align:center}.install-brand{align-items:center;gap:16px;display:flex}.install-brand img{border-radius:16px}.install-steps{counter-reset:step;gap:20px;margin:0;padding:0;list-style:none;display:grid}.install-steps li{counter-increment:step;align-items:flex-start;gap:12px;display:flex}.install-steps li svg{color:var(--brand);flex-shrink:0}.install-steps b:before{content:counter(step) ". "}.install-steps span{color:var(--text-2);margin-top:5px;font-size:13px;display:block}.install-link{overflow-wrap:anywhere;gap:8px;font-size:13px;display:grid}.next-goal{border-radius:var(--r);text-align:left;background:#edf7f8;border:1px solid #c4dfe4;width:100%;padding:20px}.achievement{background:var(--money-soft);border-radius:var(--r);color:var(--money-txt);border:1px solid #bfe8cf;padding:20px}.reward{background:#f5f7f7;border-radius:12px;gap:4px;padding:12px;font-size:13px;display:grid}.evolution-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.evolution-grid>div{background:#f5f7f7;border-radius:12px;padding:12px}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.month-dashboard,.goal-detail{font-variant-numeric:tabular-nums}.month-context{color:var(--text-2);justify-content:space-between;gap:12px;font-size:13px;display:flex}.bonus-summary{justify-content:space-between;align-items:center;padding:18px 20px;display:flex;position:relative}.bonus-summary>div{flex-direction:column;gap:5px;display:flex}.bonus-summary span{color:var(--text-2);font-size:13px}.bonus-summary strong{letter-spacing:-1px;color:var(--money-txt);font-size:30px}.bonus-info summary{border:1px solid var(--hair);cursor:pointer;width:32px;height:32px;color:var(--text-2);border-radius:50%;place-items:center;display:grid}.bonus-info p{z-index:2;border:1px solid var(--hair);box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:16px;font-size:13px;line-height:1.6;position:absolute;top:75%;left:12px;right:12px}.goal-feature{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;background:linear-gradient(145deg,#eef8f5,#f8fcfb);border:1px solid #c4e0df;border-radius:20px;flex-direction:column;gap:20px;padding:20px;display:flex}.goal-kicker{justify-content:space-between;align-items:center;gap:8px;display:flex}.goal-kicker>span:first-child{text-transform:uppercase;letter-spacing:.7px;color:var(--brand-deep);align-items:center;gap:6px;font-size:10px;font-weight:800;display:flex}.goal-badge{white-space:nowrap;color:var(--brand-deep);background:#dceee8;border-radius:20px;padding:5px 8px;font-size:10px}.goal-feature h2{margin:0;font-size:21px}.goal-remaining{color:var(--brand-deep);flex-direction:column;gap:3px;display:flex}.goal-remaining small{color:var(--text-2);font-size:13px}.goal-remaining strong{letter-spacing:-1.8px;overflow-wrap:anywhere;font-size:clamp(32px,9vw,48px);line-height:1.15}.goal-remaining>span{font-size:14px}.goal-progress{flex-direction:column;gap:9px;width:100%;display:flex}.goal-progress-labels{color:var(--text-2);justify-content:space-between;gap:10px;font-size:12px;display:flex}.goal-progress-labels span{flex-wrap:wrap;gap:4px;display:flex}.goal-progress-labels span:last-child{text-align:right;justify-content:flex-end}.goal-progress-labels b{color:var(--text)}.goal-reward{color:var(--money-txt);background:#e0f2e7;border:1px solid #c8e7d5;border-radius:13px;flex-direction:column;gap:4px;padding:15px 16px;font-size:12px;display:flex}.goal-reward>span:first-child{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.goal-reward strong{letter-spacing:-.6px;font-size:25px}.goal-link{color:var(--brand-deep);justify-content:space-between;align-items:center;font-size:14px;font-weight:700;display:flex}.goals-heading{margin:6px 0 0;font-size:16px}.goal-card{text-align:left;font:inherit;color:var(--text);cursor:pointer;flex-direction:column;gap:17px;width:100%;padding:18px;display:flex}.goal-card-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.goal-card-header>span{flex-direction:column;gap:4px;min-width:0;display:flex}.goal-card-header strong{overflow-wrap:anywhere;font-size:16px}.goal-card-header small{color:var(--text-2);font-size:11px}.goal-card-prize{text-align:right;flex-shrink:0}.goal-card-prize b{color:var(--money-txt);font-size:16px}.goal-card-footer{color:var(--brand-deep);justify-content:space-between;align-items:center;gap:10px;font-size:14px;display:flex}.goal-detail header h2{margin:0 32px 6px 0;font-size:24px}.goal-detail header p{color:var(--text-2);margin:0;font-size:13px}.goal-stats{background:var(--bg);border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:16px 8px;display:grid}.goal-stats>div{text-align:center;flex-direction:column;gap:9px;display:flex}.goal-stats span{color:var(--text-2);font-size:12px}.goal-stats b{overflow-wrap:anywhere;font-size:clamp(14px,4.2vw,21px)}.goal-stats .missing{color:var(--brand)}.goal-percent{color:var(--brand-deep);text-align:center;margin-top:-8px;font-size:12px}.goal-levels{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.goal-levels>div{text-align:center;color:var(--text-2);flex-direction:column;align-items:center;gap:7px;font-size:12px;display:flex}.level-dot{border:2px solid var(--hair);border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.achieved .level-dot{background:var(--money);color:#fff;border-color:var(--money)}.up-next .level-dot{border-color:var(--brand);color:var(--brand)}.goal-levels small{font-size:11px}.goal-rules{border-top:1px solid var(--hair);color:var(--text-2);font-size:13px}.goal-rules summary{cursor:pointer;color:var(--text);min-height:44px;padding:17px 0;font-weight:700}.goal-rules p{margin:0;line-height:1.6}.goal-rules>div{padding-bottom:10px}.goal-feature:focus-visible,.goal-card:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.ritmo-track{position:relative}.ritmo-marker{background:#37464d;border-radius:2px;width:2px;position:absolute;top:-4px;bottom:-4px;transform:translate(-1px)}.ritmo-label{color:var(--text-2);font-size:12px;font-weight:700}.ritmo-label span{font-weight:400}.ritmo-label.em-dia,.ritmo-label.atingida{color:#08783e}.ritmo-label.abaixo{color:#bc1835}.ritmo-status{color:var(--text-2);background:#edf0ef;border-radius:12px;flex-direction:column;gap:7px;padding:15px;font-size:13px;display:flex}.ritmo-status.em-dia,.ritmo-status.atingida{color:#076b39;background:#e0f4e8}.ritmo-status.abaixo{color:#b51832;background:#ffe8ec}.ritmo-daily{color:var(--brand-deep);background:#f3f8f8;border:1px solid #d4e6e5;border-radius:14px;flex-direction:column;gap:7px;padding:18px;display:flex}.ritmo-daily strong{letter-spacing:-1px;overflow-wrap:anywhere;font-size:clamp(28px,9vw,42px)}.ritmo-daily span{font-size:13px}.ritmo-detail .goal-stats span{font-size:11px}
