/* ZAF-AOMCMS — military-style admin theme (Bootstrap 5 layer) */
:root{
  --zaf-accent:#caa64a;          /* air-force gold */
  --zaf-accent-2:#1b6ec2;
  --zaf-sidebar-w:248px;
}
[data-bs-theme="dark"]{
  --zaf-bg:#0d1117; --zaf-panel:#141b25; --zaf-panel-2:#1b2533;
  --zaf-border:#243043; --zaf-text:#d7dee8; --zaf-muted:#8a97a8;
}
[data-bs-theme="light"]{
  --zaf-bg:#eef1f5; --zaf-panel:#ffffff; --zaf-panel-2:#f5f7fa;
  --zaf-border:#dce1e8; --zaf-text:#1f2733; --zaf-muted:#6b7785;
}
body{background:var(--zaf-bg);color:var(--zaf-text);}

.zaf-shell{display:flex;min-height:100vh;}
.zaf-sidebar{
  width:var(--zaf-sidebar-w);flex:0 0 var(--zaf-sidebar-w);
  background:linear-gradient(180deg,#0b1f3a 0%,#0a1626 100%);
  color:#cfd8e6;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;z-index:1030;
  border-right:3px solid var(--zaf-accent);
}
.zaf-brand{display:flex;align-items:center;gap:.6rem;padding:1rem 1rem;border-bottom:1px solid rgba(255,255,255,.08);}
.zaf-brand .bi{font-size:1.7rem;color:var(--zaf-accent);}
.zaf-brand-title{display:block;font-weight:700;letter-spacing:.5px;font-size:1rem;}
.zaf-brand-sub{color:#8ea3c0;font-size:.7rem;text-transform:uppercase;letter-spacing:1px;}
.zaf-nav{padding:.5rem 0 2rem;}
.zaf-nav-heading{font-size:.68rem;text-transform:uppercase;letter-spacing:1.5px;color:#6e84a6;padding:.9rem 1.1rem .3rem;}
.zaf-nav-link{display:flex;align-items:center;gap:.7rem;padding:.55rem 1.1rem;color:#c4cfde;text-decoration:none;font-size:.92rem;border-left:3px solid transparent;}
.zaf-nav-link .bi{font-size:1.05rem;width:1.2rem;text-align:center;}
.zaf-nav-link:hover{background:rgba(255,255,255,.06);color:#fff;}
.zaf-nav-link.active{background:rgba(202,166,74,.14);color:#fff;border-left-color:var(--zaf-accent);font-weight:600;}

.zaf-main{flex:1;margin-left:var(--zaf-sidebar-w);display:flex;flex-direction:column;min-width:0;}
.zaf-topbar{display:flex;align-items:center;gap:.6rem;padding:.6rem 1.1rem;background:var(--zaf-panel);border-bottom:1px solid var(--zaf-border);position:sticky;top:0;z-index:1020;}
.zaf-topbar-title{font-weight:600;font-size:1.05rem;}
.zaf-topbar-actions{margin-left:auto;display:flex;align-items:center;}
.zaf-content{padding:1.25rem;flex:1;}
.zaf-footer{display:flex;justify-content:space-between;padding:.6rem 1.1rem;font-size:.78rem;color:var(--zaf-muted);border-top:1px solid var(--zaf-border);background:var(--zaf-panel);}

/* Cards / panels */
.card{background:var(--zaf-panel);border:1px solid var(--zaf-border);}
.zaf-kpi{border-radius:.6rem;overflow:hidden;}
.zaf-kpi .kpi-val{font-size:1.8rem;font-weight:700;line-height:1;}
.zaf-kpi .kpi-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.5px;color:var(--zaf-muted);}
.zaf-kpi .bi{font-size:1.6rem;opacity:.85;}
.zaf-kpi-accent{border-left:4px solid var(--zaf-accent);}

.zaf-stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;}

/* Readiness gauge ring */
.zaf-ring{position:relative;width:130px;height:130px;}
.zaf-ring .val{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;}

/* Status pill on aircraft cards */
.zaf-ac-dot{width:.65rem;height:.65rem;border-radius:50%;display:inline-block;margin-right:.35rem;}
.dot-operational{background:#2fbf71;} .dot-grounded{background:#e0455e;}
.dot-maintenance{background:#e0a800;} .dot-inspection{background:#f08c00;}
.dot-reserve{background:#3b82f6;} .dot-retired{background:#6c757d;}

.table thead th{font-size:.74rem;text-transform:uppercase;letter-spacing:.5px;color:var(--zaf-muted);}
.zaf-login-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#0a1626 0%,#0b2a52 100%);}
.zaf-login-card{max-width:420px;width:100%;}

@media (max-width: 992px){
  .zaf-sidebar{transform:translateX(-100%);transition:transform .2s;}
  .zaf-sidebar.open{transform:translateX(0);}
  .zaf-main{margin-left:0;}
}

/* Print / PDF export styling */
.zaf-print-only{display:none;}
@media print{
  .zaf-sidebar,.zaf-topbar,.zaf-footer,.zaf-no-print{display:none !important;}
  .zaf-main{margin-left:0 !important;}
  .zaf-content{padding:0 !important;}
  .zaf-print-only{display:block !important;}
  .card{border:1px solid #999 !important;break-inside:avoid;}
  body{background:#fff !important;color:#000 !important;}
  a[href]:after{content:"";}
}
