*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#e2e8f0;background:#0b1220}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#0e162b;border-bottom:1px solid #1f2b4a;position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:center;gap:12px}
.logo{width:40px;height:40px;border-radius:10px;background:#1d4ed8;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}
.titles h1{margin:0;font-size:18px;color:#e2e8f0}
.titles p{margin:0;font-size:12px;color:#94a3b8}
.nav{display:flex;gap:8px;flex-wrap:wrap}
.nav-btn{background:#0b1220;color:#cbd5e1;border:1px solid #334155;padding:8px 12px;border-radius:8px;cursor:pointer}
.nav-btn:hover{background:#111a33}
.view{display:none;padding:16px;max-width:1200px;margin:0 auto}
.view.active{display:block}
.panel{background:#0e162b;border:1px solid #1f2b4a;border-radius:12px;padding:16px;margin:12px 0}
.panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.controls{display:flex;gap:8px}
input[type=search],select,input[type=number],input[type=text]{background:#0b1220;border:1px solid #334155;color:#e2e8f0;border-radius:8px;padding:8px 10px}
button{background:#1d4ed8;border:none;color:#fff;border-radius:8px;padding:8px 12px;cursor:pointer}
button:hover{opacity:.95}
.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.kpi{background:#0b1220;border:1px solid #334155;border-radius:12px;padding:12px}
.kpi h3{margin:0 0 6px 0;color:#e2e8f0}
.kpi p{margin:0;color:#94a3b8}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:10px;border-bottom:1px solid #1f2b4a;color:#cbd5e1}
th{position:sticky;top:0;background:#0e162b;cursor:pointer}
.badge{padding:4px 8px;border-radius:999px;font-size:12px;display:inline-block}
.badge.fly{background:#065f46;color:#d1fae5}
.badge.inspect{background:#92400e;color:#fde68a}
.badge.repair{background:#7f1d1d;color:#fecaca}
.badge.risk-low{background:#0f766e;color:#a7f3d0}
.badge.risk-med{background:#854d0e;color:#fcd34d}
.badge.risk-high{background:#9f1239;color:#fecaca}
.grid.meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.meta .card{background:#0b1220;border:1px solid #334155;border-radius:10px;padding:10px}
.meta .card h4{margin:0 0 6px;color:#e2e8f0}
.meta .card p{margin:0;color:#94a3b8}
.grid.components{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.component{background:#0b1220;border:1px solid #334155;border-radius:10px;padding:10px}
.component .bar{height:10px;background:#1f2937;border-radius:6px;overflow:hidden;margin-top:8px}
.component .bar>div{height:10px;background:#1d4ed8}
.charts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.grid.recos{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.reco{background:#0b1220;border:1px solid #334155;border-radius:10px;padding:10px}
.grid.anomalies{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.anomaly{background:#0b1220;border:1px solid #334155;border-radius:10px;padding:10px}
.grid.reports{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.report-card{background:#0b1220;border:1px solid #334155;border-radius:10px;padding:10px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center}
.modal.hidden{display:none}
.modal-content{width:min(820px,92%);background:#0e162b;border:1px solid #1f2b4a;border-radius:12px;padding:16px;position:relative}
.close{position:absolute;top:8px;right:8px;background:#0b1220}
.footer{padding:16px;text-align:center;color:#64748b}
@media(max-width:1100px){
  .kpis{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .grid.meta{grid-template-columns:repeat(2,1fr)}
  .grid.components,.grid.recos,.grid.anomalies,.grid.reports,.charts{grid-template-columns:1fr}
}
/* ensure charts occupy width */
.charts canvas{width:100%; display:block;}
.report-card canvas{width:100%; display:block;}
