@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --bg:#07111f;
  --panel:#0d1b2d;
  --panel2:#10233b;
  --line:#1f3554;
  --text:#ffffff;
  --muted:#9fb2c9;
  --accent:#ff8c00;
  --accent2:#ffb347;
}

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

body{
  font-family:'Inter',sans-serif;
  background:
    linear-gradient(rgba(3,10,20,.88),rgba(3,10,20,.92)),
    url('https://images.unsplash.com/photo-1436491865332-7a61a109cc05?q=80&w=2000&auto=format&fit=crop');
  background-size:cover;
  background-position:center;
  color:var(--text);
  min-height:100vh;
}

.auth-body{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:40px;
}

.auth-shell{
  width:100%;
  max-width:1200px;
  display:grid;
  grid-template-columns:1fr 480px;
  gap:40px;
  align-items:center;
}

.auth-brand{
  padding:40px;
}

.brand-mark{
  font-size:54px;
  font-weight:800;
  line-height:1;
  margin-bottom:20px;
}

.brand-mark span{
  color:var(--accent);
}

.auth-brand h1{
  font-size:58px;
  font-weight:800;
  margin-bottom:16px;
}

.auth-brand p{
  max-width:500px;
  color:var(--muted);
  font-size:18px;
  line-height:1.6;
}

.auth-card{
  background:rgba(10,24,42,.92);
  border:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(12px);
  border-radius:24px;
  padding:40px;
  box-shadow:0 20px 60px rgba(0,0,0,.45);
}

.auth-card h2{
  font-size:34px;
  margin-bottom:10px;
}

.muted{
  color:var(--muted);
  margin-bottom:30px;
  line-height:1.6;
}

.auth-form{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.auth-form label{
  font-size:14px;
  font-weight:600;
  color:#dce7f5;
}

.auth-form input{
  background:#081321;
  border:1px solid var(--line);
  border-radius:14px;
  padding:16px;
  color:#fff;
  font-size:15px;
  transition:.2s;
}

.auth-form input:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(255,140,0,.18);
}

.auth-form button{
  margin-top:10px;
  border:none;
  border-radius:14px;
  padding:16px;
  font-size:15px;
  font-weight:700;
  color:#fff;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  cursor:pointer;
  transition:.2s;
}

.auth-form button:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 25px rgba(255,140,0,.25);
}

.auth-links{
  margin-top:24px;
  display:flex;
  justify-content:space-between;
  gap:20px;
}

.auth-links a{
  color:#6fb3ff;
  text-decoration:none;
  font-size:14px;
}

.auth-links a:hover{
  color:#fff;
}

.auth-status{
  margin-top:20px;
  font-size:14px;
  color:#ffb347;
}

@media(max-width:980px){
  .auth-shell{
    grid-template-columns:1fr;
  }

  .auth-brand{
    padding:0;
    text-align:center;
  }

  .auth-brand h1{
    font-size:42px;
  }

  .auth-card{
    padding:28px;
  }
}

.login-gate{
  min-height:100vh;
  background:
    linear-gradient(rgba(2,8,18,.78), rgba(2,8,18,.82)),
    url("/assets/img/login-bg.png");
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  color:#fff;
  overflow-x:hidden;
}



.login-layout{
  min-height:calc(100vh - 60px);
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:60px;
  align-items:center;
  padding:40px 70px 10px;
}

.logo{
  font-size:48px;
  font-weight:900;
  letter-spacing:-2px;
}

.logo span{
  color:#ff8c00;
  font-size:24px;
  margin-left:4px;
}

.subbrand{
  color:#ff8c00;
  font-weight:800;
  font-size:18px;
  margin-top:8px;
}

.left-copy{
  margin-top:110px;
  max-width:700px;
}

.left-copy h1{
  font-size:52px;
  line-height:1.1;
  font-weight:900;
}

.orange-line{
  width:70px;
  height:4px;
  background:#ff8c00;
  margin:28px 0;
  border-radius:10px;
}

.left-copy p{
  font-size:22px;
  color:#d2dbe8;
  margin-bottom:40px;
}

.feature-row{
  display:flex;
  gap:20px;
  align-items:center;
  margin:24px 0;
}

.feature-icon{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(11,31,54,.75);
  border-radius:14px;
  color:#ff8c00;
  font-size:28px;
  flex:0 0 auto;
}

.feature-icon.blue{
  color:#6fb3ff;
}

.feature-row b,
.access-note b{
  display:block;
  font-size:19px;
  margin-bottom:7px;
}

.feature-row span,
.access-note span{
  display:block;
  color:#c2cfdd;
  line-height:1.55;
  max-width:470px;
}

.access-note{
  margin-top:100px;
  max-width:760px;
  display:flex;
  gap:20px;
  align-items:center;
  background:rgba(14,31,52,.78);
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  padding:24px;
  box-shadow:0 20px 50px rgba(0,0,0,.28);
}

.login-panel{
  width:100%;
  max-width:760px;
  justify-self:center;
  background:rgba(5,18,32,.88);
  border:1px solid rgba(120,160,210,.26);
  border-radius:24px;
  padding:64px 58px;
  box-shadow:0 30px 90px rgba(0,0,0,.45);
  backdrop-filter:blur(14px);
}

