/* OrçaBuffet · área do assinante e proposta pública. Mesmo sistema de design da página de venda (ver DESIGN.md):
   "frente e fundo da casa". Papel creme, vinho como único acento, latão só em filetes. Fraunces nos títulos e nos números
   grandes, Figtree no resto (carregadas por <link> do Google Fonts nas páginas). Tudo por tokens; o escuro vem do sistema. */
:root{
  --bg:#f5eddf;--sup:#fffaf1;--sup2:#eee3d0;--tinta:#1f1513;--sec:#65524a;--linha:#e0d2bd;--linha2:#cdb99f;
  --vinho:#8a1730;--vinho-t:#fff;--vinho-forte:#5d0f20;--vinho-fundo:#f5e1e3;--latao:#a87a2a;--latao-fundo:#f6ecd6;
  --ok:#2c6a47;--ok-fundo:#e0efe6;--aviso:#8a5200;--aviso-fundo:#fbefd3;--erro:#a42b1e;--erro-fundo:#fae4df;--info:#27506f;--info-fundo:#e3eef6;--noite:#2a1114;
  --sombra:0 1px 0 rgba(60,30,20,.05),0 2px 6px -2px rgba(60,30,20,.10),0 26px 44px -30px rgba(60,30,20,.5);--raio:16px;
  --n-cor:var(--vinho);--n-cor-t:var(--vinho-t);--n-fundo:var(--bg);--n-tinta:var(--tinta);--n-linha:var(--linha);--n-sec:var(--sec);
  --n-fonte:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;--n-titulo:"Fraunces","Iowan Old Style",Georgia,serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-tema="claro"]){
  --bg:#130c0b;--sup:#1d1412;--sup2:#271a17;--tinta:#f4eadf;--sec:#b9a79b;--linha:#372824;--linha2:#4a3731;
  --vinho:#c4455d;--vinho-t:#fff;--vinho-forte:#f0a0ae;--vinho-fundo:#3d1a22;--latao:#d8ab57;--latao-fundo:#352a16;
  --ok:#7cc89b;--ok-fundo:#16301f;--aviso:#e5b25a;--aviso-fundo:#37290f;--erro:#f0907f;--erro-fundo:#3b1b16;--info:#8fc1e6;--info-fundo:#17293a;--noite:#1a0b0e;
  --sombra:0 1px 0 rgba(0,0,0,.3),0 2px 6px -2px #000,0 26px 44px -30px #000;color-scheme:dark}}
:root[data-tema="escuro"]{
  --bg:#130c0b;--sup:#1d1412;--sup2:#271a17;--tinta:#f4eadf;--sec:#b9a79b;--linha:#372824;--linha2:#4a3731;
  --vinho:#c4455d;--vinho-t:#fff;--vinho-forte:#f0a0ae;--vinho-fundo:#3d1a22;--latao:#d8ab57;--latao-fundo:#352a16;
  --ok:#7cc89b;--ok-fundo:#16301f;--aviso:#e5b25a;--aviso-fundo:#37290f;--erro:#f0907f;--erro-fundo:#3b1b16;--info:#8fc1e6;--info-fundo:#17293a;--noite:#1a0b0e;
  --sombra:0 1px 0 rgba(0,0,0,.3),0 2px 6px -2px #000,0 26px 44px -30px #000;color-scheme:dark}

[hidden]{display:none!important}
body.neg{background:var(--bg);color:var(--tinta);font:16px/1.55 var(--n-fonte);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
body.neg::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .4 0 0 0 0 .3 0 0 0 0 .25 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
#app{max-width:1120px;padding:0 16px 96px}
h1,h2,h3{font-family:var(--n-titulo);font-weight:500;letter-spacing:-.02em;color:var(--tinta);font-variation-settings:"opsz" 144;text-wrap:balance}
h2{font-size:1.45rem}h3{font-size:1.12rem}
a{color:var(--vinho-forte)}
.mut{color:var(--sec)}
:focus-visible{outline:3px solid var(--latao);outline-offset:2px;border-radius:6px}

/* superfícies que o neg.css pinta de branco */
.card,.resumo div,.tabela-wrap,.aba,.btn.sec,input,select,textarea{background:var(--sup);color:var(--tinta)}
.card{border-color:var(--linha);border-radius:var(--raio);box-shadow:var(--sombra)}
input,select,textarea{border-color:var(--linha2);border-radius:10px}
input:focus,select:focus,textarea:focus{border-color:var(--vinho);outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--vinho) 22%,transparent)}
input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--sec) 70%,transparent)}
.btn{background:var(--vinho);color:var(--vinho-t);border-radius:999px;padding-inline:22px;box-shadow:0 1px 0 rgba(255,255,255,.22) inset,0 8px 20px -12px var(--vinho);transition:transform .2s,background .2s}.btn:hover{transform:translateY(-1px)}.btn.sec,.btn.perigo,.btn.suave{box-shadow:none}
.btn:hover{background:var(--vinho-forte);color:var(--vinho-t)}
:root[data-tema="escuro"] .btn:hover{background:#d85a72}@media (prefers-color-scheme:dark){:root:not([data-tema="claro"]) .btn:hover{background:#d85a72}}
.btn.sec{border:1px solid var(--linha2);color:var(--tinta)}.btn.sec:hover{background:var(--sup2);color:var(--tinta)}
.btn.perigo{background:transparent;color:var(--erro);border:1px solid var(--erro)}.btn.perigo:hover{background:var(--erro-fundo);color:var(--erro)}
.btn.suave{background:var(--vinho-fundo);color:var(--vinho-forte)}.btn.suave:hover{background:var(--vinho-fundo);filter:brightness(.97);color:var(--vinho-forte)}
.btn.zap{background:#1f7a4d;color:#fff}.btn.zap:hover{background:#17623d;color:#fff}
.aba{border-color:var(--linha)}.aba.on{background:var(--vinho);border-color:var(--vinho);color:var(--vinho-t)}
.topo{border-bottom:1px solid var(--linha);padding:16px 0}
.topo strong{font:500 1.4rem var(--n-titulo);letter-spacing:-.02em;display:inline-flex;align-items:center;gap:9px;color:var(--vinho-forte)}
.topo strong::before{content:"";width:30px;height:30px;flex:none;border-radius:9px;background:var(--vinho) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M4 19h22M7 19a8 8 0 0 1 16 0M15 8v-2' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3Ccircle cx='15' cy='5' r='1.4' fill='%23fff'/%3E%3C/svg%3E") center/22px no-repeat}
.card.entrar{margin:9vh auto 0;max-width:440px;padding:30px;border-radius:18px}
.card.entrar h1{font-size:1.8rem;display:flex;align-items:center;gap:10px;color:var(--vinho-forte)}
.faixa-assinar{background:var(--latao-fundo);border-color:var(--latao);color:var(--tinta);border-radius:12px}
.tag{background:var(--sup2);color:var(--sec);border:1px solid var(--linha)}
.tag.ok{background:var(--ok-fundo);color:var(--ok);border-color:transparent}.tag.aviso{background:var(--aviso-fundo);color:var(--aviso);border-color:transparent}
.tag.nao{background:var(--erro-fundo);color:var(--erro);border-color:transparent}.tag.info{background:var(--info-fundo);color:var(--info);border-color:transparent}
.tag.vinho{background:var(--vinho-fundo);color:var(--vinho-forte);border-color:transparent}
.neg-toast{background:var(--tinta);color:var(--bg)}.neg-toast.erro{background:var(--erro);color:#fff}
th{background:var(--sup2);color:var(--sec)}th,td{border-bottom-color:var(--linha)}
pre.texto{background:var(--sup2)}
.campo label{color:var(--tinta)}.campo small{color:var(--sec)}
.vazio{padding:0}

/* cabeçalhos de seção */
.sec-topo{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:6px 0 14px}
.sec-topo h2{margin:0}.sec-topo p{margin:2px 0 0}
.fila{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.fila.fim{justify-content:flex-end}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.chip{border:1px solid var(--linha2);background:var(--sup);color:var(--tinta);border-radius:999px;padding:6px 14px;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;min-height:40px}
.chip .n{opacity:.7;font-weight:500;margin-left:4px}
.chip.on{background:var(--tinta);color:var(--bg);border-color:var(--tinta)}

/* início */
.ola{padding:22px 0 8px}.ola h1{font-size:clamp(1.55rem,4.5vw,2.1rem);margin:0 0 4px}
.kpis{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:12px 0 18px}
.kpi{background:var(--sup);border:1px solid var(--linha);border-radius:var(--raio);padding:14px 16px;box-shadow:var(--sombra)}
.kpi span{display:block;font-size:.8rem;color:var(--sec);letter-spacing:.03em;text-transform:uppercase}
.kpi b{display:block;font:450 2rem/1.15 var(--n-titulo);letter-spacing:-.03em;color:var(--tinta);margin-top:2px;font-variant-numeric:lining-nums}
.kpi small{color:var(--sec)}
.passos-ini{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:10px}
.passos-ini li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--linha);border-radius:12px;background:var(--sup)}
.passos-ini .n{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:var(--latao-fundo);color:var(--latao);border:1px solid var(--latao)}
.passos-ini li.feito .n{background:var(--ok);border-color:var(--ok);color:#fff}
.passos-ini li.feito b{text-decoration:line-through;text-decoration-thickness:1px;opacity:.65}
.duas{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:860px){.duas{grid-template-columns:1fr 1fr}}
.item-lista{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--linha)}
.item-lista:last-child{border-bottom:0}
.item-lista b{display:block}.item-lista small{color:var(--sec)}
.item-lista .acoes{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}

/* lista de propostas */
.props{display:grid;gap:10px}
.prop{display:grid;grid-template-columns:1fr auto;gap:4px 14px;padding:14px 16px;background:var(--sup);border:1px solid var(--linha);border-radius:var(--raio);cursor:pointer;text-align:left;color:inherit;font:inherit;width:100%;box-shadow:var(--sombra)}
.prop:hover{border-color:var(--vinho)}
.prop .nome{font-weight:700}.prop .meta{color:var(--sec);font-size:.9rem;grid-column:1}
.prop .valor{grid-row:1/3;grid-column:2;text-align:right}.prop .valor b{font:600 1.25rem var(--n-titulo);display:block}
.prop .valor small{color:var(--sec)}

/* editor */
.editor{display:grid;gap:16px;grid-template-columns:1fr;align-items:start}
@media (min-width:980px){.editor{grid-template-columns:minmax(0,1fr) 340px}.lateral{position:sticky;top:12px}}
.bloco{margin:0 0 14px}.bloco>h3{margin:0 0 10px;display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.bloco>h3 small{font:400 .85rem var(--n-fonte);color:var(--sec)}
.grade2{display:grid;gap:0 12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.grade2 .largo{grid-column:1/-1}
.linha-card{border:1px solid var(--linha);border-radius:12px;padding:12px;margin:0 0 10px;background:var(--sup2)}
.linha-card .topo-l{display:flex;gap:8px;align-items:flex-start;justify-content:space-between}
.linha-card .nome-l{flex:1;font-weight:700}
.linha-card .grade2{margin-top:8px}
.linha-card .campo{margin-bottom:8px}
.linha-card .resu{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.9rem;color:var(--sec);margin-top:2px}
.linha-card .resu b{color:var(--tinta)}
.linha-card details summary{cursor:pointer;color:var(--sec);font-size:.9rem;padding:4px 0}
.linha-card.sem-custo{border-color:var(--aviso);background:color-mix(in srgb,var(--aviso-fundo) 55%,var(--sup2))}
.seg{display:inline-flex;border:1px solid var(--linha2);border-radius:10px;overflow:hidden}
.seg button{border:0;background:var(--sup);color:var(--tinta);font:inherit;font-size:.88rem;font-weight:600;padding:8px 12px;min-height:40px;cursor:pointer}
.seg button+button{border-left:1px solid var(--linha2)}
.seg button.on{background:var(--tinta);color:var(--bg)}
.chk{display:flex;gap:8px;align-items:flex-start;font-size:.92rem;margin:6px 0}.chk input{margin-top:4px;width:18px;height:18px;flex:none}
.aviso-caixa{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border-radius:12px;margin:0 0 12px;font-size:.93rem}
.aviso-caixa.a{background:var(--aviso-fundo);color:var(--tinta);border:1px solid var(--latao)}
.aviso-caixa.e{background:var(--erro-fundo);border:1px solid var(--erro)}
.aviso-caixa.i{background:var(--info-fundo);border:1px solid var(--info)}
.aviso-caixa.o{background:var(--ok-fundo);border:1px solid var(--ok)}
.aviso-caixa>div{flex:1}
.resumo-card .linha-v{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px dashed var(--linha)}
.resumo-card .linha-v:last-of-type{border-bottom:0}
.resumo-card .total{font:600 2.1rem/1.1 var(--n-titulo);color:var(--vinho-forte);font-variant-numeric:lining-nums}
.resumo-card .pp{font-size:1.02rem}
.margem{display:inline-block;padding:2px 10px;border-radius:999px;font-weight:700;font-size:.85rem}
.margem.ok{background:var(--ok-fundo);color:var(--ok)}.margem.baixa{background:var(--aviso-fundo);color:var(--aviso)}.margem.neg{background:var(--erro-fundo);color:var(--erro)}
.barras{margin:10px 0 0;display:grid;gap:6px}
.barra{display:grid;grid-template-columns:90px 1fr auto;gap:8px;align-items:center;font-size:.85rem}
.barra i{display:block;height:8px;border-radius:99px;background:var(--sup2);overflow:hidden}.barra i u{display:block;height:100%;background:linear-gradient(90deg,var(--latao),var(--vinho));border-radius:99px}
.barra span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini-barra{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--sup);border-top:1px solid var(--linha2);padding:8px 16px calc(8px + env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:center;gap:10px;box-shadow:0 -10px 30px -20px rgba(0,0,0,.5)}
.mini-barra b{font:600 1.3rem var(--n-titulo);color:var(--vinho-forte)}
@media (min-width:980px){.mini-barra{display:none}}
.sim td,.sim th{padding:7px 8px;font-size:.9rem}.sim tr.atual td{background:var(--vinho-fundo);font-weight:700}
.versao{padding:10px 0;border-bottom:1px solid var(--linha);display:grid;gap:4px}.versao:last-child{border:0}
.versao .topo-v{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;align-items:center}
.dif{font-size:.88rem;color:var(--sec)}.dif b{color:var(--tinta)}
.link-box{display:flex;gap:8px;align-items:center;background:var(--sup2);border:1px dashed var(--linha2);border-radius:10px;padding:8px 10px;margin:8px 0;word-break:break-all;font-size:.9rem}
.estado{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 12px}

/* catálogo */
.grupo-t{display:flex;align-items:baseline;gap:8px;margin:18px 0 6px;font:600 1.05rem var(--n-titulo);color:var(--vinho-forte)}
.grupo-t small{color:var(--sec);font:400 .85rem var(--n-fonte)}
.cat-item{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:11px 0;border-bottom:1px solid var(--linha)}
.cat-item b{font-weight:700}.cat-item small{color:var(--sec)}
.cat-item .preco-c{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.cat-item.arq{opacity:.55}
.modal-f{position:fixed;inset:0;background:rgba(20,10,8,.55);z-index:49;backdrop-filter:blur(2px)}
.modal{position:fixed;left:12px;right:12px;bottom:12px;max-width:600px;margin:auto;z-index:50;max-height:calc(100vh - 24px);overflow:auto;box-shadow:0 24px 60px rgba(0,0,0,.4)!important}
@media (min-width:700px){.modal{top:50%;bottom:auto;transform:translateY(-50%)}}

/* compras */
.compras-g{margin:14px 0 0}
.compras-l{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--linha)}
.compras-l input{width:20px;height:20px}.compras-l.feito b{text-decoration:line-through;opacity:.55}
.compras-l small{display:block;color:var(--sec)}
.compras-l .q{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}

/* marca */
.logo-prev{display:flex;gap:14px;align-items:center;margin:0 0 10px}.logo-prev img{max-height:64px;max-width:160px;border-radius:8px;border:1px solid var(--linha);background:#fff;padding:4px}
.cor-in{display:flex;gap:10px;align-items:center}.cor-in input[type=color]{width:54px;padding:2px;min-height:44px}

/* vazio caprichado */
.vazio-g{text-align:center;padding:34px 18px;background:var(--sup);border:1px dashed var(--linha2);border-radius:var(--raio)}
.vazio-g svg{width:78px;height:78px;margin:0 auto 8px;display:block;color:var(--latao)}
.vazio-g h3{margin:0 0 6px}.vazio-g p{margin:0 auto 14px;max-width:44ch;color:var(--sec)}

/* mobile: tabelas viram cartões */
@media (max-width:640px){
  #app{padding:0 14px 96px}
  .tabela-wrap{border:0;background:transparent;box-shadow:none;overflow:visible}
  table.cards,table.cards thead,table.cards tbody,table.cards tr,table.cards td{display:block;width:100%}
  table.cards thead{position:absolute;left:-9999px}
  table.cards tr{background:var(--sup);border:1px solid var(--linha);border-radius:12px;padding:6px 10px;margin:0 0 10px}
  table.cards td{border:0!important;padding:5px 0!important;display:flex;justify-content:space-between;gap:12px;text-align:right!important}
  table.cards td::before{content:attr(data-r);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--sec);text-align:left;flex:none}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ---- sistema de design 2026: acabamento (ver DESIGN.md) ---- */
.card{border-radius:var(--raio);background-image:linear-gradient(var(--vinho),var(--vinho));background-size:100% 3px;background-repeat:no-repeat;padding-top:20px}
.card.entrar{background-size:100% 5px;border-radius:6px}
.aba{font-weight:700;border-radius:999px;transition:background .2s,color .2s}
.aba:hover:not(.on){background:var(--sup2)}
th{font:600 .68rem var(--n-fonte);letter-spacing:.12em}
.tag{font-weight:700;letter-spacing:.01em}
.ola h1{font-weight:420;letter-spacing:-.03em}.ola h1 em{font-style:italic;color:var(--vinho)}
.tabela-wrap{border-radius:var(--raio);box-shadow:var(--sombra)}
@media (prefers-reduced-motion:reduce){.btn,.aba{transition:none}.btn:hover{transform:none}}

/* =====================================================================================================================
   Identidade gráfica do app (02/11/2026): cabeçalho de marca, abas com ícone (barra inferior no celular), capa do painel
   com foto, cartões com ícone, funil em SVG, capa de proposta no editor, comanda de preço, lista em cartões.
   Tudo por tokens, claro e escuro. Ver DESIGN.md.
   ===================================================================================================================== */
:root{--creme:#f8eddc;--noite2:#3b1119;--grad-noite:linear-gradient(135deg,var(--noite2) 0%,var(--noite) 55%,#170a0c 100%);--brilho:rgba(255,236,206,.08)}
.ic{display:inline-grid;place-items:center;flex:none;line-height:0}.ic svg{width:20px;height:20px;display:block}
#app{padding-bottom:calc(120px + env(safe-area-inset-bottom))}

/* cabeçalho de marca */
.topo{position:sticky;top:0;z-index:20;margin:0;padding:12px 0;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--linha)}
.topo>div{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;min-width:0}
.topo strong{font-size:1.3rem}
.topo .mut{font-size:.88rem;font-weight:600;padding-left:10px;margin-left:6px;border-left:1px solid var(--linha2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46vw}
.topo .btn.sec{min-height:40px}

/* abas */
.abas{gap:4px;padding:12px 0 14px}
.aba{display:inline-flex;align-items:center;gap:8px;padding:8px 16px 8px 12px;font-size:.93rem}
.aba .ic svg{width:18px;height:18px}
.aba:not(.on) .ic{color:var(--sec)}
.aba.on{box-shadow:0 10px 22px -12px var(--vinho)}
@media (max-width:700px){
  .abas{position:fixed;left:0;right:0;bottom:0;z-index:40;margin:0;padding:6px 6px calc(6px + env(safe-area-inset-bottom));gap:0;justify-content:space-between;overflow:visible;background:color-mix(in srgb,var(--sup) 94%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--linha2);box-shadow:0 -14px 30px -22px rgba(40,10,10,.55)}
  .aba{flex:1 1 0;min-width:0;flex-direction:column;gap:2px;padding:7px 2px 5px;border:0!important;border-radius:12px;background:transparent!important;color:var(--sec);font-size:.64rem;font-weight:700;letter-spacing:.01em;min-height:52px;box-shadow:none!important}
  .aba .ic svg{width:23px;height:23px}
  .aba .t{display:block;max-width:100%;overflow:hidden;text-overflow:clip;white-space:nowrap}
  .aba[data-curto] .t{display:none}.aba[data-curto]::after{content:attr(data-curto)}
  .aba.on{color:var(--vinho)}.aba.on .ic{color:var(--vinho);transform:translateY(-1px)}
  .aba.on::before{content:"";position:absolute;top:0;width:22px;height:3px;border-radius:0 0 4px 4px;background:var(--vinho)}
  .aba{position:relative;align-items:center}
  .mini-barra{bottom:calc(64px + env(safe-area-inset-bottom))}
  .topo .mut{max-width:36vw}
  .topo{margin:0 -14px;padding:12px 14px}
}

/* painel: capa com foto */
.hero-ini{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);min-height:250px;margin:16px 0 18px;border-radius:26px;overflow:hidden;background:var(--grad-noite);color:var(--creme);box-shadow:0 30px 50px -34px rgba(60,10,20,.75)}
.hero-ini::before{content:"";position:absolute;inset:0;opacity:.35;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .9 0 0 0 0 .8 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero-txt{position:relative;z-index:2;padding:30px 30px 28px;display:flex;flex-direction:column;justify-content:center;gap:10px}
.kicker{font:700 .72rem var(--n-fonte);letter-spacing:.16em;text-transform:uppercase;color:var(--latao)}
.hero-ini .kicker{color:#e3bf78}
.hero-ini h1{font:380 clamp(2.1rem,5.4vw,3.4rem)/1.02 var(--n-titulo);letter-spacing:-.035em;color:var(--creme);margin:0;font-variation-settings:"opsz" 144}
.hero-ini h1 em{font-style:italic;color:#e3bf78}
.hero-sub{margin:0 0 6px;max-width:34ch;font-size:1.05rem;color:color-mix(in srgb,var(--creme) 84%,transparent)}.hero-sub b{color:var(--creme);font:600 1.1rem var(--n-titulo)}
.hero-foto{position:relative;z-index:1;background:radial-gradient(120% 90% at 70% 30%,#6b2432,transparent 70%),url(/img/hero-mesa.webp) center 30%/cover no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 46%);mask-image:linear-gradient(90deg,transparent 0,#000 46%)}
.hero-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(23,10,12,.55))}
.btn.claro{background:var(--creme);color:#5d0f20;box-shadow:0 12px 24px -14px #000}.btn.claro:hover{background:#fff;color:#5d0f20}
.btn.ghost{background:transparent;color:var(--creme);border:1px solid rgba(248,237,220,.4);box-shadow:none}.btn.ghost:hover{background:rgba(255,255,255,.1);color:#fff}
@media (max-width:700px){
  .hero-ini{grid-template-columns:1fr;min-height:0;border-radius:22px}
  .hero-txt{padding:24px 20px 22px}
  .hero-foto{position:absolute;inset:0;-webkit-mask-image:linear-gradient(180deg,transparent 10%,#000 90%);mask-image:linear-gradient(180deg,transparent 10%,#000 90%);opacity:.38}
}

/* KPIs com ícone */
.kpis{gap:14px}
.kpi{position:relative;padding:18px 18px 16px;overflow:hidden}
.kpi .kpi-i{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:12px;background:var(--latao-fundo);color:var(--latao)}
.kpi span:not(.ic){padding-right:46px;font-weight:700;font-size:.72rem;letter-spacing:.1em}
.kpi b{font-size:clamp(1.5rem,5.8vw,2.15rem);margin:8px 0 4px;font-weight:420;white-space:nowrap}
.kpi.destaque{background:var(--grad-noite);border-color:transparent;color:var(--creme)}
.kpi.destaque span:not(.ic),.kpi.destaque small{color:color-mix(in srgb,var(--creme) 72%,transparent)}.kpi.destaque b{color:var(--creme)}
.kpi.destaque .kpi-i{background:rgba(255,255,255,.12);color:#e3bf78}

/* cartões: título com ícone, vazio pequeno, funil */
.h-ic{display:flex;align-items:center;gap:10px}.h-ic .ic{width:30px;height:30px;border-radius:10px;background:var(--vinho-fundo);color:var(--vinho)}.h-ic .ic svg{width:17px;height:17px}
.mini-vazio{display:flex;gap:14px;align-items:center;padding:8px 0 2px}.mini-vazio p{margin:0}
.mini-vazio .ic.ok{width:48px;height:48px;border-radius:50%;background:var(--ok-fundo);color:var(--ok);flex:none}.mini-vazio .ic.ok svg{width:24px;height:24px}
.funil-total{display:flex;align-items:baseline;gap:8px;margin:-2px 0 12px}.funil-total b{font:420 2.6rem/1 var(--n-titulo);letter-spacing:-.03em;font-variant-numeric:lining-nums}.funil-total span{color:var(--sec)}
.funil-barra svg{display:block;width:100%;height:22px}
.legenda{list-style:none;margin:14px 0 0;padding:0;display:flex;gap:6px 18px;flex-wrap:wrap;font-size:.9rem;color:var(--sec)}.legenda li{display:flex;align-items:center;gap:7px}.legenda i{width:10px;height:10px;border-radius:3px}.legenda b{color:var(--tinta)}
.item-lista{padding:13px 0}
.aviso-caixa .ic{color:var(--aviso);margin-top:1px}

/* onboarding ilustrado */
.onboard{background-image:none;padding-top:22px;position:relative;overflow:hidden}
.onboard::after{content:"";position:absolute;right:-30px;top:-30px;width:150px;height:150px;border-radius:50%;border:1px solid var(--linha2);box-shadow:0 0 0 22px var(--latao-fundo);opacity:.7;pointer-events:none}
.onboard h3{font-size:1.4rem}
.passos-ini{counter-reset:p;gap:12px}
.passos-ini li{padding:16px;border-radius:16px;align-items:center;transition:transform .2s,border-color .2s}
.passos-ini li:not(.feito):hover{transform:translateY(-2px);border-color:var(--vinho)}
.passos-ini .n{width:40px;height:40px;font:600 1.2rem var(--n-titulo);background:var(--vinho);color:#fff;border:0;box-shadow:0 8px 16px -10px var(--vinho)}
.passos-ini li.feito .n{background:var(--ok)}

/* lista de propostas em cartões */
.props{gap:12px}
.prop{position:relative;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 14px;align-items:center;padding:16px 18px 16px 20px;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}
.prop::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--linha2)}
.prop.st-enviada::before{background:var(--info)}.prop.st-aceita::before{background:var(--ok)}.prop.st-recusada::before{background:var(--erro)}.prop.st-vencida::before{background:var(--latao)}
.prop:hover{transform:translateY(-2px);border-color:var(--vinho);box-shadow:0 20px 34px -24px rgba(60,10,20,.55)}
.prop .av{grid-row:1/3;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font:600 1.35rem var(--n-titulo);background:var(--vinho-fundo);color:var(--vinho)}
.prop .nome{grid-column:2;display:flex;flex-direction:column;font:600 1.08rem/1.25 var(--n-titulo);letter-spacing:-.01em;min-width:0}
.prop .nome small{font:700 .68rem var(--n-fonte);letter-spacing:.12em;text-transform:uppercase;color:var(--latao);margin-bottom:2px}
.prop .nome em{font:400 .9rem var(--n-fonte);color:var(--sec);font-style:normal;margin-top:1px}
.prop .meta{grid-column:2;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.prop .valor{grid-column:3;grid-row:1/3}.prop .valor b{font-size:1.45rem;font-weight:500;font-variant-numeric:lining-nums;letter-spacing:-.02em}
@media (max-width:560px){.prop{grid-template-columns:auto minmax(0,1fr);}.prop .valor{grid-column:1/-1;grid-row:auto;text-align:left;display:flex;justify-content:space-between;align-items:baseline;padding-top:8px;border-top:1px dashed var(--linha2);margin-top:2px}.prop .av{grid-row:1/3}.prop .meta{grid-column:2}}
.chip{transition:background .2s}.chip:hover:not(.on){background:var(--sup2)}
.sec-topo h2{font-size:1.9rem;font-weight:420;letter-spacing:-.03em}

/* editor: capa do documento */
.capa-doc{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:end;margin:4px 0 18px;padding:30px 30px 26px;border-radius:24px;overflow:hidden;color:var(--creme);background:linear-gradient(100deg,var(--noite) 0%,rgba(42,17,20,.9) 48%,rgba(42,17,20,.35) 100%),url(/img/mesa-doces.webp) center/cover,var(--grad-noite);box-shadow:0 28px 46px -34px rgba(60,10,20,.8)}
.capa-doc::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#e3bf78,var(--vinho) 40%,#e3bf78)}
.capa-doc .kicker{color:#e3bf78}
.capa-tit{font:400 clamp(1.7rem,4.4vw,2.7rem)/1.06 var(--n-titulo);letter-spacing:-.03em;color:var(--creme);margin:8px 0 4px;overflow-wrap:anywhere}
.capa-cli{margin:0;color:color-mix(in srgb,var(--creme) 82%,transparent);font-style:italic;font-family:var(--n-titulo)}
.capa-meta{list-style:none;margin:16px 0 0;padding:0;display:flex;gap:8px 20px;flex-wrap:wrap;font-size:.9rem;color:color-mix(in srgb,var(--creme) 86%,transparent)}.capa-meta li{display:flex;gap:8px;align-items:center}.capa-meta .ic svg{width:17px;height:17px;color:#e3bf78}
.capa-tot{text-align:right;border-left:1px dashed rgba(248,237,220,.35);padding-left:22px}
.capa-tot span{display:block;font:700 .68rem var(--n-fonte);letter-spacing:.14em;text-transform:uppercase;color:#e3bf78}
.capa-tot b{display:block;font:420 clamp(1.9rem,4.6vw,2.9rem)/1.05 var(--n-titulo);letter-spacing:-.03em;font-variant-numeric:lining-nums;margin:4px 0 2px}
.capa-tot small{color:color-mix(in srgb,var(--creme) 76%,transparent)}
@media (max-width:640px){.capa-doc{grid-template-columns:1fr;padding:24px 20px 20px;border-radius:20px}.capa-tot{text-align:left;border-left:0;border-top:1px dashed rgba(248,237,220,.35);padding:14px 0 0}}
.sec-topo+.capa-doc{margin-top:0}

/* editor: blocos numerados, linhas, comanda */
.bloco{padding-top:22px}
.bloco>h3{font-size:1.22rem;align-items:center;justify-content:flex-start;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--linha)}
.bloco>h3 small{margin-left:auto}
.bn{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;font:600 .95rem var(--n-titulo);background:var(--latao-fundo);color:var(--latao);border:1px solid var(--latao)}
.linha-card{position:relative;padding:14px 14px 10px 18px;border-radius:14px;border-color:var(--linha);background:var(--sup);box-shadow:0 1px 0 rgba(60,30,20,.04)}
.linha-card::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;border-radius:0 4px 4px 0;background:var(--latao)}
.linha-card.sem-custo::before{background:var(--aviso)}
.linha-card .nome-l input{font:600 1.05rem var(--n-titulo);border-color:transparent;background:transparent;padding-left:0;box-shadow:none}.linha-card .nome-l input:hover{border-color:var(--linha2)}.linha-card .nome-l input:focus{background:var(--sup);padding-left:12px}
.linha-card .resu{padding-top:8px;margin-top:6px;border-top:1px dashed var(--linha2)}
.seg{border-radius:999px;padding:3px;background:var(--sup2);border-color:var(--linha)}.seg button{border-radius:999px;background:transparent;min-height:34px;padding:5px 14px}.seg button+button{border-left:0}.seg button.on{background:var(--sup);color:var(--vinho-forte);box-shadow:0 1px 3px rgba(40,10,10,.25)}
.resumo-card{background:var(--grad-noite);background-size:auto;color:var(--creme);border-color:transparent;padding:24px 22px 20px;border-radius:22px;position:relative;overflow:hidden;box-shadow:0 30px 50px -32px rgba(60,10,20,.85)}
.resumo-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#e3bf78,var(--vinho))}
.resumo-card::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:14px;background:radial-gradient(circle at 7px 0,transparent 7px,var(--bg) 7.5px) 0 0/14px 14px repeat-x;opacity:0}
.resumo-card .mut,.resumo-card .linha-v .mut{color:color-mix(in srgb,var(--creme) 66%,transparent)}
.resumo-card>.mut.peq:first-child{font:700 .68rem var(--n-fonte);letter-spacing:.14em;text-transform:uppercase;color:#e3bf78}
.resumo-card .total{color:var(--creme);font-size:2.7rem;font-weight:420;letter-spacing:-.035em;margin:6px 0 2px}
.resumo-card .pp{color:color-mix(in srgb,var(--creme) 86%,transparent)}
.resumo-card .linha-v{border-bottom-color:rgba(248,237,220,.2)}
.resumo-card .linha-v b,.resumo-card .linha-v span:not(.mut):not(.margem){color:var(--creme)}
.resumo-card .barra i{background:rgba(255,255,255,.12)}
.resumo-card .tag.nao{background:var(--erro-fundo);color:var(--erro)}
.comp{display:flex;height:10px;gap:3px;margin:16px 0 2px}.comp u{display:block;border-radius:5px;min-width:6px}
.lateral .card:not(.resumo-card){padding-top:20px}
.mini-barra{border-radius:18px 18px 0 0}
.sim th,.sim td{padding:10px 12px}
.sim tr.atual td{background:var(--vinho-fundo);color:var(--vinho-forte)}
.versao{padding:14px 0}

/* catálogo, compras, marca */
.grupo-t{padding:6px 0;border-bottom:2px solid var(--vinho);margin:26px 0 4px;font-size:1.15rem;font-weight:500}.grupo-t:first-of-type{margin-top:6px}
.cat-item{padding:13px 0;transition:background .15s}.cat-item .preco-c{font:600 1.1rem var(--n-titulo);font-variant-numeric:lining-nums}
.compras-l{padding:12px 0}.compras-l .q{font:600 1.05rem var(--n-titulo)}
.compras-l input[type=checkbox],.chk input[type=checkbox]{accent-color:var(--vinho)}
.vazio-g{padding:44px 22px;background:var(--sup) radial-gradient(90% 120% at 50% 0,var(--latao-fundo),transparent 70%);border-radius:22px}
.vazio-g svg{width:190px;height:auto;margin:0 auto 14px;color:var(--tinta)}
.vazio-g h3{font-size:1.5rem}
.logo-prev img{background:#fff}

/* modal */
.modal{border-radius:22px;padding:26px}.modal h3{font-size:1.4rem}

/* entrada: foto de buffet no topo do cartão */
.card.entrar{padding:0 0 28px;border-radius:22px;overflow:hidden;max-width:440px;background-image:none}
.card.entrar>*{margin-left:30px;margin-right:30px}
.card.entrar::before{content:"";display:block;height:170px;margin:0 0 22px;background:linear-gradient(180deg,rgba(42,17,20,.05) 40%,rgba(42,17,20,.78)),url(/img/cozinha-pass.webp) center 35%/cover,var(--grad-noite)}
.card.entrar h1{font-size:2.1rem;font-weight:420;margin-top:-62px;position:relative;color:var(--creme);text-shadow:0 2px 18px rgba(0,0,0,.45)}
.card.entrar h1::before{content:"";width:34px;height:34px;flex:none;border-radius:10px;background:var(--vinho) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M4 19h22M7 19a8 8 0 0 1 16 0M15 8v-2' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3Ccircle cx='15' cy='5' r='1.4' fill='%23fff'/%3E%3C/svg%3E") center/24px no-repeat;box-shadow:0 8px 18px -8px #000}
.card.entrar h1+p{margin-top:34px}
body.neg:has(.card.entrar){background:radial-gradient(90% 60% at 50% 0,var(--vinho-fundo),transparent 70%),var(--bg)}

@media (prefers-reduced-motion:reduce){.prop:hover,.passos-ini li:hover{transform:none}}
@media print{.abas,.topo,.mini-barra,.hero-ini{display:none!important}}
