/* Oferta Pilot — identidade da logo: azul-marinho (cabine), azul (rota), laranja (etiqueta de desconto) e Poppins.
   Fontes hospedadas aqui (static/fonts), sem chamadas a terceiros. Sem JavaScript: seletor de modo e menu "Mais" usam radio e <details>. */
@font-face{font-family:Poppins;src:url(/static/fonts/poppins-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url(/static/fonts/poppins-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Poppins;src:url(/static/fonts/poppins-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Poppins;src:url(/static/fonts/poppins-800.woff2) format("woff2");font-weight:800;font-display:swap}

:root{
  --sky:#EEF3FA;--surface:#fff;--ink:#14143C;--muted:#51557A;--line:#D0D6E8;
  --cabin:#14143C;--cabin-ink:#EEF3FA;--cabin-muted:#B3B8DA;--cabin-line:#2B2B66;
  --accent:#0B6E99;--link:#0B6E99;--tag:#E49C28;--tag-ink:#14143C;
  --ok:#0B7A52;--bad:#B42318;--warn:#9A5B00;
  --display:Poppins,system-ui,sans-serif;--text:Poppins,system-ui,-apple-system,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme:dark){:root{
  --sky:#0C0C2A;--surface:#17174A;--ink:#EEF3FA;--muted:#ABB1D6;--line:#2B2B66;
  --cabin:#101036;--cabin-line:#2B2B66;--accent:#1B8FBF;--link:#4EC0EA;--ok:#4ADE9B;--bad:#FF8A80;--warn:#FBBF24}}
.theme-azul{--accent:#0B6E99;--link:#0B6E99}
.theme-verde{--accent:#0F7A55;--link:#0F7A55}
.theme-roxo{--accent:#6A3FD0;--link:#6A3FD0}
.theme-vinho{--accent:#B3263E;--link:#B3263E}
.theme-laranja{--accent:#B93C0A;--link:#B93C0A}
.theme-grafite{--accent:#334155;--link:#334155}
@media (prefers-color-scheme:dark){
  .theme-azul{--link:#4EC0EA}.theme-verde{--link:#52D1A0}.theme-roxo{--link:#B79DFF}
  .theme-vinho{--link:#FF8FA0}.theme-laranja{--link:#FF9A63}.theme-grafite{--link:#B5C2D3;--accent:#475569}}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--sky);color:var(--ink);font:16px/1.55 var(--text)}
a{color:var(--link)}
:focus-visible{outline:3px solid var(--link);outline-offset:2px;border-radius:4px}
h1,h2,h3{font-family:var(--display);line-height:1.15;margin:0}
h1{font-size:26px;font-weight:800;margin:4px 0 18px}
h2{font-size:17px;font-weight:700;margin:0 0 12px}
code{font-size:.92em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{color:var(--muted)}.ok{color:var(--ok)}.bad-t{color:var(--bad)}.warn{color:var(--warn)}
.price{font-family:var(--display);font-weight:800;font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.01em}

/* etiqueta de desconto: o único amarelo do sistema */
.off{display:inline-block;background:var(--tag);color:var(--tag-ink);font:800 14px/1 var(--display);
  padding:6px 10px 6px 16px;clip-path:polygon(9px 0,100% 0,100% 100%,9px 100%,0 50%);vertical-align:middle}

/* botões e campos: alvo de toque de 44px */
button,.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:var(--accent);color:#fff;border:0;
  padding:0 18px;border-radius:8px;cursor:pointer;text-decoration:none;font:600 15px var(--text)}
button:hover,.btn:hover{filter:brightness(1.1)}
button.sec,.btn.sec{background:transparent;color:var(--ink);border:1px solid var(--line)}
button.sec:hover,.btn.sec:hover{border-color:var(--muted);filter:none}
button.bad{background:var(--bad);color:#fff}
@media (prefers-color-scheme:dark){button.bad{color:#0B1420}}
input,textarea,select{font:inherit;color:inherit}
input[type=text],input[type=url],input[type=password],input[type=number],input[type=date],textarea,select{
  width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
textarea{min-height:84px}
label{display:block;font-size:14px;font-weight:600;color:var(--muted);margin:12px 0 4px}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}
.row>input,.row>select{width:auto}

/* painéis */
.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:16px;overflow-x:auto}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.grid>.card{margin-bottom:0}
.msg{background:var(--surface);border:1px solid var(--accent);padding:12px 16px;margin-bottom:16px;border-radius:8px}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--muted);font-weight:600;font-size:14px}
tr:last-child td{border-bottom:0}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
.tag{display:inline-block;padding:2px 9px;border-radius:99px;background:var(--sky);border:1px solid var(--line);font-size:13px}
progress{width:100%;height:10px;appearance:none;-webkit-appearance:none;border:0;border-radius:99px;overflow:hidden;background:var(--line);color:var(--link)}
progress::-webkit-progress-bar{background:var(--line)}
progress::-webkit-progress-value{background:var(--link);border-radius:99px}
progress::-moz-progress-bar{background:var(--link);border-radius:99px}
.chart{width:100%;min-width:520px;height:auto;color:var(--accent)}.chart text{fill:var(--muted);font-size:10px}
.bar{fill:var(--link)}

/* faixa "cabine": números do dia */
.cabin{background:var(--cabin);color:var(--cabin-ink);border-color:var(--cabin-line)}
.kpis{display:grid;gap:18px 12px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.kpi b{display:block;font:800 30px/1.1 var(--display);font-variant-numeric:tabular-nums lining-nums}
.kpi span{color:var(--cabin-muted);font-size:14px}

/* oferta como etiqueta */
.offer{display:grid;grid-template-columns:104px 1fr;gap:16px}
.offer img{width:104px;height:104px;object-fit:contain;background:#fff;border-radius:8px}
.offer .price{font-size:26px}.offer s{font-size:15px}
.ph{width:104px;height:104px;border-radius:8px;background:var(--sky);border:1px dashed var(--line);display:grid;place-items:center;font-size:28px}

/* ---------- shell do painel ---------- */
.shell{min-height:100vh}
.side{display:none}
.topbar{background:var(--cabin);color:var(--cabin-ink);position:sticky;top:0;z-index:5}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 16px}
.brandmark{display:flex;align-items:center;gap:10px;font:800 17px var(--display);color:inherit;text-decoration:none}
.brandmark img{width:36px;height:36px;border-radius:8px}
.brandmark small{font:400 14px var(--text);color:var(--cabin-muted)}
.signout{margin:0}.signout button{background:transparent;border:1px solid var(--cabin-line);color:var(--cabin-ink);min-height:38px}
.wrap{max-width:1100px;margin:0 auto;padding:16px}
main.wrap{padding-bottom:96px}
.tabs{position:fixed;left:0;right:0;bottom:0;z-index:6;background:var(--cabin);border-top:1px solid var(--cabin-line);display:flex;
  padding-bottom:env(safe-area-inset-bottom)}
.tabs a{flex:1;display:flex;align-items:center;justify-content:center;min-height:56px;color:var(--cabin-muted);text-decoration:none;
  font:600 13px var(--text);cursor:pointer;border-top:3px solid transparent}
.tabs a.on{color:var(--cabin-ink);border-top-color:var(--tag)}
@media (min-width:900px){
  .shell{display:grid;grid-template-columns:232px 1fr}
  .side{display:flex;flex-direction:column;gap:2px;background:var(--cabin);color:var(--cabin-ink);padding:18px 12px;position:sticky;top:0;height:100vh;overflow-y:auto}
  .side .brandmark{padding:4px 10px 14px}
  .side nav{display:flex;flex-direction:column;gap:2px}
  .side nav a{display:flex;align-items:center;min-height:42px;padding:0 12px;border-radius:8px;color:var(--cabin-muted);text-decoration:none;font-weight:600;border-left:3px solid transparent}
  .side nav a:hover{background:rgba(255,255,255,.06);color:var(--cabin-ink)}
  .side nav a.on{background:rgba(255,255,255,.1);color:var(--cabin-ink);border-left-color:var(--tag)}
  .side .mode{margin-top:auto;padding:12px;border-top:1px solid var(--cabin-line);font-size:14px;color:var(--cabin-muted)}
  .side .mode b{display:block;color:var(--cabin-ink);font:700 15px var(--display)}
  .side .signout{padding:0 0 4px}.side .signout button{width:100%}
  .topbar,.tabs{display:none}
  main.wrap{padding:28px 32px 48px;max-width:1180px}
}

/* ---------- login ---------- */
.login{max-width:400px;margin:9vh auto 0;padding:0 16px}
.login .card{padding:24px}
.login h1{display:flex;align-items:center;gap:10px}
.login h1 img{width:34px;height:34px}

/* ---------- páginas públicas ---------- */
.pub{max-width:960px;margin:0 auto;padding:28px 18px 40px}
.pubtop{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}
.pubtop .brandmark{color:var(--ink)}
.hero{padding:28px 0 32px}
.hero h1{font-size:clamp(28px,5.4vw,44px);font-weight:800;line-height:1.02;letter-spacing:-.015em;margin:0 0 16px;max-width:15ch}
.hero p{font-size:18px;max-width:46ch;margin:0 0 20px}
.btn.big{min-height:54px;padding:0 28px;font-size:17px}
.split{display:grid;gap:28px;grid-template-columns:1fr}
@media (min-width:860px){.split{grid-template-columns:1.1fr 1fr;align-items:center}.hero{padding:40px 0}}

/* seletor de modo: três posições, só CSS */
.modes{background:var(--cabin);color:var(--cabin-ink);border-radius:14px;padding:16px}
.dial{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:rgba(0,0,0,.28);border-radius:10px;padding:4px}
.dial label{margin:0;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  border-radius:7px;cursor:pointer;color:var(--cabin-muted);font:700 14px/1.15 var(--display);padding:4px}
.dial label small{font:400 12px var(--text);color:var(--cabin-muted)}
#m1:checked~.dial label[for=m1],#m2:checked~.dial label[for=m2],#m3:checked~.dial label[for=m3]{background:var(--tag);color:var(--tag-ink)}
#m1:checked~.dial label[for=m1] small,#m2:checked~.dial label[for=m2] small,#m3:checked~.dial label[for=m3] small{color:var(--tag-ink)}
#m1:focus-visible~.dial label[for=m1],#m2:focus-visible~.dial label[for=m2],#m3:focus-visible~.dial label[for=m3]{outline:3px solid #fff;outline-offset:2px}
.modes .sample{background:var(--surface);color:var(--ink);border-radius:10px;padding:14px;margin-top:14px;display:flex;gap:12px;align-items:center}
.modes .sample .thumb{width:52px;height:52px;border-radius:8px;background:var(--sky);display:grid;place-items:center;font-size:22px;flex:none}
.modes .sample strong{display:block;font-size:15px}.modes .sample .price{font-size:22px}
.modes .what{margin:14px 2px 2px;min-height:3.2em;color:var(--cabin-ink)}
.modes .what>span{display:none}
#m1:checked~.what .m1,#m2:checked~.what .m2,#m3:checked~.what .m3{display:block}
.modes .note{font-size:13px;color:var(--cabin-muted);margin:8px 2px 0}

.steps{list-style:none;counter-reset:s;margin:0;padding:0;display:grid;gap:0;border-top:2px solid var(--ink)}
.steps li{counter-increment:s;display:grid;align-content:start;grid-template-columns:44px 1fr;gap:4px 12px;padding:14px 0;border-bottom:1px solid var(--line)}
.steps li::before{content:counter(s);font:800 26px/1 var(--display);color:var(--link);grid-row:span 2}
.steps b{font:700 18px var(--display)}.steps span{color:var(--muted)}
@media (min-width:860px){.steps{grid-template-columns:repeat(5,1fr);gap:20px;border-top:0}
  .steps li{grid-template-columns:1fr;border-top:2px solid var(--ink);border-bottom:0;padding-top:12px}.steps li::before{grid-row:auto}}
.section{margin-top:44px}
.facts{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.facts li{padding-left:20px;position:relative}
.facts li::before{content:"";position:absolute;left:0;top:.6em;width:9px;height:9px;background:var(--tag);transform:rotate(45deg)}

/* landing da marca */
.masthead{padding:34px 0 22px;border-bottom:3px solid var(--accent);margin-bottom:26px}
.masthead h1{font-size:clamp(30px,7.5vw,54px);font-weight:800;line-height:1;letter-spacing:-.02em;margin:0 0 12px}
.masthead p{font-size:19px;max-width:44ch;margin:0 0 22px}
.deal{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.deal img{width:72px;height:72px;object-fit:contain;background:#fff;border-radius:8px;flex:none}
.deal .price{font-size:22px}
.foot{color:var(--muted);font-size:14px;margin-top:44px;border-top:1px solid var(--line);padding-top:14px}

/* escolha de cor da landing (Configurações) */
.swatches{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.swatches label{margin:0;display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;cursor:pointer;color:var(--ink);font-weight:600}
.swatches i{width:18px;height:18px;border-radius:50%;background:var(--c);display:block}
.swatches input:checked+label{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.swatches input:focus-visible+label{outline:3px solid var(--link);outline-offset:2px}

@media (max-width:560px){.offer{grid-template-columns:1fr}.offer .ph{display:none}.offer img{width:84px;height:84px}}
@media (prefers-reduced-motion:no-preference){button,.btn{transition:filter .15s}}
@media (max-width:560px){th,td{padding:8px 6px}.card{padding:14px}}

.subtabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:0 0 18px}
.subtabs a{padding:10px 14px;min-height:44px;display:inline-flex;align-items:center;color:var(--muted);text-decoration:none;font-weight:600;border-bottom:3px solid transparent;margin-bottom:-1px}
.subtabs a:hover{color:var(--ink)}
.subtabs a.on{color:var(--ink);border-bottom-color:var(--accent)}

/* sino de notificações */
.bell{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:8px;
  text-decoration:none;font-size:20px;color:inherit;border:1px solid var(--cabin-line)}
.bell b{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--tag);color:var(--tag-ink);
  font:700 11px/18px var(--text);text-align:center}
.bell.on{background:rgba(255,255,255,.1)}
.topbar .wrap{gap:8px}.topbar .bell{margin-left:auto}
.side .bell{margin:0 0 8px}
.notif{list-style:none;margin:0;padding:0}.notif li{padding:10px 0;border-top:1px solid var(--line)}.notif li.new b{color:var(--ink)}
