/* BRADOC - identidade visual do sistema interno, adaptada ao portal externo.
       Apenas apresentação. Não modifica os métodos de autenticação e envio. */
    :root {
      --navy: #edf4ff;
      --blue: #2d8cff;
      --blue-light: #63c7ff;
      --bg: #060814;
      --line: rgba(255,255,255,.12);
      --muted: rgba(241,245,249,.66);
      --green: #75e7b0;
      --red: #fca5a5;
      --card-bg: rgba(10,14,34,.64);
      --field-bg: rgba(2,6,23,.35);
      --shadow: 0 18px 60px rgba(0,0,0,.33);
    }

    * { box-sizing: border-box; }
    html { min-height: 100%; }
    [hidden] { display: none !important; }
    body {
      margin: 0;
      min-height: 100vh;
      color: var(--navy);
      font: 14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
      background:
        radial-gradient(1000px 750px at 9% 4%, rgba(70,200,255,.25) 0%, transparent 60%),
        radial-gradient(950px 700px at 35% 40%, rgba(45,140,255,.13) 0%, transparent 65%),
        linear-gradient(135deg,#1b2d69 0%,#0b1030 48%,#060814 100%);
      background-attachment: fixed;
    }
    body::before {
      content: '';
      position: fixed;
      inset: 0;
      pointer-events: none;
      z-index: 0;
      background: radial-gradient(rgba(255,255,255,.14) 1px,transparent 1.3px);
      background-size: 78px 78px;
      opacity: .15;
    }
    header, main { position: relative; z-index: 1; }
    header {
      padding: 14px 22px;
      background: rgba(10,14,34,.30);
      border-bottom: 1px solid rgba(255,255,255,.08);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
    }
    .brand {
      max-width: 960px;
      margin: auto;
      font-size: 21px;
      line-height: 1.15;
      font-weight: 900;
      letter-spacing: 1px;
      color: #f8fbff;
    }
    .brand small {
      display: block;
      margin-top: 5px;
      font-size: 10px;
      font-weight: 650;
      letter-spacing: 2.5px;
      color: rgba(241,245,249,.65);
    }
    main {
      max-width: 960px;
      margin: 24px auto;
      padding: 0 18px 48px;
    }
    h1 {
      margin: 0 0 5px;
      color: #f5f8ff;
      font-size: clamp(20px,2.5vw,25px);
      font-weight: 900;
      line-height: 1.22;
      letter-spacing: -.35px;
    }
    .subtitle { margin: 5px 0 20px; color: var(--muted); font-size: 13px; }
    .note {
      margin: 0 0 17px;
      padding: 13px 16px;
      font-size: 12px;
      border-radius: 13px;
      color: #f7d89c;
      background: rgba(245,158,11,.10);
      border: 1px solid rgba(245,158,11,.22);
    }
    .card {
      margin: 0 0 14px;
      padding: 22px;
      border-radius: 20px;
      background: var(--card-bg);
      border: 1px solid var(--line);
      box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,.055);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      min-width: 0;
    }
    .card h2 { margin: 0; font-size: 16px; font-weight: 850; color: #f5f8ff; }
    .head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 12px;
      margin-bottom: 17px;
    }
    label {
      display: block;
      margin-bottom: 8px;
      color: rgba(241,245,249,.88);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .05px;
    }
    input:not([type='file']) {
      max-width: 100%;
      min-height: 44px;
      color: #f1f5f9;
      background: var(--field-bg);
      border: 1px solid rgba(255,255,255,.16);
      border-radius: 12px;
      outline: none;
      font: inherit;
    }
    input:not([type='file'])::placeholder { color: rgba(241,245,249,.42); }
    input:not([type='file']):focus {
      border-color: rgba(99,199,255,.58);
      box-shadow: 0 0 0 4px rgba(45,140,255,.19);
    }
    .plate { display:block; width:100%; padding: 11px 14px; text-transform:uppercase; font-weight:700; letter-spacing:.55px; }
    button {
      min-height: 41px;
      padding: 10px 14px;
      color: rgba(241,245,249,.94);
      background: rgba(2,6,23,.23);
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 12px;
      font: inherit;
      font-size: 13px;
      font-weight: 800;
      cursor: pointer;
      transition: background .15s ease,border-color .15s ease,filter .15s ease,transform .15s ease;
    }
    button:hover:not(:disabled) {
      background: rgba(45,140,255,.15);
      border-color: rgba(99,199,255,.35);
      transform: translateY(-1px);
    }
    button:focus-visible, a:focus-visible { outline: 3px solid #63c7ff; outline-offset: 3px; }
    button:disabled { opacity:.55; cursor:wait; transform:none; }
    .primary {
      display: block;
      width: 100%;
      min-height: 48px;
      padding: 13px 17px;
      border: 1px solid rgba(255,255,255,.12);
      background: linear-gradient(135deg,#2d8cff 0%,#347bdc 55%,#63b5ee 100%);
      color: white;
      font-size: 14px;
      box-shadow: 0 12px 30px rgba(45,140,255,.18);
    }
    .primary:hover:not(:disabled) {
      background: linear-gradient(135deg,#328fff,#3f91ee,#67c7fa);
      box-shadow: 0 14px 34px rgba(45,140,255,.26);
    }
    .tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 16px 0; }
    .tab { min-height: 50px; background: rgba(2,6,23,.25); }
    .tab[aria-selected='true'] {
      color: #eaf6ff;
      background: rgba(45,140,255,.20);
      border: 1px solid rgba(99,199,255,.67);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.06),0 0 0 1px rgba(45,140,255,.10);
    }
    .doc {
      padding: 15px;
      margin: 10px 0;
      border-radius: 13px;
      background: rgba(2,6,23,.18);
      border: 1px solid rgba(255,255,255,.11);
    }
    .dochead { font-weight: 850; margin-bottom: 11px; }
    .actions { display: flex; flex-wrap: wrap; gap: 9px; }
    .files { margin: 10px 0 0; padding-left: 21px; }
    .files li { margin: 6px 0; overflow-wrap: anywhere; color: rgba(241,245,249,.90); }
    .remove-file, .remove-car, .remover-completo { color: #fda4af; }
    .remove-file { padding: 4px 8px; margin-left: 7px; font-size: 12px; }
    .remove-car { font-size: 12px; background: rgba(180,35,65,.08); border-color: rgba(248,113,113,.20); }
    .remove-car:hover:not(:disabled),.remove-file:hover:not(:disabled) {
      background: rgba(248,113,113,.14);
      border-color: rgba(248,113,113,.35);
    }
    .hint { color:var(--muted); font-size:12px; margin:11px 0; }
    .selected-name { margin-top: 10px; font-size: 13px; color: rgba(191,219,254,.90); overflow-wrap: anywhere; }
    .remover-completo { display: inline-block; margin-top: 7px; }
    .status {
      display: none;
      margin: 14px 0;
      padding: 13px 15px;
      border-radius: 12px;
      color: #cfe6ff;
      background: rgba(45,140,255,.11);
      border: 1px solid rgba(99,199,255,.22);
      overflow-wrap: anywhere;
      font-size: 13px;
    }
    .status.error { display: block; color: #fecaca; background: rgba(239,68,68,.11); border-color: rgba(248,113,113,.28); }
    .status.success { display: block; color: #a7f3d0; background: rgba(16,185,129,.12); border-color: rgba(52,211,153,.30); }
    .add-car {
      width: 100%;
      min-height: 48px;
      margin-bottom: 13px;
      border: 1px dashed rgba(99,199,255,.46);
      background: rgba(45,140,255,.06);
    }
    .results { margin: 0; padding-left: 20px; }
    .results li { margin: 9px 0; overflow-wrap: anywhere; }
    .whatsapp-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 43px;
      margin-top: 14px;
      padding: 11px 17px;
      border-radius: 12px;
      background: #167047;
      color: #fff;
      font-size: 13px;
      font-weight: 800;
      text-decoration: none;
      box-shadow: 0 8px 22px rgba(0,0,0,.14);
    }
    .whatsapp-link:hover { background: #1a8456; }
    .divider { margin: 20px 0 10px; border: 0; border-top: 1px solid var(--line); }
    .login-area { max-width: 500px; margin: clamp(26px,6vh,72px) auto; }
    .login-area .card { padding: 31px 32px; border-radius: 23px; }
    .login-area h1 { font-size: 24px; margin-bottom: 8px; }
    .login-area input { display: block; width: 100%; padding: 11px 14px; margin-bottom: 17px; }
    .login-area .status { margin-top: 15px; }
    .logged-bar {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      padding: 12px 16px;
      margin-bottom: 17px;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 15px;
      background: rgba(23,43,83,.54);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
    }
    .logged-bar strong { color: #eff8ff; }
    .logged-bar button { min-height: 35px; padding: 7px 15px; }
    ::-webkit-scrollbar { width: 9px; height:9px; }
    ::-webkit-scrollbar-track { background: rgba(2,6,23,.18); }
    ::-webkit-scrollbar-thumb { background: rgba(255,255,255,.19); border-radius: 20px; border: 2px solid transparent; background-clip: padding-box; }
    @media (max-width:600px) {
      header { padding: 13px 16px; }
      .brand { font-size: 19px; }
      main { margin: 19px auto; padding: 0 12px 38px; }
      .card { padding: 17px; border-radius: 17px; }
      .login-area { margin: 28px auto; }
      .login-area .card { padding: 24px 19px; }
      .tabs { grid-template-columns: 1fr; gap: 7px; }
      .logged-bar { padding: 11px 13px; }
      .head { align-items: flex-start; }
      button, .whatsapp-link { min-height: 44px; }
      input:not([type='file']) { font-size:16px; }
      .primary { font-size:14px; }
    }
    @media (prefers-reduced-motion:reduce) {
      button { transition: none; }
    }

    /* Acompanhamento de veículos: estilos independentes do envio de documentos. */
    .plv-nav { display:flex; gap:10px; flex-wrap:wrap; margin: 0 0 20px; }
    .plv-nav button { flex: 1 1 220px; text-align:center; min-height:46px; }
    .plv-nav button[aria-pressed="true"] {
      color:#f8fbff; background:rgba(45,140,255,.24);
      border-color:rgba(99,199,255,.75);
    }
    .plv-filtros { display:flex; align-items:flex-end; flex-wrap:wrap; gap:12px; margin:12px 0 17px; }
    .plv-filtros .plv-campo { flex:1 1 220px; min-width:180px; }
    .plv-filtros label { margin-bottom:6px; }
    .plv-filtros select, .plv-filtros input {
      width:100%; min-height:44px; padding:10px 12px;
      color:#f1f5f9; background:var(--field-bg);
      border:1px solid rgba(255,255,255,.16); border-radius:12px; font:inherit;
    }
    .plv-filtros select option { background:#111a37; color:#fff; }
    .plv-filtros button { min-height:44px; }
    .plv-alert { margin:12px 0; color:var(--muted); font-size:13px; }
    .plv-alert[data-erro="true"] { color:#fca5a5; }
    .plv-tabela-wrap { width:100%; overflow-x:auto; border-radius:12px; border:1px solid var(--line); }
    .plv-tabela { width:100%; min-width:620px; border-collapse:collapse; }
    .plv-tabela th, .plv-tabela td {
      text-align:left; border-bottom:1px solid var(--line);
      padding:13px 12px; font-size:13px; vertical-align:middle;
    }
    .plv-tabela th { color:var(--muted); background:rgba(2,6,23,.24); font-size:11px; text-transform:uppercase; }
    .plv-tabela tr:last-child td { border-bottom:none; }
    .plv-tabela td { color:#f1f5f9; overflow-wrap:anywhere; }
    .plv-situacao { font-weight:750; }
    .plv-situacao[data-tipo="concluido"], .plv-situacao[data-tipo="encerrado"] { color:#75e7b0; }
    .plv-situacao[data-tipo="pendente"], .plv-situacao[data-tipo="manifestacao"] { color:#f7d89c; }
    .plv-situacao[data-tipo="enviado"], .plv-situacao[data-tipo="emitido"] { color:#93c5fd; }
    .plv-rodape { display:flex; gap:10px; justify-content:space-between; align-items:center; flex-wrap:wrap; margin-top:15px; }
    .plv-rodape p { margin:0; color:var(--muted); font-size:12px; }
    .plv-paginacao { display:flex; align-items:center; gap:9px; }
    .plv-paginacao button { min-height:36px; }
    @media(max-width:600px) {
      .plv-nav { gap:8px; }
      .plv-nav button { flex-basis:100%; }
      .plv-filtros .plv-campo { flex-basis:100%; }
      .plv-rodape, .plv-paginacao { justify-content:center; }
    }

    /* Detalhes de veículo: expansão somente-leitura, sem modal de edição. */
    .plv-placa-btn { display:inline; padding:3px 5px; min-height:32px;
      background:transparent; border:0; border-radius:5px; color:#9dccff;
      text-decoration:underline; text-underline-offset:4px; font-weight:800; }
    .plv-placa-btn:hover:not(:disabled) { background:rgba(45,140,255,.13); }
    .plv-detalhe { margin-top:18px; padding:20px; border-radius:16px;
      background:rgba(45,140,255,.07); border:1px solid rgba(99,199,255,.25); }
    .plv-detalhe-cab { display:flex; justify-content:space-between; align-items:center;
      flex-wrap:wrap; gap:12px; margin-bottom:12px; }
    .plv-detalhe-cab h2 { margin:0; font-size:17px; color:#f1f5f9; }
    .plv-detalhe-infos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-bottom:15px; }
    .plv-info { background:rgba(2,6,23,.24); border:1px solid var(--line); padding:11px 13px; border-radius:10px; min-width:0; }
    .plv-info small { display:block; font-size:10px; font-weight:800; text-transform:uppercase; color:var(--muted); }
    .plv-info strong { display:block; margin-top:4px; color:#f1f5f9; overflow-wrap:anywhere; }
    .plv-pendencia { padding:13px 15px; border-radius:12px; background:rgba(245,158,11,.08);
      border:1px solid rgba(245,158,11,.35); margin:0 0 16px; }
    .plv-pendencia strong { color:#f7d89c; display:block; margin-bottom:7px; }
    .plv-pendencia p { margin:0; color:#f5f8ff; white-space:pre-wrap; overflow-wrap:anywhere; }
    .plv-historico-titulo { font-size:14px; font-weight:850; color:#f1f5f9; margin:6px 0 12px; }
    .plv-historico { position:relative; padding-left:24px; margin:0 0 2px 5px;
      border-left:2px solid rgba(99,199,255,.35); }
    .plv-etapa { position:relative; padding:0 0 20px; }
    .plv-etapa:last-child { padding-bottom:2px; }
    .plv-etapa::before { content:""; position:absolute; left:-31px; top:4px; width:12px; height:12px;
      background:#4da3ff; border:2px solid #111b37; border-radius:50%; }
    .plv-etapa strong { display:block; color:#e7f2ff; font-size:12px; }
    .plv-etapa span { display:block; color:var(--muted); font-size:12px; }
    .plv-detalhe-status { color:var(--muted); font-size:13px; margin:0 0 10px; }
    @media(max-width:600px) { .plv-detalhe{padding:14px;} .plv-detalhe-infos{grid-template-columns:1fr;} }

    /* ==========================================================
       BRADOC PORTAL PREMIUM — visual Painel Trading (outubro/2026)
       Preserva funções originais: autenticação, envio, consulta e histórico.
       ========================================================== */
    :root {
      --navy:#edf5ff; --bg:#070b12; --card-bg:#0d1525;
      --field-bg:#0c1322; --line:rgba(161,187,221,.13);
      --muted:#96aac4; --blue:#368bff; --blue-light:#57acff;
      --shadow:0 10px 32px rgba(0,0,0,.19);
    }
    body {
      background:radial-gradient(900px 520px at 90% -8%,rgba(34,104,203,.11),transparent 68%),#080d17;
      color:#eaf2ff;
      font-family:Inter,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
    }
    body::before { display:none; }
    .pl-topbar {
      position:sticky;top:0;z-index:40;
      padding:0 28px;height:72px;display:flex;align-items:center;
      background:rgba(9,15,26,.96);border-bottom:1px solid rgba(155,181,217,.11);
      backdrop-filter:blur(16px);
    }
    .pl-topbar-inner { width:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px; }
    .pl-topbar .brand { margin:0;font-size:21px;letter-spacing:1.7px; }
    .pl-topbar .brand small { font-size:9px;letter-spacing:2.9px;margin-top:3px; }
    .pl-global-account { display:flex;align-items:center;gap:12px;min-width:0; }
    .pl-avatar { width:38px;height:38px;display:grid;place-items:center;border-radius:13px;
      border:1px solid rgba(83,163,245,.30);background:rgba(48,132,235,.14);color:#7bbafa;font-weight:900;font-size:17px; }
    .pl-account-meta {display:flex;flex-direction:column;line-height:1.25;min-width:0;}
    .pl-account-meta small {font-size:9px;letter-spacing:1.2px;color:#889bb6;}
    .pl-account-meta strong {font-size:12px;max-width:260px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#f4f8ff;}
    .pl-top-sair { margin-left:10px;display:flex;align-items:center;gap:7px;min-height:36px;font-size:12px;padding:7px 12px; }
    .pl-icon {width:19px;height:19px;flex:none;vertical-align:middle;}
    .pl-top-sair .pl-icon { width:16px;height:16px; }
    body.portal-ativo main {margin:0;max-width:none;padding:0;}
    #area-portal {display:grid;grid-template-columns:218px minmax(0,1fr);min-height:calc(100vh - 72px);}
    .pl-sidebar {position:sticky;top:72px;height:calc(100vh - 72px);min-height:510px;
      display:flex;flex-direction:column;gap:0;padding:30px 13px 17px;
      border-right:1px solid rgba(155,181,217,.12);background:#0b1424;}
    .pl-side-caption {font-size:10px;letter-spacing:1.15px;color:#647b9e;font-weight:900;padding:0 13px 16px;}
    .plv-nav {display:flex;flex-direction:column;gap:7px;margin:0;}
    .plv-nav button {width:100%;display:flex;align-items:center;gap:13px;min-height:48px;
      background:transparent;border:1px solid transparent;border-radius:11px;text-align:left;
      padding:0 13px;flex:none;font-size:12.5px;font-weight:700;color:#91a7c3;}
    .plv-nav button .pl-icon {width:19px;height:19px;}
    .plv-nav button[aria-pressed="true"] {color:#d9eaff;background:linear-gradient(112deg,rgba(29,94,176,.27),rgba(19,52,109,.25));border-color:rgba(58,140,233,.45);}
    .plv-nav button[aria-pressed="true"] .pl-icon {color:#66b1ff;}
    .plv-nav button:hover {color:#eaf5ff;}
    .pl-side-help {margin-top:auto;padding:17px 13px;background:linear-gradient(147deg,#102541,#0b1930);
      border:1px solid rgba(60,122,202,.23);border-radius:14px;}
    .pl-help-icon {width:35px;height:35px;display:grid;place-items:center;border-radius:10px;
      border:1px solid rgba(65,158,245,.38);background:rgba(40,131,232,.13);color:#77bfff;margin-bottom:14px;}
    .pl-side-help strong {display:block;font-size:12.5px;color:#f1f7ff;}
    .pl-side-help p {font-size:11px;color:#a1b4ce;line-height:1.45;margin:8px 0 15px;}
    .pl-help-link {display:flex;align-items:center;justify-content:center;gap:8px;min-height:34px;
      color:#e0f1ff;background:rgba(26,106,204,.25);border:1px solid rgba(58,149,255,.40);
      border-radius:8px;text-decoration:none;font-size:10.5px;font-weight:850;}
    .pl-help-link .pl-icon {width:14px;height:14px;}
    .pl-side-foot {font-size:8px;letter-spacing:1.15px;color:#506783;margin:16px auto 0;text-align:center;}
    .pl-workspace {padding:28px clamp(18px,2.2vw,42px) 50px;min-width:0;max-width:1900px;width:100%;margin:auto;}
    .pl-intro {display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 26px;}
    .pl-eyebrow {display:inline-flex;align-items:center;gap:10px;font-weight:800;letter-spacing:1.45px;font-size:9px;color:#708aab;}
    .pl-eyebrow-dot {display:inline-block;width:3px;height:3px;border-radius:100%;background:#2d88d7;}
    .pl-intro h1 {font-size:clamp(25px,2.2vw,35px);letter-spacing:-.9px;margin:8px 0 3px;}
    .pl-intro .subtitle {font-size:12.5px;margin:3px 0 0;color:#91a5bf;}
    .pl-new-button {display:flex;align-items:center;justify-content:center;gap:9px;flex:none;
      background:linear-gradient(110deg,#1978db,#1556ac);border:1px solid rgba(101,182,255,.45);
      color:#fff;min-height:42px;padding:10px 15px;box-shadow:0 6px 20px rgba(22,90,191,.17);}
    .pl-new-button .pl-arrow {width:14px;height:14px;opacity:.8;}
    .pl-stats {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 27px;}
    .pl-stat {position:relative;display:flex;align-items:center;gap:13px;padding:17px 15px;min-height:116px;
      text-align:left;background:linear-gradient(150deg,#111d30,#0c1423);border:1px solid rgba(132,170,215,.17);
      border-radius:15px;color:inherit;box-shadow:0 5px 24px rgba(0,0,0,.10);}
    .pl-stat:hover:not(:disabled) {border-color:rgba(93,167,255,.55);background:linear-gradient(150deg,#162943,#0c1525);}
    .pl-stat-icon {width:44px;height:44px;border-radius:13px;display:grid;place-items:center;flex:none;
      background:rgba(41,136,238,.13);border:1px solid rgba(58,144,238,.27);color:#65b3ff;}
    .pl-stat-icon .pl-icon {width:22px;height:22px;}
    .pl-stat-yellow .pl-stat-icon {background:rgba(225,153,45,.11);border-color:rgba(225,153,45,.26);color:#f3b65b;}
    .pl-stat-green .pl-stat-icon {background:rgba(40,190,147,.10);border-color:rgba(40,190,147,.25);color:#57ddb3;}
    .pl-stat-cyan .pl-stat-icon {background:rgba(52,190,219,.11);border-color:rgba(52,190,219,.25);color:#67d6eb;}
    .pl-stat-text {display:flex;flex-direction:column;min-width:0;}
    .pl-stat-text small {font-size:11.5px;color:#d3e2f5;font-weight:700;white-space:nowrap;}
    .pl-stat-text strong {font-size:27px;line-height:1.18;font-weight:850;margin:4px 0 2px;font-variant-numeric:tabular-nums;color:#eef5ff;}
    .pl-stat-yellow .pl-stat-text strong {color:#f6bb63;}
    .pl-stat-green .pl-stat-text strong {color:#71e5bc;}
    .pl-stat-cyan .pl-stat-text strong {color:#90dcf0;}
    .pl-stat-text > span {font-size:10.5px;color:#7791b1;white-space:normal;line-height:1.3;}
    .pl-stat-arrow {position:absolute;right:12px;top:12px;color:#6c8eb8;font-size:18px;line-height:1;}
    .pl-overview-heading {display:flex;justify-content:space-between;align-items:center;margin-bottom:11px;}
    .pl-overview-heading h2 {font-size:17px;margin:0;color:#f4f9ff;letter-spacing:-.3px;}
    .pl-overview-heading p {margin:3px 0 0;font-size:11px;color:#7890ae;}
    .pl-panels {display:grid;grid-template-columns:minmax(0,1.78fr) minmax(318px, .85fr);align-items:start;gap:13px;}
    .pl-panels>.card,.pl-details-column>.card {margin:0;}
    .pl-list-panel,.pl-placeholder-detail,.plv-detalhe {background:#0e1728;border-radius:16px;border:1px solid rgba(137,170,214,.17);box-shadow:none;backdrop-filter:none;}
    .pl-list-panel {padding:19px 18px;min-width:0;}
    .pl-list-heading {display:flex;justify-content:space-between;gap:12px;margin-bottom:16px;}
    .pl-list-heading h2 {font-size:15px;letter-spacing:-.25px;}
    .pl-list-heading span {display:block;color:#849cba;font-size:11px;margin-top:5px;}
    .plv-filtros {margin:0 0 14px;gap:9px;align-items:end;flex-wrap:wrap;}
    .plv-filtros .plv-campo {flex:1 1 140px;min-width:110px;}
    .plv-filtros .plv-campo-busca {flex:1.4 1 190px;}
    .plv-filtros .plv-campo-filtro {flex:.8 1 135px;}
    .plv-filtros label {color:#8aa2c1;font-size:10px;margin-bottom:5px;}
    .plv-filtros input,.plv-filtros select {border-color:rgba(155,186,225,.16);background:#0a1424;border-radius:9px;min-height:39px;font-size:11px;color:#e6f0ff;}
    .pl-search-field {position:relative;}
    .pl-search-field .pl-icon {position:absolute;top:50%;left:11px;transform:translateY(-50%);width:16px;height:16px;color:#6386b3;pointer-events:none;}
    .pl-search-field input {padding-left:34px;width:100%;}
    .plv-filtros select {padding:8px 10px;}
    .plv-filtros button {min-height:39px;padding:8px 12px;border-radius:9px;font-size:11px;}
    .plv-filtros .pl-refresh-button {display:grid;place-items:center;min-width:40px;padding:8px;}
    .pl-refresh-button .pl-icon {width:16px;height:16px;}
    .plv-alert {margin:4px 0 12px;min-height:17px;font-size:10.5px;color:#738baa;}
    .plv-tabela-wrap {border:1px solid rgba(141,173,214,.14);border-radius:11px;overflow:auto;background:#0b1323;}
    .plv-tabela {min-width:610px;}
    .plv-tabela th {background:#0c192c;color:#7990b0;font-size:9px;letter-spacing:.55px;text-transform:uppercase;font-weight:850;padding:12px 10px;}
    .plv-tabela td {font-size:11px;padding:12px 10px;color:#dce8f8;line-height:1.3;}
    .plv-tabela tr:hover td {background:rgba(32,91,160,.12);}
    .plv-tabela tr.plv-row-selected td {background:rgba(25,105,212,.15);}
    .plv-tabela tr.plv-row-selected td:first-child {box-shadow:inset 3px 0 #2d92ff;}
    .plv-situacao {font-size:9.5px !important;font-weight:850;}
    .plv-situacao .pl-status-badge {display:inline-block;white-space:nowrap;text-transform:uppercase;
      border-radius:7px;padding:5px 8px;font-size:9px;line-height:1.2;
      background:rgba(56,139,253,.14);color:#8cc4ff;border:1px solid rgba(65,157,245,.15);}
    .plv-situacao[data-tipo="pendente"] .pl-status-badge,.plv-situacao[data-tipo="manifestacao"] .pl-status-badge {color:#f5c276;background:rgba(219,143,35,.14);border-color:rgba(219,143,35,.22);}
    .plv-situacao[data-tipo="concluido"] .pl-status-badge,.plv-situacao[data-tipo="encerrado"] .pl-status-badge {color:#75e7b0;background:rgba(28,167,123,.14);border-color:rgba(28,167,123,.22);}
    .plv-situacao[data-tipo="enviado"] .pl-status-badge,.plv-situacao[data-tipo="emitido"] .pl-status-badge {color:#89beff;background:rgba(50,117,221,.14);}
    .plv-placa-btn {text-decoration:none;font-size:11px;color:#b5d8ff;min-height:28px;white-space:nowrap;}
    .plv-placa-btn:hover {color:#fff;text-decoration:underline;}
    .plv-rodape {margin-top:15px;}
    .plv-rodape p {font-size:10px;color:#7790af;}
    .plv-paginacao button {min-height:32px;padding:6px 10px;font-size:10px;}
    .plv-paginacao span {font-size:10px;color:#8fa8c6;}
    .pl-details-column {min-width:0;display:flex;flex-direction:column;gap:12px;}
    .pl-placeholder-detail {padding:25px 22px;min-height:280px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;}
    .pl-placeholder-icon {display:grid;place-items:center;width:52px;height:52px;background:rgba(44,127,220,.11);border:1px solid rgba(57,137,230,.30);border-radius:14px;color:#69b6ff;}
    .pl-placeholder-icon .pl-icon {width:28px;height:28px;}
    .pl-placeholder-detail h2 {font-size:15px;margin:5px 0 0;}
    .pl-placeholder-detail p {font-size:11.5px;max-width:290px;line-height:1.55;color:#91a8c4;margin:0;}
    .pl-placeholder-steps {display:flex;flex-direction:column;gap:8px;margin-top:12px;text-align:left;width:100%;}
    .pl-placeholder-steps span {padding:8px 12px;background:rgba(30,63,104,.15);border:1px solid rgba(120,156,196,.10);border-radius:8px;font-size:10px;color:#7f9aba;}
    .plv-detalhe {padding:20px;min-width:0;margin:0;position:sticky;top:88px;}
    .plv-detalhe-cab {margin-bottom:17px;gap:7px;align-items:start;}
    .plv-detalhe-cab small {display:block;color:#728ba9;font-size:9px;letter-spacing:1.25px;font-weight:900;margin-bottom:5px;}
    .plv-detalhe-cab h2 {font-size:18px;letter-spacing:-.45px;color:#f3f8ff;}
    .plv-detalhe-cab button {padding:0;min-height:30px;min-width:30px;border-radius:8px;font-size:21px;line-height:1;}
    .plv-detalhe-infos {gap:8px;margin-bottom:14px;}
    .plv-info {background:#0b1425;border:1px solid rgba(133,169,217,.13);border-radius:9px;padding:12px;}
    .plv-info small {font-size:9px;letter-spacing:.4px;color:#7690ae;}
    .plv-info strong {font-size:11.5px;margin-top:4px;color:#ebf3ff;}
    .plv-pendencia {border-radius:10px;background:rgba(189,110,33,.10);border:1px solid rgba(230,146,43,.32);padding:13px;margin-bottom:18px;}
    .plv-pendencia strong {display:flex;align-items:center;gap:7px;color:#f0b95f;font-size:11px;}
    .plv-pendencia .pl-icon {width:16px;height:16px;}
    .plv-pendencia p {font-size:12px;color:#f3dcc1;line-height:1.5;}
    .plv-historico-titulo {font-size:12px;margin-bottom:17px;}
    .plv-historico {margin-left:6px;border-left:1px solid rgba(78,142,222,.3);}
    .plv-etapa::before {left:-31px;background:#358cf3;box-shadow:0 0 0 4px rgba(49,126,221,.10);}
    .plv-etapa strong {font-size:11px;}
    .plv-etapa span {font-size:10px;color:#829bb9;}
    .pl-aside-contact {font-size:10px;color:#7f97b4;display:flex;align-items:center;justify-content:center;gap:8px;}
    .pl-aside-contact .pl-icon {width:15px;height:15px;}
    /* Envio de documentos mantém todos os IDs/elementos funcionais existentes. */
    #plv-painel-envios {max-width:980px;margin:auto;}
    #plv-painel-envios>.subtitle {font-size:12px;}
    #plv-painel-envios>h1 {display:none;}
    #plv-painel-envios .card {background:#0e1728;border:1px solid rgba(137,170,214,.17);border-radius:15px;box-shadow:none;}
    #plv-painel-envios .tab {border-radius:10px;}
    #plv-painel-envios .note {border-radius:10px;}
    .login-area {margin:clamp(26px,6vh,72px) auto;}
    .login-area .card {background:#101c31;border-color:rgba(126,170,224,.20);}
    @media (max-width: 1250px) {
      .pl-stats {grid-template-columns:repeat(2,minmax(0,1fr));}
      .pl-panels {grid-template-columns:minmax(0,1.55fr) minmax(290px, .9fr);}
    }
    @media (max-width: 920px) {
      #area-portal {grid-template-columns:76px minmax(0,1fr);}
      .pl-sidebar {padding:20px 9px;min-height:0;}
      .pl-side-caption,.plv-nav button span,.pl-side-help,.pl-side-foot {display:none;}
      .plv-nav button {justify-content:center;padding:0;}
      .plv-nav button .pl-icon {width:22px;height:22px;}
      .pl-panels {grid-template-columns:minmax(0,1fr);}
      .plv-detalhe {position:static;}
    }
    @media (max-width: 600px) {
      .pl-topbar {height:62px;padding:0 15px;}
      .pl-topbar .brand {font-size:18px;}
      .pl-topbar .brand small {font-size:7.5px;}
      .pl-avatar {display:none;}
      .pl-account-meta strong {max-width:110px;font-size:10px;}
      .pl-top-sair {margin-left:0;padding:8px;}
      .pl-top-sair span {display:none;}
      #area-portal {display:block;}
      .pl-sidebar {position:sticky;top:62px;height:auto;z-index:25;padding:6px 10px;background:#0b1424;border-right:0;border-bottom:1px solid var(--line);}
      .plv-nav {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
      .plv-nav button {min-height:44px;border-radius:8px;gap:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:9px;padding:4px 1px;}
      .plv-nav button .pl-icon {height:17px;width:17px;}
      .plv-nav button span {display:block;text-align:center;font-size:9px;}
      .pl-workspace {padding:20px 12px 40px;}
      .pl-intro {align-items:flex-start;gap:10px;}
      .pl-intro h1 {font-size:23px;}
      .pl-new-button {font-size:0;min-width:43px;padding:10px;}
      .pl-new-button .pl-arrow,.pl-new-button span {display:none;}
      .pl-stats {gap:9px;margin-bottom:22px;}
      .pl-stat {min-height:102px;padding:12px 10px;gap:8px;}
      .pl-stat-icon {height:32px;width:32px;border-radius:9px;}
      .pl-stat-icon .pl-icon {width:18px;height:18px;}
      .pl-stat-text small {font-size:10px;}
      .pl-stat-text strong {font-size:22px;}
      .pl-stat-text>span {font-size:9px;}
      .pl-stat-arrow {display:none;}
      .pl-overview-heading p {font-size:10px;}
      .pl-list-panel {padding:14px 12px;}
      .plv-filtros .plv-campo {flex:1 1 100%;}
      .plv-filtros .plv-campo-filtro {flex:1 1 46%;}
      .plv-filtros #plv-btn-buscar {flex:1;}
      .plv-tabela {min-width:570px;}
      .pl-placeholder-detail {min-height:240px;}
      .plv-detalhe-infos {grid-template-columns:repeat(2,minmax(0,1fr));}
    }


    /* =============================================================
       BRADOC — RESPONSIVIDADE REAL (Tablet / iPad / Celular)
       Somente interface: preserva IDs, RPC, upload e permissões.
       ============================================================= */
    html, body {width:100%;max-width:100%;overflow-x:clip;}
    img, video, svg {max-width:100%;}
    .pl-workspace, .pl-panels, .pl-list-panel, .pl-details-column,
    .pl-stats, .pl-stat-text, .pl-intro>div {min-width:0;}
    .pl-account-meta strong {overflow:hidden;text-overflow:ellipsis;}
    .plv-tabela-wrap {max-width:100%;}
    .plv-detalhe {scroll-margin-top:155px;}

    /* Tablets, iPad deitado e notebooks estreitos: barra de navegação
       horizontal, cards 2x2 e histórico na coluna de baixo. */
    @media (max-width:1100px) {
      #area-portal {display:block;min-height:calc(100dvh - 72px);}
      .pl-sidebar {
        position:sticky;top:72px;z-index:30;
        width:100%;height:auto;min-height:0;
        display:block;padding:9px clamp(12px,2vw,24px);
        border-right:0;border-bottom:1px solid rgba(155,181,217,.17);
        background:rgba(11,20,36,.98);
      }
      .pl-side-caption,.pl-side-help,.pl-side-foot {display:none;}
      .plv-nav {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;}
      .plv-nav button {
        width:100%;min-width:0;min-height:48px;display:flex;flex-direction:row;
        align-items:center;justify-content:center;gap:9px;
        padding:8px 12px;font-size:12px;flex:none;
      }
      .plv-nav button span {display:block;font-size:inherit;white-space:normal;text-align:center;}
      .plv-nav button .pl-icon {width:18px;height:18px;}
      .pl-workspace {width:100%;max-width:100%;padding:25px clamp(14px,2.5vw,28px) 50px;}
      .pl-stats {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:24px;}
      .pl-stat {min-height:106px;}
      .pl-panels {grid-template-columns:minmax(0,1fr);gap:14px;}
      .plv-detalhe {position:static;}
      .pl-placeholder-detail {min-height:150px;padding:18px;}
      .pl-placeholder-steps {display:none;}
      .plv-detalhe-infos {grid-template-columns:repeat(2,minmax(0,1fr));}
    }

    /* Tablets menores e celulares grandes: manter áreas e filtros fluidos. */
    @media (max-width:760px) {
      .pl-topbar {height:64px;padding:0 15px;}
      .pl-topbar-inner {gap:9px;}
      .pl-topbar .brand {font-size:18px;flex:none;letter-spacing:1px;}
      .pl-topbar .brand small {font-size:7.5px;letter-spacing:2px;}
      .pl-global-account {gap:8px;max-width:58%;}
      .pl-avatar {display:none;}
      .pl-account-meta strong {max-width:195px;font-size:11px;}
      .pl-account-meta small {font-size:8px;}
      .pl-top-sair {padding:8px;margin-left:0;min-width:42px;min-height:42px;justify-content:center;}
      .pl-top-sair span {display:none;}
      .pl-sidebar {top:64px;padding:7px 10px;}
      .plv-nav {gap:7px;}
      .plv-nav button {min-height:51px;flex-direction:column;gap:3px;padding:5px 2px;font-size:10px;border-radius:9px;}
      .plv-nav button span {font-size:10px;line-height:1.2;}
      .plv-nav button .pl-icon {width:18px;height:18px;}
      .pl-workspace {padding:22px 13px 40px;}
      .pl-intro {gap:14px;align-items:flex-start;}
      .pl-intro h1 {font-size:clamp(23px,5.3vw,31px);}
      .pl-intro .subtitle {font-size:12px;line-height:1.5;}
      .pl-new-button {min-width:44px;min-height:44px;gap:6px;flex:none;}
      .pl-new-button span {display:inline;font-size:12px;}
      .pl-new-button .pl-arrow {display:none;}
      .pl-list-panel {padding:17px 14px;}
      .plv-filtros {display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;}
      .plv-filtros .plv-campo-busca {grid-column:1/-1;min-width:0;}
      .plv-filtros .plv-campo-filtro {grid-column:1;min-width:0;}
      .plv-filtros #plv-btn-buscar {grid-column:2;align-self:end;}
      .plv-filtros #plv-btn-atualizar {grid-column:3;align-self:end;}
      .plv-filtros input,.plv-filtros select {min-height:44px;font-size:16px;}
      .plv-filtros button {min-height:44px;font-size:12px;}
      .plv-tabela {min-width:600px;}
      .plv-detalhe {scroll-margin-top:144px;}
      #plv-painel-envios {width:100%;max-width:100%;}
      #plv-painel-envios .card {max-width:100%;}
    }

    /* Celular: grade adaptável, menu legível e tabela virando cards.
       Nenhuma rolagem horizontal para ler placas e datas. */
    @media (max-width:680px) {
      .pl-workspace {padding:20px 12px 35px;}
      .pl-intro {flex-direction:column;align-items:stretch;margin-bottom:18px;}
      .pl-intro>div {width:100%;}
      .pl-eyebrow {font-size:8px;letter-spacing:1px;}
      .pl-new-button {width:100%;min-height:45px;justify-content:center;padding:9px 14px;font-size:12px;}
      .pl-new-button span {display:inline;font-size:12px;}
      .pl-stats {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:22px;}
      .pl-stat {min-height:105px;padding:13px 11px;gap:10px;align-items:center;border-radius:13px;}
      .pl-stat-icon {width:34px;height:34px;border-radius:10px;}
      .pl-stat-icon .pl-icon {width:19px;height:19px;}
      .pl-stat-text small {font-size:11px;white-space:normal;line-height:1.25;}
      .pl-stat-text strong {font-size:25px;margin:5px 0 2px;}
      .pl-stat-text>span {font-size:9px;line-height:1.25;}
      .pl-stat-arrow {display:none;}
      .pl-overview-heading {margin-bottom:12px;}
      .pl-overview-heading h2 {font-size:17px;}
      .pl-overview-heading p {font-size:11px;line-height:1.5;}
      .pl-panels {gap:12px;}
      .pl-list-panel {padding:16px 12px;}
      .pl-list-heading {margin-bottom:14px;}
      .pl-list-heading h2 {font-size:15px;}
      .pl-list-heading span {font-size:11px;line-height:1.4;}
      .plv-filtros {gap:8px;}
      .plv-filtros .plv-campo {flex:none;min-width:0;}
      .plv-filtros .plv-campo-busca,.plv-filtros .plv-campo-filtro {flex:none;}
      .plv-tabela-wrap {border:0;overflow:visible;background:transparent;border-radius:0;}
      .plv-tabela,.plv-tabela tbody {display:block;width:100%;min-width:0;}
      .plv-tabela thead {display:none;}
      .plv-tabela tbody tr {
        display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;row-gap:8px;
        min-width:0;padding:14px 13px;margin-bottom:10px;border-radius:11px;
        border:1px solid rgba(137,170,214,.18);background:#0b172a;
      }
      .plv-tabela tbody tr:last-child {margin-bottom:0;}
      .plv-tabela tbody tr.plv-row-selected {border-color:rgba(52,152,255,.57);background:rgba(31,100,192,.17);box-shadow:inset 3px 0 #2d92ff;}
      .plv-tabela tr.plv-row-selected td:first-child {box-shadow:none;}
      .plv-tabela td {
        display:block;min-width:0;margin:0;padding:0!important;border:0!important;
        background:transparent!important;font-size:11px;line-height:1.45;
        overflow-wrap:anywhere;
      }
      .plv-tabela td:nth-child(1) {grid-column:1;grid-row:1;align-self:center;}
      .plv-tabela td:nth-child(2) {grid-column:1/-1;grid-row:2;color:#c8d9ef;padding:4px 0 8px!important;border-bottom:1px solid rgba(140,170,210,.10)!important;}
      .plv-tabela td:nth-child(3) {grid-column:2;grid-row:1;text-align:right;align-self:center;}
      .plv-tabela td:nth-child(4) {grid-column:1;grid-row:3;}
      .plv-tabela td:nth-child(5) {grid-column:2;grid-row:3;text-align:right;}
      .plv-tabela td:nth-child(2)::before,
      .plv-tabela td:nth-child(4)::before,
      .plv-tabela td:nth-child(5)::before {
        display:block;color:#829ab8;font-size:9px;font-weight:800;letter-spacing:.45px;
        text-transform:uppercase;margin-bottom:3px;
      }
      .plv-tabela td:nth-child(2)::before {content:'SERVIÇO';}
      .plv-tabela td:nth-child(4)::before {content:'CADASTRADO';}
      .plv-tabela td:nth-child(5)::before {content:'ATUALIZADO';}
      .plv-tabela td[colspan] {grid-column:1/-1;grid-row:auto;padding:12px!important;}
      .plv-tabela td[colspan]::before {content:none!important;}
      .plv-placa-btn {font-size:14px;font-weight:900;min-height:40px;text-align:left;}
      .plv-situacao .pl-status-badge {font-size:9px;padding:6px 8px;}
      .plv-rodape {gap:11px;margin-top:17px;}
      .plv-rodape p {text-align:center;line-height:1.4;}
      .pl-placeholder-detail {min-height:0;padding:18px 14px;gap:7px;}
      .pl-placeholder-icon {width:38px;height:38px;}
      .pl-placeholder-icon .pl-icon {width:21px;height:21px;}
      .pl-placeholder-detail h2 {font-size:14px;}
      .pl-placeholder-detail p {font-size:11px;max-width:300px;}
      .pl-placeholder-steps {display:none;}
      .plv-detalhe {padding:16px 13px;}
      .plv-detalhe-infos {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
      .plv-info {padding:10px;}
      .plv-info strong {overflow-wrap:anywhere;}
      #plv-painel-envios .tabs {grid-template-columns:minmax(0,1fr);}
      #plv-painel-envios button, #plv-painel-envios .whatsapp-link {max-width:100%;}
    }
    @media (max-width:380px) {
      .pl-global-account {max-width:64%;}
      .pl-topbar .brand {font-size:16px;}
      .pl-account-meta strong {max-width:118px;font-size:10px;}
      .plv-nav button span {font-size:9px;}
      .pl-stat-icon {display:none;}
      .pl-stat {padding:12px 13px;min-height:92px;}
      .pl-stat-text small {font-size:11px;}
      .pl-stat-text>span {font-size:9px;}
      .plv-tabela tbody tr {padding:12px 10px;}
      .plv-detalhe-infos {grid-template-columns:minmax(0,1fr);}
    }

    @media (prefers-reduced-motion: reduce) { .pl-stat,.plv-nav button,.pl-new-button {transition:none;} }

    /* =============================================================
       BRADOC RESPONSIVO 2.0 — mesma arquitetura do Painel Trading
       Estrutura desktop >=1024 | tablet 681-1023 | celular <=680.
       Esta camada altera apenas o layout; IDs e RPCs são preservados.
       ============================================================= */
    .pl-nav-short {display:none;}
    .pl-nav-full {display:inline;}
    html {width:100%;max-width:100%;-webkit-text-size-adjust:100%;}
    body {width:100%;max-width:100%;overscroll-behavior-x:none;}
    #area-portal, .pl-workspace, .pl-stats, .pl-stat,
    .pl-panels, .pl-list-panel, .pl-details-column,
    .plv-filtros, .plv-tabela-wrap {min-width:0;}
    button,input,select,textarea {touch-action:manipulation;}
    .pl-sidebar {box-sizing:border-box;}
    .plv-nav button:focus-visible,.plv-placa-btn:focus-visible,
    .pl-stat:focus-visible {outline:2px solid #8ed1ff;outline-offset:2px;}

    /* Computador e iPad em paisagem larga: barra estreita de ícones. */
    @media (min-width:1024px) {
      .pl-topbar {height:64px;padding:0 22px 0 105px;min-height:64px;}
      .pl-topbar-inner {max-width:none;}
      #area-portal {display:block;padding-left:88px;min-height:calc(100vh - 64px);min-height:calc(100dvh - 64px);}
      .pl-sidebar {
        position:fixed;left:14px;top:14px;bottom:14px;z-index:45;
        width:60px;height:auto;min-height:0;
        padding:13px 7px;
        display:flex;flex-direction:column;align-items:center;
        border:1px solid rgba(153,183,225,.14);border-radius:19px;
        background:linear-gradient(180deg,rgba(10,18,31,.98),rgba(9,16,28,.98));
        box-shadow:0 14px 34px rgba(0,0,0,.2);
      }
      .pl-side-caption,.pl-side-help,.pl-side-foot {display:none;}
      .plv-nav {display:flex;flex-direction:column;gap:9px;width:100%;margin:6px 0 0;align-items:center;}
      .plv-nav button {
        width:44px;min-width:44px;height:44px;min-height:44px;
        padding:0;display:flex;align-items:center;justify-content:center;
        flex-direction:row;border-radius:13px;gap:0;
      }
      .plv-nav button .pl-icon {width:21px;height:21px;}
      .plv-nav button .pl-nav-full,.plv-nav button .pl-nav-short {display:none;}
      .plv-nav button[aria-pressed="true"] {
        background:linear-gradient(180deg,rgba(45,140,255,.24),rgba(35,118,226,.10));
        border-color:rgba(79,167,255,.35);
      }
      .pl-workspace {
        width:100%;max-width:none;margin:0;
        padding:22px clamp(16px,2vw,28px) 48px;
      }
      .pl-stats {grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
      .pl-stat {min-height:112px;padding:14px 12px;gap:10px;}
      .pl-stat-icon {width:38px;height:38px;}
      .pl-stat-icon .pl-icon {width:20px;height:20px;}
      .pl-stat-text small {font-size:11px;white-space:normal;}
      .pl-stat-text>span {font-size:10px;}
      .pl-panels {grid-template-columns:minmax(0,1fr);}
      .plv-detalhe {position:static;scroll-margin-top:85px;}
    }
    /* Colunas somente quando há espaço horizontal útil para a tabela e detalhes. */
    @media (min-width:1330px) {
      .pl-panels {grid-template-columns:minmax(0,1.72fr) minmax(315px,.78fr);}
      .plv-detalhe {position:sticky;top:82px;}
    }
    /* Telas baixas: nunca cortar os formulários, resultados ou histórico. */
    @media (min-width:1024px) and (max-height:760px) {
      .pl-workspace {padding-top:12px;}
      .pl-intro {margin-bottom:17px;}
      .pl-stats {margin-bottom:17px;}
      .pl-stat {min-height:96px;}
    }

    /* BRADOC — tablet/iPad e notebook estreito: mesma navegacao inferior
       do Painel Trading. Regra especifica vem depois dos antigos breakpoints
       para evitar que o menu volte ao topo em zoom mais alto. */
    @media (min-width:681px) and (max-width:1023px) {
      .pl-topbar {
        position:sticky;top:0;z-index:40;
        height:64px;min-height:64px;padding:0 18px;
      }
      #area-portal {
        display:block;padding-left:0;
        min-height:calc(100vh - 64px);
        min-height:calc(100dvh - 64px);
      }
      .pl-sidebar {
        position:fixed;
        top:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));
        left:12px;right:12px;
        z-index:1200;
        width:auto;height:auto;min-height:0;
        display:block;padding:8px;
        border:1px solid rgba(118,158,211,.29);
        border-radius:22px;
        background:rgba(12,21,37,.97);
        box-shadow:0 16px 38px rgba(0,0,0,.45);
        backdrop-filter:blur(16px);
        -webkit-backdrop-filter:blur(16px);
      }
      .pl-side-caption,.pl-side-help,.pl-side-foot {display:none;}
      .plv-nav {
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:8px;margin:0;
      }
      .plv-nav button {
        width:100%;min-width:0;
        min-height:58px;height:auto;
        display:flex;flex-direction:column;
        align-items:center;justify-content:center;
        gap:5px;padding:8px 4px 7px;
        border-radius:15px;font-size:10px;line-height:1.1;
      }
      .plv-nav button .pl-icon {width:21px;height:21px;}
      .plv-nav button .pl-nav-full {display:none;}
      .plv-nav button .pl-nav-short {
        display:block;font-size:10px;line-height:1.15;
        white-space:nowrap;text-align:center;
      }
      .plv-nav button[aria-pressed="true"] {
        background:linear-gradient(180deg,rgba(43,137,248,.24),rgba(43,137,248,.13));
        border-color:rgba(67,159,255,.32);
      }
      .pl-workspace {
        width:100%;max-width:100%;
        padding:22px clamp(12px,2.5vw,26px) calc(112px + env(safe-area-inset-bottom,0px));
      }
      .pl-stats {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
      .pl-panels {grid-template-columns:minmax(0,1fr);gap:14px;}
      .plv-detalhe {position:static;scroll-margin-top:84px;}
      .plv-tabela-wrap {overflow-x:auto;max-width:100%;}
      /* Esconde barra de navegacao durante edicao com teclado virtual. */
      body:has(input:focus,textarea:focus) .pl-sidebar {
        transform:translateY(calc(120% + env(safe-area-inset-bottom,0px)));
        pointer-events:none;
      }
    }

    /* Celular: a navegação migra para a barra flutuante INFERIOR,
       como no Painel Trading; veículos em cards e indicadores de leitura vertical. */
    @media (max-width:680px) {
      .pl-topbar {
        position:sticky;top:0;z-index:40;
        height:58px;min-height:58px;padding:0 13px;
      }
      .pl-topbar-inner {gap:8px;}
      .pl-topbar .brand {font-size:16px;letter-spacing:.9px;line-height:1.05;}
      .pl-topbar .brand small {font-size:7px;letter-spacing:1.6px;margin-top:4px;}
      .pl-global-account {gap:6px;max-width:62%;}
      .pl-account-meta strong {max-width:min(35vw,155px);font-size:10px;}
      .pl-account-meta small {font-size:7px;letter-spacing:.6px;}
      .pl-top-sair {min-width:40px;min-height:40px;height:40px;padding:0;}
      #area-portal {display:block;padding-left:0;min-height:calc(100dvh - 58px);}
      .pl-sidebar {
        position:fixed;top:auto;bottom:calc(10px + env(safe-area-inset-bottom,0px));
        left:10px;right:10px;z-index:1200;
        width:auto;height:auto;min-height:0;
        display:block;padding:7px;
        border:1px solid rgba(118,158,211,.29);border-radius:21px;
        background:rgba(12,21,37,.97);
        box-shadow:0 16px 38px rgba(0,0,0,.45);
        backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
      }
      .pl-side-caption,.pl-side-help,.pl-side-foot {display:none;}
      .plv-nav {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0;}
      .plv-nav button {
        width:100%;min-height:58px;height:auto;min-width:0;
        padding:7px 2px 6px;border-radius:15px;
        flex-direction:column;align-items:center;justify-content:center;
        gap:5px;font-size:10px;line-height:1.1;
      }
      .plv-nav button .pl-icon {width:22px;height:22px;}
      .plv-nav button .pl-nav-full {display:none;}
      .plv-nav button .pl-nav-short {display:block;font-size:10px;line-height:1.15;white-space:nowrap;text-align:center;}
      .plv-nav button[aria-pressed="true"] {
        background:linear-gradient(180deg,rgba(43,137,248,.24),rgba(43,137,248,.13));
        border-color:rgba(67,159,255,.32);
      }
      .pl-workspace {
        width:100%;max-width:100%;padding:17px 12px calc(112px + env(safe-area-inset-bottom,0px));
      }
      .pl-intro {margin-bottom:16px;gap:12px;}
      .pl-intro h1 {font-size:clamp(22px,6vw,26px);}
      .pl-stats {grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:20px;}
      .pl-stat {min-height:91px;padding:14px 16px;gap:14px;border-radius:14px;}
      .pl-stat-icon {width:42px;height:42px;display:grid;}
      .pl-stat-icon .pl-icon {width:21px;height:21px;}
      .pl-stat-text small {font-size:12px;white-space:normal;}
      .pl-stat-text strong {font-size:25px;line-height:1.05;margin:4px 0 3px;}
      .pl-stat-text>span {font-size:10px;}
      .pl-panels {grid-template-columns:minmax(0,1fr);gap:12px;}
      .pl-list-panel {padding:14px 12px;}
      .pl-placeholder-detail {min-height:145px;}
      .plv-detalhe {position:static;scroll-margin-top:74px;}
      .plv-tabela-wrap {overflow:visible;}
      .plv-rodape {margin-top:12px;}
      /* Fixar navegação nunca cobre os campos enquanto o teclado está aberto. */
      body:has(input:focus,textarea:focus) .pl-sidebar {transform:translateY(calc(120% + env(safe-area-inset-bottom,0px)));pointer-events:none;}
    }
    /* iPhones estreitos e Android compactos: dimensionamento intacto, sem zoom. */
    @media (max-width:380px) {
      .pl-topbar {padding:0 10px;}
      .pl-account-meta strong {max-width:100px;}
      .pl-workspace {padding-left:10px;padding-right:10px;}
      .pl-stat-icon {display:grid;}
      .pl-stat {padding:12px;min-height:90px;}
      .pl-stat-text small {font-size:11px;}
      .plv-nav button .pl-nav-short {font-size:10px;}
    }
    @media (prefers-reduced-motion:reduce) {
      .pl-sidebar,.plv-nav button {transition:none!important;}
    }

    /* ============================================================
       BRADOC: NOTEBOOK / MONITOR COM POUCA ALTURA UTIL
       Painel Trading: viewport utilizado com tabela de rolagem interna.
       Layout de envio permanece com rolagem normal da pagina.
       ============================================================ */
    @media (min-width:1024px) and (max-height:900px) {
      .pl-topbar {height:54px;min-height:54px;padding-top:0;padding-bottom:0;}
      .pl-topbar .brand {font-size:18px;line-height:1.05;}
      .pl-topbar .brand small {font-size:7px;letter-spacing:2.2px;}
      .pl-avatar {width:32px;height:32px;font-size:14px;}
      .pl-workspace {padding-top:11px;padding-bottom:16px;}
      .pl-intro {align-items:center;gap:10px;margin-bottom:12px;}
      .pl-eyebrow {font-size:8px;letter-spacing:1px;}
      .pl-intro h1 {font-size:clamp(21px,1.8vw,27px);margin:3px 0 0;line-height:1.12;}
      .pl-intro .subtitle {font-size:11px;margin:2px 0 0;line-height:1.3;}
      .pl-new-button {min-height:36px;padding:7px 12px;font-size:11px;}
      .pl-stats {margin-bottom:12px;gap:10px;}
      .pl-stat {min-height:83px;padding:10px 12px;gap:10px;border-radius:12px;}
      .pl-stat-icon {width:32px;height:32px;border-radius:10px;}
      .pl-stat-icon .pl-icon {width:18px;height:18px;}
      .pl-stat-text small {font-size:11px;}
      .pl-stat-text strong {font-size:23px;line-height:1.05;margin:2px 0;}
      .pl-stat-text>span {font-size:9px;line-height:1.2;}
      .pl-stat-arrow {top:8px;right:9px;font-size:14px;}
      .pl-overview-heading {margin-bottom:8px;}
      .pl-overview-heading h2 {font-size:14px;}
      .pl-overview-heading p {font-size:10px;line-height:1.2;margin:2px 0 0;}
      .pl-panels {gap:10px;}
      .pl-list-panel {padding:12px;}
      .pl-list-heading {margin-bottom:8px;}
      .pl-list-heading h2 {font-size:13px;}
      .pl-list-heading span {font-size:10px;margin-top:2px;line-height:1.3;}
      .plv-filtros {gap:7px;margin-bottom:7px;}
      .plv-filtros label {font-size:9px;margin-bottom:3px;}
      .plv-filtros input,.plv-filtros select,.plv-filtros button {min-height:34px;height:34px;font-size:11px;padding-top:6px;padding-bottom:6px;}
      .plv-alert {min-height:14px;margin:3px 0 6px;font-size:10px;}
      .plv-tabela th {padding:8px 9px;font-size:8px;}
      .plv-tabela td {padding:9px;font-size:10px;}
      .plv-placa-btn {min-height:26px;}
      .plv-rodape {margin-top:7px;}
      .plv-paginacao button {min-height:30px;}
      .pl-placeholder-detail {padding:15px;min-height:190px;}
      .pl-placeholder-steps {gap:5px;margin-top:5px;}
      .pl-placeholder-steps span {padding:5px 8px;}
      .plv-detalhe {padding:13px;}
      .plv-detalhe-cab {margin-bottom:9px;}
      .plv-detalhe-infos {gap:6px;margin-bottom:10px;}
      .plv-info {padding:8px 9px;}
      .plv-pendencia {padding:9px;margin-bottom:10px;}
      .plv-historico-titulo {margin-bottom:10px;}
      .plv-etapa {padding-bottom:13px;}
    }

    /* Notebook: a área de acompanhamento cabe dentro da janela.
       Ao trocar para Enviar documentos a pagina recupera a rolagem normal. */
    @media (min-width:1140px) and (min-height:600px) and (max-height:900px) {
      body.portal-ativo:has(#plv-painel-veiculos:not([hidden])) {overflow-y:hidden;}
      body.portal-ativo:has(#plv-painel-veiculos:not([hidden])) #area-portal {
        height:calc(100vh - 54px);height:calc(100dvh - 54px);
        min-height:0;overflow:hidden;
      }
      body.portal-ativo:has(#plv-painel-veiculos:not([hidden])) .pl-workspace {
        height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;
        padding-top:9px;padding-bottom:9px;
      }
      #plv-painel-veiculos:not([hidden]) {
        display:flex;flex:1 1 auto;flex-direction:column;min-height:0;
      }
      #plv-painel-veiculos:not([hidden]) .pl-stats {flex:0 0 auto;margin-bottom:9px;}
      #plv-painel-veiculos:not([hidden]) .pl-overview-heading {flex:0 0 auto;margin-bottom:7px;}
      #plv-painel-veiculos:not([hidden]) .pl-panels {
        flex:1 1 auto;min-height:0;overflow:hidden;align-items:stretch;
        grid-template-columns:minmax(0,1.74fr) minmax(288px,.78fr);
      }
      #plv-painel-veiculos:not([hidden]) .pl-list-panel {
        min-height:0;height:100%;display:flex;flex-direction:column;
      }
      #plv-painel-veiculos:not([hidden]) .pl-list-heading,
      #plv-painel-veiculos:not([hidden]) .plv-filtros,
      #plv-painel-veiculos:not([hidden]) .plv-alert,
      #plv-painel-veiculos:not([hidden]) .plv-rodape {flex:0 0 auto;}
      #plv-painel-veiculos:not([hidden]) .plv-filtros {flex-wrap:nowrap;}
      #plv-painel-veiculos:not([hidden]) .plv-filtros .plv-campo {min-width:0;}
      #plv-painel-veiculos:not([hidden]) .plv-tabela-wrap {
        min-height:95px;flex:1 1 auto;max-height:none;overflow-y:auto;overflow-x:auto;
        overscroll-behavior:contain;scrollbar-width:thin;
      }
      #plv-painel-veiculos:not([hidden]) .plv-tabela thead th {position:sticky;top:0;z-index:2;}
      #plv-painel-veiculos:not([hidden]) .pl-details-column {
        min-height:0;height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;
      }
      #plv-painel-veiculos:not([hidden]) .pl-placeholder-detail {height:100%;min-height:0;}
      #plv-painel-veiculos:not([hidden]) .plv-detalhe {position:static;}
    }

    /* Em resolucoes com altura muito baixa (zoom alto/janela reduzida),
       prioriza leitura e rolagem da pagina, evitando ocultar conteudos. */
    @media (min-width:1024px) and (max-height:599px) {
      .pl-workspace {padding-top:7px;}
      .pl-intro {margin-bottom:7px;}
      .pl-stats {margin-bottom:7px;}
      .pl-stat {min-height:72px;}
      .pl-overview-heading {margin-bottom:5px;}
    }

    /* =====================================================================
       BRADOC | VIEWPORT ADAPTATIVO (MODELO PAINEL TRADING)
       O browser usa pixels CSS, que variam com o zoom da tela. Portanto,
       o layout compacto nao depende de largura >1140 nem altura >600.
       Somente a area de acompanhamento usa scroll interno no desktop;
       a area de documentos preserva o fluxo/rolagem naturais.
       ===================================================================== */
    @media (min-width: 1024px) {
      .pl-topbar {height:50px;min-height:50px;padding:0 16px 0 101px;}
      .pl-topbar .brand {font-size:18px;line-height:1.04;}
      .pl-topbar .brand small {font-size:7px;letter-spacing:2px;margin-top:2px;}
      .pl-avatar {height:31px;width:31px;border-radius:10px;font-size:13px;}
      .pl-top-sair {min-height:31px;padding:5px 10px;font-size:11px;}
      .pl-sidebar {top:60px;bottom:10px;min-height:0;width:60px;}
      .plv-nav {margin-top:0;gap:7px;}
      .plv-nav button {width:42px;min-width:42px;height:42px;min-height:42px;}
      #area-portal {min-height:calc(100vh - 50px);min-height:calc(100dvh - 50px);}
      .pl-panels {grid-template-columns:minmax(0,1fr) minmax(250px,.46fr);align-items:stretch;}
      .plv-detalhe {position:static;}
    }
    @media (min-width: 1024px) and (max-height: 950px) {
      body.portal-ativo:has(#plv-painel-veiculos:not([hidden])) {
        overflow-x:hidden;overflow-y:hidden;
      }
      body.portal-ativo:has(#plv-painel-veiculos:not([hidden])) #area-portal {
        height:calc(100vh - 50px);height:calc(100dvh - 50px);
        min-height:0;overflow:hidden;
      }
      body.portal-ativo:has(#plv-painel-veiculos:not([hidden])) .pl-workspace {
        height:100%;min-height:0;display:flex;flex-direction:column;
        overflow:hidden;padding:8px 12px 7px;
      }
      #plv-painel-veiculos:not([hidden]) {
        display:flex;flex:1 1 auto;flex-direction:column;min-height:0;
      }
      .pl-intro {flex:0 0 auto;align-items:center;gap:10px;margin:0 0 8px;}
      .pl-intro h1 {font-size:22px;margin:2px 0 0;line-height:1.12;}
      .pl-eyebrow {font-size:8px;}
      .pl-intro .subtitle {font-size:10px;margin:1px 0 0;line-height:1.2;}
      .pl-new-button {min-height:34px;padding:6px 11px;font-size:10px;}
      .pl-stats {flex:0 0 auto;margin:0 0 8px;gap:8px;}
      .pl-stat {min-height:66px;padding:8px 10px;gap:9px;border-radius:11px;}
      .pl-stat-icon {width:30px;height:30px;border-radius:9px;}
      .pl-stat-icon .pl-icon {width:17px;height:17px;}
      .pl-stat-text small {font-size:10px;line-height:1.05;}
      .pl-stat-text strong {font-size:20px;margin:1px 0;line-height:1;}
      .pl-stat-text>span {font-size:8px;line-height:1.1;}
      .pl-stat-arrow {top:6px;right:7px;font-size:13px;}
      .pl-overview-heading {flex:0 0 auto;margin-bottom:6px;}
      .pl-overview-heading h2 {font-size:13px;}
      .pl-overview-heading p {font-size:9px;margin-top:1px;}
      #plv-painel-veiculos:not([hidden]) .pl-panels {
        flex:1 1 auto;min-height:0;overflow:hidden;gap:8px;
        grid-template-columns:minmax(0,1fr) minmax(250px,.46fr);
        align-items:stretch;
      }
      #plv-painel-veiculos:not([hidden]) .pl-list-panel {
        display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;
        padding:9px 10px;border-radius:12px;
      }
      .pl-list-heading {margin-bottom:6px;}
      .pl-list-heading h2 {font-size:12px;}
      .pl-list-heading span {font-size:9px;margin-top:1px;}
      #plv-painel-veiculos:not([hidden]) .plv-filtros {
        flex:0 0 auto;flex-wrap:nowrap;gap:5px;margin:0 0 5px;
      }
      #plv-painel-veiculos:not([hidden]) .plv-filtros .plv-campo {min-width:0;}
      #plv-painel-veiculos:not([hidden]) .plv-filtros label {font-size:8px;margin-bottom:2px;}
      #plv-painel-veiculos:not([hidden]) .plv-filtros input,
      #plv-painel-veiculos:not([hidden]) .plv-filtros select,
      #plv-painel-veiculos:not([hidden]) .plv-filtros button {
        min-height:30px;height:30px;padding-top:4px;padding-bottom:4px;font-size:10px;
      }
      #plv-painel-veiculos:not([hidden]) .plv-alert {
        flex:0 0 auto;min-height:12px;margin:2px 0 4px;font-size:9px;
      }
      #plv-painel-veiculos:not([hidden]) .plv-tabela-wrap {
        flex:1 1 auto;min-height:0;max-height:none;overflow:auto;
        overscroll-behavior:contain;scrollbar-width:thin;
      }
      .plv-tabela {min-width:610px;}
      .plv-tabela thead th {position:sticky;top:0;z-index:3;}
      .plv-tabela th {padding:7px 8px;font-size:8px;}
      .plv-tabela td {padding:8px;font-size:10px;}
      #plv-painel-veiculos:not([hidden]) .plv-rodape {flex:0 0 auto;margin-top:4px;font-size:9px;}
      #plv-painel-veiculos:not([hidden]) .pl-details-column {
        height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;
        overscroll-behavior:contain;scrollbar-width:thin;gap:6px;
      }
      #plv-painel-veiculos:not([hidden]) .pl-placeholder-detail {
        height:100%;min-height:0;padding:12px;
      }
      #plv-painel-veiculos:not([hidden]) .plv-detalhe {position:static;padding:11px;}
      #plv-painel-veiculos:not([hidden]) .plv-detalhe-cab {margin-bottom:6px;}
      #plv-painel-veiculos:not([hidden]) .plv-detalhe-infos {gap:5px;margin-bottom:7px;}
      #plv-painel-veiculos:not([hidden]) .plv-info {padding:6px 7px;}
      #plv-painel-veiculos:not([hidden]) .plv-pendencia {padding:7px;margin-bottom:7px;}
      #plv-painel-veiculos:not([hidden]) .plv-historico-titulo {margin-bottom:7px;}
      #plv-painel-veiculos:not([hidden]) .plv-etapa {padding-bottom:10px;}
    }
    /* Notebook com zoom: 1849 pixels fisicos podem ser apenas ~1230 px CSS
       de largura e ~530 px CSS de altura. O layout acima continua ativo. */
    @media (min-width:1024px) and (max-height:620px) {
      .pl-intro {margin-bottom:5px;}
      .pl-intro .subtitle {display:none;}
      .pl-eyebrow {display:none;}
      .pl-intro h1 {font-size:19px;margin:0;}
      .pl-stats {margin-bottom:5px;}
      .pl-stat {min-height:51px;padding:5px 8px;}
      .pl-stat-icon {width:26px;height:26px;}
      .pl-stat-text strong {font-size:18px;}
      .pl-stat-text>span {display:none;}
      .pl-overview-heading {margin-bottom:4px;}
      .pl-overview-heading p {display:none;}
      .pl-list-heading {margin-bottom:4px;}
      .pl-list-heading span {display:none;}
    }
    @media (min-width:1024px) and (max-height:430px) {
      .pl-overview-heading {display:none;}
      .pl-topbar {height:44px;min-height:44px;}
      body.portal-ativo:has(#plv-painel-veiculos:not([hidden])) #area-portal {
        height:calc(100dvh - 44px);
      }
      .pl-intro {margin-bottom:4px;}
      .pl-stat {min-height:44px;}
    }

    /* =======================================================================
       BRADOC | ENVIO DE DOCUMENTOS NO VIEWPORT (notebook / desktop)
       Mesmo princípio do Painel Trading: area principal limitada ao viewport,
       formulario com rolagem própria, ações sempre acessíveis. A estrutura
       e a lógica do upload permanecem intactas.
       ======================================================================= */
    @media (min-width: 1024px) and (max-height: 950px) {
      body.portal-ativo:has(#plv-painel-envios:not([hidden])) {
        overflow-x: hidden;
        overflow-y: hidden;
      }
      body.portal-ativo:has(#plv-painel-envios:not([hidden])) #area-portal {
        height: calc(100vh - 50px);
        height: calc(100dvh - 50px);
        min-height: 0;
        overflow: hidden;
      }
      body.portal-ativo:has(#plv-painel-envios:not([hidden])) .pl-workspace {
        height: 100%;
        min-height: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        padding: 8px 12px 9px;
      }
      #plv-painel-envios:not([hidden]) {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
        min-width: 0;
        max-width: none;
        width: 100%;
        margin: 0;
      }
      /* Já existe um título para a página: eliminar cabeçalho duplicado. */
      #plv-painel-envios .portal-intro {display: none;}
      #plv-painel-envios > .note {
        flex: 0 0 auto;
        max-height: 64px;
        overflow: auto;
        margin: 0 0 6px;
        padding: 7px 10px;
        font-size: 10px;
      }
      #plv-painel-envios #formulario {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        grid-template-rows: minmax(0,1fr) auto auto auto auto;
        column-gap: 10px;
        row-gap: 6px;
        flex: 1 1 auto;
        min-height: 0;
        min-width: 0;
        margin: 0;
        padding: 0;
      }
      #plv-painel-envios #veiculos {
        grid-column: 1 / -1;
        grid-row: 1;
        min-height: 0;
        overflow-y: auto;
        overflow-x: hidden;
        overscroll-behavior: contain;
        scrollbar-width: thin;
        padding: 1px 5px 2px 1px;
      }
      #plv-painel-envios #veiculos > .card {
        display: grid;
        grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
        grid-template-rows: auto auto auto 1fr;
        align-items: start;
        column-gap: 15px;
        row-gap: 6px;
        min-width: 0;
        min-height: 0;
        margin: 0 0 8px;
        padding: 10px 12px;
        border-radius: 12px;
      }
      #plv-painel-envios #veiculos > .card > .head {
        grid-column: 1 / -1;
        grid-row: 1;
        margin: 0 0 1px;
        gap: 10px;
      }
      #plv-painel-envios #veiculos > .card .head h2 {font-size: 13px;}
      #plv-painel-envios #veiculos > .card .head button {
        min-height: 27px;
        padding: 4px 9px;
        font-size: 10px;
      }
      #plv-painel-envios #veiculos > .card > label[for^="placa-"] {
        grid-column: 1;
        grid-row: 2;
        font-size: 10px;
        margin: 0;
      }
      #plv-painel-envios #veiculos > .card > .plate {
        grid-column: 1;
        grid-row: 3;
        min-height: 34px;
        height: 34px;
        padding: 5px 10px;
        font-size: 12px;
      }
      #plv-painel-envios #veiculos > .card > .tabs {
        grid-column: 1;
        grid-row: 4;
        display: grid;
        grid-template-columns: 1fr;
        gap: 5px;
        margin: 1px 0 0;
      }
      #plv-painel-envios #veiculos > .card > .tabs .tab {
        width: 100%;
        min-height: 31px;
        padding: 5px 8px;
        font-size: 10px;
        text-align: left;
      }
      #plv-painel-envios #veiculos > .card > .painel-completo,
      #plv-painel-envios #veiculos > .card > .painel-separado {
        grid-column: 2;
        grid-row: 2 / 5;
        align-self: stretch;
        min-width: 0;
        background: #0a1424;
        border: 1px solid rgba(137,170,214,.15);
        border-radius: 10px;
        padding: 10px 12px;
      }
      #plv-painel-envios #veiculos > .card > .painel-completo > label,
      #plv-painel-envios #veiculos > .card > .painel-separado > label {font-size: 11px; margin-bottom: 4px;}
      #plv-painel-envios #veiculos > .card .hint {font-size: 10px;line-height: 1.35;margin: 5px 0 7px;}
      #plv-painel-envios #veiculos > .card .escolher-completo,
      #plv-painel-envios #veiculos > .card .adicionar-doc {
        min-height: 32px;
        padding: 5px 10px;
        font-size: 10px;
      }
      #plv-painel-envios #veiculos > .card .selected-name {font-size: 10px;margin-top: 5px;}
      #plv-painel-envios #veiculos > .card .doc {margin: 5px 0;padding: 8px;}
      #plv-painel-envios #veiculos > .card .dochead {font-size: 11px;margin-bottom: 5px;}
      #plv-painel-envios #formulario > #adicionar-veiculo,
      #plv-painel-envios #formulario > #enviar {
        grid-row: 2;
        min-width: 0;
        width: 100%;
        height: 39px;
        min-height: 39px;
        margin: 0;
        padding: 7px 10px;
        font-size: 12px;
        border-radius: 10px;
      }
      #plv-painel-envios #formulario > #adicionar-veiculo {grid-column: 1;}
      #plv-painel-envios #formulario > #enviar {grid-column: 2;}
      #plv-painel-envios #formulario > #status-geral {
        grid-column: 1 / -1;
        grid-row: 3;
        margin: 0;
        padding: 6px 10px;
        max-height: 66px;
        overflow-y: auto;
        font-size: 11px;
      }
      #plv-painel-envios #formulario > #resultado {
        grid-column: 1 / -1;
        grid-row: 4;
        max-height: 130px;
        overflow-y: auto;
        margin: 0;
        padding: 8px 12px;
      }
      #plv-painel-envios #formulario > .portal-footer-hint,
      #plv-painel-envios #formulario > .hint {
        grid-column: 1 / -1;
        grid-row: 5;
        margin: 0;
        font-size: 9px;
        line-height: 1.3;
      }
    }
    @media (min-width: 1024px) and (max-height: 620px) {
      #plv-painel-envios #veiculos > .card {
        padding: 7px 10px;
        gap: 4px 12px;
      }
      #plv-painel-envios #veiculos > .card > .painel-completo,
      #plv-painel-envios #veiculos > .card > .painel-separado {padding: 8px 10px;}
      #plv-painel-envios #veiculos > .card > .tabs .tab {min-height: 28px;}
      #plv-painel-envios #formulario > #adicionar-veiculo,
      #plv-painel-envios #formulario > #enviar {min-height: 34px;height: 34px;}
    }
    /* Tablet e celular continuam com rolagem natural. Os formulários nunca
       têm altura fixa nesses aparelhos por causa do teclado virtual. */
    @media (max-width: 1023px) {
      #plv-painel-envios > .portal-intro .portal-eyebrow {display:none;}
      #plv-painel-envios > .portal-intro h1 {display:none;}
      #plv-painel-envios > .portal-intro {margin-bottom: 10px;}
      #plv-painel-envios > .portal-intro .subtitle {margin-bottom:6px;}
    }


    /* ==================================================================
       BRADOC | REFINAMENTO VISUAL PROFISSIONAL 2026-10-14
       Somente apresentação. Preserva HTML, IDs, JavaScript, RPC e alturas.
       Ordem intencional: após regras de layout/responsividade existentes.
       ================================================================== */
    :root {
      --navy:#e8edf5;
      --bg:#090d14;
      --card-bg:#111925;
      --field-bg:#0d1420;
      --line:rgba(153,175,203,.16);
      --muted:#91a1b7;
      --blue:#478fd3;
      --blue-light:#75b5ed;
      --green:#5bc6a6;
      --red:#f08893;
      --shadow:0 8px 24px rgba(0,0,0,.13);
      color-scheme:dark;
    }
    body {
      font-family:'Segoe UI Variable','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
      font-size:13px;
      line-height:1.45;
      font-weight:400;
      letter-spacing:-.005em;
      color:#e8edf5;
      background:#090d14;
      -webkit-font-smoothing:antialiased;
      text-rendering:optimizeLegibility;
    }
    .pl-topbar {
      background:rgba(11,16,24,.98);
      border-bottom:1px solid rgba(161,181,207,.13);
      box-shadow:none;
    }
    .pl-topbar .brand {
      color:#f1f5fa;
      letter-spacing:1.25px;
      font-weight:780;
    }
    .pl-topbar .brand small {
      color:#8493a8;
      font-weight:620;
      letter-spacing:2.1px;
    }
    .pl-avatar {
      background:#15263a;
      border-color:rgba(94,157,217,.33);
      color:#8abdeb;
      font-weight:700;
      box-shadow:none;
    }
    .pl-account-meta small {color:#8292a8;font-weight:570;letter-spacing:.9px;}
    .pl-account-meta strong {color:#e4eaf2;font-weight:670;letter-spacing:-.015em;}
    .pl-top-sair {
      color:#aab8c9;
      background:#101824;
      border-color:rgba(152,175,203,.17);
      border-radius:10px;
      font-weight:620;
    }
    .pl-top-sair:hover:not(:disabled) {color:#f3f6fb;background:#172232;border-color:rgba(150,176,206,.28);}
    .pl-sidebar {
      background:#0e1520;
      border-right-color:rgba(153,175,203,.13);
    }
    .pl-side-caption,.pl-side-foot {color:#71849e;font-weight:650;}
    .plv-nav button {
      color:#94a4b8;
      font-weight:580;
      border-radius:11px;
    }
    .plv-nav button:hover:not(:disabled) {
      background:rgba(153,175,203,.055);
      border-color:rgba(153,175,203,.11);
      color:#dce7f5;
      transform:none;
    }
    .plv-nav button[aria-pressed='true'] {
      background:rgba(58,128,204,.17);
      border-color:rgba(96,156,221,.38);
      color:#e5f1ff;
      box-shadow:inset 2px 0 rgba(103,167,232,.88);
      font-weight:680;
    }
    .plv-nav button[aria-pressed='true'] .pl-icon {color:#78b9f0;}
    .pl-side-help {
      background:#121e2c;
      border-color:rgba(145,173,206,.17);
      box-shadow:none;
    }
    .pl-side-help strong {color:#e7edf5;font-weight:650;}
    .pl-side-help p {color:#8ea1b9;}
    .pl-help-icon {
      background:rgba(63,134,209,.11);
      border-color:rgba(87,148,210,.21);
      color:#87bbea;
    }
    .pl-help-link {
      font-weight:650;
      background:rgba(67,137,207,.14);
      border-color:rgba(90,150,213,.29);
      color:#cde3fa;
    }
    .pl-intro h1 {
      color:#eef2f7;
      font-size:clamp(24px,2.1vw,32px);
      font-weight:730;
      letter-spacing:-.055em;
      line-height:1.12;
      text-shadow:none;
    }
    .pl-eyebrow {
      color:#788da7;
      font-size:9px;
      font-weight:650;
      letter-spacing:1.3px;
    }
    .pl-eyebrow-dot {background:#738ba7;}
    .pl-intro .subtitle {color:#95a7bd;font-size:12px;font-weight:400;}
    .pl-new-button,.primary {
      background:#286cb3;
      color:#f6f9fd;
      border:1px solid #3c85cd;
      border-radius:11px;
      font-weight:675;
      box-shadow:0 5px 16px rgba(22,85,150,.12);
      letter-spacing:-.005em;
    }
    .pl-new-button:hover:not(:disabled),.primary:hover:not(:disabled) {
      background:#317dc7;
      border-color:#5a9bdd;
      box-shadow:0 6px 18px rgba(26,85,150,.16);
      transform:none;
    }
    .pl-stat {
      background:#111b29;
      border:1px solid rgba(143,167,196,.16);
      border-radius:13px;
      box-shadow:none;
      color:#e7edf5;
      transition:background .15s,border-color .15s;
    }
    .pl-stat:hover:not(:disabled) {
      background:#152234;
      border-color:rgba(107,162,222,.42);
      transform:none;
    }
    .pl-stat-icon {
      border-radius:11px;
      background:rgba(64,130,207,.105);
      border:1px solid rgba(74,141,214,.24);
      color:#83baec;
    }
    .pl-stat-yellow .pl-stat-icon {background:rgba(214,156,78,.09);border-color:rgba(214,156,78,.24);color:#ddb16a;}
    .pl-stat-green .pl-stat-icon {background:rgba(67,177,145,.09);border-color:rgba(67,177,145,.22);color:#78cfb2;}
    .pl-stat-cyan .pl-stat-icon {background:rgba(82,169,194,.09);border-color:rgba(82,169,194,.22);color:#86c9d8;}
    .pl-stat-text small {color:#bbc8d8;font-weight:610;letter-spacing:0;font-size:11.5px;}
    .pl-stat-text strong {color:#eaf1f8;font-weight:725;letter-spacing:-.05em;}
    .pl-stat-yellow .pl-stat-text strong {color:#e4b66d;}
    .pl-stat-green .pl-stat-text strong {color:#75cdb0;}
    .pl-stat-cyan .pl-stat-text strong {color:#8acbda;}
    .pl-stat-text>span {color:#8599b1;font-weight:400;}
    .pl-stat-arrow {color:#647e9b;}
    .pl-overview-heading h2,
    .pl-list-heading h2,
    .pl-placeholder-detail h2,
    .plv-detalhe-cab h2 {
      color:#e9eef5;
      font-weight:690;
      letter-spacing:-.025em;
    }
    .pl-overview-heading p,.pl-list-heading span {color:#8da0b8;font-weight:400;}
    .pl-list-panel,.pl-placeholder-detail,.plv-detalhe,
    #plv-painel-envios .card,.login-area .card {
      background:#111925;
      border:1px solid rgba(153,175,203,.16);
      border-radius:14px;
      box-shadow:none;
      backdrop-filter:none;
    }
    .pl-placeholder-icon {
      background:rgba(68,140,213,.08);
      border-color:rgba(104,162,222,.19);
      color:#83bce9;
    }
    .pl-placeholder-detail p {color:#92a2b7;}
    .pl-placeholder-steps span {
      background:#141f2e;
      border-color:rgba(153,175,203,.12);
      color:#8ea4bf;
    }
    .plv-filtros label,label {
      color:#a4b3c6;
      font-weight:620;
      letter-spacing:0;
    }
    input:not([type='file']),
    .plv-filtros input,.plv-filtros select {
      color:#e4ebf4;
      background:#0d1521;
      border:1px solid rgba(142,166,198,.23);
      border-radius:9px;
      box-shadow:none;
    }
    input:not([type='file'])::placeholder {color:#71849f;opacity:1;}
    input:not([type='file']):focus,.plv-filtros select:focus {
      border-color:#69a3db;
      box-shadow:0 0 0 3px rgba(82,148,219,.15);
      outline:none;
    }
    .plv-filtros select option {background:#101a29;color:#e4ebf4;}
    .pl-search-field .pl-icon {color:#7892af;}
    button {font-weight:640;}
    .plv-filtros button,.tab,.remove-car,.add-car,
    #plv-painel-envios .tabs .tab {
      color:#c2d0e0;
      background:#111b2a;
      border:1px solid rgba(148,172,201,.20);
      border-radius:9px;
      font-weight:620;
      box-shadow:none;
    }
    .plv-filtros button:hover:not(:disabled),.tab:hover:not(:disabled) {
      background:#1a2a3e;
      border-color:rgba(106,157,213,.38);
      transform:none;
    }
    .tab[aria-selected='true'] {
      background:rgba(64,137,206,.18);
      border-color:rgba(100,166,230,.60);
      box-shadow:inset 0 0 0 1px rgba(100,166,230,.08);
      color:#e9f3ff;
      font-weight:680;
    }
    .plv-alert {color:#8a9db6;}
    .plv-tabela-wrap {
      background:#0e1622;
      border:1px solid rgba(153,175,203,.15);
      border-radius:10px;
      scrollbar-color:#31445e #0e1622;
      scrollbar-width:thin;
    }
    .plv-tabela th {
      background:#141f2e;
      color:#91a7c2;
      letter-spacing:.07em;
      font-weight:675;
    }
    .plv-tabela td {color:#d7e1ed;font-weight:440;}
    .plv-tabela th,.plv-tabela td {border-bottom-color:rgba(148,171,200,.125);}
    .plv-tabela tbody tr:hover td {background:rgba(77,132,194,.065);}
    .plv-tabela tbody tr.plv-row-selected td {background:rgba(55,110,173,.135);}
    .plv-tabela tr.plv-row-selected td:first-child {box-shadow:inset 2px 0 #65a9e6;}
    .plv-placa-btn {
      color:#a5d0f7;
      text-decoration:none;
      font-weight:700;
      letter-spacing:.01em;
    }
    .plv-placa-btn:hover:not(:disabled) {text-decoration:underline;color:#e2f1ff;}
    .plv-situacao .pl-status-badge {
      font-weight:700;
      border-radius:6px;
      letter-spacing:.025em;
      background:rgba(81,139,200,.11);
      color:#98c8ee;
      border-color:rgba(81,139,200,.25);
    }
    .plv-situacao[data-tipo='pendente'] .pl-status-badge,
    .plv-situacao[data-tipo='manifestacao'] .pl-status-badge {
      color:#e8bc74;
      background:rgba(211,152,62,.115);
      border-color:rgba(211,152,62,.25);
    }
    .plv-situacao[data-tipo='concluido'] .pl-status-badge,
    .plv-situacao[data-tipo='encerrado'] .pl-status-badge {
      color:#79d3b4;
      background:rgba(74,169,131,.115);
      border-color:rgba(74,169,131,.24);
    }
    .plv-rodape p {color:#8296af;}
    .plv-detalhe .plv-info,
    .plv-info {
      background:#0e1724;
      border:1px solid rgba(145,170,201,.15);
      border-radius:9px;
    }
    .plv-info small,.plv-detalhe-cab small {color:#8ca0ba;font-weight:610;letter-spacing:.06em;}
    .plv-info strong {color:#e0e8f2;font-weight:650;}
    .plv-pendencia {
      background:rgba(168,112,46,.11);
      border-color:rgba(200,144,69,.28);
      border-radius:10px;
    }
    .plv-pendencia strong {color:#e9bd78;font-weight:690;}
    .plv-pendencia p {color:#e4d1b8;}
    .plv-historico-titulo {color:#dce6f2;font-weight:690;}
    .plv-historico {border-left-color:rgba(97,146,204,.31);}
    .plv-etapa::before {background:#69a8e4;box-shadow:0 0 0 4px rgba(67,136,207,.085);}
    .plv-etapa strong {color:#d7e5f4;font-weight:650;}
    .plv-etapa span {color:#8ca0bb;}
    .plv-detalhe-status,.pl-aside-contact {color:#93a3b9;}
    #plv-painel-envios .card h2,
    .card h2,.dochead {color:#e7edf6;font-weight:680;letter-spacing:-.015em;}
    #plv-painel-envios .card {border-radius:13px;}
    #plv-painel-envios #veiculos > .card > .painel-completo,
    #plv-painel-envios #veiculos > .card > .painel-separado {
      background:#0e1724;
      border-color:rgba(145,170,201,.15);
    }
    #plv-painel-envios .doc {
      background:#101a28;
      border-color:rgba(147,173,203,.16);
      border-radius:9px;
    }
    .note {
      color:#e3bd83;
      background:rgba(197,142,70,.085);
      border-color:rgba(197,142,70,.22);
      border-radius:10px;
    }
    .hint,.subtitle {color:#96a8bd;}
    .selected-name {color:#b6d3f1;}
    .add-car {
      color:#bdd9f2;
      border:1px dashed rgba(117,169,220,.45);
      background:rgba(64,131,194,.09);
    }
    .remove-car,.remove-file,.remover-completo {color:#ed9ba4;}
    .remove-car {border-color:rgba(200,111,125,.26);background:rgba(184,94,110,.07);}
    .status {
      color:#c4ddf5;
      background:rgba(64,139,208,.09);
      border-color:rgba(97,158,216,.23);
    }
    .status.error {color:#efadb5;background:rgba(198,87,101,.10);border-color:rgba(203,97,113,.23);}
    .status.success {color:#8ad6ba;background:rgba(59,159,124,.10);border-color:rgba(74,172,135,.26);}
    .whatsapp-link {
      color:#f2fcf6;
      background:#246e4e;
      border:1px solid rgba(99,183,144,.34);
      box-shadow:none;
      font-weight:670;
    }
    .whatsapp-link:hover {background:#2a805b;}
    .login-area .card {box-shadow:0 12px 30px rgba(0,0,0,.20);}
    .login-area h1 {font-weight:710;letter-spacing:-.04em;color:#edf2f8;}
    .login-area .subtitle {color:#9aacc0;}
    ::-webkit-scrollbar {width:8px;height:8px;}
    ::-webkit-scrollbar-track {background:#0c1420;}
    ::-webkit-scrollbar-thumb {background:#36475d;border:2px solid #0c1420;border-radius:999px;}

    /* Regras de apresentação por escala, sem alterar as alturas controladas. */
    @media (min-width:1024px) and (max-height:950px) {
      .pl-intro h1 {font-size:clamp(20px,1.8vw,27px);font-weight:720;}
      .pl-stat-text strong {font-weight:720;}
      .plv-tabela th {font-size:9px;}
      .plv-tabela td {font-size:11px;}
      .pl-list-heading h2 {font-weight:680;}
    }
    @media (max-width:1023px) {
      .pl-sidebar {
        background:rgba(12,19,29,.97);
        border-color:rgba(153,175,203,.20);
        box-shadow:0 14px 32px rgba(0,0,0,.38);
      }
      .plv-nav button[aria-pressed='true'] {box-shadow:inset 0 0 0 1px rgba(108,166,222,.09);}
      .pl-stats {gap:11px;}
    }
    @media (max-width:680px) {
      body {font-size:13px;}
      .pl-topbar {background:#0b111a;}
      .pl-workspace {padding-bottom:calc(114px + env(safe-area-inset-bottom,0px));}
      .pl-stat {border-radius:13px;}
      .plv-tabela tbody tr {
        background:#121e2c;
        border:1px solid rgba(143,170,201,.16);
        border-radius:11px;
      }
      .plv-tabela tbody tr.plv-row-selected {
        background:#182b40;
        border-color:rgba(113,174,230,.48);
        box-shadow:inset 2px 0 #67a9e8;
      }
      .plv-nav button {font-weight:590;}
      .plv-nav button[aria-pressed='true'] {font-weight:690;}
      .plv-detalhe {border-radius:13px;}
    }


    /* BRADOC / TESTE VISUAL - Somente a área de envio.
       Mantém IDs, eventos e processamento de arquivos já existentes. */
    #pl-novo-envio.pl-new-button {
      background:transparent; border:1px solid rgba(151,174,204,.26);
      color:#aebfd3; box-shadow:none; min-height:34px;
      padding:6px 12px; border-radius:9px; font-size:11px;
      font-weight:620; letter-spacing:0;
    }
    #pl-novo-envio.pl-new-button .pl-icon {width:15px;height:15px;}
    #pl-novo-envio.pl-new-button .pl-arrow {display:none;}
    #pl-novo-envio.pl-new-button:hover:not(:disabled) {
      background:#172334; border-color:#517fae;color:#e1eefb;box-shadow:none;
    }
    #plv-painel-envios #veiculos > .card {
      display:grid;
      grid-template-columns:minmax(185px,245px) minmax(0,1fr);
      grid-template-rows:auto auto auto auto;
      column-gap:16px;row-gap:0;
      padding:13px 15px;
      border:1px solid rgba(148,171,199,.17);
      border-radius:13px;background:#111925;
      min-width:0;min-height:0;
    }
    #plv-painel-envios #veiculos > .card > .head {
      grid-column:1/-1;grid-row:1;display:flex;align-items:center;
      justify-content:space-between;margin:0 0 11px;
      padding:0 0 9px;border-bottom:1px solid rgba(148,171,199,.12);
      min-width:0;
    }
    #plv-painel-envios #veiculos > .card .head h2 {font-size:13px;font-weight:690;}
    #plv-painel-envios #veiculos > .card .remove-car {
      background:transparent;border-color:transparent;
      padding:4px 7px;min-height:26px;font-size:10px;color:#d18b99;
    }
    #plv-painel-envios #veiculos > .card .remove-car:hover:not(:disabled) {background:rgba(194,90,104,.09);border-color:rgba(194,90,104,.15);}
    #plv-painel-envios #veiculos > .card > label[for^="placa-"] {
      grid-column:1;grid-row:2;align-self:end;
      margin:0 0 6px; font-size:10px;color:#a5b4c7;font-weight:620;
    }
    #plv-painel-envios #veiculos > .card > .plate {
      grid-column:1;grid-row:3; align-self:start;
      width:100%;max-width:245px;height:41px;min-height:41px;
      padding:8px 12px;border-radius:9px;
      font-size:15px;font-weight:650;letter-spacing:1.3px;
      text-transform:uppercase;
    }
    #plv-painel-envios #veiculos > .card > .pl-car-note {
      grid-column:1;grid-row:4;margin:7px 0 0;
      font-size:10px;color:#788ca5;line-height:1.3;
    }
    #plv-painel-envios #veiculos > .card > .tabs {
      grid-column:2;grid-row:2;display:flex;gap:3px;
      margin:0;align-self:end;min-width:0;
      border-bottom:1px solid rgba(146,176,209,.18);
      position:relative;z-index:1;
    }
    #plv-painel-envios #veiculos > .card > .tabs .tab {
      display:inline-flex;align-items:center;justify-content:center;
      flex:0 1 auto;min-width:0;width:auto;min-height:35px;
      border:1px solid transparent;border-bottom:0;
      border-radius:9px 9px 0 0;
      padding:7px clamp(7px,1.3vw,17px);
      background:transparent;color:#8fa5be;
      font-size:11px;font-weight:570;text-align:center;
      white-space:normal;line-height:1.16;
      box-shadow:none;transform:none;
    }
    #plv-painel-envios #veiculos > .card > .tabs .tab[aria-selected="true"] {
      border-color:rgba(146,176,209,.19);color:#e5effa;
      background:#0e1724;box-shadow:none;
      font-weight:690;
      margin-bottom:-1px;padding-bottom:8px;
    }
    #plv-painel-envios #veiculos > .card > .tabs .tab:hover:not(:disabled) {
      color:#ebf4ff;background:#152134;border-color:rgba(146,176,209,.19);
    }
    #plv-painel-envios #veiculos > .card > .painel-completo,
    #plv-painel-envios #veiculos > .card > .painel-separado {
      grid-column:2;grid-row:3/5;
      align-self:stretch;min-width:0;
      background:#0e1724;
      border:1px solid rgba(146,176,209,.19);
      border-top:0;border-radius:0 9px 9px 9px;
      padding:12px 14px;
    }
    #plv-painel-envios #veiculos > .card .pl-upload-title {
      display:flex;align-items:center;justify-content:space-between;
      flex-wrap:wrap;gap:6px 10px;margin-bottom:9px;
    }
    #plv-painel-envios #veiculos > .card .pl-upload-title strong {
      color:#d7e5f3;font-size:11px;font-weight:675;
    }
    #plv-painel-envios #veiculos > .card .pl-upload-title>span {
      color:#8698b0;font-size:10px;
    }
    #plv-painel-envios #veiculos > .card .pl-upload-tools {
      display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0;
    }
    #plv-painel-envios #veiculos > .card .escolher-completo {
      min-height:38px;padding:8px 12px;flex:0 0 auto;
      background:#1d3654;color:#d8ebff;border-color:#31567d;
      border-radius:9px;font-size:11px;font-weight:670;
    }
    #plv-painel-envios #veiculos > .card .escolher-completo:hover:not(:disabled) {background:#24466c;border-color:#497fac;}
    #plv-painel-envios #veiculos > .card .pl-file-indicator {
      min-width:120px;flex:1 1 150px;display:flex;
      align-items:center;gap:9px;
      border:1px solid rgba(146,176,209,.14);
      border-radius:8px;padding:6px 9px;background:#101c2b;
      min-height:38px;
    }
    #plv-painel-envios #veiculos > .card .pl-file-mini {
      flex:0 0 auto;border:1px solid #354a60;background:#1b2b3c;
      color:#9eb6d1;border-radius:5px;padding:3px 4px;
      font-size:8px;font-weight:800;
    }
    #plv-painel-envios #veiculos > .card .pl-file-info {min-width:0;display:flex;flex-direction:column;gap:2px;flex:1;}
    #plv-painel-envios #veiculos > .card .selected-name {
      margin:0;font-size:10px;font-weight:590;
      white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
      color:#98abc2;
    }
    #plv-painel-envios #veiculos > .card .pl-file-size {color:#778aa3;font-size:9px;line-height:1.2;}
    #plv-painel-envios #veiculos > .card .pl-file-indicator.tem-arquivo {
      border-color:rgba(80,161,137,.30);background:rgba(42,109,87,.09);
    }
    #plv-painel-envios #veiculos > .card .pl-file-indicator.tem-arquivo .pl-file-mini {border-color:rgba(80,161,137,.35);color:#8ad5ba;background:rgba(43,125,100,.15);}
    #plv-painel-envios #veiculos > .card .pl-file-indicator.tem-arquivo .selected-name {color:#d6e9df;}
    #plv-painel-envios #veiculos > .card .remover-completo {
      margin:0;padding:7px;min-height:32px;flex:0 0 auto;
      color:#d6949e;background:transparent;border-color:transparent;
      font-size:10px;
    }
    #plv-painel-envios #veiculos > .card .remover-completo:hover:not(:disabled) {background:rgba(195,95,110,.12);}
    #plv-painel-envios #veiculos > .card .painel-separado .hint {
      margin:0 0 8px;color:#8599af;font-size:10px;
    }
    #plv-painel-envios #veiculos > .card .painel-separado .docs {
      display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
    }
    #plv-painel-envios #veiculos > .card .painel-separado .doc {
      min-width:0;margin:0;padding:9px;background:#121f2f;
      border:1px solid rgba(146,176,209,.14);
    }
    #plv-painel-envios #veiculos > .card .painel-separado .dochead {font-size:11px;margin-bottom:6px;}
    #plv-painel-envios #veiculos > .card .painel-separado .actions {gap:5px;}
    #plv-painel-envios #veiculos > .card .painel-separado .actions button {
      min-height:30px;padding:5px 8px;font-size:10px;
    }
    #plv-painel-envios #veiculos > .card .adicionar-doc {
      min-height:30px;margin-top:9px;padding:6px 10px;
      color:#b5cbe1;background:transparent;
      border:1px dashed rgba(120,166,213,.35);
      border-radius:8px;font-size:10px;
    }
    #plv-painel-envios #formulario > #adicionar-veiculo {
      width:auto;justify-self:start;min-width:190px;
      padding:8px 13px;border:1px solid rgba(119,162,203,.25);
      background:transparent;min-height:39px;color:#b0c6da;
      font-weight:570;font-size:11px;
    }
    #plv-painel-envios #formulario > #enviar {
      justify-self:end;width:clamp(210px,40%,360px);
      min-height:39px;background:#286cb3;
      border-color:#3b86cc;font-size:12px;font-weight:650;
    }
    #plv-painel-envios #formulario > #resultado {
      padding:9px 12px;border-radius:10px;
      background:#101b28;
    }
    #plv-painel-envios #formulario > #resultado h2 {font-size:12px;margin-bottom:5px;}
    #plv-painel-envios #formulario > #resultado .results {font-size:11px;margin:0;}
    #plv-painel-envios #formulario > #resultado .results li {margin:4px 0;}
    @media (max-width:1023px) {
      #plv-painel-envios #veiculos > .card {grid-template-columns:minmax(0,1fr);padding:12px;row-gap:0;}
      #plv-painel-envios #veiculos > .card > .head {grid-row:1;grid-column:1;}
      #plv-painel-envios #veiculos > .card > label[for^="placa-"] {grid-column:1;grid-row:2;}
      #plv-painel-envios #veiculos > .card > .plate {grid-column:1;grid-row:3;width:100%;max-width:280px;}
      #plv-painel-envios #veiculos > .card > .pl-car-note {grid-column:1;grid-row:4;margin-bottom:11px;}
      #plv-painel-envios #veiculos > .card > .tabs {grid-column:1;grid-row:5;}
      #plv-painel-envios #veiculos > .card > .painel-completo,
      #plv-painel-envios #veiculos > .card > .painel-separado {grid-column:1;grid-row:6;padding:11px;}
      #plv-painel-envios #formulario > #adicionar-veiculo {min-width:0;width:100%;}
      #plv-painel-envios #formulario > #enviar {width:100%;}
    }
    @media (max-width:680px) {
      #plv-painel-envios #veiculos > .card > .plate {max-width:100%;}
      #plv-painel-envios #veiculos > .card > .tabs .tab {flex:1 1 50%;padding:7px 6px;font-size:10px;}
      #plv-painel-envios #veiculos > .card .painel-separado .docs {grid-template-columns:1fr;}
      #plv-painel-envios #veiculos > .card .pl-upload-tools {align-items:stretch;}
      #plv-painel-envios #veiculos > .card .escolher-completo {flex:1 1 100%;}
      #plv-painel-envios #veiculos > .card .pl-file-indicator {flex:1 1 auto;}
      #plv-painel-envios #formulario > #adicionar-veiculo,
      #plv-painel-envios #formulario > #enviar {width:100%;}
      /* Durante a interação com os campos do veículo, a barra inferior
         não deve reaparecer sobre as abas quando um input perde o foco. */
      body:has(#plv-painel-envios:not([hidden]) #veiculos > .card:focus-within) .pl-sidebar {
        transform:translateY(calc(120% + env(safe-area-inset-bottom,0px)));
        pointer-events:none;
      }
    }


    /* BRADOC | DOCUMENTOS INDIVIDUAIS COMPACTOS (V2)
       Um documento por linha; anexos somente com nome + remover. */
    #plv-painel-envios #veiculos > .card .painel-separado .docs {
      display:flex;
      flex-direction:column;
      gap:6px;
      min-width:0;
    }
    #plv-painel-envios #veiculos > .card .painel-separado .doc {
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      align-items:center;
      column-gap:10px;
      row-gap:6px;
      margin:0;
      padding:7px 9px;
      min-height:44px;
      border-radius:8px;
      background:#101b2a;
      border:1px solid rgba(146,176,209,.14);
    }
    #plv-painel-envios #veiculos > .card .painel-separado .doc.tem-anexo {
      border-color:rgba(77,166,136,.30);
    }
    #plv-painel-envios #veiculos > .card .painel-separado .doc-info {
      grid-column:1;grid-row:1;
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      min-width:0;
      gap:5px 10px;
    }
    #plv-painel-envios #veiculos > .card .painel-separado .dochead {
      margin:0;
      min-width:0;
      color:#bdcce0;
      font-size:11px;
      font-weight:620;
      line-height:1.3;
    }
    #plv-painel-envios #veiculos > .card .painel-separado .doc.tem-anexo .dochead {
      color:#8ecbb3;
    }
    #plv-painel-envios #veiculos > .card .painel-separado .actions {
      grid-column:2;grid-row:1;
      display:flex;
      flex-wrap:nowrap;
      justify-content:flex-end;
      gap:5px;
      min-width:0;
    }
    #plv-painel-envios #veiculos > .card .painel-separado .actions button {
      min-height:29px;
      height:29px;
      padding:4px 9px;
      border-radius:7px;
      font-size:10px;
      font-weight:610;
      line-height:1;
      white-space:nowrap;
    }
    #plv-painel-envios #veiculos > .card .painel-separado .files {
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:5px;
      list-style:none;
      margin:0;
      padding:0;
      min-width:0;
    }
    #plv-painel-envios #veiculos > .card .painel-separado .files[hidden],
    #plv-painel-envios #veiculos > .card .painel-separado .files:empty {
      display:none;
    }
    #plv-painel-envios #veiculos > .card .painel-separado .files li {
      display:inline-flex;
      align-items:center;
      min-width:0;
      max-width:100%;
      gap:5px;
      margin:0;
      padding:2px 3px 2px 8px;
      background:rgba(48,108,89,.13);
      border:1px solid rgba(89,174,144,.18);
      border-radius:6px;
      font-size:10px;
      color:#cbd9e7;
      line-height:1.25;
    }
    #plv-painel-envios #veiculos > .card .painel-separado .doc-file-name {
      display:block;
      min-width:0;
      max-width:340px;
      overflow:hidden;
      white-space:nowrap;
      text-overflow:ellipsis;
    }
    #plv-painel-envios #veiculos > .card .painel-separado .remove-file {
      flex:0 0 20px;
      width:20px;
      height:20px;
      min-height:20px;
      padding:0;
      margin:0;
      display:inline-flex;
      justify-content:center;
      align-items:center;
      border:0;
      border-radius:5px;
      background:transparent;
      font-size:16px;
      font-weight:600;
      color:#d6a5af;
      line-height:1;
    }
    #plv-painel-envios #veiculos > .card .painel-separado .remove-file:hover {
      background:rgba(209,113,132,.14);
    }
    #plv-painel-envios #veiculos > .card .painel-separado .adicionar-doc {
      min-height:30px;
      margin-top:7px;
    }
    @media (max-width:380px) {
      #plv-painel-envios #veiculos > .card .painel-separado .doc {
        column-gap:5px;
        padding:6px;
      }
      #plv-painel-envios #veiculos > .card .painel-separado .dochead {font-size:10px;}
      #plv-painel-envios #veiculos > .card .painel-separado .actions button {padding:4px 6px;font-size:9px;}
      #plv-painel-envios #veiculos > .card .painel-separado .doc-file-name {max-width:200px;}
    }

  
    /* Exclusão de linha de documento, diferente de excluir apenas um anexo */
    #plv-painel-envios #veiculos > .card .painel-separado .actions .excluir-doc {
      color:#c8a4ad;
      border:1px solid rgba(219,107,128,.22);
      background:transparent;
      padding:4px 7px;
      min-width:30px;
      justify-content:center;
    }
    #plv-painel-envios #veiculos > .card .painel-separado .actions .excluir-doc:hover {
      color:#ffc4cb;
      background:rgba(219,107,128,.10);
      border-color:rgba(219,107,128,.38);
    }
    #plv-painel-envios #veiculos > .card .painel-separado .actions .excluir-doc:focus-visible {
      outline:2px solid #e9a3b4;
      outline-offset:2px;
    }

/* BRADOC | Logo oficial sobre fundo branco para preservar o lettering preto */
.pl-topbar .brand{display:flex;align-items:center;flex:none;max-width:none;margin:0;line-height:1;min-width:0;letter-spacing:0}
.pl-topbar .bradoc-logo-badge{display:inline-flex;align-items:center;justify-content:center;line-height:0;padding:3px 7px;background:#fff;border:1px solid rgba(255,255,255,.22);border-radius:7px;flex:none;box-shadow:0 2px 8px rgba(0,0,0,.10)}
.pl-topbar .bradoc-logo-badge img{display:block;width:168px;height:auto;max-width:100%;object-fit:contain}
@media(min-width:1024px) and (max-height:950px){.pl-topbar .bradoc-logo-badge img{width:153px}}
@media(max-width:760px){.pl-topbar .bradoc-logo-badge img{width:140px}}
@media(max-width:380px){.pl-topbar .bradoc-logo-badge{padding:2px 5px}.pl-topbar .bradoc-logo-badge img{width:115px}}

/* 2026-10-21: logotipo sem caixa branca — versão com letreiro claro para cabeçalho escuro */
.pl-topbar .bradoc-logo-badge{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;}
.pl-topbar .bradoc-logo-badge img{background:transparent!important;border:0!important;box-shadow:none!important;}
