/* LinkTV — Auth Pages */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0a0d13;--bg-raised:#111520;--bg-card:#161d2b;
  --border:#1e2a3d;--text:#e8edf5;--muted:#6b7d9a;
  --accent:#00d4e8;--accent-dk:#00a8c0;--accent-glow:rgba(0,212,232,.15);
  --danger:#e8455a;--success:#2fce8b;--radius:12px;
  --font:'Inter',system-ui,sans-serif;
}
html,body{height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;-webkit-font-smoothing:antialiased}

.auth-page{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:2rem;
  background:radial-gradient(ellipse 80% 50% at 50% 0%, rgba(0,212,232,.08) 0%, transparent 70%), var(--bg);
}
.auth-wrap{width:100%;max-width:440px;position:relative}
.auth-card{
  background:var(--bg-card);border:1px solid var(--border);border-radius:16px;
  padding:2.5rem 2rem;box-shadow:0 32px 64px rgba(0,0,0,.5);
}
.auth-logo{text-align:center;margin-bottom:2rem}
.logo-icon{font-size:2.8rem;margin-bottom:.6rem}
.auth-logo h1{font-size:1.6rem;font-weight:800;letter-spacing:-.02em}
.auth-logo p{color:var(--muted);font-size:.9rem;margin-top:.3rem}

.auth-footer{text-align:center;margin-top:1.25rem}
.auth-footer a{color:var(--accent);text-decoration:none;font-size:.88rem}
.auth-footer a:hover{text-decoration:underline}

.auth-bg-text{
  position:absolute;bottom:-2rem;left:50%;transform:translateX(-50%);
  font-size:.75rem;color:rgba(255,255,255,.12);white-space:nowrap;letter-spacing:.08em;text-transform:uppercase;
}

/* Fields */
.field{margin-bottom:1.1rem}
.field label{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.35rem;font-weight:500;letter-spacing:.02em}
.field input{
  width:100%;background:var(--bg-raised);border:1px solid var(--border);
  border-radius:8px;color:var(--text);padding:.65rem .9rem;font-size:.95rem;
  outline:none;transition:border-color .15s,box-shadow .15s;
}
.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.field input::placeholder{color:var(--muted)}
.pw-wrap{position:relative}
.pw-wrap input{padding-right:2.8rem}
.pw-toggle{
  position:absolute;right:.75rem;top:50%;transform:translateY(-50%);
  background:none;border:none;cursor:pointer;font-size:1rem;color:var(--muted);padding:.2rem;
}
.pw-toggle:hover{color:var(--text)}
.hint{font-size:.78rem;color:var(--muted);margin-top:.3rem}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;border:1px solid transparent;text-decoration:none;transition:background .15s,opacity .15s;gap:.4rem}
.btn-primary{background:var(--accent);color:#000}
.btn-primary:hover{background:var(--accent-dk)}
.btn-full{width:100%;margin-top:.25rem}

/* Alerts */
.alert{padding:.75rem 1rem;border-radius:8px;margin-bottom:1.1rem;font-size:.88rem;line-height:1.4}
.alert-error{background:rgba(232,69,90,.12);border:1px solid var(--danger);color:var(--danger)}
.alert-success{background:rgba(47,206,139,.12);border:1px solid var(--success);color:var(--success)}
.alert-success a{color:var(--success);font-weight:600}
