
:root{
  --bg:#ece3cb;
  --bg2:#d9c9a7;
  --panel:#f8f1df;
  --panel2:#efe4ca;
  --paper:#2d2418;
  --muted:#6c5b45;
  --gold:#a88445;
  --red:#934f3a;
  --green:#6f7f68;
  --line:rgba(68,50,27,.16)
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#f1e8d2 0,#e6d7b5 100%);color:var(--paper);font-family:Georgia,"Times New Roman",serif}
button{font-family:inherit;border:1px solid rgba(120,90,46,.34);background:linear-gradient(180deg,#f7f0dd,#dfcfab);color:var(--paper);border-radius:12px;padding:10px 13px;font-weight:700;cursor:pointer;box-shadow:0 4px 10px rgba(80,58,28,.08)}
button:hover{border-color:var(--gold);background:linear-gradient(180deg,#fbf6e7,#e6d7b4)}
button:disabled{opacity:.42;cursor:not-allowed}.ghost{background:rgba(255,255,255,.45)}.danger{color:#ffc2b6;border-color:rgba(168,69,52,.6)}.full{width:100%;margin-top:8px}
.app-shell{display:grid;grid-template-columns:330px 1fr;min-height:100vh}
.sidebar{padding:22px;background:linear-gradient(180deg,#f5ead1,#dec695);border-right:1px solid rgba(117,85,38,.24);display:flex;flex-direction:column;gap:17px;box-shadow:inset -1px 0 0 rgba(255,255,255,.34),8px 0 28px rgba(87,62,27,.10)}
.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:54px;height:54px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:#71531f;font-weight:900;letter-spacing:.04em;background:radial-gradient(circle at 35% 35%,#fff9e8,#ddc99c)}
.brand h1{margin:0;font-size:24px}.brand p{margin:2px 0 0;color:var(--muted);font-size:13px;letter-spacing:.04em}.main-nav{display:grid;gap:8px}.nav{text-align:left}.nav.active{background:linear-gradient(180deg,#e7d8b5,#d3bb8a);border-color:var(--gold);color:#2b2014}
.sidebar-card,.panel,.map-card,.card{background:linear-gradient(160deg,#fbf5e6,#efe3c7);border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 30px rgba(90,66,33,.10)}
.sidebar-card{padding:15px}.sidebar-card h3,.panel h3{margin:0 0 8px;color:#4a3820}.sidebar-card p,.panel p,.view-head p,.card p{color:var(--muted);line-height:1.45}.big{font-size:22px;color:#4a3820!important;margin:.2rem 0}.speed-row{display:flex;gap:7px;flex-wrap:wrap}.speed{padding:8px 10px}
.main{padding:18px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,0))}.topbar{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.topbar div{background:linear-gradient(180deg,#faf4e4,#ebdec1);border:1px solid var(--line);border-radius:16px;padding:12px;box-shadow:0 8px 20px rgba(82,58,26,.08)}
.topbar span{display:block;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px}.topbar strong{display:block;color:#40311d;font-size:23px;margin-top:3px}
.view{display:none}.view.active{display:block}.view-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}.view-head h2{font-size:34px;margin:0;color:#40311d}
.map-layout{display:block}.map-card{padding:14px}#map{height:68vh;border-radius:18px;filter:sepia(.16) saturate(.92) contrast(.98) brightness(1.02);background:#ddd0ac}
.map-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}.right-panel{display:grid;gap:14px;align-content:start}.panel{padding:15px}.info-block{color:#d5bf8e}.log{display:grid;gap:8px;max-height:220px;overflow:auto}.log-item{border-left:3px solid var(--gold);padding-left:10px;color:#d7c18e;font-size:14px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px}.card{padding:16px}.card h3{margin:0 0 8px;color:#42311d}.card-img{width:100%;height:210px;object-fit:cover;border-radius:14px;border:1px solid var(--line);margin-bottom:12px;background:#d7c8a7}
.card table{width:100%;border-collapse:collapse;color:#5a4831;font-size:14px}.card td{border-bottom:1px solid rgba(255,255,255,.06);padding:6px 0}.card td:last-child{text-align:right;color:#3b2c1a}
.pill{display:inline-block;border:1px solid rgba(88,65,34,.14);border-radius:999px;padding:5px 8px;margin:3px;background:#f4ead3;font-size:12px;color:#5f4d36}.good{color:#4a6a44;border-color:rgba(111,127,104,.35)}.bad{color:#934f3a;border-color:rgba(147,79,58,.35)}.warn{color:#8a6a2d;border-color:rgba(168,132,69,.35)}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.progress{height:9px;background:rgba(74,56,32,.12);border-radius:999px;overflow:hidden;margin:10px 0}.progress span{display:block;height:100%;background:linear-gradient(90deg,#8a6c37,#d0b377)}
.archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.archive-card{background:linear-gradient(160deg,#f6ecd5,#e0c788);color:#2b2014;border-radius:18px;padding:16px;min-height:210px;box-shadow:0 10px 22px rgba(80,58,28,.09)}.archive-card h3{margin:.25rem 0}.archive-card p{line-height:1.45}
.airport-dot{width:20px;height:20px;border-radius:50%;background:#56412c;border:3px solid #f7ead0;box-shadow:0 0 0 2px rgba(120,90,46,.15),0 4px 10px rgba(80,58,28,.22)}.airport-dot.base{background:#b28a44}.airport-dot.locked{opacity:.38;border-color:#8c7a57}.airport-dot.future{opacity:.28;border-style:dashed}.plane{width:46px;height:46px;filter:drop-shadow(0 4px 6px #000)}
.leaflet-popup-content-wrapper{background:#f8f1df;color:var(--paper);border:1px solid var(--line);box-shadow:0 8px 18px rgba(80,58,28,.14)}.leaflet-popup-tip{background:#f8f1df}
dialog{border:0;border-radius:22px;max-width:860px;background:#241d15;color:var(--paper);padding:20px}dialog::backdrop{background:rgba(0,0,0,.7)}dialog h2{margin-top:0;color:#f4dfa8}.modal-img{max-width:100%;max-height:390px;object-fit:contain;border-radius:14px;border:1px solid var(--line);background:#111;margin-bottom:12px}
.intro{position:fixed;inset:0;z-index:20;background:rgba(223,207,174,.78);backdrop-filter:blur(3px);display:grid;place-items:center;padding:20px}.intro.hidden{display:none}.intro-card{max-width:980px;background:linear-gradient(180deg,#fbf6e8,#efe3c8);border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:0 24px 60px rgba(90,66,33,.16)}.intro-card h1{font-size:48px;color:#40311d;margin:0}.lead{font-size:18px;line-height:1.55;color:#6c5b45}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#8b6a30;font-size:12px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.intro-grid div{border:1px solid var(--line);border-radius:16px;padding:14px;background:rgba(0,0,0,.16)}.intro-grid strong{display:block;color:#ffe4a8}.intro-grid span{display:block;color:#cdb88b;margin-top:5px;line-height:1.4}
@media(max-width:1120px){.app-shell{grid-template-columns:1fr}.map-info-grid{grid-template-columns:1fr}.topbar{grid-template-columns:1fr 1fr}.intro-grid{grid-template-columns:1fr}}

.company-log-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.archive-card.objective{background:linear-gradient(160deg,#efe1b8,#c89b3c)}
.archive-card.milestone{background:linear-gradient(160deg,#e8d6a2,#9f7c35)}
.archive-card.incident{background:linear-gradient(160deg,#e2b69d,#9b4b37)}
.archive-card.locked{opacity:.58;filter:grayscale(.35)}
.archive-card small{display:inline-block;text-transform:uppercase;letter-spacing:.08em;font-weight:900;font-size:11px;color:#5d4722;margin-bottom:8px}
.archive-card .status-line{margin-top:12px;font-weight:700}

.airport-popup,.flight-popup{font-family:Georgia,"Times New Roman",serif;min-width:230px}
.airport-popup h3,.flight-popup h3{margin:0 0 6px;color:#42311d;font-size:18px}
.airport-popup p,.flight-popup p{margin:4px 0;color:#5f4d36;line-height:1.35}
.airport-popup .popup-grid,.flight-popup .popup-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
.airport-popup .popup-stat,.flight-popup .popup-stat{border:1px solid rgba(88,65,34,.12);border-radius:10px;padding:6px;background:#f4ead3}
.airport-popup .popup-stat span,.flight-popup .popup-stat span{display:block;color:#8b7250;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.airport-popup .popup-stat strong,.flight-popup .popup-stat strong{display:block;color:#40311d;font-size:14px;margin-top:2px}
.flight-popup{min-width:260px}
.flight-popup .atc-tag{display:inline-block;background:#e4d4af;color:#5c4520;border:1px solid rgba(168,132,69,.35);border-radius:6px;padding:3px 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px}
.leaflet-popup-content{margin:12px 14px}

.source-note{font-size:12px;color:#9c8456;margin-top:8px}

.source-note a{color:#7a5b23;text-decoration:underline}.card-img{background:#d7c8a7}.modal-img{background:#d7c8a7}

.sidebar-card,.panel,.map-card,.card,.topbar div,.intro-card{
  position:relative;
}
.sidebar-card::before,.panel::before,.map-card::before,.card::before,.topbar div::before,.intro-card::before{
  content:"";
  position:absolute;
  inset:8px;
  border:1px solid rgba(168,132,69,.10);
  border-radius:14px;
  pointer-events:none;
}
.view-head h2,.brand h1,.intro-card h1{
  letter-spacing:.02em;
}

#modal .popup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
#modal .popup-stat{border:1px solid rgba(88,65,34,.12);border-radius:10px;padding:8px;background:#f4ead3}
#modal .popup-stat span{display:block;color:#8b7250;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
#modal .popup-stat strong{display:block;color:#40311d;font-size:15px;margin-top:2px}
@media(max-width:700px){#modal .popup-grid{grid-template-columns:1fr}}

/* V19, contraste e detalhe retro */
.topbar strong em{
  display:block;
  font-style:normal;
  font-size:12px;
  line-height:1.1;
  margin-top:2px;
  color:#7b6545;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:700;
}
.intro-card,
.intro-card p,
.intro-grid span,
.intro-grid strong{
  color:#302414;
}
.intro-card .lead{
  color:#4d3d28;
  font-weight:500;
}
.intro-grid div{background:#f7ecd4}
.intro-grid strong{color:#352615}
.intro-grid span{color:#5b4931}
.eyebrow{color:#735521!important;font-weight:900}
.sidebar-card p,.panel p,.view-head p,.card p,.info-block,.log-item{color:#5a4932}
.card h3,.panel h3,.sidebar-card h3,.view-head h2{color:#302414!important}
#modal{
  background:#fbf3df;
  color:#2f2416;
  border:1px solid rgba(88,65,34,.22);
  box-shadow:0 24px 70px rgba(66,48,24,.22);
}
#modal h2{color:#302414}
#modal p,#modal td,#modal .source-note{color:#4f3f2b}
#modal form button{
  min-width:120px;
  background:linear-gradient(180deg,#d9bd7f,#b98c3e);
  color:#2c1f12;
  border-color:#9b7431;
}
#modal .popup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
#modal .popup-stat{
  border:1px solid rgba(88,65,34,.18);
  border-radius:10px;
  padding:8px;
  background:#f3e5c5;
}
#modal .popup-stat span{
  display:block;
  color:#725b3a;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
#modal .popup-stat strong{
  display:block;
  color:#2f2416;
  font-size:15px;
  margin-top:2px;
}
.leaflet-popup-content-wrapper{background:#fbf3df!important;color:#2f2416!important}
.airport-popup p,.flight-popup p{color:#4f3f2b!important}
.airport-popup h3,.flight-popup h3{color:#302414!important}
.airport-popup .popup-stat,.flight-popup .popup-stat{background:#f3e5c5!important;border-color:rgba(88,65,34,.18)!important}
.airport-popup .popup-stat strong,.flight-popup .popup-stat strong{color:#302414!important}
.airport-popup .popup-stat span,.flight-popup .popup-stat span{color:#725b3a!important}
.card table,.card td{color:#4f3f2b}
.card td:last-child{color:#2f2416;font-weight:700}
.archive-card p{color:#3f321f}
@media(max-width:700px){#modal .popup-grid{grid-template-columns:1fr}}

.mini-flight{padding:10px;border:1px solid rgba(88,65,34,.12);border-radius:12px;background:#f4ead3;margin-bottom:8px}.mini-flight p{margin:.25rem 0}.mini-flight small{color:#5a4932}


/* V21, identidade, finanças e livro da companhia */
.topbar{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
.brand{display:block}
.brand h1{margin:0;font-size:28px;line-height:1.05}
.brand .brand-slogan{margin:6px 0 0;color:#6b5637;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.brand-mark{display:none}
.company-log-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}

.ledger-entry{
  position:relative;
  min-height:250px;
  border-radius:16px;
  padding:18px 18px 18px 20px;
  cursor:pointer;
  border:1px solid rgba(92,76,49,.18);
  box-shadow:0 10px 22px rgba(72,55,28,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.35), rgba(255,255,255,.18)),
    repeating-linear-gradient(180deg, #f7f0dd 0 27px, #d4ddf2 27px 29px);
}
.ledger-entry::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:34px;
  border-radius:16px 0 0 16px;
  background:linear-gradient(180deg, rgba(232,93,93,.07), rgba(232,93,93,.02));
  box-shadow:inset -1px 0 0 rgba(196,66,66,.18);
}
.ledger-entry::after{
  content:"";
  position:absolute;
  left:34px;
  top:0;
  bottom:0;
  width:1px;
  background:rgba(196,66,66,.24);
}
.ledger-entry h3,
.ledger-entry .ledger-preview,
.ledger-entry .ledger-date,
.ledger-entry .ledger-meta{
  position:relative;
  z-index:1;
  padding-left:26px;
}
.ledger-entry h3{
  margin:8px 0 10px;
  color:#244e95;
  font-size:24px;
  line-height:1.05;
  font-family:"Segoe Script","Bradley Hand","Comic Sans MS",cursive;
  font-weight:700;
}
.ledger-entry .ledger-preview{
  margin:0;
  color:#1c4789;
  font-size:18px;
  line-height:1.42;
  font-family:"Segoe Script","Bradley Hand","Comic Sans MS",cursive;
}
.ledger-entry .ledger-meta{
  color:#526b95;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:700;
}
.ledger-entry .ledger-date{
  margin-top:12px;
  color:#4d6c99;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:700;
}
.ledger-entry:hover{transform:translateY(-2px);box-shadow:0 16px 28px rgba(72,55,28,.12)}
.ledger-entry.objective.locked{opacity:.68;filter:saturate(.8)}
.ledger-entry.incident{
  background:
    linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,.12)),
    repeating-linear-gradient(180deg, #f5e5dd 0 27px, #d9dff1 27px 29px);
}
.ledger-entry.incident h3,.ledger-entry.incident .ledger-preview{color:#83453a}


/* V22, topo e mapa */
.topbar{
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  gap:10px;
  align-items:stretch;
}
.topbar div{
  min-width:0;
}
@media(max-width:1280px){
  .topbar{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}
@media(max-width:900px){
  .topbar{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media(max-width:640px){
  .topbar{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}


/* V23, notificações sequenciais */
.notification-sequence{
  margin-top:14px;
  padding:10px 12px;
  border-radius:12px;
  background:#f3e5c5;
  border:1px solid rgba(88,65,34,.18);
  color:#5b4931!important;
  font-weight:700;
}

.model-advantage{
  margin-top:8px;
  padding:9px 11px;
  border-radius:12px;
  background:#f3e5c5;
  border:1px solid rgba(88,65,34,.16);
  color:#4f3f2b!important;
  font-weight:700;
}


/* V34, ícone do utilizador no mapa e tráfego ambiente discreto */
.plane-div-icon{background:transparent;border:0}
.plane-wrap{position:relative;width:44px;height:44px;display:grid;place-items:center;transform:translateZ(0)}
.map-plane{display:block;transform-origin:50% 50%;user-select:none;-webkit-user-drag:none}
.player-plane,.parked-plane{width:44px;height:44px;filter:drop-shadow(0 3px 5px rgba(0,0,0,.45)) drop-shadow(0 0 3px rgba(255,238,180,.5))}
.parked-plane{opacity:.94}
.ambient-wrap{width:24px;height:24px;pointer-events:none}
.ambient-plane{width:24px;height:24px;opacity:.28;filter:grayscale(1) brightness(.45) drop-shadow(0 1px 2px rgba(0,0,0,.35));pointer-events:none}
.parked-count{position:absolute;right:-4px;bottom:-2px;min-width:18px;height:18px;border-radius:999px;background:#3b2a18;color:#f7e8c5;border:1px solid rgba(247,232,197,.75);font:700 11px/18px Arial,sans-serif;text-align:center;box-shadow:0 2px 5px rgba(0,0,0,.35)}
.parked-popup-grid{grid-template-columns:1fr!important}
.parked-popup-grid small{display:block;color:#7f6848;font-size:11px;margin-top:3px}

.intro-company-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;padding:14px;border:1px solid rgba(90,66,33,.18);border-radius:16px;background:rgba(255,255,255,.32)}
.intro-company-form label{font-weight:800;color:#4a3820;font-size:13px;display:flex;flex-direction:column;gap:6px}
.intro-company-form input,.intro-company-form select{border:1px solid rgba(90,66,33,.28);border-radius:10px;padding:10px;background:#fff8e8;color:#2f2418;font:inherit}
.company-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.company-wide{grid-column:1/-1}.company-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-top:12px}.company-kpis div{background:rgba(74,56,32,.08);border:1px solid rgba(74,56,32,.14);border-radius:14px;padding:10px}.company-kpis span{display:block;font-size:11px;text-transform:uppercase;color:#6d5a3d}.company-kpis strong{font-size:20px;color:#3c2c19}.office-picker{display:grid;gap:10px}.office-option{padding:12px;border-radius:14px;border:1px solid rgba(74,56,32,.16);background:#fbf4e2}.office-option.selected{outline:2px solid #9d6b2d}.contract-special{border-color:#b48c42;box-shadow:0 10px 20px rgba(141,101,26,.15)}.weather-strip{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.weather-window{display:flex;flex-direction:column;align-items:flex-start;min-width:96px;gap:2px}.weather-window.good{border-color:#8fa45a}.weather-window.warn{border-color:#c99a3a}.weather-window.bad{border-color:#b85c48}.completed{opacity:.82}
@media(max-width:780px){.intro-company-form{grid-template-columns:1fr}}


/* V36, compact topo e ícones de mapa ajustados */
.topbar{grid-template-columns:repeat(auto-fit,minmax(112px,1fr)) !important;gap:8px;margin-bottom:10px}
.topbar div{padding:8px 10px;min-height:68px}
.topbar div::before{inset:6px;border-radius:12px}
.topbar span{font-size:10px;letter-spacing:.07em}
.topbar strong{font-size:16px;line-height:1.05;margin-top:2px}
.main{padding:12px}
.view-head h2{margin:0 0 4px}
.view-head p{margin:0;font-size:14px}
.map-card{padding:10px}
#map{height:420px}
.plane-wrap,.ambient-wrap{width:26px;height:26px}
.player-plane,.parked-plane,.ambient-plane{width:26px;height:26px}
.player-plane,.parked-plane{filter:drop-shadow(0 2px 4px rgba(0,0,0,.35)) drop-shadow(0 0 2px rgba(255,238,180,.35))}
.ambient-plane{opacity:.34;filter:grayscale(1) brightness(.42) drop-shadow(0 1px 2px rgba(0,0,0,.28))}
.parked-count{right:-5px;bottom:-4px;min-width:16px;height:16px;font:700 10px/16px Arial,sans-serif}
.card-img{object-fit:cover;aspect-ratio:16/9}
.ambient-flight-popup{min-width:220px}
@media(max-width:1280px){#map{height:400px}}
@media(max-width:900px){.topbar strong{font-size:15px}.topbar div{min-height:62px}#map{height:360px}}

/* PATCH v37, etiqueta de voo sempre visível no mapa */
.plane-wrap.has-flight-callout{
  position:relative!important;
  display:block!important;
  width:270px!important;
  height:116px!important;
  pointer-events:auto;
}
.plane-wrap.has-flight-callout .player-plane,
.plane-wrap.has-flight-callout .ambient-plane{
  position:absolute;
  left:218px;
  top:37px;
  width:42px!important;
  height:42px!important;
  z-index:3;
}
.plane-wrap.has-flight-callout .ambient-plane{
  opacity:.62!important;
  filter:grayscale(1) brightness(.62) drop-shadow(0 2px 4px rgba(0,0,0,.35))!important;
}
.flight-map-callout{
  position:absolute;
  left:0;
  top:6px;
  width:205px;
  background:rgba(35,48,49,.90);
  color:#fff;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 6px 16px rgba(0,0,0,.28);
  padding:7px 8px;
  border-radius:2px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  line-height:1.2;
  letter-spacing:.02em;
  z-index:2;
  pointer-events:none;
}
.flight-map-callout:after{
  content:"";
  position:absolute;
  right:-12px;
  top:47px;
  border-width:7px 0 7px 12px;
  border-style:solid;
  border-color:transparent transparent transparent rgba(46,58,61,.82);
}
.flight-map-callout div{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-top:3px;white-space:nowrap}
.flight-map-callout .flight-callout-title{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start;margin-top:0;margin-bottom:6px;padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.12)}
.flight-map-callout .flight-callout-title small{font-size:8px;color:#f1d28e;text-transform:uppercase;letter-spacing:.07em;font-weight:800}
.flight-map-callout span{color:#cbd6d2;text-transform:uppercase;font-size:8px;font-weight:700;letter-spacing:.08em}
.flight-map-callout strong{font-size:11px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:136px}
.flight-map-callout b{font-size:10px;color:#fff;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:124px;text-align:right}
.plane-wrap.has-flight-callout.ambient-wrap{
  width:236px!important;
  height:98px!important;
}
.plane-wrap.has-flight-callout.ambient-wrap .ambient-plane{
  left:194px;
  top:32px;
  width:34px!important;
  height:34px!important;
  opacity:.46!important;
  filter:grayscale(1) brightness(.58) drop-shadow(0 1px 3px rgba(0,0,0,.22))!important;
}
.flight-map-callout.ambient-map-callout{
  top:9px;
  width:178px;
  background:rgba(38,43,45,.60);
  border:1px solid rgba(255,255,255,.04);
  box-shadow:0 4px 10px rgba(0,0,0,.16);
  padding:5px 6px;
  font-size:9px;
  line-height:1.12;
}
.flight-map-callout.ambient-map-callout:after{
  right:-10px;
  top:39px;
  border-width:6px 0 6px 10px;
  border-color:transparent transparent transparent rgba(38,43,45,.48);
}
.flight-map-callout.ambient-map-callout div{gap:5px;margin-top:2px}
.flight-map-callout.ambient-map-callout .flight-callout-title{margin-bottom:4px;padding-bottom:4px}
.flight-map-callout.ambient-map-callout .flight-callout-title small{font-size:7px;color:rgba(241,210,142,.82)}
.flight-map-callout.ambient-map-callout span{font-size:7px;color:rgba(203,214,210,.78)}
.flight-map-callout.ambient-map-callout strong{font-size:9px;max-width:112px;color:rgba(255,255,255,.92)}
.flight-map-callout.ambient-map-callout b{font-size:9px;max-width:98px;color:rgba(255,255,255,.82)}

.leaflet-tooltip.flight-map-tooltip{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0!important;
}
.leaflet-tooltip.flight-map-tooltip:before{
  display:none!important;
}
.leaflet-tooltip.flight-map-tooltip .flight-map-callout{
  position:relative;
  left:auto;
  top:auto;
  pointer-events:none;
}

.contract-aircraft-picker{
 display:block;
 margin:12px 0 10px;
 padding:10px 12px;
 border:1px solid rgba(105,74,31,.22);
 border-radius:12px;
 background:rgba(255,248,228,.62);
}
.contract-aircraft-picker span{
 display:block;
 font-size:.72rem;
 text-transform:uppercase;
 letter-spacing:.04em;
 color:#6f542e;
 margin-bottom:6px;
}
.contract-aircraft-picker select{
 width:100%;
 border:1px solid rgba(105,74,31,.35);
 border-radius:10px;
 padding:9px 10px;
 background:#fffaf0;
 color:#2c1a09;
 font:inherit;
 font-weight:700;
 cursor:pointer;
}

/* Auth e saves por utilizador */
.auth-screen{position:fixed;inset:0;z-index:80;background:rgba(35,27,18,.82);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px}
.auth-screen.hidden{display:none}
.auth-card{width:min(520px,100%);background:linear-gradient(180deg,#fbf6e8,#efe3c8);border:1px solid rgba(88,65,34,.22);border-radius:28px;padding:30px;box-shadow:0 24px 70px rgba(0,0,0,.35);color:#302414}
.auth-card h1{font-size:42px;margin:0 0 8px;color:#302414}
.auth-card .lead{font-size:16px;line-height:1.5;color:#4d3d28}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}
.auth-tabs button{background:#ead9b8;color:#3a2a18;border:1px solid rgba(88,65,34,.18)}
.auth-tabs button.active{background:linear-gradient(180deg,#d9bd7f,#b98c3e);border-color:#9b7431;font-weight:900}
.auth-form{display:grid;gap:12px}
.auth-form.hidden{display:none}
.auth-form label{display:grid;gap:6px;font-weight:800;color:#3a2a18}
.auth-form input,.intro-company-form input,.intro-company-form select{border:1px solid rgba(88,65,34,.24);border-radius:12px;padding:11px 12px;background:#fff9eb;color:#2f2416;font:inherit}
.auth-message{min-height:22px;margin:14px 0 0;color:#6b4d20;font-weight:800}
.ghost.full{width:100%;margin-top:8px}

/* Campanha 1934-1944, desbloqueios e dossiers reservados */
.locked-card,.secret-card.locked{position:relative;overflow:hidden;border-style:dashed;background:linear-gradient(180deg,rgba(245,238,219,.92),rgba(214,199,166,.72))}
.secret-lock{position:absolute;top:14px;right:16px;width:36px;height:36px;border-radius:999px;display:grid;place-items:center;background:rgba(42,30,18,.82);color:#f8e7bd;box-shadow:0 10px 24px rgba(0,0,0,.22);z-index:2}
.locked-img{height:160px;border-radius:18px;background:repeating-linear-gradient(135deg,rgba(60,44,26,.18) 0 10px,rgba(60,44,26,.08) 10px 20px);filter:blur(1px);border:1px solid rgba(80,55,28,.18)}
.soft-locked{filter:blur(5px) grayscale(.8);opacity:.55}
.blurred-text{filter:blur(3px);user-select:none;opacity:.72}
.locked-card table,.locked-card .model-advantage{filter:blur(3px);user-select:none}
.contract-special{border-color:rgba(92,57,18,.42);box-shadow:0 16px 40px rgba(92,57,18,.12)}
.event-card{border-color:#b88a35;background:linear-gradient(180deg,#fff8e8,#f7e7bd)}
.event-card h3{margin-top:0}

/* Release v61, Livro da Companhia paginado */
.archive-book-wrap{
  display:block;
  width:100%;
}
.archive-book-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin:0 0 16px;
  padding:12px 14px;
  border:1px solid rgba(92,76,49,.18);
  border-radius:18px;
  background:linear-gradient(180deg,#f8efd9,#ead8ad);
  box-shadow:0 8px 18px rgba(72,55,28,.08);
}
.archive-book-toolbar strong{display:block;font-size:18px;color:#2f2416}
.archive-book-toolbar span{display:block;color:#6e5b3c;font-size:13px}
.archive-book-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.archive-book-actions span{font-weight:800;color:#4a3921;background:#fbf3df;border:1px solid rgba(92,76,49,.16);border-radius:999px;padding:8px 12px}
.archive-book{
  position:relative;
  display:grid;
  grid-template-columns:1fr 18px 1fr;
  gap:0;
  min-height:520px;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 22px 48px rgba(55,38,16,.18);
  background:linear-gradient(90deg,#d0b277,#7c5a2d 50%,#d0b277);
}
.book-spine{
  background:linear-gradient(90deg,rgba(59,36,13,.22),rgba(255,255,255,.18),rgba(59,36,13,.22));
  box-shadow:inset 8px 0 12px rgba(48,32,12,.18), inset -8px 0 12px rgba(48,32,12,.18);
}
.book-page{
  min-height:520px;
  padding:28px 30px;
  background:
    radial-gradient(circle at 10% 0%,rgba(255,255,255,.65),transparent 38%),
    linear-gradient(180deg,#fbf4df,#f0dfb9);
}
.book-page.left{border-right:1px solid rgba(88,65,34,.18)}
.book-page.right{border-left:1px solid rgba(255,255,255,.35)}
.book-page-entry{
  position:relative;
  min-height:455px;
  padding:26px 28px 24px 34px;
  border-radius:12px;
  border:1px solid rgba(92,76,49,.11);
  background:
    repeating-linear-gradient(180deg, rgba(255,255,255,.18) 0 28px, rgba(92,140,210,.20) 28px 30px),
    linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,.12));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
  cursor:pointer;
}
.book-page-entry::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:36px;
  width:1px;
  background:rgba(196,66,66,.26);
}
.book-page-entry .book-page-number{
  position:absolute;
  right:18px;
  bottom:14px;
  color:#9a8057;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.book-page-entry h3,
.book-page-entry .ledger-preview,
.book-page-entry .ledger-date,
.book-page-entry .ledger-meta{position:relative;z-index:1;padding-left:24px}
.book-page-entry h3{
  margin:10px 0 14px;
  color:#244e95;
  font-size:28px;
  line-height:1.08;
  font-family:"Segoe Script","Bradley Hand","Comic Sans MS",cursive;
  font-weight:700;
}
.book-page-entry .ledger-preview{
  color:#1c4789;
  font-size:19px;
  line-height:1.5;
  font-family:"Segoe Script","Bradley Hand","Comic Sans MS",cursive;
}
.book-page-entry .ledger-meta{
  color:#526b95;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:800;
}
.book-page-entry .ledger-date{
  margin-top:18px;
  color:#4d6c99;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
}
.book-page-entry.incident h3,.book-page-entry.incident .ledger-preview{color:#83453a}
.book-page-entry.locked{opacity:.72;filter:saturate(.75)}
.book-page-entry.blank{opacity:.45;cursor:default}
@media(max-width:900px){
  .archive-book-toolbar{align-items:flex-start;flex-direction:column}
  .archive-book{grid-template-columns:1fr;min-height:0}
  .book-spine{display:none}
  .book-page{min-height:auto;padding:20px}
  .book-page.right{border-left:0;border-top:1px solid rgba(92,76,49,.14)}
  .book-page-entry{min-height:300px}
  .book-page-entry h3{font-size:24px}
  .book-page-entry .ledger-preview{font-size:17px}
}

.game-footer{
  margin:18px auto 0;
  max-width:1440px;
  padding:14px 18px 18px;
  color:rgba(226,232,240,.72);
  font-size:12px;
  line-height:1.45;
  border-top:1px solid rgba(148,163,184,.18);
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  justify-content:space-between;
}
.game-footer a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.game-footer strong{color:#fff}
.game-footer .game-disclaimer{flex-basis:100%;color:rgba(226,232,240,.56)}
@media(max-width:700px){.game-footer{display:block}.game-footer div{margin-bottom:6px}}


.music-widget{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:900;
  pointer-events:auto;
}
.music-toggle{
  border:1px solid rgba(255,255,255,.18);
  background:rgba(15,23,42,.88);
  color:#f8fafc;
  border-radius:999px;
  padding:10px 14px;
  font-weight:800;
  letter-spacing:.02em;
  box-shadow:0 14px 40px rgba(0,0,0,.28);
  backdrop-filter:blur(12px);
}
.music-toggle:hover{transform:translateY(-1px);background:rgba(30,41,59,.94)}
.music-toggle.playing{background:rgba(74,57,33,.92);border-color:rgba(246,211,132,.45)}
@media(max-width:700px){.music-widget{right:12px;bottom:12px}.music-toggle{padding:9px 12px;font-size:12px}}

/* v65, progressão estratégica */
.auth-list{display:grid;gap:10px;margin-top:12px}.auth-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:12px 14px;border-radius:16px;background:rgba(255,248,226,.72);border:1px solid rgba(99,67,28,.18);box-shadow:inset 0 1px rgba(255,255,255,.55)}.auth-row h4{margin:0 0 4px;font-family:Georgia,serif;color:#3d2b18}.auth-row p{margin:0 0 5px;color:#4b3923}.auth-row small{display:block;color:#6b5a40;line-height:1.35}.auth-row.active{background:rgba(224,244,217,.84);border-color:rgba(52,116,45,.28)}.auth-row.near{background:rgba(255,242,190,.84);border-color:rgba(158,111,27,.30)}.auth-row.locked{opacity:.86}.auth-side{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.risk-warning{padding:10px 12px;border-radius:12px;background:rgba(161,117,31,.14);border:1px solid rgba(161,117,31,.28)}.risk-warning.bad{background:rgba(145,45,33,.15);border-color:rgba(145,45,33,.32);color:#5d2118}.risk-warning.warn{color:#5a3a12}@media(max-width:900px){.auth-row{grid-template-columns:1fr}.auth-side{justify-content:flex-start}}

/* v66, postais, mercado de usados e chegada ao hangar */
.reward-postcard{margin:0 0 16px;border:1px solid rgba(185,144,78,.6);border-radius:18px;background:#f6ecd0;padding:10px;box-shadow:0 12px 28px rgba(46,31,16,.22);overflow:hidden}
.reward-postcard img{display:block;width:100%;max-height:360px;object-fit:cover;border-radius:12px;background:#d8c59b}
.reward-postcard figcaption{font-family:Georgia,serif;font-size:13px;color:#5b4527;margin-top:8px;text-align:center;font-style:italic}
.used-aircraft-card{border-color:#b9803e;background:linear-gradient(180deg,#fff8e8,#f6e2bd)}
.section-divider{grid-column:1/-1;margin:20px 0 6px;font-family:Georgia,serif;font-size:26px;color:#f4d59b;border-top:1px solid rgba(244,213,155,.22);padding-top:16px}
.risk-warning.warn{background:rgba(166,111,0,.14);border:1px solid rgba(166,111,0,.35);padding:10px 12px;border-radius:12px;color:#4a3516}
.risk-warning.bad{background:rgba(154,45,32,.14);border:1px solid rgba(154,45,32,.35);padding:10px 12px;border-radius:12px;color:#4a1712}

/* v68 - Aba histórica Aero Portuguesa */
.history-view .view-head{margin-bottom:18px}
.history-view .view-head .eyebrow{color:#8c6a3d;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.history-view .view-head h2{color:#2f2217!important}
.history-view .view-head p{color:#5d4932!important;max-width:920px;line-height:1.65}
.history-hero{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:28px;align-items:center;margin-bottom:18px;position:relative;overflow:hidden;background:linear-gradient(160deg,#f6eddc,#ead9bb)!important;border:1px solid #d7bf96;box-shadow:0 14px 34px rgba(90,66,33,.12)}
.history-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 10%, rgba(221,173,95,.15), transparent 36%),radial-gradient(circle at 90% 20%, rgba(255,255,255,.45), transparent 24%);pointer-events:none}
.history-hero>*{position:relative;z-index:1}
.history-kicker{margin:0 0 8px;text-transform:uppercase;letter-spacing:.18em;color:#a57a42;font-size:.8rem;font-weight:900}
.history-hero h3{margin:0 0 12px;font-size:1.95rem;line-height:1.12;color:#2f2217}
.history-hero p{max-width:780px;color:#5a4633!important;line-height:1.75;font-size:1.05rem}
.history-stamp{justify-self:end;width:160px;height:160px;border:2px solid rgba(166,122,66,.5);border-radius:28px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#786750,#675742);box-shadow:0 18px 36px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,255,255,.08);padding:14px;transform:rotate(-4deg)}
.history-stamp img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 6px 12px rgba(0,0,0,.18))}
.history-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.history-card{background:linear-gradient(180deg,#5d4c3d,#524334);border:1px solid rgba(166,122,66,.28);border-radius:18px;padding:18px;box-shadow:0 16px 36px rgba(0,0,0,.16)}
.history-card h3{margin:8px 0 10px;color:#fff2de;font-size:1.08rem;line-height:1.22}
.history-card p{color:#f0dfc4!important;line-height:1.68;margin:0}
.history-year{display:inline-block;color:#2f2217;background:#efb764;border-radius:999px;padding:5px 11px;font-weight:900;font-size:.78rem;letter-spacing:.04em;box-shadow:inset 0 -2px 0 rgba(0,0,0,.08)}
.history-panel,.history-timeline,.history-sources{margin-bottom:18px;background:linear-gradient(160deg,#f8efe0,#ebdcc0)!important;border:1px solid #dcc6a1}
.history-panel h3,.history-timeline h3,.history-sources h3{color:#2f2217!important;margin-bottom:10px}
.history-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.history-columns h4{margin:4px 0 10px;color:#a57940!important;font-size:1.05rem}
.history-columns ul{margin:0;padding-left:18px;color:#5c4732!important;line-height:1.72}
.history-columns li{margin-bottom:6px}
.history-timeline ol{margin:0;padding-left:22px;color:#5c4732!important;line-height:1.72}
.history-timeline li{margin-bottom:6px}
.history-sources p,.history-panel p,.history-timeline p{color:#5c4732!important}
.history-sources a{color:#7b5628;font-weight:800;text-decoration:none;border-bottom:1px solid rgba(123,86,40,.45)}
.history-sources a:hover{color:#2f2217;border-color:#2f2217}
@media(max-width:1100px){.history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-hero{grid-template-columns:1fr}.history-stamp{justify-self:start}}
@media(max-width:720px){.history-grid,.history-columns{grid-template-columns:1fr}.history-stamp{width:128px;height:128px}.history-hero h3{font-size:1.6rem}}


/* v68B, logo, rodapé legível e limpeza do menu */
.brand{display:flex;align-items:center;gap:12px}
.brand-logo{display:block;width:72px;height:72px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 6px 14px rgba(0,0,0,.12))}
.brand h1{font-size:24px;line-height:1.02}
.brand .brand-slogan{margin-top:5px}
.auth-brand{display:flex;align-items:center;gap:14px;margin-bottom:10px}
.auth-logo{display:block;width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.14))}
.auth-brand .eyebrow{margin:0 0 4px}
.auth-brand h1{margin:0}
.game-footer{
  margin:18px 18px 0;
  max-width:none;
  padding:16px 20px 18px;
  background:linear-gradient(180deg,#6b5840,#4d3c28);
  color:#f3e7d1;
  font-size:12px;
  line-height:1.55;
  border:1px solid rgba(88,65,34,.24);
  border-radius:18px 18px 0 0;
  box-shadow:0 -8px 20px rgba(80,58,28,.08);
}
.game-footer a{color:#fff4dc}
.game-footer strong{color:#fffaf0}
.game-footer .game-disclaimer{color:#eadcc2}
@media(max-width:900px){
  .brand-logo{width:60px;height:60px}
  .auth-logo{width:56px;height:56px}
}
@media(max-width:700px){
  .brand{align-items:center}
  .brand h1{font-size:22px}
  .game-footer{margin:14px 12px 0;padding:14px 16px 16px}
}


/* v69, contratos organizados por zonas e linha paginada */
.contract-zone-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding:12px;border:1px solid rgba(92,76,49,.16);border-radius:18px;background:linear-gradient(180deg,#f8efd9,#ead8ad)}
.contract-zone{display:flex;align-items:center;gap:8px;border-radius:999px;padding:9px 12px;background:#f8efd9;color:#3c2b18;border:1px solid rgba(92,76,49,.20)}
.contract-zone small{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:rgba(92,76,49,.12);font-size:11px;color:#5b4328}
.contract-zone.active{background:linear-gradient(180deg,#d9bd7f,#b98c3e);border-color:#9b7431;color:#2c1f12;box-shadow:0 8px 20px rgba(80,58,28,.12)}
.contract-zone.active small{background:rgba(255,255,255,.35);color:#2c1f12}
.contract-section{margin-bottom:22px}
.contract-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 12px;padding:0 2px}
.contract-section-head h3{margin:0;color:#302414;font-size:24px;line-height:1.1}
.contract-section-head p{margin:5px 0 0;color:#5a4932;line-height:1.35}
.contract-pager{display:flex;align-items:center;gap:8px;flex-shrink:0}
.contract-pager span{font-weight:900;color:#4a3921;background:#fbf3df;border:1px solid rgba(92,76,49,.16);border-radius:999px;padding:8px 12px;min-width:70px;text-align:center}
.contract-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}
.contract-row .card{min-width:0}
.contract-card{display:flex;flex-direction:column;min-height:100%}
.contract-card table{font-size:13px}
.contract-card .actions{margin-top:auto}
.contract-dossier{padding:14px;border-radius:20px;background:linear-gradient(180deg,rgba(66,48,28,.08),rgba(66,48,28,.02));border:1px dashed rgba(92,76,49,.24)}
.special-row .secret-card,.special-row .locked-card{min-height:320px}
@media(max-width:1450px){.contract-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1120px){.contract-row{grid-template-columns:repeat(2,minmax(0,1fr))}.contract-section-head{align-items:flex-start;flex-direction:column}.contract-pager{width:100%;justify-content:space-between}}
@media(max-width:720px){.contract-row{grid-template-columns:1fr}.contract-zone-tabs{display:grid;grid-template-columns:1fr 1fr}.contract-zone{justify-content:space-between}.contract-pager{flex-wrap:wrap}.contract-pager button{flex:1}}


/* v69B, logo lateral centrado e texto por baixo */
.brand{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px!important;text-align:center!important}
.brand-logo{display:block!important;width:150px!important;max-width:150px!important;height:auto!important;object-fit:contain!important;flex:0 0 auto!important;margin:0 auto!important;filter:drop-shadow(0 6px 14px rgba(0,0,0,.12))}
.brand h1{font-size:24px!important;line-height:1.02!important;margin:0!important;text-align:center!important}
.brand .brand-slogan{margin-top:6px!important;text-align:center!important}
.auth-logo{display:block!important;width:150px!important;max-width:150px!important;height:auto!important;object-fit:contain!important;margin:0 auto!important}
@media(max-width:900px){.brand-logo{width:130px!important;max-width:130px!important}.auth-logo{width:120px!important;max-width:120px!important}}


/* v69C, contratos legíveis para tablet e PC */
#contractList.contracts-board{display:block!important;width:100%}
.contracts-board{max-width:100%}
.contract-zone-tabs{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;margin:0 0 16px!important;padding:10px!important;border-radius:16px!important;background:rgba(255,248,230,.55)!important;border:1px solid rgba(92,76,49,.16)!important}
.contract-zone{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:auto!important;height:auto!important;width:auto!important;max-width:none!important;padding:8px 12px!important;white-space:nowrap!important;border-radius:999px!important;font-size:13px!important;line-height:1!important;color:#3c2b18!important}
.contract-zone span{display:inline!important;white-space:nowrap!important}
.contract-zone small{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:20px!important;height:20px!important;border-radius:999px!important;font-size:11px!important}
.contracts-intro-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:14px 16px;border-radius:18px;background:linear-gradient(180deg,#fff6df,#ead8ad);border:1px solid rgba(92,76,49,.16);box-shadow:0 8px 18px rgba(80,58,28,.06)}
.contracts-intro-panel strong{display:block;font-family:Georgia,serif;font-size:22px;color:#302414}.contracts-intro-panel span{display:block;color:#6b5637;font-weight:700}.contracts-intro-panel p{max-width:620px;margin:0;color:#5a4932;line-height:1.35}
.contract-section{margin:0 0 22px!important}.contract-section-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:14px!important;margin:0 0 10px!important}.contract-section-head h3{font-size:22px!important;margin:0!important}.contract-section-head p{margin:4px 0 0!important;max-width:620px!important;color:#5a4932!important}
.contract-row{display:grid!important;grid-template-columns:repeat(4,minmax(220px,1fr))!important;gap:14px!important;align-items:stretch!important;width:100%!important}.recommended-row{grid-template-columns:repeat(3,minmax(240px,1fr))!important}
.contract-card-compact{padding:14px!important;display:flex!important;flex-direction:column!important;gap:10px!important;min-width:0!important;min-height:0!important;overflow:hidden!important}.contract-card-compact h3{font-size:18px!important;line-height:1.15!important;margin:0!important;color:#2f2217!important}.contract-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.contract-type{font-weight:900;text-transform:capitalize;color:#5a3d1f}.contract-zone-mini{font-size:11px;font-weight:800;color:#76562c;background:#f6e8c8;border:1px solid rgba(92,76,49,.14);border-radius:999px;padding:5px 8px;white-space:nowrap}.contract-money{font-family:Georgia,serif;font-size:26px;font-weight:900;color:#9b6e27;line-height:1}.contract-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.contract-summary-grid div{background:#f8efd8;border:1px solid rgba(92,76,49,.12);border-radius:12px;padding:8px}.contract-summary-grid span{display:block;font-size:11px;color:#7b6848;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.contract-summary-grid strong{display:block;color:#302414;font-size:14px;margin-top:2px}.contract-summary-grid strong.good,.contract-weather-mini .good{color:#45642f}.contract-summary-grid strong.warn,.contract-weather-mini .warn{color:#9b6b1e}.contract-summary-grid strong.bad,.contract-weather-mini .bad{color:#a84534}.contract-aircraft-line{margin:0!important;font-size:13px!important;line-height:1.35!important;color:#4d3921!important}.contract-aircraft-picker.compact{display:block;margin:0}.contract-aircraft-picker.compact span{display:block;font-size:11px;font-weight:900;text-transform:uppercase;color:#7b6848;margin-bottom:4px}.contract-aircraft-picker.compact select{width:100%;min-width:0;border-radius:10px;padding:8px;border:1px solid rgba(92,76,49,.18);background:#fffaf0;color:#2f2217}.contract-weather-mini{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#fff8e8;border:1px dashed rgba(92,76,49,.18);border-radius:12px;padding:8px 10px;font-weight:900}.contract-weather-mini small{color:#76562c}.compact-note{max-height:42px;overflow:hidden}.contract-actions{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:8px!important;margin-top:auto!important}.contract-actions button{padding:9px 8px!important;font-size:12px!important;white-space:nowrap!important}.contract-pager{display:flex!important;align-items:center!important;gap:8px!important}.contract-pager span{min-width:62px!important;text-align:center!important}.contract-dossier{padding:14px!important;border-radius:20px!important;background:rgba(64,45,24,.05)!important;border:1px dashed rgba(92,76,49,.25)!important}
@media(max-width:1500px){.contract-row{grid-template-columns:repeat(3,minmax(220px,1fr))!important}.recommended-row{grid-template-columns:repeat(3,minmax(220px,1fr))!important}}
@media(max-width:1160px){.contract-row,.recommended-row{grid-template-columns:repeat(2,minmax(220px,1fr))!important}.contracts-intro-panel{align-items:flex-start;flex-direction:column}.contract-section-head{align-items:flex-start!important;flex-direction:column!important}.contract-pager{width:100%;justify-content:space-between}}
@media(max-width:760px){.contract-row,.recommended-row{grid-template-columns:1fr!important}.contract-zone-tabs{overflow:auto!important;flex-wrap:nowrap!important;justify-content:flex-start!important}.contract-zone{flex:0 0 auto!important}.contract-actions{grid-template-columns:1fr!important}.contracts-intro-panel{padding:12px}.contract-section-head h3{font-size:20px!important}}


/* v70, mercado paginado e aeronaves usadas */
#marketList.market-board{display:block!important;width:100%}
.market-intro-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:14px 16px;border-radius:18px;background:linear-gradient(180deg,#fff6df,#ead8ad);border:1px solid rgba(92,76,49,.16);box-shadow:0 8px 18px rgba(80,58,28,.06)}
.market-intro-panel strong{display:block;font-family:Georgia,serif;font-size:22px;color:#302414}.market-intro-panel span{display:block;color:#6b5637;font-weight:800}.market-intro-panel p{max-width:650px;margin:0;color:#5a4932;line-height:1.35}
.market-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px;padding:10px;border-radius:16px;background:rgba(255,248,230,.55);border:1px solid rgba(92,76,49,.16)}
.market-tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;white-space:nowrap;border-radius:999px;background:#f8efd9;color:#3c2b18;border:1px solid rgba(92,76,49,.20);font-weight:900}
.market-tab small{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:999px;background:rgba(92,76,49,.12);font-size:11px;color:#5b4328}
.market-tab.active{background:linear-gradient(180deg,#d9bd7f,#b98c3e);border-color:#9b7431;color:#2c1f12;box-shadow:0 8px 20px rgba(80,58,28,.12)}.market-tab.active small{background:rgba(255,255,255,.35);color:#2c1f12}
.market-section{margin:0 0 24px}.market-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 10px}.market-section-head h3{font-size:22px;margin:0;color:#302414}.market-section-head p{margin:4px 0 0;max-width:680px;color:#5a4932;line-height:1.35}.market-pager{display:flex;align-items:center;gap:8px;flex-shrink:0}.market-pager span{min-width:62px;text-align:center;font-weight:900;color:#4a3921;background:#fbf3df;border:1px solid rgba(92,76,49,.16);border-radius:999px;padding:8px 12px}
.market-grid{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:14px;align-items:stretch}.market-card{padding:14px!important;display:flex!important;flex-direction:column!important;gap:10px!important;overflow:hidden}.market-card .card-img{width:100%;height:150px;object-fit:contain;background:#f8ecd1;border-radius:14px;border:1px solid rgba(92,76,49,.12)}.market-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.market-kind{display:inline-flex;border-radius:999px;padding:5px 9px;background:#ead8ad;color:#4a3219;font-weight:900;text-transform:uppercase;font-size:11px}.market-kind.used{background:#f0c486}.market-card-head strong{color:#76562c;font-size:12px}.market-card h3{font-size:18px;line-height:1.15;margin:0;color:#2f2217}.market-brief{min-height:54px;max-height:72px;overflow:hidden;margin:0;color:#5a4932;line-height:1.35}.market-specs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.market-specs div{background:#f8efd8;border:1px solid rgba(92,76,49,.12);border-radius:12px;padding:8px}.market-specs span{display:block;font-size:11px;color:#7b6848;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.market-specs b{display:block;color:#302414;font-size:14px;margin-top:2px}.market-specs b.warn{color:#9b6b1e}.market-specs b.bad{color:#a84534}.market-actions{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:8px!important;margin-top:auto!important}.market-actions button{padding:9px 8px!important;font-size:12px!important;white-space:nowrap!important}.market-empty{grid-column:1/-1}.market-locked-card{opacity:.92}.used-aircraft-card{border-color:#b9803e!important;background:linear-gradient(180deg,#fff8e8,#f6e2bd)!important}
@media(max-width:1500px){.market-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}}
@media(max-width:1160px){.market-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.market-intro-panel{align-items:flex-start;flex-direction:column}.market-section-head{align-items:flex-start;flex-direction:column}.market-pager{width:100%;justify-content:space-between}}
@media(max-width:760px){.market-grid{grid-template-columns:1fr}.market-tabs{overflow:auto;flex-wrap:nowrap}.market-tab{flex:0 0 auto}.market-actions{grid-template-columns:1fr!important}.market-intro-panel{padding:12px}.market-section-head h3{font-size:20px}.market-card .card-img{height:130px}}


/* v71, decisões pendentes visíveis em voos activos */
.pending-flight{border-color:#c48b3a!important;background:linear-gradient(180deg,#fff3d8,#f2dfb8)!important}
.pending-flight .risk-warning{margin-top:10px;margin-bottom:10px}

/* v72, cartões visuais para hubs, contratos e desafios */
.hub-board,.challenge-board{display:block!important;width:100%}
.hub-card .card-img,.challenge-card .card-img,.contract-card-img{width:100%;height:150px;object-fit:cover;background:#f8ecd1;border-radius:14px;border:1px solid rgba(92,76,49,.12);margin:0 0 6px}
.contract-card-img{height:128px;object-fit:cover}
.hub-card .market-brief,.challenge-card .market-brief{min-height:58px;max-height:82px;overflow:hidden}
.secret-card .card-img.soft-locked{object-fit:contain;padding:18px;filter:blur(2px) grayscale(.55);opacity:.55}
#modal .reward-postcard-side{float:right;width:190px;max-width:38%;margin:0 0 14px 18px;aspect-ratio:3/4;display:flex;flex-direction:column;justify-content:space-between}
#modal .reward-postcard-side img{height:100%;max-height:none;aspect-ratio:3/4;object-fit:cover;background:#efe2bd}
#modal .reward-postcard-side figcaption{font-size:12px;line-height:1.2}
#modal::after{content:"";display:block;clear:both}
@media(max-width:760px){.hub-card .card-img,.challenge-card .card-img,.contract-card-img{height:130px}#modal .reward-postcard-side{float:none;width:100%;max-width:100%;margin:0 0 14px;aspect-ratio:16/10}#modal .reward-postcard-side img{aspect-ratio:16/10}}


/* v73, ficha técnica de aeroportos e requisitos de desbloqueio */
.airport-tech-block{margin:10px 0;padding:10px;border:1px solid rgba(154,111,48,.24);border-radius:14px;background:rgba(255,248,226,.55)}
.airport-tech-title{font-weight:900;color:#4b351f;margin-bottom:8px;font-size:.88rem;letter-spacing:.03em;text-transform:uppercase}
.airport-tech-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.airport-tech-grid div{padding:8px;border-radius:10px;background:rgba(255,255,255,.42);border:1px solid rgba(120,86,40,.12)}
.airport-tech-grid span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#8a6a3e}
.airport-tech-grid strong{display:block;color:#332416;font-size:.92rem;line-height:1.2}
.airport-tech-note{margin:8px 0 0;color:#5c462f;font-size:.9rem;line-height:1.45}
.facility-list{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 10px}
.facility-chip{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:5px 8px;font-size:.74rem;font-weight:800;border:1px solid rgba(100,75,40,.18)}
.facility-chip.yes{background:#eef5df;color:#405a22;border-color:#b9c98a}
.facility-chip.no{background:#f5e3d9;color:#8a3b25;border-color:#dfb09e}
.unlock-box{margin:10px 0;padding:10px;border-radius:14px;border:1px solid rgba(155,78,55,.28);background:rgba(255,235,220,.65)}
.unlock-box h4{margin:0 0 8px;color:#6a3526}
.unlock-requirements{margin:0;padding-left:0;list-style:none;display:grid;gap:5px}
.unlock-requirements li{font-size:.86rem;line-height:1.35;color:#513a25}
.unlock-requirements li.ok{color:#3e6129}
.unlock-requirements li.missing{color:#8b3b25}
.unlock-requirements li.note{padding-top:4px;color:#6d5439;font-style:italic}
.locked-airport-popup .popup-stat strong{color:#7d3e29}
.hub-card.locked{opacity:.92}
.hub-card.locked .card-img{filter:grayscale(.45) contrast(.85)}
@media(max-width:900px){.airport-tech-grid{grid-template-columns:1fr}.facility-chip{font-size:.72rem}}


/* v76 - objectivo recomendado e controlos de tempo */
.next-objective-panel{margin:14px 18px 0}
.next-objective-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid rgba(118,83,42,.18);border-radius:18px;background:linear-gradient(135deg,#fff8e9,#f1dfbd);box-shadow:0 10px 24px rgba(80,55,24,.08)}
.next-objective-card span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8d6a3b;font-weight:700;margin-bottom:4px}
.next-objective-card strong{display:block;font-size:20px;color:#3f2f1d;margin-bottom:4px}
.next-objective-card p{margin:0;color:#6b5638;line-height:1.35}
.next-objective-card button{white-space:nowrap}
.campaign-actions{display:grid;gap:7px;margin-top:12px}
.campaign-actions button{font-size:12px;padding:8px 10px}
@media(max-width:800px){.next-objective-card{align-items:flex-start;flex-direction:column}.next-objective-card button{width:100%}}


/* v77 - calendário operacional realista */
.operational-status{margin-top:10px;padding:10px 12px;border:1px solid rgba(91,64,31,.18);border-radius:14px;background:rgba(255,248,232,.72);font-size:12px;line-height:1.45;color:#5a4227}
.operational-status strong{color:#2f2113}
.operational-status .bad{color:#9c3327}
.operational-status .warn{color:#a06b18}
.contract-operational-line{margin:8px 0 0;font-size:12px;color:#5c4630}
.contract-operational-line strong{color:#2d2117}
.day-ended-card{border:1px dashed rgba(110,78,36,.45);background:rgba(255,246,225,.78)}
.v77-hidden{display:none!important}


.airport-popup-compact{min-width:250px;max-width:310px}
.airport-popup-compact .compact-grid{grid-template-columns:1fr 1fr}
.airport-popup-compact .compact-note{margin-top:8px;font-size:13px;line-height:1.35}
.airport-popup-compact .compact-popup-actions{margin-top:10px}
.mini-flight-rich{display:grid;grid-template-columns:112px 1fr;gap:12px;align-items:start;padding:12px;background:#f6edd8}
.mini-flight-img{width:112px;height:84px;object-fit:cover;border-radius:12px;border:1px solid rgba(92,76,49,.14);background:#ead9b8}
.mini-flight-body{display:grid;gap:8px;min-width:0}
.mini-flight-head{display:flex;flex-direction:column;gap:2px}
.mini-flight-head strong{font-size:15px;color:#302414}
.mini-flight-head .flight-route{color:#6a5536;font-weight:700}
.mini-flight-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mini-flight-stats div{background:#fbf4e5;border:1px solid rgba(92,76,49,.12);border-radius:12px;padding:8px}
.mini-flight-stats span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#7b6848;font-weight:900}
.mini-flight-stats b{display:block;font-size:14px;color:#302414;margin-top:2px}
@media(max-width:760px){.mini-flight-rich{grid-template-columns:1fr}.mini-flight-img{width:100%;height:150px}.mini-flight-stats{grid-template-columns:1fr}}


/* v77D, remover objectivo recomendado e comprimir voos activos */
#nextObjectivePanel,.next-objective-panel{display:none!important}
.mini-flight-compact{display:grid;grid-template-columns:84px 1fr;gap:10px;align-items:center;padding:10px 12px;background:#f6edd8;border:1px solid rgba(118,83,42,.18);border-radius:16px}
.mini-flight-thumb{width:84px;height:62px;object-fit:cover;border-radius:10px;border:1px solid rgba(92,76,49,.14);background:#ead9b8}
.mini-flight-main{display:grid;gap:6px;min-width:0}
.mini-flight-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.mini-flight-topline strong{font-size:14px;line-height:1.2;color:#302414}
.mini-flight-topline .flight-route{font-size:14px;color:#6a5536;font-weight:700}
.mini-flight-meta{display:flex;flex-wrap:wrap;gap:6px 8px}
.mini-flight-meta span{font-size:12px;line-height:1.2;background:#fbf4e5;border:1px solid rgba(92,76,49,.12);border-radius:999px;padding:4px 8px;color:#5b472d;font-weight:700}
.compact-progress{height:8px;margin:0}
.mini-flight-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.mini-flight-bottom small{font-size:12px;color:#6b5638}
.mini-flight-alert{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#f1dfbd;border:1px solid rgba(198,133,35,.35);border-radius:12px;padding:6px 8px}
.mini-flight-alert strong{font-size:12px;color:#5a4324}
.mini-flight-alert button{padding:6px 10px;font-size:12px}
@media(max-width:760px){.mini-flight-compact{grid-template-columns:1fr}.mini-flight-thumb{width:100%;height:120px}.mini-flight-topline{flex-direction:column;align-items:flex-start}.mini-flight-bottom{align-items:flex-start;flex-direction:column}}


/* v78, estados de preparação e relógio vivo */
.mini-flight-meta span:first-child{background:#ead8ad;color:#3f2f1d}
.pending-flight .mini-flight-meta span:first-child{background:#f0c486;color:#6f2e1c}
.operational-status{margin-top:8px;padding:8px 10px;border-radius:12px;background:#f8efd8;border:1px solid rgba(92,76,49,.12);color:#5a4932;font-size:12px;line-height:1.35}
.contract-operational-line{font-size:12px!important;line-height:1.35!important;background:#fbf4e5;border:1px dashed rgba(92,76,49,.18);border-radius:12px;padding:7px 9px;margin:0!important;color:#5a4932!important}
.contract-operational-line.warn{background:#f6e0bd;color:#7b4a23!important}


/* v80, orientação contextual e estabilidade visual */
.v80-guidance{margin-top:12px;border:1px solid rgba(169,119,45,.28);background:linear-gradient(135deg,#fbf3df,#ead8ad);border-radius:18px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 8px 24px rgba(55,36,16,.08)}
.v80-guidance span{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900;color:#8a6732}.v80-guidance strong{display:block;font-size:18px;color:#2f2214}.v80-guidance p{margin:3px 0 0;color:#5b4427}.v80-guidance button{white-space:nowrap;padding:9px 14px}.pending-flight{border-color:#c98922!important;background:#fff0cf!important}.mini-flight-alert button{font-weight:900}
@media(max-width:760px){.v80-guidance{flex-direction:column;align-items:flex-start}.v80-guidance button{width:100%}}


/* V85, linhas regulares */
.regular-lines{display:grid;gap:16px}
.regular-lines .line-create{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr auto;gap:10px;align-items:end}
.regular-lines label{display:grid;gap:5px;font-weight:900;color:#4a321c}
.regular-lines select{width:100%;border:1px solid var(--line);border-radius:12px;padding:9px;background:#fff8e8;color:#2f2217}
.line-kpis{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;margin:10px 0}
.line-kpis div{background:#fff8e8;border:1px solid rgba(92,76,49,.14);border-radius:12px;padding:9px}
.line-kpis span{display:block;font-size:11px;color:#7b6848;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.line-kpis strong{display:block;color:#302414;font-size:16px;margin-top:2px}
.line-card{border-left:5px solid #b9803e}
.line-card.suspended{opacity:.72;border-left-color:#8d3a2c}
.line-report{background:#fbf4e5;border:1px dashed rgba(92,76,49,.2);border-radius:12px;padding:9px;margin:8px 0;color:#5a4932}
.route-locked-list{display:grid;gap:8px}
.route-locked-list .item{display:flex;justify-content:space-between;gap:12px;align-items:center}
@media(max-width:980px){
  .regular-lines .line-create{grid-template-columns:1fr}
  .line-kpis{grid-template-columns:repeat(2,1fr)}
}


/* V85.1, imagens quadradas globais */
.card-img,
.market-card .card-img,
#fleetList .card .card-img,
.hub-card .card-img,
.challenge-card .card-img,
.contract-card-img,
.reward-postcard img,
.history-stamp img,
.mini-flight-img,
.mini-flight-thumb,
.modal-img,
.aircraft-card img,
.used-aircraft-card img,
#marketList img.card-img,
#hubList img.card-img,
#challengeList img.card-img,
#contractList img.card-img{
  aspect-ratio:1/1!important;
  width:100%!important;
  height:auto!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
}
.market-card .card-img,
#fleetList .card .card-img,
.hub-card .card-img,
.challenge-card .card-img,
.contract-card-img,
#marketList img.card-img,
#fleetList img.card-img{
  border-radius:16px!important;
  margin-bottom:10px!important;
}
.modal-img{
  width:min(100%,430px)!important;
  margin:0 auto 14px!important;
}
.brand-logo,
.auth-logo{
  aspect-ratio:auto!important;
  object-fit:contain!important;
}
@media(max-width:760px){
  .card-img,
  .market-card .card-img,
  #fleetList .card .card-img,
  .hub-card .card-img,
  .challenge-card .card-img,
  .contract-card-img,
  .mini-flight-img,
  .mini-flight-thumb{
    aspect-ratio:1/1!important;
    height:auto!important;
  }
}


/* V85.2, correcção visual dos cartões de linhas regulares */
#view-contratos .regular-lines{
  max-width:1180px;
}
#view-contratos .cards{
  align-items:start;
}
#view-contratos .line-card{
  overflow:hidden!important;
  max-width:100%!important;
}
#view-contratos .line-card h3{
  font-size:21px!important;
  line-height:1.15!important;
  word-break:normal!important;
}
#view-contratos .line-card p{
  margin:0 0 10px!important;
}
#view-contratos .line-kpis{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
  margin:10px 0 12px!important;
}
#view-contratos .line-kpis div{
  min-width:0!important;
  width:100%!important;
  overflow:hidden!important;
  padding:9px 10px!important;
  border-radius:12px!important;
}
#view-contratos .line-kpis span{
  white-space:normal!important;
  line-height:1.05!important;
}
#view-contratos .line-kpis strong{
  white-space:nowrap!important;
}
#view-contratos .line-card .actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:10px!important;
}
#view-contratos .line-card .actions button{
  flex:0 0 auto!important;
  min-width:54px!important;
  padding:9px 12px!important;
  white-space:nowrap!important;
}
#view-contratos .line-card .actions button:nth-last-child(1){
  margin-left:0!important;
}
#view-contratos .line-report{
  width:100%!important;
  overflow-wrap:break-word!important;
}
@media(min-width:980px){
  #view-contratos .cards{
    grid-template-columns:repeat(auto-fill,minmax(360px,1fr))!important;
  }
}
@media(max-width:760px){
  #view-contratos .line-kpis{
    grid-template-columns:1fr 1fr!important;
  }
  #view-contratos .line-card .actions button{
    flex:1 1 calc(50% - 8px)!important;
  }
}


/* V85.3, calendário, timer e escalas nas linhas */
.new-line-hero{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.18);
  margin:0 0 14px;
  background:#123047;
}
.line-route-plan{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  margin:8px 0 10px;
  color:#5a4932;
  font-size:15px;
}
.line-route-plan span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  background:#fff8e8;
  border:1px solid rgba(92,76,49,.14);
  border-radius:999px;
  padding:5px 8px;
  font-weight:900;
}
.line-route-plan i{
  font-style:normal;
  color:#9b6b1e;
  font-weight:900;
}
.line-schedule{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:8px;
  margin:10px 0;
}
.line-schedule div{
  background:#fbf4e5;
  border:1px solid rgba(92,76,49,.14);
  border-radius:12px;
  padding:8px 9px;
}
.line-schedule span{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#7b6848;
  font-weight:900;
}
.line-schedule strong{
  display:block;
  color:#302414;
  font-size:14px;
  margin-top:2px;
}
.weekday-picker{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.weekday-picker label{
  display:inline-flex!important;
  align-items:center;
  gap:5px!important;
  padding:7px 9px;
  border-radius:999px;
  background:#fff8e8;
  border:1px solid rgba(92,76,49,.16);
  font-size:12px;
  cursor:pointer;
}
.weekday-picker input{
  width:auto!important;
  margin:0!important;
}
.calendar-strip{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:4px;
  margin:8px 0 2px;
}
.calendar-strip span{
  display:grid;
  place-items:center;
  min-height:28px;
  border-radius:9px;
  background:#fff8e8;
  border:1px solid rgba(92,76,49,.1);
  font-size:12px;
  font-weight:900;
}
.calendar-strip span.today{
  background:#2b2115;
  color:#f7df9e;
}
.calendar-strip span.flight-day{
  background:#ddb161;
  color:#2f2217;
  border-color:#b9803e;
}
.calendar-strip span.next{
  outline:2px solid #8d3a2c;
  outline-offset:1px;
}
.line-countdown{
  background:linear-gradient(135deg,#2b2115,#5c3717)!important;
  color:#f7df9e!important;
  border-color:rgba(255,255,255,.18)!important;
}
.line-countdown span,
.line-countdown strong{
  color:#f7df9e!important;
}
.scale-note{
  background:#fff4d8;
  border:1px dashed rgba(92,76,49,.24);
  border-radius:12px;
  padding:8px 10px;
  margin:8px 0;
  color:#5a4932;
}
@media(max-width:760px){
  .line-schedule{grid-template-columns:1fr}
  .calendar-strip span{min-height:25px;font-size:11px}
}


/* V85.4, popup de nova linha mais compacto */
.new-line-popup{
  max-width:820px;
}
.new-line-hero{
  width:100%;
  max-height:360px;
  aspect-ratio:auto!important;
  object-fit:cover;
  object-position:center;
  border-radius:18px;
  margin:0 0 14px;
}
.new-line-popup h2{
  margin:0 0 8px;
}
.new-line-popup .lead{
  margin:0 0 10px;
  font-size:17px;
}
.new-line-popup .summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:12px 0;
}
.new-line-popup .summary-grid div{
  background:#fbf4e5;
  border:1px solid rgba(92,76,49,.14);
  border-radius:12px;
  padding:8px 10px;
}
.new-line-popup .summary-grid span{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  color:#7b6848;
  font-weight:900;
  letter-spacing:.05em;
}
.new-line-popup .summary-grid strong{
  display:block;
  color:#302414;
  margin-top:2px;
  font-size:16px;
}
.new-line-popup .note{
  background:#fff4d8;
  border:1px dashed rgba(92,76,49,.24);
  border-radius:12px;
  padding:10px 12px;
  margin-top:8px;
  color:#5a4932;
}
@media(max-width:760px){
  .new-line-hero{max-height:240px}
  .new-line-popup .summary-grid{grid-template-columns:1fr}
}


/* V85.5, destaque de linhas regulares no mapa */
.leaflet-popup-content .route-popup h4{
  margin:0 0 6px;
  font-size:18px;
  color:#2f2217;
}
.leaflet-popup-content .route-popup p{
  margin:0 0 8px;
  color:#5a4932;
}
.leaflet-popup-content .route-popup .route-metrics{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:8px;
}
.leaflet-popup-content .route-popup .route-metrics div{
  background:#fbf4e5;
  border:1px solid rgba(92,76,49,.14);
  border-radius:10px;
  padding:7px 8px;
}
.leaflet-popup-content .route-popup .route-metrics span{
  display:block;
  text-transform:uppercase;
  font-size:10px;
  font-weight:900;
  color:#7b6848;
  letter-spacing:.04em;
}
.leaflet-popup-content .route-popup .route-metrics strong{
  display:block;
  font-size:15px;
  color:#302414;
  margin-top:2px;
}
.leaflet-popup-content .route-popup .route-note{
  margin-top:8px;
  background:#fff4d8;
  border:1px dashed rgba(92,76,49,.24);
  border-radius:10px;
  padding:8px 10px;
  color:#5a4932;
  font-size:15px;
}


/* V85.6, criador de linhas e postal lateral */
#view-contratos .line-create.v856{
  display:grid!important;
  grid-template-columns:1.2fr 1fr 1fr 1fr!important;
  gap:10px!important;
  align-items:end!important;
}
#view-contratos .line-create.v856 .wide{
  grid-column:span 2;
}
#view-contratos .line-create.v856 .full{
  grid-column:1/-1;
}
#view-contratos .frequency-preview{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#fff4d8;
  border:1px dashed rgba(92,76,49,.24);
  border-radius:12px;
  padding:8px 10px;
  color:#5a4932;
  font-weight:900;
}
#view-contratos .policy-help{
  margin-top:6px;
  font-size:12px;
  line-height:1.35;
  color:#6b583b;
}
#view-contratos .regular-submit-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-top:8px;
}
.new-line-popup.side{
  max-width:920px;
}
.new-line-layout{
  display:grid;
  grid-template-columns:minmax(260px,38%) 1fr;
  gap:18px;
  align-items:stretch;
}
.new-line-layout .new-line-hero{
  width:100%;
  height:100%;
  min-height:360px;
  max-height:520px;
  object-fit:cover;
  object-position:center;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.18);
  margin:0;
  background:#123047;
}
.new-line-info h2{
  margin:0 0 8px;
}
.new-line-info .lead{
  font-size:18px;
  margin:0 0 12px;
}
.new-line-info .summary-grid{
  grid-template-columns:1fr!important;
}
.new-line-info .route-plan-line{
  background:#fff4d8;
  border:1px dashed rgba(92,76,49,.24);
  border-radius:12px;
  padding:9px 11px;
  margin:10px 0;
  color:#5a4932;
  font-weight:900;
}
@media(max-width:900px){
  #view-contratos .line-create.v856{
    grid-template-columns:1fr 1fr!important;
  }
  #view-contratos .line-create.v856 .wide,
  #view-contratos .line-create.v856 .full{
    grid-column:1/-1;
  }
}
@media(max-width:760px){
  #view-contratos .line-create.v856{
    grid-template-columns:1fr!important;
  }
  .new-line-layout{
    grid-template-columns:1fr;
  }
  .new-line-layout .new-line-hero{
    min-height:220px;
    max-height:280px;
  }
}


/* V85.7, UI final simplificado das linhas e postal sem corte */
#view-contratos .line-create,
#view-contratos .line-create.v856,
#view-contratos .line-create.v857{
  display:grid!important;
  grid-template-columns:1.2fr 1fr 1fr 1fr!important;
  gap:12px!important;
  align-items:start!important;
}
#view-contratos .line-create.v857 .full{
  grid-column:1/-1!important;
}
#view-contratos .line-create.v857 label{
  min-width:0!important;
}
#view-contratos .line-create.v857 select{
  width:100%!important;
}
#view-contratos .line-create.v857 .days-block{
  background:#fbf4e5;
  border:1px solid rgba(92,76,49,.14);
  border-radius:14px;
  padding:10px 12px;
}
#view-contratos .line-create.v857 .days-title{
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:8px;
}
#view-contratos .line-create.v857 .frequency-preview{
  display:inline-flex;
  align-items:center;
  background:#2b2115;
  color:#f7df9e;
  border:0;
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
}
#view-contratos .line-create.v857 .policy-box{
  background:#fbf4e5;
  border:1px solid rgba(92,76,49,.14);
  border-radius:14px;
  padding:10px 12px;
}
#view-contratos .line-create.v857 .policy-help{
  margin-top:8px;
}
#view-contratos .line-create.v857 .route-preview-final{
  background:#fff4d8;
  border:1px dashed rgba(92,76,49,.24);
  border-radius:14px;
  padding:10px 12px;
  color:#5a4932;
}
#view-contratos .line-create.v857 .submit-box{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.new-line-popup.side .new-line-layout{
  grid-template-columns:minmax(280px,42%) 1fr!important;
  align-items:center!important;
}
.new-line-popup.side .new-line-hero{
  width:100%!important;
  height:auto!important;
  max-height:520px!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#123047!important;
  border-radius:18px!important;
  padding:0!important;
}
.new-line-popup.side .new-line-info{
  min-width:0!important;
}
@media(max-width:980px){
  #view-contratos .line-create.v857{
    grid-template-columns:1fr 1fr!important;
  }
}
@media(max-width:760px){
  #view-contratos .line-create.v857{
    grid-template-columns:1fr!important;
  }
  .new-line-popup.side .new-line-layout{
    grid-template-columns:1fr!important;
  }
  .new-line-popup.side .new-line-hero{
    max-height:360px!important;
  }
}


/* V86.1, consolidação visual */
#v86NextStep{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  background:linear-gradient(135deg,#2b2115,#5c3717);
  color:#f7df9e;
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  padding:12px 16px;
  margin:0 0 14px;
  box-shadow:0 12px 34px rgba(0,0,0,.12);
}
#v86NextStep strong{
  font-size:18px;
  white-space:nowrap;
}
#v86NextStep span{
  color:#f5e8c5;
  line-height:1.35;
}
button[onclick*="forceClearStuckFlights"],
button[onclick*="repairSaveNow"],
button#pauseBtn,
.speed{
  display:none!important;
}
.view .view-head p,
.panel>p{
  max-width:860px;
}
#view-contratos .panel{
  overflow:hidden;
}
#view-contratos select{
  text-overflow:ellipsis;
}
.new-line-popup.side .new-line-hero{
  object-fit:contain!important;
  background:#123047!important;
}
.card,
.panel,
.modal-content,
#modal .box{
  overflow-wrap:break-word;
}
@media(max-width:900px){
  #v86NextStep{
    display:block;
  }
  #v86NextStep strong{
    display:block;
    margin-bottom:5px;
    white-space:normal;
  }
}


/* V86.1, bloqueio de formulários antigos de linhas */
#view-contratos .line-create:not(.v857){
  display:none!important;
}


/* V86.1, limpeza técnica */
#view-contratos .line-create:not(.v857){
  display:none!important;
}


/* V86.3, linhas regulares ida e volta */
.roundtrip-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:#2b2115;
  color:#f7df9e;
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  font-weight:900;
}
.roundtrip-note{
  background:#fff4d8;
  border:1px dashed rgba(92,76,49,.24);
  border-radius:14px;
  padding:10px 12px;
  color:#5a4932;
  margin:8px 0;
}
.line-return-plan{
  opacity:.92;
  margin-top:4px;
}
.line-return-plan:before{
  content:"Regresso ";
  font-weight:900;
  color:#7b6848;
}


/* V86.4, arrumação de hubs e companhia */
.hub-card.hub-card-slim .market-brief{
  min-height:56px;
  max-height:58px;
  overflow:hidden;
}
.hub-card.hub-card-slim .hub-mini-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:2px 0 4px;
}
.hub-card.hub-card-slim .hub-mini-meta .pill{
  font-size:12px;
}
.hub-card.hub-card-slim .market-actions{
  grid-template-columns:1fr 1fr!important;
}
.hub-card.hub-card-slim .unlock-mini{
  margin:0;
  color:#6c583a;
  font-size:15px;
  line-height:1.35;
  background:#f8efd8;
  border:1px dashed rgba(92,76,49,.18);
  border-radius:12px;
  padding:9px 10px;
}
.company-save-box{
  margin-top:14px;
  padding-top:14px;
  border-top:1px dashed rgba(92,76,49,.18);
}
.company-save-box .actions{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
.company-save-box .source-note{
  margin-top:10px;
}
@media(min-width:1100px){
  #companyPanel.company-cards .company-ops-card{order:1}
  #companyPanel.company-cards .company-costs-card{order:2}
  #companyPanel.company-cards .company-prestige-card{order:3}
}


/* V86.5, licenças repostas e texto dos hubs sem corte */
.hub-card.hub-card-slim .market-brief{
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
.hub-card.hub-card-slim{
  height:auto!important;
}
.company-authorizations-card{
  grid-column:1/-1;
}
.company-authorizations-card .auth-list{
  max-height:none;
}
.company-authorizations-card .auth-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
}
@media(max-width:760px){
  .company-authorizations-card .auth-row{
    grid-template-columns:1fr;
  }
}


/* V86.6, meteorologia filtrada pela hora actual */
.weather-window.past{
  opacity:.38;
  filter:grayscale(.45);
  cursor:not-allowed!important;
}
.weather-empty{
  background:#fff4d8;
  border:1px dashed rgba(92,76,49,.24);
  border-radius:14px;
  padding:12px 14px;
  color:#5a4932;
  margin:10px 0;
}


/* V86.7, decisão pendente desbloqueável */
.mini-flight-alert .ghost{
  margin-left:8px;
}
.decision-safe-note{
  background:#fff4d8;
  border:1px dashed rgba(92,76,49,.24);
  border-radius:12px;
  padding:9px 10px;
  color:#5a4932;
  margin-top:10px;
}


/* V86.9, resolver decisão com handler global */
button[data-resolve-flight]{
  cursor:pointer;
}
.decision-error-box{
  background:#fff4d8;
  border:1px dashed rgba(92,76,49,.24);
  border-radius:12px;
  padding:10px 12px;
  margin-top:10px;
}


/* V87, resolver decisão final */
.pda-resolve-btn{
  cursor:pointer!important;
  pointer-events:auto!important;
}
.pda-decision-fallback{
  background:#fff4d8;
  border:1px dashed rgba(92,76,49,.24);
  border-radius:12px;
  padding:10px 12px;
  margin-top:10px;
  color:#5a4932;
}


/* V87.1, decisão inline no cartão do voo */
.inline-decision-panel{
  margin-top:10px;
  background:#fff4d8;
  border:1px solid rgba(160,99,20,.32);
  border-radius:14px;
  padding:10px 12px;
}
.inline-decision-panel strong{
  display:block;
  margin-bottom:4px;
}
.inline-decision-panel p{
  margin:0 0 8px;
  color:#5a4932;
  font-size:15px;
  line-height:1.35;
}
.inline-decision-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.inline-decision-actions button{
  pointer-events:auto!important;
  cursor:pointer!important;
}

/* V88.2 incidentes operacionais */
.incident-pending{border-color:#d4912f!important;background:#fff0cf!important;box-shadow:0 0 0 1px #d4912f inset,0 12px 28px #9f742d22}
.incident-inline{margin-top:10px;padding:12px;border:1px solid #d4912f;border-radius:14px;background:#fff6dc;cursor:pointer}
.incident-inline strong{display:block;color:#6f3f00;margin-bottom:4px}.incident-inline p{margin:0 0 8px;color:#5f4d33}.incident-inline button{margin-right:6px;margin-top:4px}
.incident-log{border-color:#d4912f!important;background:#fff0cf!important;cursor:pointer}.incident-log:hover,.incident-inline:hover{filter:brightness(.98)}
.incident-actions button{min-width:150px}

/* V88.3, incidente em voo limpo: cartão com uma única linha e um único botão Resolver */
.incident-inline-clean{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 margin-top:10px;
 padding:9px 10px;
 border:1px solid rgba(201,137,34,.45);
 border-radius:12px;
 background:#fff4d4;
 color:#5a4324;
}
.incident-inline-clean strong{font-weight:900;color:#6b3f00}
.incident-inline-clean p{margin:2px 0 0;font-size:12px;line-height:1.35;color:#6a5538}
.incident-inline-clean button{white-space:nowrap;padding:7px 12px;font-size:12px;font-weight:900}
.incident-log-clean{border-color:#d4912f!important;background:#fff0cf!important;cursor:pointer}
.incident-log-clean:hover,.incident-inline-clean:hover{filter:brightness(.985)}
.incident-actions button{font-weight:900}

/* v91.1, remove painel solto de próximo passo */
#nextStepPanel{display:none!important}


/* v91.2, operações no mapa reorganizadas, voos 70% / jornal 30% */
.map-ops-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,3fr);gap:16px;margin-top:16px;align-items:start}
.flights-panel-wide,.log-panel-compact{padding:16px 16px 14px}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.panel-head h3{margin:0}
.panel-kicker{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(92,76,49,.16);background:#fbf4e5;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;color:#6a5536;white-space:nowrap}
.flight-info-list{display:grid;gap:12px;min-height:120px}
.log-compact{display:grid;gap:8px;max-height:520px;overflow:auto;padding-right:4px}
.log-compact .log-item{background:#fbf4e5;border:1px solid rgba(92,76,49,.12);border-left:4px solid var(--gold);border-radius:12px;padding:10px 12px;color:#5b472d;line-height:1.35}
.mini-flight-ops{display:grid;grid-template-columns:110px 1fr auto;gap:14px;align-items:start;padding:14px 16px;background:linear-gradient(180deg,#f8efdc,#f2e5ca);border:1px solid rgba(118,83,42,.18);border-radius:18px;box-shadow:0 6px 16px rgba(80,58,28,.05)}
.mini-flight-ops .mini-flight-thumb{width:110px;height:78px;border-radius:12px}
.mini-flight-ops-main{display:grid;gap:10px;min-width:0}
.mini-flight-ops-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 12px;align-items:flex-start}
.mini-flight-ops-title{display:grid;gap:4px;min-width:0}
.mini-flight-ops-title strong{font-size:15px;line-height:1.18;color:#302414}
.mini-flight-ops-title .flight-route{font-size:15px;color:#5d492f;font-weight:800}
.mini-flight-phase{display:inline-flex;align-items:center;justify-content:center;background:#ead8ad;border:1px solid rgba(92,76,49,.12);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;color:#44321f;white-space:nowrap}
.pending-flight .mini-flight-phase{background:#f0c486;color:#6f2e1c}
.mini-flight-ops-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.mini-flight-stat{background:#fbf4e5;border:1px solid rgba(92,76,49,.12);border-radius:12px;padding:8px 10px}
.mini-flight-stat span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#7b6848;font-weight:900}
.mini-flight-stat b{display:block;font-size:14px;color:#302414;margin-top:2px}
.mini-flight-ops-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.mini-flight-ops-bottom small{font-size:12px;color:#6b5638}
.mini-flight-ops-side{display:grid;gap:8px;align-content:start;min-width:120px}
.mini-flight-eta{background:#fbf4e5;border:1px solid rgba(92,76,49,.12);border-radius:12px;padding:9px 10px;text-align:center}
.mini-flight-eta span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#7b6848;font-weight:900}
.mini-flight-eta b{display:block;font-size:16px;color:#302414;margin-top:2px}
.mini-flight-ops .compact-progress{height:9px}
.mini-flight-actions-row{display:flex;justify-content:flex-end;margin-top:8px}
.mini-flight-actions-row .ghost{padding:8px 12px}
@media(max-width:1120px){.map-ops-grid{grid-template-columns:1fr}.log-compact{max-height:320px}}
@media(max-width:860px){.mini-flight-ops{grid-template-columns:1fr}.mini-flight-ops .mini-flight-thumb{width:100%;height:150px}.mini-flight-ops-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-flight-ops-side{grid-template-columns:1fr;min-width:0}.mini-flight-actions-row{justify-content:stretch}.mini-flight-actions-row .ghost{width:100%}}


.split-view-card{padding:10px}
.map-split{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:stretch}
.map-pane{min-width:0}




/* v93.6, telemetria do voo no cartão inferior */
.mini-flight-telemetry{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.mini-flight-telemetry .mini-flight-stat{background:#fbf4e5;border:1px solid rgba(92,76,49,.12);border-radius:12px;padding:8px 10px}
.mini-flight-telemetry .mini-flight-stat span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#7b6848;font-weight:900}
.mini-flight-telemetry .mini-flight-stat b{display:block;font-size:14px;color:#302414;margin-top:2px}
@media(max-width:860px){.mini-flight-telemetry{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.mini-flight-telemetry{grid-template-columns:1fr}}


/* V95.2, vista 3D removida, cartão de voo simplificado */
.v952-flight-card{display:grid!important;grid-template-columns:84px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;padding:12px!important;position:relative!important}
.v952-flight-card .mini-flight-thumb{grid-column:1!important;grid-row:1!important;width:84px!important;height:84px!important;object-fit:cover!important;border-radius:10px!important}
.v952-flight-card .mini-flight-main{grid-column:2!important;grid-row:1!important;min-width:0!important}
@media(max-width:760px){.v952-flight-card{grid-template-columns:72px minmax(0,1fr)!important}.v952-flight-card .mini-flight-thumb{width:72px!important;height:72px!important}}

.user-form{display:grid;gap:10px;margin-top:10px}
.user-form label{display:grid;gap:5px;font-weight:700;color:#4b3520}
.user-form input{width:100%;box-sizing:border-box;border:1px solid rgba(118,83,42,.25);border-radius:12px;padding:10px 12px;background:#fffaf0;color:#2f2115}
.user-form button{justify-self:start}

/* v95.4, camada de rotas inspirada em cartas aeronáuticas tipo SkyVector */
#map{
  background:#dfeff3!important;
  filter:saturate(.92) contrast(.98) brightness(1.03)!important;
}
.leaflet-pane.chartRoutesPane svg path,
.leaflet-pane.chartAirspacePane svg path{
  vector-effect:non-scaling-stroke;
}
.chart-route-label-icon,.chart-airport-label-icon{
  background:transparent!important;
  border:0!important;
}
.chart-route-label{
  display:inline-grid;
  gap:1px;
  min-width:86px;
  padding:2px 5px;
  border-radius:3px;
  background:rgba(222,241,249,.72);
  color:#2769b0;
  font:800 10px/1.05 Arial,Helvetica,sans-serif;
  letter-spacing:.03em;
  text-align:center;
  text-shadow:0 1px 0 rgba(255,255,255,.8);
  border:1px solid rgba(39,105,176,.18);
}
.chart-route-label span{
  font-size:9px;
  font-weight:700;
  color:#477fb8;
}
.chart-airport-label{
  display:inline-grid;
  gap:0;
  padding:2px 5px;
  border-radius:3px;
  background:rgba(222,241,249,.68);
  color:#2769b0;
  font:800 10px/1.05 Arial,Helvetica,sans-serif;
  text-align:center;
  letter-spacing:.04em;
  text-shadow:0 1px 0 rgba(255,255,255,.86);
  border:1px solid rgba(39,105,176,.16);
}
.chart-airport-label span{
  font-size:8px;
  font-weight:700;
  color:#477fb8;
}
.airport-dot{
  background:#fff!important;
  border:3px solid #1a6fd0!important;
  box-shadow:0 0 0 2px rgba(255,255,255,.86),0 1px 6px rgba(25,83,150,.24)!important;
}
.airport-dot.base{
  background:#f4fbff!important;
  border-color:#d149c7!important;
}
.airport-dot.locked{
  opacity:.42!important;
  border-color:#6b8bab!important;
}
.leaflet-chartRoutes-pane svg path,
.leaflet-chartAirspace-pane svg path{
  vector-effect:non-scaling-stroke;
}

/* v95.10, módulos fundidos no menu */
.merged-module-block{margin:0 0 28px}
.module-subhead{margin:0 0 12px;padding:14px 16px;border:1px solid rgba(124,91,43,.35);border-radius:18px;background:rgba(255,248,232,.62)}
.module-subhead h3{margin:0 0 4px;font-size:1.05rem}
.module-subhead p{margin:0;color:var(--muted,#725f42)}
#view-contratos .regular-lines{margin-top:0}
#view-companhia #hubList{margin-top:0}

/* V93.5, ficha do avião: imagem completa no modal, sem corte quadrado */
#modal img.modal-img,
dialog img.modal-img{
  aspect-ratio:auto!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:65vh!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  margin:0 auto 14px!important;
  background:#d7c8a7!important;
}

/* v104, incidentes sempre resolúveis */
.v104-incident-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px 0;padding:10px 14px;border:1px solid #c79038;background:#fff2cf;border-radius:12px;color:#3a2a12;box-shadow:0 6px 18px rgba(60,43,18,.08)}
.v104-incident-banner button{white-space:nowrap}
.incident-pending,.pending-flight{border-color:#c79038!important;box-shadow:0 0 0 1px rgba(199,144,56,.25)}
.incident-log-clean,.pending-log-item,[data-incident-open],[data-resolve-flight]{cursor:pointer}

/* v114, página do mapa redesenhada como centro operacional.
   Alteração visual apenas: mantém ids e motor do jogo intactos. */
.map-command-view{
  height:calc(100vh - 116px);
  min-height:640px;
  overflow:hidden;
}
.map-command-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin:0 0 10px;
}
.map-command-header h2{
  margin:0;
  font-size:30px;
  line-height:1;
  color:#302414!important;
}
.map-command-header .eyebrow{
  margin:0 0 4px;
  font-size:10px;
}
.map-command-header p:last-child{
  max-width:520px;
  margin:0;
  color:#5a4932;
  line-height:1.35;
  font-size:15px;
  text-align:right;
}
.map-command-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 430px;
  gap:16px;
  height:calc(100% - 54px);
  min-height:560px;
  align-items:stretch;
}
.map-command-main,
.map-command-card,
.map-command-card .map-split,
.map-command-card .map-pane{
  min-height:0;
  height:100%;
}
.map-command-card{
  padding:8px;
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(160deg,#fbf5e6,#eadab8);
}
.map-command-card::before{
  inset:6px;
  border-radius:14px;
  z-index:1;
}
.map-command-card #map{
  height:100%!important;
  min-height:560px;
  border-radius:14px;
}
.map-command-side{
  min-height:0;
  display:grid;
  grid-template-rows:minmax(390px,72%) minmax(120px,28%);
  gap:12px;
}
.map-side-panel{
  min-height:0;
  overflow:hidden;
  padding:14px;
  border-radius:20px;
}
.map-side-panel .panel-head{
  margin-bottom:9px;
}
.map-side-panel .panel-head h3{
  font-size:16px;
}
.map-side-panel .panel-kicker{
  padding:4px 8px;
  font-size:10px;
}
.map-side-flight-list{
  min-height:0;
  max-height:100%;
  overflow:auto;
  padding-right:4px;
  gap:8px;
}
.map-side-flight-list .info-block{
  margin:0;
  padding:12px;
  background:#fbf4e5;
  border:1px solid rgba(92,76,49,.12);
  border-radius:12px;
  color:#5a4932;
}
.map-side-flight-list .mini-flight-ops{
  grid-template-columns:92px minmax(0,1fr) 92px;
  gap:12px;
  padding:12px;
  border-radius:14px;
  box-shadow:none;
  background:linear-gradient(180deg,#fbf4e5,#f2e5ca);
}
.map-side-flight-list .mini-flight-ops .mini-flight-thumb{
  width:92px;
  height:68px;
  border-radius:9px;
  object-fit:cover;
}
.map-side-flight-list .mini-flight-ops-side{
  grid-column:auto;
  min-width:0;
}
.map-side-flight-list .mini-flight-ops-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}
.map-side-flight-list .mini-flight-ops-title strong{
  font-size:15px;
}
.map-side-flight-list .mini-flight-ops-title .flight-route{
  font-size:13px;
  line-height:1.22;
}
.map-side-flight-list .mini-flight-phase{
  justify-self:start;
  padding:4px 7px;
  font-size:10px;
}
.map-side-flight-list .mini-flight-ops-stats{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
}
.map-side-flight-list .mini-flight-stat{
  padding:6px 7px;
  border-radius:9px;
}
.map-side-flight-list .mini-flight-stat span,
.map-side-flight-list .mini-flight-eta span{
  font-size:9px;
}
.map-side-flight-list .mini-flight-stat b,
.map-side-flight-list .mini-flight-eta b{
  font-size:11px;
}
.map-side-flight-list .mini-flight-ops-bottom small{
  font-size:11px;
}
.map-side-flight-list .mini-flight-actions-row{
  margin-top:4px;
}
.map-side-log-panel{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
}
.map-side-log{
  max-height:none!important;
  min-height:0;
  overflow:auto;
  padding-right:4px;
}
.map-side-log .log-item{
  font-size:12px;
  line-height:1.32;
  padding:8px 9px;
  border-radius:10px;
}
.map-command-view .flight-map-callout{
  min-width:215px;
  box-shadow:0 10px 26px rgba(31,37,42,.22);
}
.map-command-view .leaflet-control-attribution{
  font-size:10px;
}
@media(max-width:1440px){
  .map-command-layout{grid-template-columns:minmax(0,1fr) 390px;gap:12px}
  .map-command-header p:last-child{display:none}
}
@media(max-width:1120px){
  .map-command-view{height:auto;min-height:0;overflow:visible}
  .map-command-layout{grid-template-columns:1fr;height:auto;min-height:0}
  .map-command-card #map{height:520px!important;min-height:420px}
  .map-command-side{grid-template-rows:auto auto}
  .map-side-flight-list,.map-side-log{max-height:320px!important}
}
@media(max-width:700px){
  .map-command-header{display:block}
  .map-command-header h2{font-size:26px}
  .map-command-card #map{height:420px!important;min-height:360px}
  .map-side-flight-list .mini-flight-ops{grid-template-columns:1fr}
  .map-side-flight-list .mini-flight-ops .mini-flight-thumb{width:100%;height:120px}
}


/* v118, mapa: painel operacional mais largo e jornal mais discreto.
   Alteração visual apenas, sem mexer no motor do jogo. */
@media(min-width:1121px){
  .map-command-layout{grid-template-columns:minmax(620px,1fr) 440px!important;gap:16px!important}
  .map-command-side{grid-template-rows:minmax(420px,74%) minmax(110px,26%)!important;gap:12px!important}
  .flights-panel-wide{box-shadow:0 16px 34px rgba(87,62,27,.16), inset 0 0 0 1px rgba(255,255,255,.35)}
  .log-panel-compact{opacity:.94}
  .map-side-flight-list{gap:10px!important}
  .map-side-flight-list .mini-flight-ops{grid-template-columns:96px minmax(0,1fr) 96px!important;gap:12px!important;padding:12px!important}
  .map-side-flight-list .mini-flight-ops .mini-flight-thumb{width:96px!important;height:70px!important}
  .map-side-flight-list .mini-flight-ops-side{grid-column:auto!important;align-self:stretch;display:grid;align-items:center}
  .map-side-flight-list .mini-flight-ops-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important}
  .map-side-flight-list .mini-flight-ops-title strong{font-size:15px!important}
  .map-side-flight-list .mini-flight-ops-title .flight-route{font-size:13px!important}
  .map-side-flight-list .mini-flight-ops-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}
  .map-side-log .log-item{font-size:11px!important;line-height:1.24!important;padding:6px 8px!important}
}
@media(min-width:1121px) and (max-width:1380px){
  .app-shell{grid-template-columns:310px 1fr}
  .map-command-layout{grid-template-columns:minmax(520px,1fr) 390px!important}
  .map-side-flight-list .mini-flight-ops{grid-template-columns:80px minmax(0,1fr)!important}
  .map-side-flight-list .mini-flight-ops-side{grid-column:1 / -1!important}
  .map-side-flight-list .mini-flight-ops-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* v121, banco e linha de crédito */
.company-bank-card{border-color:rgba(209,169,84,.34);}
.company-bank-card .meta{margin-top:.7rem;}
.bank-cost-row td{background:rgba(209,169,84,.08);}
.company-costs-card table tr.bank-cost-row td:first-child{font-weight:700;}
.unlock-requirements{margin:.8rem 0;padding-left:0;list-style:none;display:grid;gap:.35rem;}
.unlock-requirements li{padding:.35rem .5rem;border-radius:.6rem;background:rgba(255,255,255,.04);}
.unlock-requirements li.missing{color:#f0c0a8;}
.unlock-requirements li.ok{color:#bde8c4;}


/* v122 beta readiness */
.auth-card .lead{max-width:68ch}@media(max-width:720px){.beta-tools{left:12px;right:12px;bottom:12px}.beta-tools button{flex:1}.beta-build-badge{right:12px;bottom:62px}}

/* BETA pública, ajustes finais */
.sell-aircraft-button,
button.sell-aircraft-button,
.actions .sell-aircraft-button {
  background:#9a1f16 !important;
  color:#fff !important;
  border-color:#6f120d !important;
}
.sell-aircraft-button:disabled {
  opacity:.45;
  cursor:not-allowed;
}
.beta-public-footer {
  font-size:11px;
  line-height:1.45;
  text-align:center;
  padding:12px 18px;
}
.beta-public-footer small { max-width:1100px; display:inline-block; }
.history-gallery-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:14px;
  margin-top:14px;
}
.history-gallery-grid figure {
  margin:0;
  background:rgba(255,255,255,.45);
  border:1px solid rgba(126,94,42,.35);
  border-radius:16px;
  overflow:hidden;
}
.history-gallery-grid img {
  width:100%;
  height:160px;
  object-fit:cover;
  display:block;
  filter:sepia(.18) contrast(1.05);
}
.history-gallery-grid figcaption {
  font-size:12px;
  padding:8px 10px;
  color:var(--muted, #6d5a3f);
}

/* v126.1, leitura visual de resultados das linhas */
.money-negative{color:#a83225!important;font-weight:900}.money-positive{color:#28783b!important;font-weight:900}.money-neutral{color:#5e5139!important;font-weight:900}
.line-cost-preview{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:8px;margin-top:10px}.line-cost-preview div{background:#fff8e8;border:1px solid rgba(92,76,49,.14);border-radius:12px;padding:9px}.line-cost-preview span{display:block;font-size:11px;color:#7b6848;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.line-cost-preview strong{display:block;font-size:16px;margin-top:2px}.scale-note.bad{border-color:rgba(168,50,37,.35);color:#8c2b20}.line-missing-plane{border-color:rgba(168,50,37,.45)!important}.line-report.warn{background:#fff0e8;border-color:rgba(168,50,37,.25)}
@media(max-width:760px){.line-cost-preview{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V126.2, grelha correcta para Linhas Aéreas */
#view-linhas .regular-lines{
  max-width:1180px;
}
#view-linhas .line-grid{
  display:grid!important;
  gap:14px!important;
  align-items:start!important;
  width:100%!important;
}
#view-linhas .line-grid.one{
  grid-template-columns:1fr!important;
}
#view-linhas .line-grid.two{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
#view-linhas .line-grid.many{
  grid-template-columns:repeat(auto-fit,minmax(360px,1fr))!important;
}
#view-linhas .line-card{
  width:100%!important;
  max-width:none!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
#view-linhas .line-kpis{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
}
#view-linhas .line-kpis div{
  min-width:0!important;
  overflow:hidden!important;
}
#view-linhas .line-kpis span{
  white-space:normal!important;
  line-height:1.08!important;
}
#view-linhas .line-kpis strong{
  overflow-wrap:anywhere!important;
}
@media(max-width:900px){
  #view-linhas .line-grid.two,
  #view-linhas .line-grid.many{
    grid-template-columns:1fr!important;
  }
  #view-linhas .line-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* v126.3, Linha Aérea Regular visível */
.regular-line-active-flight{
  background:linear-gradient(180deg,#4f432f,#3f3527)!important;
  border-color:rgba(255,244,214,.28)!important;
  color:#fff4d6!important;
  box-shadow:0 8px 22px rgba(50,36,16,.18)!important;
}
.regular-line-active-flight .mini-flight-topline strong,
.regular-line-active-flight .flight-route,
.regular-line-active-flight .mini-flight-bottom small{
  color:#fff4d6!important;
}
.regular-line-active-flight .mini-flight-meta span{
  background:rgba(255,244,214,.13)!important;
  border-color:rgba(255,244,214,.22)!important;
  color:#fff4d6!important;
}
.regular-line-active-flight .mini-flight-meta .regular-line-tag{
  background:#2f2217!important;
  color:#ffe0a3!important;
  border-color:rgba(255,224,163,.36)!important;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.regular-line-active-flight .compact-progress{
  background:rgba(255,244,214,.18)!important;
}
.regular-line-active-flight .compact-progress span{
  background:#e0b45f!important;
}
.regular-line-tooltip .flight-map-callout,
.regular-line-map-callout{
  border-left:4px solid #6b3f18!important;
}
.regular-line-map-callout .flight-callout-title small{
  background:#3f3021!important;
  color:#ffe0a3!important;
}
#view-linhas .line-card.active-regular-line,
#view-linhas .line-card:not(.suspended){
  border-left-color:#6b3f18!important;
}

/* v126.4, criação simples de Linha Aérea Regular */
#view-linhas .regular-line-builder{
  max-width:1180px;
}
#view-linhas .line-create-simple{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(130px,1fr));
  gap:12px!important;
  align-items:start!important;
}
#view-linhas .line-create-simple label{
  min-width:0!important;
}
#view-linhas .line-create-simple select{
  width:100%!important;
}
#view-linhas .line-create-simple .days-block{
  grid-column:1/3;
  background:#fbf4e5;
  border:1px solid rgba(92,76,49,.14);
  border-radius:14px;
  padding:10px 12px;
}
#view-linhas .line-create-simple .days-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:8px;
}
#view-linhas .line-create-simple .compact-weekdays{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
#view-linhas .line-create-simple .compact-weekdays label{
  display:inline-flex;
  align-items:center;
  gap:5px;
  background:#fff8e8;
  border:1px solid rgba(92,76,49,.12);
  border-radius:999px;
  padding:6px 9px;
}
#view-linhas .regular-builder-preview{
  grid-column:3/-1;
}
#view-linhas .regular-preview-grid{
  display:grid;
  grid-template-columns:minmax(190px,.9fr) minmax(260px,1.2fr);
  gap:10px;
  align-items:stretch;
}
#view-linhas .route-plan-card,
#view-linhas .roundtrip-card,
#view-linhas .profit-box{
  background:#fff8e8;
  border:1px solid rgba(92,76,49,.16);
  border-radius:14px;
  padding:12px;
  box-sizing:border-box;
}
#view-linhas .route-plan-card h4,
#view-linhas .roundtrip-card h4{
  margin:0 0 6px;
  font-size:16px;
}
#view-linhas .route-plan-card p{
  margin:0 0 6px;
  font-weight:900;
}
#view-linhas .route-plan-card small{
  display:block;
  color:#725f41;
  line-height:1.25;
}
#view-linhas .route-plan-card.bad,
#view-linhas .route-plan-card.warning{
  grid-column:1/-1;
  border-color:rgba(168,50,37,.32);
  background:#fff0e8;
}
#view-linhas .roundtrip-card{
  display:grid;
  gap:8px;
}
#view-linhas .roundtrip-card strong,
#view-linhas .line-route-compact b{
  display:block;
  margin-bottom:4px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#7b6848;
}
#view-linhas .route-pill-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
}
#view-linhas .route-pill-row span{
  display:inline-flex;
  background:#f5ecd7;
  border:1px solid rgba(92,76,49,.12);
  border-radius:999px;
  padding:4px 8px;
  font-weight:800;
}
#view-linhas .route-pill-row i{
  font-style:normal;
  color:#8a744e;
}
#view-linhas .profit-box{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(5,minmax(110px,1fr));
  gap:8px;
}
#view-linhas .profit-box.negative{
  border-color:rgba(168,50,37,.32);
  background:#fff1ea;
}
#view-linhas .profit-box.positive{
  border-color:rgba(40,120,59,.28);
  background:#f0faef;
}
#view-linhas .profit-box span{
  display:block;
  color:#725f41;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
#view-linhas .profit-box strong{
  display:block;
  margin-top:2px;
  overflow-wrap:anywhere;
}
#view-linhas .line-create-simple .submit-box{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
#view-linhas .regular-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
#view-linhas .regular-card-head h3{
  margin:0;
}
#view-linhas .regular-card-head span{
  background:#3f3021;
  color:#ffe0a3;
  border-radius:999px;
  padding:5px 8px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.05em;
  white-space:nowrap;
}
#view-linhas .line-route-compact{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:10px 0;
}
#view-linhas .line-route-compact>div{
  background:#fff8e8;
  border:1px solid rgba(92,76,49,.12);
  border-radius:12px;
  padding:9px;
  min-width:0;
}
@media(max-width:1050px){
  #view-linhas .line-create-simple{grid-template-columns:repeat(2,minmax(0,1fr));}
  #view-linhas .line-create-simple .days-block,
  #view-linhas .regular-builder-preview{grid-column:1/-1;}
}
@media(max-width:760px){
  #view-linhas .line-create-simple,
  #view-linhas .regular-preview-grid,
  #view-linhas .line-route-compact{grid-template-columns:1fr!important;}
  #view-linhas .profit-box{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* v126.5, avisos de prontidão e manutenção em terra */
.line-readiness-panel{border-color:rgba(151,65,42,.45);background:rgba(128,52,32,.08)}
.line-readiness-panel h3{margin-bottom:.35rem}.line-readiness-list{display:grid;gap:.45rem;margin-top:.65rem}.line-readiness-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem .75rem;border:1px solid rgba(151,65,42,.30);border-radius:12px;background:rgba(255,248,226,.65)}
.line-readiness-row div{display:flex;flex-direction:column;gap:.15rem}.line-readiness-row span{font-size:.86rem;opacity:.78}.line-readiness-row b{color:#9b2f20;white-space:nowrap}.maintenance-ground-note{font-size:.82rem;opacity:.75;margin-top:.35rem}

/* v126.8, marcos */
.milestone-popup .atc-tag{display:inline-block;border-radius:999px;padding:3px 8px;background:#3d2614;color:#fff;font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.milestone-popup-hero{width:100%;max-height:220px;object-fit:cover;border-radius:16px;border:1px solid rgba(91,67,29,.25);margin:8px 0 12px}.milestone-reward-list{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.milestone-reward-list span{border:1px solid rgba(91,67,29,.22);border-radius:999px;padding:5px 9px;background:#fff8e8;font-weight:900}.book-page-entry.milestone-claimed{border-color:#b8954d;background:linear-gradient(180deg,#fff8e8,#f4e7c5)}.milestone-progress-list{display:grid;gap:8px;margin-top:12px}.milestone-progress-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid rgba(91,67,29,.18);border-radius:12px;padding:9px;background:#fff8e8}.milestone-progress-row small{color:#6d5a3a}.copy-achievement{margin-top:10px}

/* v126.9-beta-public-fix */
.map-command-card{overflow:visible!important;}
.map-command-card .map-pane{position:relative;}
.map-layer-controls-visible{position:absolute;left:14px;right:14px;bottom:14px;z-index:900;box-shadow:0 8px 24px rgba(43,31,16,.22);backdrop-filter:blur(3px);}
.map-layer-controls-visible label{background:rgba(255,248,232,.82);border-radius:999px;padding:5px 8px;}
.map-layer-controls-visible .map-layer-note{flex:1;min-width:220px;}
.user-save-card .company-kpis strong{font-size:15px;overflow-wrap:anywhere;}
.user-save-actions{margin-top:14px;}
@media(max-width:900px){.map-layer-controls-visible{position:static;margin-top:10px}.map-command-card{overflow:hidden!important}}


/* v127.2, página Utilizador limpa e segura */
#view-utilizador #userPanel.user-account-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(260px,1fr));
  gap:14px;
  align-items:start;
}
#view-utilizador #userPanel.user-account-grid .user-summary-card{grid-column:1/-1;}
#view-utilizador #userPanel.user-account-grid .user-account-action-card{grid-column:auto;}
#view-utilizador #userPanel.user-account-grid .user-save-card .actions{display:grid;gap:10px;}
#view-utilizador #userPanel.user-account-grid .user-save-card button{width:100%;}
@media(max-width:980px){#view-utilizador #userPanel.user-account-grid{grid-template-columns:1fr;}#view-utilizador #userPanel.user-account-grid .user-summary-card{grid-column:auto;}}


/* v127.4, marcos em lote e Aeroportos separados */
.milestone-batch-list{list-style:none;margin:14px 0;padding:0;display:grid;gap:10px}
.milestone-batch-list li{padding:12px;border:1px dashed rgba(86,61,34,.28);border-radius:14px;background:rgba(255,250,235,.65)}
.milestone-popup-batch .milestone-reward-list{margin-top:6px}

/* v12813, popups de rotas com visual igual aos aeroportos */
.leaflet-popup.route-leaflet-popup .leaflet-popup-content-wrapper{
  background:#fbf3df!important;
  color:#2f2416!important;
  border:1px solid var(--line)!important;
  box-shadow:0 8px 18px rgba(80,58,28,.14)!important;
  border-radius:14px!important;
}
.route-leaflet-popup .leaflet-popup-tip,
.leaflet-popup.route-leaflet-popup .leaflet-popup-tip{
  background:#fbf3df!important;
}
.leaflet-popup.route-leaflet-popup .leaflet-popup-close-button{
  color:#6b5538!important;
}
.leaflet-popup.route-leaflet-popup .leaflet-popup-close-button:hover{
  color:#302414!important;
}

/* v12805, campanha equilibrada e ajuda rápida */
.campaign-guide-card{border:1px solid rgba(212,175,87,.28);background:linear-gradient(135deg,rgba(25,18,12,.96),rgba(54,35,19,.9));border-radius:18px;padding:16px 18px;margin-bottom:18px;box-shadow:0 14px 34px rgba(0,0,0,.28)}
.campaign-guide-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.campaign-guide-head h3{margin:.15rem 0 .25rem}.campaign-guide-card p{margin:.35rem 0 .7rem;color:rgba(246,237,220,.78)}
.tutorial-icon-btn,.campaign-help-floating{border:1px solid rgba(212,175,87,.55);background:#d4af57;color:#21160d;font-weight:900;box-shadow:0 8px 24px rgba(0,0,0,.32);cursor:pointer}.tutorial-icon-btn{width:34px;height:34px;border-radius:999px;flex:0 0 34px}.campaign-help-floating{position:fixed;right:20px;bottom:20px;width:46px;height:46px;border-radius:999px;z-index:80;font-size:1.25rem}.campaign-help-floating:hover,.tutorial-icon-btn:hover{filter:brightness(1.08)}
.campaign-guide-progress{height:8px;margin:.65rem 0 1rem}.campaign-next-step{display:grid;gap:3px;border-top:1px solid rgba(255,255,255,.08);padding-top:12px}.campaign-next-step strong{color:#f2d27a}.campaign-next-step span{color:rgba(246,237,220,.82)}
.campaign-goals-mini{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.campaign-goals-mini span{font-size:.78rem;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);border-radius:999px;padding:5px 9px;color:rgba(246,237,220,.75)}
.tutorial-popup ol{margin-left:1.15rem}.tutorial-popup li{margin:.35rem 0}.tutorial-popup .source-note{margin-top:1rem}
@media(max-width:720px){.campaign-help-floating{right:14px;bottom:14px;width:42px;height:42px}.campaign-guide-card{padding:14px}}


/* v12805 campanha e objectivos */
.milestone-popup{max-width:780px}
.milestone-popup-layout{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:18px;align-items:start}
.milestone-popup-media{margin:0;padding:12px;border-radius:20px;border:1px solid rgba(91,67,29,.14);background:linear-gradient(180deg,#f5ead0,#eadbbb);box-shadow:inset 0 1px 0 rgba(255,255,255,.45)}
.milestone-popup-img{display:block;width:100%;max-width:100%;aspect-ratio:1/1;max-height:320px;object-fit:contain;border-radius:16px;border:1px solid rgba(91,67,29,.22);background:#efe2bf;box-shadow:0 8px 18px rgba(60,43,19,.10)}
.milestone-popup-copy{min-width:0}
.milestone-popup-copy .eyebrow{display:inline-block;margin-bottom:8px}
.milestone-popup-copy p{margin:.15rem 0 .85rem;line-height:1.5}
.milestone-popup-copy p:last-child{margin-bottom:0}
.milestone-popup-reward-grid{margin-top:12px}
@media(max-width:760px){.milestone-popup-layout{grid-template-columns:1fr;gap:14px}.milestone-popup-media{padding:10px}.milestone-popup-img{max-height:280px}}
.campaign-next-panel{border-color:rgba(214,170,91,.55)}.campaign-next-panel h3{margin:.1rem 0 .4rem}.campaign-next-panel p{font-size:.9rem;line-height:1.35}.tutorial-icon-btn{width:34px;height:34px;border-radius:999px;font-weight:900;display:inline-flex;align-items:center;justify-content:center}.campaign-guide-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}


/* v12817, painel de campanha limpo */
.campaign-clean-panel{display:grid;gap:12px;margin-top:8px}
.campaign-condition-line{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;line-height:1.35}
.campaign-condition-line strong{text-transform:capitalize;color:#2f2416}
.campaign-condition-line span{font-size:.88rem;color:#4f3f2b}
.campaign-progress-wrap{display:grid;gap:6px;padding:10px 11px;border:1px solid rgba(91,67,29,.14);border-radius:14px;background:rgba(255,248,232,.58)}
.campaign-progress-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.86rem;color:#725b3a}
.campaign-progress-label strong{font-size:1rem;color:#2f2416}
.campaign-progress-wrap small{color:#725b3a;font-size:.78rem}
.campaign-day-progress{height:8px;border-radius:999px;overflow:hidden;background:#e6d6b3;display:block}
.campaign-day-progress span{display:block;height:100%;border-radius:999px;background:#b88a38}
.operational-status.clean{display:grid;gap:3px;border:1px solid rgba(91,67,29,.16);border-radius:14px;background:#f7edcf;padding:10px 11px;line-height:1.35}
.operational-status.clean strong{color:#2f2416}
.operational-status.clean span{color:#4f3f2b;font-size:.9rem}
.campaign-manual-note{font-size:.86rem;line-height:1.35;margin:0;color:#4f3f2b}
.campaign-actions{margin-top:14px}

/* v129, eventos de comunidade, metas e ranking */
.challenge-auth-list{display:grid;gap:10px;margin-top:10px}
.community-objective-row .progress,.challenge-auth-list .progress{margin-top:8px;height:8px}
.ranking-card table{width:100%;border-collapse:collapse;margin-top:10px}
.ranking-card th,.ranking-card td{padding:9px 8px;border-bottom:1px solid rgba(90,65,34,.16);text-align:left}
.ranking-card th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#6b5a40}
.ranking-card tr.me{background:rgba(224,244,217,.72);font-weight:900}
.notification-sequence{margin-top:14px;padding:10px 12px;border-radius:12px;background:rgba(161,117,31,.13);border:1px solid rgba(161,117,31,.26);font-weight:800}
@media(max-width:720px){.ranking-card table{font-size:13px}.ranking-card th,.ranking-card td{padding:8px 6px}}

/* v129.2, timer operacional animado pelo tempo interno do jogo */
.wh-animated-clock #whOperationalTime{
  font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
}
.wh-clock-progress span,
.campaign-day-progress span{
  transition:width .35s linear;
  will-change:width;
}
.wh-animated-clock .campaign-progress-wrap{
  position:relative;
}
.wh-animated-clock .campaign-progress-wrap::after{
  content:"";
  position:absolute;
  left:11px;
  right:11px;
  bottom:31px;
  height:1px;
  background:linear-gradient(90deg,rgba(255,255,255,.55),rgba(255,255,255,0));
  pointer-events:none;
  opacity:.65;
}

#mapPane{position:relative;}
#whRuntimeRecoveryPanel{z-index:2147483647!important;}

/* Arquivo Histórico, calendário permanente */
.history-event-date{
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 16px;
  padding:12px 14px;
  border-radius:16px;
  background:linear-gradient(180deg,#f3e5c2,#dbc18a);
  border:1px solid rgba(84,60,28,.22);
  color:#2f2416;
}
.history-event-date span{
  min-width:64px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:#2f2416;
  color:#f8ead0;
  font-size:30px;
  font-weight:950;
  letter-spacing:.02em;
}
.history-event-date strong{display:block;font-size:24px;line-height:1.05;color:#2f2416}
.history-event-date em{display:block;font-style:normal;font-size:12px;color:#705933;text-transform:uppercase;letter-spacing:.08em;margin-top:4px;font-weight:800}
.history-event-figure{margin:0 0 16px;border-radius:18px;overflow:hidden;border:1px solid rgba(84,60,28,.18);background:#ead8ad}
.history-event-figure img{display:block;width:100%;max-height:320px;object-fit:cover}
.history-archive-calendar{
  margin:22px 0 0;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(92,76,49,.18);
  background:
    radial-gradient(circle at 0% 0%,rgba(255,255,255,.55),transparent 34%),
    linear-gradient(180deg,#fbf2dc,#ead6aa);
  box-shadow:0 18px 42px rgba(55,38,16,.12);
  color:#2f2416;
}
.history-archive-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:16px;
}
.history-archive-head h3{margin:0 0 4px;font-size:24px;color:#2f2416}
.history-archive-head p{margin:0;color:#6d5734;max-width:620px}
.history-archive-nav{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.history-archive-nav strong{padding:9px 13px;border-radius:999px;background:#fff6df;border:1px solid rgba(84,60,28,.18);white-space:nowrap}
.history-archive-week,
.history-archive-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.history-archive-week{margin:8px 0;color:#6d5734;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;text-align:center}
.history-archive-week span{padding:0 4px}
.history-archive-grid{align-items:stretch}
.history-archive-cell{
  position:relative;
  min-height:62px;
  border:1px solid rgba(84,60,28,.16);
  border-radius:16px;
  background:rgba(255,249,232,.72);
  color:#342616;
  font-weight:900;
  font-size:17px;
  cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45);
}
.history-archive-cell.empty{background:transparent;border:0;box-shadow:none;min-height:62px}
.history-archive-cell.has-events{background:linear-gradient(180deg,#fff1c8,#d9b667);border-color:rgba(111,73,22,.32)}
.history-archive-cell.today{outline:3px solid rgba(39,79,149,.34);background:linear-gradient(180deg,#f0e3c1,#d7bd83)}
.history-archive-cell span{position:absolute;top:10px;left:12px}
.history-archive-cell em{position:absolute;right:9px;bottom:8px;display:grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:#2f2416;color:#f8ead0;font-size:12px;font-style:normal}
.history-archive-list{margin-top:18px;padding-top:16px;border-top:1px solid rgba(84,60,28,.15)}
.history-archive-list h3{margin:0 0 12px;color:#2f2416}
.history-archive-event{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:12px;
  padding:12px;
  margin:0 0 10px;
  border-radius:18px;
  border:1px solid rgba(84,60,28,.16);
  background:rgba(255,249,232,.68);
  cursor:pointer;
}
.history-archive-event:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(55,38,16,.10)}
.history-archive-day{display:grid;place-items:center;border-radius:14px;background:#2f2416;color:#f8ead0;font-size:24px;font-weight:950;min-height:58px}
.history-archive-event strong{display:block;color:#2f2416;font-size:16px;margin-bottom:3px}
.history-archive-event span{display:block;color:#705933;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}
.history-archive-event p{margin:6px 0 0;color:#4a3921;line-height:1.35}
.history-archive-empty{color:#6d5734;margin:0}
.history-date-trigger{cursor:default!important;text-decoration:none!important}
@media(max-width:760px){
  .history-archive-head{flex-direction:column}
  .history-archive-cell{min-height:48px;border-radius:12px;font-size:14px}
  .history-archive-week,.history-archive-grid{gap:5px}
  .history-archive-event{grid-template-columns:46px 1fr}
  .history-archive-day{font-size:18px;min-height:46px}
  .history-event-date{align-items:flex-start}
  .history-event-date span{min-width:52px;height:52px;font-size:24px}
  .history-event-date strong{font-size:20px}
}

/* v12931, cartões dos produtos de crédito bancário */
.mini-card{
  border:1px solid rgba(209,169,84,.24);
  background:rgba(255,255,255,.035);
  border-radius:14px;
  padding:.85rem;
  margin:.65rem 0;
}
.mini-card h4{margin:.1rem 0 .35rem;}
.mini-card p{margin:.25rem 0 .55rem;}

/* v12934, correcção de texto escondido em cartões e notas
   Mantém os cartões compactos, mas nunca corta texto essencial. */
.card,
.panel,
.sidebar-card,
.map-card,
.contract-card,
.contract-card-compact,
.market-card,
.hub-card,
.challenge-card,
.archive-card,
.mini-flight,
.mini-flight-rich,
.mini-flight-compact{
  height:auto!important;
  min-height:0!important;
}

.card p,
.panel p,
.sidebar-card p,
.view-head p,
.archive-card p,
.market-brief,
.compact-note,
.source-note,
.contract-aircraft-line,
.contract-operational-line,
.airport-tech-note,
.unlock-requirements li,
.mini-flight p,
.mini-flight small,
.mini-flight-main,
.mini-flight-body,
.mini-flight-bottom,
#modal p,
#modal small,
#modal td{
  max-height:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto;
}

.contract-card-compact .compact-note,
.contract-card-compact .source-note,
.contract-card-compact .contract-aircraft-line,
.contract-card-compact .contract-operational-line,
.market-card .market-brief,
.hub-card .market-brief,
.challenge-card .market-brief{
  display:block!important;
  min-height:0!important;
  line-height:1.35!important;
}

.contract-card-compact{
  overflow:visible!important;
}

.contract-actions,
.market-actions,
.actions{
  flex-shrink:0!important;
}

@media(max-width:900px){
  .contract-card-compact,
  .market-card,
  .hub-card,
  .challenge-card{
    gap:8px!important;
  }
}
