* { box-sizing: border-box; }

.setup-screen {
  position: fixed; inset: 0; z-index: 50; display: none; align-items: center; justify-content: center; padding: 24px;
  background: radial-gradient(circle at top right, rgba(40,168,255,.22), transparent 30%), #05070b;
}
.setup-screen.active { display: flex; }
.setup-bg { position:absolute; inset:0; background: linear-gradient(135deg, rgba(111,92,255,.14), rgba(40,168,255,.08)); }
.setup-card {
  position: relative; width: min(760px, 100%); padding: 34px; border-radius: 28px;
  background: rgba(8, 18, 31, .94); border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 24px 80px rgba(0,0,0,.45);
}
.setup-logo { width: 64px; height: 64px; border-radius: 22px; display:grid; place-items:center; font-size:30px; background: linear-gradient(135deg,#28a8ff,#6f5cff); margin-bottom: 16px; }
.setup-card h1 { font-size: 34px; margin-bottom: 8px; }
.setup-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 22px 0; }
.setup-grid label { color: #b9c9da; font-size: 14px; display: grid; gap: 8px; }
.setup-grid select, .setup-grid input { width: 100%; padding: 14px; border-radius: 14px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.08); color: #eaf4ff; }
.setup-grid select option { color: #111; }
.setup-preview { padding: 14px 16px; border-radius: 16px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08); margin-bottom: 18px; color: #c8d7e6; }
.setup-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.big { padding: 14px 20px; font-size: 15px; }
@media(max-width: 760px){ .setup-grid{ grid-template-columns: 1fr; } .sidebar{ width: 230px; } }

body {
  margin: 0;
  font-family: Segoe UI, Arial, sans-serif;
  background: radial-gradient(circle at top right, #153a5c, #07111d 45%, #05070b);
  color: #eaf4ff;
}
.app { display: flex; min-height: 100vh; }
.sidebar {
  width: 280px;
  background: rgba(6, 14, 24, .88);
  border-right: 1px solid rgba(255,255,255,.08);
  padding: 24px;
}
.logo { display: flex; gap: 14px; align-items: center; margin-bottom: 34px; }
.logo-icon {
  width: 52px; height: 52px; border-radius: 18px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, #28a8ff, #6f5cff);
  font-size: 25px;
  box-shadow: 0 12px 30px rgba(40,168,255,.25);
}
h1 { margin: 0; font-size: 21px; }
p { color: #91a5b8; }
.logo p { margin: 3px 0 0; font-size: 13px; }
.nav {
  width: 100%; border: 0; margin-bottom: 10px; padding: 14px 16px;
  border-radius: 14px; background: transparent; color: #b9c9da;
  text-align: left; cursor: pointer; font-size: 15px;
}
.nav:hover, .nav.active { background: rgba(40,168,255,.14); color: white; }
.status-card {
  margin-top: 28px; padding: 16px; border-radius: 18px;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08);
}
.status-card span, .card span { color: #90a4b8; display: block; font-size: 13px; }
.status-card strong { display: block; margin: 6px 0; }
.offline { color: #ff6868; }
.online { color: #65efb0; }
.status-waiting { color: #ffd27d; }
.status-test { color: #9fd8ff; }
.msfs-sidebar-card small {
  display: block;
  line-height: 1.35;
  color: #bfd0df;
}
.content { flex: 1; padding: 28px; }
.topbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.topbar h2 { margin: 0; font-size: 32px; }
.topbar p { margin: 6px 0 0; }
.topbar-actions { display: flex; align-items: center; gap: 12px; }
.pilot-mini {
  padding: 13px 18px; border-radius: 18px;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.08);
}
.logout-btn {
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  color: #ffffff;
  padding: 13px 18px;
  border-radius: 16px;
  font-weight: 800;
  cursor: pointer;
}
.logout-btn:hover { background: rgba(255,104,104,.18); border-color: rgba(255,104,104,.45); }
.pilot-mini span, .pilot-mini strong { display: block; text-align: right; }
.pilot-mini span { color: #c8d7e6; }
.grid { display: grid; gap: 18px; }
.stats { grid-template-columns: repeat(4, 1fr); }
.two { grid-template-columns: repeat(2, 1fr); margin-top: 18px; }
.card {
  padding: 22px; border-radius: 24px;
  background: rgba(255,255,255,.075);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 60px rgba(0,0,0,.20);
}
.card strong { display: block; margin-top: 8px; font-size: 27px; }
.card h3 { margin-top: 0; }
.large { min-height: 220px; }
.page { display: none; }
.page.active { display: block; }
.empty {
  padding: 22px; border: 1px dashed rgba(255,255,255,.18);
  border-radius: 18px; color: #9eb0c0;
}
.progress { width: 100%; height: 15px; background: rgba(255,255,255,.12); border-radius: 999px; overflow: hidden; }
.progress div { height: 100%; width: 0%; background: linear-gradient(90deg, #28a8ff, #33e1a2); }
.actions { margin-bottom: 18px; }
button {
  border: 0; border-radius: 14px; padding: 13px 18px;
  color: white; cursor: pointer; font-weight: 700;
}
.primary { background: linear-gradient(135deg, #198cff, #695eff); }
.success { background: linear-gradient(135deg, #18b978, #36d49c); }
.danger { background: linear-gradient(135deg, #e74c4c, #ff7b5f); }

.refuel-action {
  background: linear-gradient(135deg, #f4c430, #ffb142);
  color: #1b1b1b;
  box-shadow: 0 10px 22px rgba(255,177,66,.18);
}
.refuel-action:hover { filter: brightness(1.05); }
.outline { margin-left: 10px; background: transparent; border: 1px solid rgba(255,120,120,.55); }
.contracts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.contract-card h3 { margin-bottom: 8px; }
.contract-meta { display: grid; gap: 8px; margin: 18px 0; color: #b8cadb; }
.flight-actions { display: flex; gap: 12px; margin-top: 20px; flex-wrap: wrap; }
.aircraft.locked { opacity: .48; }
.history-item { margin-bottom: 12px; }
.form-card { max-width: 560px; }
label { display: block; margin: 14px 0 8px; color: #b9c9da; }
input {
  width: 100%; padding: 14px; border-radius: 14px; border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.25); color: white; outline: none;
}
@media (max-width: 1000px) {
  .app { flex-direction: column; }
  .sidebar { width: 100%; }
  .stats, .two, .contracts { grid-template-columns: 1fr; }
  .topbar { align-items: flex-start; gap: 12px; flex-direction: column; }
  .topbar-actions { width: 100%; justify-content: space-between; }
}

/* V2 */
.airport-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}
.airport-panel h3 { margin-bottom: 6px; }
.airport-panel p { margin: 0; }
.airport-inputs {
  min-width: 320px;
  display: flex;
  gap: 10px;
}
.airport-inputs input {
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: 2px;
}
.filters {
  display: flex;
  gap: 10px;
  margin: 18px 0;
  flex-wrap: wrap;
}
.filter {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  color: #cfe0ef;
}
.filter.active,
.filter:hover { background: rgba(40,168,255,.22); color: white; }

.work-sort-control {
  margin-left: auto;
  min-width: 210px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: #91a4c7;
  font-size: 12px;
  font-weight: 700;
}
.work-sort-dropdown {
  position: relative;
  width: 100%;
}
.work-sort-button {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(28,44,63,.96), rgba(16,27,41,.96));
  border: 1px solid rgba(120,165,210,.28);
  color: #f4f8ff;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);
  cursor: pointer;
}
.work-sort-button:hover,
.work-sort-dropdown.open .work-sort-button {
  border-color: rgba(40,168,255,.62);
  background: linear-gradient(180deg, rgba(35,62,89,.98), rgba(17,36,57,.98));
}
.work-sort-caret {
  color: #7dd3ff;
  font-size: 13px;
  transition: transform .18s ease;
}
.work-sort-dropdown.open .work-sort-caret { transform: rotate(180deg); }
.work-sort-menu {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  z-index: 40;
  display: none;
  padding: 8px;
  border-radius: 14px;
  background: #101a28;
  border: 1px solid rgba(40,168,255,.35);
  box-shadow: 0 18px 40px rgba(0,0,0,.55);
}
.work-sort-dropdown.open .work-sort-menu { display: grid; gap: 4px; }
.work-sort-menu button {
  width: 100%;
  min-height: 38px;
  border: 0;
  border-radius: 10px;
  padding: 0 10px;
  background: transparent;
  color: #d8e7ff;
  text-align: left;
  font-weight: 800;
  cursor: pointer;
}
.work-sort-menu button:hover {
  background: rgba(40,168,255,.20);
  color: #ffffff;
}
.work-sort-menu button.active {
  background: linear-gradient(90deg, rgba(40,168,255,.34), rgba(112,90,255,.28));
  color: #ffffff;
}
@media (max-width: 760px){
  .work-sort-control { margin-left: 0; width: 100%; }
}
.mission-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}
.badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  background: rgba(255,255,255,.10);
}
.badge.passageiros { background: rgba(40,168,255,.18); }
.badge.carga { background: rgba(255,177,66,.18); }
.badge.vip { background: rgba(175,112,255,.22); }
.difficulty { color: #adc0d1; font-size: 13px; }
.contract-card { position: relative; overflow: hidden; }
.contract-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: rgba(255,255,255,.20);
}
.contract-card.passageiros::before { background: #28a8ff; }
.contract-card.carga::before { background: #ffb142; }
.contract-card.vip::before { background: #af70ff; }
.mini-stats {
  display: grid;
  gap: 10px;
  margin-top: 18px;
  color: #b8cadb;
}
@media (max-width: 1000px) {
  .airport-panel { flex-direction: column; align-items: stretch; }
  .airport-inputs { min-width: 0; flex-direction: column; }
}

/* V3 */
.market-info {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 18px;
}
.market-info strong {
  font-size: 18px;
  line-height: 1.3;
}
.aircraft-current {
  padding: 14px 18px;
  border-radius: 16px;
  background: rgba(40,168,255,.16);
  border: 1px solid rgba(40,168,255,.28);
  font-weight: 800;
  color: #fff;
}
.aircraft.selected {
  border-color: rgba(54,212,156,.6);
  box-shadow: 0 0 0 1px rgba(54,212,156,.25), 0 18px 60px rgba(0,0,0,.20);
}
.capacity {
  display: grid;
  gap: 8px;
  margin: 14px 0 18px;
  color: #b8cadb;
}
.disabled {
  background: rgba(255,255,255,.12);
  color: #92a5b8;
  cursor: not-allowed;
}
.contract-card.blocked {
  opacity: .68;
}
.block-reason {
  margin-bottom: 0;
  color: #ffb6a8;
  font-size: 13px;
}
@media (max-width: 1000px) {
  .market-info { grid-template-columns: 1fr; }
}

/* V4 */
.contract-meta b { color: #fff; }
.history-item.maintenance { border-color: rgba(255,177,66,.35); }
.history-item.company { border-color: rgba(54,212,156,.35); }
.aircraft button + button { margin-left: 8px; margin-top: 8px; }
.card .mini-stats b { color: white; }

.wrap-actions { flex-wrap: wrap; }
.scan-status {
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  color: #d6e3ff;
  border: 1px solid rgba(255,255,255,.08);
}
.airport-list {
  display: grid;
  gap: 10px;
  max-height: 430px;
  overflow: auto;
  padding-right: 6px;
}
.airport-row {
  display: grid;
  grid-template-columns: 90px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
}
.airport-row b { color: #fff; letter-spacing: .08em; }
.airport-row span { color: #dfe8ff; }
.airport-row small { color: #91a4c7; }
input[type="file"] {
  width: 100%;
  margin-top: 10px;
  padding: 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  color: #dfe8ff;
}
@media (max-width: 850px){
  .airport-row { grid-template-columns: 1fr; }
}

.login-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px;
  border: 1px solid rgba(120,160,255,.28);
  background: rgba(255,255,255,.06);
  border-radius: 18px;
  margin: 18px 0;
}
.login-box p { margin: 4px 0 0; color: rgba(255,255,255,.72); font-size: 13px; }
.login-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.setup-warning {
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255,190,90,.12);
  border: 1px solid rgba(255,190,90,.22);
  color: rgba(255,255,255,.78);
  font-size: 13px;
  margin-bottom: 14px;
}
button:disabled, button.disabled { opacity: .45; cursor: not-allowed; filter: grayscale(.35); }
@media (max-width: 760px){ .login-box { align-items: flex-start; flex-direction: column; } }

.career-setup-form { margin-top: 18px; }
.setup-section-title { font-size: 20px; margin: 18px 0 4px; }
.setup-section-subtitle { margin: 0 0 18px; color: rgba(255,255,255,.65); }
button.disabled, button:disabled { opacity: .45; cursor: not-allowed; filter: grayscale(.3); }


/* V9 - Google Identity Services */
.google-login-actions { min-width: 300px; justify-content: flex-end; align-items: center; }
.google-button-holder { min-height: 44px; display: flex; align-items: center; justify-content: flex-end; }
.google-config-warning {
  padding: 12px 16px;
  border-radius: 999px;
  border: 1px solid rgba(255, 196, 87, .35);
  background: rgba(255, 196, 87, .10);
  color: #ffd58a;
  font-weight: 700;
  font-size: 13px;
}
.login-box { display:flex; justify-content:space-between; gap:20px; align-items:center; }
@media(max-width:760px){ .login-box{ flex-direction:column; align-items:flex-start; } .google-login-actions{ width:100%; justify-content:flex-start; } }
.setup-grid.one { grid-template-columns: 1fr; }
.activation-box { margin-top: 16px; }
.disabled { opacity: .45; cursor: not-allowed; }

/* V12 - telas separadas de cadastro e login */
.auth-box { padding-top: 4px; }
.auth-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 6px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  background: rgba(255,255,255,.05);
  margin-bottom: 18px;
}
.auth-tab {
  border: 0;
  border-radius: 12px;
  padding: 13px 16px;
  color: #cfe1f2;
  background: transparent;
  font-weight: 800;
  cursor: pointer;
}
.auth-tab.active {
  background: linear-gradient(135deg,#28a8ff,#6f5cff);
  color: white;
  box-shadow: 0 12px 28px rgba(40,168,255,.18);
}
.auth-panel { display: none; }
.auth-panel.active { display: block; }

.profile-logout {
  width: 100%;
  margin-top: 10px;
  justify-content: center;
}

/* Ajuste somente para tela inicial/cadastro/login - sem mexer no painel interno */
.setup-screen {
  padding: 10px 16px !important;
  overflow: hidden !important;
}

.setup-screen.active {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.setup-card {
  width: min(760px, 100%) !important;
  max-height: calc(100vh - 20px) !important;
  padding: clamp(14px, 2vh, 24px) 28px !important;
  overflow: hidden !important;
  border-radius: 24px !important;
}

.setup-logo {
  width: clamp(42px, 6vh, 58px) !important;
  height: clamp(42px, 6vh, 58px) !important;
  font-size: clamp(20px, 3vh, 27px) !important;
  margin-bottom: clamp(6px, 1vh, 12px) !important;
  border-radius: 18px !important;
}

.setup-card h1 {
  font-size: clamp(25px, 3.7vh, 32px) !important;
  margin-bottom: 6px !important;
}

.setup-card p,
.auth-panel p,
.setup-section-subtitle {
  margin-top: 0 !important;
  margin-bottom: clamp(8px, 1.3vh, 14px) !important;
  line-height: 1.3 !important;
}

.login-box {
  padding: clamp(10px, 1.5vh, 14px) !important;
  margin: clamp(8px, 1.3vh, 14px) 0 !important;
  border-radius: 16px !important;
}

.login-box p {
  margin: 3px 0 0 !important;
  line-height: 1.25 !important;
}

.auth-tabs {
  margin-bottom: clamp(8px, 1.2vh, 14px) !important;
  padding: 5px !important;
}

.auth-tab {
  padding: clamp(9px, 1.4vh, 12px) 14px !important;
}

.auth-panel h2,
.setup-section-title {
  margin: 0 0 4px !important;
  font-size: clamp(18px, 2.5vh, 22px) !important;
}

.setup-grid {
  gap: clamp(8px, 1.3vh, 14px) !important;
  margin: clamp(8px, 1.2vh, 14px) 0 !important;
}

.setup-grid label,
label {
  margin: clamp(5px, .8vh, 10px) 0 clamp(4px, .6vh, 7px) !important;
  font-size: 13px !important;
}

.setup-grid select,
.setup-grid input,
input {
  padding: clamp(9px, 1.25vh, 12px) 13px !important;
  border-radius: 13px !important;
}

.big,
button {
  padding: clamp(9px, 1.25vh, 12px) 18px !important;
  border-radius: 13px !important;
}

.setup-preview,
.setup-warning {
  padding: 9px 12px !important;
  margin-bottom: 8px !important;
}

.setup-actions {
  margin-bottom: 4px !important;
}

@media (max-height: 720px) {
  .setup-card {
    width: min(730px, 100%) !important;
    padding: 12px 28px !important;
  }

  .setup-logo {
    width: 40px !important;
    height: 40px !important;
    font-size: 19px !important;
    margin-bottom: 5px !important;
  }

  .setup-card h1 {
    font-size: 25px !important;
    margin-bottom: 4px !important;
  }

  .setup-card > p {
    font-size: 14px !important;
    margin-bottom: 8px !important;
  }

  .login-box {
    padding: 10px 12px !important;
    margin: 8px 0 !important;
  }

  .auth-tabs {
    margin-bottom: 8px !important;
  }

  .setup-grid {
    gap: 8px !important;
    margin: 8px 0 !important;
  }

  .setup-grid label,
  label {
    margin: 4px 0 4px !important;
  }

  .setup-grid input,
  input {
    padding: 9px 12px !important;
  }

  .big,
  button {
    padding: 9px 18px !important;
  }
}

@media (max-width: 760px) {
  .setup-card {
    width: min(100%, 560px) !important;
  }

  .setup-grid {
    grid-template-columns: 1fr !important;
  }
}


/* V26 - ajuste extra só na tela de cadastro para o botão Cadastrar não cortar */
#registrationBox .setup-warning {
  display: none !important;
}
#registrationBox .setup-preview {
  padding: 7px 12px !important;
  margin-bottom: 6px !important;
  line-height: 1.25 !important;
}
#registrationBox .setup-grid {
  gap: 7px !important;
  margin: 7px 0 !important;
}
#registrationBox .setup-grid label {
  margin: 3px 0 2px !important;
}
#registrationBox .setup-grid input,
#registrationBox .setup-grid select {
  padding: 8px 12px !important;
}
#registrationBox .setup-actions {
  display: flex !important;
  margin-top: 4px !important;
  margin-bottom: 0 !important;
}
#sendRegistration {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 9px 20px !important;
  visibility: visible !important;
  opacity: 1 !important;
}
@media (max-height: 730px) {
  .setup-card {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .setup-card h1 { font-size: 24px !important; }
  .setup-card > p { font-size: 13px !important; line-height: 1.2 !important; margin-bottom: 6px !important; }
  .login-box { padding: 8px 12px !important; margin: 6px 0 !important; }
  .setup-logo { width: 38px !important; height: 38px !important; font-size: 18px !important; margin-bottom: 4px !important; }
  .auth-tabs { margin-bottom: 6px !important; }
  .auth-tab { padding: 8px 12px !important; }
  .setup-section-title { font-size: 18px !important; margin-bottom: 2px !important; }
  .setup-section-subtitle { font-size: 14px !important; line-height: 1.2 !important; margin-bottom: 6px !important; }
}

/* V30 - mercado de aeronaves e hangar separado */
.airport-inputs select {
  width: 100%;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.25);
  color: #eaf4ff;
  outline: none;
}
.airport-inputs select option { color: #111; }
.market-offer .flight-actions button { margin-bottom: 6px; }
.aircraft .badge { white-space: nowrap; }

/* Modal do plano teste */
.trial-key-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.trial-key-modal.active { display: flex; }
.trial-key-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 6, 12, .82);
  backdrop-filter: blur(10px);
}
.trial-key-card {
  position: relative;
  width: min(560px, 100%);
  padding: 34px;
  border-radius: 28px;
  background: rgba(8, 18, 31, .96);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 24px 90px rgba(0,0,0,.55);
  text-align: center;
}
.trial-key-logo {
  width: 64px;
  height: 64px;
  border-radius: 22px;
  display: grid;
  place-items: center;
  font-size: 30px;
  background: linear-gradient(135deg,#28a8ff,#6f5cff);
  margin: 0 auto 16px;
}
.trial-key-card h2 {
  margin: 0 0 10px;
  font-size: 28px;
}
.trial-key-card p {
  margin: 0 auto 18px;
  max-width: 460px;
  color: #c8d7e6;
}
.trial-key-box {
  padding: 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.08);
  border: 1px dashed rgba(40,168,255,.55);
  color: #ffffff;
  font-size: 22px;
  font-weight: 900;
  letter-spacing: 2px;
  user-select: all;
  margin: 18px 0 10px;
  word-break: break-word;
}
.trial-key-email {
  font-size: 13px;
  color: #91a5b8 !important;
}
.trial-key-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 18px;
}
@media(max-width: 640px){
  .trial-key-card { padding: 24px; }
  .trial-key-box { font-size: 18px; letter-spacing: 1px; }
}

/* Ajustes de cadastro e perfil */
.setup-screen {
  overflow-y: auto !important;
}
.setup-card {
  overflow-y: auto !important;
}
#registrationBox .setup-actions {
  padding-bottom: 6px !important;
}
.profile-key-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: end;
}
.profile-key-row input {
  min-width: 0;
}
.profile-upgrade-box {
  margin-top: 14px;
}
.profile-upgrade-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}
.profile-upgrade-actions select {
  width: 100%;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.25);
  color: #eaf4ff;
  outline: none;
}
.profile-upgrade-actions select option { color: #111; }
input[readonly] {
  opacity: .8;
}
@media(max-width: 760px){
  .profile-key-row { grid-template-columns: 1fr; }
}

.button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #eaf4ff;
  font-weight: 800;
  border-radius: 13px;
  padding: 10px 18px;
  border: 1px solid rgba(255,255,255,.24);
}

/* Login: lembrar e-mail e chave */
.remember-login-row {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: fit-content !important;
  margin: 2px 0 14px !important;
  color: rgba(255,255,255,.76) !important;
  font-size: 13px !important;
  cursor: pointer !important;
}
.remember-login-row input {
  width: 16px !important;
  height: 16px !important;
  padding: 0 !important;
  margin: 0 !important;
  accent-color: #28a8ff !important;
}
.remember-login-row span {
  line-height: 1.25 !important;
}


/* V31 - Hangar em coleção separada e logística de aeroporto */
.aircraft.away { border-color: rgba(255,177,66,.35); }
.hangar-transfer {
  margin-top: 16px;
  padding: 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.08);
}
.hangar-transfer label { margin: 0 0 10px; }
.hangar-transfer input { margin-top: 8px; text-transform: uppercase; }
.hangar-transfer .outline { margin-left: 0; border-color: rgba(40,168,255,.4); }
.hangar-destination-preview { display:block; margin: 0 0 10px; color: var(--muted); font-size: .83rem; line-height: 1.35; }


/* Hangar avançado */
.hangar-status-line { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 8px 0 12px; color: var(--muted); font-size: .88rem; }
.aircraft-status-badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 6px 10px; font-weight: 900; border: 1px solid rgba(255,255,255,.12); }
.aircraft-status-badge.excelente { background: rgba(34,197,94,.16); color: #bff7d0; border-color: rgba(34,197,94,.38); }
.aircraft-status-badge.boa { background: rgba(59,130,246,.16); color: #c9dcff; border-color: rgba(59,130,246,.38); }
.aircraft-status-badge.atencao { background: rgba(245,158,11,.16); color: #ffe2a8; border-color: rgba(245,158,11,.38); }
.aircraft-status-badge.critica { background: rgba(239,68,68,.18); color: #ffc7c7; border-color: rgba(239,68,68,.42); }
.aircraft.review-due { border-color: rgba(239,68,68,.45); }
.maintenance-panel { margin-top: 14px; padding: 14px; border-radius: 16px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.09); }
.maintenance-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; color: var(--text); margin-bottom: 10px; }
.maintenance-head span { color: var(--muted); font-size: .85rem; }
.maintenance-row { display: grid; grid-template-columns: 92px 1fr 46px; gap: 10px; align-items: center; font-size: .86rem; color: var(--muted); margin-top: 8px; }
.bar.mini { height: 8px; border-radius: 999px; background: rgba(255,255,255,.09); overflow: hidden; }
.bar.mini i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #28c783, #4f7cff); }
.hangar-tools { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; margin-top: 14px; }
.hangar-review,
.hangar-insurance { background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.09); border-radius: 16px; padding: 14px; }
.hangar-review label,
.hangar-insurance label { margin: 0 0 10px; }
.hangar-review select,
.hangar-insurance select { margin-top: 8px; }
.hangar-review .outline,
.hangar-insurance .outline { margin-left: 0; border-color: rgba(40,168,255,.4); }

/* V33 - Hangar em lista: nomes primeiro, detalhes ao clicar */
#aircraftList {
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}
.hangar-list {
  display: grid;
  gap: 10px;
  width: 100%;
}
.hangar-list-row {
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 12px 38px rgba(0,0,0,.14);
}
.hangar-list-row.selected {
  border-color: rgba(54,212,156,.50);
  box-shadow: 0 0 0 1px rgba(54,212,156,.16), 0 12px 38px rgba(0,0,0,.14);
}
.hangar-list-row.away {
  border-color: rgba(255,177,66,.28);
}
.hangar-list-row.review-due {
  border-color: rgba(239,68,68,.45);
}
.hangar-list-name {
  width: 100%;
  min-height: 54px;
  padding: 14px 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: rgba(255,255,255,.045) !important;
  color: #ffffff;
  text-align: left;
  cursor: pointer;
}
.hangar-list-name:hover {
  background: rgba(40,168,255,.13) !important;
}
.hangar-list-name span {
  display: block;
  font-size: 18px;
  font-weight: 900;
  color: #ffffff;
}
.hangar-list-name i {
  font-style: normal;
  color: #9fc2df;
  font-size: 13px;
  font-weight: 900;
}
.hangar-list-details {
  padding: 16px 18px 18px;
  border-top: 1px solid rgba(255,255,255,.08);
  background: rgba(5,12,22,.16);
}
.hangar-detail-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
  gap: 16px;
  align-items: start;
}
.hangar-compact-info {
  margin: 10px 0 0 !important;
  gap: 6px !important;
  font-size: 13px;
}
.hangar-maintenance-compact {
  margin-top: 0 !important;
  padding: 12px !important;
  border-radius: 14px !important;
}
.hangar-maintenance-compact .maintenance-head strong {
  font-size: 18px;
}
.hangar-maintenance-compact .maintenance-row {
  grid-template-columns: 82px 1fr 40px;
  gap: 8px;
  margin-top: 7px;
  font-size: 13px;
}
.hangar-main-actions {
  margin-top: 14px !important;
}
.hangar-main-actions button {
  padding: 10px 15px !important;
  border-radius: 12px !important;
}
.hangar-tools-list {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 10px !important;
}
.hangar-tools-list .hangar-review,
.hangar-tools-list .hangar-refuel,
.hangar-tools-list .hangar-transfer,
.hangar-tools-list .hangar-insurance {
  padding: 12px !important;
  border-radius: 14px !important;
  margin-top: 0 !important;
}
.hangar-tools-list label {
  font-size: 12px !important;
  margin: 0 0 8px !important;
}
.hangar-tools-list select,
.hangar-tools-list input {
  min-height: 40px;
  padding: 9px 11px !important;
  border-radius: 12px !important;
  font-size: 13px;
}
.hangar-tools-list button {
  width: 100%;
  margin-left: 0 !important;
  margin-top: 8px !important;
  padding: 9px 12px !important;
  border-radius: 12px !important;
}
.hangar-destination-preview {
  margin-top: 6px !important;
  min-height: 18px;
}
@media (max-width: 1100px){
  .hangar-detail-top { grid-template-columns: 1fr; }
  .hangar-tools-list { grid-template-columns: 1fr !important; }
}
@media (max-width: 640px){
  .hangar-list-name { min-height: 50px; padding: 12px 14px !important; }
  .hangar-list-name span { font-size: 16px; }
  .hangar-list-details { padding: 14px; }
}

/* Ajuste fino: caixas de seleção menores no Hangar, sem mudar o estilo */
.hangar-tools-list .hangar-review label,
.hangar-tools-list .hangar-refuel label,
.hangar-tools-list .hangar-insurance label {
  display: block !important;
  line-height: 1.25 !important;
}
.hangar-tools-list .hangar-review select,
.hangar-tools-list .hangar-refuel input[type="range"],
.hangar-tools-list .hangar-insurance select {
  display: block !important;
  width: 178px !important;
  min-width: 0 !important;
  max-width: 178px !important;
  height: 32px !important;
  min-height: 32px !important;
  margin-top: 6px !important;
  padding: 5px 8px !important;
  font-size: 12px !important;
  border-radius: 9px !important;
}
@media (max-width: 700px){
  .hangar-tools-list .hangar-review select,
  .hangar-tools-list .hangar-refuel input[type="range"],
  .hangar-tools-list .hangar-insurance select {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* V20 - Histórico e custos individuais por aeronave */
.aircraft-extra-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
  gap: 10px;
  margin-top: 10px;
}
.aircraft-finance-box,
.aircraft-history-box {
  padding: 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.08);
}
.aircraft-finance-box b,
.aircraft-history-box b {
  display: block;
  margin-bottom: 8px;
  color: #ffffff;
}
.aircraft-finance-box span,
.aircraft-history-box span {
  display: block;
  color: #b9c9da;
  font-size: 12px;
  line-height: 1.35;
  margin-top: 5px;
}
.aircraft-finance-box strong,
.aircraft-history-box strong {
  color: #ffffff;
}
.aircraft-history-box small {
  display: block;
  color: #91a5b8;
  margin-top: 2px;
}
@media (max-width: 900px){
  .aircraft-extra-grid { grid-template-columns: 1fr; }
}


/* V28 - Checkbox do seguro no Hangar pequeno e alinhado ao texto */
.hangar-insurance-choice {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 8px 0 3px !important;
  line-height: 1.2 !important;
  cursor: pointer;
}
.hangar-insurance-choice span {
  display: inline-block !important;
}
.hangar-tools-list .hangar-review .hangar-insurance-choice input[type="checkbox"],
.hangar-tools-list .hangar-insurance .hangar-insurance-choice input[type="checkbox"],
.hangar-insurance .hangar-insurance-choice input[type="checkbox"] {
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
  max-width: 14px !important;
  max-height: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 3px !important;
  flex: 0 0 14px !important;
}
.hangar-insurance-choice input[type="checkbox"]:disabled {
  opacity: .55;
  cursor: not-allowed;
}
.insurance-help {
  display: block !important;
  margin-top: 2px !important;
  color: #b9c9da !important;
  line-height: 1.35 !important;
}


.cache-fix-btn{
  min-height: 38px;
  font-size: 13px;
  opacity: 0.95;
}
.cache-fix-btn:hover{ opacity: 1; }

.hangar-refuel-preview {
  display: block;
  margin-top: 6px;
  min-height: 38px;
  color: #b9c9da;
  font-size: 12px;
  line-height: 1.35;
}
.hangar-tools-list .hangar-refuel input[type="range"] {
  width: 100%;
  padding: 0 !important;
  min-height: 28px;
  accent-color: #4ea1ff;
}
@media (max-width: 1280px){
  .hangar-tools-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* V42 - Abastecimento em caixa pequena no Hangar */
.hangar-refuel-popover {
  max-width: 460px;
  margin: 12px 0 0;
  padding: 14px;
  border: 1px solid rgba(120, 170, 255, 0.24);
  border-radius: 18px;
  background: rgba(11, 22, 36, 0.92);
  box-shadow: 0 18px 45px rgba(0,0,0,.28);
}
.hangar-refuel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.hangar-refuel-header strong {
  font-size: 16px;
}
.hangar-refuel-popover p {
  margin: 4px 0 10px;
  color: #b9c9da;
  font-size: 13px;
  line-height: 1.4;
}
.hangar-refuel-popover label {
  display: block;
  color: #dce8f5;
  font-size: 13px;
  line-height: 1.4;
}
.hangar-refuel-popover label b {
  display: block;
  margin-top: 2px;
  color: #ffffff;
}
.refuel-slider-wrap {
  position: relative;
  width: 100%;
  height: 32px;
  margin: 12px 0 6px;
}
.refuel-slider-track {
  position: absolute;
  left: 0;
  right: 0;
  top: 12px;
  height: 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.24);
  overflow: visible;
}
.refuel-slider-fill {
  position: absolute;
  left: 0;
  top: 0;
  height: 8px;
  width: var(--refuel-percent, 0%);
  border-radius: 999px;
  background: #4ea1ff;
}
.refuel-slider-thumb {
  position: absolute;
  left: var(--refuel-percent, 0%);
  top: 50%;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #4ea1ff;
  border: 2px solid #dceeff;
  box-shadow: 0 3px 10px rgba(0,0,0,.35);
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.hangar-refuel-popover input[type="range"].refuel-range {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 32px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.hangar-refuel-header .refuel-close {
  background: linear-gradient(135deg, #ff6b5f, #ef4444) !important;
  color: #ffffff !important;
  border: none !important;
}
.hangar-refuel-popover .hangar-refuel-preview {
  min-height: 34px;
  margin: 8px 0 10px;
}
.hangar-refuel-popover button.success {
  width: 100%;
  margin-top: 2px;
}
button.small,
.ghost.small {
  min-height: 30px !important;
  padding: 6px 10px !important;
  font-size: 12px !important;
  border-radius: 10px !important;
}
.hangar-tools-list {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
@media (max-width: 1280px){
  .hangar-tools-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 1100px){
  .hangar-tools-list { grid-template-columns: 1fr !important; }
}

/* V46 - Planejador de voo e base local de navegação */
.planner-alt-row {
  grid-template-columns: 1fr auto;
  align-items: end;
}
.planner-map {
  width: 100%;
  height: 420px;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(147, 197, 253, 0.18);
  background: rgba(15, 23, 42, 0.55);
}
.planner-result-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  margin: 14px 0;
}
.planner-result-grid span {
  display: block;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(15, 23, 42, 0.55);
  border: 1px solid rgba(148, 163, 184, 0.18);
}
.planner-route-box {
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(2, 6, 23, 0.45);
  border: 1px dashed rgba(147, 197, 253, 0.25);
  word-break: break-word;
}
.navdata-ok { color: #34d399; font-weight: 700; }
.navdata-warn { color: #fbbf24; font-weight: 700; }
.navdata-bad { color: #fb7185; font-weight: 700; }
.leaflet-container {
  background: #0f172a;
  color: #0f172a;
}

/* V54 - Planejador: campos ICAO em maiúsculo e barra de carregamento */
#plannerOrigin,
#plannerDestination,
#plannerAlternate {
  text-transform: uppercase;
}
.planner-loading {
  overflow: hidden;
}
.planner-loading-bar {
  position: relative;
  width: 100%;
  height: 9px;
  margin-top: 12px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(15, 23, 42, 0.72);
  border: 1px solid rgba(147, 197, 253, 0.18);
}
.planner-loading-bar span {
  position: absolute;
  top: 0;
  left: -45%;
  width: 45%;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(96, 165, 250, 0.15), rgba(96, 165, 250, 0.75), rgba(96, 165, 250, 0.15));
  animation: plannerLoadingMove 1.15s linear infinite;
}
@keyframes plannerLoadingMove {
  from { transform: translateX(0); }
  to { transform: translateX(260%); }
}

.list-pagination { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; gap: 10px; margin: 12px 0 4px; flex-wrap: wrap; }
.list-pagination .pill { padding: 9px 12px; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); color: var(--muted); font-weight: 700; }
.list-pagination button { min-width: 104px; }


/* V82 - Hangares operacionais */
.hangar-subtabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 16px;
}
.hangar-subtabs .filter{
  margin:0;
}
.hangar-market-search{
  margin-bottom:16px;
}
.hangar-market-results{
  grid-template-columns: minmax(0, 1fr) !important;
}
.hangar-market-results .contract-card{
  min-height:0;
}
@media (max-width: 760px){
  .hangar-subtabs{ flex-direction:column; }
  .hangar-subtabs .filter{ width:100%; }
}


/* SkyCareer 85 - Integração MSFS2020 / SimConnect */
.msfs-panel-card { display:grid; gap:16px; }
.msfs-panel-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; flex-wrap:wrap; }
.msfs-panel-head h3 { margin-bottom:6px; }
.msfs-panel-head p { margin:0; color:var(--muted); max-width:760px; }
.integration-pill { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:8px 13px; border-radius:999px; font-weight:800; font-size:12px; border:1px solid rgba(255,255,255,.12); white-space:nowrap; }
.integration-pill.active { background:rgba(24,185,120,.18); color:#c9ffe7; border-color:rgba(24,185,120,.34); }
.integration-pill.warning { background:rgba(246,166,35,.18); color:#ffe7bf; border-color:rgba(246,166,35,.32); }
.integration-pill.danger { background:rgba(231,76,76,.18); color:#ffd0d0; border-color:rgba(231,76,76,.32); }
.integration-pill.neutral { background:rgba(255,255,255,.08); color:#d7e7f7; }
.msfs-integration-panel { display:grid; gap:14px; }
.msfs-status-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.msfs-status-item { min-height:88px; padding:14px; border-radius:18px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); display:grid; gap:7px; align-content:start; }
.msfs-status-item span { color:var(--muted); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.msfs-status-item strong { color:#fff; font-size:16px; line-height:1.25; }
.msfs-status-item small { color:var(--muted); line-height:1.35; }
.msfs-monitor-box { display:grid; gap:10px; padding:16px; border-radius:18px; background:rgba(25,140,255,.10); border:1px solid rgba(25,140,255,.18); }
.msfs-monitor-box h4 { margin:0; font-size:15px; }
.msfs-monitor-line { display:flex; gap:10px; flex-wrap:wrap; align-items:center; color:#dcecff; }
.msfs-monitor-line span { display:inline-flex; padding:7px 10px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.08); font-size:12px; font-weight:700; }
.msfs-note { padding:14px; border-radius:16px; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.09); color:var(--muted); line-height:1.55; }
.msfs-note b { color:#fff; }
.msfs-success-note { background:rgba(24,185,120,.12); border-color:rgba(24,185,120,.24); color:#d8ffed; }
.msfs-warning-note { background:rgba(246,166,35,.12); border-color:rgba(246,166,35,.24); color:#ffe7bf; }
.msfs-danger-note { background:rgba(231,76,76,.12); border-color:rgba(231,76,76,.24); color:#ffd4d4; }
@media(max-width:980px){ .msfs-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:620px){ .msfs-status-grid{grid-template-columns:1fr;} .msfs-panel-head{display:grid;} }
