/* Echo · página · estilos.
   Direção: minimalismo utilitário (monocromático quente, bordas 1px, quase sem sombra), tipografia Geist,
   um único acento (laranja Echo) reservado a seleção, e tons pastel só para status.
   Contrastes medidos (WCAG), sobre branco: texto #2F3437 12,2:1 · texto-2 #6F6E69 5,1:1 · botão #111 18,9:1
   status: verde #346538/#EDF3EC 6,1:1 · amarelo #956400/#FBF3DB 4,6:1 · azul #1F6C9F/#E1F3FE 5,0:1 · vermelho #9F2F2D/#FDEBEC 6,3:1
   Bordas de campo #8F8E89 3,3:1 (limite de componente). */
:root {
  --fundo: #FBFBFA;
  --superficie: #FFFFFF;
  --sutil: #F7F6F3;
  --sutil-2: #F1F0EC;
  --linha: #EAEAEA;
  --borda-campo: #8F8E89;
  --texto: #2F3437;
  --texto-2: #6F6E69;
  --forte: #111111;
  --acento: #F75B07;
  --acento-claro: #FFF4EE;
  --verde: #346538;  --verde-bg: #EDF3EC;
  --amarelo: #956400; --amarelo-bg: #FBF3DB;
  --azul: #1F6C9F;   --azul-bg: #E1F3FE;
  --vermelho: #9F2F2D; --vermelho-bg: #FDEBEC;
  --raio: 12px;
  --raio-p: 8px;
  --raio-b: 6px;
  --fonte: 'Geist', 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
  --mono: 'Geist Mono', 'SF Mono', ui-monospace, Menlo, Consolas, monospace;
  --suave-in: cubic-bezier(0.16, 1, 0.3, 1);
  --elev: 0 12px 32px -12px rgba(17, 17, 17, .05), 0 2px 6px rgba(17, 17, 17, .04);
  color-scheme: light;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--fundo); color: var(--texto); font: 15px/1.6 var(--fonte); font-variant-numeric: tabular-nums; -webkit-font-smoothing: antialiased; }
