
:root{--ink:#17352b;--txt:#2a3b34;--mut:#667a72;--g:#1f7a5a;--gd:#12392d;--mint:#e8f4ee;--paper:#fbfdfc;--amber:#f0a43c;--line:#d9e6df;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:16px/1.55 'Nunito Sans',system-ui,sans-serif;color:var(--txt);background:var(--paper)}
h1,h2,h3,h4{font-family:'Bricolage Grotesque','Nunito Sans',sans-serif;color:var(--ink);line-height:1.1;margin:0 0 .5rem;letter-spacing:-.02em}
h1{font-size:clamp(2.4rem,7vw,4.6rem)}h2{font-size:clamp(1.6rem,4vw,2.4rem)}h3{font-size:1.2rem}
a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.wrap{max-width:1120px;margin:0 auto;padding:0 1.1rem}section{padding:3.5rem 0}
.muted,small{color:var(--mut);font-size:.9rem}.err{color:#b3261e;font-size:.9rem;min-height:1.2em;margin:.3rem 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--g);color:#fff;border:0;border-radius:10px;padding:.75rem 1.2rem;font-weight:700;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--gd)}.btn.sm{padding:.45rem .8rem;font-size:.85rem}
.btn.ghost{background:transparent;color:var(--g);border:2px solid var(--line)}.btn.ghost:hover{border-color:var(--g);background:var(--mint)}
.btn.danger{background:#fff;color:#b3261e;border:2px solid #f0c9c5}
.row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
header.top{position:sticky;top:0;z-index:20;background:rgba(251,253,252,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font:800 1.4rem 'Bricolage Grotesque';color:var(--g);text-decoration:none}.logo span{color:var(--amber)}
nav a{margin-right:1rem;text-decoration:none;font-weight:700;font-size:.9rem}nav{display:none}
#cartBtn{position:relative}#cartBadge{background:var(--amber);color:var(--gd);border-radius:99px;min-width:1.4rem;padding:0 .35rem;font-size:.8rem}
.hero{background:var(--gd);color:#e8f4ee;padding:4rem 0}.hero h1{color:#fff}.hero .wrap{display:grid;gap:2rem}
.hero p{font-size:1.1rem;max-width:34rem}.hero .btn:first-of-type{background:var(--amber);color:var(--gd)}
#goals{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
#goals button{width:100%;text-align:left;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-left:5px solid var(--amber);border-radius:10px;padding:.7rem .9rem;color:#fff;cursor:pointer}
#goals button:hover{background:rgba(255,255,255,.14)}#goals b{display:block}#goals small{color:#b8d4c7;display:block;margin-top:.15rem}
.tools{display:flex;flex-direction:column;gap:.8rem;margin:1rem 0 1.5rem}
input,select,textarea{width:100%;padding:.65rem .8rem;border:1.5px solid var(--line);border-radius:10px;background:#fff}
input[readonly]{background:var(--mint)}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{border:1.5px solid var(--line);background:#fff;border-radius:99px;padding:.4rem .9rem;cursor:pointer;font-size:.85rem;font-weight:600}
.chip.on{background:var(--g);border-color:var(--g);color:#fff}
#grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1rem;display:flex;flex-direction:column;gap:.4rem}
.pic{border:0;padding:0;cursor:pointer;background:none}.pic,.thumb{overflow:hidden}
.pic{height:150px;border-radius:10px;background:var(--mint)}.pic img,.thumb img{width:100%;height:100%;object-fit:cover}
.ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font:800 2rem 'Bricolage Grotesque';color:var(--g)}
.card .muted{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}
.foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto;padding-top:.6rem}.price{font-size:1.2rem;color:var(--g)}
.thumb{width:52px;height:52px;border-radius:10px;background:var(--mint);flex:none}.thumb.big{width:96px;height:96px}.thumb .ph{font-size:1.1rem}
.tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0}.tag{background:var(--mint);color:var(--g);border-radius:99px;padding:.15rem .65rem;font-size:.78rem;font-weight:700}
#quiz{background:var(--mint)}.qbox{background:#fff;border-radius:20px;padding:1.4rem;max-width:720px;border:1px solid var(--line)}
.bar{height:8px;background:var(--line);border-radius:9px;overflow:hidden;margin-bottom:1.2rem}#quizBar{height:100%;width:0;background:var(--g);transition:width .4s}
.opts{display:grid;gap:.6rem}.opt{text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:.85rem 1rem;cursor:pointer;font-weight:600}.opt:hover{border-color:var(--g);background:var(--mint)}
.rec,.line,.arow{display:flex;align-items:center;gap:.8rem;border:1px solid var(--line);border-radius:12px;padding:.6rem;margin-top:.6rem;background:#fff}.rec>div:nth-child(2),.line>div:nth-child(2),.arow>div:first-child{flex:1}
.banner{background:var(--g);color:#fff}.banner .wrap{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}.banner h2{color:#fff;margin:0}.banner .btn{background:#fff;color:var(--gd)}
footer{padding:2rem 0;color:var(--mut);font-size:.9rem}
#nutriFab{position:fixed;right:1rem;bottom:1rem;z-index:15;background:#1faa59;border-radius:99px;box-shadow:0 6px 18px rgba(0,0,0,.25)}
#toast{position:fixed;left:50%;bottom:5rem;transform:translate(-50%,2rem);opacity:0;background:var(--gd);color:#fff;padding:.7rem 1.2rem;border-radius:10px;transition:.25s;z-index:60;pointer-events:none}#toast.on{opacity:1;transform:translate(-50%,0)}
dialog{border:0;border-radius:20px;padding:1.4rem;max-width:560px;width:calc(100% - 2rem)}dialog::backdrop{background:rgba(10,30,22,.6)}.mhead{display:flex;gap:1rem;align-items:center;margin-bottom:.8rem}
#drawer{position:fixed;inset:0;z-index:50;background:rgba(10,30,22,.6);display:none;justify-content:flex-end}#drawer.open{display:flex}
#drawer aside{background:#fff;width:min(100%,460px);height:100%;overflow-y:auto;padding:1.2rem}
.qty{display:flex;align-items:center;gap:.4rem}.qty button,.x{width:28px;height:28px;border:1px solid var(--line);background:#fff;border-radius:8px;cursor:pointer}.x{border:0;color:var(--mut)}
.sum{background:var(--mint);border-radius:12px;padding:.8rem 1rem;margin:1rem 0}.sum div{display:flex;justify-content:space-between;gap:1rem}.sum .t{font-weight:800;font-size:1.1rem;color:var(--ink)}
.fields{display:grid;gap:.7rem}.fields label{display:grid;gap:.25rem;font-size:.85rem;font-weight:700}.g2{display:grid;gap:.7rem;grid-template-columns:1fr 1fr}
fieldset{border:1.5px solid var(--line);border-radius:12px}.chk{display:flex!important;grid-template-columns:none;align-items:center;gap:.5rem;font-weight:600!important}.chk input{width:auto}
.empty{text-align:center;color:var(--mut);padding:1.5rem 0}
.atabs{display:flex;gap:.5rem;margin:1rem 0}.atabs .on{background:var(--g);color:#fff}
.panel .form{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1rem;margin-top:1rem}
@media(min-width:800px){nav{display:block}.hero .wrap{grid-template-columns:1.1fr .9fr;align-items:center}.tools{flex-direction:row;align-items:center}.tools input{max-width:300px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.hactions{display:flex;gap:.5rem}.atabs{flex-wrap:wrap}.ro{background:var(--mint);border-radius:10px;padding:.5rem .8rem;margin:.5rem 0;font-size:.9rem}
@media(max-width:480px){.hactions .btn{padding:.4rem .6rem;font-size:.75rem}}
.foto{display:flex;gap:1rem;align-items:flex-start;flex-wrap:wrap}.foto .fields{flex:1;min-width:200px}
.tw{overflow-x:auto;margin-bottom:1rem}table{width:100%;border-collapse:collapse;font-size:.88rem;background:#fff}th,td{padding:.45rem .6rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:var(--mint);white-space:nowrap}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem}.kpi{background:var(--mint);border-radius:12px;padding:.7rem}.kpi b{display:block;font-size:1.3rem;color:var(--ink)}
[hidden]{display:none!important}
.mb{display:none}.hactions .btn{white-space:nowrap}
@media(max-width:600px){.dk{display:none}.mb{display:inline}}

.testbar{background:#fff3d6;color:#6b4a00;text-align:center;font-size:.8rem;padding:.4rem .7rem}

:root{--surface:#fff;--bad:#b3261e;color-scheme:light}
html[data-theme="dark"]{--ink:#e3f4ea;--txt:#d4e5dc;--mut:#9eb8aa;--g:#6bddac;--gd:#102b21;--mint:#1b3629;--paper:#101c16;--line:#355045;--surface:#182a20;--bad:#ffaba2;color-scheme:dark}
html[data-theme="dark"] header.top{background:rgba(16,28,22,.96)}
input,select,textarea,.card,.qbox,.opt,.rec,.line,.arow,dialog,#drawer aside,.panel .form,table,.chip,.qty button,.x{background:var(--surface);color:var(--txt)}
html[data-theme="dark"] .btn:not(.ghost):not(.danger){color:#102b21}
html[data-theme="dark"] .banner{background:#234d39}
.btn.danger{background:var(--surface);color:var(--bad)}.err{color:var(--bad)}
button:disabled{opacity:.5;cursor:not-allowed}.stock{font-size:.85rem;font-weight:700;color:var(--g)}.stock.off{color:var(--bad)}
.hero{position:relative;background:linear-gradient(90deg,rgba(8,34,24,.95),rgba(8,34,24,.78) 48%,rgba(8,34,24,.42)),url('images/hero.webp') center/cover no-repeat;min-height:560px;display:flex;align-items:center}
.hero #goals button{backdrop-filter:blur(5px);background:rgba(5,30,19,.48)}
.testbar{background:var(--mint);color:var(--txt)}#themeToggle{font-size:1.1rem;min-width:44px;min-height:44px}.hactions{align-items:center}
#drawer aside{overscroll-behavior:contain}.hero .wrap{width:100%}.status-note{padding:.8rem;border:1px solid var(--line);border-radius:10px;background:var(--mint)}
@media(max-width:480px){.hero{background-position:65% center}.arow,.line{flex-wrap:wrap}.rec{flex-wrap:wrap}.hactions{gap:.25rem}.hactions .btn{padding:.35rem .4rem}.g2{grid-template-columns:1fr}}

@media(max-width:480px){header .wrap{height:auto;min-height:64px;flex-wrap:wrap;gap:.6rem;padding-top:.7rem;padding-bottom:.7rem}.hactions{margin-left:auto}.hero{min-height:auto;padding:3rem 0}#nutriFab{font-size:.85rem}.hero #goals small{font-size:.85rem}}

.photo-select{padding:0;border:2px dashed var(--g);cursor:pointer;position:relative}.photo-select:hover{outline:3px solid var(--amber)}.payment{padding:1rem 0}.payment #pixQr{display:block;max-width:100%;height:auto;margin:1rem auto;border-radius:8px;background:white}.payment label:not(.chk){display:grid;gap:.4rem}.payment textarea{font-family:monospace;word-break:break-all}.payment #pixPaid{flex:none}.btn.telegram{background:#07668f;color:white}.btn.telegram:hover{background:#064d6c;color:white}#copyOrder,#newOrder,#copyPix{margin-top:.7rem}

.manufacturer-filter{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:1.2rem 0}.manufacturer-filter select{max-width:100%;min-width:220px}.maker-picker{position:relative}.maker-options{border:1px solid var(--line);border-radius:12px;max-height:240px;overflow-y:auto;background:var(--surface);margin:.4rem 0}.maker-options button{display:block;text-align:left;width:100%;padding:.8rem;border:0;background:transparent;color:inherit;cursor:pointer}.maker-options button:hover,.maker-options button[aria-selected=true]{background:var(--mint)}.maker-options p{padding:.8rem}.save-feedback{padding:1rem;border-radius:12px;margin:1rem 0;border:1px solid currentColor}.save-feedback.success{color:var(--g)}.save-feedback.error{color:var(--bad)}.arow{flex-wrap:wrap}

#panel,.panel .form{scroll-margin-top:110px}

html[data-theme="dark"] .btn{background:#6bddac;color:#102b21}html[data-theme="dark"] .btn:hover{background:#a6efcf;color:#102b21}html[data-theme="dark"] .btn.ghost{background:transparent;color:#6bddac}html[data-theme="dark"] .btn.ghost:hover{background:#1b3629;color:#a6efcf}html[data-theme="dark"] .btn.danger{color:#ffaba2;background:#182a20}html[data-theme="dark"] .btn.danger:hover{color:#fff;background:#7b2929}html[data-theme="dark"] .btn.telegram{color:#071d29;background:#86cff5}html[data-theme="dark"] .btn.telegram:hover{color:#071d29;background:#bde6fc}html[data-theme="dark"] .chip:hover,html[data-theme="dark"] .opt:hover{color:var(--ink);background:var(--mint)}#checkoutDetails,#backCart{margin-top:1rem}.smart-status{white-space:pre-line}

.quiz-toolbar{display:flex;flex-wrap:wrap;gap:.6rem;position:sticky;top:80px;z-index:5;background:var(--paper);padding:.75rem 0}.quiz-editor{border:1px solid var(--line);border-radius:12px;padding:1rem;margin:.8rem 0;background:var(--surface)}.quiz-editor summary{cursor:pointer;font-weight:700}.quiz-editor[open]>.fields{margin-top:1rem}.quiz-products{max-height:300px;overflow-y:auto;border:1px solid var(--line);border-radius:10px;padding:.7rem}.quiz-products .chk{padding:.35rem 0;flex-wrap:wrap}.quiz-scores{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem}.quiz-option{border:1px solid var(--line);padding:1rem;border-radius:10px;margin:.5rem 0;display:grid;gap:.8rem}#quizMax{max-width:120px;margin:.8rem 0}#quizPreview{margin-top:1rem}#quizPreview .opt{display:block;width:100%;margin:.5rem 0}
/* Vitrine editorial e carrosséis: 336px = 3/5 do hero anterior (560px). */
.promotions{padding:0}.promotion-shell{position:relative}.promotion-stage{position:relative;isolation:isolate;min-height:336px;overflow:hidden;background:#174b37}.promotion-slide{max-width:1120px;min-height:336px;margin:auto;display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:2rem;padding:1.4rem 4.4rem 3rem;color:white}.promotion-copy{position:relative;z-index:2;padding:1rem;border-radius:20px;background:rgba(6,23,17,.55);backdrop-filter:blur(8px)}.promotion-copy h2{color:#fff;font-size:clamp(1.5rem,2.8vw,2.5rem);margin:.6rem 0}.promotion-copy p{margin:.5rem 0;line-height:1.35}.promotion-kicker{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:#c9f5d7}.promotion-price{font-weight:700}.promotion-visual img{width:100%;max-height:260px;object-fit:contain;filter:drop-shadow(0 18px 22px rgba(0,0,0,.25))}.promotion-visual{min-width:0}.promotion-art{display:flex;align-items:center;justify-content:center;gap:1rem;color:#cdf2d8}.promotion-art span{font-size:8rem;font-weight:300}.promotion-art b{font-size:2rem;line-height:1;letter-spacing:-.06em}.carousel-arrow{position:absolute;top:44%;border:1px solid #ffffff66;background:#102b21b3;color:white;width:42px;height:42px;border-radius:50%;cursor:pointer;font-size:1.8rem;z-index:3}.carousel-arrow:hover{background:#102b21}.carousel-arrow.prev{left:1rem}.carousel-arrow.next{right:1rem}.promotion-controls{position:absolute;bottom:.7rem;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:1rem;z-index:3}.promotion-dots{display:flex;gap:.5rem}.promotion-dot{padding:0;width:9px;height:9px;background:#ffffff77;border:1px solid white;border-radius:50%;cursor:pointer}.promotion-dot.selected{background:white;box-shadow:0 0 0 3px #ffffff33}.promotion-pause{border:0;background:#102b21bb;color:white;border-radius:20px;font-size:.75rem;padding:.35rem .75rem;cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.hero{min-height:280px;padding:1.3rem 0}.hero .wrap{grid-template-columns:1.1fr 1fr;gap:1.5rem}.hero h1{font-size:clamp(1.6rem,2.7vw,2.3rem);max-width:560px}.hero p{font-size:.9rem;margin:.6rem 0}.hero #goals{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.hero #goals button{padding:.45rem .65rem;font-size:.75rem}.hero #goals small{display:none}.hero .btn{font-size:.85rem;padding:.55rem .8rem}
#grid{display:block}.catalog-row{padding:1.2rem 0}.catalog-row-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.catalog-row-heading h3{font-size:1.15rem;margin:0}.rail-actions{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.rail-arrow{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:50%;width:34px;height:34px;font-size:1.5rem;cursor:pointer}.rail-arrow:hover{background:var(--mint)}button:disabled{opacity:.45;cursor:not-allowed}.product-rail{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:3px}.product-rail::-webkit-scrollbar{display:none}.product-rail .card{flex:0 0 calc((100% - 3rem)/4);scroll-snap-align:start;min-width:0}.card h3{font-size:1.05rem}.price del{font-size:.75rem;color:var(--mut);font-weight:400;display:block}.catalog-mode{display:flex;align-items:center;gap:.75rem;margin:.75rem 0}.catalog-mode select{width:auto}
.admin-header .wrap{max-width:1500px}.admin-header-actions{display:flex;align-items:center;gap:1rem}.admin-header #who{font-weight:800;color:var(--ink);cursor:pointer;list-style:none}.admin-header details{position:relative}.account-dropdown{position:absolute;right:0;top:2rem;padding:.6rem;min-width:180px;border:1px solid var(--line);background:var(--surface);box-shadow:0 15px 45px #0002;border-radius:12px;display:grid;gap:.5rem;z-index:25}#adminView>main{max-width:1500px}.admin-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:2rem;padding-top:1.4rem}.admin-sidebar{position:sticky;top:85px;align-self:start;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1rem}.menu-caption{font-size:.65rem;letter-spacing:.15em;color:var(--mut);font-weight:800;margin:.2rem 0 1rem}.admin-sidebar nav{display:flex!important;flex-direction:column;gap:.4rem}.admin-sidebar .btn{justify-content:flex-start;width:100%;border:0;border-radius:9px;padding:.7rem .9rem}.admin-sidebar .btn.on,html[data-theme=dark] .admin-sidebar .btn.on{background:var(--g);color:var(--gd);box-shadow:inset 3px 0 0 var(--amber)}html:not([data-theme=dark]) .admin-sidebar .btn.on{color:white}.admin-content{padding:.8rem 0;min-width:0}.admin-welcome{padding:clamp(1.5rem,5vw,4rem);border:1px solid var(--line);background:var(--surface);border-radius:20px}.admin-welcome h1{font-size:2.4rem;margin:1.4rem 0 .7rem}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.banner-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);gap:1.5rem;margin-top:1rem}.banner-preview-column{position:sticky;top:90px;align-self:start}.banner-preview-column .promotion-slide{grid-template-columns:1fr;padding:1rem 1rem 2rem;gap:.6rem;min-height:336px}.banner-preview-column .promotion-visual img{max-height:150px}.banner-preview-column .promotion-copy h2{font-size:1.5rem}.banner-photo{height:130px;border-radius:12px;background:var(--mint);color:var(--g);overflow:hidden}.banner-photo img{max-height:100%;max-width:100%;object-fit:contain}
@media(max-width:1049px){.product-rail .card{flex-basis:calc((100% - 2rem)/3)}.banner-editor-layout{grid-template-columns:1fr}.banner-preview-column{position:static}.admin-layout{grid-template-columns:190px minmax(0,1fr);gap:1rem}}
@media(max-width:749px){.product-rail .card{flex-basis:calc((100% - 1rem)/2)}.hero .wrap{grid-template-columns:1fr}.hero{min-height:280px;padding:1rem 0}.hero #goals{display:none}.promotion-slide{gap:1rem;padding:1.4rem 3.2rem 3rem;grid-template-columns:1.4fr 1fr}.carousel-arrow.prev{left:.4rem}.carousel-arrow.next{right:.4rem}.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:static}.admin-sidebar nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-header-actions{gap:.5rem}.admin-header .wrap{height:auto;min-height:64px;gap:.7rem}.rail-actions .muted{display:none}.promotion-copy p{font-size:.85rem}}
@media(max-width:479px){.product-rail .card{flex-basis:100%}.promotion-slide{grid-template-columns:1fr;padding:1rem 3rem 3rem}.promotion-visual{display:none}.promotion-stage,.promotion-slide{min-height:336px}.promotion-copy{padding:.8rem}.promotion-copy h2{font-size:1.7rem}.admin-sidebar nav{grid-template-columns:1fr}.catalog-row-heading h3{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html,.product-rail{scroll-behavior:auto}}

.promotion-copy>p:not(.promotion-price){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.promotion-copy h2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:479px){.promotion-visual{display:block;position:absolute;inset:0;z-index:-1;opacity:.35;pointer-events:none}.promotion-visual img{width:100%;height:100%;max-height:none;object-fit:cover}.promotion-visual .promotion-art{display:none}}
/* Versão 7: primeiro slide editorial e carrossel 1/3 mais alto (336 -> 448px). */
.promotion-stage,.promotion-slide,.intro-slide .hero{min-height:448px}.intro-slide .hero{margin:0;padding:1.5rem 0}.intro-slide .hero .wrap{padding:1.4rem 4.4rem 3rem}.intro-slide .hero #goals small{display:block;font-size:.7rem}.promotion-visual img{mix-blend-mode:multiply;filter:none}.no-blend .promotion-visual img{mix-blend-mode:normal}.promotion-visual{isolation:auto}.banner-preview-column .promotion-slide{min-height:448px}.banner-preview-column .promotion-visual img{max-height:210px}
.nutri-section{min-height:420px}.nutri-section .wrap.nutri-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:2rem}.nutri-intro h2{font-size:clamp(1.7rem,3vw,2.5rem)}.nutri-intro>.muted{color:#d8eddf;margin-top:1rem}.web-chat{background:var(--surface);color:var(--txt);border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 60px #061c1730;min-width:0;overflow:hidden;scroll-margin-top:85px}.chat-heading{display:flex;align-items:center;gap:.7rem;padding:1rem;border-bottom:1px solid var(--line)}.chat-heading small{display:block;font-size:.7rem}.chat-heading .tag{margin-left:auto;font-size:.65rem}.chat-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--mint);color:var(--g);font-weight:800;flex-shrink:0}.chat-messages{height:290px;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.8rem;overscroll-behavior:contain}.chat-bubble{max-width:90%;padding:.75rem .9rem;border-radius:14px;font-size:.9rem;line-height:1.5;overflow-wrap:anywhere}.chat-bubble>div{white-space:pre-wrap}.chat-bubble small{display:block;font-size:.66rem;margin-bottom:.3rem}.from-ai{align-self:flex-start;background:var(--mint);border-bottom-left-radius:3px;color:var(--ink)}.from-user{align-self:flex-end;background:var(--g);color:white;border-bottom-right-radius:3px}.from-user small{color:inherit;opacity:.8}.chat-consent{padding:.8rem 1rem;border-top:1px solid var(--line);font-size:.8rem}.chat-consent p{margin:0 0 .7rem}.chat-compose{display:flex;align-items:center;gap:.5rem;padding:.8rem 1rem;border-top:1px solid var(--line)}.chat-compose textarea{resize:none;min-width:0}.chat-actions{display:flex;gap:.5rem;flex-wrap:wrap;padding:0 1rem 1rem}.web-chat>.err{padding:0 1rem}.nutri-section .web-chat .btn{background:var(--g);color:white}.nutri-section .web-chat .btn.ghost{color:var(--g);background:transparent}.chat-finish-modal{width:min(95vw,560px);padding:1.5rem;border:1px solid var(--line);border-radius:18px}.chat-finish-modal::backdrop{background:#071b19aa}.clinical-messages{display:flex;flex-direction:column;gap:.6rem;max-height:420px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;padding:1rem;margin:1rem 0}.error-details{white-space:pre-wrap;overflow-wrap:anywhere;max-width:700px;max-height:350px;overflow:auto;font-size:.75rem}#clinicalDetail{margin-top:2rem}#reviewedText{white-space:pre-wrap}.smart-tabs{margin-bottom:1rem}
html[data-theme=dark] .from-user{color:#102b21}html[data-theme=dark] .nutri-section .web-chat .btn{color:#102b21}html[data-theme=dark] .nutri-section .web-chat .btn:hover{background:#a6efcf}html[data-theme=dark] .nutri-section .web-chat .btn.ghost{color:var(--g);background:transparent}html[data-theme=dark] .nutri-section .web-chat .btn.ghost:hover{background:var(--mint)}
@media(max-width:749px){.nutri-section .wrap.nutri-layout{grid-template-columns:1fr}.intro-slide .hero .wrap{padding:1.1rem 3rem 3rem}.intro-slide .hero #goals{display:grid;max-height:130px;overflow-y:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.intro-slide .hero #goals small{display:none}.chat-messages{height:300px}.nutri-intro .btn{width:100%}.chat-heading .tag{display:none}.intro-slide .hero h1{font-size:1.7rem}}
@media(max-width:479px){.promotion-stage,.promotion-slide,.intro-slide .hero{min-height:448px}.intro-slide .hero .wrap{padding-top:1rem}.chat-compose{padding:.65rem;gap:.35rem}.chat-compose .btn{padding:.7rem}.chat-bubble{max-width:96%}.nutri-section{padding:2.3rem 0}}

/* Markdown seguro compartilhado pelo chat e histórico clínico. */
.markdown{white-space:normal;overflow-wrap:anywhere;line-height:1.65}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p{margin:.55em 0}.markdown ul,.markdown ol{padding-left:1.5em}.markdown pre{overflow:auto;white-space:pre;background:var(--bg);padding:.8em;border-radius:8px}.markdown code{font-family:monospace}.markdown blockquote{margin:.7em 0;padding-left:1em;border-left:3px solid currentColor}.markdown table{display:block;overflow:auto;max-width:100%;border-collapse:collapse}.markdown th,.markdown td{padding:.4em;border:1px solid currentColor}.markdown a{color:inherit;text-decoration:underline}.markdown h1,.markdown h2,.markdown h3{font-size:1.15em;line-height:1.4;margin:1em 0 .4em}.clinical-version{padding:1em;margin:.6em 0;border:1px solid var(--line);border-radius:12px}.clinical-version summary{cursor:pointer}.clinical-version .markdown{margin-top:1em}

/* v9: navegação por subpainéis, campos de senha e carrossel com fundo compartilhado. */
.password-input{display:flex;align-items:center;position:relative}.password-input input{width:100%;padding-right:3rem}.password-eye{position:absolute;right:.4rem;display:grid;place-items:center;padding:.35rem;border:0;background:transparent;color:var(--txt);cursor:pointer}.password-eye:hover{color:var(--g)}.admin-sidebar .btn.admin-sub{margin-left:.8rem;width:calc(100% - .8rem);font-size:.8rem;padding:.5rem .7rem;border-left:2px solid var(--line);border-radius:0 8px 8px 0}.promotion-shell,.banner-preview-column .banner-shared-background{background:linear-gradient(90deg,rgba(8,34,24,.95),rgba(8,34,24,.78) 48%,rgba(8,34,24,.42)),url('images/hero.webp') center/cover no-repeat}.intro-slide .hero,.promotion-stage,.promotion-copy{background:transparent!important;backdrop-filter:none}.carousel-arrow,.promotion-controls{z-index:10;pointer-events:auto}.promotion-stage,.intro-slide{z-index:0}.promotion-controls{flex-wrap:wrap;padding:0 3rem}.promotion-dot{min-width:18px;min-height:18px}.promotion-dots{flex-wrap:wrap;justify-content:center;max-width:70%}.diet-recall textarea{min-height:70px}.clinical-ai{margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:12px}.clinical-ai textarea{min-height:200px}.clinical-notes{white-space:pre-wrap}.clinical-subhead{display:flex;gap:.6rem;flex-wrap:wrap}@media(max-width:749px){.promotion-shell{background-position:65% center}.admin-sidebar .btn.admin-sub{margin-left:.3rem;width:calc(100% - .3rem)}.diet-recall{grid-template-columns:1fr}}

/* v10: a regra específica remove o pre-wrap que preservava quebras do HTML Markdown. */
.chat-bubble>.markdown{white-space:normal;line-height:1.4}.chat-bubble{line-height:1.4;padding:.6rem .8rem}.chat-bubble .markdown p,.markdown p{margin:.22em 0}.markdown{line-height:1.4}.markdown ul,.markdown ol{margin:.25em 0;padding-left:1.3em}.markdown li p{margin:.1em 0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-size:1.04em;line-height:1.3;margin:.55em 0 .2em;color:inherit}.markdown strong{font-weight:800}.markdown blockquote{margin:.35em 0}.markdown pre{margin:.35em 0;padding:.6em;line-height:1.35}.chat-messages,.clinical-messages{gap:.5rem;padding:.8rem}.chat-bubble small{margin-bottom:.2rem}.clinical-messages .chat-bubble{width:fit-content;max-width:92%}.from-professional{background:var(--surface);border:1px solid var(--g);color:var(--txt);margin:.5rem 0;max-width:100%}.clinical-version{padding:.65rem;margin:.4rem 0}.clinical-version .markdown{margin-top:.25em}.clinical-recall{border:1px solid var(--line);padding:.8rem;border-radius:12px;margin:.6rem 0}.clinical-recall dl{margin:0;display:grid;grid-template-columns:150px minmax(0,1fr);gap:.25rem .65rem;font-size:.88rem}.clinical-recall dt{font-weight:800}.clinical-recall dd{margin:0;white-space:pre-line;overflow-wrap:anywhere}.clinical-events{margin:.6rem 0}.clinical-events p{font-size:.8rem;line-height:1.35;margin:.5rem 0}.clinical-preview{margin:.5rem 0}.clinical-preview summary{cursor:pointer;font-size:.8rem;color:var(--mut)}.clinical-ai{padding:.8rem}.clinical-ai>p{font-size:.82rem;line-height:1.4}.clinical-ai textarea,#reviewedText{line-height:1.4;font-size:.88rem}.clinical-actions{gap:.5rem;align-items:center;margin:.7rem 0}.clinical-status{font-size:.78rem;font-weight:700;color:var(--ink)}.order-status-summary{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.order-status{display:inline-flex;align-items:center;padding:.3rem .65rem;border-radius:999px;font-size:.8rem;font-weight:800;white-space:nowrap;border:1px solid currentColor}.status-novo{color:#164b80;background:#e8f2ff}.status-contatado{color:#775007;background:#fff3cf}.status-concluido{color:#185e3b;background:#e4f6e9}.status-cancelado{color:#8d2630;background:#ffe9e9}.order-status-control{min-width:175px;display:grid;gap:.4rem}.order-status-control select{width:100%;min-width:175px;min-height:42px;padding:.55rem .7rem;background:var(--surface);color:var(--txt);border:2px solid var(--line);appearance:auto}.order-status-control option{background:var(--surface);color:var(--txt)}.orders-list th:last-child,.orders-list td:last-child{position:sticky;right:0;z-index:1;background:var(--surface);box-shadow:-5px 0 9px #0001;min-width:195px}.orders-list th:last-child{background:var(--mint);z-index:2}html[data-theme=dark] .status-novo{color:#b9dcff;background:#123954}html[data-theme=dark] .status-contatado{color:#ffe1a0;background:#493813}html[data-theme=dark] .status-concluido{color:#9fefbf;background:#173e2b}html[data-theme=dark] .status-cancelado{color:#ffc1c8;background:#4b2028}html[data-theme=dark] .order-status-control select{color-scheme:dark}@media(max-width:600px){.clinical-recall dl{grid-template-columns:1fr;gap:.15rem}.clinical-recall dd{margin-bottom:.35rem}.clinical-actions .btn{flex:1 1 190px}.orders-list th:last-child,.orders-list td:last-child{min-width:175px}.order-status-control,.order-status-control select{min-width:150px}}

.clinical-source{margin:.5rem 0}.clinical-source summary{font-weight:700;cursor:pointer;color:var(--g);font-size:.85rem}.clinical-source[open] summary{margin-bottom:.4rem}html[data-theme=dark] .from-user{background:#1f5c49;color:#f1fff7}
/* Clientes e PWA — formulários e compras no mesmo padrão visual da loja. */
.customer-shell{padding-top:2rem;padding-bottom:max(3rem,env(safe-area-inset-bottom));min-height:70vh}.customer-heading,.purchase-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.customer-auth{max-width:650px;margin:0 auto}.customer-shell form{max-width:780px}.customer-shell .fields, #adminCustomerDetail .fields{max-width:100%}.purchase-card{padding:1.2rem;margin:1rem 0;background:var(--surface);border:1px solid var(--line);border-radius:18px}.purchase-card h3{margin:0 0 .25rem}.purchase-top small{opacity:.75}.purchase-card p{overflow-wrap:anywhere}.purchase-top .order-status{white-space:normal}#purchaseDetail,#adminCustomerDetail,#adminCustomerOrderDetail{margin-top:1.5rem;padding-top:1rem;scroll-margin-top:5rem}#checkoutCustomerSummary{overflow-wrap:anywhere}#checkoutCustomerSummary p{margin:.5rem 0}.pwa-update{padding:.7rem 1rem;display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;background:var(--surface);color:var(--txt);border-bottom:1px solid var(--line)}#pwaHelp{max-width:540px}body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
@media(max-width:640px){.top .wrap{flex-wrap:wrap;gap:.6rem}.hactions{flex-wrap:wrap;gap:.4rem}.customer-shell{padding-top:1rem}.customer-heading .row{width:100%;gap:.5rem}.customer-heading .row .btn{flex:1 1 auto}.purchase-card{padding:1rem}.customer-shell input{font-size:16px}#adminCustomerDetail .arow{flex-wrap:wrap}}
/* v20: status acessível, validação de senha e instalação em telas pequenas/grandes. */
@media(max-width:767px){#nutriFab{display:none!important}}
html[data-device=phone] #nutriFab{display:none!important}
.install-promo{padding:1rem 0;background:var(--mint);border-bottom:1px solid var(--line)}.install-promo .wrap{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.install-promo p{margin:.25rem 0;font-size:.9rem}.install-promo #pwaInstallStatus{flex-basis:100%;margin:0}.activity-panel{margin:.7rem 0;padding:.7rem .85rem;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--txt)}.activity-heading{display:flex;gap:.6rem;align-items:center;font-size:.9rem}.activity-label{flex:1}.activity-time{color:var(--mut);white-space:nowrap}.activity-spinner{width:19px;height:19px;border:2px solid var(--line);border-top-color:var(--g);border-radius:50%;animation:activity-spin .8s linear infinite;flex:none}.activity-progress{height:4px;overflow:hidden;background:var(--line);border-radius:3px;margin:.55rem 0}.activity-progress span{display:block;width:35%;height:100%;background:var(--g);animation:activity-slide 1.7s ease-in-out infinite}.activity-note{font-size:.76rem;color:var(--mut)}.activity-panel p{margin:0;font-size:.9rem}.activity-success{border-color:var(--g)}.activity-error{border-color:var(--bad,#a43e35)}.activity-error p{color:var(--bad,#a43e35)}#chatState.is-busy:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;animation:activity-pulse 1.4s ease-in-out infinite;margin-right:.4rem}.typing-dots{display:inline-flex;gap:5px;margin:.4rem 0}.typing-dots i{width:7px;height:7px;border-radius:50%;background:var(--g);animation:activity-pulse 1.1s ease-in-out infinite}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}.chat-bubble[data-status=failed]{border:1px dashed var(--bad,#a43e35)}.password-feedback{font-size:.8rem;margin:.3rem 0 .6rem;font-weight:400}.password-feedback small{display:block;font-size:inherit}.password-feedback ul{margin:.2rem 0 0;padding:0;list-style:none;color:var(--mut)}.password-rule-ok{color:var(--g)}.has-password-check input{padding-right:5.5rem}.password-check{position:absolute;right:3rem;top:50%;transform:translateY(-50%);font-size:1.3rem;font-weight:800;color:var(--g)}.password-input[data-valid=true] input{border-color:var(--g)}
@keyframes activity-spin{to{transform:rotate(360deg)}}@keyframes activity-slide{0%{transform:translateX(-110%)}100%{transform:translateX(390%)}}@keyframes activity-pulse{0%,100%{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.activity-spinner,.activity-progress span,.typing-dots i,#chatState.is-busy:before{animation:none}.activity-progress span{width:100%;opacity:.5}}

@media(max-width:640px){.hactions{flex:1 1 100%;width:100%;max-width:100%;justify-content:space-between;margin:0;gap:.4rem}.hactions .btn{font-size:.78rem;padding:.5rem .6rem;flex:0 1 auto}#accountLink{min-width:0}.activity-heading{align-items:flex-start}.activity-label{overflow-wrap:anywhere}}

/* Diagnóstico público de instalação; URLs longas não ampliam a tela móvel. */
.pwa-diagnostics{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem;line-height:1.5;padding:.8rem;border:1px solid var(--line);border-radius:10px}#pwaHelp{max-width:600px}#pwaHelp .row{flex-wrap:wrap}

/* Resultado do teste usa texto e ícone, além de cor, nos dois temas. */
.ai-connection-result{padding:.85rem 1rem;border:1px solid currentColor;border-radius:12px;line-height:1.5;overflow-wrap:anywhere}
.ai-connection-result.is-success{color:var(--g)}.ai-connection-result.is-error{color:var(--red,#b33636)}
[data-theme="dark"] .ai-connection-result.is-success{color:#85ddb9}[data-theme="dark"] .ai-connection-result.is-error{color:#ffb0aa}
