/* ══════════════════════════════════════════════
   LOGIN — kartu kaca + label mengambang
   Dipakai admin/login.php (berdiri sendiri, tidak memuat layout.css) dan
   includes/customer_login.php. Nilai token SAMA dgn blok GLASS di layout.css.
   Prasyarat di halaman: --brand, --brand-hover, --brand-rgb, --bg, --surface,
   --border, --text, --text-muted, --text-faint, --radius-*, --text-*.
   Pasang class "aq-login-glass" di <body>.
   ══════════════════════════════════════════════ */
:root {
  --glass-bg:           rgba(255,255,255,0.68);
  --glass-bg-strong:    rgba(255,255,255,0.92);
  --glass-border:       rgba(255,255,255,0.65);
  --glass-shadow:       0 14px 34px -18px rgba(20,60,45,0.22);
  --glass-blur:         16px;
  --glass-radius:       16px;
  --glass-field-radius: 11px;
  --glass-glow-blue-rgb: 96,165,250;
  --glass-glow-brand:   0.16;
  --glass-glow-blue:    0.16;
  --glass-field-bg:     rgba(255,255,255,0.55);
  --glass-field-bg-focus: rgba(255,255,255,0.85);
  --glass-field-border: rgba(0,0,0,0.10);
  --glass-label-bg:     rgba(255,255,255,0.92);
  --glass-label-color:  var(--brand-hover, #006e52);
  --aq-label-h: 14px;
  /* Berdiri sendiri (tidak memuat layout.css di admin/login.php) — nilai sama dgn layout.css */
  --focus-ring-color: rgba(var(--brand-rgb, 0,128,96), 0.12);
  --focus-ring-lg:    0 0 0 4px var(--focus-ring-color);
}
[data-theme="dark"] {
  --glass-bg:           rgba(30,31,36,0.62);
  --glass-bg-strong:    rgba(30,31,36,0.94);
  --glass-border:       rgba(255,255,255,0.09);
  --glass-shadow:       0 14px 34px -18px rgba(0,0,0,0.6);
  --glass-glow-brand:   0.14;
  --glass-glow-blue:    0.10;
  --glass-field-bg:     rgba(255,255,255,0.05);
  --glass-field-bg-focus: rgba(255,255,255,0.09);
  --glass-field-border: rgba(255,255,255,0.14);
  --glass-label-bg:     rgba(30,31,36,0.96);
  --glass-label-color:  var(--brand, #00b386);
}

/* Latar gradien lembut — supaya efek kaca terlihat */
body.aq-login-glass {
  background:
    radial-gradient(circle at 15% -8%,  rgba(var(--brand-rgb,0,128,96), var(--glass-glow-brand)), transparent 52%),
    radial-gradient(circle at 105% 15%, rgba(var(--glass-glow-blue-rgb), var(--glass-glow-blue)), transparent 48%),
    radial-gradient(circle at 30% 110%, rgba(var(--glass-glow-blue-rgb), calc(var(--glass-glow-blue) * .6)), transparent 45%),
    var(--bg);
  background-attachment: fixed;
}

/* Kartu kaca (spesifisitas dinaikkan supaya menang atas gaya lokal halaman) */
body.aq-login-glass :is(.login-card, .aq-login-card) {
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: var(--glass-radius);
  box-shadow: var(--glass-shadow);
  -webkit-backdrop-filter: blur(var(--glass-blur));
  backdrop-filter: blur(var(--glass-blur));
}
/* Tombol tema ikut kaca */
body.aq-login-glass :is(.theme-toggle-login, .aq-login-theme-toggle) {
  background: var(--glass-bg); border-color: var(--glass-border);
  -webkit-backdrop-filter: blur(var(--glass-blur)); backdrop-filter: blur(var(--glass-blur));
}
/* HP: matikan blur (berat di perangkat menengah ke bawah) */
@media (max-width: 640px) {
  body.aq-login-glass :is(.login-card, .aq-login-card, .theme-toggle-login, .aq-login-theme-toggle) {
    -webkit-backdrop-filter: none; backdrop-filter: none; background: var(--glass-bg-strong);
  }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  body.aq-login-glass :is(.login-card, .aq-login-card) { background: var(--glass-bg-strong); }
}
@media (prefers-reduced-transparency: reduce) {
  body.aq-login-glass :is(.login-card, .aq-login-card, .theme-toggle-login, .aq-login-theme-toggle) {
    background: var(--glass-bg-strong); -webkit-backdrop-filter: none; backdrop-filter: none;
  }
}

/* ── Label mengambang: <label class="aq-label"> lalu .aq-input atau .input-wrapper ── */
body.aq-login-glass .aq-label:has(+ :is(.aq-input, .input-wrapper)) {
  position: relative; z-index: 1;
  display: block; width: fit-content; max-width: calc(100% - 26px);
  height: var(--aq-label-h); line-height: var(--aq-label-h);
  margin: 8px 0 calc(var(--aq-label-h) / -2) 13px; padding: 0 6px;
  background: var(--glass-label-bg); border-radius: var(--radius-xs, 4px);
  font-size: var(--text-2xs, 0.68rem); font-weight: 700; color: var(--glass-label-color);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  transition: color .15s;
}
body.aq-login-glass .aq-label:has(+ .aq-input) + .aq-input,
body.aq-login-glass .aq-label:has(+ .input-wrapper) + .input-wrapper > .aq-input {
  border: 1.5px solid var(--glass-field-border); border-radius: var(--glass-field-radius);
  padding: 13px 14px 11px; background: var(--glass-field-bg);
  font-size: var(--text-base); transition: .15s;
}
body.aq-login-glass .aq-label:has(+ .input-wrapper) + .input-wrapper > .aq-input { padding-right: 42px; }
body.aq-login-glass .aq-label:has(+ .aq-input) + .aq-input:focus,
body.aq-login-glass .aq-label:has(+ .input-wrapper) + .input-wrapper > .aq-input:focus {
  outline: none; border-color: var(--brand, #008060); background: var(--glass-field-bg-focus);
  box-shadow: var(--focus-ring-lg);
}
body.aq-login-glass .aq-label:has(+ .aq-input:focus),
body.aq-login-glass .aq-label:has(+ .input-wrapper > .aq-input:focus) { color: var(--brand, #008060); }
