
  /* ======================= VOXA · MONITOREO · UI THEME v2 (match index) ======================= */
  :root{
    --bg:#f4f6fb;
    --panel:#ffffff;
    --card:#ffffff;
    --ink:#0b1220;
    --muted:#5e6b7a;
    --stroke:#e6eaf2;
    --stroke-2:#d5dbe6;
    --brand:#1562ff;
    --brand-2:#22b0ff;
    --ok:#16a34a; --bad:#dc2626;
    --radius:18px;
    --shadow-xs:0 1px 3px rgba(15,23,42,.06);
    --shadow-sm:0 6px 14px rgba(15,23,42,.08);
    --shadow-md:0 12px 26px rgba(15,23,42,.10);
    --shadow-lg:0 24px 46px rgba(15,23,42,.12);
  }

  html,body{height:100%}
  body{
    background:
      radial-gradient(1100px 520px at 120% -20%, #dff0ff80 0%, #fff0 60%),
      radial-gradient(900px 460px at -10% 120%, #eaf7ff80 0%, #fff0 60%),
      var(--bg);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial;
    color: var(--ink);
    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  }

  /* NAV */
  .navbar-custom{
    position: sticky; top:0; z-index:10;
    background: linear-gradient(90deg, #0b1220, #162235) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.25);
    padding:.85rem 1rem !important;
  }
  .navbar-brand span{
    font-weight:900; letter-spacing:.01em;
    background: linear-gradient(90deg, var(--brand), var(--brand-2));
    -webkit-background-clip:text; background-clip:text; color:transparent !important;
  }
  .navbar .text-white{ color:#d1d5db !important }
  .navbar .bi{ color:#60a5fa }

  /* CARD login */
  .login-wrap{ min-height:calc(100vh - 72px); }
  .login-card{
    background: var(--card);
    border:1px solid var(--stroke);
    border-radius: var(--radius);
    box-shadow: var(--shadow-md);
    overflow:hidden;
  }
  .login-head{
    padding:1.2rem 1.4rem;
    border-bottom:1px solid var(--stroke);
    background: linear-gradient(90deg, #ffffff, #f7fbff);
  }
  .login-title{
    margin:0; font-weight:900; letter-spacing:.01em;
    color:var(--ink);
  }
  .login-sub{ color:var(--muted); font-size:.95rem }
  .chip{
    display:inline-flex; align-items:center; gap:.4rem;
    padding:.28rem .55rem; border-radius:999px; border:1px solid var(--stroke-2);
    background:#f8fafc; color:#334155; font-weight:600; font-size:.82rem;
  }
  .btn-brand{
    border:1px solid var(--brand);
    background: linear-gradient(90deg, var(--brand), var(--brand-2));
    color:#fff; font-weight:900; letter-spacing:.01em;
    padding:.7rem 1rem; border-radius:12px;
    box-shadow:0 10px 22px rgba(21,98,255,.20);
    transition: transform .1s ease, filter .15s ease, box-shadow .2s ease;
  }
  .btn-brand:hover{ transform:translateY(-1px); filter:brightness(1.05) }
  .form-control{
    border-radius:12px;
    border:1px solid var(--stroke);
  }
  .form-control:focus{
    border-color: var(--brand);
    box-shadow: 0 0 0 .2rem rgba(33,150,243,.15);
  }
  .text-muted-small{ color:var(--muted); font-size:.9rem }
  .toggle-pass{
    cursor:pointer; user-select:none;
    color:var(--muted);
  }
  .alert-soft{
    border:1px solid #fecaca;
    background:#fff1f2;
    color:#991b1b;
    border-radius:12px;
  }

  footer small{ color:var(--muted) }
