:root{
  --ink:#0f1419; --ink-2:#38424c; --muted:#7b8794; --line:#e7ebef;
  --paper:#ffffff; --bg:#f6f8fa; --card:#ffffff; --imgbg:#ffffff;
  --accent:#0f7b62; --accent-ink:#0a5a48; --accent-soft:#e7f4f0;
  --wa:#25d366; --wa-ink:#1da851;
  --radius:16px; --radius-sm:11px;
  --shadow:0 1px 2px rgba(16,20,25,.04), 0 8px 24px rgba(16,20,25,.06);
  --shadow-lg:0 12px 48px rgba(16,20,25,.18);
  --topbar:126px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.45;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{max-width:100%; display:block}
button{font-family:inherit; cursor:pointer}
h1,h2{margin:0; letter-spacing:-.02em}

/* ---------- Brand ---------- */
.brand{display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink)}
.brand__logo{height:30px; width:auto; display:block; flex:0 0 auto}
:root[data-theme="dark"] .brand__logo{filter:invert(1)}
.brand__mark{
  display:grid; place-items:center; width:38px; height:38px; border-radius:50%;
  background:var(--ink); color:#fff; font-weight:800; font-size:14px; letter-spacing:.5px;
  border:2px solid var(--ink);
}
.brand__text{font-size:16px; font-weight:500; letter-spacing:.06em; white-space:nowrap}
.brand__text b{font-weight:800}
.brand--lg .brand__mark{width:54px; height:54px; font-size:20px}
.brand--lg .brand__text{font-size:22px}
.brand--sm .brand__mark{width:30px; height:30px; font-size:11px}
.brand--sm .brand__text{font-size:13px; opacity:.85}

