@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  --prisa-grad-a:#00c3ff;
  --prisa-grad-b:#4934ff;
  --bg-soft:#f5f7fb;
  --card-bg:#ffffff;
  --border-soft:#e2e6f0;
  --text-main:#111827;
  --text-muted:#6b7280;
}

* { box-sizing:border-box; }

body{
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--bg-soft);
  color:var(--text-main);
}

/* LOGIN */
.login-shell{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at top left,rgba(0,195,255,0.28),transparent 55%),
    radial-gradient(circle at bottom right,rgba(73,52,255,0.24),transparent 55%),
    var(--bg-soft);
}
.login-card{
  background:#ffffff;
  border-radius:18px;
  padding:32px 28px;
  max-width:420px;
  width:100%;
  box-shadow:0 18px 45px rgba(15,23,42,.12);
}
.login-logo{
  display:flex;
  justify-content:center;
  margin-bottom:18px;
}
.login-title{
  font-weight:600;
  font-size:1.1rem;
  text-align:center;
}
.login-subtitle{
  font-size:.82rem;
  color:var(--text-muted);
  text-align:center;
}

/* NAVBAR */
.navbar-prisa{
  background:linear-gradient(90deg,var(--prisa-grad-a),var(--prisa-grad-b));
  box-shadow:0 10px 30px rgba(15,23,42,.25);
}
.navbar-prisa .brand-text-top{
  font-size:.75rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:600;
}
.navbar-prisa .brand-sub{
  font-size:.7rem;
  opacity:.9;
}

/* LAYOUT */
.main-shell{
  display:flex;
  min-height:calc(100vh - 56px);
}
.sidebar{
  width:230px;
  background:#020617;
  padding:14px 10px;
  border-right:1px solid rgba(148,163,184,.35);
}
.sidebar-title{
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:#9ca3af;
  padding:3px 10px;
  margin-bottom:6px;
}
.sidebar .nav-link{
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 11px;
  border-radius:999px;
  font-size:.86rem;
  color:#e5e7eb;
  text-decoration:none;
  margin-bottom:3px;
  transition:all .16s ease-out;
}
.sidebar .nav-link .icon{
  width:18px;
  text-align:center;
}
.sidebar .nav-link:hover{
  background:rgba(148,163,184,.22);
  color:#fff;
  transform:translateX(2px);
}
.sidebar .nav-link.active{
  background:linear-gradient(90deg,var(--prisa-grad-a),var(--prisa-grad-b));
  color:#fff;
  box-shadow:0 0 0 1px rgba(15,23,42,.35);
}

.content-area{
  flex:1;
  padding:18px 22px 26px 22px;
}
.page-title{
  font-size:1.25rem;
  font-weight:600;
}
.page-sub{
  font-size:.85rem;
  color:var(--text-muted);
}

/* CARDS & TABLES */
.card{
  border-radius:16px;
  border:1px solid rgba(148,163,184,.2);
  box-shadow:0 8px 26px rgba(15,23,42,.06);
}
.card-header{
  background:transparent;
  border-bottom:1px solid rgba(226,232,240,.85);
}
.card-title{
  font-size:.95rem;
  font-weight:600;
}
.metric-title{
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--text-muted);
}
.metric-value{
  font-size:1.3rem;
  font-weight:600;
}
.table{
  font-size:.84rem;
}
.table thead th{
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--text-muted);
}

/* FORMS */
.form-label{
  font-size:.78rem;
  font-weight:500;
  color:var(--text-muted);
}
.form-control,.form-select{
  border-radius:12px;
  border-color:var(--border-soft);
  font-size:.85rem;
}
.form-control:focus,.form-select:focus{
  border-color:var(--prisa-grad-b);
  box-shadow:0 0 0 .14rem rgba(73,52,255,.25);
}

/* BADGES */
.badge-status-disponible{
  background:rgba(34,197,94,.18);
  color:#166534;
}
.badge-status-reservado{
  background:rgba(245,158,11,.20);
  color:#92400e;
}
.badge-status-fuera_de_servicio{
  background:rgba(239,68,68,.22);
  color:#b91c1c;
}

/* BUTTONS */
.btn-rounded{
  border-radius:999px;
  font-size:.82rem;
  padding:.35rem .9rem;
}
.btn-primary{
  background:linear-gradient(90deg,var(--prisa-grad-a),var(--prisa-grad-b));
  border:none;
}
.btn-primary:hover{
  filter:brightness(1.06);
}
