:root{--af-red:#8b0000;--af-red2:#b21b00;--af-dark:#575757;--af-light:#f7f7f7;}
.af-navbar{background:var(--af-red);} 
.btn-primary{background:var(--af-red);border-color:var(--af-red)}
.btn-primary:hover{background:#6f0000;border-color:#6f0000}
.card-kpi{border-left:6px solid var(--af-red);}
.validation-ok{background:#e8f5e9;border-left:8px solid #198754;}
.validation-block{background:#ffebee;border-left:8px solid #dc3545;}
.big-counter{font-size:2.2rem;font-weight:700;color:var(--af-red)}
.af-titlebar{background:var(--af-dark);color:white;padding:.75rem 1rem;border-radius:.5rem .5rem 0 0;}
.qr-box{min-height:280px;background:#fff;border:1px dashed #aaa;border-radius:.75rem;display:flex;align-items:center;justify-content:center;}

.validation-warn{background:#fff8e1;border-left:8px solid #ffc107;}
.sticky-result{position:sticky;top:.75rem;z-index:1020;border-radius:.75rem;}
body.screen-ok{box-shadow:inset 0 0 0 6px #198754;}
body.screen-warn{box-shadow:inset 0 0 0 6px #ffc107;}
body.screen-block{box-shadow:inset 0 0 0 6px #dc3545;}
@media (max-width: 768px){
  main.container-fluid{margin-top:.75rem!important;padding-left:.65rem!important;padding-right:.65rem!important;}
  .sticky-result{top:.25rem;}
  .sticky-result h3{font-size:1.25rem;}
  .big-counter{font-size:1.7rem;}
  .qr-box{min-height:220px;}
  .table-responsive{font-size:.9rem;}
}

.mobile-card{border-radius:1rem;box-shadow:0 3px 12px rgba(0,0,0,.06)}
@media (max-width: 768px){
  h2{font-size:1.45rem}.navbar-brand{font-size:1rem}.btn-lg{font-size:1rem;padding:.8rem 1rem}
  .mobile-card{border-radius:1rem}.mobile-page .card-body{padding:1rem}
  .mobile-table-card table,.mobile-table-card thead,.mobile-table-card tbody,.mobile-table-card th,.mobile-table-card td,.mobile-table-card tr{display:block}
  .mobile-table-card thead{display:none}
  .mobile-table-card tr{background:#fff;border:1px solid #ddd;border-radius:.9rem;margin-bottom:.75rem;padding:.5rem;box-shadow:0 2px 8px rgba(0,0,0,.04)}
  .mobile-table-card td{border:0!important;padding:.35rem .5rem;display:flex;justify-content:space-between;gap:1rem;text-align:right}
  .mobile-table-card td::before{content:attr(data-label);font-weight:700;text-align:left;color:#555}
}

/* Viagens: melhor usabilidade em smartphones */
.viagem-acoes{white-space:nowrap;}
@media (max-width: 768px){
  .viagens-header{align-items:center!important;}
  .btn-nova-viagem{padding:.7rem 1rem;border-radius:.85rem;}
  .viagens-mobile-list{overflow:visible;}
  .viagens-mobile-list .table{margin-bottom:0;}
  .viagens-mobile-list .viagem-acoes{display:block!important;text-align:initial!important;padding-top:.75rem;border-top:1px solid #eee!important;}
  .viagens-mobile-list .viagem-acoes::before{display:none;}
  .viagens-mobile-list .viagem-acoes .btn{width:100%;padding:.75rem 1rem;font-size:1rem;border-radius:.85rem;}
}

/* Beta 1.0.2 - mapa visual de poltronas */
.seat-map{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:8px;max-width:620px}
.seat-box{height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;box-shadow:0 2px 5px rgba(0,0,0,.15);border:2px solid rgba(255,255,255,.6)}
.seat-box span{font-size:15px}
.seat-free{background:#198754}
.seat-busy{background:#b02a37}
.seat-reserved{background:#ffc107;color:#212529}
.seat-callout{display:flex;align-items:center;gap:14px;padding:14px;border-radius:14px;background:#fff3cd;color:#212529;margin:12px 0;border:2px solid #ffc107}
.seat-number-big{width:76px;height:76px;border-radius:16px;background:#198754;color:#fff;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:900}
.credit-card-options{display:flex;flex-wrap:wrap;gap:10px}
.credit-card-options label{border:1px solid #dee2e6;border-radius:12px;padding:10px 14px;background:#fff;cursor:pointer;font-weight:700}
.credit-card-options input{margin-right:6px}

/* Beta 1.0.3 - mapa clicável e histórico com poltrona */
.seat-box{border:0;cursor:pointer}
.seat-box:focus{outline:3px solid rgba(13,110,253,.35);outline-offset:2px}
.popover{font-size:.95rem;font-weight:600}


/* Beta 1.0.4 - mapa interativo como tela principal */
.seat-absence{background:#0d6efd}
.seat-selected{outline:4px solid #111!important;outline-offset:3px;transform:scale(1.08)}
.seat-legend{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.seat-legend span{font-size:.9rem;font-weight:700}
.legend-dot{display:inline-block;width:14px;height:14px;border-radius:50%;vertical-align:-2px;margin-right:5px}
.legend-dot.free{background:#198754}.legend-dot.busy{background:#b02a37}.legend-dot.reserved{background:#ffc107}.legend-dot.absence{background:#0d6efd}
@media (min-width: 992px){.seat-map{grid-template-columns:repeat(4,52px);gap:10px;max-width:270px;margin:auto}.seat-box{height:48px}}
