/* IITH Student Portal - tiny layer over Tailwind */

html, body { -webkit-text-size-adjust: 100%; }
body { padding-bottom: env(safe-area-inset-bottom); }

/* Card */
.stu-card {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(15,23,42,.04), 0 8px 24px -16px rgba(15,23,42,.15);
}

/* Divider */
.stu-divider { height: 3px; width: 56px; background: #c9a227; border-radius: 3px; }

/* Inputs */
.stu-input {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  padding: .75rem .9rem;
  font-size: 16px; /* prevents iOS zoom */
  background: #fff;
  color: #0f172a;
  transition: border-color .15s, box-shadow .15s;
}
.stu-input:focus {
  outline: none;
  border-color: #0b1f3a;
  box-shadow: 0 0 0 3px rgba(11,31,58,.15);
}
.stu-label { display:block; font-size:.8rem; font-weight:600; color:#334155; margin-bottom:.35rem; }

/* Buttons */
.stu-btn {
  display: inline-flex; align-items:center; justify-content:center; gap:.5rem;
  min-height: 44px; padding: .75rem 1rem;
  border-radius: 10px; font-weight: 600; font-size: .95rem;
  transition: transform .05s, background-color .15s, border-color .15s;
}
.stu-btn:active { transform: translateY(1px); }
.stu-btn-primary { background:#0b1f3a; color:#fff; }
.stu-btn-primary:hover { background:#0e2a4f; }
.stu-btn-primary:disabled { background:#94a3b8; cursor:not-allowed; }
.stu-btn-ghost { background:#fff; color:#0b1f3a; border:1px solid #cbd5e1; }
.stu-btn-ghost:hover { border-color:#0b1f3a; }
.stu-btn-gold  { background:#c9a227; color:#0b1f3a; }
.stu-btn-gold:hover { background:#b08e1f; }

/* Alerts */
.stu-alert { border-radius:10px; padding:.75rem .9rem; font-size:.9rem; }
.stu-alert-error   { background:#fef2f2; border:1px solid #fecaca; color:#991b1b; }
.stu-alert-success { background:#f0fdf4; border:1px solid #bbf7d0; color:#166534; }
.stu-alert-info    { background:#eff6ff; border:1px solid #bfdbfe; color:#1e40af; }

/* Hero on login */
.stu-hero {
  background: radial-gradient(1200px 400px at 50% -10%, #0e2a4f 0%, #0b1f3a 45%, #071527 100%);
  color:#fff;
}

/* Password reveal wrapper */
.stu-pw { position: relative; }
.stu-pw-toggle {
  position:absolute; right:.5rem; top:50%; transform:translateY(-50%);
  background:transparent; border:0; color:#64748b; font-size:.8rem; font-weight:600; padding:.4rem .6rem; cursor:pointer;
}
.stu-pw-toggle:hover { color:#0b1f3a; }

/* Alpine: hide elements until Alpine initializes */
[x-cloak] { display: none !important; }

/* Password field wrapper — puts input + Show/Hide button side by side */
.stu-pw { position: relative; }
.stu-pw input { padding-right: 4rem; }
.stu-pw-toggle {
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: 0;
  color: #0b1f3a;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.4rem 0.6rem;
  border-radius: 6px;
  cursor: pointer;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
.stu-pw-toggle:hover { background: #f1f5f9; }
