:root{
  --escura:#23302B; --fundo:#F6F1E7; --card:#FFFFFF; --linha:#E0D6C3; --texto:#23302B; --suave:#5E675F;
  --terra:#B5563B; --terra-suave:#F3E2DA; --verde-suave:#E3E8E4; --ok:#2E7D4F; --ok-suave:#E4F0E8; --aviso:#9A6414; --aviso-suave:#F6EBDA; --erro:#B3392C; --erro-suave:#FBEAE7;
  --titulo:'Fraunces',Georgia,serif; --corpo:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
}
@media (prefers-color-scheme:dark){
  :root{ --escura:#0F1613; --fundo:#151D1A; --card:#1D2824; --linha:#2E3B35; --texto:#EDEAE2; --suave:#A9B3AC;
    --terra:#E2A98B; --terra-suave:#3A2820; --verde-suave:#22302A; --ok:#6FCB94; --ok-suave:#1D3226; --aviso:#E0A559; --aviso-suave:#362A16; --erro:#E37B6B; --erro-suave:#3A211C; }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--fundo);color:var(--texto);font-family:var(--corpo);font-size:15px;line-height:1.5}
h1,h2,h3{font-family:var(--titulo);font-weight:600;margin:0;line-height:1.15}
h1{font-size:clamp(28px,6vw,40px)} h2{font-size:22px} h3{font-size:17px}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--terra)}
.wrap{max-width:980px;margin:0 auto;padding:0 16px}

