/* FLAIR-Sim cinematic global skin — desktop + mobile */
:root{
  --fs-bg:#031522;
  --fs-panel:rgba(4,31,49,.86);
  --fs-panel-strong:rgba(4,28,45,.94);
  --fs-line:rgba(58,205,224,.28);
  --fs-line-soft:rgba(112,190,216,.16);
  --fs-text:#f5fbff;
  --fs-muted:#9db9c9;
  --fs-cyan:#28e0df;
  --fs-cyan-2:#16c7dc;
  --fs-green:#43df8d;
}

body:has(.modern-shell){
  margin:0!important;
  color:var(--fs-text)!important;
  background:#031522!important;
}

.modern-shell{
  min-height:100dvh!important;
  grid-template-columns:280px minmax(0,1fr)!important;
  background:
    linear-gradient(90deg,rgba(2,19,32,.98) 0 280px,rgba(2,20,33,.72) 280px,rgba(2,18,31,.58) 60%,rgba(1,14,24,.28) 100%),
    linear-gradient(180deg,rgba(3,19,31,.35),rgba(3,18,30,.76)),
    url('/static/img/flairsim-login-aircraft-front.webp') right center / auto 100vh fixed no-repeat,
    #031522!important;
}

/* LEFT NAV */
#side.flair-sidebar{
  width:280px!important;
  padding:22px 14px 18px!important;
  background:linear-gradient(180deg,rgba(3,33,50,.98),rgba(3,25,40,.98))!important;
  border-right:1px solid rgba(39,214,226,.22)!important;
  box-shadow:14px 0 42px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(18px)!important;
}
#side.flair-sidebar .sidebar-brand{
  grid-template-columns:54px minmax(0,1fr) auto!important;
  gap:12px!important;
  padding:2px 8px 18px!important;
  border-bottom:1px solid rgba(102,178,205,.14)!important;
}
#side.flair-sidebar .brand-plane{
  width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;
  border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;
  color:var(--fs-cyan)!important;
}
#side.flair-sidebar .brand-plane svg{width:42px!important;height:42px!important;transform:rotate(-8deg)!important}
#side.flair-sidebar .brand-plane svg path{fill:var(--fs-cyan)!important}
#side.flair-sidebar .brand-copy b{
  font-size:25px!important;letter-spacing:-.7px!important;font-weight:850!important;color:#fff!important;
}
#side.flair-sidebar .brand-copy b em{font-style:normal!important;color:var(--fs-cyan)!important;font-weight:500!important}
#side.flair-sidebar .brand-copy small{
  margin-top:5px!important;color:#8fb2c6!important;font-size:8.5px!important;letter-spacing:2px!important;font-weight:650!important;
}
#side.flair-sidebar .brand-copy .brand-version{font-size:9px!important;opacity:.7!important;letter-spacing:.2px!important}
#side.flair-sidebar .brand-concept{display:none!important}
#side.flair-sidebar .sidebar-nav{gap:4px!important;padding:14px 0 12px!important}
#side.flair-sidebar .sidebar-nav .sidebar-row{
  grid-template-columns:38px minmax(0,1fr) 18px!important;
  min-height:50px!important;padding:7px 10px!important;gap:9px!important;
  border:1px solid transparent!important;border-radius:11px!important;background:transparent!important;
}
#side.flair-sidebar .sidebar-nav .sidebar-row:hover{
  background:rgba(17,87,113,.40)!important;border-color:rgba(59,195,216,.17)!important;
}
#side.flair-sidebar .sidebar-nav .sidebar-row.route-active,
#side.flair-sidebar .sidebar-nav .sidebar-group.route-active>summary{
  min-height:50px!important;margin:0!important;padding:7px 10px!important;
  border:1px solid rgba(33,218,229,.42)!important;border-left:3px solid var(--fs-cyan)!important;
  border-radius:11px!important;background:linear-gradient(90deg,rgba(15,103,130,.78),rgba(11,74,99,.62))!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 9px 22px rgba(0,0,0,.12)!important;
}
#side.flair-sidebar .sidebar-nav .side-icon{
  display:grid!important;place-items:center!important;width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#a9cae0!important;
}
#side.flair-sidebar .sidebar-nav .route-active .side-icon,
#side.flair-sidebar .sidebar-nav .sidebar-group.route-active>summary .side-icon{color:#baf9ff!important}
#side.flair-sidebar .sidebar-nav .side-icon svg{width:23px!important;height:23px!important;margin:auto!important;stroke-width:1.9!important}
#side.flair-sidebar .sidebar-nav .side-copy{gap:0!important}
#side.flair-sidebar .sidebar-nav .side-copy b{font-size:13.5px!important;line-height:1.15!important;font-weight:650!important;color:#d9e9f2!important}
#side.flair-sidebar .sidebar-nav .side-copy small{display:none!important}
#side.flair-sidebar .sidebar-nav .side-chevron{font-size:19px!important;color:#91b7c8!important;width:18px!important;height:24px!important}
#side.flair-sidebar .sidebar-subnav{margin:2px 0 5px 42px!important;padding:3px 0 3px 10px!important}
#side.flair-sidebar .sidebar-subnav a{padding:7px 9px!important;font-size:11px!important}
#side.flair-sidebar .sidebar-footer{position:relative;padding-top:52px!important;border-top:1px solid rgba(70,145,173,.13)!important}
#side.flair-sidebar .sidebar-footer::before{
  content:'VIAC NEŽ HRA\A SKUTOČNÁ VÁŠEŇ';white-space:pre;
  position:absolute;left:10px;top:14px;color:#8eb7cc;font-size:8.5px;line-height:1.8;letter-spacing:2px;font-weight:600;
}
#side.flair-sidebar .sidebar-user-card{min-height:54px!important;grid-template-columns:38px minmax(0,1fr) 16px!important;padding:7px 9px!important;border-radius:11px!important;background:rgba(6,48,67,.66)!important}
#side.flair-sidebar .sidebar-avatar{width:36px!important;height:36px!important;box-shadow:none!important}
#side.flair-sidebar .sidebar-avatar svg{width:22px!important;height:22px!important}
#side.flair-sidebar .sidebar-user-card b{font-size:12px!important}
#side.flair-sidebar .sidebar-user-card small{font-size:10px!important}
#side.flair-sidebar .sidebar-footer-actions{display:none!important}