.lock-badge{
  width:94px;
  height:94px;
  display:grid;
  place-items:center;
  margin:0 auto 30px;
  border-radius:26px;
  background:linear-gradient(135deg,#0d4b91,#1d6acb);
  font-size:42px;
}

.login-panel h2{
  text-align:center;
  font-size:42px;
  font-weight:900;
}

.login-panel > p{
  text-align:center;
  color:#c5d0df;
  font-size:18px;
  margin:12px 0 34px;
  padding-bottom:34px;
  border-bottom:1px solid rgba(255,255,255,.12);
}

.gate-form label{
  display:block;
  color:#b8c8dc;
  font-size:14px;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.08em;
  margin:22px 0 10px;
}

.input-wrap{
  display:flex;
  align-items:center;
  gap:16px;
  background:rgba(4,15,28,.78);
  border:1px solid rgba(160,190,230,.25);
  border-radius:10px;
  padding:0 18px;
}

.input-wrap span{
  opacity:.75;
}

.input-wrap input{
  flex:1;
  height:62px;
  background:transparent;
  border:none;
  color:#fff;
  font-size:17px;
}

.input-wrap input:focus{
  outline:none;
}

.form-options{
  margin:24px 0 32px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#dbe7f6;
}

.check{
  display:flex!important;
  align-items:center;
  gap:10px;
  margin:0!important;
  text-transform:none!important;
  letter-spacing:0!important;
  font-size:16px!important;
}

.check input{
  accent-color:#ff8c00;
  width:22px;
  height:22px;
}

.form-options a,
.terms a{
  color:#4ea3ff;
  text-decoration:none;
}

.gate-form button{
  width:100%;
  height:66px;
  border:none;
  border-radius:10px;
  background:linear-gradient(135deg,#ff8c00,#f26b00);
  color:#fff;
  font-size:18px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 12px 30px rgba(255,120,0,.25);
}

.divider{
  display:flex;
  align-items:center;
  gap:20px;
  color:#9fb2c9;
  margin:34px 0;
}

.divider:before,
.divider:after{
  content:"";
  flex:1;
  height:1px;
  background:rgba(255,255,255,.14);
}

.register-btn{
  display:flex;
  justify-content:center;
  align-items:center;
  height:62px;
  border:1px solid rgba(160,190,230,.35);
  border-radius:10px;
  color:#b8dcff;
  text-decoration:none;
  font-weight:800;
  letter-spacing:.02em;
}

.terms{
  margin-top:28px!important;
  padding:0!important;
  border:none!important;
  font-size:15px!important;
  line-height:1.7;
}

footer{
  height:60px;
  text-align:center;
  color:#8fa1b8;
}

@media(max-width:1100px){
  .login-layout{
    grid-template-columns:1fr;
    padding:30px;
  }

  .left-copy{
    margin-top:50px;
  }

  .access-note{
    margin-top:40px;
  }
}

.ops-body{
  min-height:100vh;
  background:#07111f;
  color:#eef6ff;
  display:flex;
}

.ops-sidebar{
  width:270px;
  min-height:100vh;
  background:linear-gradient(180deg,#071827,#06111e);
  border-right:1px solid rgba(255,255,255,.08);
  padding:32px 24px;
  position:fixed;
  left:0;
  top:0;
  bottom:0;
}

.ops-logo{
  font-size:38px;
  font-weight:900;
  letter-spacing:-1px;
}

.ops-logo span{color:#ff8c00}

.ops-subtitle{
  color:#ff8c00;
  font-weight:800;
  margin:6px 0 34px;
}

.ops-nav{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.ops-nav a{
  color:#c6d4e5;
  text-decoration:none;
  padding:14px 16px;
  border-radius:10px;
  font-weight:600;
}

.ops-nav a.active,
.ops-nav a:hover{
  background:#194f87;
  color:#fff;
}

.quick-links{
  margin-top:34px;
  border-top:1px solid rgba(255,255,255,.12);
  padding-top:22px;
}

.quick-links h4{margin-bottom:14px}
.quick-links a{
  display:block;
  color:#c6d4e5;
  text-decoration:none;
  margin:12px 0;
}

.ops-main{
  margin-left:270px;
  width:calc(100% - 270px);
  padding:28px 34px;
}

.ops-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.08);
  padding-bottom:24px;
}

.ops-header h1{
  font-size:30px;
  font-weight:900;
}

.ops-header p,
.clock small,
.user-chip small{
  color:#9fb2c9;
}

.ops-userbar{
  display:flex;
  align-items:center;
  gap:24px;
}

.clock{text-align:right}

.bell{
  position:relative;
  font-size:25px;
}

.bell b{
  position:absolute;
  top:-10px;
  right:-10px;
  background:#ff8c00;
  border-radius:999px;
  padding:2px 7px;
  font-size:12px;
}

.user-chip{
  display:flex;
  align-items:center;
  gap:12px;
}

.avatar,
.pilot-photo{
  background:linear-gradient(135deg,#d9e7f8,#536b84);
  border-radius:50%;
}

.avatar{
  width:46px;
  height:46px;
}

.user-chip small{
  display:block;
}

.stats-grid{
  margin-top:28px;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:22px;
}

.stat-card,
.panel,
.announcement{
  background:linear-gradient(160deg,rgba(18,43,68,.96),rgba(12,28,46,.96));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 45px rgba(0,0,0,.22);
}

.stat-card{
  border-radius:14px;
  padding:24px;
  display:flex;
  gap:18px;
  align-items:center;
}

.stat-card i{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  background:#194f87;
  color:#fff;
  border-radius:50%;
  font-size:25px;
}

.stat-card span{
  color:#c0cce0;
}

.stat-card b{
  display:block;
  font-size:28px;
  margin:4px 0;
}

.stat-card small,
.green{
  color:#39d86a;
}

.dash-grid{
  margin-top:28px;
  display:grid;
  grid-template-columns:1.1fr 1.25fr 1.35fr;
  gap:22px;
}

.panel{
  border-radius:14px;
  padding:24px;
}

.panel h2{
  font-size:20px;
  margin-bottom:22px;
}

.panel-title{
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.panel-title a,
.link-btn{
  color:#54a7ff;
  text-decoration:none;
  font-weight:800;
  font-size:13px;
}

.profile-panel,
.flight-panel,
.activity-panel{
  min-height:430px;
}

.pilot-row{
  display:flex;
  gap:22px;
  align-items:center;
}

.pilot-photo{
  width:118px;
  height:118px;
}

.pilot-row h3{
  font-size:28px;
}

.pilot-row b{
  color:#ff8c00;
}

.info-list{
  list-style:none;
  margin:24px 0;
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:18px;
}

.info-list li{
  display:flex;
  justify-content:space-between;
  padding:9px 0;
  color:#aebcd0;
}

.blue-btn,
.orange-btn{
  display:block;
  text-align:center;
  padding:15px;
  border-radius:8px;
  text-decoration:none;
  color:#fff;
  font-weight:900;
}

.blue-btn{
  background:#194f87;
}

.orange-btn{
  background:linear-gradient(135deg,#ff8c00,#f26b00);
  margin-top:22px;
}

.route-big{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:28px 0;
}

.route-big b{
  display:block;
  font-size:34px;
}

.route-big span{
  color:#b8c8dc;
}

.route-big i{
  color:#ff8c00;
  font-size:42px;
}

.flight-line{
  display:flex;
  justify-content:space-between;
  align-items:center;
  height:2px;
  background:rgba(255,255,255,.25);
  margin:20px 10px;
}

.flight-line span{
  width:12px;
  height:12px;
  background:#9fb2c9;
  border-radius:50%;
}

.flight-meta,
.flight-bottom{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:28px;
}

.flight-meta span,
.flight-bottom span{
  color:#aebcd0;
  display:block;
  margin-bottom:6px;
}

.activity{
  display:grid;
  grid-template-columns:46px 1fr auto;
  gap:14px;
  align-items:center;
  padding:18px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.activity i{
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#2869aa;
}

.activity i.ok{background:#30aa66}
.activity i.purple{background:#7950c7}
.activity i.orange{background:#ff8c00}

.activity span,
.activity time{
  color:#aebcd0;
  font-size:14px;
}

.big-number{
  font-size:34px;
  font-weight:900;
}

.big-number span{
  font-size:16px;
  color:#aebcd0;
  font-weight:500;
}

.fake-chart{
  height:145px;
  margin:28px 0 20px;
  background:
    linear-gradient(180deg,rgba(60,140,255,.2),transparent),
    repeating-linear-gradient(0deg,rgba(255,255,255,.08) 0 1px,transparent 1px 36px);
  border-radius:10px;
  position:relative;
}

.fake-chart:after{
  content:"";
  position:absolute;
  left:20px;
  right:20px;
  bottom:28px;
  height:70px;
  border-bottom:5px solid #3e9cff;
  border-radius:50%;
  transform:skewX(-16deg);
}

.fleet-row{
  display:grid;
  grid-template-columns:50px 1fr 1fr 30px;
  align-items:center;
  padding:13px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.fleet-row span{color:#ff8c00}
.fleet-row em{
  color:#39d86a;
  font-style:normal;
}

.muted2{color:#9fb2c9!important}

.fleet-total{
  display:flex;
  justify-content:space-between;
  margin-top:24px;
  font-size:18px;
}

.event{
  display:grid;
  grid-template-columns:64px 1fr auto;
  gap:16px;
  align-items:center;
  padding:16px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.event time{
  border:1px solid #ff8c00;
  border-radius:8px;
  text-align:center;
  padding:8px;
  color:#ff8c00;
  font-weight:800;
}

.event time b{
  display:block;
  color:#fff;
  font-size:24px;
}

.event span{
  color:#aebcd0;
}

.event em{
  background:#194f87;
  padding:8px 12px;
  border-radius:8px;
  font-style:normal;
  font-size:12px;
  font-weight:900;
}

.orange-tag{background:#8b5108!important}

.announcement{
  margin-top:22px;
  border-radius:14px;
  padding:20px 24px;
  display:grid;
  grid-template-columns:58px 1fr auto 260px;
  align-items:center;
  gap:18px;
}

.announcement i{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  background:#ff8c00;
  border-radius:50%;
}

.announcement span{
  display:block;
  color:#aebcd0;
  margin-top:4px;
}

.announcement a{
  border:1px solid #ff8c00;
  color:#ff8c00;
  text-align:center;
  padding:14px;
  border-radius:8px;
  font-weight:900;
}

@media(max-width:1200px){
  .stats-grid,
  .dash-grid{
    grid-template-columns:1fr 1fr;
  }

  .activity-panel{
    grid-column:span 2;
  }
}

@media(max-width:900px){
  .ops-sidebar{
    position:relative;
    width:100%;
    min-height:auto;
  }

  .ops-body{
    display:block;
  }

  .ops-main{
    margin-left:0;
    width:100%;
  }

  .stats-grid,
  .dash-grid{
    grid-template-columns:1fr;
  }

  .activity-panel{
    grid-column:auto;
  }

  .ops-header,
  .ops-userbar{
    flex-direction:column;
    align-items:flex-start;
  }
}

.user-menu{
  position:relative;
}

.user-chip{
  border:0;
  background:transparent;
  color:#fff;
  cursor:pointer;
}

.user-dropdown{
  display:none;
  position:absolute;
  right:0;
  top:58px;
  min-width:190px;
  background:#0b1b2e;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  box-shadow:0 20px 50px rgba(0,0,0,.35);
  overflow:hidden;
  z-index:50;
}

.user-dropdown.open{
  display:block;
}

.user-dropdown a,
.user-dropdown button{
  display:block;
  width:100%;
  padding:14px 16px;
  background:transparent;
  border:0;
  color:#dce8f7;
  text-align:left;
  text-decoration:none;
  font-weight:700;
  cursor:pointer;
}

.user-dropdown a:hover,
.user-dropdown button:hover{
  background:#14375e;
  color:#fff;
}

.user-dropdown button{
  color:#ff9d3b;
}

.user-menu{
  position:relative;
}

.user-chip{
  display:flex;
  align-items:center;
  gap:12px;
  background:transparent!important;
  border:0!important;
  color:#fff!important;
  cursor:pointer;
  padding:0!important;
  font:inherit;
}

.user-chip .avatar{
  width:46px;
  height:46px;
  border-radius:50%;
  background:linear-gradient(135deg,#d9e7f8,#536b84);
}

.user-chip small{
  display:block;
  color:#9fb2c9;
}

.chevron{
  color:#9fb2c9;
  font-size:20px;
}

.user-dropdown{
  display:none;
  position:absolute;
  top:60px;
  right:0;
  min-width:210px;
  background:#0b1b2e;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  box-shadow:0 20px 50px rgba(0,0,0,.35);
  overflow:hidden;
  z-index:9999;
}

.user-dropdown.open{
  display:block;
}

.user-dropdown a,
.user-dropdown button{
  display:block;
  width:100%;
  padding:14px 16px;
  background:transparent;
  border:0;
  color:#dce8f7;
  text-align:left;
  text-decoration:none;
  font-weight:700;
  cursor:pointer;
}

.user-dropdown a:hover,
.user-dropdown button:hover{
  background:#14375e;
}

.user-dropdown button{
  color:#ff9d3b;
}

/* USER MENU FINAL FIX */
.ops-header .user-menu{
  position:relative!important;
  display:block!important;
}

.ops-header .user-menu .user-chip{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  background:transparent!important;
  border:0!important;
  color:#fff!important;
  cursor:pointer!important;
  padding:0!important;
  font:inherit!important;
  appearance:none!important;
}

.ops-header .user-menu .user-dropdown{
  display:none!important;
  position:absolute!important;
  top:62px!important;
  right:0!important;
  min-width:220px!important;
  background:#0b1b2e!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:12px!important;
  box-shadow:0 22px 55px rgba(0,0,0,.45)!important;
  overflow:hidden!important;
  z-index:999999!important;
}

.ops-header .user-menu .user-dropdown.open{
  display:block!important;
}

.ops-header .user-menu .user-dropdown a,
.ops-header .user-menu .user-dropdown button{
  display:block!important;
  width:100%!important;
  padding:14px 16px!important;
  background:transparent!important;
  border:0!important;
  color:#dce8f7!important;
  text-align:left!important;
  text-decoration:none!important;
  font-weight:700!important;
  font-size:15px!important;
  cursor:pointer!important;
}

.ops-header .user-menu .user-dropdown a:hover,
.ops-header .user-menu .user-dropdown button:hover{
  background:#14375e!important;
  color:#fff!important;
}

.ops-header .user-menu .user-dropdown button{
  color:#ff9d3b!important;
}

.cookie-notice{
  position:fixed;
  left:24px;
  right:24px;
  bottom:24px;
  z-index:999999;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:18px 22px;
  background:#081827;
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
  box-shadow:0 20px 60px rgba(0,0,0,.45);
  color:#fff;
}

.cookie-notice b{
  display:block;
  margin-bottom:4px;
}

.cookie-notice span{
  color:#b8c8dc;
}

.cookie-notice button{
  background:#ff8c00;
  color:#fff;
  border:0;
  border-radius:10px;
  padding:12px 22px;
  font-weight:900;
  cursor:pointer;
}

/* COOKIE NOTICE FINAL */
.cookie-notice{
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:26px!important;
  transform:translateX(-50%)!important;
  width:min(900px, calc(100% - 40px))!important;
  z-index:999999!important;

  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;

  padding:22px 26px!important;
  background:rgba(8,24,39,.96)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:16px!important;
  box-shadow:0 24px 70px rgba(0,0,0,.55)!important;
  color:#fff!important;
  backdrop-filter:blur(14px)!important;
}

.cookie-notice div{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
}

.cookie-notice b{
  font-size:18px!important;
  font-weight:900!important;
  color:#fff!important;
}

.cookie-notice span{
  font-size:15px!important;
  line-height:1.45!important;
  color:#c7d4e5!important;
}

.cookie-notice button{
  flex:0 0 auto!important;
  background:linear-gradient(135deg,#ff8c00,#f26b00)!important;
  color:#fff!important;
  border:0!important;
  border-radius:10px!important;
  padding:13px 26px!important;
  font-weight:900!important;
  font-size:15px!important;
  cursor:pointer!important;
  box-shadow:0 12px 28px rgba(255,120,0,.25)!important;
}

.cookie-notice button:hover{
  transform:translateY(-1px)!important;
}

@media(max-width:700px){
  .cookie-notice{
    flex-direction:column!important;
    align-items:flex-start!important;
  }

  .cookie-notice button{
    width:100%!important;
  }
}

.empty-live{
  padding:22px;
  border:1px dashed rgba(255,255,255,.18);
  border-radius:12px;
  color:#aebcd0;
  background:rgba(255,255,255,.03);
  text-align:center;
  font-weight:700;
}

/* NOTIFICATION DROPDOWN */
.notification-menu{
  position:relative;
}

.notification-menu .bell{
  background:transparent;
  border:0;
  color:#fff;
  cursor:pointer;
  padding:0;
  font:inherit;
  position:relative;
  font-size:25px;
}

.notification-dropdown{
  display:none;
  position:absolute;
  top:48px;
  right:-12px;
  width:360px;
  max-height:430px;
  overflow:auto;
  background:#0b1b2e;
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  box-shadow:0 24px 70px rgba(0,0,0,.48);
  z-index:99999;
}

.notification-dropdown.open{
  display:block;
}

.notification-head{
  position:sticky;
  top:0;
  background:#0b1b2e;
  padding:16px 18px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.1);
}

.notification-head b{
  font-size:17px;
}

.notification-head span{
  color:#ff9d3b;
  font-size:13px;
  font-weight:800;
}

.notification-item{
  display:block;
  padding:16px 18px;
  border-bottom:1px solid rgba(255,255,255,.08);
  color:#dce8f7;
  text-decoration:none;
}

.notification-item:hover{
  background:#14375e;
}

.notification-item b{
  display:block;
  margin-bottom:5px;
  color:#fff;
}

.notification-item span{
  display:block;
  color:#9fb2c9;
  font-size:14px;
  line-height:1.4;
}

.notification-item small{
  display:block;
  margin-top:8px;
  color:#ff9d3b;
  font-weight:800;
  font-size:12px;
}

.notification-empty{
  padding:22px;
  color:#9fb2c9;
  text-align:center;
  font-weight:700;
}

.system-strip{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin:18px 0 24px;
}

.sys-pill{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 16px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
  letter-spacing:.03em;
  background:#102235;
  color:#dce8f7;
  border:1px solid rgba(255,255,255,.08);
}

.sys-pill span{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#3cff79;
  box-shadow:0 0 16px #3cff79;
}

.sys-pill.live span{
  background:#ff9d3b;
  box-shadow:0 0 16px #ff9d3b;
}

.sys-pill.offline span{
  background:#ff4d4d;
  box-shadow:0 0 16px #ff4d4d;
}

.sys-pill.offline{
  border-color:rgba(255,77,77,.35);
}

body[data-protected]{
  visibility:hidden;
}

body[data-protected].session-ready{
  visibility:visible;
}

/* DASHBOARD LOADER */
.dashboard-loader{
  position:fixed;
  inset:0;
  z-index:999999;
  background:
    radial-gradient(circle at top, rgba(20,50,90,.55), transparent 55%),
    linear-gradient(180deg,#06111d,#081827);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
  transition:opacity .35s ease, visibility .35s ease;
}

.dashboard-loader.hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.loader-logo{
  font-size:42px;
  font-weight:1000;
  color:#fff;
  letter-spacing:.08em;
}

.loader-bar{
  width:260px;
  height:8px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.08);
}

.loader-bar div{
  width:40%;
  height:100%;
  background:linear-gradient(90deg,#ff8c00,#ffb347);
  animation:loaderMove 1.1s infinite ease-in-out;
}

.loader-sub{
  color:#9db3ca;
  font-size:14px;
  font-weight:700;
  letter-spacing:.04em;
}

@keyframes loaderMove{
  0%{ transform:translateX(-120%); }
  100%{ transform:translateX(340%); }
}

.flight-panel.no-bid{
  border-color:rgba(255,140,0,.22);
}

.no-bid-note{
  margin-top:18px;
  padding:14px 16px;
  border-radius:10px;
  background:rgba(255,140,0,.08);
  color:#ffb347;
  font-weight:800;
  text-align:center;
}

.profile-page{
  width:100%;
  min-height:100vh;
  padding:40px;
  background:#07111f;
}

.back-link{
  color:#ffb347;
  text-decoration:none;
  font-weight:900;
}

.profile-hero{
  margin-top:30px;
  display:flex;
  align-items:center;
  gap:28px;
  padding:34px;
  border-radius:18px;
  background:linear-gradient(160deg,rgba(18,43,68,.96),rgba(12,28,46,.96));
  border:1px solid rgba(255,255,255,.08);
}

.pilot-photo.large{
  width:130px;
  height:130px;
}

.profile-hero h1{
  font-size:42px;
  font-weight:900;
}

.profile-hero p{
  color:#9fb2c9;
  font-size:18px;
  margin-top:8px;
}

.profile-grid{
  margin-top:24px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}

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

.activity-item{
  display:grid;
  grid-template-columns:42px 1fr auto;
  gap:14px;
  align-items:center;
  padding:15px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
  color:#dce8f7;
  text-decoration:none;
}

.activity-item i{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#195a9f;
  color:#fff;
}

.activity-item b{
  display:block;
  color:#fff;
}

.activity-item span{
  color:#9fb2c9;
  font-size:14px;
}

.activity-item time{
  color:#9fb2c9;
  font-size:13px;
  white-space:nowrap;
}

.calendar-modal{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.62);
  backdrop-filter:blur(10px);
}

.calendar-modal.open{
  display:flex;
}

.calendar-card{
  width:min(780px, calc(100% - 40px));
  max-height:88vh;
  overflow:auto;
  background:#0b1b2e;
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  box-shadow:0 30px 90px rgba(0,0,0,.55);
  color:#fff;
}

.calendar-head{
  padding:22px 24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.1);
}

.calendar-head b{
  display:block;
  font-size:22px;
}

.calendar-head span{
  color:#9fb2c9;
}

.calendar-head button{
  width:42px;
  height:42px;
  border-radius:50%;
  border:0;
  background:#132b45;
  color:#fff;
  font-size:28px;
  cursor:pointer;
}

.calendar-grid{
  padding:22px;
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:10px;
}

.calendar-day-name{
  color:#7f95ad;
  font-size:12px;
  font-weight:900;
  text-align:center;
  padding-bottom:4px;
}

.calendar-day{
  min-height:78px;
  border-radius:16px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.08);
  color:#dce8f7;
  padding:10px;
  cursor:pointer;
  text-align:left;
}

.calendar-day:hover{
  border-color:rgba(255,140,0,.5);
}

.calendar-day.selected{
  background:rgba(255,140,0,.16);
  border-color:#ff8c00;
}

.calendar-day.muted{
  opacity:.32;
}

.calendar-day strong{
  display:block;
  font-size:15px;
}

.calendar-dot{
  margin-top:8px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#ff8c00;
  box-shadow:0 0 12px #ff8c00;
}

.calendar-events{
  padding:0 24px 24px;
}

.calendar-events > b{
  display:block;
  margin-bottom:12px;
  font-size:18px;
}

.calendar-event-item{
  display:block;
  padding:14px 16px;
  border-radius:14px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  margin-bottom:10px;
  color:#fff;
  text-decoration:none;
}

.calendar-event-item span{
  display:block;
  color:#9fb2c9;
  margin-top:4px;
}

.calendar-event-item small{
  color:#ffb347;
  font-weight:900;
}

.calendar-open{
  background:transparent!important;
  border:0!important;
  color:#4db4ff!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.03em!important;
  padding:0!important;
  cursor:pointer!important;
  text-decoration:none!important;
  box-shadow:none!important;
  appearance:none!important;
}

.calendar-open:hover{
  color:#ffb347!important;
}

.stat-card [data-progress-hours],
.stat-card [data-progress-flights],
.stat-card [data-progress-today],
.stat-card [data-progress-rank],
.stat-card [data-progress-member]{
  display:block;
  margin-top:4px;
  color:#39ff88;
  font-size:13px;
  font-weight:800;
}

/* STATS GRID FIX */
.stats-grid{
  display:grid!important;
  grid-template-columns:repeat(5, minmax(0, 1fr))!important;
  gap:20px!important;
  margin:22px 0!important;
}

.stat-card{
  min-height:110px!important;
  display:flex!important;
  align-items:center!important;
  gap:22px!important;
  padding:22px!important;
}

.stat-card small{
  display:block!important;
  margin-top:5px!important;
  color:#39ff88!important;
  font-size:13px!important;
  font-weight:800!important;
}

@media(max-width:1300px){
  .stats-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  }
}

@media(max-width:700px){
  .stats-grid{
    grid-template-columns:1fr!important;
  }
}

.hours-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin:18px 0;
}

.hours-summary div{
  padding:16px;
  border-radius:14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
}

.hours-summary span{
  display:block;
  color:#9fb2c9;
  font-size:13px;
  margin-bottom:7px;
}

.hours-summary b{
  color:#fff;
  font-size:20px;
}

@media(max-width:800px){
  .hours-summary{
    grid-template-columns:1fr;
  }
}

.profile-page{
  width:100%;
  min-height:100vh;
  padding:42px;
  background:#07111f;
}

.back-link{
  display:inline-block;
  color:#ffb347;
  text-decoration:none;
  font-weight:900;
  margin-bottom:26px;
}

.profile-hero{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:28px;
  padding:34px;
  border-radius:20px;
  background:linear-gradient(160deg,rgba(18,43,68,.96),rgba(12,28,46,.96));
  border:1px solid rgba(255,255,255,.08);
}

.pilot-photo.large{
  width:132px;
  height:132px;
}

.profile-hero h1{
  font-size:42px;
  font-weight:1000;
  color:#fff;
}

.profile-hero p{
  color:#9fb2c9;
  font-size:18px;
  margin-top:8px;
}

.profile-edit-btn{
  min-width:170px;
  text-align:center;
}

.profile-stats{
  margin-top:24px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.mini-stat{
  text-align:center;
}

.mini-stat span{
  display:block;
  color:#9fb2c9;
  margin-bottom:8px;
}

.mini-stat b{
  color:#fff;
  font-size:30px;
}

.profile-grid{
  margin-top:24px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}

.profile-grid .wide{
  grid-column:1 / -1;
}

@media(max-width:1000px){
  .profile-hero{
    grid-template-columns:1fr;
    text-align:center;
  }

  .profile-stats,
  .profile-grid{
    grid-template-columns:1fr;
  }
}

.pro-profile{
  max-width:1600px;
  margin:0 auto;
}

.profile-topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:24px;
}

.pro-hero{
  position:relative;
  overflow:hidden;
}

.pro-hero:before{
  content:"";
  position:absolute;
  inset:-40%;
  background:radial-gradient(circle at 80% 20%, rgba(255,140,0,.18), transparent 35%);
  pointer-events:none;
}

.profile-identity{
  position:relative;
  z-index:1;
}

.eyebrow{
  color:#ffb347;
  text-transform:uppercase;
  font-size:12px;
  font-weight:1000;
  letter-spacing:.12em;
}

.profile-pills{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}

.profile-pills span{
  padding:9px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  color:#dce8f7;
  font-weight:800;
}

.profile-stat-grid{
  margin-top:24px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:20px;
}

.profile-grid.refined{
  align-items:stretch;
}

.role-chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:20px 0 28px;
}

.role-chip-list span{
  padding:10px 13px;
  border-radius:999px;
  background:rgba(77,180,255,.12);
  border:1px solid rgba(77,180,255,.28);
  color:#b9dcff;
  font-weight:900;
}

.info-list.compact{
  margin-top:10px;
}

@media(max-width:1100px){
  .profile-stat-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media(max-width:700px){
  .profile-stat-grid{
    grid-template-columns:1fr;
  }

  .profile-topbar{
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
  }
}

.dispatch-toolbar{
  margin:24px 0;
  display:grid;
  grid-template-columns:1fr 260px;
  gap:16px;
}

.dispatch-toolbar input,
.dispatch-toolbar select{
  width:100%;
  border:1px solid rgba(255,255,255,.12);
  background:#0b1b2e;
  color:#fff;
  border-radius:14px;
  padding:15px 16px;
  font-weight:800;
}

.dispatch-panel{
  margin-top:0;
}

.dispatch-table{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.dispatch-row{
  display:grid;
  grid-template-columns:1.5fr 1fr .8fr .8fr auto;
  gap:18px;
  align-items:center;
  padding:16px;
  border-radius:16px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.08);
}

.dispatch-row span,
.dispatch-row small{
  display:block;
  color:#9fb2c9;
  font-size:13px;
  margin-top:4px;
}

.dispatch-row b{
  color:#fff;
}

.dispatch-bid-btn{
  border:0;
  cursor:pointer;
  white-space:nowrap;
}

@media(max-width:1000px){
  .dispatch-toolbar,
  .dispatch-row{
    grid-template-columns:1fr;
  }
}

/* DISPATCH PAGE FIX */
.dispatch-hero{
  margin-top:20px;
}

.dispatch-toolbar{
  margin:20px 0 18px!important;
  display:grid!important;
  grid-template-columns:1fr 240px!important;
  gap:14px!important;
}

.dispatch-toolbar input,
.dispatch-toolbar select{
  height:48px!important;
  width:100%!important;
  background:#0b1b2e!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:14px!important;
  color:#fff!important;
  padding:0 16px!important;
  font-weight:800!important;
  outline:none!important;
}

.dispatch-toolbar input::placeholder{
  color:#7f95ad!important;
}

.dispatch-panel{
  padding:26px!important;
}

.dispatch-panel .panel-title{
  margin-bottom:18px!important;
}

.dispatch-panel .panel-title span{
  color:#9fb2c9!important;
  font-weight:900!important;
}

.dispatch-table{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
}

.dispatch-row{
  display:grid!important;
  grid-template-columns:1.6fr 1fr .8fr .8fr auto!important;
  align-items:center!important;
  gap:18px!important;
  padding:18px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.04)!important;
  border:1px solid rgba(255,255,255,.08)!important;
}

.dispatch-row:hover{
  border-color:rgba(255,140,0,.38)!important;
  background:rgba(255,255,255,.06)!important;
}

.dispatch-row b{
  color:#fff!important;
  font-size:15px!important;
}

.dispatch-row span,
.dispatch-row small{
  display:block!important;
  color:#9fb2c9!important;
  font-size:13px!important;
  margin-top:5px!important;
}

.dispatch-bid-btn{
  border:0!important;
  cursor:pointer!important;
  white-space:nowrap!important;
  padding:12px 18px!important;
  border-radius:10px!important;
}

@media(max-width:1000px){
  .dispatch-toolbar,
  .dispatch-row{
    grid-template-columns:1fr!important;
  }
}

.dispatch-status{
  min-height:24px;
  color:#ffb347;
  font-weight:900;
  margin-bottom:14px;
}

.dispatch-status.good{
  color:#39ff88;
}

.dispatch-bid-btn:disabled{
  opacity:.65;
  cursor:not-allowed!important;
}

.load-more-btn{
  width:100%;
  margin-top:10px;
  padding:16px;
  border-radius:14px;
  border:1px solid rgba(255,140,0,.35);
  background:rgba(255,140,0,.08);
  color:#ffb347;
  font-weight:1000;
  cursor:pointer;
}

.load-more-btn:hover{
  background:rgba(255,140,0,.16);
}

.dispatch-toolbar.enhanced{
  grid-template-columns:1.4fr 180px 180px 180px auto!important;
}

.filter-pill{
  height:48px;
  border-radius:14px;
  border:1px solid rgba(255,140,0,.35);
  background:rgba(255,140,0,.08);
  color:#ffb347;
  font-weight:1000;
  cursor:pointer;
  padding:0 18px;
  white-space:nowrap;
}

.filter-pill:hover{
  background:rgba(255,140,0,.16);
}

@media(max-width:1200px){
  .dispatch-toolbar.enhanced{
    grid-template-columns:1fr 1fr!important;
  }
}

@media(max-width:700px){
  .dispatch-toolbar.enhanced{
    grid-template-columns:1fr!important;
  }
}

.active-bid-banner{
  margin-bottom:16px;
  padding:16px 18px;
  border-radius:14px;
  background:rgba(57,255,136,.08);
  border:1px solid rgba(57,255,136,.24);
  color:#dfffea;
  font-weight:800;
}

.active-bid-banner b{
  color:#39ff88;
}

.active-bid-banner a{
  color:#ffb347;
  margin-left:12px;
  font-weight:1000;
  text-decoration:none;
}

.dispatch-row{
  grid-template-columns:1.5fr .9fr .7fr .7fr .7fr auto!important;
}

.active-bid-banner button{
  margin-left:12px;
  padding:8px 12px;
  border-radius:9px;
  border:1px solid rgba(255,77,77,.35);
  background:rgba(255,77,77,.1);
  color:#ff8c8c;
  font-weight:1000;
  cursor:pointer;
}

.active-bid-banner button:hover{
  background:rgba(255,77,77,.18);
}

.details-btn{
  padding:12px 16px;
  border-radius:10px;
  border:1px solid rgba(77,180,255,.35);
  background:rgba(77,180,255,.08);
  color:#8fd0ff;
  font-weight:1000;
  cursor:pointer;
}

.details-btn:hover{
  background:rgba(77,180,255,.16);
}

.flight-modal{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.68);
  backdrop-filter:blur(10px);
}

.flight-modal.open{
  display:flex;
}

.flight-modal-card{
  width:min(900px, calc(100% - 40px));
  max-height:88vh;
  overflow:auto;
  background:#0b1b2e;
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  box-shadow:0 30px 90px rgba(0,0,0,.55);
  color:#fff;
}

.flight-modal-head{
  padding:22px 24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.1);
}

.flight-modal-head b{
  display:block;
  font-size:24px;
}

.flight-modal-head span{
  color:#9fb2c9;
}

.flight-modal-head button{
  width:42px;
  height:42px;
  border-radius:50%;
  border:0;
  background:#132b45;
  color:#fff;
  font-size:28px;
  cursor:pointer;
}

.flight-modal-body{
  padding:24px;
}

.flight-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

.flight-detail-grid div,
.flight-detail-block{
  padding:16px;
  border-radius:14px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
}

.flight-detail-grid span,
.flight-detail-block span{
  display:block;
  color:#9fb2c9;
  font-size:13px;
  margin-bottom:8px;
}

.flight-detail-grid b{
  display:block;
  font-size:20px;
  color:#fff;
}

.flight-detail-grid small{
  color:#ffb347;
  font-weight:900;
}

.flight-detail-block{
  margin-top:14px;
}

.flight-detail-block p{
  color:#dce8f7;
  line-height:1.55;
  white-space:pre-wrap;
}

.flight-modal-actions{
  padding:0 24px 24px;
  display:flex;
  justify-content:flex-end;
}

@media(max-width:800px){
  .flight-detail-grid{
    grid-template-columns:1fr;
  }
}

.dispatch-row{
  grid-template-columns:1.4fr .9fr .7fr .7fr .7fr auto auto!important;
}

.flight-route-map{
  height:300px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  margin-bottom:18px;
  background:#081827;
}

.flight-route-map .leaflet-control-attribution{
  background:rgba(8,24,39,.8);
  color:#9fb2c9;
}

.flight-route-map .leaflet-control-attribution a{
  color:#4db4ff;
}

.ava-fix-marker{
  width:14px!important;
  height:14px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#4db4ff!important;
  color:#4db4ff!important;
  font-size:10px!important;
  box-shadow:0 0 12px rgba(77,180,255,.8)!important;
  border:2px solid rgba(255,255,255,.9)!important;
}

.dispatch-skeleton{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.dispatch-skeleton.hide{
  display:none;
}

.dispatch-skeleton div{
  height:82px;
  border-radius:16px;
  background:linear-gradient(90deg, rgba(255,255,255,.04), rgba(255,255,255,.09), rgba(255,255,255,.04));
  background-size:220% 100%;
  animation:skeletonPulse 1.15s infinite linear;
  border:1px solid rgba(255,255,255,.06);
}

.dispatch-table.is-loading{
  display:none!important;
}

@keyframes skeletonPulse{
  from{background-position:220% 0;}
  to{background-position:-220% 0;}
}

.dashboard-loader.hide{
  opacity:0!important;
  pointer-events:none!important;
  visibility:hidden!important;
  transition:opacity .35s ease, visibility .35s ease!important;
}

.chart-tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:14px;
}

.chart-tabs button{
  padding:10px 14px;
  border-radius:10px;
  border:1px solid rgba(77,180,255,.35);
  background:rgba(77,180,255,.08);
  color:#8fd0ff;
  font-weight:1000;
  cursor:pointer;
}

.chart-tabs button:hover{
  background:rgba(77,180,255,.16);
}

.chart-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  max-height:260px;
  overflow:auto;
}

.chart-item{
  display:block;
  padding:13px 14px;
  border-radius:12px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  color:#fff;
  text-decoration:none;
}

.chart-item:hover{
  border-color:rgba(255,140,0,.4);
}

.chart-item b{
  display:block;
  font-size:14px;
}

.chart-item span{
  display:block;
  color:#9fb2c9;
  font-size:12px;
  margin-top:4px;
}

@media(max-width:800px){
  .chart-list{
    grid-template-columns:1fr;
  }
}

.open-flight-window{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:14px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,140,0,.12);
  border:1px solid rgba(255,140,0,.28);
  color:#ffb347;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
  transition:.18s ease;
}

.open-flight-window:hover{
  background:rgba(255,140,0,.22);
  transform:translateY(-1px);
}

#fdNotes{
  white-space:pre-wrap;
}

.chart-modal{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(10px);
}

.chart-modal.open{
  display:flex;
}

.chart-modal-card{
  width:min(1100px, calc(100% - 36px));
  height:min(92vh, 980px);
  background:#0b1b2e;
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 30px 90px rgba(0,0,0,.58);
  display:flex;
  flex-direction:column;
}

.chart-modal-head{
  padding:16px 20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.1);
}

.chart-modal-head b{
  display:block;
  color:#fff;
  font-size:20px;
}

.chart-modal-head span{
  color:#9fb2c9;
  font-size:13px;
}

.chart-modal-head button{
  width:42px;
  height:42px;
  border-radius:50%;
  border:0;
  background:#132b45;
  color:#fff;
  font-size:28px;
  cursor:pointer;
}

#chartFrame{
  width:100%;
  flex:1;
  border:0;
  background:#111;
}

.chart-open-btn{
  text-align:left;
  cursor:pointer;
  width:100%;
}

/* Flight Dispatch Layout Cleanup */
.flight-dispatch-layout{
  gap:24px;
}

.flight-map-card{
  margin-top:18px;
}

.flight-dispatch-grid{
  margin-top:24px;
  gap:24px;
}

.dispatch-notes-card{
  margin-top:24px;
}

/* Better visual breathing room */
.flight-map-card,
.flight-details-card,
.flight-charts-card,
.dispatch-notes-card{
  padding:22px;
}

/* Route text wrapping */
#fdDetails li:last-child b{
  max-width:420px;
  text-align:right;
  line-height:1.45;
  word-break:break-word;
}

/* Notes readability */
#fdNotes{
  line-height:1.7;
  font-size:15px;
}

/* Chart cards smoother */
.chart-item{
  transition:
    transform .18s ease,
    border-color .18s ease,
    background .18s ease;
}

.chart-item:hover{
  transform:translateY(-2px);
}

/* Fix Open Full Page button inside flight modal */
.flight-modal-head .open-flight-window,
.open-flight-window{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:auto!important;
  margin-left:14px!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,140,0,.28)!important;
  background:rgba(255,140,0,.12)!important;
  color:#ffb347!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  text-decoration:none!important;
  cursor:pointer!important;
  white-space:nowrap!important;
  transform:none!important;
}

.flight-modal-head .open-flight-window:hover,
.open-flight-window:hover{
  background:rgba(255,140,0,.22)!important;
}

/* HARD FIX: Open Full Page button in modal header */
.flight-modal-head button.open-flight-window{
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px 12px!important;
  margin-left:14px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,140,0,.35)!important;
  background:rgba(255,140,0,.12)!important;
  color:#ffb347!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  box-shadow:none!important;
}