/* ---------- Topbar ---------- */
.topbar{
  position:sticky; top:0; z-index:40; background:rgba(255,255,255,.86);
  backdrop-filter:saturate(1.4) blur(12px); border-bottom:1px solid var(--line);
}
.topbar__row{
  display:flex; align-items:center; gap:14px; max-width:1240px; margin:0 auto;
  padding:12px 18px;
}
.search{position:relative; flex:1; min-width:0}
.search__ico{position:absolute; left:14px; top:50%; transform:translateY(-50%); width:19px; height:19px; color:var(--muted)}
.search input{
  width:100%; height:46px; border:1px solid var(--line); background:var(--card);
  border-radius:999px; padding:0 42px 0 42px; font-size:16px; color:var(--ink);
  outline:none; transition:border-color .15s, box-shadow .15s;
}
.search input:focus{border-color:var(--accent); box-shadow:0 0 0 4px var(--accent-soft)}
.search input::placeholder{color:#9aa4ae}
.search__clear{
  position:absolute; right:8px; top:50%; transform:translateY(-50%);
  width:28px; height:28px; border:0; border-radius:50%; background:#eef1f4;
  color:var(--ink-2); font-size:20px; line-height:1; display:grid; place-items:center;
}
.cartbtn{
  position:relative; width:46px; height:46px; flex:0 0 auto; border:1px solid var(--line);
  background:var(--card); border-radius:14px; display:grid; place-items:center; color:var(--ink);
  transition:transform .12s, border-color .15s;
}
.cartbtn:hover{border-color:var(--ink); transform:translateY(-1px)}
.cartbtn svg{width:22px; height:22px}
.cartbtn__count{
  position:absolute; top:-6px; right:-6px; min-width:20px; height:20px; padding:0 5px;
  background:var(--accent); color:#fff; border-radius:999px; font-size:11px; font-weight:700;
  display:grid; place-items:center; border:2px solid var(--card);
}
.themebtn{
  width:46px; height:46px; flex:0 0 auto; border:1px solid var(--line);
  background:var(--card); border-radius:14px; display:grid; place-items:center; color:var(--ink);
  transition:transform .12s, border-color .15s;
}
.themebtn:hover{border-color:var(--ink); transform:translateY(-1px)}
.themebtn svg{width:21px; height:21px}
.themebtn .moon{display:none}
:root[data-theme="dark"] .themebtn .sun{display:none}
:root[data-theme="dark"] .themebtn .moon{display:block}

/* ---------- Filters ---------- */
.filters{
  display:flex; align-items:center; gap:10px; max-width:1240px; margin:0 auto;
  padding:0 18px 12px; overflow-x:auto; scrollbar-width:none;
}
.filters::-webkit-scrollbar{display:none}
.filters__chips{display:flex; gap:8px}
.chip{
  flex:0 0 auto; display:inline-flex; align-items:center; gap:7px; height:36px; padding:0 14px;
  border:1px solid var(--line); background:var(--card); border-radius:999px; font-size:13.5px;
  font-weight:600; color:var(--ink-2); white-space:nowrap; transition:.14s;
}
.chip:hover{border-color:#cfd6dd}
.chip.is-active{background:var(--ink); color:#fff; border-color:var(--ink)}
.chip--lab{color:var(--ink)}
.chip--lab svg{width:16px; height:16px}
.chip__count{opacity:.55; font-weight:600}

/* ---------- Layout ---------- */
.wrap{max-width:1240px; margin:0 auto; padding:0 18px 80px}
.resultmeta{color:var(--muted); font-size:13px; padding:16px 2px 12px; font-weight:500}
.grid{
  display:grid; gap:14px;
  grid-template-columns:repeat(auto-fill, minmax(158px,1fr));
}
.sentinel{height:1px}

/* ---------- Card ---------- */
.card{
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; display:flex; flex-direction:column; transition:transform .14s, box-shadow .18s, border-color .18s;
  content-visibility:auto; contain-intrinsic-size:280px;
}
.card:hover{transform:translateY(-3px); box-shadow:var(--shadow); border-color:#dfe4e9}
.card__imgwrap{position:relative; aspect-ratio:1/1; background:var(--imgbg); padding:14px; cursor:pointer}
.card__imgwrap::after{content:""; position:absolute; inset:0; box-shadow:inset 0 -1px 0 var(--line)}
.card__img{width:100%; height:100%; object-fit:contain; transition:transform .25s}
.card:hover .card__img{transform:scale(1.04)}
.card__fab{
  position:absolute; top:9px; left:9px; font-size:10px; font-weight:700; letter-spacing:.03em;
  text-transform:uppercase; color:var(--ink-2); background:rgba(255,255,255,.9);
  border:1px solid var(--line); padding:3px 7px; border-radius:6px;
}
.card__reftag{
  align-self:flex-start; max-width:100%; font-size:10.5px; font-weight:700; letter-spacing:.01em;
  color:var(--accent-ink); background:var(--accent-soft); padding:3px 8px; border-radius:6px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.card__reftag::before{content:"\2248 "; opacity:.65; font-weight:600}
.card__body{padding:11px 12px 12px; display:flex; flex-direction:column; gap:7px; flex:1}
.card__nome{
  font-size:13px; font-weight:600; line-height:1.32; color:var(--ink);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  min-height:34px; cursor:pointer;
}
.card__meta{font-size:11px; color:var(--muted); font-weight:500; margin-top:auto}
.card__row{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:2px}
.card__price{font-size:15px; font-weight:800; color:var(--ink)}
.card__price small{font-size:11px; font-weight:600; color:var(--muted)}
.card__add{
  width:36px; height:36px; flex:0 0 auto; border:1px solid var(--line); border-radius:10px;
  background:var(--card); color:var(--ink); display:grid; place-items:center; transition:.14s;
}
.card__add svg{width:18px; height:18px}
.card__add:hover{background:var(--accent); border-color:var(--accent); color:#fff}
.card__add.is-in{background:var(--accent); border-color:var(--accent); color:#fff}

/* ---------- Empty ---------- */
.empty{text-align:center; padding:70px 20px; color:var(--muted)}
.empty p{font-size:16px; margin-bottom:14px}

/* ---------- Buttons ---------- */
.btn{
  height:46px; padding:0 18px; border-radius:12px; border:1px solid var(--line);
  background:var(--card); color:var(--ink); font-size:15px; font-weight:600; transition:.14s;
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
}
.btn:hover{border-color:#cfd6dd}
.btn--block{width:100%}
.btn--primary{background:var(--ink); color:#fff; border-color:var(--ink)}
.btn--primary:hover{background:#000; border-color:#000}
.btn--primary:disabled{opacity:.4; cursor:not-allowed}
.btn--ghost{background:var(--card); color:var(--ink-2)}
.btn--wa{background:var(--wa); border-color:var(--wa); color:#053c1c; font-weight:700; flex:1}
.btn--wa:hover{background:var(--wa-ink); border-color:var(--wa-ink); color:#fff}
.btn--wa svg{width:20px; height:20px}

/* ---------- Overlays / panels ---------- */
.overlay{position:fixed; inset:0; background:rgba(15,20,25,.44); z-index:50; animation:fade .18s ease}
@keyframes fade{from{opacity:0}to{opacity:1}}
.panel{
  position:fixed; top:0; bottom:0; width:min(420px,90vw); background:var(--paper); z-index:60;
  display:flex; flex-direction:column; box-shadow:var(--shadow-lg);
}
.panel--right{right:0; animation:slideR .24s cubic-bezier(.22,1,.36,1)}
.panel--left{left:0; animation:slideL .24s cubic-bezier(.22,1,.36,1)}
@keyframes slideR{from{transform:translateX(100%)}}
@keyframes slideL{from{transform:translateX(-100%)}}
.panel__head{display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border-bottom:1px solid var(--line)}
.panel__head h2{font-size:18px}
.panel__close{width:34px; height:34px; border:0; background:#f1f4f6; border-radius:9px; font-size:22px; color:var(--ink-2); line-height:1}
.panel__search{padding:12px 16px; border-bottom:1px solid var(--line)}
.panel__search input{width:100%; height:42px; border:1px solid var(--line); border-radius:10px; padding:0 14px; font-size:14px; outline:none}
.panel__search input:focus{border-color:var(--accent)}

/* ---------- Labs list ---------- */
.labs{overflow-y:auto; flex:1; padding:8px}
.lab{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:12px 14px; border:0; background:none; border-radius:10px; text-align:left;
  font-size:14.5px; font-weight:600; color:var(--ink); transition:.12s;
}
.lab:hover{background:var(--bg)}
.lab.is-active{background:var(--accent-soft); color:var(--accent-ink)}
.lab__count{font-size:12px; font-weight:600; color:var(--muted); background:#f1f4f6; padding:2px 8px; border-radius:999px}
.lab.is-active .lab__count{background:#fff; color:var(--accent-ink)}

/* ---------- Cart ---------- */
.cartitems{flex:1; overflow-y:auto; padding:8px 14px}
.cartrow{display:flex; gap:12px; padding:12px 4px; border-bottom:1px solid var(--line)}
.cartrow__img{width:56px; height:56px; flex:0 0 auto; border:1px solid var(--line); border-radius:10px; background:var(--imgbg); padding:5px; object-fit:contain}
.cartrow__info{flex:1; min-width:0}
.cartrow__nome{font-size:13px; font-weight:600; line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.cartrow__meta{font-size:11px; color:var(--muted); margin-top:3px}
.cartrow__bottom{display:flex; align-items:center; justify-content:space-between; margin-top:8px; gap:8px}
.cartrow__price{font-size:13px; font-weight:700}
.cartrow__rm{border:0; background:none; color:var(--muted); font-size:12px; font-weight:600; text-decoration:underline; padding:4px}
.cart-empty{text-align:center; color:var(--muted); padding:56px 20px; font-size:15px}
.cartfoot{border-top:1px solid var(--line); padding:14px 16px calc(14px + env(safe-area-inset-bottom))}
.cartfoot__total{display:flex; justify-content:space-between; font-size:16px; font-weight:800; margin-bottom:12px}
.cartfoot__actions{display:flex; gap:10px}

/* ---------- Stepper ---------- */
.stepper{display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:10px; overflow:hidden; height:44px}
.stepper button{width:40px; height:100%; border:0; background:var(--card); font-size:20px; color:var(--ink); display:grid; place-items:center}
.stepper button:hover{background:var(--bg)}
.stepper input{width:52px; height:100%; border:0; border-left:1px solid var(--line); border-right:1px solid var(--line); text-align:center; font-size:15px; font-weight:600; outline:none; -moz-appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none; margin:0}
.stepper--sm{height:34px}
.stepper--sm button{width:30px; font-size:16px}
.stepper--sm input{width:40px; font-size:13px}

/* ---------- Modal ---------- */
.modal{
  position:fixed; z-index:60; top:50%; left:50%; transform:translate(-50%,-50%);
  width:min(760px,94vw); max-height:92vh; overflow:auto; background:var(--paper); border-radius:20px;
  box-shadow:var(--shadow-lg); display:grid; grid-template-columns:1fr 1fr; animation:pop .2s ease;
}
@keyframes pop{from{opacity:0; transform:translate(-50%,-48%) scale(.98)}}
.modal__close{position:absolute; top:12px; right:12px; z-index:2; width:36px; height:36px; border:0; background:rgba(255,255,255,.9); border-radius:10px; font-size:24px; color:var(--ink-2); box-shadow:var(--shadow)}
.modal__img{background:var(--imgbg); display:grid; place-items:center; padding:28px; border-right:1px solid var(--line)}
.modal__img img{max-height:340px; object-fit:contain}
.modal__info{padding:26px 26px 24px; display:flex; flex-direction:column}
.tag{align-self:flex-start; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-2); background:var(--bg); border:1px solid var(--line); padding:4px 9px; border-radius:7px; margin-bottom:12px}
.modal__nome{font-size:20px; font-weight:700; line-height:1.28}
.modal__price{font-size:22px; font-weight:800; margin-top:12px}
.specs{margin:18px 0 0; display:grid; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:12px; overflow:hidden}
.specs>div{display:flex; justify-content:space-between; gap:16px; background:#fff; padding:11px 14px}
.specs dt{color:var(--muted); font-size:13px; margin:0}
.specs dd{margin:0; font-size:13.5px; font-weight:600; text-align:right; word-break:break-word}
.modal__buy{margin-top:auto; padding-top:20px; display:flex; gap:10px}
.modal__buy .btn{flex:1}

/* ---------- Toast ---------- */
.toast{
  position:fixed; left:50%; bottom:24px; transform:translateX(-50%) translateY(20px);
  background:var(--ink); color:#fff; padding:13px 20px; border-radius:12px; font-size:14px; font-weight:600;
  z-index:80; box-shadow:var(--shadow-lg); opacity:0; transition:.22s; max-width:90vw; text-align:center;
}
.toast.is-on{opacity:1; transform:translateX(-50%) translateY(0)}

/* ---------- Gate ---------- */
.gate{position:fixed; inset:0; z-index:100; background:linear-gradient(160deg,#101720,#1c2a33); display:grid; place-items:center; padding:20px}
.gate__card{background:#fff; border-radius:22px; max-width:440px; width:100%; padding:34px 30px 28px; box-shadow:var(--shadow-lg); text-align:center}
.gate .brand{justify-content:center; margin-bottom:22px}
.gate__title{font-size:22px; margin-bottom:12px}
.gate__body{color:var(--ink-2); font-size:14.5px; line-height:1.55; margin:0 0 20px}
.gate__check{display:flex; gap:11px; text-align:left; font-size:13.5px; color:var(--ink-2); background:var(--bg); border:1px solid var(--line); border-radius:12px; padding:14px; margin-bottom:16px; cursor:pointer}
.gate__check input{margin-top:2px; width:18px; height:18px; accent-color:var(--accent); flex:0 0 auto}
.gate__fine{font-size:11.5px; color:var(--muted); margin:14px 0 0}

/* ---------- Footer ---------- */
.foot{max-width:1240px; margin:0 auto; padding:26px 18px 40px; border-top:1px solid var(--line)}
.foot .brand{margin-bottom:12px}
.foot__anvisa{font-size:12px; color:var(--muted); line-height:1.55; max-width:760px}

/* ---------- Responsive ---------- */
@media (max-width:720px){
  .topbar__row{flex-wrap:wrap; padding:10px 14px}
  .brand__text{font-size:15px}
  .brand__logo{height:26px}
  .search{order:3; flex-basis:100%}
  .wrap,.filters,.topbar__row,.foot{padding-left:14px; padding-right:14px}
  .grid{grid-template-columns:repeat(auto-fill, minmax(45%,1fr)); gap:11px}
  .modal{grid-template-columns:1fr; max-height:94vh}
  .modal__img{border-right:0; border-bottom:1px solid var(--line); padding:22px}
  .modal__img img{max-height:220px}
  .modal__info{padding:20px}
  /* iOS: fontes >=16px evitam o auto-zoom ao focar o input */
  .search input, .panel__search input, .stepper input, .stepper--sm input{font-size:16px}
}
@media (max-width:335px){
  .brand__text{display:none}
}
body.no-scroll{overflow:hidden}

/* ===================== DARK MODE ===================== */
:root[data-theme="dark"]{
  --ink:#eaf0f6; --ink-2:#c2ccd6; --muted:#9aa5b1; --line:#2a323d;
  --paper:#161b22; --bg:#0d1117; --card:#161b22; --imgbg:#eef1f4;
  --accent:#2dd4a7; --accent-ink:#7bebcf; --accent-soft:rgba(45,212,167,.18);
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 10px 28px rgba(0,0,0,.5);
  --shadow-lg:0 16px 54px rgba(0,0,0,.6);
}
:root[data-theme="dark"] .topbar{background:rgba(15,19,26,.82)}
:root[data-theme="dark"] .brand__mark{background:#e7edf3; color:#0d1117; border-color:#e7edf3}
:root[data-theme="dark"] .search input::placeholder{color:#828d99}
:root[data-theme="dark"] .lab.is-active{background:rgba(45,212,167,.14)}
:root[data-theme="dark"] .lab.is-active .lab__count{background:rgba(45,212,167,.20); color:#8ff0d6}
:root[data-theme="dark"] .card__meta{color:#9aa5b1}
:root[data-theme="dark"] .search__clear{background:#2a323d; color:var(--ink-2)}
:root[data-theme="dark"] .toast{color:#0d1117}
:root[data-theme="dark"] .chip:hover,
:root[data-theme="dark"] .btn:hover,
:root[data-theme="dark"] .card:hover{border-color:#3a434e}
:root[data-theme="dark"] .modal__nome,
:root[data-theme="dark"] .modal__price,
:root[data-theme="dark"] .specs dd{color:var(--ink)}
:root[data-theme="dark"] .specs dt{color:var(--muted)}
:root[data-theme="dark"] .chip.is-active{background:var(--accent); color:#04120d; border-color:var(--accent)}
:root[data-theme="dark"] .card__fab{background:rgba(22,27,34,.9); color:var(--ink-2); border-color:var(--line)}
:root[data-theme="dark"] .card__add:hover,
:root[data-theme="dark"] .card__add.is-in{color:#04120d}
:root[data-theme="dark"] .btn--primary{background:var(--accent); border-color:var(--accent); color:#04120d}
:root[data-theme="dark"] .btn--primary:hover{background:#31d9ad; border-color:#31d9ad}
:root[data-theme="dark"] .panel__close{background:#232b34; color:var(--ink-2)}
:root[data-theme="dark"] .lab__count{background:#232b34; color:var(--muted)}
:root[data-theme="dark"] .lab:hover{background:#1c232b}
:root[data-theme="dark"] .tag{background:#1c232b}
:root[data-theme="dark"] .modal__close{background:rgba(22,27,34,.92); color:var(--ink-2)}
:root[data-theme="dark"] .specs>div{background:var(--card)}
:root[data-theme="dark"] .stepper button:hover{background:#1c232b}
/* o gate permanece com cartão claro sobre gradiente escuro (intencional) */
:root[data-theme="dark"] .gate__card{color:#0f1419}
:root[data-theme="dark"] .gate__title{color:#0f1419}
:root[data-theme="dark"] .gate__body{color:#38424c}
:root[data-theme="dark"] .gate__fine{color:#7b8794}
:root[data-theme="dark"] .gate__check{color:#38424c; background:#f6f8fa; border-color:#e7ebef}
:root[data-theme="dark"] .gate .brand__text{color:#0f1419}
:root[data-theme="dark"] .gate .brand__mark{background:#0f1419; color:#fff; border-color:#0f1419}
:root[data-theme="dark"] .gate .btn--primary{background:#0f1419; border-color:#0f1419; color:#fff}
:root[data-theme="dark"] .gate .btn--primary:disabled{background:#0f1419; opacity:.4}


/* ===================== FEATURES (fav, scan, pedido rápido, share) ===================== */
/* Favorito no card */
.card__actions{display:flex; align-items:center; gap:6px}
.card__fav{
  width:36px; height:36px; flex:0 0 auto; border:1px solid var(--line); border-radius:10px;
  background:var(--card); color:#9aa4ae; display:grid; place-items:center; transition:.14s; padding:0;
}
.card__fav svg{width:18px; height:18px}
.card__fav:hover{color:#e2506b; border-color:#e2506b}
.card__fav.is-fav{color:#e2506b; border-color:#f2c2cc; background:#fdeef1}
.card__fav.is-fav svg path{fill:#e2506b; stroke:#e2506b}
:root[data-theme="dark"] .card__fav.is-fav{background:rgba(226,80,107,.16)}
:root[data-theme="dark"] .card__fav.is-fav{border-color:rgba(226,80,107,.42)}

/* Chips de ação (favoritos / pedido rápido / instalar) */
.chip--fav.is-active{background:#e2506b; border-color:#e2506b; color:#fff}
.chip--fav.is-active svg path{fill:#fff; stroke:#fff}
.chip svg.i{width:15px; height:15px}
.chip--install{border-color:var(--accent); color:var(--accent-ink)}
:root[data-theme="dark"] .chip--install{color:var(--accent)}

/* Botão compartilhar no modal */
.modal__share{
  position:absolute; top:12px; left:12px; z-index:2; width:36px; height:36px; border:0;
  background:rgba(255,255,255,.9); border-radius:10px; color:var(--ink-2); box-shadow:var(--shadow);
  display:grid; place-items:center;
}
.modal__share svg{width:18px; height:18px}
:root[data-theme="dark"] .modal__share{background:rgba(22,27,34,.92); color:var(--ink-2)}

/* Scanner de código de barras */
.scan{position:fixed; inset:0; z-index:90; background:#05070a; display:flex; flex-direction:column}
.scan__head{display:flex; align-items:center; justify-content:space-between; padding:16px 18px; color:#fff; font-weight:600; font-size:15px}
.scan__close{width:36px; height:36px; border:0; background:rgba(255,255,255,.14); color:#fff; border-radius:10px; font-size:24px; line-height:1}
.scan__stage{flex:1; position:relative; overflow:hidden; display:grid; place-items:center}
.scan__stage video{width:100%; height:100%; object-fit:cover}
.scan__frame{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:78%; max-width:420px; height:150px; border:3px solid rgba(255,255,255,.9); border-radius:16px; box-shadow:0 0 0 100vmax rgba(0,0,0,.45)}
.scan__hint{padding:18px; text-align:center; color:#cdd4db; font-size:14px; background:#05070a}

/* Pedido rápido */
.modal--quick{grid-template-columns:1fr; width:min(480px,94vw)}
.quick{padding:26px}
.quick h2{font-size:20px; margin-bottom:8px}
.quick__hint{font-size:13px; color:var(--muted); line-height:1.5; margin-bottom:14px}
.quick__hint code{background:var(--bg); border:1px solid var(--line); padding:1px 6px; border-radius:5px; font-size:12px}
.quick textarea{
  width:100%; border:1px solid var(--line); border-radius:12px; padding:14px; font-size:15px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace; resize:vertical; outline:none;
  background:var(--card); color:var(--ink); margin-bottom:12px;
}
.quick textarea:focus{border-color:var(--accent)}
.quick__result{font-size:13px; border-radius:10px; padding:11px 13px; margin-bottom:12px; line-height:1.5}
.quick__result.ok{background:var(--accent-soft); color:var(--accent-ink)}
.quick__result.warn{background:#fff4e5; color:#9a5a00; border:1px solid #ffe0b2}
:root[data-theme="dark"] .quick__result.warn{background:rgba(255,170,60,.12); color:#f0b866; border-color:rgba(255,170,60,.25)}

/* Repetir pedido (estado vazio do carrinho) */
.cart-empty .btn{margin-top:16px}
