/*
 * Aurora Glass Theme (default key)
 * Modern glassmorphism inspired captive-portal look.
 */
:root {
  --bg-primary: #050816;
  --bg-secondary: #0b1229;
  --bg-card: rgba(11, 18, 41, 0.68);
  --border: rgba(129, 140, 248, 0.34);
  --text-primary: #f8fafc;
  --text-secondary: #dbeafe;
  --text-muted: #9fb1cd;
  --primary: #818cf8;
  --primary-strong: #6366f1;
  --accent: #22d3ee;
  --accent-dark: #06b6d4;
  --error: #f87171;
  --error-light: rgba(248, 113, 113, 0.12);
  --success: #22d3ee;
  --success-light: rgba(34, 211, 238, 0.12);
  --shadow: 0 22px 60px rgba(2, 6, 23, 0.5);
  --shadow-lg: 0 30px 80px rgba(2, 6, 23, 0.7);
}

body {
  background:
    radial-gradient(circle at 8% 12%, rgba(129, 140, 248, 0.34), transparent 42%),
    radial-gradient(circle at 88% 18%, rgba(34, 211, 238, 0.28), transparent 40%),
    radial-gradient(circle at 55% 88%, rgba(59, 130, 246, 0.22), transparent 42%),
    linear-gradient(135deg, #04070f 0%, #0a1126 56%, #0b1229 100%);
}

body::before {
  background:
    radial-gradient(circle at 20% 35%, rgba(129, 140, 248, 0.22), transparent 48%),
    radial-gradient(circle at 78% 70%, rgba(34, 211, 238, 0.18), transparent 45%);
}

.card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  box-shadow: var(--shadow-lg);
  backdrop-filter: blur(18px);
}

.card-header {
  background: linear-gradient(128deg, rgba(129, 140, 248, 0.95) 0%, rgba(34, 211, 238, 0.95) 100%);
  margin: -2rem -2rem 1.5rem -2rem;
  padding: 1.25rem 2rem;
  border-radius: 1.5rem 1.5rem 0 0;
  color: #fff;
}

.card-header h1 {
  color: #fff;
  -webkit-text-fill-color: #fff;
  background: none;
  font-size: 1.5rem;
}

.card-header .subtitle {
  color: rgba(255, 255, 255, 0.94);
  font-size: 0.9rem;
}

.info-banner {
  background: rgba(129, 140, 248, 0.16);
  border: 1px solid rgba(129, 140, 248, 0.4);
}

.info-banner svg {
  color: var(--accent);
}

.price-display {
  background: rgba(34, 211, 238, 0.14);
  border: 1px solid rgba(34, 211, 238, 0.36);
}

.price-value {
  color: var(--accent);
}

.form-input {
  border-color: rgba(129, 140, 248, 0.34);
  background: rgba(15, 23, 42, 0.72);
}

.form-input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(34, 211, 238, 0.18);
}

.control-number-card {
  background: var(--success-light);
  border: 1px solid rgba(34, 211, 238, 0.36);
}

.control-number-header svg,
.control-number-header h3 {
  color: var(--accent);
}

.control-number-value {
  color: var(--accent);
}

.btn-primary {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-strong) 45%, var(--accent) 100%);
  box-shadow: 0 14px 34px rgba(99, 102, 241, 0.45);
}

.btn-primary:hover:not(:disabled) {
  box-shadow: 0 18px 40px rgba(99, 102, 241, 0.54);
}

.package-card {
  background: rgba(15, 23, 42, 0.6);
}

.package-card:hover {
  border-color: var(--primary);
}

.package-card.selected {
  border-color: var(--accent);
  background: rgba(34, 211, 238, 0.12);
  box-shadow: 0 0 0 3px rgba(34, 211, 238, 0.18);
}

.package-header .badge {
  background: var(--primary);
}

.btn-select-package {
  background: var(--primary);
}

.btn-select-package:hover {
  background: var(--primary-strong);
}

.package-card.selected .btn-select-package {
  background: var(--accent);
}

.package-card.selected .btn-select-package:hover {
  background: var(--accent-dark);
}

.message.success {
  background: var(--success-light);
  color: var(--success);
  border: 1px solid rgba(34, 211, 238, 0.36);
}

.message.error {
  background: var(--error-light);
  color: var(--error);
  border: 1px solid rgba(248, 113, 113, 0.36);
}