/* topo e abas */
.topo{background:var(--escura);color:#F6F1E7}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;padding-bottom:14px}
.marca{font-family:var(--titulo);font-weight:600;font-size:17px}
.marca em{color:#E2A98B;font-weight:500}
.dias{font-size:13px;opacity:.85;text-align:right}
.dias b{font-family:var(--titulo);font-size:20px;color:#E2A98B}
.abas{position:sticky;top:0;z-index:20;background:var(--fundo);border-bottom:1px solid var(--linha)}
.abas .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.abas .wrap::-webkit-scrollbar{display:none}
.aba{flex:0 0 auto;border:0;background:transparent;padding:14px 14px;font-weight:600;font-size:14px;color:var(--suave);cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap}
.aba[aria-selected="true"]{color:var(--terra);border-color:var(--terra)}
.aba:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--terra);outline-offset:2px}

main{padding:22px 0 80px}
.secao{margin-bottom:26px}
.secao>h2{margin-bottom:6px}
.sub{color:var(--suave);margin:0 0 14px}
.painel{background:var(--card);border:1px solid var(--linha);border-radius:14px;padding:18px}
.grade{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.tile{background:var(--card);border:1px solid var(--linha);border-radius:14px;padding:16px}
.tile b{display:block;font-family:var(--titulo);font-size:28px;line-height:1.1}
.tile span{color:var(--suave);font-size:13px}
.tile small{display:block;margin-top:6px;color:var(--suave);font-size:12.5px}
.barra{height:8px;border-radius:99px;background:var(--verde-suave);overflow:hidden;margin-top:8px}
.barra i{display:block;height:100%;background:var(--terra);border-radius:99px}

/* botões e campos */
.btn{border:0;border-radius:10px;padding:10px 16px;font-weight:600;cursor:pointer;background:var(--terra);color:#fff;font-size:14px}
body .btn{color:#fff}
@media (prefers-color-scheme:dark){ body .btn{color:#1a1410} }
.btn.sec{background:transparent;color:var(--terra);border:1px solid var(--terra)}
.btn.min{padding:6px 10px;font-size:12.5px}
.btn.perigo{background:transparent;color:var(--erro);border:1px solid var(--erro)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
label.campo{display:block;font-size:13px;color:var(--suave);font-weight:500}
label.campo>input,label.campo>select{display:block;width:100%;margin-top:5px}
input[type=text],input[type=number],input[type=date],input[type=url],textarea,select{background:var(--fundo);border:1px solid var(--linha);border-radius:10px;padding:10px 12px;min-height:42px;width:100%}
input[type=checkbox]{width:20px;height:20px;accent-color:var(--terra)}
.linha-form{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end}
.acoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}

/* boas-vindas */
.boas{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--escura)}
.boas .painel{max-width:520px;width:100%}
.boas h1{margin-bottom:8px}
.boas form{display:grid;gap:12px;margin-top:16px}
.aviso-local{font-size:12.5px;color:var(--suave);margin-top:10px}

/* checklist */
.fase{margin-bottom:18px}
.fase h3{font-size:15px;color:var(--suave);font-family:var(--corpo);text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px}
.tarefa{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--linha);border-radius:12px;padding:10px 12px;margin-bottom:6px}
.tarefa.feito .t{text-decoration:line-through;color:var(--suave)}
.tarefa .t{flex:1}
.tarefa .q{font-size:12px;color:var(--suave);white-space:nowrap}
.tarefa .q.atraso{color:var(--erro);font-weight:600}
.x{border:0;background:transparent;color:var(--suave);cursor:pointer;font-size:18px;line-height:1;padding:4px 8px;border-radius:8px}
.x:hover{color:var(--erro)}

/* orçamento */
.cat{margin-bottom:14px}
.cat-cab{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px}
.cat-cab h3{font-size:16px}
.item{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto auto;gap:8px;align-items:center;margin-bottom:6px}
.item .pc{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--suave);white-space:nowrap}
.cab-itens{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto auto;gap:8px;font-size:11.5px;color:var(--suave);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.totais{position:sticky;bottom:0;z-index:10;background:var(--card);border:1px solid var(--linha);border-radius:14px;padding:14px;margin-top:14px;box-shadow:0 -6px 20px rgba(0,0,0,.06)}
.totais .grade{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.totais b{font-family:var(--titulo);font-size:20px;display:block}
.pill{display:inline-block;padding:2px 9px;border-radius:4px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.pill.ok{background:var(--ok-suave);color:var(--ok)} .pill.aviso{background:var(--aviso-suave);color:var(--aviso)} .pill.erro{background:var(--erro-suave);color:var(--erro)} .pill.neutro{background:var(--verde-suave);color:var(--suave)}
.alerta{border-radius:12px;padding:12px 14px;margin-bottom:12px;font-size:14px}
.alerta.erro{background:var(--erro-suave);color:var(--erro)} .alerta.aviso{background:var(--aviso-suave);color:var(--aviso)} .alerta.ok{background:var(--ok-suave);color:var(--ok)}

/* fornecedores */
.cards{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.forn{background:var(--card);border:1px solid var(--linha);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:6px}
.forn.aprovado{border:2px solid var(--ok)} .forn.descartado{opacity:.55}
.forn .preco{font-family:var(--titulo);font-size:22px}
.forn .menor{font-size:11.5px;color:var(--ok);font-weight:600}
.forn p{margin:0;color:var(--suave);font-size:13.5px}
.forn .acoes{margin-top:auto}

/* convidados */
.conv{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) 70px 70px minmax(0,1.2fr) minmax(0,1.4fr) auto;gap:8px;align-items:center;margin-bottom:6px}
.conv input[type=number]{padding:8px}
.cab-conv{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) 70px 70px minmax(0,1.2fr) minmax(0,1.4fr) auto;gap:8px;font-size:11.5px;color:var(--suave);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.vazio{padding:22px;text-align:center;color:var(--suave);border:1px dashed var(--linha);border-radius:12px}
.cta-final{background:var(--escura);color:#F6F1E7;border-radius:14px;padding:20px;margin-top:24px}
.cta-final h3{color:#fff;margin-bottom:6px} .cta-final p{margin:0 0 12px;opacity:.9}
.cta-final .btn{background:#E2A98B;color:#23302B}
.oculto-leitor{position:absolute;left:-9999px}

label.mini{display:block;min-width:0} label.mini>span{display:none;font-size:11.5px;color:var(--suave);margin-bottom:3px}
@media (max-width:720px){
  label.mini>span{display:block}
  .grade{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tile b{font-size:24px}
  .item,.cab-itens{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .item .nome-item{grid-column:1 / -1}
  .cab-itens{display:none}
  .item .pc,.item .x{justify-self:start}
  .conv{grid-template-columns:1fr 1fr 1fr}
  .conv .nome-conv,.conv .tel-conv{grid-column:1 / -1}
  .cab-conv{display:none}
  .totais{position:static}
  main{padding-bottom:40px}
}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }

/* guia de uso */
.dica{background:var(--verde-suave);border-radius:12px;padding:12px 14px;margin-bottom:16px;font-size:14px}
.dica ul{margin:6px 0 10px;padding-left:18px}
.dica li{margin-bottom:2px}
.passos{margin-bottom:22px}
.passos h2{font-size:19px}
.lista-passos{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}
.lista-passos li{display:flex;align-items:center;gap:10px}
.lista-passos li>span:nth-child(2){flex:1}
.lista-passos li.ok>span:nth-child(2){color:var(--suave)}
.marca-ok{width:22px;height:22px;flex:0 0 22px;border-radius:50%;border:2px solid var(--linha);display:grid;place-items:center;font-size:13px;color:#fff;font-weight:700}
.lista-passos li.ok .marca-ok{background:var(--ok);border-color:var(--ok)}
.ajuda-btn{margin-left:8px;width:28px;height:28px;border-radius:50%;border:1px solid #E2A98B;background:transparent;color:#E2A98B;font-weight:700;cursor:pointer;vertical-align:middle}
.ajuda-btn:focus-visible{outline:3px solid #E2A98B;outline-offset:2px}
.aba.destaque{color:var(--terra);background:var(--terra-suave);border-radius:8px 8px 0 0}
.tour{position:fixed;z-index:60;left:12px;right:12px;bottom:12px;max-width:440px;margin:0 auto;background:var(--escura);color:#F6F1E7;border-radius:16px;padding:16px;box-shadow:0 12px 40px rgba(0,0,0,.35);border:1px solid #ffffff22}
@media (min-width:900px){.tour{left:auto;right:24px;margin:0}}
.tour h3{color:#fff;margin:2px 0 6px}
.tour p{margin:0 0 12px;font-size:14px;opacity:.92}
.tour .tour-n{font-size:12px;opacity:.7;margin-bottom:4px}
.tour-pontos{display:flex;gap:5px;margin-bottom:10px}
.tour-pontos i{width:8px;height:8px;border-radius:50%;background:#ffffff40}
.tour-pontos i.on{background:#E2A98B;width:20px;border-radius:99px}
.tour .btn{background:#E2A98B;color:#23302B}
.tour .btn.sec{background:transparent;color:#F6F1E7;border:1px solid #ffffff66}
body.com-tour main{padding-bottom:300px}
ol.como{margin:0;padding-left:20px;display:grid;gap:8px}
details.faq{background:var(--card);border:1px solid var(--linha);border-radius:12px;padding:12px 14px;margin-bottom:8px}
details.faq summary{cursor:pointer;font-weight:600}
details.faq p{margin:8px 0 0;color:var(--suave)}

textarea{font:inherit;resize:vertical}
label.campo>textarea{display:block;width:100%;margin-top:5px}
.forn small{font-size:12px;color:var(--suave);font-family:var(--corpo)}

@media print {
  .abas, .ajuda-btn, .tour, .dica, form, .acoes, .x, .toast { display: none !important; }
  body { background: #fff; color: #000; }
  .forn { break-inside: avoid; border: 1px solid #999; background: #fff; }
}