.flight-modal-head button.open-flight-window:hover{
  background:rgba(255,140,0,.22)!important;
}

.flight-detail-block p{
  white-space:pre-wrap;
}

.training-qual-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
  margin-top:18px;
}

.qual-card{
  background:#111827;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.qual-card b{
  font-size:18px;
}

.qual-card span{
  color:#4ade80;
  font-weight:700;
}

.qual-card.pending span{
  color:#facc15;
}

.training-timeline{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-top:18px;
}

.timeline-item{
  padding:14px;
  border-radius:12px;
  background:#111827;
  border-left:4px solid #374151;
}

.timeline-item.complete{
  border-left-color:#4ade80;
}

.timeline-item.active{
  border-left-color:#f97316;
}

.badge{
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
}

.badge.green{
  background:#14532d;
  color:#86efac;
}

.badge.yellow{
  background:#713f12;
  color:#fde68a;
}

.badge.blue{
  background:#1e3a8a;
  color:#93c5fd;
}

/* Training page spacing fix */
body .ops-main > .dash-grid + .panel {
  margin-top: 28px;
}

body .ops-main > .dash-grid {
  margin-bottom: 0;
}

.training-qual-grid {
  margin-bottom: 0;
}

.training-cert-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:18px;
  margin-top:20px;
}

