:root{
  --mym-dark:#1c2530;
  --mym-dark2:#232f3d;
  --mym-accent:#e8590c;
  --mym-accent-light:#ff8c3b;
}
body{ background:#f4f6f9; font-family:'Segoe UI',Roboto,Arial,sans-serif; }
.mym-sidebar{ background:var(--mym-dark); height:100vh; width:250px; position:fixed; top:0; left:0; z-index:1030; transition:.2s; overflow-y:auto; }
.mym-sidebar .pt-2.pb-5{ padding-bottom:80px !important; }
.mym-sidebar .brand{ color:#fff; padding:18px 16px; font-weight:700; font-size:1.1rem; border-bottom:1px solid rgba(255,255,255,.08); }
.mym-sidebar .brand span{ color:var(--mym-accent-light); }
.mym-sidebar a{ color:#c7ced6; padding:10px 18px; display:flex; gap:10px; align-items:center; text-decoration:none; font-size:.92rem; }
.mym-sidebar a:hover, .mym-sidebar a.active{ background:var(--mym-dark2); color:#fff; border-left:3px solid var(--mym-accent); }
.mym-content{ margin-left:250px; padding:20px; }
.mym-topbar{ background:#fff; border-bottom:1px solid #e3e6eb; padding:10px 20px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; }
.kpi-card{ border:none; border-radius:10px; box-shadow:0 1px 4px rgba(0,0,0,.08); overflow-x:auto; }
.kpi-card .kpi-value{ font-size:1.6rem; font-weight:700; }
.badge-estado{ font-size:.72rem; }
.mym-overlay{ display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:1020; }
.mym-overlay.show{ display:block; }
@media (max-width:991px){
  .mym-sidebar{ margin-left:-250px; }
  .mym-content{ margin-left:0; padding:14px; }
  .mym-sidebar.show{ margin-left:0; }
  .mym-topbar{ padding:10px 14px; }
  .kpi-card table{ font-size:.85rem; }
  .modal-dialog{ margin:.5rem; }
}
