/* ============================================================
   PARTYZA — AUTH PAGES (signup / login / forgot / reset)
   Shares the same design tokens as the homepage.
   ============================================================ */
:root{
  --canvas:#FFF8F0; --canvas-alt:#FFFFFF;
  --ink:#1F1730; --ink-soft:#655D7A; --ink-faint:#9891A8;
  --punch:#FF4772; --grape:#7C5CFC; --mint:#17C3A2; --sun:#FFD23F; --zest:#FFA53D;
  --line:#EFE6DA;
  --font-display:'Fredoka',sans-serif;
  --font-body:'Plus Jakarta Sans',sans-serif;
  --font-mono:'JetBrains Mono',monospace;
  --radius-lg:28px; --radius-md:16px;
  --shadow-soft:0 20px 50px -20px rgba(31,23,48,.28);
}
*,*::before,*::after{box-sizing:border-box;}
body{
  margin:0;background:var(--canvas);color:var(--ink);
  font-family:var(--font-body);line-height:1.55;-webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
h1,h2{font-family:var(--font-display);font-weight:600;margin:0;letter-spacing:-0.01em;}

.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;}
@media (max-width:900px){.auth-shell{grid-template-columns:1fr;}}

.auth-brand{
  position:relative;overflow:hidden;
  background:linear-gradient(150deg,var(--punch),var(--grape) 65%, var(--mint));
  color:#fff;padding:52px;display:flex;flex-direction:column;justify-content:space-between;
}
@media (max-width:900px){.auth-brand{display:none;}}
.auth-brand .logo{display:flex;align-items:center;gap:9px;font-family:var(--font-display);font-size:22px;font-weight:700;}
.auth-brand .logo-mark{width:32px;height:32px;border-radius:10px;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;transform:rotate(-8deg);}
.auth-brand .logo-mark span{transform:rotate(8deg);}
.auth-brand-copy h2{font-size:clamp(26px,3vw,36px);max-width:420px;}
.auth-brand-copy p{margin-top:14px;max-width:380px;font-size:15.5px;opacity:.92;}
.auth-card-preview{
  background:rgba(255,255,255,.14);backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.25);border-radius:22px;
  padding:22px 24px;max-width:280px;transform:rotate(-3deg);
  box-shadow:0 30px 60px -20px rgba(0,0,0,.35);
}
.auth-card-preview .tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;opacity:.85;}
.auth-card-preview h4{font-family:var(--font-display);font-size:19px;margin-top:8px;}
.auth-card-preview .meta{margin-top:12px;font-size:13px;opacity:.9;}

.auth-form-side{display:flex;align-items:center;justify-content:center;padding:40px 24px;}
.auth-form-wrap{width:100%;max-width:400px;}
.auth-form-wrap .mobile-logo{display:none;align-items:center;gap:9px;font-family:var(--font-display);font-size:21px;font-weight:700;margin-bottom:28px;}
@media (max-width:900px){.auth-form-wrap .mobile-logo{display:flex;}}
.auth-form-wrap .mobile-logo .logo-mark{width:30px;height:30px;border-radius:10px;background:linear-gradient(135deg,var(--punch),var(--grape));display:flex;align-items:center;justify-content:center;color:#fff;transform:rotate(-8deg);}
.auth-form-wrap .mobile-logo .logo-mark span{transform:rotate(8deg);}

.auth-form-wrap h1{font-size:28px;}
.auth-form-wrap .sub{margin-top:8px;color:var(--ink-soft);font-size:15px;}
.auth-form-wrap .sub a{color:var(--punch);font-weight:700;}

.field{margin-top:20px;}
.field label{display:block;font-size:13.5px;font-weight:700;margin-bottom:7px;}
.field input{
  width:100%;padding:13px 15px;border-radius:var(--radius-md);border:2px solid var(--line);
  font-family:var(--font-body);font-size:15px;background:var(--canvas-alt);color:var(--ink);
  transition:border-color .2s ease;
}
.field input:focus{outline:none;border-color:var(--grape);}
.field-hint{font-size:12.5px;color:var(--ink-faint);margin-top:6px;}
.field-row-between{display:flex;justify-content:space-between;align-items:center;margin-top:6px;}
.field-row-between a{font-size:13.5px;font-weight:700;color:var(--punch);}

.btn-submit{
  width:100%;margin-top:26px;padding:15px;border:none;border-radius:100px;
  background:linear-gradient(135deg,var(--punch),var(--grape));color:#fff;
  font-family:var(--font-body);font-weight:700;font-size:15.5px;cursor:pointer;
  box-shadow:0 14px 30px -10px rgba(255,71,114,.5);transition:transform .2s ease;
}
.btn-submit:hover{transform:translateY(-2px);}

.alert{
  padding:13px 16px;border-radius:14px;font-size:14px;margin-top:22px;font-weight:600;
}
.alert-error{background:rgba(255,71,114,.1);color:#C81B49;border:1.5px solid rgba(255,71,114,.25);}
.alert-success{background:rgba(23,195,162,.1);color:#0E8770;border:1.5px solid rgba(23,195,162,.3);}

.auth-divider{display:flex;align-items:center;gap:12px;margin-top:26px;color:var(--ink-faint);font-size:13px;}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--line);}

.back-home{display:inline-flex;align-items:center;gap:6px;margin-top:28px;font-size:13.5px;font-weight:700;color:var(--ink-soft);}