/* HEADER */
.modern-shell .content{min-width:0!important;background:transparent!important}
.modern-shell .content>header{
  min-height:72px!important;height:72px!important;padding:0 22px!important;
  background:rgba(3,27,43,.80)!important;border-bottom:1px solid rgba(54,195,217,.17)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.12)!important;backdrop-filter:blur(18px)!important;
}
.modern-shell .content>header .company-switcher,
.modern-shell .content>header .mobile-xp-balance,
.modern-shell .content>header .header-status,
.modern-shell .content>header .notification-center>summary,
.modern-shell .content>header .account-menu>summary{
  border-color:rgba(82,188,214,.23)!important;background:rgba(4,45,66,.72)!important;box-shadow:none!important;
}
.modern-shell .content>header .company-switcher{height:42px!important;border-radius:11px!important;color:#eff9fd!important}
.modern-shell .content>header .header-status{border-radius:12px!important}

/* CONTENT */
.modern-shell .content>main{
  position:relative!important;z-index:1!important;padding:24px 26px 34px!important;background:transparent!important;
}
.modern-shell main h1,.modern-shell main h2,.modern-shell main h3{color:#f8fcff!important;text-shadow:0 2px 16px rgba(0,0,0,.18)}
.modern-shell main .muted,.modern-shell main small{color:var(--fs-muted)}
.modern-shell main .card,
.modern-shell main .panel,
.modern-shell main .metrics,
.modern-shell main .metric,
.modern-shell main .data-table,
.modern-shell main .table-wrap,
.modern-shell main details{
  border-color:var(--fs-line-soft)!important;
}
.modern-shell main .card,
.modern-shell main .panel{
  background:linear-gradient(145deg,rgba(4,37,57,.86),rgba(3,27,44,.88))!important;
  border:1px solid rgba(44,198,218,.25)!important;
  border-radius:16px!important;
  box-shadow:0 12px 36px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.025)!important;
  backdrop-filter:blur(16px)!important;
}
.modern-shell main input,.modern-shell main select,.modern-shell main textarea{
  background:rgba(7,42,61,.82)!important;border:1px solid rgba(74,176,205,.36)!important;color:#f4fbff!important;border-radius:10px!important;
}
.modern-shell main input:focus,.modern-shell main select:focus,.modern-shell main textarea:focus{
  outline:none!important;border-color:var(--fs-cyan)!important;box-shadow:0 0 0 3px rgba(40,224,223,.10)!important;
}
.modern-shell main .button,.modern-shell main button:not(.danger):not(.secondary){
  border:1px solid rgba(74,243,236,.55)!important;border-radius:10px!important;
  background:linear-gradient(180deg,#23dedc,#12bfcf)!important;color:#061417!important;
  box-shadow:0 8px 20px rgba(10,189,205,.18)!important;font-weight:750!important;
}
.modern-shell main .button:not(.secondary):not(.danger),
.modern-shell main button:not(.danger):not(.secondary),
.modern-shell main .md-btn.primary,
.modern-shell main .maint-schedule-btn{
  color:#061417!important;
}
.modern-shell main .button:not(.secondary):not(.danger) *,
.modern-shell main button:not(.danger):not(.secondary) *,
.modern-shell main .md-btn.primary *,
.modern-shell main .maint-schedule-btn *{
  color:inherit!important;stroke:currentColor!important;
}
.modern-shell main .button.secondary,.modern-shell main button.secondary{
  background:rgba(7,48,68,.76)!important;color:#e8f8fc!important;border:1px solid rgba(72,176,203,.34)!important;box-shadow:none!important;
}
.modern-shell main table{background:transparent!important}
.modern-shell main th{color:#8fc2d5!important;background:rgba(3,34,51,.62)!important;border-color:rgba(77,161,188,.17)!important}
.modern-shell main td{color:#d9e8f0!important;border-color:rgba(77,161,188,.12)!important}
.modern-shell main tr:hover td{background:rgba(17,92,115,.18)!important}

/* Fixed icon geometry: no drifting up/down */
.modern-shell svg{vector-effect:non-scaling-stroke}
.modern-shell .side-icon,.modern-shell .mobile-nav-icon,.modern-shell .dash-kpi-icon,.modern-shell .fleet-summary-icon,.modern-shell .finance-panel-icon,.modern-shell .maint-summary-icon,.modern-shell .maint-v3-title-icon{
  line-height:1!important;vertical-align:middle!important;align-items:center!important;justify-content:center!important;
}
.modern-shell .side-icon svg,.modern-shell .mobile-nav-icon svg,.modern-shell .dash-kpi-icon svg,.modern-shell .fleet-summary-icon svg,.modern-shell .finance-panel-icon svg,.modern-shell .maint-summary-icon svg,.modern-shell .maint-v3-title-icon svg{
  display:block!important;position:static!important;margin:auto!important;inset:auto!important;transform:none;
}

/* MOBILE */
@media(max-width:800px){
  body:has(.modern-shell){background:#031522!important}
  .modern-shell{
    display:block!important;
    background:
      linear-gradient(180deg,rgba(2,19,31,.30),rgba(2,19,31,.78) 44%,rgba(2,18,30,.96) 78%),
      url('/static/img/flairsim-login-aircraft-front.webp') center top / 100% auto fixed no-repeat,
      #031522!important;
  }
  .modern-shell .content>header{
    height:62px!important;min-height:62px!important;padding:0 max(10px,env(safe-area-inset-left))!important;
    background:rgba(3,28,44,.84)!important;backdrop-filter:blur(18px)!important;
  }
  .modern-shell .content>main{
    padding:16px 11px 22px!important;
    background:transparent!important;
  }
  .modern-shell main .card,.modern-shell main .panel{
    border-radius:14px!important;background:linear-gradient(145deg,rgba(4,39,58,.90),rgba(3,29,45,.91))!important;
    box-shadow:0 9px 26px rgba(0,0,0,.16)!important;backdrop-filter:blur(14px)!important;
  }
  .modern-shell #side.flair-sidebar{
    width:min(86vw,340px)!important;left:-360px!important;padding:calc(16px + env(safe-area-inset-top)) 12px calc(14px + env(safe-area-inset-bottom))!important;
    background:linear-gradient(180deg,rgba(3,35,51,.99),rgba(3,24,39,.99))!important;
  }
  .modern-shell #side.flair-sidebar.show{left:0!important}
  #side.flair-sidebar .sidebar-brand{grid-template-columns:48px minmax(0,1fr) 38px!important;padding:0 6px 14px!important}
  #side.flair-sidebar .brand-plane{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
  #side.flair-sidebar .brand-plane svg{width:38px!important;height:38px!important}
  #side.flair-sidebar .brand-copy b{font-size:22px!important}
  #side.flair-sidebar .sidebar-nav .sidebar-row{min-height:48px!important;grid-template-columns:36px minmax(0,1fr) 16px!important;padding:6px 9px!important}
  #side.flair-sidebar .sidebar-nav .side-icon{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important}
  #side.flair-sidebar .sidebar-nav .side-icon svg{width:22px!important;height:22px!important}
  #side.flair-sidebar .sidebar-nav .side-copy b{font-size:13px!important}
  .modern-shell .mobile-nav{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    height:72px!important;min-height:72px!important;
    padding:5px max(7px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left))!important;
    background:rgba(2,22,35,.98)!important;border-top:1px solid rgba(46,214,220,.20)!important;
    box-shadow:0 -10px 30px rgba(0,0,0,.22)!important;backdrop-filter:blur(18px)!important;
  }
  .modern-shell .mobile-nav a,.modern-shell .mobile-nav button{
    height:61px!important;min-height:61px!important;border-radius:14px!important;color:#9eb7c8!important;gap:4px!important;
  }
  .modern-shell .mobile-nav .mobile-nav-menu{
    display:flex!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  }
  .modern-shell .mobile-nav-icon{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important}
  .modern-shell .mobile-nav-icon svg{width:27px!important;height:27px!important}
  .modern-shell .mobile-nav .mobile-nav-label{font-size:10px!important;font-weight:700!important}
  .modern-shell .mobile-nav a.active,.modern-shell .mobile-nav button.active{color:var(--fs-cyan)!important;background:linear-gradient(180deg,rgba(8,48,65,.98),rgba(5,38,55,.98))!important;box-shadow:inset 0 0 0 1px rgba(45,212,191,.05),0 6px 18px rgba(0,0,0,.16)!important}
  .modern-shell .mobile-nav a.active::before,.modern-shell .mobile-nav button.active::before{top:0!important;background:var(--fs-cyan)!important;width:34px!important;height:3px!important;border-radius:999px!important;box-shadow:0 0 8px rgba(45,212,191,.55)!important}
  .legal-footer{display:none!important}
}

@media(min-width:801px) and (max-width:1180px){
  .modern-shell{grid-template-columns:250px minmax(0,1fr)!important}
  #side.flair-sidebar{width:250px!important;padding-left:10px!important;padding-right:10px!important}
  .modern-shell{background-position:right center!important}
}


/* FIX 2026-09-14: aircraft detail > Contract > maintenance offers */
#aircraft-base-maintenance .aircraft-service-offer{
  width:100%!important;
  overflow:hidden!important;
}
#aircraft-base-maintenance .aircraft-service-offer>summary{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 28px!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  padding:13px 16px!important;
}
#aircraft-base-maintenance .aircraft-service-offer-line{
  display:flex!important;
  flex:1 1 auto!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:6px 9px!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.35!important;
}
#aircraft-base-maintenance .aircraft-service-offer-line strong,
#aircraft-base-maintenance .aircraft-service-offer-line span{
  min-width:0!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