.cert-card{
  background:#111827;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:22px;
  display:flex;
  flex-direction:column;
  gap:14px;
  transition:.2s ease;
}

.cert-card:hover{
  transform:translateY(-2px);
  border-color:rgba(249,160,27,.35);
}

.cert-card.active{
  border-left:4px solid #22c55e;
}

.cert-card.pending{
  border-left:4px solid #f59e0b;
}

.cert-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.cert-icon{
  font-size:28px;
}

.cert-status{
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  color:#9ca3af;
}

.cert-card h3{
  margin:0;
  font-size:20px;
  font-weight:700;
}

.cert-card p{
  margin:0;
  color:#94a3b8;
  line-height:1.5;
}

.cert-meta{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:auto;
  font-size:13px;
  color:#64748b;
}


/* Training table header should not hover/highlight */
.dispatch-row.header,
.dispatch-row.header:hover {
  background: rgba(255,255,255,.035) !important;
  border-color: rgba(255,255,255,.08) !important;
  transform: none !important;
  box-shadow: none !important;
  cursor: default !important;
}

.dispatch-row.header * {
  pointer-events: none;
}

.training-progress-wrap {
  margin-top: 28px;
}

.training-progress-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
  font-weight: 800;
}

.training-progress-head span {
  color: #22c55e;
}

