
/* ROLE DASHBOARD PRO FINAL */
.role-home-grid,
.role-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.role-card{
  background:#fff;
  border:1px solid #d9e8f7;
  border-radius:24px;
  padding:18px;
  box-shadow:0 16px 38px rgba(12,43,93,.08);
}
.role-card-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:17px;
  background:linear-gradient(135deg,#e0f2fe,#dbeafe);
  font-size:26px;
  margin-bottom:12px;
}
.role-card h3{
  margin:0 0 8px;
  font-size:18px;
  font-weight:1000;
  color:#08213f;
}
.role-card p{
  margin:0;
  color:#64748b;
  font-weight:750;
  line-height:1.55;
}
.role-card a{
  margin-top:14px;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border-radius:13px;
  background:linear-gradient(135deg,#2196ff,#0b75ef);
  color:#fff;
  font-weight:950;
  text-decoration:none;
}
.role-alert-info{
  border:1px solid #bfdbfe;
  background:#eff6ff;
  color:#1e3a8a;
  padding:14px 16px;
  border-radius:18px;
  font-weight:800;
  line-height:1.6;
  margin-bottom:16px;
}
@media(max-width:1100px){
  .role-home-grid,
  .role-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .role-home-grid,
  .role-dashboard-grid{grid-template-columns:1fr}
  .role-card{border-radius:20px;padding:16px}
}

/* V24 - Modul Simulasi Maskapai & Bandara */
.industry-ops-page,.teacher-lab-page,.flight-board-page{display:grid;gap:18px}.industry-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;overflow:hidden;position:relative;border:0!important;background:linear-gradient(135deg,#062a4f,#0ea5e9 55%,#eff6ff);color:#fff;box-shadow:0 22px 70px rgba(2,132,199,.22)}.industry-hero:after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:999px;background:rgba(255,255,255,.16)}.industry-hero>*{position:relative;z-index:1}.industry-hero h2{margin:8px 0 8px;font-size:clamp(1.55rem,3vw,2.4rem);line-height:1.05}.industry-hero p{max-width:860px;color:rgba(255,255,255,.92)}.industry-hero .btn{background:#fff;color:#075985;border-color:#fff}.airport-hero{background:linear-gradient(135deg,#12330f,#16a34a 58%,#f0fdf4)}.teacher-hero{background:linear-gradient(135deg,#312e81,#7c3aed 58%,#faf5ff)}.board-hero{background:linear-gradient(135deg,#020617,#1e293b 55%,#334155)}.industry-stat-grid article{border-left:5px solid var(--pri)}.flight-display-card{background:#07111f!important;color:#e5f0ff;border:0!important}.flight-display-head{display:flex;align-items:center;justify-content:space-between;font-size:1.2rem;letter-spacing:.08em;border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:12px;margin-bottom:12px}.flight-display-table{color:#e5f0ff}.flight-display-table th{background:#0f172a!important;color:#93c5fd!important}.flight-display-table td{border-color:rgba(255,255,255,.12)!important}.flight-status{display:inline-flex;align-items:center;justify-content:center;min-width:100px;padding:8px 10px;border-radius:999px;background:#0369a1;color:#fff;font-weight:900;font-size:.78rem}.flight-status.delay{background:#ca8a04}.flight-status.cancelled{background:#b91c1c}.flight-status.boarding,.flight-status.checkin_open{background:#15803d}.flight-status.departed,.flight-status.arrived{background:#4338ca}@media(max-width:820px){.industry-hero{display:block}.industry-hero .btn{margin-top:14px;width:100%;justify-content:center}.flight-display-head{display:block}.flight-display-table{min-width:820px}}
