.public-shell{position:relative;z-index:1;min-height:100dvh;display:flex;flex-direction:column}.public-header{padding:calc(20px + var(--safe-t)) 22px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.public-brand{display:flex;align-items:baseline;gap:8px;font-family:var(--font-d);font-weight:700;font-size:1.05rem;letter-spacing:-.02em}.public-brand-sub{font-family:var(--font-m);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.public-hero{padding:40px 22px 32px;text-align:left}.public-hero h1{font-size:clamp(2rem,1.6rem + 3vw,3.4rem);font-weight:600;letter-spacing:-.035em;line-height:1;margin-bottom:14px}.public-hero h1 span{color:var(--lime)}.public-hero p{color:var(--dim);font-size:16px;max-width:42ch;margin:0 0 28px;line-height:1.5}.stepper{display:flex;gap:8px;padding:0 22px 20px}.stepper .step{flex:1 1;height:4px;background:var(--ink-2);border-radius:2px;transition:background .24s var(--e-out)}.stepper .step.done{background:var(--lime)}.stepper .step.on{background:var(--paper)}.step-panel{padding:24px 22px 32px;flex:1 1;display:flex;flex-direction:column}.step-panel h2{font-size:clamp(1.3rem,1.1rem + .9vw,1.65rem);margin-bottom:4px}.step-panel .step-sub{color:var(--muted);font-size:14px;margin-bottom:24px}.choice-list{display:flex;flex-direction:column;gap:10px}.choice{display:flex;align-items:center;gap:14px;padding:16px;background:var(--ink-1);border:1px solid var(--line);border-radius:14px;cursor:pointer;transition:border-color .14s,background .14s;text-align:left;color:var(--paper);min-height:68px}.choice:hover{border-color:var(--paper)}.choice.on{border-color:var(--lime);background:color-mix(in srgb,var(--lime) 5%,transparent)}.choice-thumb{width:48px;height:48px;background:var(--ink-3);border-radius:10px;display:grid;place-items:center;font-family:var(--font-d);font-weight:700;font-size:15px;color:var(--paper);flex:none}.choice-body{flex:1 1;min-width:0}.choice-body b{display:block;font-family:var(--font-d);font-weight:600;font-size:15.5px;color:var(--paper);letter-spacing:-.005em}.choice-body span{display:block;font-size:12.5px;color:var(--muted);margin-top:3px}.choice-body span.choice-desc{color:var(--dim);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.choice.on .choice-body span.choice-desc{-webkit-line-clamp:unset;display:block}.cat-grupo+.cat-grupo{margin-top:18px}.cat-titulo{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 8px 2px;font-weight:600}.choice-body b .tag-destaque{display:inline-block;margin:0 0 0 8px;vertical-align:2px;font-family:var(--font-b,inherit);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:999px;color:var(--lime);background:color-mix(in srgb,var(--lime) 12%,transparent)}.credito-card{display:flex;align-items:flex-start;gap:12px;margin-top:14px;padding:14px;background:color-mix(in srgb,var(--lime) 6%,transparent);border:1px solid color-mix(in srgb,var(--lime) 35%,transparent);border-radius:12px;cursor:pointer}.credito-card input{width:20px;height:20px;margin-top:2px;flex-shrink:0;accent-color:var(--lime)}.credito-body{display:grid;grid-gap:3px;gap:3px}.credito-body b{font-family:var(--font-d);font-size:14.5px;color:var(--paper)}.credito-body span{font-size:12.5px;color:var(--dim);line-height:1.4}.choice-price{font-family:var(--font-d);font-weight:600;font-size:15.5px;color:var(--lime);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex:none}.day-picker{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -22px 22px;padding:2px 22px 8px;scrollbar-width:none}.day-picker::-webkit-scrollbar{display:none}.day{flex:none;scroll-snap-align:start;width:60px;padding:10px 4px;border-radius:10px;border:1px solid var(--line);background:var(--ink-1);text-align:center;cursor:pointer;transition:border-color .14s,background .14s}.day:hover{border-color:var(--paper)}.day.on{border-color:var(--lime);background:var(--lime);color:var(--ink-0)}.day .dow{font-family:var(--font-m);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.day.on .dow{color:var(--ink-0)}.day .num{font-family:var(--font-d);font-weight:600;font-size:20px;line-height:1.2;color:var(--paper);margin-top:2px}.day.on .num{color:var(--ink-0)}.slots{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.slot{padding:14px 8px;border-radius:10px;border:1px solid var(--line);background:var(--ink-1);cursor:pointer;text-align:center;font-family:var(--font-m);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:14px;color:var(--paper);transition:border-color .14s,background .14s;min-height:48px}.slot:hover:not(:disabled){border-color:var(--paper)}.slot.on{border-color:var(--lime);background:var(--lime);color:var(--ink-0)}.slot:disabled{opacity:.3;cursor:not-allowed;text-decoration:line-through}.book-footer{position:-webkit-sticky;position:sticky;bottom:0;padding:14px 22px calc(14px + var(--safe-b));background:color-mix(in srgb,var(--ink-0) 88%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);display:flex;align-items:center;gap:12px}.book-summary{flex:1 1;min-width:0;font-family:var(--font-m);font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.book-summary b{display:block;font-family:var(--font-d);font-weight:600;font-size:17px;color:var(--paper);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em;text-transform:none}.book-footer .btn{flex:0 0 auto}.success-page{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 22px;text-align:center;min-height:60dvh}.success-check{width:72px;height:72px;border-radius:50%;background:var(--lime);color:var(--ink-0);display:grid;place-items:center;margin-bottom:22px}.success-page h1{margin-bottom:8px;font-size:1.75rem}.success-page p{color:var(--dim);font-size:15px;max-width:30ch;margin:0 0 22px}.success-summary{background:var(--ink-1);border:1px solid var(--line);border-radius:14px;padding:20px;width:100%;max-width:340px;margin-bottom:22px}.success-summary .row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px}.success-summary .row b{color:var(--paper);font-weight:600}.success-summary .row span{color:var(--muted)}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.app-content{padding:20px 18px calc(20px + var(--bottom-nav) + var(--safe-b))}.app-header{padding:calc(14px + var(--safe-t)) 20px 14px}.app-header .ah-actions{display:none}.app-header .ah-actions.always{display:flex}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;z-index:20;height:calc(var(--bottom-nav) + var(--safe-b));padding-bottom:var(--safe-b);background:rgba(20,20,22,.94);-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);border-top:1px solid var(--line)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-family:var(--font-b);font-size:10px;font-weight:500;padding:8px 4px}.bottom-nav a .ico{width:22px;height:22px}.bottom-nav a.on{color:var(--paper)}.bottom-nav a.on .ico{color:var(--lime)}.card-list{grid-template-columns:1fr}.kpi .v{font-size:2rem}h1{font-size:clamp(1.6rem,1.3rem + 2vw,2.2rem)}}@media (min-width:601px) and (max-width:900px){.card-list{grid-template-columns:repeat(2,1fr)}.slots{grid-template-columns:repeat(4,1fr)}}@media (min-width:901px){.public-shell{max-width:920px;margin:0 auto;padding:0 32px}.public-header{padding-top:24px}.public-header,.stepper{padding-left:0;padding-right:0}.stepper{max-width:620px}.step-panel{padding:36px 0 40px}.step-panel h2{font-size:1.9rem}.step-panel .step-sub{font-size:15px}.choice-list{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px;align-content:start}.slots{grid-template-columns:repeat(6,1fr);gap:10px}.book-footer{padding-left:0;padding-right:0}}@media (min-width:1280px){.public-shell{max-width:1040px}.slots{grid-template-columns:repeat(7,1fr)}}.step-panel{animation:fadeInUp .32s var(--e-out)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.choice,.day,.slot{transition:border-color .16s var(--e-out),background .16s var(--e-out),transform .14s var(--e-fast)}.choice:active:not(:disabled),.day:active,.slot:active:not(:disabled){transform:scale(.98)}.stepper .step.done,.stepper .step.on{animation:stepFill .4s var(--e-out)}@keyframes stepFill{0%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}.success-check{animation:checkPop .5s var(--e-out)}@keyframes checkPop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.1);opacity:1}to{transform:scale(1)}}