.training-runway-progress {
  position: relative;
  height: 18px;
  border-radius: 999px;
  background: #0b1220;
  border: 1px solid rgba(255,255,255,.08);
  overflow: visible;
}

.training-runway-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #22c55e, #f97316);
}

.training-plane {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: #ff8c00;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 20px;
  box-shadow: 0 10px 28px rgba(249,115,22,.35);
}

.training-milestones {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 22px;
}

.training-milestones span {
  padding: 12px;
  border-radius: 12px;
  background: #111827;
  color: #94a3b8;
  text-align: center;
  font-weight: 800;
}

.training-milestones .done {
  color: #22c55e;
}

.training-milestones .active {
  color: #f97316;
}

/* Training Center layout cleanup */
.training-section-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  align-items: start;
  margin-top: 22px;
  margin-bottom: 22px;
}

.training-section-grid .panel {
  margin: 0;
  min-height: 0;
}

.training-section-grid .panel-title span,
#training-programs .panel-title span {
  color: #8aa4c5;
  font-size: 13px;
  font-weight: 700;
}

.training-cert-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.cert-card {
  min-height: 170px;
  background: rgba(7, 14, 28, .72);
  border: 1px solid rgba(120, 160, 210, .16);
  border-radius: 16px;
  padding: 18px;
  gap: 10px;
}

.cert-card h3 {
  font-size: 17px;
  line-height: 1.2;
}

.cert-card p {
  font-size: 13px;
  line-height: 1.45;
}

.cert-meta {
  font-size: 12px;
}

.cert-icon {
  font-size: 22px;
}

.cert-status {
  font-size: 11px;
}

/* VA progress card */
.training-progress-wrap {
  margin-top: 20px;
  padding: 10px 0 0;
}

.training-runway-progress {
  height: 16px;
  margin: 26px 8px 30px;
}

.training-plane {
  width: 36px;
  height: 36px;
  font-size: 18px;
  z-index: 2;
}

.training-milestones {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.training-milestones span {
  min-height: 52px;
  display: grid;
  place-items: center;
  font-size: 13px;
}

/* Available programs spacing */
#training-programs {
  margin-top: 22px;
}

#training-programs .dispatch-table {
  margin-top: 18px;
}

/* Prevent training header row from hover/highlight */
#training-programs .dispatch-row.header,
#training-programs .dispatch-row.header:hover {
  background: rgba(255,255,255,.035) !important;
  border-color: rgba(255,255,255,.08) !important;
  transform: none !important;
  box-shadow: none !important;
  cursor: default !important;
}

/* Mobile / smaller screen */
@media (max-width: 1200px) {
  .training-section-grid {
    grid-template-columns: 1fr;
  }
}


/* Training layout restore */
.training-top-grid {
  display: grid;
  grid-template-columns: minmax(420px, .9fr) minmax(420px, 1.1fr);
  gap: 20px;
  align-items: stretch;
  margin-top: 20px;
}

.training-top-grid .panel {
  margin: 0;
}

.training-top-grid .training-qual-grid {
  grid-template-columns: repeat(2, minmax(180px, 1fr));
}

.training-top-grid .qual-card {
  min-height: 92px;
  padding: 16px;
}

.training-top-grid .qual-card:nth-child(3) {
  max-width: 260px;
}

.training-timeline {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 18px;
}

.timeline-item {
  padding: 14px 16px;
  border-radius: 12px;
  background: #111827;
  border-left: 4px solid #374151;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.timeline-item.complete {
  border-left-color: #22c55e;
}

.timeline-item.active {
  border-left-color: #f97316;
}

.timeline-item small {
  color: #cbd5e1;
}

.training-progress-compact {
  margin-top: 24px;
}

.training-progress-compact .training-runway-progress {
  margin: 0 10px;
}

#vatsim-ratings {
  margin-top: 22px;
}

#vatsim-ratings .training-cert-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

@media (max-width: 1200px) {
  .training-top-grid {
    grid-template-columns: 1fr;
  }
}

/* RESTORE TRAINING PAGE ORIGINAL COMPACT LOOK */
.ops-main {
  max-width: 1400px;
}

.training-top-grid {
  display: grid !important;
  grid-template-columns: 460px 520px !important;
  gap: 18px !important;
  align-items: start !important;
  margin-top: 20px !important;
}

.training-top-grid .panel {
  width: 100% !important;
  min-height: 260px !important;
}

.training-top-grid .training-qual-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
}

.training-top-grid .qual-card {
  min-height: 92px !important;
  max-width: none !important;
  padding: 16px !important;
}

.training-top-grid .qual-card:nth-child(3) {
  grid-column: 1 / 2 !important;
}

.training-timeline {
  margin-top: 18px !important;
  gap: 12px !important;
}

.timeline-item {
  min-height: 44px !important;
  padding: 12px 16px !important;
}

.training-progress-compact {
  margin-top: 22px !important;
}

#vatsim-ratings {
  width: 100% !important;
  max-width: 998px !important;
  margin-top: 18px !important;
}

#vatsim-ratings .training-cert-grid {
  grid-template-columns: repeat(2, minmax(260px, 1fr)) !important;
}

#training-programs {
  max-width: 998px !important;
  margin-top: 18px !important;
}

@media (max-width: 1250px) {
  .training-top-grid {
    grid-template-columns: 1fr !important;
  }

  #vatsim-ratings,
  #training-programs {
    max-width: 100% !important;
  }
}


/* HARD RESET TRAINING PAGE BACK TO FIRST LAYOUT */
.ops-main {
  max-width: none !important;
}

.training-top-grid {
  display: grid !important;
  grid-template-columns: 520px 580px !important;
  gap: 20px !important;
  width: max-content !important;
  margin-top: 20px !important;
}

.training-top-grid .panel {
  width: auto !important;
  min-height: 290px !important;
}

.training-top-grid .training-qual-grid {
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 14px !important;
}

.training-top-grid .qual-card {
  min-height: 92px !important;
  padding: 16px !important;
}

.training-top-grid .qual-card:nth-child(3) {
  grid-column: 1 / 2 !important;
  width: auto !important;
}

#vatsim-ratings {
  max-width: 1120px !important;
  width: 1120px !important;
  margin-top: 20px !important;
}

#vatsim-ratings .training-cert-grid {
  grid-template-columns: repeat(3, 1fr) !important;
}

#training-programs {
  width: 1120px !important;
  max-width: 1120px !important;
  margin-top: 20px !important;
}

.training-progress-compact {
  display: none !important;
}

.timeline-item {
  height: 46px !important;
  padding: 0 16px !important;
}


.notification-item {
  display: block;
  padding: 12px;
  border-radius: 12px;
  color: #fff;
  text-decoration: none;
  background: rgba(15, 23, 42, .94);
  margin-bottom: 8px;
}

.notification-item:hover {
  background: rgba(30, 64, 175, .35);
}

.notification-item b {
  display: block;
  font-size: 13px;
  margin-bottom: 4px;
}

.notification-item span {
  display: block;
  font-size: 12px;
  color: #dbeafe;
}

.notification-item small {
  display: block;
  margin-top: 5px;
  font-size: 10px;
  color: #93a4bb;
}


.notification-clear {
  width: 100%;
  border: 0;
  border-radius: 10px;
  padding: 8px 10px;
  margin: 8px 0 10px;
  background: rgba(255,255,255,.08);
  color: #dbeafe;
  font-weight: 800;
  cursor: pointer;
}

.notification-clear:hover {
  background: rgba(249,115,22,.25);
  color: #fff;
}


.notification-item.unread {
  border-left: 3px solid #ff8c00;
}

.notification-item.read {
  opacity: .65;
}


.notification-clear {
  display: block !important;
  width: calc(100% - 24px) !important;
  margin: 10px 12px !important;
  padding: 9px 12px !important;
  border: 1px solid rgba(249,115,22,.45) !important;
  border-radius: 10px !important;
  background: rgba(249,115,22,.12) !important;
  color: #ffb86b !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  cursor: pointer !important;
}

.notification-clear:hover {
  background: rgba(249,115,22,.25) !important;
  color: #fff !important;
}


/* Force notification clear button style */
.notification-dropdown .notification-clear,
button.notification-clear,
[data-clear-notifications] {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: block !important;
  width: calc(100% - 28px) !important;
  margin: 12px 14px !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(249,115,22,.55) !important;
  border-radius: 12px !important;
  background: rgba(249,115,22,.16) !important;
  color: #ffb86b !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  cursor: pointer !important;
  font-family: inherit !important;
}

.notification-dropdown .notification-clear:hover,
button.notification-clear:hover,
[data-clear-notifications]:hover {
  background: rgba(249,115,22,.30) !important;
  color: #fff !important;
}

.notification-dropdown.no-notifications .notification-clear {
  display: none !important;
}


/* SUPPORT PAGE */

.support-form{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.form-group{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.form-group label{
  color:#9fb4d1;
  font-size:13px;
  font-weight:600;
}

.form-group input,
.form-group select,
.form-group textarea{
  background:#081a33;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  padding:14px;
  color:#fff;
  font-size:14px;
  outline:none;
}

.form-group textarea{
  resize:vertical;
  min-height:160px;
}

.form-actions{
  display:flex;
  justify-content:flex-end;
}

.ticket-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.ticket-card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.05);
  border-radius:14px;
  padding:16px;
}

