/* ============================================================================
   TORRE — telas de conta e frequências
   ----------------------------------------------------------------------------
   Mesma linguagem FIDS do painel (index.html): saguão escuro, painéis opacos,
   lâminas separadas, selos com o código de estado intocado. Os tokens abaixo são
   cópia dos do painel; mudou lá, muda aqui.
     verde = na escuta (pousou) · vermelho = sinal perdido, agir (atraso)
     cinza = fora do radar / a configurar / sem API
   ========================================================================== */
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/barlow-condensed-600.woff2) format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/barlow-condensed-700.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-400.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-500.woff2) format('woff2')}

:root{
  --bg:#060709;
  --painel:#0C0E12;
  --painel-2:#11141A;
  --lamina:#0F1217;
  --lamina-hover:#161A21;
  --hairline:rgba(255,255,255,.07);
  --borda:rgba(255,255,255,.10);
  --ink:#F2EFE8;
  --ink-2:#BCC2CC;
  --ink-3:#8A909B;
  --red:#FF3B1F;
  --amber:#FFB000;
  --cyan:#35D0BA;
  --green:#3FB950;
  --iris:#6E7BFF;
  --u:8px;
  --r:14px;
  --r-m:10px;
  --r-s:6px;
  --gutter:clamp(16px,2.2vw,40px);
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --cond:"Barlow Condensed","Helvetica Neue",Arial,sans-serif;
  color-scheme:dark;
}
:root[data-tema="claro"]{
  --bg:#ECE9E2;
  --painel:#FFFFFF;
  --painel-2:#F7F5F0;
  --lamina:#FAF8F4;
  --lamina-hover:#F1EEE7;
  --hairline:rgba(20,22,28,.08);
  --borda:rgba(20,22,28,.12);
  --ink:#16181C;
  --ink-2:#464B53;
  --ink-3:#5E636C;
  --red:#B02107;
  --amber:#9A6B00;
  --cyan:#0F7A6B;
  --green:#1E7F35;
  --iris:#4A55D6;
  color-scheme:light;
}

*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%}
body{
  font-family:var(--mono);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;
  background:var(--bg);color:var(--ink);
  padding:var(--gutter) var(--gutter) calc(var(--u)*8);
  max-width:1280px;margin:0 auto;min-height:100vh;position:relative;
}
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(80% 50% at 50% -10%, rgba(120,140,190,.16) 0%, transparent 70%),
    radial-gradient(60% 40% at 100% 110%, rgba(110,123,255,.06) 0%, transparent 70%);
}
:root[data-tema="claro"] body::before{background:radial-gradient(80% 50% at 50% -10%, rgba(255,255,255,.9) 0%, transparent 70%)}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--iris);outline-offset:2px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

.eyebrow{font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
.en{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);font-style:normal}

/* ---------- painel: o material comum ---------- */
header, .ticker, .painel, .aviso{
  background:var(--painel);border:1px solid var(--borda);border-radius:var(--r);position:relative;
}
:root[data-tema="claro"] header,
:root[data-tema="claro"] .painel{box-shadow:0 1px 2px rgba(40,36,28,.06), 0 8px 24px rgba(40,36,28,.06)}

/* ---------- header (igual ao do painel) ---------- */
header{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;
  gap:calc(var(--u)*3);padding:calc(var(--u)*2) calc(var(--u)*3);
}
.brand{display:flex;align-items:center;gap:calc(var(--u)*1.75);min-width:0}
.brand .torre{width:40px;height:40px;border-radius:var(--r-m);flex:0 0 auto;display:grid;place-items:center;background:var(--ink);color:var(--bg)}
.brand .torre svg{width:24px;height:24px;fill:currentColor}
.brand h1{font-family:var(--cond);font-weight:700;font-size:30px;line-height:.9;letter-spacing:.01em;text-transform:uppercase;white-space:nowrap}
.brand .sub{display:block;margin-top:5px;font-size:10px;letter-spacing:.18em;color:var(--ink-3);text-transform:uppercase;white-space:nowrap}
.voltar{justify-self:center;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);padding:8px 12px;border-radius:var(--r-s)}
.voltar:hover{color:var(--ink);background:var(--painel-2)}
.lado{display:flex;align-items:center;gap:calc(var(--u)*1.5);min-width:0}