#aircraft-base-maintenance .aircraft-service-offer-line strong{
  flex:0 1 auto!important;
  font-size:.92rem!important;
}
#aircraft-base-maintenance .aircraft-service-offer-chevron{
  display:grid!important;
  place-items:center!important;
  justify-self:end!important;
  align-self:center!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(56,202,224,.30)!important;
  border-radius:9px!important;
  background:rgba(8,67,91,.70)!important;
  line-height:1!important;
}
#aircraft-base-maintenance .aircraft-service-offer-body{
  min-width:0!important;
  padding:14px 16px 16px!important;
}
#aircraft-base-maintenance .aircraft-service-offer-body .detail-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0 16px!important;
  width:100%!important;
  min-width:0!important;
}
#aircraft-base-maintenance .aircraft-service-offer-body .detail-list>p{
  display:grid!important;
  grid-template-columns:minmax(130px,.72fr) minmax(0,1.28fr)!important;
  align-items:start!important;
  gap:10px!important;
  min-width:0!important;
  margin:0!important;
  padding:11px 0!important;
  border-bottom:1px solid rgba(73,153,183,.20)!important;
  line-height:1.35!important;
}
#aircraft-base-maintenance .aircraft-service-offer-body .detail-list>p>b{
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  text-align:right!important;
}
#aircraft-base-maintenance .aircraft-service-offer-body form{
  margin-top:14px!important;
}