.ticket-card span{
  display:block;
  margin-top:4px;
  color:#8aa0bf;
  font-size:13px;
}

.status-open{
  color:#4ade80;
  font-style:normal;
  font-weight:700;
}

.status-pending{
  color:#facc15;
  font-style:normal;
  font-weight:700;
}

.status-closed{
  color:#94a3b8;
  font-style:normal;
  font-weight:700;
}

.kb-links{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.kb-links a{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.05);
  padding:14px;
  border-radius:12px;
  text-decoration:none;
  color:#d7e5ff;
  transition:.2s;
}

.kb-links a:hover{
  border-color:#f9a01b;
  transform:translateY(-2px);
}

.contact-list{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.contact-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.06);
}

.contact-row b{
  color:#4ade80;
}

@media(max-width:900px){

  .form-grid{
    grid-template-columns:1fr;
  }

}

/* USER SUPPORT PAGE */
.support-user-grid{
  grid-template-columns:1.25fr 1fr;
}

.support-submit-panel,
.support-tickets-panel{
  min-height:420px;
}

.support-form{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.form-group{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.form-group label{
  color:#9fb4d1;
  font-size:13px;
  font-weight:800;
}

.form-group input,
.form-group select,
.form-group textarea{
  background:#081a33;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  padding:14px;
  color:#fff;
  font-size:14px;
  outline:none;
}

.form-group textarea{
  resize:vertical;
  min-height:160px;
}

.support-note{
  background:rgba(249,160,27,.09);
  border:1px solid rgba(249,160,27,.18);
  color:#ffbf63;
  padding:12px 14px;
  border-radius:12px;
  font-size:13px;
  font-weight:800;
}

.form-actions{
  display:flex;
  justify-content:flex-end;
}

.support-filter-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:18px;
}

.support-tab{
  background:#102844;
  border:1px solid rgba(80,160,255,.22);
  color:#b9d7ff;
  border-radius:10px;
  padding:10px 14px;
  font-weight:900;
  cursor:pointer;
}

.support-tab.active{
  background:#1d5fa8;
  color:#fff;
}

.ticket-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.kb-links{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.kb-links a{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.05);
  padding:14px;
  border-radius:12px;
  text-decoration:none;
  color:#d7e5ff;
  transition:.2s;
}

.kb-links a:hover{
  border-color:#f9a01b;
  transform:translateY(-2px);
}

.support-checklist{
  margin:0;
  padding-left:18px;
  color:#b9c7dc;
  line-height:1.8;
}

@media(max-width:1000px){
  .support-user-grid,
  .form-grid{
    grid-template-columns:1fr;
  }
}

.sidebar{
  display:flex;
  flex-direction:column;
  height:100vh;
  position:sticky;
  top:0;
}

.sidebar-nav{
  flex:1;
  overflow-y:auto;
  min-height:0;
}

.quick-links{
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(5,16,32,.55) 100%);
}

.quick-links h3{
  margin-bottom:14px;
}

.quick-links a{
  display:block;
  padding:8px 0;
}


.ops-sidebar{
  display:flex !important;
  flex-direction:column !important;
  height:100vh !important;
  position:sticky !important;
  top:0 !important;
}

.ops-nav{
  flex:0 0 auto !important;
}

.ops-sidebar .quick-links{
  display:block !important;
  margin-top:auto !important;
  padding-top:18px !important;
  border-top:1px solid rgba(255,255,255,.10) !important;
}

.ops-sidebar .quick-links h4{
  margin:0 0 10px !important;
  color:#fff !important;
}

.ops-sidebar .quick-links a{
  display:block !important;
  padding:7px 0 !important;
  color:#cfe2ff !important;
  text-decoration:none !important;
}

/* Sidebar quick links fix */
.ops-sidebar{
  width:280px !important;
  min-width:280px !important;
  max-width:280px !important;
  position:fixed !important;
  left:0 !important;
  top:0 !important;
  bottom:0 !important;
  height:100vh !important;
  overflow-y:auto !important;
}

.ops-main{
  margin-left:280px !important;
  width:calc(100% - 280px) !important;
}

.ops-sidebar .quick-links{
  display:block !important;
  margin:26px 22px 22px !important;
  padding-top:18px !important;
  border-top:1px solid rgba(255,255,255,.10) !important;
}

.ops-sidebar .quick-links h4{
  margin:0 0 10px !important;
  color:#fff !important;
  font-size:14px !important;
}

.ops-sidebar .quick-links a{
  display:block !important;
  padding:7px 0 !important;
  color:#cfe2ff !important;
  text-decoration:none !important;
  font-size:14px !important;
}

@media(max-width:900px){
  .ops-sidebar{
    position:relative !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    height:auto !important;
  }

  .ops-main{
    margin-left:0 !important;
    width:100% !important;
  }
}

.ops-sidebar{
  z-index:5000 !important;
  pointer-events:auto !important;
}

.ops-sidebar a,
.ops-sidebar button{
  pointer-events:auto !important;
}

.ops-main{
  position:relative !important;
  z-index:1 !important;
}

.support-status{
  margin-top:12px;
  font-size:14px;
  font-weight:800;
}

.support-status.good{
  color:#38ff8b;
}

.support-status.bad{
  color:#ff5c5c;
}

.support-ticket-card{
  padding:16px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(255,255,255,.035);
  margin-bottom:12px;
}

.support-ticket-top{
  display:flex;
  justify-content:space-between;
  gap:14px;
}

.support-ticket-id{
  color:#ff9f1c;
  font-weight:900;
  font-size:13px;
}

.support-ticket-subject{
  color:#fff;
  font-weight:900;
  font-size:16px;
  margin-top:4px;
}

.support-ticket-meta,
.support-ticket-message{
  color:#a9bdd8;
  margin-top:8px;
}

.support-ticket-status{
  padding:6px 10px;
  border-radius:999px;
  background:rgba(33,150,243,.25);
  color:#7cc7ff;
  font-weight:900;
  font-size:12px;
}

.ticket-modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9000;
  background:rgba(0,0,0,.72);
  padding:30px;
}

.ticket-modal.open{
  display:flex;
}

.ticket-modal-card{
  width:min(1050px, 96vw);
  max-height:90vh;
  overflow:auto;
  background:#102841;
  border:1px solid rgba(255,255,255,.13);
  border-radius:22px;
  padding:26px;
  color:#fff;
  position:relative;
}

.ticket-modal-close{
  position:absolute;
  top:18px;
  right:18px;
  width:38px;
  height:38px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:#061426;
  color:#fff;
  font-size:24px;
  cursor:pointer;
}

.ticket-modal-header{
  display:flex;
  justify-content:space-between;
  gap:20px;
  border-bottom:1px solid rgba(255,255,255,.1);
  padding-bottom:18px;
  margin-bottom:18px;
}

.support-input,
.support-textarea{
  width:100%;
  background:#07182b;
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  color:#fff;
  padding:12px;
  margin:8px 0 14px;
}

.support-textarea{
  min-height:110px;
}

.ticket-modal-actions{
  display:flex;
  gap:12px;
  margin:10px 0 20px;
}

.blue-btn,
.danger-btn{
  border:0;
  border-radius:10px;
  padding:12px 18px;
  color:#fff;
  font-weight:900;
  cursor:pointer;
}

.blue-btn{background:#1f5f9f;}
.danger-btn{background:#e3262e;}

.ticket-reply,
.ticket-attachment{
  display:block;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  padding:12px;
  margin:8px 0;
}

.ticket-reply span{
  color:#9fb4d1;
  margin-left:10px;
  font-size:12px;
}

.ticket-attachment{
  color:#8fd0ff;
  text-decoration:none;
}

.support-ticket-card{
  width:100%;
  text-align:left;
  cursor:pointer;
}

.admin-support-main{
  padding:32px;
}

.admin-support-topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.08);
  padding-bottom:22px;
  margin-bottom:22px;
}

.admin-support-actions{
  display:flex;
  gap:10px;
}

.support-admin-stats{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
  margin-bottom:22px;
}

.support-admin-stat{
  background:linear-gradient(145deg, rgba(20,55,88,.96), rgba(8,24,42,.96));
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px;
  padding:22px;
  box-shadow:0 16px 40px rgba(0,0,0,.18);
}

.support-admin-stat span{
  color:#b8c9e4;
  font-size:14px;
}

.support-admin-stat strong{
  display:block;
  font-size:34px;
  color:#fff;
  margin:8px 0 4px;
}

.support-admin-stat small{
  color:#39ff8b;
  font-weight:800;
}

.support-admin-panel{
  background:linear-gradient(145deg, rgba(19,51,82,.98), rgba(8,24,42,.98));
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;
  padding:24px;
  box-shadow:0 18px 50px rgba(0,0,0,.2);
}

.support-admin-panel-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  margin-bottom:18px;
}

.support-admin-panel-head h2{
  margin:0 0 6px;
  font-size:24px;
}

.support-admin-panel-head p{
  margin:0;
  color:#9fb4d1;
}

.admin-ticket-list{
  display:grid;
  gap:14px;
}

.admin-ticket-card{
  display:grid;
  grid-template-columns:1fr 190px;
  gap:22px;
  padding:20px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
}

.admin-ticket-id{
  color:#ff9f1c;
  font-size:13px;
  font-weight:900;
  letter-spacing:.04em;
}

.admin-ticket-card h3{
  color:#fff;
  font-size:22px;
  margin:5px 0 10px;
}

.admin-ticket-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  color:#9fb4d1;
  font-size:13px;
  margin-bottom:12px;
}

.admin-ticket-meta span{
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.06);
  padding:6px 9px;
  border-radius:999px;
}

.admin-ticket-card p{
  color:#d9e7ff;
  margin:0 0 12px;
}

.admin-ticket-review{
  color:#7cc7ff;
  font-size:13px;
  font-weight:800;
}

.admin-ticket-right{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:stretch;
}

.admin-ticket-right .blue-btn,
.admin-ticket-right .danger-btn{
  width:100%;
}

@media(max-width:1100px){
  .support-admin-stats{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .admin-ticket-card{
    grid-template-columns:1fr;
  }
}

.admin-ticket-filters{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.admin-ticket-filters .ticket-filter{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(74,144,226,.28);
  color:#dce9ff;
  padding:10px 16px;
  border-radius:12px;
  cursor:pointer;
  font-weight:800;
  transition:.2s ease;
}

.admin-ticket-filters .ticket-filter:hover{
  background:rgba(74,144,226,.18);
}

.admin-ticket-filters .ticket-filter.active{
  background:#2f6db5;
  border-color:#4d97ea;
  color:#fff;
  box-shadow:0 0 18px rgba(77,151,234,.28);
}


.support-admin-split{
  display:grid;
  grid-template-columns:430px 1fr;
  gap:20px;
  align-items:start;
}

.support-admin-queue,
.support-admin-detail{
  background:linear-gradient(145deg, rgba(19,51,82,.98), rgba(8,24,42,.98));
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;
  padding:22px;
  box-shadow:0 18px 50px rgba(0,0,0,.2);
  min-height:620px;
}

.support-admin-queue-head{
  margin-bottom:14px;
}

.support-admin-queue-head h2{
  margin:0 0 6px;
}

.support-admin-queue-head p{
  margin:0;
  color:#9fb4d1;
}

.admin-ticket-list.compact{
  display:grid;
  gap:12px;
  margin-top:16px;
  max-height:720px;
  overflow:auto;
  padding-right:4px;
}

.admin-ticket-queue-item{
  width:100%;
  text-align:left;
  padding:15px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
  color:#fff;
  cursor:pointer;
  transition:.16s ease;
}

.admin-ticket-queue-item:hover,
.admin-ticket-queue-item.active{
  background:rgba(47,109,181,.28);
  border-color:rgba(77,151,234,.55);
}

.admin-ticket-queue-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  margin-bottom:8px;
}

.admin-ticket-queue-top span{
  color:#ff9f1c;
  font-weight:900;
  font-size:12px;
}

.admin-ticket-queue-top .support-ticket-status{
  font-size:10px;
  padding:5px 8px;
}

.admin-ticket-queue-item strong{
  display:block;
  font-size:17px;
  margin-bottom:5px;
}

.admin-ticket-queue-item small{
  color:#9fb4d1;
}

.admin-ticket-queue-item p{
  color:#c8d8ef;
  margin:9px 0 0;
  font-size:13px;
  line-height:1.4;
  max-height:38px;
  overflow:hidden;
}

.admin-ticket-detail-empty{
  height:560px;
  display:grid;
  place-content:center;
  text-align:center;
  color:#9fb4d1;
}

.admin-ticket-detail-empty h2{
  color:#fff;
}

.admin-detail-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  border-bottom:1px solid rgba(255,255,255,.08);
  padding-bottom:18px;
  margin-bottom:18px;
}