#tema, .pilula{
  appearance:none;border:1px solid var(--borda);background:transparent;color:var(--ink-2);
  font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  padding:8px 13px;border-radius:999px;cursor:pointer;white-space:nowrap;
  transition:border-color .15s ease,color .15s ease,background .15s ease;
}
#tema:hover, .pilula:hover{color:var(--ink);background:var(--painel-2)}

.conta{display:flex;align-items:center;gap:calc(var(--u)*1.25);min-width:0}
.conta img{width:32px;height:32px;border-radius:var(--r-s);object-fit:cover;flex:0 0 auto}
.conta .quem{min-width:0;line-height:1.3}
.conta .quem b{display:block;font-family:var(--cond);font-weight:600;font-size:16px;text-transform:uppercase;letter-spacing:.03em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:22ch}
.conta .quem span{display:block;font-size:10px;color:var(--ink-3);letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:28ch}
.conta form{margin:0}

/* ---------- ticker: linha de sistema ---------- */
.ticker{
  margin-top:calc(var(--u)*1.25);border-radius:var(--r-m);
  display:flex;justify-content:space-between;align-items:center;gap:calc(var(--u)*3);flex-wrap:wrap;
  padding:calc(var(--u)*1.25) calc(var(--u)*2.5);
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);background:var(--painel-2);
}
.ticker b{color:var(--ink-2);font-weight:500}
.dot{width:6px;height:6px;border-radius:50%;background:var(--green);display:inline-block;margin-right:8px;vertical-align:middle;
  animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}

/* ---------- aviso (retorno do OAuth) ---------- */
.aviso{margin-top:calc(var(--u)*1.25);padding:calc(var(--u)*1.5) calc(var(--u)*2.5);border-radius:var(--r-m);
  font-size:12px;letter-spacing:.02em;color:var(--ink-2);border-left:3px solid var(--ink-3)}
.aviso[data-tom="ok"]{border-left-color:var(--green);color:var(--ink)}
.aviso[data-tom="erro"]{border-left-color:var(--red);color:var(--ink)}
.aviso[hidden]{display:none}

/* ---------- radar: o número que importa ---------- */
.radar{
  margin-top:calc(var(--u)*2.5);display:grid;grid-template-columns:auto minmax(0,1fr);gap:calc(var(--u)*4);align-items:center;
  padding:calc(var(--u)*3) calc(var(--u)*4);
  background:linear-gradient(120deg, rgba(63,185,80,.10) 0%, transparent 55%), var(--painel);
  border:1px solid var(--borda);border-radius:var(--r);position:relative;overflow:hidden;
}
.radar::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--green)}
.radar.zerado{background:var(--painel)}
.radar.zerado::before{background:var(--ink-3)}
.radar .n{font-family:var(--cond);font-weight:700;font-size:clamp(64px,8vw,112px);line-height:.82;letter-spacing:-.01em;white-space:nowrap}
.radar .n i{font-style:normal;color:var(--ink-3)}
.radar h2{font-family:var(--cond);font-weight:700;font-size:22px;text-transform:uppercase;letter-spacing:.05em}
.radar p{margin-top:8px;font-size:12px;color:var(--ink-2);line-height:1.7;max-width:74ch}
.radar p b{color:var(--ink);font-weight:500}

/* ---------- painéis por categoria ---------- */
.pistas{margin-top:calc(var(--u)*2.5);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(var(--u)*2.5);align-items:start}
.pistas .largo{grid-column:1 / -1}
.painel{overflow:hidden}
.placa{
  display:flex;align-items:center;gap:calc(var(--u)*1.75);
  padding:calc(var(--u)*1.75) calc(var(--u)*2.5);border-bottom:1px solid var(--borda);background:var(--painel-2);
}
.placa h2{font-family:var(--cond);font-weight:700;font-size:28px;line-height:.9;letter-spacing:.04em;text-transform:uppercase}
.placa .en{display:block;margin-top:4px}
.placa .nota{margin-left:auto;text-align:right;line-height:1.5;max-width:30ch}

