/* UnZend Auth — cyber neon 3.0 */
:root{
  --uz-bg: #06090e;
  --uz-card: #0c131c;
  --uz-accent: #00ff9c;
  --uz-accent-2: #00d4ff;
  --uz-text: #e6f1ff;
  --uz-muted: #89a2b6;
  --uz-danger: #ff4d6d;
  --uz-ring: rgba(0,255,156,.14);
  --uz-radius: 22px;
}

*, *::before, *::after { box-sizing: border-box; }
body {
  background:
    radial-gradient(1000px 300px at 50% -10%, rgba(0,255,156,.07), transparent 60%),
    radial-gradient(1000px 300px at 50% 110%, rgba(0,212,255,.07), transparent 60%),
    #070b10;
  /* subtle scanlines */
  background-image:
    linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
    radial-gradient(1000px 300px at 50% -10%, rgba(0,255,156,.07), transparent 60%),
    radial-gradient(1000px 300px at 50% 110%, rgba(0,212,255,.07), transparent 60%);
  background-size: 100% 24px, auto, auto;
}

.uz-card{
  max-width: 620px;
  margin: clamp(2rem, 6vw, 6rem) auto;
  background: linear-gradient(180deg, rgba(18,26,36,.88), rgba(10,14,20,.82));
  border-radius: var(--uz-radius);
  box-shadow: 0 20px 45px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.03) inset;
  border: 1px solid rgba(255,255,255,.06);
  padding: clamp(1.1rem, 4vw, 2.2rem);
  color: var(--uz-text);
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(8px);
}
.uz-card:before{
  content:"";
  position:absolute; inset:-2px;
  background:
    radial-gradient(900px 160px at 12% -10%, rgba(0,255,156,.12), transparent 60%),
    radial-gradient(900px 160px at 88% -10%, rgba(0,212,255,.12), transparent 60%);
  filter: blur(18px);
  z-index:0;
}

.uz-title{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  letter-spacing: .6px;
  font-size: clamp(1.3rem, 2.4vw, 1.9rem);
  margin: 0 0 1.2rem;
  display:flex; align-items:center; gap:.75rem;
}
.uz-form{ position:relative; z-index:1; }
.uz-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
@media (max-width: 620px){ .uz-grid{ grid-template-columns: 1fr; } }

.uz-field{ margin-bottom: 1rem; }
.uz-field label{ display:block; color: var(--uz-muted); font-size:.9rem; margin-bottom:.35rem; }
.uz-field input[type="text"],
.uz-field input[type="email"],
.uz-field input[type="password"]{
  width:100%; padding: 1rem 1.05rem;
  background: #0b1118;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  color: var(--uz-text);
  outline: none;
  transition: border .2s, box-shadow .2s, transform .05s;
  box-shadow: 0 0 0 0 rgba(0,0,0,0);
}
.uz-field input:focus{
  border-color: rgba(0,255,156,.35);
  box-shadow: 0 0 0 4px var(--uz-ring);
}
.uz-terms, .uz-remember{ color: var(--uz-muted); }

/* Buttons */
.uz-btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:.6rem; border:0; cursor:pointer; text-decoration:none;
  padding: 1.05rem 1.15rem; border-radius:14px; font-weight:700;
  transition: transform .06s ease, box-shadow .25s ease, background .25s ease;
  box-shadow: 0 12px 36px rgba(0,0,0,.28);
  line-height: 1;
  position: relative;
  user-select: none;
}
.uz-btn:hover{ transform: translateY(-1px); }
.uz-btn:active{ transform: translateY(0); }

.uz-btn-primary{
  width:100%;
  color: #00130b;
  background: linear-gradient(90deg, var(--uz-accent), var(--uz-accent-2));
  border: 1px solid rgba(255,255,255,.06);
  overflow: hidden;
}
.uz-btn-glow{ box-shadow: 0 14px 40px rgba(0,255,156,.26), 0 0 0 1px rgba(255,255,255,.04) inset; }
.uz-btn-shine{
  content:""; position:absolute; inset:0; pointer-events:none;
  background: radial-gradient(120% 60% at 10% 0%, rgba(255,255,255,.18), transparent 40%);
  mix-blend-mode: overlay; opacity:.6;
}

.uz-btn-ghost{
  background: #11151d;
  color: var(--uz-text);
  border: 1px solid rgba(255,255,255,.08);
}

