/* Portal do cliente e caixa de pedidos: mesmos tokens do site (estilo.css), sem estilos em linha por causa da CSP */
.portal{padding-block:clamp(40px,7vw,80px)}
.portal .inner{max-width:46rem}
.portal h1{font-family:var(--display);font-weight:500;font-size:var(--s3);margin:.2em 0 .4em;text-wrap:balance}
.portal .lede{color:var(--muted);font-size:var(--s1);margin:0 0 28px}
.passos{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 28px}
.passos li{font-size:var(--s-2);font-family:var(--mono);letter-spacing:.04em;padding:6px 12px;border-radius:999px;border:1px solid var(--edge);color:var(--muted)}
.passos li[aria-current=step]{background:var(--band);border-color:var(--band);color:var(--on-band)}
.passos li.feito{border-color:var(--accent);color:var(--accent)}
.cartao{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:clamp(20px,4vw,32px);box-shadow:var(--shadow,none)}
.cartao h2{font-family:var(--display);font-weight:500;font-size:var(--s2);margin:0 0 18px;text-wrap:balance}
.cartao+.cartao{margin-top:20px}
.campo{display:flex;flex-direction:column;gap:6px;margin:0 0 18px;font-size:var(--s-1);color:var(--muted)}
.campo input,.campo select,.campo textarea{font:inherit;font-size:var(--s0);color:var(--ink);background:var(--surface);border:1px solid var(--edge);border-radius:var(--radius);padding:10px 12px;min-height:var(--target);width:100%;box-sizing:border-box}
.campo textarea{min-height:110px;resize:vertical}
.campo small{color:var(--muted)}
.dupla{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 16px}
.opcoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:0 0 18px;border:0;padding:0}
.opcoes legend{font-size:var(--s-1);color:var(--muted);margin-bottom:8px;padding:0}
.opcao{position:relative;display:flex;flex-direction:column;gap:2px;border:1px solid var(--edge);border-radius:10px;padding:14px 16px;cursor:pointer;min-height:var(--target);transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease)}
.opcao input{position:absolute;opacity:0;inset:0;cursor:pointer}
.opcao b{font-weight:600;color:var(--ink)}
.opcao small{color:var(--muted);font-size:var(--s-1)}
.opcao:has(input:checked){border-color:var(--band);background:color-mix(in srgb,var(--band) 6%,var(--surface))}
.opcao:has(input:focus-visible){outline:2px solid var(--brass);outline-offset:2px}
.marca-ok{display:flex;gap:10px;align-items:flex-start;font-size:var(--s-1);color:var(--ink);margin:0 0 18px}
.marca-ok input{width:20px;height:20px;margin-top:2px;flex:none}
.acoes{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px;margin-top:8px}
.btn.solid{background:var(--ink);color:var(--paper)}
.btn.line{border-color:var(--edge);color:var(--ink)}
.aviso-portal{font-size:var(--s-1);color:var(--muted);margin:0}
.erro-portal{color:#9b2c2c;font-size:var(--s-1);margin:8px 0 0}
.isca{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.resumo-valor{display:flex;flex-wrap:wrap;gap:24px;align-items:baseline;margin:0 0 18px}
.resumo-valor b{display:block;font-family:var(--display);font-weight:500;font-size:var(--s3)}
.resumo-valor span{color:var(--muted);font-size:var(--s-1)}
.contrato{border:1px solid var(--line);border-radius:10px;padding:4px 18px;max-height:420px;overflow:auto;background:color-mix(in srgb,var(--paper) 60%,var(--surface))}
.contrato h3{font-size:var(--s0);margin:16px 0 4px}
.contrato p{font-size:var(--s-1);margin:0 0 8px}
.hash{font-family:var(--mono);font-size:var(--s-2);color:var(--muted);word-break:break-all}
.progresso{height:6px;background:var(--line);border-radius:999px;margin:0 0 18px;overflow:hidden}
.progresso i{display:block;height:100%;background:var(--brass);width:0}
.grupos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0 0 18px}
.grupo{border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.grupo h3{font-size:var(--s-1);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--brass);margin:0 0 8px;font-weight:400}
.grupo ul{list-style:none;padding:0;margin:0;font-size:var(--s-1)}
.grupo li{padding:5px 0;border-top:1px solid var(--line)}
.grupo li:first-child{border-top:0}
.grupo li small{display:block;color:var(--muted)}
.soltar{border:1.5px dashed var(--edge);border-radius:10px;padding:24px;text-align:center;color:var(--muted);position:relative;transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease)}
.soltar.ativo{border-color:var(--brass);background:color-mix(in srgb,var(--brass) 6%,var(--surface))}
.soltar input{position:absolute;inset:0;opacity:0;cursor:pointer}
.enviados{list-style:none;padding:0;margin:14px 0 0;font-size:var(--s-1)}
.enviados li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.enviados small{color:var(--muted)}
/* Caixa de pedidos (área interna) */
.pedidos{display:grid;gap:12px;margin:16px 0}
.pedido{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.pedido header{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.pedido h3{font-size:var(--s0);margin:0}
.pedido p{margin:4px 0 10px;color:var(--muted);font-size:var(--s-1)}
.selos{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.selo{font-size:var(--s-2);border-radius:999px;padding:3px 10px;border:1px solid var(--edge);color:var(--muted)}
.selo.ok{border-color:var(--accent);color:var(--accent)}
.selo.atencao{border-color:var(--brass);color:var(--brass)}
.selo.novo{background:var(--band);border-color:var(--band);color:var(--on-band)}
@media (prefers-color-scheme:dark){.erro-portal{color:#e59a9a}}
.cartao.atencao{border-color:var(--brass);border-width:1.5px}
.destaque{font-weight:600;color:var(--ink);margin:0 0 12px}
.indispensaveis{margin:0;padding-left:1.1em;font-size:var(--s-1)}
.indispensaveis li{margin:0 0 6px}
.indispensaveis small{display:block;color:var(--muted)}
.subtitulo{font-family:var(--display);font-weight:500;font-size:var(--s1);margin:28px 0 8px}
.pergunta{border-top:1px solid var(--line);padding:12px 0;margin:0}
.pergunta legend{font-size:var(--s-1);color:var(--ink);padding:0;margin-bottom:8px}
.pergunta .escolhas{display:flex;flex-wrap:wrap;gap:8px}
.pergunta .opcao{min-height:40px;padding:8px 14px;flex-direction:row}
