
  :root {
    --navy-950: #040d1a;
    --navy-900: #060f20;
    --navy-850: #081428;
    --navy-800: #0d1f3c;
    --navy-700: #102448;
    --navy-600: #1a3460;
    --navy-500: #1e3d72;
    --border: #1a2f52;
    --border-bright: #2a4878;
    --red-cbmes: #cc1c1c;
    --red-bright: #e82222;
    --red-glow: rgba(204, 28, 28, 0.18);
    --gold: #d4a853;
    --gold-bright: #f0c060;
    --gold-dim: rgba(212, 168, 83, 0.15);
    --cyan: #38b2f0;
    --cyan-dim: rgba(56, 178, 240, 0.12);
    --green: #2cb87a;
    --green-dim: rgba(44, 184, 122, 0.12);
    --amber: #e8943a;
    --amber-dim: rgba(232, 148, 58, 0.12);
    --text-primary: #e8eef8;
    --text-secondary: #8da5c8;
    --text-dim: #4a6080;
    --mono: 'JetBrains Mono', monospace;
    --sans: 'Exo 2', sans-serif;
    --radius: 8px;
    --radius-lg: 12px;
    /* Escala de design consolidada (frontend-design) */
    --radius-sm: 6px;
    --radius-xl: 16px;
    --space-1: 6px;
    --space-2: 12px;
    --space-3: 18px;
    --space-4: 24px;
    --shadow-sm: 0 2px 8px rgba(0,0,0,.22);
    --shadow-md: 0 4px 18px rgba(0,0,0,.28);
    --shadow-lg: 0 10px 32px rgba(0,0,0,.4);
    --card-bg: linear-gradient(165deg, #0e2444, #0a1a30);
    --ring: 0 0 0 2px rgba(56,178,240,.6);
  }

  /* Acessibilidade: respeitar preferência de movimento reduzido */
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
      scroll-behavior: auto !important;
    }
  }

  /* Seleção de texto com identidade institucional */
  ::selection { background: rgba(204,28,28,.32); color: #fff; }

  * { box-sizing: border-box; margin: 0; padding: 0; }

  body {
    font-family: var(--sans);
    background: var(--navy-950);
    color: var(--text-primary);
    min-height: 100vh;
    font-size: 14px;
    line-height: 1.5;
  }

  /* ─── HEADER ─── */
  .header {
    background: linear-gradient(135deg, var(--navy-850) 0%, var(--navy-800) 50%, #0e1d38 100%);
    border-bottom: 2px solid var(--red-cbmes);
    padding: 0;
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: 0 4px 30px rgba(0,0,0,0.6), 0 0 60px rgba(204,28,28,0.05);
  }

  .header-inner {
    max-width: 1600px;
    margin: 0 auto;
    padding: 16px 28px;
    display: flex;
    align-items: center;
    gap: 20px;
  }

  .header-emblem {
    width: 56px;
    height: 56px;
    flex-shrink: 0;
    background: var(--red-glow);
    border: 2px solid var(--red-cbmes);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
  }
  .header-aguia {
    height: 70px;
    width: auto;
    flex-shrink: 0;
    object-fit: contain;
    filter: drop-shadow(0 0 8px rgba(255,255,255,0.25));
  }
  .header-bandeira {
    height: 46px;
    width: auto;
    flex-shrink: 0;
    border-radius: 5px;
    border: 1px solid rgba(255,255,255,0.25);
    box-shadow: 0 2px 8px rgba(0,0,0,0.4);
    object-fit: contain;
  }

  .header-brasao {
    width: 68px;
    height: 68px;
    flex-shrink: 0;
    border-radius: 50%;
    border: 2px solid var(--red-cbmes);
    box-shadow: 0 0 18px rgba(204, 28, 28, 0.35), 0 0 6px rgba(0,0,0,0.6);
    background: #fff;
    object-fit: contain;
    padding: 3px;
    display: block;
  }

  .header-text { flex: 1; }

  .header-org {
    font-size: 9.5px;
    font-weight: 600;
    letter-spacing: 0.12em;
    color: var(--red-cbmes);
    text-transform: uppercase;
    margin-bottom: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .header-title {
    font-size: 19px;
    font-weight: 800;
    color: var(--text-primary);
    letter-spacing: 0.04em;
    line-height: 1.1;
    text-transform: uppercase;
  }

  .header-title span { color: var(--gold-bright); text-shadow: 0 0 12px rgba(240,192,96,.3); }

  .header-badge {
    background: var(--red-cbmes);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 4px 14px;
    border-radius: 20px;
    text-transform: uppercase;
  }

  /* ─── MAIN ─── */
  .main {
    max-width: 1600px;
    margin: 0 auto;
    padding: 24px 28px;
  }

  /* ─── STATS ─── */
  .stats-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 14px;
    margin-bottom: 22px;
  }

  .stat-card {
    background: var(--navy-800);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 16px 18px;
    position: relative;
    overflow: hidden;
    transition: border-color 0.2s, transform 0.2s;
    cursor: default;
  }

  .stat-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  }

  .stat-card.red::before   { background: var(--red-cbmes); }
  .stat-card.gold::before  { background: var(--gold); }
  .stat-card.cyan::before  { background: var(--cyan); }
  .stat-card.green::before { background: var(--green); }
  .stat-card.amber::before  { background: var(--amber); }
  .stat-card.purple::before { background: #9b59f0; }
  .stat-card.teal::before   { background: #17a589; }

  .stat-card:hover { border-color: var(--border-bright); transform: translateY(-2px); }

  .stat-icon {
    font-size: 22px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 4px;
    line-height: 1;
    min-height: 28px;
  }
  .stat-icon span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
  }

  .stat-icon-xl {
    font-size: 30px;
    margin-bottom: 6px;
    display: block;
    line-height: 1;
  }

  .quartel-icon {
    display: block;
    margin-bottom: 7px;
  }

  .viatura-leve {
    font-size: 24px;
    margin-bottom: 8px;
    display: block;
    filter: drop-shadow(0 0 3px rgba(220,38,38,0.55));
  }

  .stat-value {
    font-size: 32px;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 4px;
    font-family: var(--mono);
  }
  .stat-card.red   .stat-value { color: #ff4444; }
  .stat-card.gold  .stat-value { color: var(--gold-bright); }
  .stat-card.cyan  .stat-value { color: var(--cyan); }
  .stat-card.green .stat-value { color: var(--green); }
  .stat-card.amber  .stat-value { color: var(--amber); }
  .stat-card.purple .stat-value { color: #b07ef8; }
  .stat-card.teal   .stat-value { color: #1de9b6; }

  .stat-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--text-secondary);
  }

  /* ─── FILTERS ─── */
  .filters-panel {
    background: var(--navy-800);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 18px 20px;
    margin-bottom: 18px;
  }

  .filters-header {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: var(--text-secondary);
    text-transform: uppercase;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .filters-header::before { content: '⚙'; font-size: 13px; }

  .filters-row {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: flex-end;
  }

  .filter-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex: 1;
    min-width: 160px;
  }

  .filter-group.wide { flex: 2; min-width: 240px; }

  .filter-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--text-dim);
  }

  .filter-control {
    background: var(--navy-700);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text-primary);
    font-family: var(--sans);
    font-size: 13px;
    padding: 9px 12px;
    transition: border-color 0.2s, box-shadow 0.2s;
    outline: none;
    width: 100%;
  }

  .filter-control:focus {
    border-color: var(--red-cbmes);
    box-shadow: 0 0 0 3px var(--red-glow);
  }

  select.filter-control { cursor: pointer; appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238da5c8'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 10px center; padding-right: 30px;
  }

  .search-wrapper {
    position: relative;
  }

  .search-icon {
    position: absolute;
    left: 10px; top: 50%; transform: translateY(-50%);
    color: var(--text-dim);
    font-size: 14px;
    pointer-events: none;
  }

  .search-wrapper .filter-control { padding-left: 32px; }

  .btn-reset {
    background: transparent;
    border: 1px solid var(--border-bright);
    border-radius: var(--radius);
    color: var(--text-secondary);
    font-family: var(--sans);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 9px 18px;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
    flex-shrink: 0;
    align-self: flex-end;
  }

  .btn-reset:hover {
    background: var(--red-glow);
    border-color: var(--red-cbmes);
    color: #ff6666;
  }

  /* ─── RESULTS BAR ─── */
  .results-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
    padding: 0 2px;
  }

  .results-count {
    font-size: 12px;
    color: var(--text-secondary);
    font-weight: 500;
  }

  .results-count strong {
    color: var(--gold-bright);
    font-family: var(--mono);
    font-size: 14px;
  }

  .legend-row {
    display: flex;
    gap: 16px;
    align-items: center;
  }

  .legend-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: var(--text-dim);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.08em;
  }

  .legend-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
  }

  /* ─── TABLE ─── */
  .table-wrapper {
    background: var(--navy-800);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: 0 8px 40px rgba(0,0,0,0.4);
  }

  .table-scroll { overflow-x: auto; }

  table {
    width: 100%;
    border-collapse: collapse;
    min-width: 1000px;
  }

  thead { position: sticky; top: 0; z-index: 10; }

  thead tr {
    background: var(--navy-700);
    border-bottom: 2px solid var(--red-cbmes);
  }

  th {
    padding: 12px 14px;
    text-align: left;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--text-secondary);
    white-space: nowrap;
    cursor: pointer;
    user-select: none;
    transition: color 0.2s;
  }

  th:hover { color: var(--text-primary); }
  th.sorted { color: var(--gold-bright); }

  th .sort-icon {
    display: inline-block;
    margin-left: 5px;
    opacity: 0.4;
    font-size: 9px;
    transition: opacity 0.2s;
  }
  th:hover .sort-icon { opacity: 0.7; }
  th.sorted .sort-icon { opacity: 1; }

  tbody tr {
    border-bottom: 1px solid rgba(26, 47, 82, 0.6);
    transition: background 0.15s;
  }

  tbody tr:hover { background: rgba(56, 178, 240, 0.04); }
  tbody tr:last-child { border-bottom: none; }

  td {
    padding: 11px 14px;
    font-size: 12.5px;
    color: var(--text-primary);
    vertical-align: top;
  }

  /* Column styling */
  .col-sub {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-secondary);
    white-space: nowrap;
    max-width: 160px;
  }

  .col-sub-badge {
    display: inline-block;
    background: var(--navy-700);
    border: 1px solid var(--border);
    border-radius: 4px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--cyan);
    padding: 2px 7px;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .col-prefixo {
    font-family: var(--mono);
    font-size: 12px;
    font-weight: 600;
    color: var(--text-primary);
    white-space: nowrap;
  }

  .tipo-badge {
    display: inline-block;
    border-radius: 4px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 2px 7px;
    margin-top: 3px;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .tipo-op {
    background: var(--red-glow);
    border: 1px solid rgba(204,28,28,0.4);
    color: #ff6666;
  }

  .tipo-adm {
    background: var(--cyan-dim);
    border: 1px solid rgba(56,178,240,0.3);
    color: var(--cyan);
  }

  .tipo-tropa {
    background: var(--gold-dim);
    border: 1px solid rgba(212,168,83,0.3);
    color: var(--gold-bright);
  }

  .col-placa {
    font-family: var(--mono);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: var(--gold-bright);
    white-space: nowrap;
  }

  .col-modelo {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-primary);
  }

  .col-marca {
    font-size: 12px;
    color: var(--text-secondary);
  }

  .col-ano {
    font-family: var(--mono);
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    white-space: nowrap;
  }

  .ano-old    { color: #ff6666; }
  .ano-mid    { color: var(--amber); }
  .ano-recent { color: var(--green); }
  .ano-new    { color: var(--cyan); }

  .col-eqp {
    font-size: 11px;
    color: var(--text-secondary);
    max-width: 220px;
    line-height: 1.4;
  }

  .eqp-tag {
    display: inline-block;
    background: var(--green-dim);
    border: 1px solid rgba(44,184,122,0.25);
    color: var(--green);
    border-radius: 4px;
    font-size: 10px;
    font-family: var(--mono);
    padding: 1px 6px;
    margin-bottom: 2px;
    font-weight: 600;
  }

  .col-coringa {
    font-family: var(--mono);
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
  }

  .coringa-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: var(--amber-dim);
    border: 1px solid rgba(232,148,58,0.3);
    color: var(--amber);
    border-radius: 4px;
    padding: 3px 9px;
    font-size: 11px;
  }

  .coringa-tag::before { content: '♦'; font-size: 9px; }

  .empty-cell { color: var(--text-dim); font-size: 11px; }

  .comb-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    padding: 3px 8px;
    white-space: nowrap;
    text-transform: uppercase;
  }
  .comb-diesel {
    background: rgba(255, 180, 40, 0.12);
    border: 1px solid rgba(255, 180, 40, 0.35);
    color: #fbb830;
  }
  .comb-alcool {
    background: rgba(56, 178, 240, 0.12);
    border: 1px solid rgba(56, 178, 240, 0.3);
    color: #38b2f0;
  }
  .comb-flex {
    background: rgba(44, 184, 122, 0.12);
    border: 1px solid rgba(44, 184, 122, 0.3);
    color: #2cb87a;
  }

  /* ─── EMPTY STATE ─── */
  .empty-state {
    text-align: center;
    padding: 60px 20px;
    color: var(--text-dim);
  }

  .empty-state .icon { font-size: 40px; margin-bottom: 12px; opacity: 0.4; }
  .empty-state p { font-size: 14px; }

  /* ─── FOOTER ─── */
  .footer {
    max-width: 1600px;
    margin: 20px auto 0;
    padding: 0 28px 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11px;
    color: var(--text-dim);
    border-top: 1px solid var(--border);
    padding-top: 14px;
    gap: 12px;
    flex-wrap: wrap;
  }

  .footer strong { color: var(--text-secondary); }

  /* ─── SCROLLBAR ─── */
  ::-webkit-scrollbar { width: 6px; height: 6px; }
  ::-webkit-scrollbar-track { background: var(--navy-900); }
  ::-webkit-scrollbar-thumb { background: var(--navy-600); border-radius: 3px; }
  ::-webkit-scrollbar-thumb:hover { background: var(--border-bright); }

  /* ─── CARDS DE SUBUNIDADES ─── */
  .sub-section {
    margin-bottom: 22px;
  }

  .sub-section-title {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: var(--text-secondary);
    text-transform: uppercase;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .sub-section-title::before { content: '🏢'; font-size: 13px; }

  .sub-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 14px;
  }

  .sub-card {
    background: var(--navy-800);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: border-color 0.2s, transform 0.15s, box-shadow 0.2s;
    cursor: pointer;
    display: flex;
    flex-direction: column;
  }

  .sub-card:hover {
    border-color: var(--red-cbmes);
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(0,0,0,0.4), 0 0 24px rgba(204,28,28,0.09);
  }

  .sub-card-header {
    background: linear-gradient(135deg, var(--navy-700) 0%, #0d1d3a 100%);
    border-bottom: 2px solid var(--red-cbmes);
    padding: 11px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  .sub-card-header-left { flex: 1; min-width: 0; }

  .sub-card-tag {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: var(--red-cbmes);
    text-transform: uppercase;
    margin-bottom: 3px;
  }

  .sub-card-name {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.05em;
    color: var(--text-primary);
    text-transform: uppercase;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .sub-card-name small {
    display: block;
    font-size: 10px;
    font-weight: 500;
    color: var(--cyan);
    letter-spacing: 0.06em;
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .sub-card-name small.pab-hl {
    font-size: 12px;
    font-weight: 800;
    color: #eaff00;
    text-shadow: 0 0 6px rgba(234,255,0,.55);
  }

  .sub-card-total-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
  }

  .sub-card-total {
    background: var(--red-cbmes);
    color: #fff;
    font-family: var(--mono);
    font-size: 22px;
    font-weight: 800;
    width: 46px;
    height: 46px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 12px rgba(204,28,28,0.4);
    line-height: 1;
  }

  .sub-card-total-label {
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-dim);
    margin-top: 3px;
  }

  .sub-card-body {
    padding: 13px 14px 10px;
    display: flex;
    flex-direction: column;
    gap: 9px;
    flex: 1;
  }

  .sub-tipo-row {
    display: grid;
    grid-template-columns: 26px 1fr auto auto;
    align-items: center;
    gap: 8px;
  }

  .sub-tipo-icon {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    flex-shrink: 0;
  }
  .icon-op    { background: rgba(204,28,28,0.18);  border: 1px solid rgba(204,28,28,0.35); }
  .icon-adm   { background: rgba(155,89,240,0.18); border: 1px solid rgba(155,89,240,0.35); }
  .icon-tropa { background: rgba(212,168,83,0.18); border: 1px solid rgba(212,168,83,0.35); }

  .sub-tipo-middle { display: flex; flex-direction: column; gap: 4px; min-width: 0; }

  .sub-tipo-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1;
  }

  .sub-tipo-bar-wrap {
    height: 5px;
    background: var(--navy-600);
    border-radius: 3px;
    overflow: hidden;
    width: 100%;
  }

  .sub-tipo-bar {
    height: 100%;
    border-radius: 3px;
    transition: width 0.6s cubic-bezier(.4,0,.2,1);
  }

  .bar-op    { background: linear-gradient(90deg, #991515, #e82222); }
  .bar-adm   { background: linear-gradient(90deg, #6424c0, #9b59f0); }
  .bar-tropa { background: linear-gradient(90deg, #a07828, #f0c060); }

  .sub-tipo-count {
    font-family: var(--mono);
    font-size: 15px;
    font-weight: 800;
    text-align: right;
    line-height: 1;
    flex-shrink: 0;
  }

  .sub-tipo-comb {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 2px 6px;
    border-radius: 3px;
    flex-shrink: 0;
    white-space: nowrap;
    text-align: center;
  }
  .comb-d { background: rgba(255,180,40,0.12);  border: 1px solid rgba(255,180,40,0.3);  color: #fbb830; }
  .comb-a { background: rgba(56,178,240,0.12);  border: 1px solid rgba(56,178,240,0.25); color: #38b2f0; }

  .sub-card-divider {
    height: 1px;
    background: var(--border);
    margin: 2px 0;
  }

  .sub-card-footer {
    padding: 8px 14px;
    border-top: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    background: rgba(6,15,32,0.4);
  }

  .sub-footer-pills { display: flex; gap: 6px; flex-wrap: wrap; }

  .sub-footer-pill {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.07em;
    padding: 2px 8px;
    border-radius: 10px;
    text-transform: uppercase;
  }
  .pill-eqp { background: var(--green-dim);  border: 1px solid rgba(44,184,122,0.25); color: var(--green); }
  .pill-cor          { background: rgba(52,152,219,.12);  border: 1px solid rgba(52,152,219,.3);   color: #3498db; }
  .pill-cor.vinculado{ background: rgba(231,76,60,.12);   border: 1px solid rgba(231,76,60,.35);   color: #e74c3c; }

  .sub-footer-hint {
    font-size: 9px;
    color: var(--text-dim);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
    flex-shrink: 0;
  }

  .sub-card-contact {
    padding: 8px 14px 10px;
    border-top: 1px solid var(--border);
    background: rgba(6,15,32,0.35);
  }

  .sub-contact-pairs {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
  }

  .sub-contact-pair {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 110px;
    flex: 1;
  }

  .sub-contact-tel {
    font-family: var(--mono);
    font-size: 11px;
    font-weight: 700;
    color: var(--green);
    letter-spacing: 0.03em;
    line-height: 1.3;
  }

  .sub-contact-name {
    font-size: 10px;
    font-weight: 600;
    color: var(--text-secondary);
    letter-spacing: 0.04em;
    line-height: 1.2;
  }


  /* ─── NAVEGAÇÃO DE ABAS ─── */
  .tab-nav {
    background: var(--navy-850);
    border-bottom: 1px solid var(--border);
    position: sticky; top: 80px; z-index: 90;
    box-shadow: 0 2px 12px rgba(0,0,0,0.3);
  }
  .tab-nav-inner {
    max-width: 1600px; margin: 0 auto;
    padding: 0 28px;
    display: flex; gap: 0; align-items: flex-end;
  }
  .tab-btn {
    background: transparent;
    border: none; border-bottom: 3px solid transparent;
    color: var(--text-dim); font-family: var(--sans);
    font-size: 12px; font-weight: 700; letter-spacing: 0.12em;
    text-transform: uppercase; padding: 13px 22px;
    cursor: pointer; transition: all 0.2s;
    display: flex; align-items: center; gap: 8px;
  }
  .tab-btn:hover { color: #e8eef8; background: rgba(255,255,255,0.05); }
  .tab-btn:focus-visible { outline: none; box-shadow: inset var(--ring); border-radius: 4px; }
  .tab-btn.active { color: #fff; border-bottom-color: var(--red-cbmes); background: linear-gradient(180deg, transparent 0%, rgba(204,28,28,.10) 100%); }
  .tab-btn.active svg { filter: drop-shadow(0 0 5px rgba(204,28,28,.45)); }
  /* micro-realce no hover dos cards genéricos */
  .cond-kpi:focus-visible, .leil-kpi-card:focus-visible { outline: none; box-shadow: var(--ring); }
  #tab-leilao-doacao { color: #eaff00 !important; text-shadow: 0 0 8px rgba(234,255,0,.5); }
  #tab-leilao-doacao:hover { color: #f5ff66 !important; background: rgba(234,255,0,.06); }
  #tab-leilao-doacao.active { color: #eaff00 !important; border-bottom-color: #eaff00 !important; background: rgba(234,255,0,.08); }
  #tab-infracoes { color: #f5fbff !important; text-shadow: 0 0 8px rgba(245,251,255,.7); }
  #tab-infracoes:hover { color: #ffffff !important; background: rgba(245,251,255,.08); }
  #tab-infracoes.active { color: #ffffff !important; border-bottom-color: #f5fbff !important; background: rgba(245,251,255,.10); text-shadow: 0 0 10px rgba(245,251,255,.9); }
  #tab-condutores { color: #1e90ff !important; text-shadow: 0 0 8px rgba(30,144,255,.8); }
  #tab-condutores:hover { color: #4da8ff !important; background: rgba(30,144,255,.08); }
  #tab-condutores.active { color: #4da8ff !important; border-bottom-color: #1e90ff !important; background: rgba(30,144,255,.12); text-shadow: 0 0 10px rgba(30,144,255,.9); }

  /* Dashboard — verde fluorescente */
  #tab-dashboard { color: #4affa0; }
  #tab-dashboard:hover { color: #80ffc0; }
  #tab-dashboard.active {
    color: #00ff88;
    border-bottom-color: #00ff88;
    background: rgba(0,255,136,0.08);
    text-shadow: 0 0 12px rgba(0,255,136,0.5);
  }

  /* Calendário — azul fluorescente */
  #tab-calendario { color: #40c8ff; }
  #tab-calendario:hover { color: #80d8ff; }
  #tab-calendario.active {
    color: #00d4ff;
    border-bottom-color: #00d4ff;
    background: rgba(0,212,255,0.08);
    text-shadow: 0 0 12px rgba(0,212,255,0.5);
  }

  /* Leilões — laranja fluorescente */
  #tab-leiloes { color: #ffaa40; }
  #tab-combustiveis { color: #ff6666; }
  #tab-combustiveis:hover { color: #ff9999; }
  #tab-combustiveis.active {
    color: #e74c3c;
    border-bottom-color: #e74c3c;
    background: rgba(231,76,60,.1);
    text-shadow: 0 0 14px rgba(231,76,60,.6);
  }
  #tab-combustiveis:hover { color: #ff9999; }
  #tab-combustiveis { color: #ff6666; }
  #tab-combustiveis.active {
    color: #f59e0b;
    border-bottom-color: #f59e0b;
    background: rgba(245,158,11,0.08);
    text-shadow: 0 0 12px rgba(245,158,11,0.5);
  }
  #tab-leiloes:hover { color: #ffc070; }
  #tab-leiloes.active {
    color: #ff9000;
    border-bottom-color: #ff9000;
    background: rgba(255,144,0,0.08);
    text-shadow: 0 0 12px rgba(255,144,0,0.5);
  }
  .tab-content { display: none; }
  .tab-content.active { display: block; }


/* ─── CALENDÁRIO (aba) ─── */

:root{
  --n950:#040d1a;--n900:#060f20;--n850:#081428;--n800:#0d1f3c;
  --n700:#102448;--n600:#1a3460;--bd:#1a2f52;--bdb:#2a4878;
  --red:#cc1c1c;--rg:rgba(204,28,28,0.18);
  --gold:#d4a853;--gb:#f0c060;--cyan:#38b2f0;
  --tp:#e8eef8;--ts:#8da5c8;--td:#4a6080;
  --sans:"Exo 2",sans-serif;--mono:"JetBrains Mono",monospace;
  --emp:#2ecc71;--res:#3498db;--alt:#e67e22;--lei:#e74c3c;--it:#9b59f0;--guincho:#ff8c1a;--res_depmat:#ccff00;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:var(--sans);background:var(--n950);color:var(--tp);min-height:100vh;}
/* HEADER */
.hdr{background:linear-gradient(135deg,var(--n850),var(--n800),#0e1d38);border-bottom:2px solid var(--red);position:sticky;top:0;z-index:200;box-shadow:0 4px 30px rgba(0,0,0,.6);}
.hdr-in{max-width:1500px;margin:0 auto;padding:13px 28px;display:flex;align-items:center;gap:16px;}
.hdr-brasao{width:54px;height:54px;border-radius:50%;border:2px solid var(--red);background:#fff;object-fit:contain;padding:3px;flex-shrink:0;box-shadow:0 0 16px rgba(204,28,28,.3);}
.hdr-text{flex:1;min-width:0;}
.hdr-org{font-size:9.5px;font-weight:600;letter-spacing:.12em;color:var(--red);text-transform:uppercase;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.hdr-title{font-size:17px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;line-height:1.1;}
.hdr-title span{color:var(--gold);}
.hdr-badge{background:var(--red);color:#fff;font-size:11px;font-weight:700;letter-spacing:.1em;padding:4px 14px;border-radius:20px;text-transform:uppercase;flex-shrink:0;}
.hdr-embl{width:54px;height:54px;flex-shrink:0;background:var(--rg);border:2px solid var(--red);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;}
/* MAIN */
.main{max-width:1500px;margin:0 auto;padding:22px 28px;}
/* LEGEND */
.legend{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;align-items:center;}
.leg-lbl{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--td);margin-right:6px;}
.leg-item{display:flex;align-items:center;gap:7px;background:var(--n800);border:1px solid var(--bd);border-radius:20px;padding:5px 12px;cursor:pointer;transition:border-color .2s,transform .15s;font-size:12px;font-weight:600;}
.leg-item:hover{transform:translateY(-1px);border-color:var(--bdb);}
.leg-item.active{border-color:var(--gb);}
.leg-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
/* CALENDAR */
.cal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:26px;}
.month-card{background:var(--n800);border:1px solid var(--bd);border-radius:10px;overflow:hidden;transition:border-color .2s;}
.month-card:hover{border-color:var(--bdb);}
.month-hdr{background:linear-gradient(135deg,var(--n700),#0d1d3a);border-bottom:2px solid var(--red);padding:9px 12px;display:flex;align-items:center;justify-content:space-between;}
.month-name{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--tp);}
.month-cnt{font-family:var(--mono);font-size:11px;color:var(--gb);font-weight:600;}
.month-wds{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--bd);}
.wd{text-align:center;padding:5px 2px;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--td);}
.month-days{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;padding:4px;}
.dc{aspect-ratio:1;border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:2px 1px;cursor:pointer;transition:background .15s;position:relative;min-height:32px;}
.dc:hover{background:rgba(56,178,240,.1);}
.dc.empty{cursor:default;pointer-events:none;}
.dc.today{background:rgba(204,28,28,.15);border:1px solid rgba(204,28,28,.4);}
.dc.has-ev{background:rgba(26,52,96,.6);}
.dn{font-size:11px;font-weight:600;line-height:1;color:var(--ts);margin-bottom:2px;}
.dc.today .dn{color:#ff6666!important;font-weight:800;}
.dc.sun .dn{color:#ff9999;}
.dc.sat .dn{color:var(--cyan);}
.dc.hol .dn{color:var(--gb);}
.day-dots{display:flex;gap:1.5px;flex-wrap:wrap;justify-content:center;}
.dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;}
.hol-tip{position:absolute;bottom:105%;left:50%;transform:translateX(-50%);background:var(--n700);border:1px solid var(--bdb);border-radius:5px;padding:4px 8px;font-size:10px;white-space:nowrap;z-index:10;pointer-events:none;display:none;color:var(--gb);font-weight:600;}
.dc.hol:hover .hol-tip{display:block;}
/* ── ALERTA PISCANTE — novo registro no calendário (avisa gestores/logísticas) ── */
@keyframes calAlertBlinkDia{
  0%,100%{box-shadow:0 0 0 2px rgba(255,215,0,.95),0 0 16px rgba(255,215,0,.75);background:rgba(255,215,0,.22);}
  50%{box-shadow:0 0 0 2px rgba(255,215,0,.25),0 0 4px rgba(255,215,0,.12);background:rgba(255,215,0,.05);}
}
.dc.cal-alert{animation:calAlertBlinkDia 1s ease-in-out infinite;border:1px solid rgba(255,215,0,.85)!important;z-index:2;}
.dc.cal-alert .dn{color:#ffd700!important;font-weight:800;}
@keyframes calAlertBlinkMes{
  0%,100%{box-shadow:0 0 0 2px rgba(255,215,0,.7),0 0 18px rgba(255,215,0,.35);}
  50%{box-shadow:0 0 0 2px rgba(255,215,0,.12),0 0 4px rgba(255,215,0,.06);}
}
.month-card.cal-alert-mes{animation:calAlertBlinkMes 1.1s ease-in-out infinite;border-color:rgba(255,215,0,.6);}
.month-card.cal-alert-mes .month-name{color:#ffd700;text-shadow:0 0 8px rgba(255,215,0,.6);}
.tab-cal-badge{display:inline-block;width:9px;height:9px;border-radius:50%;background:#ffd700;margin-left:6px;vertical-align:middle;box-shadow:0 0 6px rgba(255,215,0,.85);animation:calAlertBlinkMes 1.1s ease-in-out infinite;}
/* Piscar contínuo dos agendamentos de Guincho AG001 pendentes de confirmação —
   visível tanto para a logística quanto para os gestores (Cabo/1° Sargento/Subtenente) */
@keyframes guinchoPendenteBlink{
  0%,100%{box-shadow:0 0 0 2px rgba(232,148,58,.95),0 0 16px rgba(232,148,58,.6);}
  50%{box-shadow:0 0 0 2px rgba(232,148,58,.22),0 0 4px rgba(232,148,58,.12);}
}
.guincho-card-pendente{animation:guinchoPendenteBlink 1.3s ease-in-out infinite;}
/* PANEL */
.panel{background:var(--n800);border:1px solid var(--bd);border-radius:10px;overflow:hidden;margin-bottom:20px;}
.panel-hdr{background:var(--n700);border-bottom:2px solid var(--red);padding:11px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.panel-title{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ts);}
.panel-srch{background:var(--n600);border:1px solid var(--bd);border-radius:6px;color:var(--tp);font-family:var(--sans);font-size:12px;padding:6px 10px;outline:none;width:240px;}
.panel-srch:focus{border-color:var(--red);}
.elist-hdr{display:grid;grid-template-columns:90px 120px 1fr 110px 110px 120px 150px 100px;gap:8px;padding:8px 16px;background:var(--n700);border-bottom:1px solid var(--bdb);font-size:9.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#8dc8e8;}
.elist{max-height:320px;overflow-y:auto;}
.erow{display:grid;grid-template-columns:90px 120px 1fr 110px 110px 120px 150px 100px;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid rgba(42,72,120,.5);font-size:12px;transition:background .15s;}
.erow:hover{background:rgba(56,178,240,.04);}
.erow:last-child{border-bottom:none;}
.edate{font-family:var(--mono);font-size:12px;color:#f0c060;font-weight:700;letter-spacing:.04em;}
.ecat{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;letter-spacing:.07em;padding:2px 8px;border-radius:10px;text-transform:uppercase;}
.edesc{color:#dde6f5;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.eplaca{font-family:var(--mono);font-size:12px;color:#38d4f5;font-weight:600;letter-spacing:.05em;}
.esub{font-size:11px;color:#8dc8e8;font-weight:500;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;}
.eacts{display:flex;gap:5px;justify-content:flex-end;}
.bico{background:rgba(26,52,96,.5);border:1px solid var(--bdb);border-radius:5px;color:#8dc8e8;font-size:11px;font-weight:600;padding:4px 10px;cursor:pointer;transition:all .2s;}
.bico:hover{background:rgba(56,178,240,.15);border-color:var(--cyan);color:#ffffff;}
.bico.del:hover{border-color:var(--red);color:#ff6666;}
.empty-list{text-align:center;padding:40px;color:var(--td);font-size:13px;}
/* MODAL */
.overlay{position:fixed;inset:0;background:rgba(4,13,26,.88);z-index:500;display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px);}
.overlay.open{display:flex;}
.modal{background:var(--n800);border:1px solid var(--bdb);border-top:3px solid var(--red);border-radius:12px;width:520px;max-width:95vw;padding:26px;box-shadow:0 20px 60px rgba(0,0,0,.7);animation:mIn .2s ease;}
@keyframes mIn{from{opacity:0;transform:translateY(-14px) scale(.97)}to{opacity:1;transform:none}}
.modal-title{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:20px;color:var(--tp);}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;}
.fg{display:flex;flex-direction:column;gap:5px;}
.fg.full{grid-column:1/-1;}
.flbl{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--td);}
.fc{background:var(--n700);border:1px solid var(--bd);border-radius:7px;color:var(--tp);font-family:var(--sans);font-size:13px;padding:9px 11px;outline:none;transition:border-color .2s,box-shadow .2s;width:100%;}
.fc:focus{border-color:var(--red);box-shadow:0 0 0 3px var(--rg);}
select.fc{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238da5c8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px;}
textarea.fc{resize:vertical;min-height:72px;}
.macts{display:flex;gap:10px;justify-content:flex-end;}
.btn{padding:9px 20px;border-radius:7px;font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;transition:all .2s;}
.btn-p{background:var(--red);color:#fff;box-shadow:0 3px 12px rgba(204,28,28,.35);}
.btn-p:hover{background:#e82222;transform:translateY(-1px);}
.btn-c{background:transparent;border:1px solid var(--bdb);color:var(--ts);}
.btn-c:hover{border-color:var(--red);color:#ff6666;}
/* FOOTER */
.footer{max-width:1500px;margin:0 auto;padding:14px 28px 24px;display:flex;justify-content:space-between;font-size:11px;color:var(--td);border-top:1px solid var(--bd);flex-wrap:wrap;gap:8px;}
.footer strong{color:var(--ts);}
::-webkit-scrollbar{width:5px;}::-webkit-scrollbar-track{background:var(--n900);}::-webkit-scrollbar-thumb{background:var(--n600);border-radius:3px;}
@media(max-width:1100px){.cal-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:780px){.cal-grid{grid-template-columns:repeat(2,1fr);}}



  /* ─── ABA LEILÕES ─── */
  .leil-section { margin-bottom: 28px; }

  .leil-kpi-grid {
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 12px;
    margin-bottom: 22px;
  }

  .leil-kpi {
    background: var(--navy-800);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 14px 16px;
    position: relative;
    overflow: hidden;
  }
  .leil-kpi::before {
    content:''; position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;
  }
  .leil-kpi.red::before   { background:var(--red-cbmes); }
  .leil-kpi.amber::before { background:var(--amber); }
  .leil-kpi.gold::before  { background:var(--gold); }
  .leil-kpi.cyan::before  { background:var(--cyan); }
  .leil-kpi.green::before { background:var(--green); }

  .leil-kpi-icon { font-size:20px; margin-bottom:6px; display:block; }
  .leil-kpi-val  { font-family:var(--mono); font-size:30px; font-weight:800; line-height:1; margin-bottom:3px; }
  .leil-kpi.red   .leil-kpi-val { color:#ff4444; }
  .leil-kpi.amber .leil-kpi-val { color:var(--amber); }
  .leil-kpi.gold  .leil-kpi-val { color:var(--gold-bright); }
  .leil-kpi.cyan  .leil-kpi-val { color:var(--cyan); }
  .leil-kpi.green .leil-kpi-val { color:var(--green); }
  .leil-kpi-lbl  { font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--text-secondary); }

  .leil-section-title {
    font-size:11px; font-weight:700; letter-spacing:.18em;
    text-transform:uppercase; color:var(--text-secondary);
    margin-bottom:14px; display:flex; align-items:center; gap:8px;
    border-bottom:1px solid var(--border); padding-bottom:8px;
  }

  .leil-charts-grid {
    display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:22px;
  }

  .leil-chart-card {
    background:var(--navy-800); border:1px solid var(--border);
    border-radius:var(--radius-lg); padding:16px; overflow:hidden;
  }
  .leil-chart-title {
    font-size:11px; font-weight:700; letter-spacing:.12em;
    text-transform:uppercase; color:var(--text-secondary);
    margin-bottom:14px;
  }

  .leil-bar-row {
    display:grid; grid-template-columns:140px 1fr 45px;
    align-items:center; gap:10px; margin-bottom:7px;
  }
  .leil-bar-label { font-size:11px; color:var(--text-secondary); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .leil-bar-wrap  { height:8px; background:var(--navy-600); border-radius:4px; overflow:hidden; }
  .leil-bar-fill  { height:100%; border-radius:4px; transition:width .6s ease; }
  .leil-bar-num   { font-family:var(--mono); font-size:11px; font-weight:700; text-align:right; }

  .leil-table-wrap {
    background:var(--navy-800); border:1px solid var(--border);
    border-radius:var(--radius-lg); overflow:hidden; margin-bottom:22px;
  }
  .leil-table-hdr {
    background:var(--navy-700); border-bottom:2px solid var(--red-cbmes);
    display:grid; grid-template-columns:140px 90px 80px 80px 60px 1fr 80px;
    gap:10px; padding:9px 16px;
    font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--text-secondary);
  }
  .leil-table-body { max-height:420px; overflow-y:auto; }
  .leil-row {
    display:grid; grid-template-columns:140px 90px 80px 80px 60px 1fr 80px;
    gap:10px; padding:9px 16px; border-bottom:1px solid rgba(26,47,82,.5);
    font-size:12px; align-items:center; transition:background .15s;
  }
  .leil-row:hover { background:rgba(56,178,240,.04); }
  .leil-row:last-child { border-bottom:none; }
  .leil-badge {
    display:inline-flex; align-items:center; gap:4px;
    font-size:9px; font-weight:700; letter-spacing:.07em;
    padding:2px 8px; border-radius:10px; text-transform:uppercase; white-space:nowrap;
  }
  .leil-badge-cam  { background:rgba(231,76,60,.15);  border:1px solid rgba(231,76,60,.4);  color:#e74c3c; }
  .leil-badge-pick { background:rgba(230,126,34,.15); border:1px solid rgba(230,126,34,.4); color:#e67e22; }
  .leil-badge-adm  { background:rgba(155,89,240,.15); border:1px solid rgba(155,89,240,.4); color:#9b59f0; }
  .leil-badge-ar   { background:rgba(26,188,156,.15); border:1px solid rgba(26,188,156,.4); color:#1abc9c; }
  .leil-idade-badge {
    font-family:var(--mono); font-size:12px; font-weight:800;
    padding:2px 8px; border-radius:6px; text-align:center;
  }
  .leil-idade-critica { background:rgba(231,76,60,.2);  color:#ff5555; }
  .leil-idade-alta    { background:rgba(230,126,34,.2); color:var(--amber); }

  .leil-info-grid {
    display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:22px;
  }
  .leil-info-card {
    background:var(--navy-800); border:1px solid var(--border);
    border-radius:var(--radius-lg); padding:16px;
  }
  .leil-info-title { font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--text-secondary); margin-bottom:12px; }
  .leil-info-row   { display:flex; align-items:center; justify-content:space-between; padding:6px 0; border-bottom:1px solid rgba(26,47,82,.4); font-size:12px; }
  .leil-info-row:last-child { border-bottom:none; }
  .leil-info-sub   { color:var(--text-secondary); font-size:11px; }
  .leil-info-val   { font-family:var(--mono); font-size:12px; font-weight:700; }

  .pie-container {
    display: flex;
    gap: 24px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
  }
  .pie-canvas-wrap {
    flex-shrink: 0;
    position: relative;
    width: 340px;
    height: 340px;
  }
  #pie3dCanvas {
    width: 340px !important;
    height: 340px !important;
    border-radius: 8px;
  }
  .pie-legend {
    flex: 1;
    min-width: 160px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 4px;
    max-height: 320px;
    overflow-y: auto;
  }
  .pie-leg-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    padding: 3px 0;
    border-bottom: 1px solid rgba(26,47,82,.3);
  }
  .pie-leg-row:last-child { border-bottom: none; }
  .pie-leg-dot {
    width: 12px; height: 12px; border-radius: 3px; flex-shrink: 0;
  }
  .pie-leg-name {
    flex: 1;
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 10.5px;
  }
  .pie-leg-val {
    font-family: var(--mono);
    font-size: 11px;
    font-weight: 700;
    color: var(--gold-bright);
    flex-shrink: 0;
  }
  .pie-leg-pct {
    font-family: var(--mono);
    font-size: 10px;
    color: var(--text-dim);
    flex-shrink: 0;
    min-width: 36px;
    text-align: right;
  }

  .leil-guide {
    background: linear-gradient(135deg, var(--navy-800), rgba(13,31,60,0.8));
    border:1px solid var(--border); border-left:3px solid var(--gold);
    border-radius:var(--radius-lg); padding:20px 22px;
  }
  .leil-guide-title { font-size:13px; font-weight:800; color:var(--gold-bright); margin-bottom:14px; letter-spacing:.04em; }
  .leil-guide-grid  { display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; }
  .leil-guide-col   { display:flex; flex-direction:column; gap:8px; }
  .leil-guide-head  { font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; margin-bottom:4px; }
  .leil-guide-item  { font-size:11.5px; color:var(--text-secondary); line-height:1.5; display:flex; gap:7px; }
  .leil-guide-item::before { content:'→'; color:var(--gold); flex-shrink:0; }

  @media(max-width:1100px){
    .leil-charts-grid,.leil-info-grid,.leil-guide-grid { grid-template-columns:1fr; }
    .leil-kpi-grid { grid-template-columns:repeat(3,1fr); }
  }

  /* ─── RODÍZIO POR SUBUNIDADE ─── */
  .sub-fleet-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    gap: 14px;
    margin-bottom: 22px;
  }
  .sub-fleet-card {
    background: var(--navy-800);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: border-color .2s, transform .15s;
  }
  .sub-fleet-card:hover { border-color: var(--border-bright); transform: translateY(-2px); }
  .sub-fleet-card-hdr {
    background: linear-gradient(135deg, var(--navy-700), #0d1d3a);
    border-bottom: 2px solid var(--red-cbmes);
    padding: 9px 13px;
    display: flex; align-items: center; justify-content: space-between;
  }
  .sub-fleet-name {
    font-size: 11px; font-weight: 800; letter-spacing: .06em;
    text-transform: uppercase; color: var(--text-primary);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1;
  }
  .sub-fleet-total {
    font-family: var(--mono); font-size: 16px; font-weight: 800;
    color: var(--red-cbmes); flex-shrink: 0; margin-left: 8px;
  }
  .sub-fleet-body { padding: 10px 13px; display: flex; flex-direction: column; gap: 6px; }
  .sub-fleet-tipo-row {
    display: grid;
    grid-template-columns: 24px 1fr auto auto;
    align-items: center; gap: 6px;
  }
  .sub-fleet-icon { font-size: 14px; text-align: center; }
  .sub-fleet-bar-wrap { height: 10px; background: var(--navy-600); border-radius: 5px; overflow: hidden; position: relative; }
  .sub-fleet-bar { height: 100%; border-radius: 5px; transition: width .5s ease; }
  .sub-fleet-bar-ok    { background: linear-gradient(90deg, #27ae60, #2ecc71); }
  .sub-fleet-bar-warn  { background: linear-gradient(90deg, #d35400, #e67e22); }
  .sub-fleet-bar-crit  { background: linear-gradient(90deg, #922b21, #e74c3c); }
  .sub-fleet-count {
    font-family: var(--mono); font-size: 11px; font-weight: 700;
    color: var(--text-primary); flex-shrink: 0; white-space: nowrap; min-width: 28px; text-align: right;
  }
  .sub-fleet-status {
    font-size: 9px; font-weight: 800; letter-spacing: .08em;
    padding: 1px 6px; border-radius: 8px; flex-shrink: 0;
    text-transform: uppercase; white-space: nowrap;
  }
  .status-ok   { background: rgba(39,174,96,.15);  border: 1px solid rgba(39,174,96,.4);  color: #2ecc71; }
  .status-warn { background: rgba(230,126,34,.15); border: 1px solid rgba(230,126,34,.4); color: #e67e22; }
  .status-crit { background: rgba(231,76,60,.15);  border: 1px solid rgba(231,76,60,.4);  color: #e74c3c; }
  .sub-fleet-footer {
    padding: 7px 13px 9px;
    border-top: 1px solid var(--border);
    background: rgba(6,15,32,.35);
    font-size: 10px; color: var(--text-dim); line-height: 1.5;
  }
  .sub-fleet-acq {
    display: flex; gap: 5px; flex-wrap: wrap; margin-top: 4px;
  }
  .acq-tag {
    font-size: 9px; font-weight: 700; letter-spacing: .06em;
    padding: 2px 7px; border-radius: 8px; text-transform: uppercase;
  }
  .acq-urgente  { background: rgba(231,76,60,.2);  border: 1px solid rgba(231,76,60,.5);  color: #ff5555; }
  .acq-breve    { background: rgba(230,126,34,.2); border: 1px solid rgba(230,126,34,.5); color: #e67e22; }
  .acq-planej   { background: rgba(52,152,219,.15);border: 1px solid rgba(52,152,219,.4); color: #5dade2; }

  .viat-alert-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 8px;
    font-size: 10px;
  }
  .viat-alert-table th {
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--text-dim);
    padding: 4px 6px;
    border-bottom: 1px solid var(--border);
    text-align: left;
    background: rgba(10,20,40,.4);
  }
  .viat-alert-table td {
    padding: 4px 6px;
    border-bottom: 1px solid rgba(26,47,82,.3);
    vertical-align: middle;
  }
  .viat-alert-table tr:last-child td { border-bottom: none; }
  .viat-alert-table tr:hover td { background: rgba(56,178,240,.04); }
  .viat-pref {
    font-family: var(--mono);
    font-size: 10px;
    font-weight: 700;
    color: var(--text-primary);
    white-space: nowrap;
  }
  .viat-placa {
    font-family: var(--mono);
    font-size: 10px;
    font-weight: 700;
    color: var(--gold-bright);
    white-space: nowrap;
  }
  .viat-tipo-badge {
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .06em;
    padding: 1px 5px;
    border-radius: 6px;
    text-transform: uppercase;
    white-space: nowrap;
  }
  .viat-op  { background: rgba(204,28,28,.15);  border: 1px solid rgba(204,28,28,.4);  color: #ff6666; }
  .viat-adm { background: rgba(155,89,240,.15); border: 1px solid rgba(155,89,240,.4); color: #b07ef8; }
  .viat-idade-w { color: #e67e22; font-weight: 700; font-family: var(--mono); font-size: 10px; }
  .viat-idade-c { color: #e74c3c; font-weight: 800; font-family: var(--mono); font-size: 10px; }
  .sub-fleet-alert-section {
    padding: 0 13px 10px;
    border-top: 1px solid var(--border);
  }
  .sub-fleet-alert-title {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--text-dim);
    padding: 7px 0 4px;
    display: flex;
    align-items: center;
    gap: 5px;
  }
  .sub-fleet-scroll {
    max-height: 180px;
    overflow-y: auto;
  }

  /* ─── ANÁLISE REGIONAL ─── */
  .reg-section-wrap { margin-bottom: 22px; }

  .reg-compare-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 16px;
  }

  .reg-card {
    background: var(--navy-800);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    overflow: hidden;
  }
  .reg-card-hdr {
    padding: 10px 14px;
    border-bottom: 2px solid;
    background: linear-gradient(135deg, var(--navy-700), #0d1d3a);
    font-size: 11px; font-weight: 800; letter-spacing: .08em;
    text-transform: uppercase;
  }
  .reg-card-hdr.nova   { border-color: #00ff88; color: #00ff88; }
  .reg-card-hdr.antiga { border-color: #e74c3c; color: #ff6666; }
  .reg-card-body { padding: 10px 14px; display: flex; flex-direction: column; gap: 5px; }

  .reg-row {
    display: grid;
    grid-template-columns: 130px 1fr 60px 56px;
    align-items: center; gap: 8px;
    padding: 4px 0;
    border-bottom: 1px solid rgba(26,47,82,.3);
    font-size: 11px;
  }
  .reg-row:last-child { border-bottom: none; }
  .reg-sub-name { color: var(--text-secondary); font-size: 10.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .reg-mun      { font-size: 10px; color: var(--text-dim); font-style: italic; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .reg-bar-wrap { height: 8px; background: var(--navy-600); border-radius: 4px; overflow: hidden; }
  .reg-bar-nova   { height: 100%; border-radius: 4px; background: linear-gradient(90deg,#00b060,#00ff88); }
  .reg-bar-antiga { height: 100%; border-radius: 4px; background: linear-gradient(90deg,#991515,#e74c3c); }
  .reg-idade  { font-family: var(--mono); font-size: 11px; font-weight: 700; text-align: right; }
  .reg-rank   { font-family: var(--mono); font-size: 10px; color: var(--text-dim); text-align: center; }

  .reg-mapa-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
    margin-bottom: 16px;
  }

  .reg-mapa-card {
    background: var(--navy-800);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    overflow: hidden;
  }
  .reg-mapa-hdr {
    padding: 8px 12px;
    font-size: 10px; font-weight: 800; letter-spacing: .1em;
    text-transform: uppercase; text-align: center;
    border-bottom: 2px solid;
  }
  .reg-mapa-body { padding: 10px 12px; }
  .reg-mapa-stat {
    text-align: center;
    margin-bottom: 8px;
  }
  .reg-mapa-idade {
    font-family: var(--mono);
    font-size: 26px; font-weight: 800; line-height: 1;
    margin-bottom: 2px;
  }
  .reg-mapa-label { font-size: 9px; color: var(--text-dim); letter-spacing: .1em; text-transform: uppercase; }
  .reg-mapa-divider { height: 1px; background: var(--border); margin: 6px 0; }
  .reg-mapa-detail { font-size: 10px; color: var(--text-secondary); display: flex; flex-direction: column; gap: 3px; }
  .reg-mapa-row { display: flex; justify-content: space-between; }
  .reg-mapa-key { color: var(--text-dim); }
  .reg-mapa-val { font-family: var(--mono); font-weight: 600; }

  .reg-chart-card {
    background: var(--navy-800);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 14px 16px;
    margin-bottom: 16px;
  }
  .reg-chart-title { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--text-secondary); margin-bottom: 12px; }

  .reg-chart-row {
    display: grid;
    grid-template-columns: 120px 1fr 52px 52px;
    align-items: center; gap: 10px; margin-bottom: 10px;
  }
  .reg-chart-name { font-size: 11px; color: var(--text-secondary); font-weight: 600; }
  .reg-chart-bar-wrap { height: 18px; background: var(--navy-600); border-radius: 5px; overflow: hidden; position: relative; }
  .reg-chart-bar { height: 100%; border-radius: 5px; transition: width .6s ease; display: flex; align-items: center; padding-left: 6px; }
  .reg-chart-bar span { font-size: 9px; font-weight: 800; color: rgba(255,255,255,.9); white-space: nowrap; }
  .reg-chart-val   { font-family: var(--mono); font-size: 11px; font-weight: 700; text-align: right; }
  .reg-chart-trend { font-size: 10px; text-align: center; }

  .reg-insight-box {
    background: linear-gradient(135deg, var(--navy-800), rgba(13,31,60,.8));
    border: 1px solid var(--border); border-left: 3px solid var(--cyan);
    border-radius: var(--radius-lg); padding: 16px 18px; margin-bottom: 16px;
  }
  .reg-insight-title { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--cyan); margin-bottom: 10px; }
  .reg-insight-grid  { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
  .reg-insight-item  { font-size: 11px; color: var(--text-secondary); line-height: 1.5; display: flex; gap: 7px; }
  .reg-insight-item::before { content:'💡'; flex-shrink: 0; }

  @media(max-width:1100px){
    .reg-compare-grid { grid-template-columns:1fr; }
    .reg-mapa-grid { grid-template-columns:repeat(3,1fr); }
    .reg-insight-grid { grid-template-columns:1fr; }
  }

  /* ─── TOOLTIP GLOBAL ─── */
  .tt-wrap {
    position: relative;
    display: contents;
  }
  .tt-row {
    position: relative;
    cursor: pointer;
  }
  /* Tooltip fixo via JS — não afetado por overflow:hidden dos containers */
  #globalTooltip {
    display: none;
    position: fixed;
    background: rgba(6,12,28,0.98);
    border: 1px solid var(--border-bright);
    border-radius: 10px;
    padding: 11px 15px;
    z-index: 99999;
    min-width: 190px;
    max-width: 300px;
    pointer-events: none;
    box-shadow: 0 10px 40px rgba(0,0,0,.85), 0 0 0 1px rgba(42,72,120,.4);
    backdrop-filter: blur(4px);
  }
  #globalTooltip.visible { display: block; }
  .tt-box { display: none !important; } /* conteúdo lido via JS, não renderizado diretamente */
  #globalTooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: var(--border-bright);
  }
  #globalTooltip.below::after {
    top: auto; bottom: 100%;
    border-top-color: transparent;
    border-bottom-color: var(--border-bright);
  }
  .tt-title {
    font-size: 10px; font-weight: 800; letter-spacing: .1em;
    text-transform: uppercase; color: var(--gold-bright);
    margin-bottom: 7px; border-bottom: 1px solid var(--border); padding-bottom: 5px;
    white-space: nowrap;
  }
  .tt-line {
    display: flex; justify-content: space-between; gap: 12px;
    font-size: 10.5px; padding: 2px 0;
  }
  .tt-key   { color: var(--text-dim); white-space: nowrap; }
  .tt-val   { color: var(--text-primary); font-family: var(--mono); font-weight: 700; text-align: right; }
  .tt-val.g { color: #00ff88; }
  .tt-val.r { color: #ff5555; }
  .tt-val.a { color: var(--amber); }
  .tt-val.c { color: var(--cyan); }

  /* ─── ANÁLISE REGIONAL LEILÕES ─── */
  .leil-reg-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
    margin-bottom: 20px;
  }
  .leil-reg-card {
    border-radius: 10px;
    border: 1px solid;
    overflow: hidden;
    transition: transform .15s, box-shadow .2s;
    cursor: default;
  }
  .leil-reg-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,.25); }
  .leil-reg-hdr {
    padding: 8px 11px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-align: center;
    border-bottom: 1px solid;
  }
  .leil-reg-body { padding: 11px; }
  .leil-reg-num {
    font-family: var(--mono);
    font-size: 30px;
    font-weight: 800;
    line-height: 1;
    text-align: center;
    margin-bottom: 2px;
  }
  .leil-reg-sublabel {
    font-size: 8.5px;
    text-align: center;
    color: var(--text-dim);
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: 8px;
  }
  .leil-reg-bar-wrap {
    height: 7px;
    background: rgba(255,255,255,.08);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 4px;
  }
  .leil-reg-bar-fill { height: 100%; border-radius: 4px; transition: width .6s ease; }
  .leil-reg-pct-row {
    display: flex;
    justify-content: space-between;
    font-size: 9px;
    color: var(--text-dim);
    margin-bottom: 8px;
  }
  .leil-reg-row {
    display: flex;
    justify-content: space-between;
    font-size: 9.5px;
    padding: 3px 0;
    border-bottom: 1px solid rgba(255,255,255,.05);
  }
  .leil-reg-row:last-child { border-bottom: none; }
  .leil-reg-key { color: var(--text-dim); }
  .leil-reg-val { font-family: var(--mono); font-weight: 600; font-size: 10px; }
  .leil-reg-risk {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 8.5px;
    font-weight: 800;
    padding: 1px 7px;
    border-radius: 10px;
    text-transform: uppercase;
    letter-spacing: .06em;
  }
  .leil-reg-subs {
    margin-top: 7px;
    padding-top: 7px;
    border-top: 1px solid rgba(255,255,255,.06);
    font-size: 9px;
    color: var(--text-dim);
    line-height: 1.5;
  }
  .leil-reg-subs-title {
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--text-dim);
    margin-bottom: 3px;
    opacity: .7;
  }

  /* Comparativo horizontal */
  .leil-comp-row {
    display: grid;
    grid-template-columns: 120px 1fr 48px 48px 72px;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    padding: 3px 2px;
    border-radius: 4px;
    transition: background .15s;
    cursor: default;
  }
  .leil-comp-row:hover { background: rgba(255,255,255,.03); }
  .leil-comp-row:last-child { margin-bottom: 0; }
  .leil-comp-name { font-size: 11.5px; font-weight: 600; }
  .leil-comp-bar-wrap { height: 18px; background: rgba(255,255,255,.07); border-radius: 5px; overflow: hidden; }
  .leil-comp-bar { height: 100%; border-radius: 5px; display: flex; align-items: center; padding-left: 7px; }
  .leil-comp-bar span { font-size: 9px; font-weight: 800; color: rgba(255,255,255,.95); }
  .leil-comp-val { font-family: var(--mono); font-size: 11px; font-weight: 700; text-align: right; }

  /* Insights regionais */
  .leil-insights-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 14px;
    margin-bottom: 20px;
  }
  .leil-insight-card {
    background: var(--navy-800);
    border: 1px solid var(--border);
    border-left: 4px solid;
    border-radius: 10px;
    padding: 16px;
  }
  .leil-insight-card-title {
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: .04em;
    margin-bottom: 10px;
  }
  .leil-insight-card-body {
    font-size: 11.5px;
    color: var(--text-secondary);
    line-height: 1.7;
  }
  .leil-insight-card-body strong { color: var(--text-primary); }

  @media(max-width:1200px){ .leil-reg-grid { grid-template-columns:repeat(3,1fr); } }
  @media(max-width:900px) { .leil-reg-grid { grid-template-columns:1fr 1fr; } .leil-insights-grid { grid-template-columns:1fr; } }

  /* ─── GESTÃO CARTÃO CORINGA ─── */
  .coringa-panel {
    margin-top: 10px;
    background: linear-gradient(135deg, rgba(232,148,58,.08), rgba(13,31,60,.6));
    border: 1px solid rgba(232,148,58,.3);
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 11px;
  }
  .coringa-panel-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
  }
  .coringa-panel-num {
    font-family: var(--mono);
    font-size: 13px;
    font-weight: 800;
    color: var(--amber);
    letter-spacing: .05em;
  }
  .coringa-panel-badge {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 2px 8px;
    border-radius: 10px;
  }
  .coringa-badge-desvinculado {
    background: rgba(52,152,219,.15);
    border: 1px solid rgba(52,152,219,.35);
    color: #3498db;
  }
  .coringa-badge-vinculado {
    background: rgba(231,76,60,.15);
    border: 1px solid rgba(231,76,60,.4);
    color: #e74c3c;
  }
  .coringa-vinculo-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 8px;
    font-size: 11px;
    color: var(--text-secondary);
  }
  .coringa-placa-atual {
    font-family: var(--mono);
    font-size: 12px;
    font-weight: 700;
    color: var(--gold-bright);
    background: rgba(232,148,58,.12);
    border: 1px solid rgba(232,148,58,.3);
    padding: 2px 9px;
    border-radius: 5px;
  }
  .coringa-select-wrap {
    display: flex;
    gap: 6px;
    align-items: center;
  }
  .coringa-select {
    flex: 1;
    background: var(--navy-700);
    border: 1px solid var(--border);
    color: var(--text-primary);
    font-size: 11px;
    font-family: var(--mono);
    padding: 4px 8px;
    border-radius: 5px;
    outline: none;
    cursor: pointer;
  }
  .coringa-select:focus { border-color: var(--amber); }
  .btn-vincular {
    background: rgba(232,148,58,.2);
    border: 1px solid rgba(232,148,58,.5);
    color: var(--amber);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    padding: 4px 10px;
    border-radius: 5px;
    cursor: pointer;
    text-transform: uppercase;
    white-space: nowrap;
    transition: background .15s;
  }
  .btn-vincular:hover { background: rgba(232,148,58,.35); }
  .btn-desvincular {
    background: rgba(231,76,60,.12);
    border: 1px solid rgba(231,76,60,.4);
    color: #ff6666;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    padding: 4px 10px;
    border-radius: 5px;
    cursor: pointer;
    text-transform: uppercase;
    white-space: nowrap;
    transition: background .15s;
  }
  .btn-desvincular:hover { background: rgba(231,76,60,.25); }
  .coringa-nota {
    font-size: 9.5px;
    color: var(--text-dim);
    line-height: 1.4;
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px solid rgba(255,255,255,.06);
  }

  /* ─── CORINGA INLINE NA TABELA ─── */
  .coringa-inline-wrap { display:flex; flex-direction:column; gap:5px; }
  .coringa-inline-num {
    font-family: var(--mono);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
  }
  .coringa-inline-status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 2px 8px;
    border-radius: 8px;
    width: fit-content;
  }
  .cor-status-desvinculado {
    background: rgba(52,152,219,.13);
    border: 1px solid rgba(52,152,219,.35);
    color: #3498db;
  }
  .cor-status-vinculado {
    background: rgba(231,76,60,.13);
    border: 1px solid rgba(231,76,60,.4);
    color: #e74c3c;
  }
  .coringa-inline-placa {
    font-family: var(--mono);
    font-size: 10px;
    font-weight: 700;
    color: #ff8888;
  }
  .coringa-inline-actions {
    display: flex;
    gap: 5px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 3px;
  }
  .btn-cor-vincular {
    font-size: 9px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 5px;
    border: 1px solid rgba(52,152,219,.5);
    background: rgba(52,152,219,.12);
    color: #3498db;
    cursor: pointer;
    white-space: nowrap;
    transition: background .15s;
  }
  .btn-cor-vincular:hover { background: rgba(52,152,219,.28); }
  .btn-cor-desvincular {
    font-size: 9px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 5px;
    border: 1px solid rgba(231,76,60,.4);
    background: rgba(231,76,60,.1);
    color: #e74c3c;
    cursor: pointer;
    white-space: nowrap;
    transition: background .15s;
  }
  .btn-cor-desvincular:hover { background: rgba(231,76,60,.25); }
  .coringa-inline-select {
    font-size: 10px;
    font-family: var(--mono);
    background: var(--navy-700);
    border: 1px solid var(--border);
    color: var(--text-primary);
    padding: 3px 6px;
    border-radius: 5px;
    cursor: pointer;
    max-width: 150px;
  }
  .coringa-inline-select:focus { border-color: #3498db; outline: none; }

  /* Linha de viatura vinculada ao coringa — destaque vermelho */
  .tr-coringa-vinculado td { background: rgba(231,76,60,.06) !important; }
  .tr-coringa-vinculado td:first-child { border-left: 3px solid #e74c3c; }

  /* ─── CARDS REGIONAIS DETALHADOS (LEILÕES) ─── */
  .leil-reg-detail-card {
    border-radius: 10px;
    border-left: 4px solid;
    background: var(--navy-800);
    margin-bottom: 14px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,.25);
  }
  .leil-reg-detail-hdr {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    cursor: pointer;
    user-select: none;
    border-bottom: 1px solid rgba(255,255,255,.06);
  }
  .leil-reg-detail-hdr:hover { background: rgba(255,255,255,.03); }
  .leil-reg-detail-title {
    font-family: var(--head);
    font-size: 16px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
  }
  .leil-reg-detail-pill {
    font-size: 10px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 10px;
    white-space: nowrap;
  }
  .leil-reg-detail-body {
    padding: 14px 16px;
    display: none;
  }
  .leil-reg-detail-body.open {
    display: block;
  }
  .leil-reg-detail-toggle {
    margin-left: auto;
    font-size: 12px;
    color: var(--text-dim);
    transition: transform .2s;
  }
  .leil-reg-detail-toggle.open { transform: rotate(180deg); }

  /* Lista expandível de viaturas */
  .leil-reg-lista-wrap {
    margin-bottom: 12px;
  }
  .leil-reg-lista-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 700;
    color: var(--text-dim);
    cursor: pointer;
    padding: 6px 0;
    border: none;
    background: none;
    letter-spacing: .04em;
  }
  .leil-reg-lista-btn:hover { color: var(--text-secondary); }
  .leil-reg-lista-btn .lista-icon { font-size: 10px; transition: transform .2s; }
  .leil-reg-lista-btn.open .lista-icon { transform: rotate(90deg); }
  .leil-reg-lista-table {
    display: none;
    width: 100%;
    border-collapse: collapse;
    margin-top: 6px;
    font-size: 10.5px;
  }
  .leil-reg-lista-table.open { display: table; }
  .leil-reg-lista-table th {
    text-align: left;
    font-size: 8.5px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--text-dim);
    padding: 6px 8px;
    border-bottom: 2px solid var(--border);
    white-space: nowrap;
  }
  .leil-reg-lista-table td {
    padding: 5px 8px;
    border-bottom: 1px solid rgba(255,255,255,.04);
    color: var(--text-secondary);
    vertical-align: middle;
    font-size: 11px;
    white-space: nowrap;
  }
  .leil-reg-lista-table tr:last-child td { border-bottom: none; }
  .leil-reg-lista-table tr:hover td { background: rgba(255,255,255,.03); }
  .leil-reg-lista-table .td-sub { font-size: 10px; }
  .leil-reg-lista-table .td-pref { font-family: var(--mono); font-weight: 700; color: var(--text-primary); }
  .leil-reg-lista-table .td-placa { font-family: var(--mono); color: var(--gold-bright); font-weight: 600; }
  .leil-reg-lista-table .td-idade { font-family: var(--mono); font-weight: 800; }

  /* Bullets de análise */
  .leil-reg-bullets { list-style: none; padding: 0; margin: 10px 0 0 0; display:flex;flex-direction:column;gap:8px; }
  .leil-reg-bullet { display:flex; gap:8px; font-size:11.5px; color:var(--text-secondary); line-height:1.55; }
  .leil-reg-bullet-icon { flex-shrink:0; font-size:13px; }
  .leil-reg-bullet strong { color: var(--text-primary); }
  .leil-reg-bullet em { color: var(--text-dim); font-style:normal; font-size:10.5px; }

  /* ─── TOOLTIP GRÁFICOS DE BARRAS LEILÕES ─── */
  .leil-tooltip {
    position: fixed;
    z-index: 9999;
    pointer-events: none;
    background: rgba(8,20,44,.97);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 8px;
    padding: 10px 14px;
    min-width: 200px;
    max-width: 280px;
    box-shadow: 0 6px 24px rgba(0,0,0,.6);
    font-family: 'Exo 2', sans-serif;
    font-size: 12px;
    line-height: 1.5;
    display: none;
    transition: opacity .1s;
  }
  .leil-tooltip.visible { display: block; }
  .leil-tooltip-title {
    font-weight: 800;
    font-size: 11px;
    letter-spacing: .06em;
    margin-bottom: 5px;
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(255,255,255,.1);
  }
  .leil-tooltip-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-size: 11px;
  }
  .leil-tooltip-key { color: #7a9cbf; }
  .leil-tooltip-val { font-family: monospace; font-weight: 700; color: #e8f0ff; }

  /* Barras interativas */
  .leil-bar-interactive {
    cursor: pointer;
    transition: opacity .12s, transform .12s;
    border-radius: 6px;
  }
  .leil-bar-interactive:hover { opacity: .92; transform: scaleX(1.01); }
  .leil-comp-row-interactive { cursor: pointer; border-radius: 5px; }
  .leil-comp-row-interactive:hover { background: rgba(255,255,255,.05) !important; }

  /* ─── GUIA DE GESTÃO — ABAS PROFISSIONAL ─── */
  .guia-wrap {
    background: var(--navy-800);
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,.3);
    margin-bottom: 8px;
  }
  .guia-tab-nav {
    display: flex;
    background: var(--navy-900);
    border-bottom: 1px solid var(--border);
    overflow-x: auto;
  }
  .guia-tab-btn {
    padding: 12px 18px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--text-dim);
    cursor: pointer;
    border: none;
    background: none;
    border-bottom: 2px solid transparent;
    white-space: nowrap;
    transition: color .15s, border-color .15s, background .15s;
    flex-shrink: 0;
  }
  .guia-tab-btn:hover { color: var(--text-secondary); background: rgba(255,255,255,.03); }
  .guia-tab-btn.active { color: var(--gold-bright); border-bottom-color: var(--gold); background: rgba(240,192,96,.06); }
  .guia-tab-pane { display: none; padding: 22px 24px; }
  .leil-region-poly { cursor: pointer; transition: filter .2s, stroke-width .2s; }
  .leil-region-poly:hover { filter: url(#glow) brightness(1.35); stroke-width: 3.5; }
  .leil-mun-circle { cursor: pointer; transition: filter .15s; }
  .leil-mun-circle:hover circle { filter: brightness(1.3); }
  .leil-mun-circle:hover text { font-size: 9.5px; }
  .leil-kpi-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,.4); }
  #view-leiloes ::-webkit-scrollbar { width: 8px; height: 8px; }
  #view-leiloes ::-webkit-scrollbar-track { background: rgba(255,255,255,.03); border-radius: 4px; }
  #view-leiloes ::-webkit-scrollbar-thumb { background: rgba(255,255,255,.15); border-radius: 4px; }
  #view-leiloes ::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,.28); }
  .guia-tab-pane.active { display: block; }

  /* Portaria */
  .portaria-header {
    background: linear-gradient(135deg, rgba(240,192,96,.12), rgba(13,31,60,.8));
    border: 1px solid rgba(240,192,96,.3);
    border-radius: 10px;
    padding: 18px 22px;
    margin-bottom: 18px;
    display: flex;
    align-items: flex-start;
    gap: 16px;
  }
  .portaria-badge {
    background: rgba(240,192,96,.15);
    border: 2px solid rgba(240,192,96,.5);
    border-radius: 8px;
    padding: 10px 14px;
    text-align: center;
    flex-shrink: 0;
  }
  .portaria-badge-num { font-size: 15px; font-weight: 900; color: var(--gold-bright); letter-spacing: .04em; }
  .portaria-badge-ano { font-size: 9px; color: var(--text-dim); letter-spacing: .1em; text-transform: uppercase; }
  .portaria-title { font-family: var(--head); font-size: 15px; font-weight: 800; color: var(--gold-bright); margin-bottom: 5px; }
  .portaria-desc { font-size: 12px; color: var(--text-secondary); line-height: 1.6; }

  /* Artigos */
  .art-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 16px;
  }
  .art-card {
    background: var(--navy-700);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 14px 16px;
    position: relative;
    transition: border-color .15s, box-shadow .15s;
  }
  .art-card:hover { border-color: rgba(240,192,96,.3); box-shadow: 0 3px 14px rgba(0,0,0,.2); }
  .art-card-num {
    position: absolute;
    top: -1px; right: 12px;
    background: var(--gold);
    color: #0d1a2e;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .1em;
    padding: 2px 8px;
    border-radius: 0 0 6px 6px;
  }
  .art-card-icon { font-size: 22px; margin-bottom: 6px; }
  .art-card-tipo { font-size: 12px; font-weight: 800; color: var(--text-primary); margin-bottom: 6px; letter-spacing: .03em; }
  .art-card-prazo {
    display: inline-flex; align-items: center; gap: 5px;
    font-family: var(--mono); font-size: 13px; font-weight: 800;
    padding: 3px 12px; border-radius: 20px; margin-bottom: 8px;
  }
  .art-card-detail { font-size: 10.5px; color: var(--text-dim); line-height: 1.5; }
  .art-card-reserva {
    display: inline-flex; align-items: center; gap: 4px;
    font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
    background: rgba(155,89,182,.12); border: 1px solid rgba(155,89,182,.3); color: #b07ef8;
    padding: 2px 8px; border-radius: 10px; margin-top: 4px;
  }

  /* Processo leilão */
  .processo-steps { display: flex; flex-direction: column; gap: 10px; margin-bottom: 12px; }
  .processo-step {
    display: flex; align-items: flex-start; gap: 14px;
    background: var(--navy-700); border: 1px solid var(--border);
    border-radius: 8px; padding: 14px 16px;
    transition: border-color .15s;
  }
  .processo-step:hover { border-color: rgba(52,152,219,.35); }
  .processo-step-num {
    width: 28px; height: 28px; border-radius: 50%; flex-shrink: 0;
    background: rgba(52,152,219,.2); border: 2px solid rgba(52,152,219,.5);
    color: #3498db; font-size: 12px; font-weight: 900;
    display: flex; align-items: center; justify-content: center;
  }
  .processo-step-body { flex: 1; }
  .processo-step-title { font-size: 12px; font-weight: 800; color: var(--text-primary); margin-bottom: 4px; }
  .processo-step-desc { font-size: 11px; color: var(--text-secondary); line-height: 1.55; }
  .processo-step-prazo {
    font-size: 9.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
    color: #3498db; margin-top: 5px;
  }

  /* Ciclo renovação */
  .ciclo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .ciclo-card {
    background: var(--navy-700); border: 1px solid var(--border);
    border-radius: 8px; padding: 14px 16px;
    border-left: 3px solid;
  }
  .ciclo-card-title { font-size: 11.5px; font-weight: 800; margin-bottom: 7px; }
  .ciclo-card-body { font-size: 11px; color: var(--text-secondary); line-height: 1.55; }
  .ciclo-card-body strong { color: var(--text-primary); }

  /* Arts especiais */
  .art-special {
    background: linear-gradient(135deg, rgba(231,76,60,.07), rgba(13,31,60,.5));
    border: 1px solid rgba(231,76,60,.25);
    border-radius: 8px; padding: 14px 18px; margin-bottom: 10px;
  }
  .art-special-title { font-size: 11.5px; font-weight: 800; color: #ff8888; margin-bottom: 5px; }
  .art-special-body { font-size: 11px; color: var(--text-secondary); line-height: 1.6; }

  @media(max-width:900px){ .art-grid,.ciclo-grid { grid-template-columns:1fr; } }

  /* ─── MODAL DOS ARTIGOS DA PORTARIA ─── */
  .portaria-modal-overlay {
    position: fixed; inset: 0; z-index: 8000;
    background: rgba(4,13,26,.88);
    backdrop-filter: blur(6px);
    display: none; align-items: center; justify-content: center;
  }
  .portaria-modal-overlay.open { display: flex; }
  .portaria-modal {
    background: var(--navy-800);
    border: 1px solid rgba(52,152,219,.3);
    border-radius: 14px;
    width: 680px; max-width: 95vw;
    max-height: 85vh;
    display: flex; flex-direction: column;
    box-shadow: 0 24px 60px rgba(0,0,0,.6), 0 0 0 1px rgba(52,152,219,.15);
    animation: portariaIn .18s ease-out;
  }
  @keyframes portariaIn {
    from { opacity:0; transform: scale(.94) translateY(12px); }
    to   { opacity:1; transform: scale(1)  translateY(0); }
  }
  .portaria-modal-hdr {
    padding: 18px 22px;
    border-bottom: 1px solid var(--border);
    display: flex; align-items: center; gap: 14px;
    flex-shrink: 0;
  }
  .portaria-modal-hdr-badge {
    background: rgba(240,192,96,.15);
    border: 2px solid rgba(240,192,96,.4);
    border-radius: 8px; padding: 7px 12px;
    font-family: var(--mono); font-size: 12px;
    font-weight: 900; color: var(--gold-bright);
    flex-shrink: 0;
  }
  .portaria-modal-hdr h3 {
    font-family: var(--head); font-size: 16px;
    font-weight: 800; color: var(--text-primary); flex: 1;
  }
  .portaria-modal-hdr p {
    font-size: 11px; color: var(--text-dim); margin-top: 3px;
  }
  .portaria-modal-close {
    width: 32px; height: 32px; border-radius: 50%;
    background: rgba(255,255,255,.07); border: 1px solid var(--border);
    color: var(--text-dim); font-size: 16px; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; transition: background .12s;
  }
  .portaria-modal-close:hover { background: rgba(255,255,255,.14); color: #fff; }
  .portaria-modal-body {
    padding: 20px 22px; overflow-y: auto; flex: 1;
  }
  .portaria-art-item {
    display: flex; gap: 14px; align-items: flex-start;
    padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.05);
    transition: background .12s; border-radius: 6px;
  }
  .portaria-art-item:last-child { border-bottom: none; }
  .portaria-art-item:hover { background: rgba(255,255,255,.02); padding-left: 6px; }
  .portaria-art-badge {
    flex-shrink: 0; min-width: 52px; text-align: center;
    background: rgba(240,192,96,.12);
    border: 1px solid rgba(240,192,96,.3);
    border-radius: 6px; padding: 4px 8px;
    font-family: var(--mono); font-size: 10px;
    font-weight: 800; color: var(--gold-bright);
  }
  .portaria-art-icon { font-size:20px; flex-shrink:0; margin-top:1px; display:flex; align-items:center; }
  .portaria-art-text { flex: 1; }
  .portaria-art-tipo {
    font-size: 11.5px; font-weight: 800; color: var(--text-primary);
    margin-bottom: 4px;
  }
  .portaria-art-corpo {
    font-size: 11px; color: var(--text-secondary); line-height: 1.6;
  }
  .portaria-art-prazo {
    display: inline-flex; align-items: center; gap: 5px;
    font-family: var(--mono); font-size: 10px; font-weight: 800;
    padding: 2px 10px; border-radius: 10px; margin-top: 6px;
  }
  .portaria-modal-ftr {
    padding: 12px 22px; border-top: 1px solid var(--border);
    font-size: 10px; color: var(--text-dim); text-align: center; flex-shrink: 0;
  }

  /* ─── MAPA ES — VIATURAS LEILÃO ─── */
  .es-map-section {
    background: var(--navy-800);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 20px 24px;
    margin-bottom: 24px;
    overflow: hidden;
  }
  .es-map-wrap {
    display: grid;
    grid-template-columns: 520px 1fr;
    gap: 22px;
    align-items: stretch;
  }
  .es-map-svg-wrap {
    flex-shrink: 0;
    position: relative;
    width: 520px;
  }
  .es-map-svg-wrap svg {
    width: 520px !important;
    height: auto !important;
    filter: drop-shadow(0 4px 16px rgba(0,0,0,.4));
    border-radius: 8px;
    display: block;
  }
  .es-region {
    transition: filter .15s, transform .15s;
    cursor: pointer;
    transform-origin: center;
  }
  .es-region:hover {
    filter: brightness(1.35) drop-shadow(0 0 10px var(--region-color, #fff));
  }
  .es-region.active {
    filter: brightness(1.4) drop-shadow(0 0 14px var(--region-color, #fff));
  }
  .es-map-legend {
    flex: 1;
    min-width: 240px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow-y: auto;
    max-height: 720px;
    padding-right: 4px;
  }
  .es-map-legend::-webkit-scrollbar { width: 4px; }
  .es-map-legend::-webkit-scrollbar-track { background: transparent; }
  .es-map-legend::-webkit-scrollbar-thumb { background: rgba(255,255,255,.1); border-radius: 2px; }
  .es-legend-region {
    background: var(--navy-700);
    border: 1px solid var(--border);
    border-radius: 9px;
    padding: 12px 14px;
    cursor: pointer;
    transition: border-color .15s, background .15s;
    border-left: 4px solid;
  }
  .es-legend-region:hover {
    background: var(--navy-600);
  }
  .es-legend-region-hdr {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 7px;
  }
  .es-legend-region-name {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .05em;
  }
  .es-legend-pills {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
  }
  .es-legend-pill {
    font-size: 9px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 8px;
    border: 1px solid;
    letter-spacing: .06em;
  }
  /* Tooltip avançado do mapa */
  .es-map-tooltip {
    position: fixed;
    z-index: 9999;
    pointer-events: none;
    display: none;
    min-width: 280px;
    max-width: 360px;
    background: rgba(6,16,34,.97);
    border-radius: 12px;
    box-shadow: 0 12px 40px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.1);
    font-family: 'Exo 2', sans-serif;
    overflow: hidden;
  }
  .es-map-tooltip.show { display: block; }
  .es-tt-header {
    padding: 12px 16px 10px;
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .es-tt-region-name {
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin-bottom: 4px;
  }
  .es-tt-muns {
    font-size: 10px;
    color: rgba(255,255,255,.5);
    line-height: 1.5;
  }
  .es-tt-kpis {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1px;
    background: rgba(255,255,255,.06);
    border-bottom: 1px solid rgba(255,255,255,.08);
  }
  .es-tt-kpi {
    padding: 10px 12px;
    background: rgba(6,16,34,.97);
    text-align: center;
  }
  .es-tt-kpi-num {
    font-family: 'DM Mono', monospace;
    font-size: 18px;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 3px;
  }
  .es-tt-kpi-label {
    font-size: 8.5px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255,255,255,.45);
  }
  .es-tt-subs {
    padding: 10px 16px 14px;
  }
  .es-tt-subs-title {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,255,255,.4);
    margin-bottom: 7px;
  }
  .es-tt-sub-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 0;
    border-bottom: 1px solid rgba(255,255,255,.04);
    font-size: 11px;
  }
  .es-tt-sub-row:last-child { border-bottom: none; }
  .es-tt-sub-name { color: rgba(255,255,255,.8); flex: 1; }
  .es-tt-sub-n {
    font-family: 'DM Mono', monospace;
    font-weight: 700;
    font-size: 10.5px;
  }
  .es-tt-risco {
    font-size: 8px;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 6px;
  }
  .es-tt-footer {
    padding: 8px 16px;
    background: rgba(255,255,255,.03);
    font-size: 9.5px;
    color: rgba(255,255,255,.35);
    border-top: 1px solid rgba(255,255,255,.06);
  }


  /* Animação de entrada do cabeçalho (page-load orquestrado, sutil) */
  @keyframes headerReveal {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  .header-inner > * { animation: headerReveal .5s cubic-bezier(.2,.7,.3,1) both; }
  .header-inner > *:nth-child(1) { animation-delay: .02s; }
  .header-inner > *:nth-child(2) { animation-delay: .08s; }
  .header-inner > *:nth-child(3) { animation-delay: .14s; }
  .header-inner > *:nth-child(4) { animation-delay: .20s; }
  .header-inner > *:nth-child(5) { animation-delay: .26s; }
  @media (prefers-reduced-motion: reduce) {
    .header-inner > * { animation: none; }
  }

  /* Aba SUPLEMENTAÇÃO — destaque vermelho claro fluorescente */
  #tab-suplementacao { color: #ff5e5e !important; text-shadow: 0 0 9px rgba(255,94,94,.55); }
  #tab-suplementacao:hover { color: #ff7a7a !important; background: rgba(255,94,94,.08); }
  #tab-suplementacao.active {
    color: #ff5e5e !important;
    border-bottom-color: #ff5e5e;
    background: linear-gradient(180deg, transparent 0%, rgba(255,94,94,.14) 100%);
    text-shadow: 0 0 12px rgba(255,94,94,.8);
  }
  #tab-suplementacao.active svg { filter: drop-shadow(0 0 6px rgba(255,94,94,.6)); }

  /* Aba SUPORTE — destaque verde limão fluorescente */
  #tab-suporte { color: #ccff00 !important; text-shadow: 0 0 9px rgba(204,255,0,.55); }
  #tab-suporte:hover { color: #d9ff33 !important; background: rgba(204,255,0,.08); }
  #tab-suporte.active {
    color: #ccff00 !important;
    border-bottom-color: #ccff00;
    background: linear-gradient(180deg, transparent 0%, rgba(204,255,0,.14) 100%);
    text-shadow: 0 0 12px rgba(204,255,0,.8);
  }
  #tab-suporte.active svg { filter: drop-shadow(0 0 6px rgba(204,255,0,.6)); }

  /* Aba MANUTENÇÃO DEPMAT — destaque laranja fluorescente */
  #tab-manutencao { color: #ff8c1a !important; text-shadow: 0 0 9px rgba(255,140,26,.55); }
  #tab-manutencao:hover { color: #ffa64d !important; background: rgba(255,140,26,.08); }
  #tab-manutencao.active {
    color: #ff8c1a !important;
    border-bottom-color: #ff8c1a;
    background: linear-gradient(180deg, transparent 0%, rgba(255,140,26,.14) 100%);
    text-shadow: 0 0 12px rgba(255,140,26,.8);
  }
  #tab-manutencao.active svg { filter: drop-shadow(0 0 6px rgba(255,140,26,.6)); }

  /* Cards de opções da aba SUPORTE */
  .suporte-op-card {
    cursor: pointer; background: #0d1f3c; border: 1px solid #1a2f52; border-radius: 14px;
    padding: 20px; text-align: center; transition: all .15s;
    flex: 1 1 230px; max-width: 260px;
  }
  .suporte-op-card:hover { border-color: #ccff00; box-shadow: 0 0 16px rgba(204,255,0,.18); transform: translateY(-2px); }
  .suporte-op-card.active { border-color: #ccff00; background: linear-gradient(160deg,#0d1f3c,#16210a); box-shadow: 0 0 16px rgba(204,255,0,.25); }

  /* Pills de "Tipo de Cadastro" — Cadastro de Condutores */
  .cond-tipo-pill { cursor: pointer; padding: 10px 18px; border-radius: 9px; font-size: 12px; font-weight: 800; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.14); color: #8da5c8; transition: all .15s; }
  .cond-tipo-pill:hover { border-color: rgba(204,255,0,.4); color: #ccff00; }
  .cond-tipo-pill.active { background: rgba(204,255,0,.12); border-color: #ccff00; color: #ccff00; box-shadow: 0 0 12px rgba(204,255,0,.2); }

  /* Aba Suplementação — revelação suave das linhas de ranking */
  @keyframes suplRowReveal {
    from { opacity: 0; transform: translateX(-8px); }
    to   { opacity: 1; transform: translateX(0); }
  }
  #view-suplementacao .supl-bioma-row,
  #view-suplementacao .supl-sub-row,
  #view-suplementacao .supl-2026rank-row {
    animation: suplRowReveal .4s ease both;
  }
  #view-suplementacao .supl-bioma-row:nth-child(n+2) { animation-delay: calc((var(--i, 0)) * .03s); }
  @media (prefers-reduced-motion: reduce) {
    #view-suplementacao .supl-bioma-row,
    #view-suplementacao .supl-sub-row,
    #view-suplementacao .supl-2026rank-row { animation: none; }
  }

  /* Ticker de assunções de pedidos de suplementação */
  @keyframes supl-ticker-scroll {
    0%   { transform: translateX(100vw); }
    100% { transform: translateX(-200%); }
  }
  @media (prefers-reduced-motion: reduce) {
    #supl-ticker-inner { animation: none !important; }
  }

/* === LOGIN SYSTEM CSS === */

/* ═══════════════════════════════════════════════════════
   SISTEMA DE LOGIN CBMES — CSS COMPLETO
═══════════════════════════════════════════════════════ */
#login-overlay {
  position: fixed; top: 0; left: 0; width: 100vw; height: 100vh;
  background: rgba(4,13,26,.97); z-index: 9000;
  display: flex; align-items: center; justify-content: center;
  backdrop-filter: blur(8px);
}
.login-card {
  background: linear-gradient(135deg, #0d1f3c 0%, #081428 100%);
  border: 1px solid #1a2f52; border-radius: 20px;
  padding: 36px 40px; width: 460px; max-width: 95vw;
  box-shadow: 0 20px 80px rgba(0,0,0,.8);
}
.login-logo { text-align: center; margin-bottom: 10px; }
.login-logo-icon { font-size: 48px; }
.login-org { text-align: center; font-size: 11px; color: #4a6080; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; margin-bottom: 4px; }
.login-title { text-align: center; font-size: 20px; font-weight: 800; color: #e8eef8; margin-bottom: 22px; letter-spacing: .02em; }
@keyframes loginTitlePulse { 0%, 100% { opacity: 1; } 50% { opacity: .45; } }
.login-title-piscando { animation: loginTitlePulse 2.6s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .login-title-piscando { animation: none; } }
.sigef-gold  { color: #ffd700 !important; text-shadow: 0 0 8px rgba(255,215,0,.85), 0 0 16px rgba(255,215,0,.5) !important; }
.sigef-white { color: #ffffff !important; text-shadow: 0 0 8px rgba(255,255,255,.9), 0 0 16px rgba(255,255,255,.6) !important; }
.sigef-red   { color: #ff1f44 !important; text-shadow: 0 0 8px rgba(255,31,68,.9), 0 0 16px rgba(255,31,68,.55) !important; }
.sigef-hero-title { text-align: center; font-family: var(--sans); font-weight: 900; font-size: 32px; letter-spacing: .01em; line-height: 1.1; margin-bottom: 6px; }
.sigef-hero-sub { text-align: center; font-family: var(--mono); font-size: 12px; color: #c8d4e8; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 20px; }
.login-subtitle { font-size: 12px; color: #6e8ab0; text-align: center; margin-bottom: 20px; }
.login-field { margin-bottom: 14px; }
.login-field label { display: block; font-size: 11px; font-weight: 700; color: #6e8ab0; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 6px; }
.login-btn {
  width: 100%; padding: 13px; background: #cc1c1c; border: none; border-radius: 10px;
  color: #fff; font-size: 14px; font-weight: 800; cursor: pointer; font-family: var(--sans);
  transition: background .2s; letter-spacing: .04em; margin-top: 6px;
}
.login-btn:hover { background: #b01515; }
.login-btn-wa {
  width: 100%; padding: 12px; background: #25d366; border: none; border-radius: 10px;
  color: #040d1a; font-size: 14px; font-weight: 800; cursor: pointer; font-family: var(--sans);
  display: flex; align-items: center; justify-content: center; gap: 8px;
  transition: background .2s; margin-top: 6px;
}
.login-btn-wa:hover { background: #1da851; }
.login-footer { text-align: center; font-size: 10px; color: #2a3a55; margin-top: 22px; }
.pass-wrap { position: relative; display: flex; align-items: center; }
.pass-wrap input { flex: 1; padding-right: 44px; }
.eye-btn { position: absolute; right: 0; top: 0; bottom: 0; width: 44px; background: none; border: none; cursor: pointer; color: #4a6080; display: flex; align-items: center; justify-content: center; }
.eye-btn:hover { color: #8da5c8; }
.pw-strength-bar-bg { height: 4px; background: #1a2f52; border-radius: 2px; overflow: hidden; margin-bottom: 8px; }
.pw-strength-bar { height: 100%; border-radius: 2px; transition: width .3s, background .3s; width: 0; }
.pw-rules { display: flex; flex-wrap: wrap; gap: 6px; }
.pw-rule { font-size: 10px; color: #4a6080; background: rgba(255,255,255,.04); border: 1px solid #1a2f52; border-radius: 4px; padding: 2px 7px; transition: color .2s, border-color .2s; }
.pw-rule.ok { color: #2cb87a; border-color: rgba(44,184,122,.35); }
.tel-wrap { display: flex; gap: 10px; }
.tel-input-style { width: 100%; background: #102448; border: 1px solid #1a2f52; border-radius: 8px; color: #e8eef8; font-size: 15px; font-family: var(--sans); padding: 11px 14px; outline: none; letter-spacing: .08em; }
.tel-preview { display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 13px; font-family: var(--mono); color: #2cb87a; background: rgba(44,184,122,.05); border: 1px solid rgba(44,184,122,.2); border-radius: 6px; padding: 8px 12px; }
#user-menu-btn { display: none; align-items: center; gap: 10px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 10px; padding: 8px 14px; cursor: pointer; font-family: var(--sans); transition: background .2s; margin-left: auto; flex-shrink: 0; }
#user-menu-btn:hover { background: rgba(255,255,255,.1); }
#um-avatar { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-weight: 800; }
#um-name { font-size: 13px; color: #e8eef8; font-weight: 700; max-width: 140px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#um-role { font-size: 10px; color: #eaff00; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 210px; text-shadow: 0 0 8px rgba(234,255,0,.6); font-weight: 700; }
#user-dropdown { position: absolute; top: calc(100% + 8px); right: 0; z-index: 8000; background: #0d1f3c; border: 1px solid #1a2f52; border-radius: 12px; width: 200px; display: none; box-shadow: 0 8px 40px rgba(0,0,0,.6); padding: 8px 0; }
#user-dropdown.open { display: block; }
.um-item { display: flex; align-items: center; gap: 10px; padding: 10px 16px; font-size: 13px; color: #8da5c8; cursor: pointer; transition: background .2s, color .2s; font-family: var(--sans); border: none; background: none; width: 100%; text-align: left; }
.um-item:hover { background: rgba(255,255,255,.06); color: #e8eef8; }
.um-item-danger { color: #ff8080; }
.um-item-danger:hover { background: rgba(204,28,28,.1); color: #ff8080; }
#users-modal-overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0,0,0,.8); z-index: 8500; display: none; align-items: center; justify-content: center; }
#users-modal-overlay.open { display: flex; }
.users-modal { background: #0d1f3c; border: 1px solid #1a2f52; border-radius: 16px; width: 700px; max-width: 95vw; max-height: 90vh; overflow-y: auto; padding: 28px; box-shadow: 0 16px 60px rgba(0,0,0,.8); }
.users-modal-title { font-size: 18px; font-weight: 800; color: #e8eef8; margin-bottom: 20px; }
.uf-group { margin-bottom: 14px; }
.uf-label { display: block; font-size: 11px; font-weight: 700; color: #6e8ab0; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 6px; }
.uf-hint { font-weight: 400; font-size: 10px; color: #4a6080; text-transform: none; }
.uf-input, .uf-select { width: 100%; background: #102448; border: 1px solid #1a2f52; border-radius: 8px; color: #e8eef8; font-size: 14px; font-family: var(--sans); padding: 11px 14px; outline: none; transition: border-color .2s; }
.uf-input:focus, .uf-select:focus { border-color: #2a4a7f; }
.uf-btn { background: #cc1c1c; color: #fff; border: none; border-radius: 8px; padding: 11px 22px; font-size: 13px; font-weight: 800; cursor: pointer; font-family: var(--sans); }
.uf-btn:hover { background: #b01515; }
.uf-btn-secondary { background: rgba(255,255,255,.08); color: #e8eef8; border: 1px solid rgba(255,255,255,.12); border-radius: 8px; padding: 10px 20px; font-size: 13px; cursor: pointer; font-family: var(--sans); }
.supl-form-group { margin-bottom: 14px; }
.supl-label { display: block; font-size: 11px; font-weight: 700; color: #6e8ab0; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 6px; }
.supl-input, .supl-select { width: 100%; background: #0d1f3c; border: 1px solid #1a2f52; border-radius: 8px; color: #e8eef8; font-size: 14px; font-family: var(--sans); padding: 11px 14px; outline: none; }
.supl-status { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; padding: 3px 8px; border-radius: 4px; }
.supl-status.pendente { color: #f0c060; background: rgba(212,168,83,.12); }
.supl-status.aprovado { color: #2cb87a; background: rgba(44,184,122,.12); }
.supl-status.rejeitado { color: #ff6060; background: rgba(204,28,28,.12); }
.supl-status.expirado  { color: #b87020; background: rgba(184,112,32,.14); border: 1px solid rgba(184,112,32,.3); animation: pulsExpired 2s infinite; }
@keyframes pulsExpired { 0%,100%{ opacity:1; } 50%{ opacity:.65; } }
.supl-status.pendente-exec { color: #f0c060; background: rgba(240,192,96,.16); border: 1px solid rgba(240,192,96,.4); }
#toast-container { position: fixed; bottom: 24px; right: 24px; z-index: 10000; display: flex; flex-direction: column; gap: 10px; }
.toast { background: #0d1f3c; border: 1px solid #1a2f52; border-radius: 10px; padding: 12px 18px; display: flex; align-items: center; gap: 10px; font-size: 13px; color: #e8eef8; box-shadow: 0 4px 20px rgba(0,0,0,.5); animation: toastIn .3s ease; min-width: 200px; }
@keyframes toastIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
/* ── VIEWS DO LOGIN (multi-tela) ── */
.lv { display: none; }
.lv.active { display: block; }
.login-divider { border: none; border-top: 1px solid #132240; margin: 18px 0; }
.login-view-title { font-size: 14px; font-weight: 800; color: #e8eef8; margin-bottom: 6px; letter-spacing: .02em; }
.login-view-sub { font-size: 12px; color: #8da5c8; margin-bottom: 20px; line-height: 1.6; }
.login-back { background: none; border: none; color: #4a6080; font-size: 12px; cursor: pointer; font-family: var(--sans); margin-bottom: 14px; display: flex; align-items: center; gap: 5px; transition: color .2s; }
.login-back:hover { color: #8da5c8; }
.login-link { color: #8da5c8; font-size: 12px; text-decoration: none; transition: color .2s; }
.login-link:hover { color: #e8eef8; }
.login-link-primary { color: #38b2f0; font-size: 12px; text-decoration: none; font-weight: 700; }
.login-links-row { display: flex; justify-content: space-between; align-items: center; margin-top: 14px; flex-wrap: wrap; gap: 8px; }
.confirm-code-input { width: 100%; text-align: center; font-size: 32px; font-weight: 800; letter-spacing: .3em; background: #102448; border: 2px solid #1a2f52; border-radius: 10px; color: #38b2f0; font-family: var(--mono); padding: 14px; outline: none; transition: border-color .2s; }
.confirm-code-input:focus { border-color: #38b2f0; box-shadow: 0 0 0 3px rgba(56,178,240,.15); }
#welcome-banner { position: fixed; top: 0; left: 0; right: 0; z-index: 300; background: linear-gradient(90deg, #cc1c1c 0%, #991515 100%); color: #fff; font-size: 15px; font-weight: 700; text-align: center; padding: 14px; display: none; align-items: center; justify-content: center; gap: 10px; box-shadow: 0 4px 20px rgba(0,0,0,.5); letter-spacing: .04em; }
.patente-slot-card { background: #0d2240; border: 1px solid #1a2f52; border-radius: 10px; padding: 14px 16px; display: flex; align-items: center; gap: 12px; transition: border-color .2s; margin-bottom: 8px; }
.patente-slot-card.filled { border-color: rgba(44,184,122,.35); }
.patente-slot-card.vacant { border-color: rgba(232,148,58,.25); }
.patente-emoji { font-size: 24px; flex-shrink: 0; }
.patente-info { flex: 1; min-width: 0; }
.patente-nome { font-size: 12px; font-weight: 800; color: #e8eef8; margin-bottom: 2px; }
.patente-militar { font-size: 11px; color: #8da5c8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.patente-status { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.patente-status.filled { color: #2cb87a; }
.patente-status.vacant { color: #e8943a; }
.patente-slot-btn { font-size: 11px; font-weight: 700; padding: 5px 10px; border-radius: 6px; border: none; cursor: pointer; font-family: var(--sans); flex-shrink: 0; }
.patente-slot-btn.fill { background: rgba(56,178,240,.15); color: #38b2f0; }
.patente-slot-btn.edit { background: rgba(44,184,122,.12); color: #2cb87a; }
#supl-popup-overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0,0,0,.75); z-index: 7000; display: none; align-items: flex-start; justify-content: center; padding-top: 60px; }
#supl-popup-overlay.open { display: flex; }
.supl-popup-card { background: linear-gradient(135deg, #0d1f3c 0%, #081428 100%); border: 2px solid #2cb87a; border-radius: 16px; width: 500px; max-width: 95vw; box-shadow: 0 0 60px rgba(44,184,122,.25), 0 16px 60px rgba(0,0,0,.8); animation: slideDown .4s ease; }
@keyframes slideDown { from { opacity:0; transform:translateY(-30px); } to { opacity:1; transform:translateY(0); } }
.supl-popup-hdr { display: flex; align-items: center; gap: 12px; padding: 18px 22px; border-bottom: 1px solid rgba(44,184,122,.2); }
.supl-popup-badge { background: #2cb87a; color: #040d1a; font-size: 11px; font-weight: 800; padding: 4px 10px; border-radius: 20px; letter-spacing: .06em; text-transform: uppercase; }
.supl-popup-title { font-size: 15px; font-weight: 800; color: #e8eef8; flex: 1; }
.supl-popup-body { padding: 20px 22px; }
.supl-popup-row { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 10px; font-size: 13px; }
.supl-popup-row-label { color: #4a6080; font-size: 11px; text-transform: uppercase; letter-spacing: .1em; font-weight: 700; min-width: 90px; margin-top: 1px; flex-shrink: 0; }
.supl-popup-row-val { color: #e8eef8; font-weight: 600; }
.supl-popup-footer { padding: 14px 22px; border-top: 1px solid rgba(44,184,122,.15); display: flex; gap: 10px; justify-content: flex-end; }
.supl-popup-btn-apr { background: #2cb87a; color: #040d1a; border: none; border-radius: 8px; padding: 10px 22px; font-size: 13px; font-weight: 800; cursor: pointer; font-family: var(--sans); }
.supl-popup-btn-rej { background: rgba(204,28,28,.15); color: #ff6060; border: 1px solid rgba(204,28,28,.3); border-radius: 8px; padding: 10px 22px; font-size: 13px; font-weight: 700; cursor: pointer; font-family: var(--sans); }
.supl-popup-btn-later { background: rgba(255,255,255,.07); color: #8da5c8; border: none; border-radius: 8px; padding: 10px 22px; font-size: 13px; cursor: pointer; font-family: var(--sans); }
#wa-notif-overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0,0,0,.8); z-index: 6500; display: none; align-items: center; justify-content: center; }
#wa-notif-overlay.open { display: flex; }
.wa-notif-card { background: #0d1f3c; border: 1px solid rgba(37,211,102,.4); border-radius: 14px; width: 480px; max-width: 95vw; padding: 28px; box-shadow: 0 16px 60px rgba(0,0,0,.8); }
.wa-notif-title { font-size: 16px; font-weight: 800; color: #25d366; margin-bottom: 6px; }
.wa-notif-desc { font-size: 12px; color: #8da5c8; margin-bottom: 18px; line-height: 1.6; }
.wa-notif-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.wa-notif-btn { display: flex; align-items: center; gap: 10px; padding: 11px 16px; background: rgba(37,211,102,.08); border: 1px solid rgba(37,211,102,.3); border-radius: 9px; color: #25d366; font-size: 13px; font-weight: 700; cursor: pointer; text-decoration: none; transition: background .2s; font-family: var(--sans); justify-content: center; }
.wa-notif-btn:hover { background: rgba(37,211,102,.18); }
.wa-notif-close { width: 100%; padding: 10px; background: rgba(255,255,255,.07); border: none; border-radius: 8px; color: #8da5c8; font-size: 13px; cursor: pointer; font-family: var(--sans); }
.um-tabs { display: flex; border-bottom: 1px solid #1a2f52; margin-bottom: 18px; gap: 0; }
.um-tab-btn { background: none; border: none; border-bottom: 3px solid transparent; padding: 10px 20px; font-size: 13px; font-weight: 700; color: #4a6080; cursor: pointer; font-family: var(--sans); transition: color .2s, border-color .2s; margin-bottom: -1px; }
.um-tab-btn:hover { color: #8da5c8; }
.um-tab-btn.active { color: #e8eef8; border-bottom-color: #cc1c1c; }
.um-tab-pane { display: none; }
.um-tab-pane.active { display: block; }

/* ── CURSOR VIATURA BOMBEIRO: caret de digitação ── */
#login-user, #login-pass {
  caret-color: transparent !important;
}
@keyframes viaturaBlink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0; }
}
@keyframes pedidoSubunidadePisca {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: .25; }
}
#viatura-caret {
  position: fixed;
  pointer-events: none;
  z-index: 99999;
  font-size: 20px;
  line-height: 1;
  display: none;
  user-select: none;
  transform: translate(-4px, -50%);
  filter: drop-shadow(0 0 6px rgba(204,28,28,.8));
  animation: viaturaBlink 1s step-end infinite;
}

/* ═══ TRANSFERÊNCIA TEMPORÁRIA DE VIATURAS ═══ */

/* ── Grid compacto no modo transferência ── */
.transf-mode-active .sub-cards-grid {
  grid-template-columns: repeat(auto-fill, minmax(255px, 1fr)) !important;
  gap: 10px !important;
}
.transf-mode-active .sub-card {
  cursor: grab;
  border: 2px dashed rgba(255,50,50,.55) !important;
  transition: border-color .15s, box-shadow .15s, transform .12s, background .15s;
}
.transf-mode-active .sub-card:hover {
  border-color: #ff3232 !important;
  box-shadow: 0 0 14px rgba(255,50,50,.22);
  transform: translateY(-1px);
}

/* ── Chip de viatura arrastável (neutro; só fica vermelho ao ser arrastado) ── */
.transf-viatura-chip {
  display:inline-flex; align-items:center; gap:5px;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.25);
  color: #e8eef8; border-radius: 6px; padding: 4px 9px;
  font-size: 10px; font-weight: 800; cursor: grab; margin: 2px;
  transition: all .15s; user-select:none; letter-spacing:.04em;
}
.transf-viatura-chip:hover { background: rgba(255,255,255,.12); box-shadow: 0 0 8px rgba(255,255,255,.15); }
.transf-viatura-chip.chip-jurisdicao-bloqueada { opacity:.4; cursor:not-allowed; }

/* ── Card de assinatura digital (checklist de transferência/devolução) ── */
.sig-pad-card {
  background: #0a1930; border: 1px solid #1a2f52; border-radius: 9px;
  padding: 8px; margin-top: 6px;
}
.sig-pad-card canvas {
  width: 100%; height: 110px; display: block; border-radius: 6px;
  background: #0d1f3c; border: 1px dashed rgba(255,255,255,.22);
  cursor: crosshair; touch-action: none;
}
.sig-pad-toolbar {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 6px; font-size: 10px; color: #6e8ab0;
}
.sig-pad-clear {
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.18);
  color: #aebfd6; border-radius: 5px; padding: 3px 9px; font-size: 10px;
  cursor: pointer; font-family: inherit;
}
.sig-pad-clear:hover { background: rgba(255,255,255,.12); }

/* ── Chip piscante durante o arrasto (vermelho fluorescente) ── */
@keyframes transfBlinkChip {
  0%,100% {
    background: rgba(255,10,10,.55);
    box-shadow: 0 0 14px rgba(255,10,10,1), 0 0 30px rgba(255,0,0,.7);
    border-color: #ff0000; color: #fff;
  }
  50% {
    background: rgba(255,10,10,.07);
    box-shadow: 0 0 3px rgba(255,10,10,.2);
    border-color: rgba(255,10,10,.28); color: #ff5555;
  }
}
.transf-chip-dragging {
  animation: transfBlinkChip .42s ease-in-out infinite !important;
  cursor: grabbing !important;
}

/* ── Card de origem durante arrasto ── */
.sub-card.drag-source-active {
  opacity: .45; border-color: rgba(255,120,30,.7) !important;
  transform: scale(.975);
}

/* ── Card alvo (ao passar o cursor durante arrasto) — vermelho fluorescente ── */
@keyframes transfDropPulse {
  0%,100% { box-shadow: 0 0 0 3px rgba(255,15,15,.75), 0 0 36px rgba(255,5,5,.5); }
  50%      { box-shadow: 0 0 0 3px rgba(255,15,15,.18), 0 0 10px rgba(255,5,5,.08); }
}
.sub-card.drag-over-target {
  border-color: #ff0a0a !important;
  background: rgba(255,8,8,.09) !important;
  animation: transfDropPulse .5s ease-in-out infinite !important;
  transform: scale(1.02) !important;
  transition: none !important;
}

/* ── Card com viatura visitante — marcação persistente vermelha ── */
@keyframes transfVisitorGlow {
  0%,100% { box-shadow: 0 0 0 2px rgba(255,20,20,.7), 0 0 22px rgba(255,10,10,.4); }
  50%      { box-shadow: 0 0 0 2px rgba(255,20,20,.18), 0 0 7px rgba(255,10,10,.1); }
}
.sub-card.transf-has-visitor {
  border-color: #ff1515 !important;
  border-style: solid !important;
  animation: transfVisitorGlow 2.2s ease-in-out infinite !important;
}

/* ── Indicador flutuante durante arrasto ── */
#transf-drag-indicator {
  position: fixed; top: 12px; left: 50%; transform: translateX(-50%);
  background: linear-gradient(135deg, #1c0303, #2e0505);
  border: 2px solid #ff1515;
  border-radius: 10px; padding: 8px 20px;
  font-size: 13px; font-weight: 800; color: #ff3333; letter-spacing: .06em;
  z-index: 9900; pointer-events: none; display: none;
  box-shadow: 0 4px 28px rgba(255,10,10,.55), 0 0 50px rgba(255,0,0,.2);
  animation: transfBlinkChip .42s ease-in-out infinite;
  white-space: nowrap;
}

/* ── Marcador de viatura visitante ── */
.transf-badge-visitante {
  display:inline-flex; align-items:center; gap:4px;
  background: rgba(255,60,60,.18); border: 1px solid rgba(255,60,60,.45);
  color: #ff5555; border-radius:5px; padding: 2px 7px; font-size:9px; font-weight:800;
  text-transform:uppercase; letter-spacing:.07em; animation: pulsTransf 1.8s infinite;
}
@keyframes pulsTransf { 0%,100%{box-shadow:0 0 4px rgba(255,60,60,.4)} 50%{box-shadow:0 0 12px rgba(255,60,60,.7)} }

/* ── Temporizador e painéis ── */
.transf-timer { font-size:11px; color:#e8943a; font-weight:800; font-family:monospace; }
.transf-timer.critico { color:#ff3c3c; animation: pulsTransf .8s infinite; }
/* Ampulheta girando enquanto aguarda confirmação da logística (prazo de 72h) */
@keyframes transfHourglassSpin { from{transform:rotate(0deg);} to{transform:rotate(360deg);} }
.transf-hourglass { display:inline-block; animation: transfHourglassSpin 1.8s linear infinite; margin-right:2px; }
#transf-panel { background:linear-gradient(160deg,#0e1e3c,#081428); border:1px solid rgba(255,60,60,.35); border-radius:14px; padding:20px 22px; margin-bottom:22px; }
#transf-panel-title { font-size:14px; font-weight:800; color:#ff5555; letter-spacing:.04em; margin-bottom:14px; display:flex; align-items:center; gap:8px; }
.transf-toggle-btn {
  background:linear-gradient(135deg,#1a2a4a,#0e1a30); border:1px solid rgba(56,178,240,.4);
  color:#38b2f0; border-radius:9px; padding:9px 16px; font-size:12px; font-weight:800;
  cursor:pointer; font-family:inherit; letter-spacing:.04em; transition:all .2s;
  display:flex; align-items:center; gap:7px;
}
.transf-toggle-btn.active { background:linear-gradient(135deg,#3a0606,#1c0303); border-color:rgba(255,40,40,.65); color:#ff4444; }
.transf-toggle-btn:hover { filter:brightness(1.15); }

/* ═══ PAINEL PROFISSIONAL DE TRANSFERÊNCIA (OVERLAY) ═══ */
#transf-board-overlay {
  position: fixed; inset: 0; z-index: 8500;
  background: linear-gradient(160deg, #040d1a 0%, #060f1e 100%);
  display: none; flex-direction: column; overflow: hidden;
}
#transf-board-header {
  flex-shrink: 0;
  background: linear-gradient(90deg, #1a0303 0%, #2c0606 100%);
  border-bottom: 2px solid #ff1a1a;
  padding: 13px 24px; display: flex; align-items: center;
  justify-content: space-between; gap: 16px;
  box-shadow: 0 4px 24px rgba(255,10,10,.22);
}
#transf-board-title {
  font-size: 14px; font-weight: 900; color: #ff3333;
  letter-spacing: .1em; animation: transfBlinkChip .7s ease-in-out infinite;
}
#transf-board-hint {
  font-size: 11px; color: #74a8cc; margin-top: 3px; letter-spacing: .02em;
}
#transf-board-close {
  background: rgba(255,30,30,.14); border: 1px solid rgba(255,30,30,.45);
  color: #ff4444; border-radius: 8px; padding: 8px 18px;
  font-size: 12px; font-weight: 800; cursor: pointer; font-family: inherit;
  letter-spacing: .05em; transition: all .2s; white-space: nowrap; flex-shrink: 0;
}
#transf-board-close:hover { background: rgba(255,30,30,.28); border-color: #ff1515; }
#transf-board-body {
  flex: 1; overflow-y: auto; padding: 20px 24px;
  display: flex; flex-direction: column; gap: 20px;
  scroll-behavior: smooth;
}
.transf-board-section-label {
  font-size: 9px; font-weight: 800; letter-spacing: .16em; color: #6e8ab0;
  text-transform: uppercase; margin-bottom: 12px; padding-bottom: 6px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
/* Cartão de origem (subunidade do logístico) */
#transf-board-origem .transf-board-card {
  max-width: 460px;
  border-color: rgba(56,178,240,.45) !important;
  background: rgba(14,35,66,.55) !important;
}
/* Grid de destinos */
#transf-board-destinos {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 10px;
}
/* Cartão genérico do painel */
.transf-board-card {
  background: rgba(10,20,42,.65); border: 1.5px solid rgba(255,255,255,.09);
  border-radius: 12px; padding: 14px 16px;
  transition: border-color .15s, box-shadow .15s, transform .12s;
}
.transf-board-card.drop-target {
  border-color: #ff0a0a !important; background: rgba(255,8,8,.09) !important;
  animation: transfDropPulse .5s ease-in-out infinite !important;
  transform: scale(1.025) !important; transition: none !important;
}
.transf-board-card.has-visitor {
  border-color: #ff1515 !important;
  animation: transfVisitorGlow 2.2s ease-in-out infinite !important;
}
.transf-board-card-name {
  font-size: 11px; font-weight: 800; color: #e8eef8;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  margin-bottom: 1px;
}
.transf-board-card-sub {
  font-size: 9px; color: #5a7a9e; margin-bottom: 8px; font-weight: 600;
}
.transf-board-card-sub.pab-hl {
  font-size: 11px; color: #eaff00; font-weight: 800;
  text-shadow: 0 0 6px rgba(234,255,0,.55);
}
.transf-board-card-count {
  font-size: 26px; font-weight: 900; color: #cc1c1c;
  font-family: monospace; line-height: 1;
}
.transf-board-card-count-label {
  font-size: 8px; color: #5a7a9e; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; margin-top: 2px; margin-bottom: 8px;
}
.transf-board-chips-label {
  font-size: 9px; color: #74b9e8; font-weight: 700; margin-bottom: 6px;
}
.transf-board-visitor-badge {
  display: block; background: rgba(255,60,60,.18);
  border: 1px solid rgba(255,60,60,.45); color: #ff5555;
  border-radius: 5px; padding: 2px 7px; font-size: 9px; font-weight: 800;
  text-transform: uppercase; letter-spacing: .06em;
  animation: pulsTransf 1.8s infinite; margin-bottom: 3px;
}