.admin-detail-head h2{
  margin:5px 0;
  font-size:30px;
}

.admin-detail-head p{
  color:#9fb4d1;
  margin:4px 0;
}

.admin-detail-grid{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:16px;
}

.admin-detail-actions{
  display:flex;
  gap:12px;
  margin:12px 0 22px;
}

.admin-detail-section{
  margin-top:22px;
}

.admin-detail-section h3{
  margin-bottom:10px;
}

@media(max-width:1250px){
  .support-admin-split{
    grid-template-columns:1fr;
  }

  .support-admin-queue,
  .support-admin-detail{
    min-height:auto;
  }
}

/* FINAL Support Admin split/detail layout */
.support-admin-split{
  display:grid !important;
  grid-template-columns:390px minmax(0, 1fr) !important;
  gap:18px !important;
  align-items:stretch !important;
}

.support-admin-queue{
  display:flex !important;
  flex-direction:column !important;
  height:620px !important;
  min-height:620px !important;
  overflow:hidden !important;
}

.support-admin-queue-head,
.support-admin-queue .ticket-filter-row{
  flex:0 0 auto !important;
}

.admin-ticket-list.compact{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  margin-top:14px !important;
  padding-right:8px !important;
}

.admin-ticket-list.compact::-webkit-scrollbar{
  width:8px;
}

.admin-ticket-list.compact::-webkit-scrollbar-track{
  background:rgba(255,255,255,.04);
  border-radius:999px;
}

.admin-ticket-list.compact::-webkit-scrollbar-thumb{
  background:rgba(77,151,234,.45);
  border-radius:999px;
}

.support-admin-detail{
  min-height:620px !important;
  height:620px !important;
  overflow:hidden !important;
  padding:0 !important;
  display:block !important;
}

.support-admin-detail #adminTicketDetail{
  height:100% !important;
  overflow-y:auto !important;
  padding:0 !important;
  box-sizing:border-box !important;
}

.support-admin-detail #adminTicketDetail::-webkit-scrollbar{
  width:8px;
}

.support-admin-detail #adminTicketDetail::-webkit-scrollbar-track{
  background:rgba(255,255,255,.04);
  border-radius:999px;
}

.support-admin-detail #adminTicketDetail::-webkit-scrollbar-thumb{
  background:rgba(77,151,234,.45);
  border-radius:999px;
}

.admin-detail-shell{
  padding:24px !important;
}

.admin-detail-banner{
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  gap:20px !important;
  padding:22px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.035) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  margin-bottom:18px !important;
}

.admin-detail-banner h2{
  margin:5px 0 8px !important;
  font-size:30px !important;
  color:#fff !important;
}

.admin-detail-banner p{
  margin:4px 0 !important;
  color:#a9bdd8 !important;
}

.admin-detail-form{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) 220px !important;
  gap:16px !important;
  margin-bottom:16px !important;
}

.admin-detail-message{
  margin-bottom:16px !important;
}

.admin-detail-form label,
.admin-detail-message label,
.admin-detail-reply label{
  display:block !important;
  color:#b8c9e4 !important;
  font-size:13px !important;
  font-weight:900 !important;
  margin-bottom:7px !important;
}

.admin-detail-shell .support-input,
.admin-detail-shell .support-textarea{
  width:100% !important;
  box-sizing:border-box !important;
  background:#07182b !important;
  border:1px solid rgba(255,255,255,.1) !important;
  border-radius:12px !important;
  color:#fff !important;
  padding:12px !important;
  margin:0 !important;
}

.admin-detail-shell .support-textarea{
  min-height:120px !important;
}

.admin-detail-actions{
  display:flex !important;
  gap:12px !important;
  justify-content:flex-start !important;
  margin:0 0 22px !important;
}

.admin-detail-section{
  margin-top:20px !important;
  padding-top:18px !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
}

.admin-detail-section h3{
  margin:0 0 12px !important;
  font-size:20px !important;
  color:#fff !important;
  text-align:left !important;
}

.admin-detail-reply{
  margin-top:14px !important;
}

.admin-detail-reply .orange-btn{
  margin-top:12px !important;
}

.admin-detail-section .support-empty{
  min-height:90px !important;
  display:grid !important;
  place-content:center !important;
  text-align:center !important;
}

@media(max-width:1250px){
  .support-admin-split{
    grid-template-columns:1fr !important;
  }

  .support-admin-queue,
  .support-admin-detail{
    height:auto !important;
    min-height:420px !important;
  }

  .admin-detail-form{
    grid-template-columns:1fr !important;
  }
}

/* Support Admin split panel correction */
.support-admin-split{
  grid-template-columns:390px minmax(0, 1fr) !important;
  height:660px;
}

.support-admin-queue{
  display:flex;
  flex-direction:column;
  min-height:0 !important;
  height:660px;
}

.support-admin-queue-head,
.admin-ticket-filters{
  flex:0 0 auto;
}

.admin-ticket-list.compact{
  flex:1 1 auto;
  min-height:0;
  max-height:none !important;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:8px;
  margin-top:14px;
}

.admin-ticket-list.compact::-webkit-scrollbar{
  width:8px;
}

.admin-ticket-list.compact::-webkit-scrollbar-thumb{
  background:rgba(77,151,234,.45);
  border-radius:999px;
}

.admin-ticket-list.compact::-webkit-scrollbar-track{
  background:rgba(255,255,255,.04);
  border-radius:999px;
}

.support-admin-detail{
  height:660px;
  min-height:0 !important;
  overflow:hidden !important;
  padding:0 !important;
}

.support-admin-detail #adminTicketDetail{
  height:100%;
  min-height:0 !important;
  overflow-y:auto;
  padding:0 !important;
}

.admin-ticket-detail-empty{
  height:100% !important;
  min-height:0 !important;
}

.admin-detail-shell{
  display:grid;
  grid-template-rows:auto 1fr;
  height:100%;
}

.admin-detail-header-card{
  padding:24px 28px;
  border-bottom:1px solid rgba(255,255,255,.09);
  background:linear-gradient(135deg, rgba(28,74,116,.65), rgba(8,24,42,.35));
}

.admin-detail-header-row{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
}

.admin-detail-title h2{
  margin:6px 0 8px;
  font-size:30px;
  color:#fff;
}

.admin-detail-title p{
  margin:3px 0;
  color:#a9bdd8;
}

.admin-detail-status-block{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:flex-end;
}

.admin-detail-body-card{
  padding:24px 28px 32px;
  display:grid;
  gap:22px;
}

.admin-detail-section-card{
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:20px;
}

.admin-detail-section-card h3{
  margin:0 0 14px;
  color:#fff;
  font-size:18px;
}

.admin-detail-grid{
  display:grid !important;
  grid-template-columns:2fr 240px !important;
  gap:18px !important;
  width:100%;
}

.admin-detail-grid label,
.admin-detail-section-card label{
  display:block;
  color:#b8c9e4;
  font-weight:800;
  font-size:13px;
}

.admin-detail-actions{
  display:flex !important;
  justify-content:flex-start !important;
  gap:12px !important;
  margin:18px 0 0 !important;
}

.admin-detail-actions .blue-btn,
.admin-detail-actions .danger-btn{
  width:auto !important;
}

.admin-detail-reply-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:end;
}

.admin-detail-reply-row textarea{
  min-height:110px;
}

.admin-detail-reply-row .orange-btn{
  height:48px;
  white-space:nowrap;
}

.admin-replies,
.admin-attachments{
  display:grid;
  gap:10px;
}

.support-admin-detail .support-empty{
  display:grid;
  place-items:center;
  min-height:120px !important;
  color:#a9bdd8;
  border:1px dashed rgba(255,255,255,.12);
  border-radius:14px;
  background:rgba(255,255,255,.025);
}

@media(max-width:1250px){
  .support-admin-split{
    grid-template-columns:1fr !important;
    height:auto;
  }

  .support-admin-queue,
  .support-admin-detail{
    height:auto;
  }

  .admin-ticket-list.compact{
    max-height:420px !important;
  }

  .admin-detail-grid,
  .admin-detail-reply-row{
    grid-template-columns:1fr !important;
  }
}




/* SUPPORT ADMIN FINAL LAYOUT */
.support-admin-split{
  display:grid !important;
  grid-template-columns:390px minmax(0, 1fr) !important;
  gap:20px !important;
  height:680px !important;
}

.support-admin-queue{
  height:680px !important;
  min-height:0 !important;
  display:grid !important;
  grid-template-rows:auto auto minmax(0, 1fr) !important;
  padding:22px !important;
}

.admin-ticket-list.compact{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  padding-right:8px !important;
  margin-top:14px !important;
}

.admin-ticket-queue-item{
  height:auto !important;
  min-height:96px !important;
  max-height:120px !important;
  padding:13px 14px !important;
  flex:0 0 auto !important;
}

.support-admin-detail{
  height:680px !important;
  min-height:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

.support-admin-detail #adminTicketDetail{
  height:100% !important;
  min-height:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

.admin-detail-shell{
  height:100% !important;
  min-height:0 !important;
  display:grid !important;
  grid-template-rows:auto minmax(0, 1fr) !important;
}

.admin-detail-header-card{
  padding:18px 24px !important;
  width:100% !important;
  box-sizing:border-box !important;
  text-align:left !important;
}

.admin-detail-header-row{
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  width:100% !important;
  gap:20px !important;
}

.admin-detail-body-card{
  height:100% !important;
  min-height:0 !important;
  width:100% !important;
  box-sizing:border-box !important;
  padding:20px 24px !important;
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-areas:
    "details replies"
    "attachments staffreply" !important;
  gap:18px !important;
  overflow:hidden !important;
  align-items:stretch !important;
}

.admin-detail-section-card{
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
  padding:18px !important;
  border-radius:18px !important;
}

.admin-detail-main-column,
.admin-detail-side-column{
  display:contents !important;
}

.admin-detail-main-column .admin-detail-section-card:nth-child(1){
  grid-area:details !important;
}

.admin-detail-main-column .admin-detail-section-card:nth-child(2){
  grid-area:attachments !important;
}

.admin-detail-side-column .admin-detail-section-card:nth-child(1){
  grid-area:replies !important;
}

.admin-detail-side-column .admin-detail-section-card:nth-child(2){
  grid-area:staffreply !important;
}

.admin-detail-grid{
  display:grid !important;
  grid-template-columns:1fr 210px !important;
  gap:14px !important;
}

.admin-replies,
.admin-attachments{
  max-height:190px !important;
  overflow-y:auto !important;
}

.admin-detail-reply-row{
  display:grid !important;
  grid-template-columns:1fr auto !important;
  gap:12px !important;
  align-items:end !important;
}

.admin-detail-reply-row textarea{
  min-height:100px !important;
}

.admin-detail-reply-row .orange-btn{
  height:48px !important;
  white-space:nowrap !important;
}

@media(max-width:1100px){
  .support-admin-split{
    grid-template-columns:1fr !important;
    height:auto !important;
  }

  .support-admin-queue,
  .support-admin-detail{
    height:auto !important;
  }

  .admin-detail-body-card{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "details"
      "replies"
      "staffreply"
      "attachments" !important;
    overflow:visible !important;
  }

  .admin-detail-reply-row{
    grid-template-columns:1fr !important;
  }
}

/* Support Admin true horizontal selected-ticket layout */
.support-admin-detail{
  padding:0 !important;
  overflow:hidden !important;
}

.support-admin-detail #adminTicketDetail{
  height:100% !important;
  padding:0 !important;
  overflow:hidden !important;
}