[hidden] { display: none !important; }
button, input, textarea, select { font: inherit; color: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 2px solid var(--forte); outline-offset: 2px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.suave { color: var(--texto-2); font-weight: 400; }

/* luz ambiente: uma mancha quente quase imperceptível, fixa e sem interação */
.ambiente { position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background: radial-gradient(900px 600px at 85% -10%, rgba(247, 91, 7, .035), transparent 70%),
              radial-gradient(700px 500px at -10% 110%, rgba(156, 137, 112, .05), transparent 70%); }
.topo, main, .rodape { position: relative; z-index: 1; }

/* entrada da página: blocos sobem e aparecem em cascata, uma vez */
.entra { animation: entra .6s var(--suave-in) backwards; animation-delay: calc(var(--i, 0) * 70ms); }
/* backwards: depois da entrada não sobra camada de empilhamento; e o bloco com seletor aberto fica acima dos seguintes */
.grupo:has(.pop:not([hidden])), .grupo:has(.lista-parc:not([hidden])), .dupla > div:has(.pop:not([hidden])) { position: relative; z-index: 15; }
@keyframes entra { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .entra, .kit.novo-item, .pop, dialog[open] { animation: none !important; } }

/* ---------- topo ---------- */
.topo { position: sticky; top: 0; z-index: 20; background: rgba(251, 251, 250, .82); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--linha); }
.topo-in, main, .rodape { max-width: 1240px; margin: 0 auto; padding-left: 48px; padding-right: 48px; }
.topo-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 32px; padding-top: 14px; padding-bottom: 14px; }
.marca { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.logo { display: inline-flex; align-items: center; gap: 8px; font-size: 17px; font-weight: 700; letter-spacing: -.02em; color: var(--forte); }
.logo-ponto { width: 9px; height: 9px; border-radius: 50%; background: var(--acento); }
.sep { width: 1px; height: 16px; background: var(--linha); }
.cli { font-weight: 600; font-size: 14px; }
#projetoBox { font-size: 14px; }
.marca select { background: var(--superficie); border: 1px solid var(--borda-campo); border-radius: var(--raio-b); padding: 4px 8px; }
.pedido-id { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 14px; }
.pedido-id .cod { font-family: var(--mono); font-weight: 500; font-size: 13px; letter-spacing: .12em; border: 1px solid var(--linha); background: var(--superficie); border-radius: var(--raio-b); padding: 2px 8px; color: var(--forte); }
.pedido-id .est { color: var(--texto-2); }
.pedido-id .link { margin-left: 8px; }

/* ---------- grade principal: formulário largo, coluna do pedido estreita ---------- */
main { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(320px, 1fr); gap: 96px; align-items: start; padding-top: 56px; padding-bottom: 96px; }
.col-form { max-width: 660px; }
@media (max-width: 1100px) { main { grid-template-columns: minmax(0, 1fr); gap: 64px; } .col-form { max-width: none; } }
@media (max-width: 767px) {
  .topo-in, main, .rodape { padding-left: 16px; padding-right: 16px; }
  main { padding-top: 32px; padding-bottom: 64px; }
}

.sobre { margin: 0 0 6px; font-family: var(--mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--texto-2); }
h1 { margin: 0; font-size: 30px; font-weight: 600; letter-spacing: -.03em; line-height: 1.1; color: var(--forte); }
h2 { margin: 0; font-size: 15px; font-weight: 600; letter-spacing: -.01em; color: var(--forte); }
.form-cab { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; padding-bottom: 28px; border-bottom: 1px solid var(--linha); }
.form-cab .sub { margin: 8px 0 0; color: var(--texto-2); font-size: 14px; }
.form-cab .sub:empty { display: none; }

/* ---------- botões ---------- */
.btn, .btn-prim { transition: background .2s var(--suave-in), transform .12s var(--suave-in), border-color .2s; }
.btn:active, .btn-prim:active { transform: scale(.98); }
.btn { border: 1px solid var(--linha); background: var(--superficie); border-radius: var(--raio-b); padding: 9px 16px; font-weight: 500; color: var(--forte); }
.btn:hover { border-color: var(--borda-campo); }
.btn-prim { border: 0; background: var(--forte); color: #FFFFFF; border-radius: var(--raio-b); padding: 12px 22px; font-weight: 500; line-height: 1.2; }
.btn-prim:hover { background: #333333; }
.btn-prim:disabled { background: var(--sutil-2); color: var(--texto-2); cursor: not-allowed; }
.link { border: 0; background: none; padding: 2px 0; font-weight: 500; color: var(--forte); text-decoration: underline; text-decoration-color: var(--linha); text-decoration-thickness: 1.5px; text-underline-offset: 4px; transition: text-decoration-color .2s; }
.link:hover { text-decoration-color: var(--forte); }
.link.sutil { color: var(--texto-2); }

/* ---------- grupos do formulário ---------- */
.grupo { padding-top: 32px; }
.rot { display: block; font-size: 13px; font-weight: 500; color: var(--texto-2); margin-bottom: 8px; }
.dica { margin: 8px 0 0; color: var(--texto-2); font-size: 13px; }
.dica:empty { display: none; }
.dupla { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.dupla.tripla { grid-template-columns: 1fr 1fr 1.3fr; }
@media (max-width: 520px) { .dupla, .dupla.tripla { grid-template-columns: 1fr; gap: 32px; } }
/* interruptor (liga/desliga): destaque, selo especial, TJ personalizado */
.chave { position: relative; display: flex; align-items: flex-start; gap: 10px; margin-top: 14px; font-size: 13px; line-height: 1.45; color: var(--texto); cursor: pointer; width: fit-content; }
.chave.sem-margem { margin-top: 0; }
.chave input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.chave-ui { flex: none; position: relative; width: 30px; height: 18px; margin-top: 1px; border-radius: 9999px; background: #D6D5D0; transition: background .2s; }
.chave-ui::after { content: ''; position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; border-radius: 50%; background: #FFFFFF; box-shadow: 0 1px 2px rgba(17, 17, 17, .25); transition: transform .25s var(--suave-in); }
.chave input:checked + .chave-ui { background: var(--forte); }
.chave input:checked + .chave-ui::after { transform: translateX(12px); }
.chave input:focus-visible + .chave-ui { outline: 2px solid var(--forte); outline-offset: 2px; }
.chave .suave { display: block; font-size: 12.5px; }
.tj-padrao { margin: 0; padding: 11px 14px; background: var(--sutil); border: 1px solid var(--linha); border-radius: var(--raio-p); font-size: 14px; color: var(--texto); }
.tj-padrao b { font-weight: 500; color: var(--texto-2); margin-right: 6px; }
.tj-padrao.riscado { text-decoration: line-through; color: var(--texto-2); }
#tjCampo { margin-top: 12px; }

/* cor do modelo: botão do modelo, etiqueta junto de Tamanhos, prévias dos tamanhos e fila */
.col-form { --modelo: var(--acento); }
.modelo-linha { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; }
.seg-var button { display: inline-flex; align-items: center; gap: 8px; }
.seg-var .ico-var { width: 14px; height: 14px; }
/* viagem: listras sobre a cor do modelo nas prévias (imagem no fundo do frame) */
.col-form.viagem .tam.on .tam-fig i { background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, .45) 0 3px, transparent 3px 7px); }
.ponto-m { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--cor, var(--modelo)); margin-right: 8px; vertical-align: 1px; }
.seg button .ponto-m { opacity: .35; transition: opacity .2s; }
.seg button[aria-pressed="true"] .ponto-m { opacity: 1; }
.seg button[aria-pressed="true"] { box-shadow: 0 1px 2px rgba(17, 17, 17, .06), 0 0 0 1.5px var(--cor, var(--linha)); }
.tag-modelo { display: inline-flex; align-items: center; margin-left: 8px; padding: 1px 8px; border-radius: 9999px; font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--modelo); background: color-mix(in srgb, var(--modelo) 10%, #FFFFFF); vertical-align: 1px; }
.tag-modelo:empty { display: none; }
.tams.muda .tam.on, .seg.muda button[aria-pressed="true"], .tag-modelo.muda { animation: muda .7s var(--suave-in); }
@keyframes muda { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--modelo) 55%, transparent); } 100% { box-shadow: 0 0 0 12px transparent; } }
@media (prefers-reduced-motion: reduce) { .tams.muda .tam.on, .seg.muda button, .tag-modelo.muda { animation: none; } }
.sem-de { display: block; margin-top: 10px; font-size: 13px; }
#seloEspCampo { margin-top: 12px; }
input[type=text], input[type=url], input[type=date], input[type=password], textarea {
  width: 100%; background: var(--superficie); border: 1px solid var(--borda-campo); border-radius: var(--raio-p);
  padding: 10px 14px; min-height: 46px; transition: border-color .2s, box-shadow .2s;
}
input::placeholder, textarea::placeholder { color: #8F8E89; }
input:hover, textarea:hover { border-color: var(--texto-2); }
input:focus-visible, textarea:focus-visible { outline: none; border-color: var(--forte); box-shadow: 0 0 0 3px rgba(17, 17, 17, .08); }
textarea { resize: vertical; font-size: 14px; line-height: 1.55; min-height: 0; }

/* retorno por campo (pendência e aviso logo abaixo do campo) */
.fb:empty { display: none; }
.fb { display: grid; gap: 6px; margin-top: 10px; }
.fb-item { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; font-size: 13px; line-height: 1.45; border-radius: var(--raio-b); padding: 8px 12px; }
.fb-bloq { background: var(--vermelho-bg); color: var(--vermelho); }
.fb-aviso { background: var(--amarelo-bg); color: var(--amarelo); }
.fb-item .btn { padding: 5px 10px; font-size: 13px; color: var(--forte); }
.fb.pisca .fb-bloq { animation: pisca .5s 2; }
@keyframes pisca { 50% { background: #F9D9DA; } }

/* segmentado */
.seg { display: inline-flex; background: var(--sutil-2); border-radius: var(--raio-p); padding: 3px; gap: 2px; }
.seg button { border: 0; background: transparent; border-radius: var(--raio-b); padding: 7px 18px; font-weight: 500; color: var(--texto-2); transition: background .2s, color .2s; }
.seg button[aria-pressed="true"] { background: var(--superficie); color: var(--forte); box-shadow: 0 1px 2px rgba(17, 17, 17, .06), 0 0 0 1px var(--linha); }

/* parceiro (combobox) */
.combo { position: relative; }
.lista-parc { position: absolute; z-index: 10; left: 0; right: 0; top: calc(100% + 6px); margin: 0; padding: 4px; list-style: none;
  background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio-p); max-height: 320px; overflow: auto; box-shadow: var(--elev); }
.lista-parc li { padding: 8px 12px; border-radius: var(--raio-b); cursor: pointer; display: flex; justify-content: space-between; gap: 12px; }
/* parceiros em mini cartões: logo + nome, para escanear pelo logo */
.lista-parc.cartoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 6px; padding: 8px; max-height: 360px; }
.lista-parc.cartoes li.parc { display: grid; justify-content: center; justify-items: center; align-content: center; gap: 6px; padding: 10px 8px 8px; border: 1px solid var(--linha); background: var(--superficie); text-align: center; }
.lista-parc.cartoes li.letra { grid-column: 1 / -1; display: block; padding: 10px 4px 2px; cursor: default; font-family: var(--mono); font-size: 11px; letter-spacing: .1em; color: var(--texto-2); border-bottom: 1px solid var(--linha); border-radius: 0; }
.lista-parc.cartoes li.letra:first-child { padding-top: 2px; }
.lista-parc.cartoes li.letra:hover { background: transparent; }
.lista-parc.cartoes li.parc .nome { font-size: 12.5px; font-weight: 500; color: var(--forte); line-height: 1.3; }
.lista-parc.cartoes li.parc small { text-align: center; font-size: 11px; line-height: 1.3; }
.lista-parc.cartoes li.parc:hover { border-color: #D6D5D0; background: var(--superficie); }
.lista-parc.cartoes li.parc[aria-selected="true"] { border-color: var(--forte); box-shadow: inset 0 0 0 1px var(--forte); background: var(--superficie); }
.lista-parc.cartoes li.novo, .lista-parc.cartoes li.vazio { grid-column: 1 / -1; }
.logo-parc { display: block; flex: none; width: 100px; height: 30px; background-repeat: no-repeat;
  background-size: calc(var(--cols) * 100%) calc(var(--lins) * 100%);
  background-position: calc(var(--lx) * 100% / (var(--cols) - 1)) calc(var(--ly) * 100% / (var(--lins) - 1)); }
.logo-parc.p { width: 60px; height: 18px; }
.logo-parc.sem-logo { display: grid; place-items: center; background: var(--sutil-2); border-radius: 4px; font-size: 11px; font-weight: 600; color: var(--texto-2); }
.estado-parc .logo-parc { border: 1px solid var(--linha); border-radius: 4px; background-color: #FFFFFF; }
.kit-nome .logo-parc { display: inline-block; vertical-align: middle; margin-right: 8px; }

/* tema Black Friday: topo preto e detalhe amarelo (sutil) */
.tema-tag { background: #FFC20E; color: #0A0A0A; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; border-radius: 4px; padding: 3px 8px; }
body[data-tema="bf"] .topo { background: rgba(10, 10, 10, .94); border-bottom-color: #000000; }
body[data-tema="bf"] .topo .logo, body[data-tema="bf"] .topo .cli, body[data-tema="bf"] .topo .link { color: #FFFFFF; }
body[data-tema="bf"] .topo .suave, body[data-tema="bf"] .pedido-id .est { color: #A9A8A3; }
body[data-tema="bf"] .topo .sep { background: #333333; }
body[data-tema="bf"] .logo-ponto { background: #FFC20E; }
body[data-tema="bf"] .marca select { background: #1A1A1A; color: #FFFFFF; border-color: #444444; }
body[data-tema="bf"] .pedido-id .cod { background: #1A1A1A; color: #FFC20E; border-color: #333333; }
body[data-tema="bf"] .topo .link { text-decoration-color: #555555; }
body[data-tema="bf"] .ambiente { background: radial-gradient(900px 600px at 85% -10%, rgba(255, 194, 14, .10), transparent 70%), radial-gradient(700px 500px at -10% 110%, rgba(17, 17, 17, .06), transparent 70%); }
body[data-tema="bf"] .marca-sel { border-color: #C9C8C3; }
.lista-parc li small { color: var(--texto-2); text-align: right; font-size: 12px; }
.lista-parc li:hover { background: var(--sutil); }
.lista-parc li[aria-selected="true"] { background: var(--sutil-2); color: var(--forte); }
.lista-parc li.novo { border-top: 1px solid var(--linha); margin-top: 4px; padding-top: 10px; font-weight: 500; }
.lista-parc li.vazio { cursor: default; color: var(--texto-2); }
.estado-parc { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 10px; font-size: 13px; }
.estado-parc:empty { display: none; }
.cor-box { margin-top: 20px; padding-top: 20px; border-top: 1px dashed var(--linha); }
.cor-linha { display: flex; gap: 10px; align-items: center; max-width: 280px; }
.cor-linha input[type=color] { flex: none; width: 46px; height: 46px; padding: 3px; border: 1px solid var(--borda-campo); border-radius: var(--raio-p); background: var(--superficie); }

/* etiquetas (status) */
.tag { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; border-radius: 9999px; padding: 3px 9px; line-height: 1.3; white-space: nowrap; }
.tag::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.tag-ok { background: var(--verde-bg); color: var(--verde); }
.tag-pend { background: var(--amarelo-bg); color: var(--amarelo); }
.tag-env { background: var(--azul-bg); color: var(--azul); }
.tag-novo { background: var(--sutil-2); color: var(--texto-2); }

/* seletores (percentual e validade) */
.picker { position: relative; }
.picker-btn { width: 100%; display: flex; align-items: center; gap: 10px; text-align: left; background: var(--superficie); border: 1px solid var(--borda-campo); border-radius: var(--raio-p); padding: 0 44px 0 16px; height: 58px; position: relative; transition: border-color .2s, box-shadow .2s; }
.picker-btn:hover { border-color: var(--texto-2); }
.picker-btn[aria-expanded="true"] { border-color: var(--forte); box-shadow: 0 0 0 3px rgba(17, 17, 17, .08); }
.picker-val { font-size: 22px; font-weight: 600; letter-spacing: -.02em; color: var(--forte); }
.picker-val.sem-valor { color: #8F8E89; font-weight: 400; font-size: 15px; letter-spacing: 0; }
.picker-sub { color: var(--texto-2); font-size: 13px; padding-top: 3px; }
.chev { position: absolute; right: 14px; top: 50%; width: 16px; height: 16px; margin-top: -8px; color: var(--texto-2); transition: transform .25s var(--suave-in); }
.picker-btn[aria-expanded="true"] .chev { transform: rotate(180deg); }
.pop { position: absolute; z-index: 10; top: calc(100% + 6px); left: 0; background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio); box-shadow: var(--elev); padding: 14px; animation: abre .22s var(--suave-in); transform-origin: top left; }
@keyframes abre { from { opacity: 0; transform: translateY(-4px) scale(.98); } to { opacity: 1; transform: none; } }
.pop-tit { margin: 0 0 10px; font-family: var(--mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--texto-2); }
.grade-pct { display: grid; grid-template-columns: repeat(10, 36px); gap: 2px; }
.grade-pct button, .dias button, .meses button { border: 0; background: transparent; border-radius: var(--raio-b); height: 34px; font-weight: 500; font-size: 14px; color: var(--texto); transition: background .15s; }
.grade-pct button:hover, .dias button:hover, .meses button:hover { background: var(--sutil-2); }
.grade-pct button[aria-pressed="true"], .dias button[aria-pressed="true"], .meses button[aria-pressed="true"] { background: var(--forte); color: #FFFFFF; }
.pop-data { width: 312px; }
.meses { display: grid; grid-template-columns: repeat(6, 1fr); gap: 2px; padding-bottom: 12px; margin-bottom: 10px; border-bottom: 1px solid var(--linha); }
.meses button { font-family: var(--mono); font-size: 12px; letter-spacing: .04em; }
.semana, .dias { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.semana span { text-align: center; font-size: 11px; font-weight: 500; color: var(--texto-2); padding-bottom: 4px; }
.dias .hoje { box-shadow: inset 0 0 0 1px var(--borda-campo); }
.dias .passado { color: var(--texto-2); }
@media (max-width: 767px) {
  .pop { position: fixed; left: 16px; right: 16px; top: auto; bottom: 16px; animation-name: sobe; }
  @keyframes sobe { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
  .grade-pct { grid-template-columns: repeat(8, 1fr); }
  .grade-pct button, .dias button, .meses button { height: 40px; }
  .pop-data { width: auto; }
}

/* cartões selecionáveis (selos e tamanhos) */
.selos { display: grid; grid-template-columns: repeat(auto-fill, minmax(124px, 1fr)); gap: 8px; }
.selo, .tam { position: relative; background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio-p); transition: border-color .2s, box-shadow .2s var(--suave-in), transform .12s var(--suave-in), background .2s; }
.selo:hover, .tam:hover { border-color: #D6D5D0; box-shadow: 0 2px 8px rgba(17, 17, 17, .04); }
.selo:active, .tam:active { transform: scale(.98); }
.selo { display: grid; align-content: start; gap: 8px; text-align: left; padding: 12px 34px 12px 12px; min-height: 60px; }
.selo .img { display: grid; place-items: center; height: 48px; }
.selo .img:empty, .selo.sem-img .img { display: none; }
.selo img { max-width: 100%; max-height: 48px; object-fit: contain; display: block; }
.selo .nome { font-weight: 500; font-size: 13px; line-height: 1.35; color: var(--forte); }
.selo .obs { display: block; font-weight: 400; font-size: 12px; color: var(--texto-2); margin-top: 2px; }
.marca-sel { position: absolute; top: 9px; right: 9px; width: 18px; height: 18px; border-radius: 50%; border: 1px solid #D6D5D0; background: var(--superficie); display: grid; place-items: center; transition: background .2s, border-color .2s; }
.marca-sel svg { width: 10px; height: 10px; opacity: 0; transition: opacity .15s; }
.selo[aria-checked="true"], .tam.on { border-color: var(--forte); box-shadow: inset 0 0 0 1px var(--forte); }
.selo[aria-checked="true"] .marca-sel, .tam.on .marca-sel { background: var(--forte); border-color: var(--forte); }
.selo[aria-checked="true"] .marca-sel svg, .tam.on .marca-sel svg { opacity: 1; }

.tams { display: grid; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 8px; }
.tam { display: grid; justify-items: center; gap: 10px; padding: 26px 10px 12px; cursor: pointer; user-select: none; }
.tam input { position: absolute; opacity: 0; pointer-events: none; }
.tam:has(input:focus-visible) { outline: 2px solid var(--forte); outline-offset: 2px; }
.tam-fig { display: grid; place-items: center; width: 68px; height: 48px; }
.tam-fig i { display: block; border: 1px dashed #B4B2AD; border-radius: 2px; transition: background .2s, border-color .2s; }
.tam-nome { font-family: var(--mono); font-weight: 400; font-size: 12.5px; color: var(--texto-2); }
.tam-tipo { font-size: 11px; color: var(--texto-2); margin-top: -8px; letter-spacing: .05em; text-transform: uppercase; }
.tam.on { background: color-mix(in srgb, var(--modelo) 8%, #FFFFFF); }
.tam.on .tam-fig i { background: var(--modelo); border-color: var(--modelo); border-style: solid; }
.tam.on .tam-nome { color: var(--forte); font-weight: 500; }
.tam .x { position: absolute; top: 6px; right: 6px; width: 24px; height: 24px; border: 0; border-radius: var(--raio-b); background: transparent; display: grid; place-items: center; color: var(--texto-2); }
.tam .x:hover { color: var(--forte); background: var(--sutil-2); }
.tam .x svg { width: 12px; height: 12px; }
.custom-add { display: flex; gap: 8px; margin-top: 12px; max-width: 420px; }
.custom-add input { flex: 1; }
.tam-rodape { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin-top: 16px; }
.contagem { font-size: 14px; font-weight: 500; color: var(--forte); }
.check { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; color: var(--texto); cursor: pointer; }
.check input { width: 16px; height: 16px; margin: 0; accent-color: var(--forte); }

/* acordeão: sem caixa, só a linha inferior e o sinal + / − */
details.mais { margin-top: 32px; border-top: 1px solid var(--linha); border-bottom: 1px solid var(--linha); }
details.mais > summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; padding: 14px 0; font-weight: 500; font-size: 14px; color: var(--forte); }
details.mais > summary::-webkit-details-marker { display: none; }
details.mais > summary .suave { margin: 0 auto 0 8px; }
details.mais > summary::after { content: '+'; font-family: var(--mono); font-size: 18px; font-weight: 400; color: var(--texto-2); line-height: 1; }
details.mais[open] > summary::after { content: '−'; }
details.mais > :not(summary) { margin-bottom: 14px; }

.form-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: 32px; }
.resumo-pend { margin: 14px 0 0; font-size: 13px; color: var(--vermelho); }
.resumo-pend:empty, .msg:empty { display: none; }
.msg { margin: 12px 0 0; font-size: 13px; color: var(--texto-2); }

/* ---------- coluna do pedido ---------- */
.lado { position: sticky; top: 88px; display: grid; gap: 40px; }
@media (max-width: 1100px) { .lado { position: static; } }
.lado-cab { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--linha); }
.lado-cab > span { font-family: var(--mono); font-size: 12px; color: var(--texto-2); }
.fila { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 8px; }
.fila:empty { display: none; }
.kit { position: relative; background: var(--superficie); border: 1px solid var(--linha); border-radius: var(--raio-p); padding: 14px 16px 12px 19px; overflow: hidden; transition: box-shadow .2s var(--suave-in), border-color .2s; }
.kit::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--cor-st, var(--linha)); }
.kit:hover { box-shadow: 0 2px 8px rgba(17, 17, 17, .04); }
.kit.st-ok { --cor-st: #7BA37F; }
.kit.st-pend { --cor-st: #D9A93A; }
.kit.st-env { --cor-st: #6FA3C7; }
.kit.edit { border-color: var(--forte); }
.kit.novo-item { animation: entra .5s var(--suave-in) backwards; }
.kit-topo { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.kit-nome { font-weight: 600; color: var(--forte); }
.tags { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.kit-meta { font-size: 13px; color: var(--texto-2); margin-top: 4px; }
.kit-tam { font-family: var(--mono); font-size: 11.5px; color: var(--texto-2); margin-top: 6px; line-height: 1.5; }
.kit-pend { margin-top: 8px; font-size: 13px; color: var(--amarelo); }
.kit-pe { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--linha); }
.kit-cod { font-family: var(--mono); font-size: 11.5px; letter-spacing: .06em; color: var(--texto-2); }
.kit-acoes { display: flex; gap: 16px; font-size: 13px; }
.vazio { display: flex; gap: 16px; align-items: center; margin-top: 16px; padding: 22px; border: 1px dashed #D6D5D0; border-radius: var(--raio-p); color: var(--texto-2); font-size: 13px; line-height: 1.5; }
.vazio svg { flex: none; width: 48px; height: 40px; color: #B4B2AD; }
.vazio p { margin: 0; }
.vazio b { color: var(--forte); font-weight: 500; }
.legenda { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 12px 0 0; font-size: 12px; color: var(--texto-2); }
.lg { display: inline-flex; align-items: center; gap: 6px; }
.lg::before { content: ''; width: 3px; height: 12px; border-radius: 2px; }
.lg-ok::before { background: #7BA37F; } .lg-pend::before { background: #D9A93A; } .lg-env::before { background: #6FA3C7; }

.painel pre { margin: 16px 0 18px; background: var(--sutil); border: 1px solid var(--linha); border-radius: var(--raio-p); padding: 14px; max-height: 320px; overflow: auto;
  font: 11.5px/1.6 var(--mono); color: var(--texto); white-space: pre-wrap; word-break: break-word; }
.painel p { margin: 14px 0 0; font-size: 13px; }
.painel ul { margin: 12px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.painel li { font-size: 13px; padding: 10px 12px; border-radius: var(--raio-b); background: var(--amarelo-bg); color: var(--amarelo); display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.painel li .link { color: var(--forte); flex: none; }
.painel .acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.painel .vazio { margin-top: 16px; }

.rodape { padding-bottom: 40px; font-size: 12px; color: var(--texto-2); }

/* diálogo do briefing */
dialog { border: 1px solid var(--linha); border-radius: var(--raio); padding: 0; background: var(--superficie); color: var(--texto); box-shadow: var(--elev); width: min(600px, calc(100vw - 32px)); }
dialog[open] { animation: abre .25s var(--suave-in); }
dialog::backdrop { background: rgba(17, 17, 17, .18); backdrop-filter: blur(2px); }
.dlg { padding: 28px; }
.dlg h2 { font-size: 18px; }
.dlg textarea { margin-top: 18px; }
.dlg-acoes { display: flex; gap: 10px; margin-top: 22px; }

/* convencional/viagem automático pela categoria do parceiro */
.seg button:disabled { opacity: .38; cursor: not-allowed; box-shadow: none; }
.nota-var { margin: 6px 0 0; font-size: 12px; }

/* ---------- aba Produção (time) ---------- */
.abas button { padding: 6px 14px; font-size: 13px; }
body[data-aba="producao"] #projetoBox, body[data-aba="producao"] .tema-tag, body[data-aba="producao"] .pedido-id { display: none !important; }
main.producao { display: block; }
.prod-cab { align-items: flex-end; }
.prod-cab .sub { max-width: 620px; }
.prod-sou { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; font-size: 14px; }
.prod-sou .sou { display: inline-flex; align-items: center; gap: 8px; color: var(--texto-2); }
.prod-sou select { background: var(--superficie); border: 1px solid var(--borda-campo); border-radius: var(--raio-b); padding: 6px 10px; color: var(--forte); }
.prod-sou .email { font-size: 13px; }
.prod-sou .link:disabled { color: var(--texto-2); cursor: default; }
#prodMsg.erro { color: var(--vermelho); }
.prod-grade { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, 1fr); gap: 72px; align-items: start; padding-top: 32px; }
@media (max-width: 1100px) { .prod-grade { grid-template-columns: minmax(0, 1fr); gap: 56px; } }
.prod-grade .chave { margin-top: 12px; }
.lote { margin-top: 24px; }
.lote + .lote { margin-top: 36px; }
.lote-cab { display: flex; justify-content: space-between; align-items: center; gap: 12px 16px; flex-wrap: wrap; }
.lote-cab h3 { margin: 0; font-size: 15px; font-weight: 600; color: var(--forte); }
.lote-cab .suave { font-size: 13px; }
.lote .fila { margin-top: 12px; }
.lote .kit-pend { margin: 10px 0 0; }
.sel-kit { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; }
.kit-sel { align-self: start; padding-top: 2px; }
.kit.st-man { --cor-st: #B4B2AD; }
.lote.manual .kit-nome { font-weight: 500; }
a.ext { display: inline-flex; align-items: center; gap: 4px; }
a.ext svg { width: 11px; height: 11px; }
.lote-saida { margin-top: 14px; padding: 14px 16px; border: 1px solid var(--linha); border-radius: var(--raio-p); background: var(--superficie); }
.lote-saida > p:first-child { margin-top: 0; }
.lote-saida .ok-msg { color: var(--verde); }
.lote-saida pre { margin-bottom: 4px; }
.acesso { max-width: 460px; margin-top: 32px; padding: 24px; border: 1px solid var(--linha); border-radius: var(--raio); background: var(--superficie); }
.acesso p { margin: 8px 0 16px; color: var(--texto-2); font-size: 14px; }
.acesso .dica { margin: 14px 0 0; }
a.btn-prim { display: inline-block; text-decoration: none; }
.linha-campo { display: flex; gap: 8px; }
.linha-campo input { flex: 1; min-width: 0; }
input[type=url], input[type=password] { width: 100%; background: var(--superficie); border: 1px solid var(--borda-campo); border-radius: var(--raio-p); padding: 8px 12px; min-height: 40px; transition: border-color .2s, box-shadow .2s; }
.entrega-box { margin-top: 10px; }
.entrega-box .msg { margin-top: 6px; }
.entrega-ok { margin: 0; font-size: 13px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.entrega-ok .link { font-size: 13px; }
.entrega-ok + .entrega { margin-top: 8px; }
body[data-aba="producao"] .rodape { display: none; }
a.ext { white-space: nowrap; }
.lote-sel { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin-top: 10px; font-size: 13px; }
.lote-sel .suave { margin-right: auto; }
.lote-fora { margin: 8px 0 0; font-size: 13px; color: var(--azul); }
.sel-kit:has(.kit-sel input:not(:checked)) { background: var(--sutil); }
.sel-kit:has(.kit-sel input:not(:checked)) .kit-corpo { opacity: .55; }

/* ===== F3 · envio ao Notion: datas, referências, Trocas ===== */
.rot-p { display: block; margin: 14px 0 6px; font-size: 13px; font-weight: 500; color: var(--forte); }
.dupla.datas .rot-p { margin-top: 10px; }
#aplicarDatasBox { margin-top: 14px; }
.refs { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 6px; }
.refs li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; border: 1px solid var(--linha); border-radius: var(--raio-b); background: var(--superficie); font-size: 13px; }
.refs li a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.refs .x, .chip .x { flex: none; display: inline-grid; place-items: center; width: 22px; height: 22px; border: 0; border-radius: 4px; background: none; color: var(--texto-2); padding: 0; }
.refs .x:hover, .chip .x:hover { background: var(--sutil-2); color: var(--forte); }
.refs .x svg, .chip .x svg { width: 12px; height: 12px; }
.ref-add { display: grid; grid-template-columns: 1.4fr 1fr auto; gap: 8px; }
@media (max-width: 520px) { .ref-add { grid-template-columns: 1fr; } }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chips:empty { display: none; }
.chip { display: inline-flex; align-items: center; gap: 4px; padding: 4px 4px 4px 10px; border: 1px solid var(--linha); border-radius: 9999px; background: var(--superficie); font-family: var(--mono); font-size: 12px; color: var(--forte); }
.envio-acoes { margin-top: 16px; }
.painel .ok-msg, .msg.ok-msg { color: var(--verde); }
.msg.erro { color: var(--vermelho); }
.tag-rasc { background: var(--sutil-2); color: var(--texto-2); }
.kit.st-rasc { --cor-st: #B4B2AD; }
details.mais.copia { margin-top: 24px; }
details.mais.copia pre { margin-top: 4px; }
.envio-codigo { max-width: none; margin-top: 16px; padding: 16px; }
.envio-codigo p { margin-top: 0 !important; }

/* campo de data em português (envio.js › campoData): calendário + atalho Hoje */
.campo-data { display: flex; gap: 8px; align-items: stretch; }
.campo-data .picker { flex: 1; min-width: 0; }
.picker-btn.picker-p { height: 46px; padding-left: 14px; }
.picker-p .picker-val { font-size: 16px; }
.picker-p .picker-val.sem-valor { font-size: 14px; }
.picker-p .picker-sub { font-size: 12.5px; padding-top: 1px; }
.btn-hoje { padding: 0 14px; }
.btn-hoje[aria-pressed="true"] { background: var(--forte); border-color: var(--forte); color: #FFFFFF; }
.campo-data .sem-de { margin-top: 10px; }
.datas + .datas { margin-top: 4px; }
.grupo:has(.campo-data .pop:not([hidden])), .datas > div:has(.pop:not([hidden])) { position: relative; z-index: 15; }

/* topo: as abas Pedido · Produção ficam sempre na ponta direita, no mesmo lugar nos dois perfis */
.topo-in .marca { margin-right: auto; }
.topo-in .abas { order: 9; flex: none; }

/* Entregar (aba Produção): aprovadores + botão; entregues agora no topo de Em andamento */
.entregar-box { margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--linha); }
.aprov { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin-bottom: 10px; font-size: 13px; }
.entregues { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 8px; }
.entregues li { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; padding: 10px 12px; border-radius: var(--raio-b); background: var(--verde-bg); font-size: 13px; }
.entregues .ok-msg { color: var(--verde); }
.entregues .aviso { flex-basis: 100%; color: var(--amarelo); }