@media(max-width:900px){
  #aircraft-base-maintenance .aircraft-service-offer-body .detail-list{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:720px){
  #aircraft-base-maintenance .aircraft-service-offer>summary{
    grid-template-columns:minmax(0,1fr) 28px!important;
    padding:12px 13px!important;
  }
  #aircraft-base-maintenance .aircraft-service-offer-line{
    width:auto!important;
    flex-wrap:wrap!important;
    white-space:normal!important;
    font-size:.78rem!important;
  }
  #aircraft-base-maintenance .aircraft-service-offer-body{
    padding:12px!important;
  }
  #aircraft-base-maintenance .aircraft-service-offer-body .detail-list>p{
    grid-template-columns:1fr!important;
    gap:4px!important;
    padding:9px 0!important;
  }
  #aircraft-base-maintenance .aircraft-service-offer-body .detail-list>p>b{
    text-align:left!important;
  }
}


/* Mobile bases: compact list, tap to reveal detail */
@media (max-width: 768px){
  .base-section .company-base-grid{
    display:block !important;
    margin:10px 0 !important;
  }

  .base-section .company-base-card{
    display:block !important;
    padding:0 !important;
    margin:0 0 8px !important;
    border-radius:10px !important;
    overflow:hidden !important;
    cursor:pointer;
  }

  .base-section .company-base-card .company-base-head{
    align-items:center !important;
    min-height:58px;
    padding:10px 12px !important;
    gap:8px !important;
  }

  .base-section .company-base-card .company-base-head > div{
    min-width:0;
    flex:1 1 auto;
  }

  .base-section .company-base-card .company-base-icon{
    width:34px !important;
    height:34px !important;
    min-width:34px !important;
    font-size:17px !important;
  }

  .base-section .company-base-card .company-base-head h3{
    font-size:16px !important;
    line-height:1.2 !important;
  }

  .base-section .company-base-card .company-base-head p{
    font-size:12px !important;
    line-height:1.25 !important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:58vw;
  }

  .base-section .company-base-card .company-base-head .status{
    flex:0 0 auto;
    font-size:10px !important;
    padding:5px 7px !important;
    margin-right:20px;
  }

  .base-section .company-base-card .company-base-head::after{
    content:'›';
    position:absolute;
    right:10px;
    font-size:24px;
    line-height:1;
    transform:rotate(0deg);
    transition:transform .18s ease;
    opacity:.8;
  }

  .base-section .company-base-card .company-base-head{
    position:relative;
  }

  .base-section .company-base-card.mobile-expanded .company-base-head::after{
    transform:rotate(90deg);
  }

  .base-section .company-base-card > .company-base-facts,
  .base-section .company-base-card > .base-maintenance-levels,
  .base-section .company-base-card > form,
  .base-section .company-base-card > p.muted{
    display:none !important;
  }

  .base-section .company-base-card.mobile-expanded > .company-base-facts{
    display:grid !important;
    padding:10px 12px 12px !important;
    margin:0 !important;
    border-top:1px solid rgba(255,255,255,.08);
  }

  .base-section .company-base-card.mobile-expanded > .base-maintenance-levels{
    display:flex !important;
    flex-wrap:wrap;
    gap:6px !important;
    padding:10px 12px 0 !important;
    margin:0 !important;
    border-top:1px solid rgba(255,255,255,.08);
  }

  .base-section .company-base-card.mobile-expanded > form{
    display:block !important;
    padding:0 12px 12px !important;
    margin-top:0 !important;
  }

  .base-section .company-base-card.mobile-expanded > p.muted{
    display:block !important;
    padding:0 12px 12px !important;
    margin:0 !important;
  }
}


/* Dashboard clickable KPI cards — 2026-09-15 */
.dash-click-card{
  color:inherit!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease!important;
}
.dash-click-card:hover{
  border-color:rgba(45,212,191,.48)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.22),0 0 0 1px rgba(45,212,191,.06)!important;
}
.dash-click-card:focus-visible{
  outline:2px solid var(--fs-cyan)!important;
  outline-offset:2px!important;
}
.dash-kpi-subline.positive{color:#55df91!important;font-weight:700!important}
.dash-kpi-subline.negative{color:#ff7082!important;font-weight:700!important}
.dash-kpi-airborne{color:#55df91!important;font-weight:700!important}
.dash-kpi-maintenance .dash-kpi-icon{color:#ffc85a!important;background:rgba(170,112,22,.28)!important}
@media(max-width:800px){
  .dash-click-card:active{transform:scale(.985)!important}
  .dash-kpi-subline{font-size:9.5px!important;line-height:1.25!important}
}


/* Information navigation: one top-level section with legal/support subsection. */
#side.flair-sidebar .sidebar-subnav-heading{
  display:block;
  margin:5px 8px 1px;
  padding:7px 9px 4px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#d9f7fb;
  opacity:.82;
  border-top:1px solid rgba(122,229,239,.12);
}
