/* Rudragarjana Inventory - isolated login page styles */
html, body { min-height: 100%; }
body.rg-login-page {
  margin: 0;
  min-height: 100dvh;
  overflow-x: hidden;
  color: #eef5ff;
  background:
    radial-gradient(circle at 12% 8%, rgba(91,156,255,.22), transparent 33%),
    radial-gradient(circle at 88% 88%, rgba(82,211,164,.11), transparent 30%),
    linear-gradient(145deg,#0b111b 0%,#111c2b 100%);
}
.rg-login-page *, .rg-login-page *::before, .rg-login-page *::after { box-sizing: border-box; }
.rg-login-shell {
  width: 100%;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(22px, env(safe-area-inset-top)) 16px max(22px, env(safe-area-inset-bottom));
}
.rg-login-card {
  position: relative;
  isolation: isolate;
  width: min(100%, 460px);
  padding: 32px;
  overflow: hidden;
  border: 1px solid rgba(143,173,211,.25);
  border-radius: 26px;
  background: linear-gradient(145deg,rgba(31,45,64,.94),rgba(18,29,44,.92));
  box-shadow: 0 28px 80px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(24px) saturate(135%);
  -webkit-backdrop-filter: blur(24px) saturate(135%);
}
.rg-login-card::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 210px;
  height: 210px;
  top: -120px;
  right: -120px;
  border-radius: 50%;
  background: rgba(91,156,255,.16);
}
.rg-login-brand { display:flex; align-items:center; gap:13px; margin-bottom:26px; }
.rg-login-logo {
  width:58px; height:58px; flex:0 0 58px; display:grid; place-items:center;
  border-radius:18px; border:1px solid rgba(143,173,211,.30);
  background:linear-gradient(145deg,rgba(46,65,90,.96),rgba(13,23,36,.98));
  box-shadow:inset 0 1px rgba(255,255,255,.09),0 12px 28px rgba(0,0,0,.26);
}
.rg-login-logo img { width:50px; height:50px; object-fit:contain; display:block; }
.rg-login-brand strong { display:block; font-size:17px; line-height:1.2; }
.rg-login-brand small { display:block; margin-top:3px; color:#98a9bd; font-size:11px; letter-spacing:.04em; text-transform:uppercase; }
.rg-login-intro { margin-bottom:23px; }
.rg-login-kicker {
  display:inline-flex; padding:6px 10px; border-radius:999px;
  border:1px solid rgba(91,156,255,.28); background:rgba(91,156,255,.10);
  color:#a8ceff; font-size:10px; font-weight:800; letter-spacing:.10em; text-transform:uppercase;
}
.rg-login-intro h1 { margin:13px 0 8px; font-size:34px; line-height:1.08; letter-spacing:-.04em; }
.rg-login-intro p { margin:0; color:#98a9bd; font-size:14px; line-height:1.55; }
.rg-login-alert { margin:0 0 18px; padding:13px 14px; border-radius:13px; border:1px solid rgba(255,107,125,.32); background:rgba(255,107,125,.12); color:#ffdce1; font-size:13px; }
.rg-login-form { display:grid; gap:16px; }
.rg-login-field { display:grid; gap:7px; min-width:0; }
.rg-login-field label { color:#adbed0; font-size:12px; font-weight:750; }
.rg-login-field input[type="email"],
.rg-login-field input[type="password"],
.rg-login-field input[type="text"] {
  width:100%; min-width:0; min-height:50px; margin:0; padding:13px 14px;
  color:#eef5ff; background:rgba(8,15,25,.68); border:1px solid rgba(143,173,211,.25);
  border-radius:13px; outline:0; box-shadow:none; appearance:none;
}
.rg-login-field input:focus { border-color:rgba(91,156,255,.78); box-shadow:0 0 0 4px rgba(91,156,255,.11); }
.rg-password-wrap { position:relative; min-width:0; }
.rg-password-wrap input { padding-right:72px !important; }
.rg-password-toggle {
  position:absolute; top:50%; right:8px; transform:translateY(-50%);
  min-width:54px; min-height:34px; padding:6px 9px; margin:0;
  border:1px solid rgba(143,173,211,.23); border-radius:10px;
  color:#d6e3f0; background:rgba(255,255,255,.05); font-size:11px; font-weight:750; cursor:pointer;
}
.rg-password-toggle:hover { border-color:rgba(91,156,255,.45); background:rgba(91,156,255,.12); }
.rg-remember {
  display:flex; align-items:flex-start; gap:11px; width:100%; margin:0; padding:12px 13px;
  border:1px solid rgba(143,173,211,.17); border-radius:14px; background:rgba(255,255,255,.025); cursor:pointer;
}
.rg-remember input { width:18px; height:18px; flex:0 0 18px; margin:2px 0 0; accent-color:#5b9cff; }
.rg-remember span { display:grid; gap:3px; min-width:0; }
.rg-remember b { color:#dbe8f7; font-size:12px; }
.rg-remember small { color:#98a9bd; font-size:11px; font-weight:500; line-height:1.35; }
.rg-login-submit {
  width:100%; min-height:50px; margin:1px 0 0; padding:12px 18px;
  border:1px solid rgba(91,156,255,.76); border-radius:14px;
  color:#fff; background:linear-gradient(135deg,#4c8df1,#67adff);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 26px rgba(43,114,211,.30);
  font-weight:800; cursor:pointer; transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
}
.rg-login-submit:hover { transform:translateY(-1px); filter:brightness(1.05); box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 14px 30px rgba(43,114,211,.38); }
.rg-login-submit:disabled { opacity:.68; cursor:wait; transform:none; }
.rg-login-submit .rg-loading { display:none; }
.rg-login-submit.is-loading .rg-label { display:none; }
.rg-login-submit.is-loading .rg-loading { display:inline; }
.rg-login-security { display:flex; align-items:center; justify-content:center; gap:7px; margin-top:20px; color:#71859b; font-size:10px; text-align:center; }
.rg-login-security i { width:7px; height:7px; border-radius:50%; background:#52d3a4; box-shadow:0 0 12px rgba(82,211,164,.55); }
@media (max-width:520px) {
  .rg-login-shell { align-items:flex-start; padding-left:13px; padding-right:13px; }
  .rg-login-card { padding:23px 18px; border-radius:22px; }
  .rg-login-brand { margin-bottom:22px; }
  .rg-login-intro h1 { font-size:29px; }
}
