.pp{--p-bg:var(--background);--p-surface:var(--card);--p-card:#f7fafd;--p-ink:var(--foreground);--p-ink2:var(--muted-foreground);--p-ink3:color-mix(in srgb, var(--muted-foreground) 62%, transparent);--p-line:var(--border);--p-line2:color-mix(in srgb, var(--border) 55%, transparent);--p-cyan:var(--primary);--p-green:var(--color-rps-otimo);--p-gold:var(--color-rps-adequado);--p-orange:var(--color-rps-limitrofe);--p-rose:var(--color-rps-insuficiente);--p-teal:#0d9488;--p-violet:#7c3aed;--p-wa:var(--color-whatsapp);--p-shadow:var(--shadow-card);--p-glow:0 0 26px -8px color-mix(in srgb, var(--primary) 50%, transparent);--p-hero:linear-gradient(150deg, #d4f1f7, #e3f5f3 55%, #fff);--p-store:linear-gradient(135deg, #d6f0f5, #eef7fb);--p-ring:conic-gradient(from 220deg, #06b6d4, #0d9488, #059669);--p-backdrop:radial-gradient(120% 80% at 50% -10%, color-mix(in srgb, var(--primary) 18%, transparent) 0%, transparent 55%);background:var(--p-backdrop), var(--p-bg);min-height:100vh;color:var(--p-ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;justify-content:center;transition:background .4s;display:flex}.dark .pp{--p-card:#16263d;--p-teal:#2dd4bf;--p-violet:#a78bfa;--p-hero:linear-gradient(150deg, #0a3a4a, #0d2740 60%, #0e1c30);--p-store:linear-gradient(135deg, #0c3a48, #10243a);--p-ring:conic-gradient(from 220deg, #22d3ee, #2dd4bf, #34d399)}@media (min-width:520px){.pp{padding:22px 0}}.pp .mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.pp .serif{font-family:var(--font-display);font-weight:400}.pp .app{background:var(--p-surface);flex-direction:column;width:100%;max-width:468px;min-height:100vh;display:flex;position:relative;overflow:hidden;box-shadow:0 0 80px -20px #00000073}@media (min-width:520px){.pp .app{border:1px solid var(--p-line);border-radius:34px;min-height:calc(100vh - 44px)}}.pp .topbar{z-index:30;background:linear-gradient(180deg, var(--p-surface) 70%, transparent);align-items:center;gap:10px;padding:16px 16px 12px;display:flex;position:sticky;top:0}.pp .brand{align-items:center;gap:9px;min-width:0;display:flex}.pp .logo{background:var(--p-ring);color:#04121d;width:32px;height:32px;box-shadow:var(--p-glow);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.pp .bt{letter-spacing:-.01em;color:var(--p-ink);font-size:14px;font-weight:700}.pp .bt i{color:var(--p-cyan);font-style:normal}.pp .bs{color:var(--p-ink3);letter-spacing:.1em;text-transform:uppercase;margin-top:-1px;font-size:9.5px}.pp .tbtns{gap:7px;margin-left:auto;display:flex}.pp .iconbtn{border:1px solid var(--p-line);background:color-mix(in srgb, var(--p-surface) 60%, var(--p-card));width:44px;height:44px;color:var(--p-ink2);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;transition:all .18s;display:flex}.pp .iconbtn:hover{color:var(--p-ink);border-color:var(--p-cyan)}.pp .scroll{scroll-behavior:smooth;flex:1;padding:0 16px 112px;overflow:hidden auto}.pp .scroll::-webkit-scrollbar{width:0}@media (prefers-reduced-motion:no-preference){.pp .view{animation:.45s cubic-bezier(.22,1,.36,1) pp-fade}.pp .up{animation:.6s cubic-bezier(.22,1,.36,1) both pp-up}}@keyframes pp-fade{0%{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pp-up{0%{opacity:.5;transform:translateY(14px)}to{opacity:1;transform:none}}.pp .hero{background:var(--p-hero);border:1px solid var(--p-line);border-radius:24px;margin-top:4px;padding:22px 20px 20px;position:relative;overflow:hidden}.pp .hero:before{content:"";background:radial-gradient(80% 60% at 85% 0%, color-mix(in srgb, var(--p-cyan) 18%, transparent), transparent 60%);pointer-events:none;position:absolute;inset:0}.pp .hello{color:var(--p-ink2);font-size:12px}.pp .hello b{color:var(--p-cyan)}.pp .hname{color:var(--p-ink);margin-top:3px;font-size:30px;line-height:1.02}.pp .hsub{color:var(--p-ink2);flex-wrap:wrap;align-items:center;gap:6px;margin-top:7px;font-size:11.5px;display:flex}.pp .hsub .dot{background:var(--p-teal);border-radius:50%;width:5px;height:5px}.pp .hsub b{color:var(--p-ink);font-weight:600}.pp .heromain{align-items:center;gap:18px;margin-top:18px;display:flex}.pp .ring{flex-shrink:0;width:118px;height:118px;position:relative}.pp .ring svg{transform:rotate(-90deg)}.pp .ring .track{stroke:var(--p-line);opacity:.7}.pp .ring .prog{stroke:url(#pp-rps-grad);stroke-linecap:round;filter:drop-shadow(0 0 6px color-mix(in srgb, var(--p-cyan) 50%, transparent));transition:stroke-dashoffset 1.6s cubic-bezier(.16,1,.3,1)}.pp .ring .ctr{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pp .ring .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--p-ink);font-size:30px;font-weight:700;line-height:1}.pp .ring .pct{color:var(--p-ink2);font-size:13px;font-weight:600}.pp .ring .lab{color:var(--p-ink3);text-transform:uppercase;letter-spacing:.1em;margin-top:3px;font-size:8.5px}.pp .herotxt{flex:1;min-width:0}.pp .stage{text-transform:uppercase;letter-spacing:.05em;color:var(--p-cyan);background:color-mix(in srgb, var(--p-cyan) 12%, transparent);border:1px solid color-mix(in srgb, var(--p-cyan) 30%, transparent);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:10px;font-weight:700;display:inline-flex}.pp .herotxt .big{color:var(--p-ink);margin-top:10px;font-size:15px;font-weight:600;line-height:1.25}.pp .herotxt .sm{color:var(--p-ink2);margin-top:5px;font-size:11.5px;line-height:1.4}.pp .goalbar{margin-top:11px}.pp .goalbar .gl{color:var(--p-ink3);justify-content:space-between;margin-bottom:4px;font-size:9.5px;display:flex}.pp .goalbar .gt{background:var(--p-line);border-radius:4px;height:6px;position:relative;overflow:hidden}.pp .goalbar .gf{background:linear-gradient(90deg, var(--p-cyan), var(--p-green));border-radius:4px;width:0;height:100%;transition:width 1.6s cubic-bezier(.16,1,.3,1);position:absolute;top:0;left:0}.pp .goalbar .gm{background:var(--p-ink2);opacity:.5;border-radius:2px;width:2px;height:12px;position:absolute;top:-3px}.pp .card{background:var(--p-card);border:1px solid var(--p-line);box-shadow:var(--p-shadow);border-radius:20px;margin-top:13px;padding:16px 17px}.pp .ch{align-items:center;gap:9px;margin-bottom:13px;display:flex}.pp .ch .ci{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.pp .ch .ct{letter-spacing:.1em;text-transform:uppercase;color:var(--p-ink3);font-size:9.5px;font-weight:700}.pp .ch .ctt{letter-spacing:-.01em;color:var(--p-ink);margin-top:1px;font-size:14.5px;font-weight:700}.pp .ch .right{color:var(--p-ink3);font-size:10.5px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-left:auto}.pp .return{background:linear-gradient(135deg, color-mix(in srgb, var(--p-teal) 10%, transparent), var(--p-card));border-color:color-mix(in srgb, var(--p-teal) 32%, transparent)}.pp .retmain{align-items:center;gap:14px;display:flex}.pp .retdays{text-align:center;flex-shrink:0;width:78px}.pp .retdays .n{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--p-teal);font-size:32px;font-weight:700;line-height:1}.pp .retdays .u{color:var(--p-ink3);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.pp .retinfo{border-left:1px solid var(--p-line);flex:1;padding-left:14px}.pp .retinfo .d{color:var(--p-ink);font-size:13px;font-weight:600}.pp .retinfo .s{color:var(--p-ink2);margin-top:3px;font-size:11px;line-height:1.4}.pp .wa{background:var(--p-wa);color:#fff;cursor:pointer;width:100%;min-height:48px;box-shadow:0 8px 22px -8px color-mix(in srgb, var(--p-wa) 60%, transparent);border:none;border-radius:14px;justify-content:center;align-items:center;gap:9px;margin-top:14px;padding:13px;font-size:13.5px;font-weight:700;text-decoration:none;transition:all .18s;display:flex}.pp .wa:hover{filter:brightness(.95);transform:translateY(-1px)}.pp .wa-note{color:var(--p-ink2);text-align:center;border:1px dashed var(--p-line);border-radius:12px;margin-top:12px;padding:11px;font-size:11px;font-style:italic}.pp .sys{border-top:1px solid var(--p-line2);align-items:center;gap:11px;padding:9px 0;display:flex}.pp .sys:first-of-type{border-top:none}.pp .sys .nm{width:100px;color:var(--p-ink);align-items:center;gap:7px;font-size:12px;font-weight:500;display:flex}.pp .sys .dotc{border-radius:50%;flex-shrink:0;width:7px;height:7px}.pp .sys .track{background:var(--p-line);border-radius:5px;flex:1;height:8px;overflow:hidden}.pp .sys .fill{border-radius:5px;width:0;height:100%;transition:width 1.2s cubic-bezier(.16,1,.3,1)}.pp .sys .v{text-align:right;width:30px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.pp .legend-rps{border-top:1px solid var(--p-line2);flex-wrap:wrap;gap:10px;margin-top:13px;padding-top:12px;display:flex}.pp .legend-rps span{color:var(--p-ink2);align-items:center;gap:5px;font-size:9.5px;display:flex}.pp .legend-rps i{border-radius:2px;width:8px;height:8px}.pp .exrow{border-top:1px solid var(--p-line2);align-items:baseline;gap:10px;padding:8px 0;font-size:12.5px;display:flex}.pp .exrow:first-child{border-top:none}.pp .exrow .exn{color:var(--p-ink3);font-family:var(--font-mono);flex-shrink:0;font-size:10px}.pp .exrow span:last-child{color:var(--p-ink)}.pp .exmore{color:var(--p-ink3);padding:8px 0 2px;font-size:11px;font-style:italic}.pp .routetabs{gap:6px;margin-bottom:13px;display:flex}.pp .rtt{border:1px solid var(--p-line);background:var(--p-surface);cursor:pointer;color:var(--p-ink3);border-radius:13px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:10px 4px;transition:all .18s;display:flex}.pp .rtt.on{border-color:var(--p-cyan);background:color-mix(in srgb, var(--p-cyan) 8%, transparent)}.pp .rtt.on svg{color:var(--p-cyan)}.pp .rtt .l{color:var(--p-ink2);font-size:10px;font-weight:600}.pp .rtt.on .l{color:var(--p-ink)}.pp .rtt .c{color:var(--p-ink3);font-size:8.5px;font-family:var(--font-mono)}.pp .task{border:1px solid var(--p-line);background:var(--p-surface);cursor:pointer;text-align:left;border-radius:14px;align-items:flex-start;gap:11px;width:100%;min-height:56px;margin-bottom:8px;padding:13px 12px;transition:all .18s;display:flex}.pp .task:active{transform:scale(.99)}.pp .task.static{cursor:default;background:var(--p-card)}.pp .task.static:active{transform:none}.pp .task:focus-visible{outline:2px solid var(--p-cyan);outline-offset:2px}.pp .task.done{opacity:.62;background:var(--p-card)}.pp .cbox{border:2px solid var(--p-line);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-top:1px;transition:all .18s;display:flex}.pp .cbox svg{opacity:0;transition:all .18s;transform:scale(.5)}.pp .task.done .cbox{background:var(--p-green);border-color:var(--p-green)}.pp .task.done .cbox svg{opacity:1;transform:scale(1)}.pp .task .tinfo{flex:1;min-width:0}.pp .task .tn{color:var(--p-ink);flex-wrap:wrap;align-items:center;gap:7px;font-size:13px;font-weight:600;display:flex}.pp .task.done .tn .tname{text-decoration:line-through}.pp .pill{text-transform:uppercase;letter-spacing:.03em;background:color-mix(in srgb, var(--p-cyan) 12%, transparent);color:var(--p-cyan);border-radius:5px;padding:2px 6px;font-size:8.5px;font-weight:700}.pp .pill.oral{background:color-mix(in srgb, var(--p-violet) 16%, transparent);color:var(--p-violet)}.pp .task .tf{color:var(--p-ink2);margin-top:3px;font-size:11px}.pp .task .th{color:var(--p-ink3);margin-top:4px;font-size:10.5px;line-height:1.45;display:none}.pp .task.open .th{display:block}.pp .task .more{color:var(--p-cyan);cursor:pointer;margin-top:4px;font-size:10px;font-weight:600;display:inline-block}.pp .progwrap{background:linear-gradient(135deg, color-mix(in srgb, var(--p-green) 12%, transparent), var(--p-card));border:1px solid color-mix(in srgb, var(--p-green) 26%, transparent);border-radius:16px;align-items:center;gap:11px;margin-bottom:14px;padding:13px 15px;display:flex}.pp .progring{flex-shrink:0;width:46px;height:46px;position:relative}.pp .progring .pn{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--p-green);justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;position:absolute;inset:0}.pp .progwrap .pt{color:var(--p-ink);font-size:13px;font-weight:700}.pp .progwrap .ps{color:var(--p-ink2);margin-top:2px;font-size:11px}.pp .phasebar{margin:0 0 13px}.pp .phasebar .segs{gap:5px;display:flex}.pp .phasebar .seg{background:var(--p-line);border-radius:4px;flex:1;height:6px}.pp .phasebar .seg.done{background:var(--p-green)}.pp .phasebar .seg.cur{background:var(--p-cyan)}.pp .phasebar .pinfo{color:var(--p-ink3);font-size:10px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:6px;display:flex}.pp .linkrow{width:100%;min-height:44px;color:var(--p-cyan);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:7px;margin-top:4px;font-size:12px;font-weight:600;display:flex}.pp .store{background:var(--p-store);border-color:color-mix(in srgb, var(--p-cyan) 30%, transparent);position:relative;overflow:hidden}.pp .store:after{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--p-cyan) 25%, transparent), transparent 70%);border-radius:50%;width:140px;height:140px;position:absolute;top:-30px;right:-30px}.pp .store .st{color:var(--p-ink);font-size:16px;font-weight:700;position:relative}.pp .store .ss{color:var(--p-ink2);max-width:82%;margin-top:4px;font-size:12px;line-height:1.4;position:relative}.pp .store .sbtn{background:var(--p-cyan);min-height:44px;color:var(--primary-foreground);border-radius:13px;align-items:center;gap:8px;margin-top:14px;padding:11px 16px;font-size:12.5px;font-weight:700;text-decoration:none;transition:all .18s;display:inline-flex;position:relative}.pp .store .sbtn:hover{box-shadow:var(--p-glow);transform:translateY(-1px)}.pp .tl{padding-left:8px;position:relative}.pp .tle{border-left:2px solid var(--p-line);padding:0 0 18px 26px;position:relative}.pp .tle:last-child{border-left-color:#0000;padding-bottom:0}.pp .tle .node{background:var(--p-card);border:2px solid var(--p-ink3);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;display:flex;position:absolute;top:1px;left:-9px}.pp .tle.cur .node{border-color:var(--p-cyan);box-shadow:0 0 0 4px color-mix(in srgb, var(--p-cyan) 15%, transparent)}.pp .tle.cur .node:after{content:"";background:var(--p-cyan);border-radius:50%;width:6px;height:6px}.pp .tle .td{color:var(--p-ink3);font-size:9.5px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.pp .tle .tt{color:var(--p-ink);flex-wrap:wrap;align-items:center;gap:7px;margin-top:2px;font-size:13px;font-weight:600;display:flex}.pp .tle .tg{text-transform:uppercase;background:color-mix(in srgb, var(--p-cyan) 12%, transparent);color:var(--p-cyan);border-radius:5px;padding:2px 6px;font-size:8.5px;font-weight:700}.pp .tle .tx{color:var(--p-ink2);margin-top:3px;font-size:11px;line-height:1.45}.pp .doc{border:1px solid var(--p-line);background:var(--p-surface);cursor:pointer;border-radius:15px;align-items:center;gap:12px;min-height:62px;margin-bottom:9px;padding:12px 13px;text-decoration:none;transition:all .18s;display:flex}.pp .doc:hover{border-color:var(--p-cyan);transform:translate(2px)}.pp .doc .di{border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.pp .doc .dn{color:var(--p-ink);font-size:13px;font-weight:600}.pp .doc .ds{color:var(--p-ink3);margin-top:2px;font-size:11px}.pp .doc .dl{background:var(--p-card);border:1px solid var(--p-line);width:34px;height:34px;color:var(--p-cyan);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;display:flex}.pp .section-lbl{letter-spacing:.1em;text-transform:uppercase;color:var(--p-ink3);flex-wrap:wrap;align-items:center;gap:8px;margin:22px 4px 11px;font-size:10px;font-weight:700;display:flex}.pp .section-lbl .accent{color:var(--p-cyan);text-transform:none;letter-spacing:0}.pp .section-lbl .cnt{font-family:var(--font-mono);color:var(--p-cyan)}.pp .empty{text-align:center;color:var(--p-ink3);padding:26px 18px;font-size:12px;line-height:1.5}.pp .fab{z-index:35;background:var(--p-wa);color:#fff;width:54px;height:54px;box-shadow:0 10px 28px -6px color-mix(in srgb, var(--p-wa) 65%, transparent);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:flex;position:absolute;bottom:88px;right:18px}@media (prefers-reduced-motion:no-preference){.pp .fab{animation:3s ease-in-out infinite pp-fabp}}@keyframes pp-fabp{0%,to{box-shadow:0 10px 28px -6px color-mix(in srgb, var(--p-wa) 60%, transparent)}50%{box-shadow:0 10px 28px -6px color-mix(in srgb, var(--p-wa) 60%, transparent), 0 0 0 10px color-mix(in srgb, var(--p-wa) 8%, transparent)}}.pp .nav{z-index:34;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--p-surface) 88%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--p-line);display:flex;position:absolute;bottom:0;left:0;right:0}.pp .navb{min-height:52px;color:var(--p-ink3);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:8px 0;transition:all .18s;display:flex}.pp .navb .nl{font-size:9.5px;font-weight:600}.pp .navb.on{color:var(--p-cyan)}.pp .navb.on svg{filter:drop-shadow(0 0 8px color-mix(in srgb, var(--p-cyan) 50%, transparent))}.pp .disc{color:var(--p-ink3);text-align:center;border-top:1px solid var(--p-line2);margin-top:20px;padding-top:14px;font-size:9.5px;line-height:1.5}.pp .toast{z-index:40;background:var(--p-green);color:#04140a;box-shadow:0 10px 30px -8px color-mix(in srgb, var(--p-green) 60%, transparent);opacity:0;pointer-events:none;border-radius:999px;align-items:center;gap:7px;padding:10px 18px;font-size:12px;font-weight:700;transition:all .3s;display:flex;position:absolute;bottom:158px;left:50%;transform:translate(-50%)translateY(20px)}.pp .toast.show{opacity:1;transform:translate(-50%)translateY(0)}.pp .iconbtn[type=submit]{background:color-mix(in srgb, var(--p-surface) 60%, var(--p-card))}@media (prefers-reduced-motion:reduce){.pp .ring .prog,.pp .goalbar .gf,.pp .sys .fill,.pp .progring circle{transition:none}}