/* Base do portal: fontes locais (a CSP só aceita 'self'), variáveis e corpo iguais aos do protótipo v410.
   O resto do visual vem de pd.css, gerado do protótipo. */
@font-face { font-family:'Inter Tight'; font-style:normal; font-weight:100 900; font-display:swap; src:url(/fonts/inter-tight-latin-wght-normal.woff2) format('woff2'); }
@font-face { font-family:'Bricolage Grotesque'; font-style:normal; font-weight:400; font-display:swap; src:url(/fonts/bricolage-grotesque-latin-400-normal.woff2) format('woff2'); }
@font-face { font-family:'Bricolage Grotesque'; font-style:normal; font-weight:800; font-display:swap; src:url(/fonts/bricolage-grotesque-latin-800-normal.woff2) format('woff2'); }
@font-face { font-family:'DM Mono'; font-style:normal; font-weight:400; font-display:swap; src:url(/fonts/dm-mono-latin-400-normal.woff2) format('woff2'); }
@font-face { font-family:'DM Mono'; font-style:normal; font-weight:500; font-display:swap; src:url(/fonts/dm-mono-latin-500-normal.woff2) format('woff2'); }
:root { --bg:#F5F6F3; --text:#1A1714; --border:#E8E5E1; --font:'Inter Tight','Segoe UI',-apple-system,BlinkMacSystemFont,sans-serif; --font-display:'Bricolage Grotesque','Inter Tight','Segoe UI',sans-serif; --sim-mono:'DM Mono','Courier New',monospace; }
* { box-sizing:border-box; }
body { margin:0; font-family:var(--font); background:var(--bg); color:var(--text); -webkit-font-smoothing:antialiased; }
[hidden] { display:none !important; }
html, body { min-height:100%; }
/* Elementos do portal estático que o protótipo desenha com botão: o link ganha a mesma aparência. */
.pd a { color:inherit; text-decoration:none; }
.pd a.pd-cta, .pd a.pd-md, .pd a.pd-entrar, .pd a.pd-item, .pd a.pd-card { display:inline-flex; align-items:center; justify-content:center; }
.pd a.pd-item { display:flex; justify-content:flex-start; }
.pd a.pd-card { display:flex; align-items:stretch; justify-content:flex-start; }
.pd a.pd-cta.claro { color:var(--pd-azul); }
.pd a.pd-link, .pd .pd-p a, .pd .pd-sub a { color:var(--pd-azul); font-weight:700; text-decoration:underline; }
.pd-nav > .pd-grp > a, .pd-nav > .pd-grp > button { border:0; background:none; padding:8px 9px; border-radius:8px; font:600 13.5px var(--font); color:var(--pd-cinza); cursor:pointer; white-space:nowrap; }
.pd-nav > .pd-grp > a:hover, .pd-nav > .pd-grp > button:hover { color:var(--pd-navy); background:var(--pd-fundo); }
.pd-nav > .pd-grp > .on { color:var(--pd-azul); background:var(--pd-azul-claro); }
.pd-grp-menu a { display:flex; flex-direction:column; align-items:flex-start; gap:2px; text-align:left; white-space:normal; padding:9px 10px; border-radius:8px; }
.pd-grp-menu a:hover, .pd-grp-menu button:hover { background:var(--pd-fundo); }
.pd-grp-menu button { border:0; background:none; border-radius:8px; cursor:pointer; }
.pd-busca-res { list-style:none; margin:0; }
.pd-busca-res a { display:flex; flex-direction:column; gap:2px; padding:9px 10px; border-radius:8px; }
.pd-busca-res a:hover { background:var(--pd-fundo); }
.pd-busca svg { flex-shrink:0; }
.pd-hero h1, .pd-hero p { max-width:100%; }
.pd-h1 { font:800 32px/1.2 var(--font); margin:0 0 8px; letter-spacing:-.4px; }
.pd-tab-wrap { margin:4px 0; }
.pd-aviso { border:1px solid #F3C98B; background:#FFF6E9; color:#93500B; border-radius:12px; padding:14px 16px; font:600 15px/1.5 var(--font); }
.pd-estado { min-height:1.4em; font:500 14px var(--font); color:var(--pd-cinza); margin:0; } .pd-estado.erro { color:#B42318; }
.pd-form { max-width:560px; }
.pd-form select { border:1px solid #C9D1DE; border-radius:10px; padding:11px 13px; font:400 15px var(--font); background:#fff; color:var(--pd-navy); }
.pd-campo textarea { resize:vertical; }
.pd-priv { font:400 13px/1.5 var(--font); color:#8a93a3; margin:0; }
.pd-dl { display:grid; grid-template-columns:max-content minmax(0,1fr); gap:6px 16px; margin:0; font:400 14.5px/1.5 var(--font); } .pd-dl dt { color:#8a93a3; font-weight:600; } .pd-dl dd { margin:0; word-break:break-word; }
.pd-doc > .pd-lado + .pd-conteudo a { color:var(--pd-azul); }
.pd-pre { max-width:100%; }
.pd-codigo .pd-pre[hidden] { display:none; }
.pd-lado { max-width:100%; }
.pd-conteudo h3.pd-h3 { margin-top:8px; }
.pd-rc-l { padding:0 2px; }
.pd-recibo .pd-txt { white-space:pre-wrap; }
.pd-recibo .pd-rc-img, .pd-recibo .pd-rodape-cupom[hidden] { }
.pd-recibo.largo, .pd-recibo { max-width:100%; }
.pd-rec-wrap { overflow-x:auto; }
.pd-passo-fluxo { min-width:0; }
.pd-sub a, .pd-p a { overflow-wrap:anywhere; }
/* Estado do cupom (formato, bobina, caracteres): data-* no .pd, alterado por app.js. Padrão: imagem, 80 mm, ASCII. */
.pd[data-formato="imagem"] .pd-fmt-texto, .pd[data-formato="texto"] .pd-fmt-imagem { display:none; }
.pd[data-charset="ascii"] .pd-cs-unicode, .pd[data-charset="unicode"] .pd-cs-ascii { display:none; }
.pd[data-formato="imagem"] .pd-so-texto { display:none; }
.pd[data-largura="576"] .pd-recibo { width:540px !important; }
.pd-txt { max-width:48ch; } .pd[data-largura="384"] .pd-txt { max-width:32ch; }
.pd-col { display:flex; flex-direction:column; gap:16px; } .pd-col.estreita { max-width:900px; }
.pd-painel { display:contents; }
.pd-bobina button[aria-checked="true"] { background:var(--pd-navy); color:#fff; }
.pd-ia-menu[hidden], .pd-grp-menu[hidden], .pd-busca-res[hidden], .pd-ia-ok[hidden] { display:none !important; }
.pd-lado .pd-item { text-decoration:none; }
.pd a.pd-md { display:inline-block; text-decoration:none; }
.pd-ia-menu a { display:flex; flex-direction:column; align-items:flex-start; gap:2px; padding:9px 10px; border-radius:8px; }
.pd-ia-menu a:hover { background:var(--pd-fundo); }
.pd-ia-menu b, .pd-grp-menu b { font:700 14px var(--font); color:var(--pd-navy); }
.pd-langs button.on, .pd-langs button[aria-pressed="true"] { background:#1C2A4A; color:#fff; }
.pd-grp-menu button b, .pd-grp-menu button span { pointer-events:none; }
.pd-doc.tres > .pd-painel { display:contents; }
.pd-fluxo-tabs button.on { border-color:var(--pd-azul); background:var(--pd-azul-claro); color:var(--pd-azul); }
.pd-ok b { font-weight:700; }
@media (max-width:480px) { .pd-sec { padding-left:16px; padding-right:16px; } .pd-nav { gap:0; } }

/* Gerado de GIRO_Prototipo_v410.html por scripts/extrair-css.mjs. Não edite: mude o protótipo e rode o script. */
.receipt { width: 320px; max-width: 100%; background: #FBFAF5; color: #1A1714; font-family: var(--sim-mono); font-size: 12px; line-height: 1.7; padding: 22px 22px 16px; position: relative; box-shadow: 0 24px 50px -20px rgba(26,23,20,.3); --notch: 7px; }
.receipt::before, .receipt::after { content: ''; position: absolute; left: 0; right: 0; height: var(--notch); background-size: 14px var(--notch); background-repeat: repeat-x; }
.receipt::before { top: 0; background-image: radial-gradient(circle at 7px 0, transparent 6px, #FBFAF5 6px); }
.receipt::after { bottom: 0; transform: scaleY(-1); background-image: radial-gradient(circle at 7px 0, transparent 6px, #FBFAF5 6px); }
.r-rule { border: none; border-top: 1.5px solid #1A1714; margin: 9px 0; }
.r-foot-inline { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 9px; color: #78716C; letter-spacing: .3px; }
.pd { --pd-navy:#14213D; --pd-azul:#3372E2; --pd-azul-claro:#E8F0FD; --pd-cinza:#4a5565; --pd-borda:#E3E7EE; --pd-fundo:#F6F8FC;
      --pd-c-cliente:#FFF6E9; --pd-c-pdv:#EEF3FF; --pd-c-giro:#EAF7F0;
      min-height:100%; background:#fff; color:var(--pd-navy); font-family:var(--font); display:flex; flex-direction:column; }
.pd button { font-family:var(--font); }
.pd code { font:600 .92em ui-monospace,SFMono-Regular,Menlo,monospace; color:#1F4FB0; }
.pd-bar { position:sticky; top:0; z-index:5; display:flex; align-items:center; gap:20px; padding:0 32px; height:64px; background:rgba(255,255,255,.96); border-bottom:1px solid var(--pd-borda); backdrop-filter:blur(8px); }
.pd-logo { display:flex; align-items:center; gap:8px; border:0; background:none; padding:0; cursor:pointer; flex-shrink:0; }
.pd-logo img { height:28px; width:auto; display:block; }
.pd-logo .pd-marca-sub { font-family:'Bricolage Grotesque','Segoe UI',system-ui,sans-serif; font-weight:800; font-size:19px; line-height:1; color:#3372E2; letter-spacing:.2px; padding-top:2px; }
.pd-logo .pd-marca-sep { font-family:'Bricolage Grotesque','Segoe UI',system-ui,sans-serif; font-weight:400; font-size:24px; line-height:1; color:#3372E2; opacity:.45; margin:0 2px; }
.pd-nav { display:flex; gap:2px; min-width:0; flex-wrap:wrap; }
.pd-grp { position:relative; }
.pd-grp-menu { position:absolute; top:calc(100% + 8px); left:0; width:320px; max-width:88vw; background:#fff; border:1px solid var(--pd-borda); border-radius:12px; box-shadow:0 16px 40px rgba(20,33,61,.16); padding:6px; z-index:9; display:flex; flex-direction:column; }
.pd-grp-menu button { display:flex !important; flex-direction:column; align-items:flex-start; gap:2px; text-align:left; white-space:normal !important; padding:9px 10px !important; }
.pd-grp-menu b { font:700 14px var(--font); color:var(--pd-navy); }
.pd-grp-menu span { font:500 12.5px var(--font); color:#8a93a3; }
.pd-nav button { border:0; background:none; padding:8px 9px; border-radius:8px; font:600 13.5px var(--font); color:var(--pd-cinza); cursor:pointer; white-space:nowrap; }
.pd-nav button:hover { color:var(--pd-navy); background:var(--pd-fundo); }
.pd-nav button.on { color:var(--pd-azul); background:var(--pd-azul-claro); }
.pd-busca { margin-left:auto; display:flex; align-items:center; gap:8px; min-width:150px; max-width:200px; padding:8px 12px; border:1px solid var(--pd-borda); border-radius:10px; color:#8a93a3; font:500 14px var(--font); background:var(--pd-fundo); cursor:text; }
.pd-busca { position:relative; }
.pd-busca input { border:0; background:transparent; outline:none; font:500 14px var(--font); color:var(--pd-navy); width:100%; min-width:0; }
.pd-busca-res { position:absolute; top:calc(100% + 6px); right:0; width:340px; max-width:90vw; background:#fff; border:1px solid var(--pd-borda); border-radius:12px; box-shadow:0 16px 40px rgba(20,33,61,.16); padding:6px; display:flex; flex-direction:column; z-index:10; }
.pd-busca-res button { display:flex; flex-direction:column; align-items:flex-start; gap:2px; border:0; background:none; text-align:left; padding:9px 10px; border-radius:8px; cursor:pointer; }
.pd-busca-res button:hover { background:var(--pd-fundo); }
.pd-busca-res b { font:700 14px var(--font); color:var(--pd-navy); }
.pd-busca-res span { font:500 12.5px var(--font); color:#8a93a3; }
.pd-busca-vazia { padding:10px; font:500 13.5px var(--font); color:#8a93a3; }
.pd-baixar { display:flex; gap:8px; flex-wrap:wrap; }
.pd-ia { position:relative; display:inline-flex; align-items:center; gap:8px; }
.pd-ia-menu { position:absolute; top:calc(100% + 6px); right:0; width:300px; max-width:86vw; background:#fff; border:1px solid var(--pd-borda); border-radius:12px; box-shadow:0 16px 40px rgba(20,33,61,.16); padding:6px; z-index:8; display:flex; flex-direction:column; }
.pd-ia-menu button { display:flex; flex-direction:column; align-items:flex-start; gap:2px; border:0; background:none; text-align:left; padding:9px 10px; border-radius:8px; cursor:pointer; }
.pd-ia-menu button:hover, .pd-ia-menu button:focus-visible { background:var(--pd-fundo); }
.pd-ia-menu b { font:700 14px var(--font); color:var(--pd-navy); }
.pd-ia-menu span { font:500 12.5px var(--font); color:#8a93a3; }
.pd-ia-ok { font:700 12.5px var(--font); color:#1B6B3A; }
.pd-dica { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; border:1px solid #BFD3F8; background:var(--pd-azul-claro); border-radius:12px; padding:12px 14px; font:600 15px var(--font); color:var(--pd-navy); }
.pd-saude { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.pd-saude div { background:var(--pd-fundo); border:1px solid var(--pd-borda); border-radius:10px; padding:10px 12px; display:flex; flex-direction:column; gap:2px; min-width:0; }
.pd-saude span { font:600 12px var(--font); color:#8a93a3; }
.pd-saude b { font:700 14px var(--font); color:var(--pd-navy); word-break:break-word; }
.pd-saude small { font:500 12px ui-monospace,Menlo,monospace; color:#8a93a3; }
.pd-caixa-tela { border:2px solid #14213D; border-radius:14px; background:#F4F6FA; padding:14px; display:flex; flex-direction:column; gap:10px; font-family:var(--font); }
.pd-caixa-top { font:700 13px var(--font); color:#4a5565; text-align:right; }
.pd-caixa-perg { font:700 17px/1.3 var(--font); color:#14213D; }
.pd-caixa-campo { border:1.5px solid #3372E2; background:#fff; border-radius:10px; padding:10px 12px; font:600 17px var(--font); color:#14213D; }
.pd-caixa-bts { display:flex; gap:8px; }
.pd-caixa-bts span { flex:1; text-align:center; border-radius:10px; padding:11px 8px; font:700 14px var(--font); background:#3372E2; color:#fff; }
.pd-caixa-bts span.sec { background:#fff; color:#14213D; border:1.5px solid #C9D1DE; }
.pd-caixa-aviso { border-radius:10px; padding:12px 14px; font:700 15px/1.35 var(--font); }
.pd-caixa-aviso.ok { background:#E3F5EA; color:#1B6B3A; }
.pd-caixa-aviso.pend { background:#FFF1DC; color:#93500B; }
.pd-prompt { margin-top:4px; }
.pd-entrar { border:0; background:none; padding:8px 10px; border-radius:8px; font:700 14px var(--font); color:var(--pd-navy); cursor:pointer; flex-shrink:0; }
.pd-entrar:hover { background:var(--pd-fundo); }
.pd-avatar { display:inline-flex; align-items:center; gap:8px; border:1px solid var(--pd-borda); background:#fff; border-radius:999px; padding:4px 12px 4px 4px; font:600 14px var(--font); color:var(--pd-navy); cursor:pointer; flex-shrink:0; }
.pd-avatar span { width:28px; height:28px; border-radius:50%; background:var(--pd-azul); color:#fff; font:700 12px/28px var(--font); text-align:center; }
.pd-login { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; padding:11px 14px; border:1px solid var(--pd-borda); border-radius:10px; background:#fff; color:#1F1F1F; font:600 15px var(--font); cursor:pointer; }
.pd-login:hover { border-color:var(--pd-azul); }
.pd-link { border:0; background:none; padding:0; color:var(--pd-azul); font:700 13.5px var(--font); cursor:pointer; }
.pd-busca kbd { margin-left:auto; font:600 12px var(--font); border:1px solid var(--pd-borda); border-radius:6px; padding:1px 6px; background:#fff; color:var(--pd-cinza); }
.pd-cta { border:0; border-radius:10px; padding:10px 16px; background:var(--pd-azul); color:#fff; font:700 14px var(--font); cursor:pointer; white-space:nowrap; flex-shrink:0; }
.pd-cta:hover { filter:brightness(.95); }
.pd-cta.sec { background:transparent; color:#fff; border:1px solid rgba(255,255,255,.35); }
.pd-cta.claro { background:#fff; color:var(--pd-azul); border:1px solid var(--pd-borda); }
.pd-sec { width:100%; max-width:1200px; margin:0 auto; padding:48px 32px; box-sizing:border-box; }
.pd-hero { background:radial-gradient(1200px 400px at 85% -10%, rgba(51,114,226,.45), transparent), var(--pd-navy); color:#fff; }
.pd-hero .pd-sec { display:grid; grid-template-columns:1.05fr 1fr; gap:48px; align-items:center; padding-top:72px; padding-bottom:72px; }
.pd-kicker { font:700 13px var(--font); letter-spacing:.6px; text-transform:uppercase; color:#9DBDF5; margin:0 0 12px; }
.pd-hero h1 { font:800 44px/1.12 var(--font); margin:0 0 16px; letter-spacing:-.5px; }
.pd-hero p.pd-lead { font:400 18px/1.55 var(--font); color:#D5DDEC; margin:0 0 28px; max-width:52ch; }
.pd-acoes { display:flex; gap:12px; flex-wrap:wrap; }
.pd-janela { background:#0B1428; border:1px solid rgba(255,255,255,.12); border-radius:16px; overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,.35); min-width:0; }
.pd-janela-topo { display:flex; align-items:center; gap:6px; padding:10px 14px; border-bottom:1px solid rgba(255,255,255,.08); font:600 12px var(--font); color:#8FA3C7; }
.pd-janela-topo i { width:10px; height:10px; border-radius:50%; background:#2B3A5C; display:inline-block; }
.pd-janela-topo span { margin-left:8px; }
.pd-pre { margin:0; padding:16px 18px; font:500 13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace; color:#E6EDFF; overflow-x:auto; white-space:pre; }
.pd-pre.resp { color:#B9F2CF; border-top:1px solid rgba(255,255,255,.08); }
.pd-h2 { font:800 30px/1.2 var(--font); margin:0 0 8px; letter-spacing:-.3px; }
.pd-h3 { font:800 20px/1.3 var(--font); margin:0 0 6px; }
.pd-sub { font:400 16px/1.6 var(--font); color:var(--pd-cinza); margin:0; max-width:68ch; }
.pd-passos { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:28px; }
.pd-passo { border:1px solid var(--pd-borda); border-radius:14px; padding:18px; background:#fff; }
.pd-passo b { display:block; font:700 15px var(--font); margin:6px 0 4px; }
.pd-passo small { color:var(--pd-cinza); font:400 14px/1.5 var(--font); }
.pd-num { width:28px; height:28px; border-radius:50%; background:var(--pd-azul-claro); color:var(--pd-azul); font:800 14px/28px var(--font); text-align:center; flex-shrink:0; }
.pd-faixa { background:var(--pd-fundo); border-top:1px solid var(--pd-borda); border-bottom:1px solid var(--pd-borda); }
.pd-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:24px; }
.pd-card { text-align:left; border:1px solid var(--pd-borda); border-radius:16px; padding:20px; background:#fff; display:flex; flex-direction:column; gap:8px; }
button.pd-card { cursor:pointer; transition:border-color .15s, box-shadow .15s; }
button.pd-card:hover { border-color:var(--pd-azul); box-shadow:0 6px 20px rgba(51,114,226,.12); }
.pd-card b { font:800 18px var(--font); color:var(--pd-navy); }
.pd-card .pd-tx { font:400 14.5px/1.55 var(--font); color:var(--pd-cinza); }
.pd-card .pd-mais { margin-top:auto; font:700 14px var(--font); color:var(--pd-azul); }
.pd-ico { width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:20px; }
.pd-selo { align-self:flex-start; font:700 12px var(--font); padding:3px 9px; border-radius:999px; background:#E3F5EA; color:#1B6B3A; }
.pd-selo.breve { background:#EEF0F4; color:#5b6472; }
.pd-agente { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center; }
.pd-chips { display:flex; gap:8px; flex-wrap:wrap; margin-top:16px; }
.pd-chip { font:600 13px var(--font); border:1px solid var(--pd-borda); background:#fff; border-radius:999px; padding:6px 12px; color:var(--pd-navy); }
.pd-par { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:28px; align-items:center; margin-top:28px; }
.pd-par .pd-flecha-grande { color:var(--pd-azul); display:flex; flex-direction:column; align-items:center; gap:6px; font:700 12px var(--font); text-transform:uppercase; letter-spacing:.5px; }
.pd-recibo { width:280px !important; max-width:100%; margin:0 auto; }
.pd-rc-pdv { text-align:center; font-size:10.5px; color:#a8a29e; padding:6px 0 2px; line-height:1.5; }
.pd-rc-img { position:absolute; top:-10px; right:-10px; font:700 10.5px ui-monospace,Menlo,monospace; background:#14213D; color:#fff; border-radius:6px; padding:3px 7px; }
.pd-recibo { position:relative; }
.int-kv { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.int-kv > div { background:var(--bg); border:1px solid var(--border); border-radius:10px; padding:10px 12px; display:flex; flex-direction:column; gap:3px; }
@media (max-width:760px) { .int-kv { grid-template-columns:1fr; } }
.pd-txt { margin:0 auto; font:500 12.5px/1.6 var(--sim-mono, 'DM Mono', monospace); color:#1A1714; text-align:center; padding:4px 0 6px; }
.pd-txt-l.tt { font-weight:700; }
.pd-txt-qr { display:flex; justify-content:center; margin:8px 0; }
.pd-txt-qr svg { width:130px !important; height:130px !important; }
.pd-recibo:not(.largo) .pd-txt-qr svg { width:110px !important; height:110px !important; }
.pd-recibo.largo { width:540px !important; }
.pd-rodape-cupom { font-size:10px; }
.pd-rodape-cupom svg { height:17px; width:auto; }
.pd-rodape-cupom svg path { fill:#1A1714 !important; }
.pd-bobina { display:inline-flex; border:1px solid var(--pd-borda); border-radius:999px; padding:3px; background:#fff; gap:2px; }
.pd-bobina button { border:0; background:none; border-radius:999px; padding:6px 12px; font:600 13px var(--font); color:var(--pd-cinza); cursor:pointer; }
.pd-bobina button.on { background:var(--pd-navy); color:#fff; }
.pd-rc-l { text-align:center; font-size:11.5px; line-height:1.55; }
.pd-rc-l.tt { font-weight:700; font-size:12px; margin-top:4px; }
.pd-dois { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr)); gap:20px; margin-top:24px; }
.pd-caso { border:1px solid var(--pd-borda); border-radius:18px; padding:22px; background:#fff; display:flex; flex-direction:column; gap:12px; }
.pd-caso .pd-rec-wrap { background:linear-gradient(180deg,#F1F3F7,#FAFBFD); border-radius:14px; padding:22px 12px; margin-top:auto; }
.pd-decide { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:20px; }
.pd-decide div { border:1px solid var(--pd-borda); border-radius:12px; padding:14px 16px; background:#fff; font:400 14px/1.5 var(--font); color:var(--pd-cinza); }
.pd-decide b { display:block; color:var(--pd-navy); font:700 15px var(--font); margin-bottom:2px; }
.pd-glos { display:grid; grid-template-columns:repeat(2,1fr); gap:0 32px; margin-top:16px; }
.pd-glos div { padding:12px 0; border-bottom:1px solid var(--pd-borda); font:400 14.5px/1.55 var(--font); color:var(--pd-cinza); }
.pd-glos b { display:block; color:var(--pd-navy); font:700 15px var(--font); }
.pd-doc { display:grid; grid-template-columns:240px minmax(0,1fr); gap:40px; align-items:start; }
.pd-doc.tres { grid-template-columns:240px minmax(0,1fr) minmax(0,1.05fr); gap:32px; }
.pd-lado { position:sticky; top:88px; display:flex; flex-direction:column; gap:2px; }
.pd-lado h4 { margin:0 0 8px; font:700 12px var(--font); text-transform:uppercase; letter-spacing:.6px; color:#8a93a3; }
.pd-item { display:flex; align-items:center; gap:8px; width:100%; text-align:left; border:0; background:none; padding:9px 10px; border-radius:8px; font:600 14px var(--font); color:var(--pd-cinza); cursor:pointer; }
.pd-item:hover { background:var(--pd-fundo); color:var(--pd-navy); }
.pd-item.on { background:var(--pd-azul-claro); color:var(--pd-azul); }
.pd-item .pd-seta { margin-left:auto; opacity:.5; }
.pd-met { font:800 10.5px var(--font); padding:2px 6px; border-radius:5px; background:#DDF3E4; color:#1B6B3A; letter-spacing:.4px; flex-shrink:0; }
.pd-met.post { background:#E3EBFB; color:#1F4FB0; }
.pd-path { font:600 13px ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--pd-navy); word-break:break-all; }
.pd-conteudo { min-width:0; display:flex; flex-direction:column; gap:16px; }
.pd-topo-doc { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.pd-md { border:1px solid var(--pd-borda); background:#fff; border-radius:8px; padding:6px 10px; font:600 13px var(--font); color:var(--pd-cinza); cursor:pointer; }
.pd-md:hover { border-color:var(--pd-azul); color:var(--pd-azul); }
.pd-tab { width:100%; border-collapse:collapse; font:400 14px/1.5 var(--font); }
.pd-tab th { text-align:left; font:700 12px var(--font); text-transform:uppercase; letter-spacing:.5px; color:#8a93a3; padding:8px 10px; border-bottom:1px solid var(--pd-borda); }
.pd-tab td { padding:10px; border-bottom:1px solid var(--pd-borda); vertical-align:top; color:var(--pd-navy); }
.pd-tab-wrap { overflow-x:auto; border:1px solid var(--pd-borda); border-radius:12px; }
.pd-tab-wrap .pd-tab td:last-child { color:var(--pd-cinza); }
.pd-http { font:800 12px ui-monospace,Menlo,monospace; padding:2px 6px; border-radius:5px; background:#FDECEC; color:#B42318; }
.pd-params { display:flex; flex-direction:column; border-top:1px solid var(--pd-borda); }
.pd-param { padding:12px 0; border-bottom:1px solid var(--pd-borda); }
.pd-param-cab { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.pd-param-cab code { font:700 14px ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--pd-navy); }
.pd-tipo { font:500 13px var(--font); color:#8a93a3; }
.pd-obrig { font:700 11.5px var(--font); color:#B4441F; }
.pd-obrig.op { color:#8a93a3; font-weight:600; }
.pd-param p { margin:4px 0 0; font:400 14.5px/1.55 var(--font); color:var(--pd-cinza); }
.pd-codigo { background:#0B1428; border-radius:14px; overflow:hidden; min-width:0; position:sticky; top:88px; }
.pd-langs { display:flex; align-items:center; gap:2px; padding:8px; border-bottom:1px solid rgba(255,255,255,.08); flex-wrap:wrap; }
.pd-langs button { border:0; background:none; color:#8FA3C7; font:600 13px var(--font); padding:6px 10px; border-radius:6px; cursor:pointer; }
.pd-langs button.on { background:#1C2A4A; color:#fff; }
.pd-copiar { margin-left:auto !important; border:1px solid rgba(255,255,255,.18) !important; color:#D5DDEC !important; }
.pd-rot { font:700 11.5px var(--font); text-transform:uppercase; letter-spacing:.6px; color:#8FA3C7; padding:12px 18px 0; }
.pd-teste { border-top:1px solid rgba(255,255,255,.08); padding:14px 18px; display:flex; flex-direction:column; gap:10px; }
.pd-teste input { border:1px solid #2B3A5C; background:#0F1B33; color:#fff; border-radius:8px; padding:9px 11px; font:500 13px ui-monospace,Menlo,monospace; }
.pd-teste-res { font:700 12px var(--font); color:#B9F2CF; }
.pd-ol { margin:0; padding-left:22px; font:400 15px/1.75 var(--font); color:var(--pd-navy); }
.pd-p { margin:0; font:400 15.5px/1.7 var(--font); color:#2b3342; max-width:72ch; }
.pd-bloco { background:#0B1428; border-radius:12px; overflow:hidden; }
.pd-bloco-topo { display:flex; justify-content:flex-end; padding:6px 8px 0; }
.pd-fluxo-tabs { display:flex; gap:8px; flex-wrap:wrap; }
.pd-fluxo-tabs button { border:1px solid var(--pd-borda); background:#fff; border-radius:999px; padding:8px 14px; font:600 14px var(--font); color:var(--pd-cinza); cursor:pointer; }
.pd-fluxo-tabs button.on { border-color:var(--pd-azul); background:var(--pd-azul-claro); color:var(--pd-azul); }
.pd-raias { display:grid; grid-template-columns:44px repeat(3,minmax(0,1fr)); border:1px solid var(--pd-borda); border-radius:16px; overflow:hidden; }
.pd-raia-cab { padding:12px 14px; font:800 13px var(--font); text-transform:uppercase; letter-spacing:.5px; color:var(--pd-navy); border-bottom:1px solid var(--pd-borda); }
.pd-raia-cel { padding:10px 12px; min-height:20px; border-bottom:1px dashed #E3E7EE; }
.pd-raia-num { display:flex; justify-content:center; padding-top:16px; border-bottom:1px dashed #E3E7EE; background:#fff; position:relative; }
.pd-raia-num::after { content:""; position:absolute; top:46px; bottom:-14px; left:50%; width:2px; background:var(--pd-azul-claro); }
.pd-raia-num.ult::after { display:none; }
.l-cliente { background:var(--pd-c-cliente); } .l-pdv { background:var(--pd-c-pdv); } .l-giro { background:var(--pd-c-giro); }
.pd-raia-card { background:#fff; border:1.5px solid var(--pd-borda); border-radius:12px; padding:12px 14px; box-shadow:0 2px 6px rgba(20,33,61,.05); }
.pd-raia-card.cliente { border-color:#F3C98B; } .pd-raia-card.pdv { border-color:#A9C1F3; } .pd-raia-card.giro { border-color:#9FD5B1; }
.pd-raia-card b { display:block; font:700 14.5px/1.35 var(--font); color:var(--pd-navy); }
.pd-raia-card p { margin:4px 0 0; font:400 13.5px/1.5 var(--font); color:var(--pd-cinza); }
.pd-raia-card code { display:inline-block; margin-top:6px; font:600 12px ui-monospace,Menlo,monospace; background:var(--pd-fundo); border:1px solid var(--pd-borda); border-radius:6px; padding:2px 6px; color:#1F4FB0; }
.pd-raia-lane { display:none; font:800 11px var(--font); text-transform:uppercase; letter-spacing:.5px; color:#8a93a3; margin-bottom:2px; }
.pd-form-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:48px; align-items:start; }
.pd-form { display:flex; flex-direction:column; gap:16px; border:1px solid var(--pd-borda); border-radius:16px; padding:24px; background:#fff; }
.pd-linha2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pd-campo { display:flex; flex-direction:column; gap:6px; font:600 14px var(--font); color:var(--pd-navy); }
.pd-campo small { font:400 13px var(--font); color:#8a93a3; }
.pd-campo input, .pd-campo textarea { border:1px solid #C9D1DE; border-radius:10px; padding:11px 13px; font:400 15px var(--font); background:#fff; color:var(--pd-navy); }
.pd-campo input:focus, .pd-campo textarea:focus { outline:2px solid var(--pd-azul); outline-offset:0; border-color:var(--pd-azul); }
.pd-ok { border:1px solid #9fd5b1; background:#EAF7EF; color:#1B5E36; border-radius:14px; padding:20px; font:500 15px/1.6 var(--font); }
.pd-rodape { margin-top:auto; border-top:1px solid var(--pd-borda); background:var(--pd-fundo); }
.pd-rodape .pd-sec { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; padding-top:16px; padding-bottom:16px; font:500 13px var(--font); color:#8a93a3; }
.pd-rodape-links { display:flex; gap:20px; flex-wrap:wrap; }
.pd-rodape img { height:22px; width:auto; }
.pd-rodape button { border:0; background:none; font:500 13px var(--font); color:#8a93a3; cursor:pointer; padding:0; display:inline-flex; align-items:center; }
.pd-rodape button:hover { color:var(--pd-azul); }
@media (max-width:1280px) { .pd-busca { display:none; } }
@media (max-width:1100px) { .pd-doc.tres { grid-template-columns:220px minmax(0,1fr); } .pd-doc.tres .pd-codigo { grid-column:2; position:static; } .pd-busca { display:none; } }
@media (max-width:860px) {
  .pd-bar { padding:8px 16px; gap:12px; height:auto; min-height:56px; flex-wrap:wrap; }
  .pd-nav { order:3; width:100%; }
  .pd-bar .pd-cta { margin-left:auto; padding:8px 12px; font-size:13px; }
  .pd-logo img { height:24px; }
  .pd-logo .pd-marca-sub { font-size:14px; }
  .pd-logo .pd-marca-sep { font-size:18px; }
}
@media (max-width:480px) {
  .pd-bar { gap:8px; padding-left:12px; padding-right:12px; }
  .pd-logo { gap:5px; }
  .pd-logo img { height:21px; }
  .pd-logo .pd-marca-sub { font-size:12.5px; letter-spacing:0; }
  .pd-logo .pd-marca-sep { font-size:16px; margin:0; }
  .pd-bar .pd-cta { display:none; }
  .pd-entrar { margin-left:auto; padding:7px 8px; font-size:13px; }
  .pd-acoes .pd-cta { flex:1 1 auto; text-align:center; }
  .pd-sec { padding:32px 16px; }
  .pd-hero .pd-sec { grid-template-columns:1fr; gap:28px; padding-top:40px; padding-bottom:40px; }
  .pd-hero h1 { font-size:32px; }
  .pd-passos, .pd-cards, .pd-agente, .pd-form-grid, .pd-linha2, .pd-dois, .pd-decide, .pd-glos, .pd-par { grid-template-columns:1fr; }
  .pd-par .pd-flecha-grande svg { transform:rotate(90deg); }
  .pd-doc, .pd-doc.tres { grid-template-columns:minmax(0,1fr); gap:20px; }
  .pd-doc.tres .pd-codigo { grid-column:auto; }
  .pd-lado { position:static; flex-direction:row; overflow-x:auto; gap:6px; }
  .pd-lado h4 { display:none; }
  .pd-item { width:auto; white-space:nowrap; border:1px solid var(--pd-borda); }
  .pd-item .pd-seta { display:none; }
  .pd-raias { grid-template-columns:36px minmax(0,1fr); }
  .pd-raia-cab { display:none; }
  .pd-raia-cel.vazia { display:none; }
  .pd-raia-cel { background:#fff !important; }
  .pd-raia-lane { display:block; }
}

/* Ajustes do portal estático sobre o CSS do protótipo (vêm depois de pd.css). */
.pd-par > *, .pd-dois > *, .pd-cards > *, .pd-passos > *, .pd-decide > *, .pd-glos > *, .pd-agente > *, .pd-form-grid > *, .pd-linha2 > *, .pd-doc > *, .pd-caso > * { min-width:0; }
.pd-recibo, .pd[data-largura="576"] .pd-recibo { max-width:100%; }
.pd-rec-wrap { overflow-x:auto; }
.pd-bloco, .pd-janela, .pd-codigo { max-width:100%; }
@media (max-width:860px) {
  .pd-grp { position:static; }
  .pd-grp-menu { left:12px; right:12px; width:auto; max-width:none; top:calc(100% - 4px); }
  .pd-ia-menu { right:0; width:min(300px, calc(100vw - 32px)); }
}
.pd-pre code, .pd-bloco code { color:inherit; font:inherit; }
.pd-nav > .pd-grp > a { display:inline-block; }
/* Cupom em imagem: as duas bobinas vêm do protótipo; a escolhida aparece (data-largura no .pd). */
.pd[data-largura="576"] .pd-w384, .pd[data-largura="384"] .pd-w576 { display:none !important; }