/* Google button */
.uz-btn-google{
  width:100%; text-align:center;
  background:#121826;
  color: var(--uz-text);
  border:1px solid rgba(255,255,255,.08);
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-radius: 999px;
}
.uz-google-icon{
  width:18px; height:18px; display:inline-block; flex:0 0 18px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 48 48"><path fill="%23FFC107" d="M43.6 20.5H42v-.1H24v7.2h11.3C34.4 32 29.8 35.6 24 35.6c-7 0-12.7-5.7-12.7-12.7S17 10.2 24 10.2c3.2 0 6.1 1.2 8.3 3.2l5-5C33.5 5.4 28.9 3.6 24 3.6 16 3.6 9.2 8.1 6.3 14.7z"/><path fill="%23FF3D00" d="M6.3 14.7l5.9 4.3C13.7 15.2 18.5 10.2 24 10.2c3.2 0 6.1 1.2 8.3 3.2l5-5C33.5 5.4 28.9 3.6 24 3.6 16 3.6 9.2 8.1 6.3 14.7z"/><path fill="%234CAF50" d="M24 44.4c5.8 0 10.7-1.9 14.2-5.2l-6.6-5.4c-2 1.4-4.6 2.2-7.6 2.2-5.8 0-10.7-3.9-12.5-9.2l-6.6 5.1C9.7 39.5 16.2 44.4 24 44.4z"/><path fill="%232196F3" d="M43.6 20.5H42v-.1H24v7.2h11.3c-1.6 4.5-6.1 7.9-11.3 7.9-3.4 0-6.6-1.3-8.9-3.5l-6.6 5.1C11.6 40.7 17.4 44.4 24 44.4 35.3 44.4 44.4 35.3 44.4 24c0-1.2-.1-2.3-.4-3.5z"/></svg>');
  background-size:contain; background-repeat:no-repeat;
}
.uz-google-text { display:inline-block; overflow:hidden; text-overflow:ellipsis; }

.uz-or{
  display:flex; align-items:center; gap:.75rem; margin:1.1rem 0;
  color:var(--uz-muted);
}
.uz-or:before, .uz-or:after{ content:""; height:1px; flex:1; background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent); }
.uz-altlink{ margin-top:1rem; color:var(--uz-muted); }
.uz-altlink a{ color: var(--uz-accent); text-decoration:none; border-bottom:1px dashed rgba(0,255,156,.4); }

/* CAPTCHA */
.uz-captcha .uz-captcha-box{
  display:block;
}
.uz-captcha-img-wrap{
  position: relative;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  background:#0b1118;
  box-shadow: 0 10px 26px rgba(0,0,0,.28);
}
.uz-captcha-img{
  display:block; width:100%; height:auto;
}
.uz-captcha-refresh{
  position:absolute; right:10px; top:10px;
  width:40px; height:40px; border-radius:999px;
  background:#121826; color:var(--uz-text);
  border:1px solid rgba(255,255,255,.08); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  font-weight:900; box-shadow: 0 8px 16px rgba(0,0,0,.25);
}
.uz-captcha-input{
  margin-top:.7rem;
  padding: 1rem 1.05rem;
  width:100%;
  background:#0b1118; color: var(--uz-text);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  letter-spacing: .28em; text-transform: uppercase;
}
.uz-captcha-input:focus{ border-color: rgba(0,255,156,.35); box-shadow: 0 0 0 4px var(--uz-ring); }

/* Responsive fixes for mobile buttons */
@media (max-width: 440px){
  .uz-btn{ padding: 1rem; }
  .uz-btn-google{ white-space: normal; }
  .uz-google-text{ white-space: nowrap; }
}

/* v1.3 additions */
/* Force-hide honeypot regardless of theme overrides */
.uz-form .uz-hp{ display:none !important; visibility:hidden !important; height:0 !important; width:0 !important; overflow:hidden !important; }

/* Error states */
.uz-error{ margin-top:.4rem; color:#ff6b81; font-size:.85rem; line-height:1.3; }
.uz-invalid input{ border-color: rgba(255,77,109,.6) !important; box-shadow: 0 0 0 4px rgba(255,77,109,.18) !important; }
.uz-field .uz-help{ color: var(--uz-muted); font-size:.8rem; margin-top:.35rem; }

/* Disabled buttons */
.uz-btn[disabled], .uz-btn.is-disabled{
  opacity:.6; filter:saturate(.7);
  cursor:not-allowed; transform:none;
  box-shadow:none;
}

/* Slightly larger titles on desktop */
@media (min-width: 900px){
  .uz-title{ font-size: 2rem; }
}

/* v1.4 UI polish */
@keyframes uz-glow-pulse {
  0% { box-shadow: 0 14px 40px rgba(0,255,156,.22), 0 0 0 1px rgba(255,255,255,.04) inset; }
  50% { box-shadow: 0 16px 48px rgba(0,255,156,.36), 0 0 0 1px rgba(255,255,255,.06) inset; }
  100% { box-shadow: 0 14px 40px rgba(0,255,156,.22), 0 0 0 1px rgba(255,255,255,.04) inset; }
}
.uz-btn-primary{
  color: #02150c !important;
  background: linear-gradient(90deg, #24ffb6 0%, #19f2ff 100%) !important;
}
.uz-btn-primary.uz-btn-glow{ animation: uz-glow-pulse 2.8s ease-in-out infinite; }