.board{container-type:inline-size;container-name:board;padding:calc(var(--u)*1) calc(var(--u)*1.25) calc(var(--u)*1.25)}
.row{
  --grade:62px minmax(0,1fr) auto;
  display:grid;grid-template-columns:var(--grade);gap:calc(var(--u)*2);align-items:center;
  padding:calc(var(--u)*1.5) calc(var(--u)*1.75);min-height:62px;margin-top:3px;
  background:var(--lamina);border-radius:var(--r-s);position:relative;transition:background .12s ease;
}
.row:hover{background:var(--lamina-hover)}
.c-code{font-size:18px;font-weight:500;letter-spacing:.02em;line-height:1.1}
.row.apagado .c-code{color:var(--ink-3)}
.c-dest{min-width:0}
.c-nome{display:block;font-family:var(--cond);font-weight:700;font-size:22px;line-height:1;text-transform:uppercase;letter-spacing:.01em}
.c-traz{display:block;margin-top:5px;font-size:12px;color:var(--ink-2);line-height:1.45}
.c-nota{display:block;margin-top:6px;font-size:10px;letter-spacing:.06em;color:var(--ink-3);line-height:1.55}
.c-conta{display:block;margin-top:6px;font-size:11px;color:var(--ink-2);letter-spacing:.02em;overflow-wrap:anywhere}
.c-hoje{display:inline-flex;align-items:center;gap:6px;margin-top:7px;white-space:nowrap;
  font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:#5EE0CD;background:#0C2A27;border-radius:999px;padding:3px 10px}
:root[data-tema="claro"] .c-hoje{color:#0B6154;background:#D9F0EC}
.c-lado{display:flex;flex-direction:column;align-items:flex-end;gap:calc(var(--u)*1)}
/* ações empilhadas: a coluna da direita não rouba largura do texto */
.c-acoes{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:112px}

/* ---------- selos (mesmo código do painel) ---------- */
.status{
  display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
  font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
  padding:6px 12px;border-radius:999px;
  background:var(--selo-bg,rgba(139,144,153,.16));box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
.status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 auto}
.s-on    {--selo-bg:#0E2A15;color:#5FD46F}
.s-lost  {--selo-bg:#3A1409;color:#FF6B52}
.s-off   {--selo-bg:#1C1F27;color:#A8AEB8}
.s-mudo  {--selo-bg:#1A1D24;color:#9AA0AA}
.s-mudo::before{background:transparent;box-shadow:inset 0 0 0 1px currentColor}
:root[data-tema="claro"] .s-on  {--selo-bg:#DCF0E0;color:#17662A}
:root[data-tema="claro"] .s-lost{--selo-bg:#FBE3DE;color:#A82208}
:root[data-tema="claro"] .s-off {--selo-bg:#ECEAE4;color:#4B5058}
:root[data-tema="claro"] .s-mudo{--selo-bg:#EDEBE5;color:#5E646D}

/* ---------- botões ---------- */
.btn{
  appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:34px;padding:0 calc(var(--u)*1.5);border-radius:var(--r-s);cursor:pointer;white-space:nowrap;
  border:1px solid var(--hairline);background:transparent;color:var(--ink-2);
  font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  transition:color .14s ease,background .14s ease,border-color .14s ease,filter .15s ease;touch-action:manipulation;
}
.btn:hover{color:var(--ink);border-color:var(--borda);background:var(--lamina-hover)}
.btn:disabled{opacity:.45;cursor:progress}
/* verde de pista liberada, o mesmo do "Lançar voo" */
.btn-pista{
  border:0;color:#fff;background:linear-gradient(180deg,#248A3D 0%,#1B6E30 100%);
  box-shadow:0 3px 10px rgba(63,185,80,.26), inset 0 1px 0 rgba(255,255,255,.22);
}
.btn-pista:hover{color:#fff;background:linear-gradient(180deg,#248A3D 0%,#1B6E30 100%);filter:brightness(1.12)}
.btn-perigo{color:var(--red);border-color:rgba(255,59,31,.35)}
.btn-perigo:hover{color:var(--red);background:rgba(255,59,31,.08);border-color:rgba(255,59,31,.6)}

/* ---------- entrar: check-in ---------- */
.checkin{max-width:640px;margin:calc(var(--u)*6) auto 0}
.checkin .row{--grade:62px minmax(0,1fr) auto;cursor:pointer}
.checkin .row .seta{font-family:var(--cond);font-weight:700;font-size:22px;color:var(--ink-3);transition:transform .15s ease,color .15s ease}
.checkin .row:hover .seta{color:var(--green);transform:translateX(3px)}
.checkin .c-link{display:block;color:inherit}
.checkin .c-link::after{content:"";position:absolute;inset:0;border-radius:inherit}
.checkin .row:has(.c-link:focus-visible){outline:2px solid var(--iris);outline-offset:-2px}
.checkin .c-link:focus-visible{outline:none}
.garantias{margin-top:calc(var(--u)*2.5);padding:calc(var(--u)*3) calc(var(--u)*3.5)}
.garantias dl{display:grid;gap:calc(var(--u)*2.5)}
.garantias dt{font-family:var(--cond);font-weight:700;font-size:18px;text-transform:uppercase;letter-spacing:.05em}
.garantias dd{margin-top:4px;font-size:12px;color:var(--ink-2);line-height:1.7}

/* ---------- conta ---------- */
.conta-painel .corpo{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:calc(var(--u)*4);padding:calc(var(--u)*3) calc(var(--u)*3.5)}
.conta-painel h3{font-family:var(--cond);font-weight:700;font-size:19px;text-transform:uppercase;letter-spacing:.06em}
.conta-painel p{margin-top:8px;font-size:12px;color:var(--ink-2);line-height:1.7}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:calc(var(--u)*2)}
.chip{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);
  border:1px solid var(--hairline);background:var(--lamina);padding:7px 13px;border-radius:999px;line-height:1.5}
.chip b{color:var(--ink-3);font-weight:500}
.acoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:calc(var(--u)*2)}

.vazio{padding:calc(var(--u)*4) calc(var(--u)*2);text-align:center;font-size:12px;color:var(--ink-3);letter-spacing:.04em;line-height:1.7}

dialog{
  width:min(100% - 32px, 480px);margin:auto;padding:calc(var(--u)*3.5);
  border:1px solid var(--borda);border-radius:var(--r);background:var(--painel);color:var(--ink);
}
dialog::backdrop{background:rgba(0,0,0,.7)}
dialog h2{font-family:var(--cond);font-weight:700;font-size:26px;text-transform:uppercase;letter-spacing:.04em}
dialog p{margin-top:10px;font-size:12px;color:var(--ink-2);line-height:1.7}
dialog label{display:block;margin-top:calc(var(--u)*2.5)}
dialog input{
  width:100%;height:46px;margin-top:8px;padding:0 calc(var(--u)*1.75);border-radius:var(--r-m);
  background:var(--painel-2);border:1px solid var(--hairline);color:var(--ink);
  font-family:var(--mono);font-size:16px;letter-spacing:.18em;text-transform:uppercase;
}
dialog input:focus{outline:none;border-color:rgba(255,59,31,.6);box-shadow:0 0 0 3px rgba(255,59,31,.18)}
dialog .acoes{margin-top:calc(var(--u)*3)}

/* ---------- fluido ---------- */
@container board (max-width:520px){
  .row{--grade:56px minmax(0,1fr) !important;row-gap:calc(var(--u)*1.25)}
  .c-lado{grid-column:2;align-items:flex-start}
  .c-acoes{flex-direction:row;flex-wrap:wrap;min-width:0}
  .checkin .row{--grade:56px minmax(0,1fr) auto !important}
}
@media (max-width:980px){
  .pistas{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:720px){
  header{grid-template-columns:minmax(0,1fr) auto;padding:calc(var(--u)*1.5) calc(var(--u)*2)}
  .voltar{display:none}
  .brand .sub{display:none}
  .brand h1{font-size:24px}
  .conta .quem{display:none}
  .radar{grid-template-columns:minmax(0,1fr);gap:calc(var(--u)*1.5);padding:calc(var(--u)*2.5)}
  .placa .nota{display:none}
  .ticker{padding:calc(var(--u)*1.25) calc(var(--u)*2)}
}
@media (max-width:480px){
  header{grid-template-columns:minmax(0,1fr)}
  .lado{justify-content:space-between;padding-top:calc(var(--u)*1.5);border-top:1px solid var(--hairline)}
}
@media (prefers-reduced-motion:reduce){
  .dot{animation:none}
}
body > .conta-painel{margin-top:calc(var(--u)*2.5)}
.checkin .aviso{margin:0 0 calc(var(--u)*1.25)}

/* ---------- formulários: portões e portão de embarque ----------
   Mesmo material dos painéis. Campo escuro sobre painel, foco verde de pista. */
.form{display:grid;gap:calc(var(--u)*2.25);padding:calc(var(--u)*3) calc(var(--u)*3.5)}
.form label{display:grid;gap:8px;min-width:0}
.form .rotulo{font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
.form input,.form textarea{
  width:100%;min-width:0;border-radius:var(--r-m);background:var(--painel-2);border:1px solid var(--hairline);color:var(--ink);
  font-family:var(--mono);font-size:14px;line-height:1.55;padding:12px calc(var(--u)*1.75);
}
.form input{height:46px;padding-block:0}
.form textarea{min-height:148px;resize:vertical}
.form input::placeholder,.form textarea::placeholder{color:var(--ink-3)}
.form input:focus,.form textarea:focus{outline:none;border-color:rgba(63,185,80,.6);box-shadow:0 0 0 3px rgba(63,185,80,.18)}
.form .dica{font-size:11px;color:var(--ink-3);line-height:1.6;letter-spacing:.02em}
.form .linha{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:calc(var(--u)*2)}
.form .fim{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:calc(var(--u)*1.5)}
.form .btn-pista{height:46px;padding:0 calc(var(--u)*3.5);font-size:12px;letter-spacing:.14em}
.form input.pin{height:64px;font-size:26px;letter-spacing:.32em;text-transform:uppercase;text-align:center;font-weight:500}

/* prazo: seletor segmentado, âmbar quando marcado (igual à barra do painel) */
.segmentos{display:flex;flex-wrap:wrap;gap:3px;padding:4px;background:var(--painel-2);border:1px solid var(--hairline);border-radius:var(--r-m)}
.segmentos button{
  appearance:none;border:0;background:transparent;flex:1 1 auto;height:38px;padding:0 calc(var(--u)*1.5);
  border-radius:var(--r-s);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-3);cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease;
}
.segmentos button:hover{background:var(--lamina-hover);color:var(--ink)}
.segmentos button[aria-pressed="true"]{background:var(--amber);color:#0A0B0D;font-weight:600}
:root[data-tema="claro"] .segmentos button[aria-pressed="true"]{color:#FFFFFF}
.segmentos input[type="date"]{height:38px;width:auto;flex:1 1 150px;font-size:12px}
.segmentos input[hidden]{display:none}

/* o portão do cliente: o nome dele em letra de painel de aeroporto */
.portao-nome{font-family:var(--cond);font-weight:700;font-size:clamp(44px,8vw,76px);line-height:.88;text-transform:uppercase;letter-spacing:.01em;overflow-wrap:anywhere}
.portao-topo{padding:calc(var(--u)*3) calc(var(--u)*3.5) 0}
.portao-topo .eyebrow{display:block;margin-bottom:calc(var(--u)*1.25)}
.portao-topo .trocar{margin-top:calc(var(--u)*1.25);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);
  background:none;border:0;border-bottom:1px solid var(--hairline);padding:0 0 2px;cursor:pointer}
.portao-topo .trocar:hover{color:var(--ink)}
[hidden]{display:none !important}

/* PIN recém-gerado: grande, copiável, com cara de cartão de embarque */
.pin-grande{
  margin-top:calc(var(--u)*2.5);padding:calc(var(--u)*2.5) calc(var(--u)*2);text-align:center;
  font-family:var(--mono);font-weight:500;font-size:clamp(30px,7vw,42px);letter-spacing:.22em;
  border:1px dashed var(--borda);border-radius:var(--r-m);background:var(--painel-2);user-select:all;
}
.convite{margin-top:calc(var(--u)*1.5);font-size:11px;color:var(--ink-3);line-height:1.7;white-space:pre-line;overflow-wrap:anywhere}

@media (max-width:720px){
  .form{padding:calc(var(--u)*2.5) calc(var(--u)*2)}
  .form .linha{grid-template-columns:minmax(0,1fr)}
  .portao-topo{padding:calc(var(--u)*2.5) calc(var(--u)*2) 0}
}
.form .rotulo + .segmentos{margin-top:8px}
/* endereço em caixa baixa: URL em versal não se lê */
.radar p.endereco{margin-top:calc(var(--u)*1.5);font-size:11px;letter-spacing:.06em;color:var(--ink-3)}
.radar p.endereco a{color:var(--ink);border-bottom:1px solid var(--borda);padding-bottom:1px}
.radar p.endereco a:hover{border-color:var(--ink-3)}
/* página pública: topo enxuto no celular — marca e tema na mesma linha */
@media (max-width:480px){
  .publico header{grid-template-columns:minmax(0,1fr) auto}
  .publico header > span:empty{display:none}
  .publico .lado{border-top:0;padding-top:0}
  .publico .brand h1{font-size:21px}
}
.link-discreto{appearance:none;background:none;border:0;border-bottom:1px solid var(--hairline);padding:0 0 2px;cursor:pointer;
  font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.link-discreto:hover{color:var(--ink);border-color:var(--ink-3)}
.checkin > .painel + .painel{margin-top:calc(var(--u)*2.5)}

/* ---------- configurações: passo a passo por fonte ---------- */
.atalhos{justify-self:center;display:flex;gap:4px}
.atalhos a{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);padding:8px 12px;border-radius:var(--r-s)}
.atalhos a:hover{color:var(--ink);background:var(--painel-2)}
.placa .status{margin-left:auto}
.passos{list-style:none;counter-reset:passo;display:grid;gap:calc(var(--u)*2.5)}
/* texto corrido no item (negrito e itálico no fluxo da frase); botões e campos em bloco, embaixo */
.passos li{counter-increment:passo;position:relative;padding-left:40px;font-size:12px;line-height:1.75;color:var(--ink-2);display:block}
.passos li::before{content:counter(passo);position:absolute;left:0;top:1px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--cond);font-weight:700;font-size:15px;color:var(--bg);background:var(--ink)}
.passos li b{color:var(--ink);font-weight:500}
.passos li i{font-style:normal;color:var(--ink)}
.passos li > .btn{display:flex;width:max-content;margin-top:10px}
.passos li > input{display:block;width:100%;margin-top:10px}
.passos li > input + input{margin-top:8px}
.passos li > .copiavel{margin-top:10px}
.copiavel{display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:100%}
.copiavel code{font-family:var(--mono);font-size:12px;padding:8px 10px;border-radius:var(--r-s);background:var(--painel-2);border:1px solid var(--hairline);color:var(--ink);overflow-wrap:anywhere}
.acoes-fim{display:flex;gap:8px;flex-wrap:wrap}
.btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.fonte .conectado{padding:calc(var(--u)*1) calc(var(--u)*1.25)}
@media (max-width:720px){ .atalhos{display:none} }
/* caminho alternativo, recolhido: não compete com o principal */
.alternativa{border-top:1px solid var(--hairline)}
.alternativa > summary{cursor:pointer;list-style:none;padding:calc(var(--u)*2) calc(var(--u)*3.5);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.alternativa > summary::-webkit-details-marker{display:none}
.alternativa > summary::before{content:"+ "}
.alternativa[open] > summary::before{content:"− "}
.alternativa > summary:hover{color:var(--ink)}
.alternativa .form{padding-top:0}
