
/* ============================================================
   SHOWLINK AUTH — Login / Register
   Uses the same theme variables as the shared ShowLink system.
   ============================================================ */
.auth-page{min-height:100vh;background:var(--bg);color:var(--text);display:flex;flex-direction:column}
.auth-main{flex:1;display:grid;place-items:center;padding:58px 0 80px;position:relative;overflow:hidden}
.auth-main::before,.auth-main::after{content:"";position:absolute;border-radius:999px;filter:blur(4px);pointer-events:none;opacity:.55}
.auth-main::before{width:360px;height:360px;background:rgba(124,92,246,.20);left:-160px;top:-120px}
.auth-main::after{width:320px;height:320px;background:rgba(236,72,153,.14);right:-130px;bottom:-110px}
.auth-wrap{width:min(100%,1040px);display:grid;grid-template-columns:.88fr 1.12fr;gap:28px;align-items:stretch;position:relative;z-index:1}
.auth-intro{border-radius:30px;padding:42px;color:#fff;background:linear-gradient(145deg,#5d4be7 0%,#7c3aed 52%,#ec4899 100%);box-shadow:0 30px 80px rgba(79,61,180,.22);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}
.auth-intro::after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.18);border-radius:50%;right:-110px;bottom:-90px}
.auth-intro-top{position:relative;z-index:1}
.auth-brand{display:inline-flex;align-items:center;gap:10px;font-weight:900;font-size:20px}
.auth-brand .brand-mark{width:40px;height:40px}
.auth-kicker{display:inline-flex;align-items:center;gap:8px;margin-top:55px;font-size:10px;font-weight:900;letter-spacing:.14em;color:rgba(255,255,255,.76)}
.auth-intro h1{font-size:clamp(30px,4vw,47px);line-height:1.05;letter-spacing:-2px;margin:14px 0}
.auth-intro p{font-size:13px;line-height:1.75;color:rgba(255,255,255,.78);max-width:390px;margin:0}
.auth-points{display:grid;gap:12px;margin-top:30px}
.auth-point{display:flex;gap:11px;align-items:flex-start;font-size:11px;color:rgba(255,255,255,.86)}
.auth-point i{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.13);flex:none}
.auth-art{position:relative;height:150px;margin-top:30px}
.auth-art-card{position:absolute;border-radius:16px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px);padding:14px}
.auth-art-card.main{width:230px;left:10px;bottom:0;transform:rotate(-4deg)}
.auth-art-card.small{width:145px;right:5px;top:12px;transform:rotate(6deg)}
.auth-art-line{height:7px;border-radius:99px;background:rgba(255,255,255,.22);margin:8px 0}
.auth-art-line.short{width:58%}.auth-art-line.long{width:88%}
.auth-art-icon{width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.14);display:grid;place-items:center;margin-bottom:10px}
.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:30px;padding:38px;box-shadow:0 25px 70px rgba(30,25,70,.10)}
.auth-head{text-align:center;margin-bottom:26px}
.auth-head .auth-icon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;margin:0 auto 15px;color:#fff;background:linear-gradient(135deg,#6d5dfc,#ec4899);box-shadow:0 12px 25px rgba(109,93,252,.20)}
.auth-head h2{font-size:28px;line-height:1.1;letter-spacing:-1px;margin:0 0 7px}
.auth-head p{font-size:12px;color:var(--muted);margin:0}
.auth-form{display:grid;gap:16px}
.auth-field{display:grid;gap:7px}
.auth-field label{font-size:11px;font-weight:800;color:var(--text)}
.auth-input-wrap{position:relative}
.auth-input{width:100%;height:48px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);outline:none;padding:0 44px 0 43px;font:inherit;font-size:12px;transition:.2s}
.auth-input::placeholder{color:#9aa2b3}
.auth-input:focus{border-color:#8b7cff;box-shadow:0 0 0 4px rgba(109,93,252,.10)}
.auth-input-wrap>i:first-child{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#8991a5;font-size:13px;pointer-events:none}
.auth-password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:#858da1;cursor:pointer}
.auth-password-toggle:hover{background:var(--surface-2);color:var(--primary)}
.auth-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.auth-check{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted);cursor:pointer}
.auth-check input{accent-color:#6d5dfc}
.auth-link{color:#6d5dfc;font-size:10px;font-weight:800}
.auth-link:hover{text-decoration:underline}
.auth-submit{height:49px;border:0;border-radius:14px;color:#fff;background:linear-gradient(135deg,#6d5dfc,#8b5cf6);font-size:12px;font-weight:900;cursor:pointer;box-shadow:0 14px 28px rgba(109,93,252,.20);transition:.2s}
.auth-submit:hover{transform:translateY(-1px);box-shadow:0 17px 32px rgba(109,93,252,.26)}
.auth-divider{display:flex;align-items:center;gap:10px;color:#9299aa;font-size:9px;margin:1px 0}
.auth-divider::before,.auth-divider::after{content:"";height:1px;background:var(--line);flex:1}
.auth-google{height:46px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);display:flex;align-items:center;justify-content:center;gap:9px;font-size:11px;font-weight:800;cursor:pointer}
.auth-google:hover{background:var(--surface-2)}
.auth-google i{font-size:14px}
.auth-bottom{text-align:center;margin-top:20px;font-size:10px;color:var(--muted)}
.auth-terms{text-align:center;color:#9198aa;font-size:9px;line-height:1.6;margin:2px 0 0}
.auth-alert{display:none;border:1px solid #fecaca;background:#fff1f2;color:#be123c;border-radius:12px;padding:10px 12px;font-size:10px;line-height:1.5}
.auth-alert.is-visible{display:block}
.auth-success{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}
.auth-hint{font-size:9px;color:var(--muted);margin-top:-2px}
.auth-strength{height:4px;background:var(--line);border-radius:99px;overflow:hidden;margin-top:-2px}
.auth-strength span{display:block;height:100%;width:0;border-radius:inherit;background:#6d5dfc;transition:.2s}
.auth-back{display:inline-flex;align-items:center;gap:7px;margin-top:20px;color:var(--muted);font-size:10px;font-weight:800}
.auth-back:hover{color:var(--primary)}
html[data-theme="dark"] .auth-card{box-shadow:0 30px 80px rgba(0,0,0,.28)}
html[data-theme="dark"] .auth-input,
html[data-theme="dark"] .auth-google{background:#121a2c;color:#f1f5f9;border-color:#29344a}
html[data-theme="dark"] .auth-alert{background:#321621;border-color:#6b2638;color:#fda4af}
html[data-theme="dark"] .auth-success{background:#102a22;border-color:#1d5b48;color:#86efac}
@media(max-width:820px){
  .auth-main{padding:35px 0 55px}
  .auth-wrap{grid-template-columns:1fr;max-width:570px}
  .auth-intro{display:none}
  .auth-card{padding:28px 22px;border-radius:24px}
}
@media(max-width:480px){
  .auth-main{padding:22px 0 40px}
  .auth-card{padding:24px 17px}
  .auth-head h2{font-size:25px}
  .auth-row{align-items:flex-start}
}