.admin-horizontal-ticket{
  height:100%;
  display:grid;
  grid-template-rows:auto 1fr;
}

.admin-horizontal-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  padding:20px 24px;
  border-bottom:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.025);
}

.admin-horizontal-head h2{
  margin:5px 0;
  font-size:28px;
  color:#fff;
}

.admin-horizontal-head p{
  margin:3px 0;
  color:#a9bdd8;
}

.admin-horizontal-body{
  display:grid !important;
  grid-template-columns:1fr 1fr 1fr !important;
  gap:18px;
  padding:20px 24px;
  min-height:0;
  overflow:hidden;
}

.admin-horizontal-card{
  min-width:0;
  min-height:0;
  height:100%;
  overflow:auto;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:18px;
  box-sizing:border-box;
}

.admin-horizontal-card h3{
  margin:0 0 14px;
  color:#fff;
  font-size:19px;
}

.admin-horizontal-card label{
  display:block;
  color:#b8c9e4;
  font-weight:800;
  font-size:13px;
  margin-top:12px;
}

.admin-horizontal-card .support-input,
.admin-horizontal-card .support-textarea{
  width:100%;
  box-sizing:border-box;
}

.admin-horizontal-card #adminEditMessage{
  min-height:150px;
}

.admin-horizontal-card #adminReplyMessage{
  min-height:180px;
}

.admin-attachment-title{
  margin-top:24px !important;
}

.support-admin-queue{
  overflow:hidden !important;
}

.admin-ticket-list.compact{
  overflow-y:auto !important;
  max-height:none !important;
}

@media(max-width:1350px){
  .admin-horizontal-body{
    grid-template-columns:1fr !important;
    overflow:auto;
  }
}

/* Allegiant VA Admin Ticket Workspace - final override */
.support-admin-detail #adminTicketDetail{
  height:100% !important;
  padding:0 !important;
  overflow:hidden !important;
}

.avadmin-ticket-workspace{
  height:100%;
  display:grid;
  grid-template-rows:auto 1fr;
}

.avadmin-ticket-banner{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
  padding:24px 28px;
  border-bottom:1px solid rgba(255,255,255,.1);
  background:linear-gradient(135deg, rgba(24,67,105,.82), rgba(8,24,42,.45));
}

.avadmin-ticket-banner h2{
  margin:5px 0;
  font-size:32px;
  color:#fff;
}

.avadmin-ticket-banner p{
  margin:3px 0;
  color:#a9bdd8;
}

.avadmin-ticket-horizontal{
  display:grid !important;
  grid-template-columns:1.2fr 1fr 1fr !important;
  gap:20px !important;
  padding:22px 28px;
  height:100%;
  min-height:0;
  overflow:hidden;
}

.avadmin-work-card{
  min-width:0;
  min-height:0;
  height:100%;
  overflow:auto;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px;
  padding:20px;
  box-sizing:border-box;
}

.avadmin-work-card h3{
  margin:0 0 16px;
  color:#fff;
  font-size:21px;
  text-align:left;
}

.avadmin-work-card label{
  display:block;
  color:#b8c9e4;
  font-weight:800;
  font-size:13px;
  margin-bottom:12px;
}

.avadmin-field-row{
  display:grid;
  grid-template-columns:1fr 190px;
  gap:14px;
}

.avadmin-work-card .support-input,
.avadmin-work-card .support-textarea{
  width:100%;
  box-sizing:border-box;
}

.avadmin-details-card #adminEditMessage{
  min-height:190px;
}

.avadmin-action-card #adminReplyMessage{
  min-height:190px;
}

.avadmin-action-card .orange-btn{
  margin-top:12px;
}

.admin-replies,
.admin-attachments{
  max-height:none !important;
  overflow:auto;
}

.admin-attachment-title{
  margin-top:26px !important;
}

@media(max-width:1350px){
  .avadmin-ticket-horizontal{
    grid-template-columns:1fr !important;
    overflow:auto;
  }
}

.support-bell-badge{
  position:absolute;
  top:-6px;
  right:-6px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:#ff3b30;
  color:#fff;
  font-size:11px;
  font-weight:900;
  align-items:center;
  justify-content:center;
  border:2px solid #07182b;
}

.has-support-alert{
  position:relative;
}

.has-support-alert{
  position:relative;
}

.support-bell-badge{
  position:absolute;
  top:-6px;
  right:-6px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:#ff3b30;
  color:#fff;
  font-size:11px;
  font-weight:900;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:2px solid #07182b;
  z-index:100;
}

/* Edit Profile / API Key */
.ava-api-key-row{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:16px;
}

.ava-api-key-row input{
  flex:1;
  min-width:280px;
  background:#081321;
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 16px;
  color:#fff;
  font-size:14px;
}

.ava-api-actions{
  margin-top:16px;
}

.ava-qr-wrap{
  margin-top:22px;
  display:flex;
  justify-content:center;
}

#avaQrBox{
  background:#fff;
  padding:16px;
  border-radius:18px;
  min-width:252px;
  min-height:252px;
  display:grid;
  place-items:center;
}

.profile-page.ops-main{
  padding-top:28px;
}


.ava-edit-form h3{
  margin-top:24px;
  margin-bottom:12px;
}

.ava-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 20px;
}

.ava-form-grid label{
  display:flex;
  flex-direction:column;
  gap:8px;
  color:#dbeafe;
  font-size:14px;
}

.ava-form-grid input,
#avatarFile{
  width:100%;
  background:#081321;
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  padding:13px 14px;
  color:#fff;
}

.ava-check{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:18px;
  color:#dbeafe;
}

.ava-full-btn{
  width:100%;
  margin-top:22px;
}

.ava-divider{
  border:0;
  border-top:1px solid rgba(255,255,255,.12);
  margin:28px 0;
}

.ghost-btn{
  background:transparent;
  color:#dbeafe;
  border:1px solid rgba(255,255,255,.2);
  border-radius:12px;
  padding:11px 16px;
  cursor:pointer;
}

@media(max-width:800px){
  .ava-form-grid{
    grid-template-columns:1fr;
  }
}


/* Events page */
.events-shell{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(330px,.7fr);
  gap:22px;
  align-items:start;
}

.events-cal-nav{
  display:flex;
  align-items:center;
  gap:12px;
}

.events-cal-nav button{
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  background:rgba(255,255,255,.05);
  color:#fff;
  font-size:22px;
  cursor:pointer;
}

.events-weekdays,
.events-days{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:8px;
}

.events-weekdays{
  margin-bottom:8px;
}

.events-weekdays b{
  color:#8fa8c3;
  font-size:12px;
  text-transform:uppercase;
  text-align:center;
}

.events-day{
  min-height:112px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(255,255,255,.035);
  color:#fff;
  text-align:left;
  padding:10px;
  display:flex;
  flex-direction:column;
  gap:5px;
}

.events-day span{
  font-weight:900;
  color:#fff;
}

.events-day em{
  display:block;
  font-style:normal;
  font-size:11px;
  color:#ff9d2e;
  background:rgba(255,157,46,.12);
  border:1px solid rgba(255,157,46,.22);
  border-radius:999px;
  padding:3px 7px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.events-day small{
  color:#9fb3c9;
}

.events-day.muted{
  opacity:.42;
}

.events-day.today{
  border-color:rgba(255,157,46,.75);
  box-shadow:0 0 0 1px rgba(255,157,46,.25);
}

.event-list-row small{
  display:block;
  margin-top:4px;
}

@media(max-width:1100px){
  .events-shell{
    grid-template-columns:1fr;
  }
}

/* Hub Manager page restrictions */
body[data-page="hub-manager"] #pilotStatusFilter,
body[data-page="hub-manager"] #pilotRoleFilter,
body[data-page="hub-manager"] [data-action="export"],
body[data-page="hub-manager"] [data-action="add-pilot"],
body[data-page="hub-manager"] .pm-toolbar button[data-action="export"],
body[data-page="hub-manager"] .pm-toolbar button[data-action="add-pilot"]{
  display:none !important;
}

body[data-page="hub-manager"] .pm-layout.detail-closed{
  grid-template-columns:1fr !important;
}

body[data-page="hub-manager"] .pm-layout.detail-closed .pm-detail{
  display:none !important;
}

/* Instructor Center V2 */
.ic-shell{
  display:grid;
  grid-template-columns: 420px 1fr;
  gap:18px;
  margin-top:18px;
}

.ic-queue,
.ic-file{
  min-height:520px;
}

.ic-queue .panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.ic-queue input{
  width:100%;
  max-width:220px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:#fff;
}

.ic-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:14px;
}

.ic-student-row{
  width:100%;
  text-align:left;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
  color:#fff;
  border-radius:14px;
  padding:14px;
  cursor:pointer;
}

.ic-student-row b{
  display:block;
  font-size:15px;
}

.ic-student-row small{
  display:block;
  color:#9eb4cc;
  margin-top:4px;
}

.ic-student-row span{
  display:inline-flex;
  margin-top:8px;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(255,140,0,.15);
  color:#ff9d2e;
  font-weight:800;
  font-size:11px;
}

.ic-empty-file{
  padding:26px;
}

.ic-file-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  border-bottom:1px solid rgba(255,255,255,.08);
  padding-bottom:18px;
  margin-bottom:18px;
}

.ic-tabs{
  margin-bottom:18px;
}

.ic-tab-content .ops-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.report-item{
  padding:12px;
  border-radius:12px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.07);
  margin-top:10px;
}

@media(max-width:1100px){
  .ic-shell{
    grid-template-columns:1fr;
  }
}

/* Instructor Center tab polish */
.instructor-center .ic-tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:18px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
  padding-bottom:10px;
}

.instructor-center .ic-tabs button{
  border:0;
  background:rgba(255,255,255,.04);
  color:#b8c8da;
  padding:10px 14px;
  border-radius:12px;
  font-weight:800;
  cursor:pointer;
}

.instructor-center .ic-tabs button.active{
  background:linear-gradient(135deg,#ff8a00,#ffb347);
  color:#08111e;
}

.instructor-center .ic-tab-content{
  margin-top:12px;
}

.instructor-center .ic-file{
  padding:22px;
}

.instructor-center .ic-file-head{
  margin-bottom:10px;
}

.instructor-center .ic-list .ic-student-row.active{
  border-color:rgba(255,138,0,.7);
  box-shadow:0 0 0 1px rgba(255,138,0,.25);
}
