*,::before,::after{padding:0;margin:0;box-sizing:border-box;}
.auth-bg{background:var(--bg,#F5F5FA);background-image:none;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;height:100%;}
.auth-bg::before,.auth-bg::after{display:none!important;}
.auth-dot{position:absolute;border-radius:50%;pointer-events:none;z-index:0;}
.auth-dot--solid{background:var(--p);}
.auth-dot--faint{background:var(--p);}
.auth-dot-1{width:14px;height:14px;top:12%;left:8%;opacity:.55;}
.auth-dot-2{width:9px;height:9px;top:28%;left:18%;opacity:.35;}
.auth-dot-3{width:18px;height:18px;top:60%;left:5%;opacity:.18;}
.auth-dot-4{width:11px;height:11px;top:15%;right:10%;opacity:.45;}
.auth-dot-5{width:7px;height:7px;top:40%;right:6%;opacity:.3;}
.auth-dot-6{width:20px;height:20px;bottom:12%;right:14%;opacity:.15;}
.auth-dot-v1{width:22px;height:22px;top:8%;left:6%;opacity:.15;}
.auth-dot-v2{width:10px;height:10px;top:30%;right:8%;opacity:.4;}
.auth-dot-v3{width:14px;height:14px;bottom:18%;left:12%;opacity:.3;}
.auth-dot-v4{width:8px;height:8px;bottom:30%;right:20%;opacity:.25;}
.auth-card{position:relative;z-index:1;display:flex;width:100%;max-width:900px;min-height:560px;border-radius:24px;overflow:hidden;box-shadow:0 20px 60px rgba(var(--p-rgb),0.09),0 4px 24px #0000000f;background:var(--card,#fff);flex-direction:row-reverse;}
.auth-left{padding:35px;flex:1;display:flex;flex-direction:column;justify-content:center;overflow-y:auto;background:var(--card,#fff);}
.auth-left-heading{font-family:'Bricolage Grotesque',sans-serif;font-size:1.75rem;font-weight:800;color:var(--text,#111827);margin-bottom:6px;line-height:1.2;}
.auth-left-sub{margin-bottom:15px;font-size:.88rem;color:var(--muted,#6B7280);line-height:1.55;}
.form-group{margin-bottom:16px;position:relative;}
.form-label{display:block;font-size:.84rem;font-weight:600;color:var(--text,#374151);margin-bottom:6px;text-transform:none;letter-spacing:0;}
.form-input{padding:14px 16px;width:100%;border:1.5px solid var(--border,#E5E7EB);border-radius:12px;font-size:.94rem;color:var(--text,#111827);background:#fff;outline:none;transition:border-color .2s,box-shadow .2s;font-family:inherit;}
.form-input:focus{border-color:var(--p);box-shadow:0 0 0 3px rgba(var(--p-rgb),0.08);background:#fff;}
.form-input::placeholder{color:#B0B0C8;}
.form-input-wrap{position:relative;}
.form-input-wrap .auth-eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);}
.form-optional{font-size:.72rem;font-weight:400;color:var(--muted,#9CA3AF);text-transform:none;letter-spacing:0;margin-left:4px;}
.auth-form{margin-top:15px;display:flex;flex-direction:column;gap:0;}
.auth-field{margin-bottom:16px;position:relative;}
.auth-label{display:block;font-size:.84rem;font-weight:600;color:var(--text,#374151);margin-bottom:6px;text-transform:none;letter-spacing:0;}
.auth-input{padding:14px 16px;width:100%;border:1.5px solid var(--border,#E5E7EB);border-radius:12px;font-size:.94rem;color:var(--text,#111827);background:#fff;outline:none;transition:border-color .2s,box-shadow .2s;font-family:inherit;}
.auth-input:focus{border-color:var(--p);box-shadow:0 0 0 3px rgba(var(--p-rgb),0.08);background:#fff;}
.auth-input::placeholder{color:#B0B0C8;}
.auth-input-wrap{position:relative;}
.auth-eye{padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#9CA3AF;display:flex;align-items:center;transition:color .15s;}
.auth-eye:hover{color:var(--p);}
.eye-icon{display:inline-block;vertical-align:middle;}
.auth-eye svg,.auth-eye .eye-icon{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block;}
.auth-eye .eye-icon.eye-closed{display:none;}
.auth-field-row{display:flex;gap:10px;margin-bottom:0;}
.auth-field-flex{flex:1;margin-bottom:0;}
.form-row-auth{display:flex;gap:10px;}
.auth-forgot-row{text-align:right;margin-top:6px;}
.auth-remember-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;margin-top:6px;}
.auth-remember{display:flex;align-items:center;gap:8px;cursor:pointer;}
.auth-remember-check{width:20px;height:20px;accent-color:var(--p);border-radius:4px;cursor:pointer;}
.auth-remember-label{font-size:.84rem;color:var(--text,#374151);font-weight:500;}
.auth-social--icons{display:flex;align-items:center;justify-content:center;gap:22px;margin-bottom:20px;}
.auth-social-icon-btn{width:54px;height:54px;border-radius:50%;border:1.5px solid var(--border,#E5E7EB);background:var(--card,#fff);display:flex;align-items:center;justify-content:center;transition:border-color .2s,box-shadow .2s;text-decoration:none;}
.auth-social-icon-btn:hover{border-color:var(--p);box-shadow:0 0 0 3px rgba(var(--p-rgb),0.08);}
.auth-social-icon-btn .auth-social-icon{width:24px;height:24px;}
.auth-label-link{font-size:.84rem;color:var(--p);font-weight:600;text-decoration:none;}
.auth-label-link:hover{text-decoration:underline;}
.auth-btn{padding:16px 20px;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:linear-gradient(135deg,var(--p),var(--p-dark));color:#fff;font-size:1rem;font-weight:700;border:none;border-radius:16px;cursor:pointer;transition:opacity .2s,transform .1s;font-family:inherit;text-decoration:none;margin-top:4px;}
.auth-btn:hover{opacity:.92;transform:translateY(-1px);}
.auth-btn:active{transform:translateY(0);}
.auth-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;}
.auth-btn--mt-back{margin-top:20px;}
.auth-btn--mt-m{margin-top:16px;}
.auth-btn--block{display:flex;}
.auth-spinner{width:14px;height:14px;border-radius:50%;border:2px solid #ffffff60;border-top-color:#fff;display:inline-block;animation:auth-spin .7s linear infinite;}
@keyframes auth-spin {
to{transform:rotate(360deg);}
}
.auth-alert{padding:12px 14px;display:flex;align-items:flex-start;gap:10px;border-radius:10px;font-size:.84rem;line-height:1.5;}
.auth-alert--error{background:#FEF2F2;color:#B91C1C;border:1px solid #FECACA;}
.auth-alert--warn{background:#FFFBEB;color:#92400E;border:1px solid #FDE68A;}
.auth-alert--info{background:#EFF6FF;color:#1D4ED8;border:1px solid #BFDBFE;}
.auth-alert--success{background:#F0FDF4;color:#065F46;border:1px solid #BBF7D0;}
.auth-alert--split{justify-content:space-between;align-items:center;}
.auth-alert-left{display:flex;align-items:center;gap:8px;}
.auth-alert-link{padding:6px 10px;font-size:.78rem;font-weight:700;color:var(--p);text-decoration:none;white-space:nowrap;border-radius:8px;background:var(--p-light);}
.auth-alert-resend{color:#92400E;font-weight:700;text-decoration:underline;}
.auth-or{margin:20px 0;text-align:center;justify-content:center;font-size:.82rem;color:var(--muted,#9CA3AF);font-weight:600;position:relative;}
.auth-or::before,.auth-or::after{content:'';position:absolute;top:50%;width:42%;height:1px;background:var(--border,#E5E7EB);}
.auth-or::before{left:0;}
.auth-or::after{right:0;}
.auth-social{display:flex;gap:8px;margin-bottom:14px;}
.auth-social-btn{padding:11px 16px;display:flex;align-items:center;gap:10px;border-radius:10px;border:1.5px solid var(--border,#E5E7EB);background:var(--card,#fff);font-size:.88rem;font-weight:600;color:var(--text,#374151);text-decoration:none;transition:border-color .2s,box-shadow .2s;}
.auth-social-btn:hover{border-color:var(--p);box-shadow:0 0 0 3px rgba(var(--p-rgb),0.06);}
.auth-social-icon{width:18px;height:18px;flex-shrink:0;}
.auth-back-btn{display:none;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:none;color:var(--text,#1a1a1a);text-decoration:none;border-radius:8px;transition:background .15s;}
.auth-back-btn:hover{background:var(--bg,#f5f5fa);}
.auth-demo{margin-top:15px;font-size:.72rem;color:var(--muted,#9CA3AF);text-align:center;}
.auth-switch{font-size:.88rem;color:var(--muted,#6B7280);text-align:center;margin-top:15px;}
.auth-switch a{color:var(--p);font-weight:700;text-decoration:none;}
.auth-switch a:hover{text-decoration:underline;}
.auth-switch--mt2{margin-top:20px;}
.auth-switch--mt-s{margin-top:10px;}
select.auth-input{appearance:none;-webkit-appearance:none;background-image:url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%239CA3AF%22 stroke-width=%222%22%3E%3Cpolyline points=%2218 9 12 15 6 9%22/%3E%3C/svg%3E');background-repeat:no-repeat;background-position:right 14px center;background-size:14px;padding-right:36px;cursor:pointer;}
.auth-verify-sent{display:flex;flex-direction:column;}
.auth-verify-icon{width:64px;height:64px;border-radius:18px;background:var(--p-light);display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:4px;}
.auth-verify-title{font-family:'Bricolage Grotesque',sans-serif;font-size:1.75remfont-weight:800;color:var(--text,#111827);}
.auth-verify-sub{font-size:.88rem;color:var(--muted,#6B7280);line-height:1.55;}
.auth-verify-steps{margin:8px 0;display:flex;flex-direction:column;gap:10px;width:100%;text-align:left;}
.auth-verify-step{display:flex;align-items:center;gap:12px;font-size:.84rem;color:var(--text,#374151);}
.auth-verify-step-num{width:26px;height:26px;border-radius:50%;background:var(--p-light);color:var(--p);font-size:.75rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.auth-verify-note{padding:10px 12px;display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--text,#374151);background:var(--bg);border-radius:8px;width:100%;}
.rp-form-wrap{width:100%;max-width:420px;}
.rp-link{color:var(--p);font-weight:700;font-size:.9rem;}
.auth-field-flex{flex:1;margin-bottom:0;}
.form-group-flex{flex:1;}
.rsvp-icon-accepted{background:#D1FAE5;}
.rsvp-title-accepted{color:#059669;}
.rsvp-icon-declined{background:#FEE2E2;}
.rsvp-title-declined{color:#EF4444;}
.auth-right{padding:32px 28px;width:360px;flex-shrink:0;background-color:var(--p);background-image:repeating-linear-gradient(-45deg,transparent,transparent 18px,#ffffff12 18px,#ffffff12 19px),repeating-linear-gradient(45deg,transparent,transparent 18px,#ffffff0a 18px,#ffffff0a 19px),linear-gradient(160deg,var(--p-mid,var(--p)) 0%,var(--p) 40%,var(--p-dark,var(--p)) 100%);display:flex;flex-direction:column;align-items:stretch;position:relative;overflow:hidden;gap:0;}
@keyframes ar-fade-up {
from{opacity:0;transform:translateY(18px);}
to{opacity:1;transform:translateY(0);}
}
@keyframes ar-fade-in {
from{opacity:0;}
to{opacity:1;}
}
@keyframes ar-pulse-ring {
0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.18;}
50%{transform:translate(-50%,-50%) scale(1.12);opacity:.08;}
}
@keyframes ar-pulse-ring2 {
0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.1;}
50%{transform:translate(-50%,-50%) scale(1.1);opacity:.04;}
}
@keyframes ar-float {
0%,100%{transform:translateY(0);}
50%{transform:translateY(-8px);}
}
@keyframes ar-spin-slow {
from{transform:rotate(0deg);}
to{transform:rotate(360deg);}
}
@keyframes ar-dot-pop {
0%{transform:scale(0);opacity:0;}
70%{transform:scale(1.3);}
100%{transform:scale(1);opacity:1;}
}
@keyframes ar-blob-drift {
0%,100%{transform:translate(0,0) scale(1);}
33%{transform:translate(12px,-8px) scale(1.05);}
66%{transform:translate(-8px,10px) scale(.97);}
}
@keyframes ar-count-up {
from{opacity:0;transform:translateY(6px);}
to{opacity:1;transform:translateY(0);}
}
@keyframes ar-shimmer {
0%{background-position:-200% center;}
100%{background-position:200% center;}
}
.ar-logo{display:flex;align-items:center;gap:10px;margin-bottom:28px;animation:ar-fade-up .5s ease both;}
.ar-logo-name{font-family:'Bricolage Grotesque',sans-serif;font-size:1.1rem;font-weight:800;color:#fff;letter-spacing:.01em;}
.ar-hero{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:24px;height:120px;animation:ar-fade-in .6s .1s ease both;}
.ar-hero-circle{position:absolute;border-radius:50%;border:1.5px solid #ffffff2e;}
.ar-hero-circle--1{width:110px;height:110px;top:50%;left:50%;transform:translate(-50%,-50%);animation:ar-pulse-ring 3s ease-in-out infinite;}
.ar-hero-circle--2{width:148px;height:148px;top:50%;left:50%;transform:translate(-50%,-50%);border-color:#ffffff17;animation:ar-pulse-ring2 3s 1s ease-in-out infinite;}
.ar-hero-icon{position:relative;z-index:1;animation:ar-float 4s ease-in-out infinite;}
.ar-orbit{margin:-74px 0 0 -74px;position:absolute;width:148px;height:148px;top:50%;left:50%;animation:ar-spin-slow 8s linear infinite;pointer-events:none;}
.ar-orbit-dot{position:absolute;top:-5px;left:50%;margin-left:-5px;width:10px;height:10px;border-radius:50%;background:#ffffff4f;box-shadow:0 0 6px #ffffff4f;}
.ar-quote{margin-bottom:20px;animation:ar-fade-up .5s .25s ease both;}
.ar-quote-text{font-family:'Bricolage Grotesque',sans-serif;font-size:1.35rem;font-weight:800;line-height:1.3;margin-bottom:8px;background:linear-gradient(90deg,#fff 0%,#E9D5FF 50%,#fff 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:ar-shimmer 4s linear 1s infinite;}
.ar-quote-sub{font-size:.8rem;color:#ffffffb8;line-height:1.55;}
.ar-features{display:flex;flex-direction:column;gap:9px;margin-bottom:auto;padding-bottom:22px;}
.ar-feat{display:flex;align-items:center;gap:10px;font-size:.8rem;color:#ffffffe0;font-weight:500;animation:ar-fade-up .45s ease both;}
.ar-feat:nth-child(1){animation-delay:.35s;}
.ar-feat:nth-child(2){animation-delay:.45s;}
.ar-feat:nth-child(3){animation-delay:.55s;}
.ar-feat-dot{width:7px;height:7px;border-radius:50%;background:#ffffff4f;flex-shrink:0;animation:ar-dot-pop .4s ease both;}
.ar-feat:nth-child(1) .ar-feat-dot{animation-delay:.4s;}
.ar-feat:nth-child(2) .ar-feat-dot{animation-delay:.5s;}
.ar-feat:nth-child(3) .ar-feat-dot{animation-delay:.6s;}
.ar-stats{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:14px;margin-top:auto;width:100%;animation:ar-fade-up .5s .65s ease both;backdrop-filter:blur(6px);}
.ar-stat{text-align:center;flex:1;}
.ar-stat-n{font-family:'Bricolage Grotesque',sans-serif;font-size:1.1rem;font-weight:800;color:#fff;animation:ar-count-up .5s ease both;}
.ar-stat:nth-child(1) .ar-stat-n{animation-delay:.7s;}
.ar-stat:nth-child(3) .ar-stat-n{animation-delay:.8s;}
.ar-stat:nth-child(5) .ar-stat-n{animation-delay:.9s;}
.ar-stat-l{font-size:.68rem;color:#ffffff9e;margin-top:2px;}
.ar-stat-div{width:1px;height:32px;background:#fff3;}
.auth-right::before{content:'';position:absolute;width:280px;height:280px;border-radius:50%;background:#ffffff1a;top:-80px;left:-80px;pointer-events:none;animation:ar-blob-drift 9s ease-in-out infinite;}
.auth-right::after{content:'';position:absolute;width:240px;height:240px;border-radius:50%;background:#ffffff14;bottom:-70px;left:-60px;pointer-events:none;animation:ar-blob-drift 11s 2s ease-in-out infinite reverse;}
.fp-icon-wrap,.rp-icon-wrap{margin-bottom:18px;}
.fp-icon-circle,.rp-icon-circle{width:64px;height:64px;border-radius:18px;background:var(--p-light);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px rgba(var(--p-rgb),0.18);}
.auth-success-box{padding:18px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;background:#F0FDF4;border:1px solid #BBF7D0;border-radius:14px;margin-bottom:16px;text-align:center;}
.auth-success-icon{width:44px;height:44px;border-radius:50%;background:#D1FAE5;display:flex;align-items:center;justify-content:center;}
.auth-success-title{font-family:'Bricolage Grotesque',sans-serif;font-size:1rem;font-weight:800;color:#065F46;margin-bottom:4px;}
.auth-success-sub{font-size:.82rem;color:#047857;line-height:1.5;}
.rv-icon{margin:0 0 16px;width:80px;height:80px;display:flex;align-items:center;justify-content:center;}
.rv-icon--green{color:#059669;}
.rv-icon--red{color:#DC2626;}
.rv-title{font-family:'Bricolage Grotesque',sans-serif;font-size:1.5rem;font-weight:800;color:var(--text,#111827);margin-bottom:8px;}
.rv-desc{font-size:.88rem;color:var(--muted,#6B7280);line-height:1.55;margin-bottom:20px;}
.rv-btn{margin-bottom:10px;}
.rv-back{display:block;text-align:center;font-size:.86rem;color:var(--p,var(--p));font-weight:600;text-decoration:none;}
.rv-back:hover{text-decoration:underline;}
.vfy-icon{margin:0 auto 20px;width:72px;height:72px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:2rem;}
.vfy-icon--info{background:var(--p-light,var(--p-light));}
.vfy-icon--warn{background:#FEF3C7;}
.vfy-icon--error{background:#FEE2E2;}
.vfy-title{margin:0 0 10px;font-family:'Bricolage Grotesque',sans-serif;font-size:1.4rem;font-weight:800;color:var(--text,#111827);}
.vfy-sub{margin:0 0 12px;font-size:.9rem;color:var(--text2,#4B5563);line-height:1.6;}
.vfy-hint{margin:0;font-size:.82rem;color:var(--muted,#6B7280);}
.auth-fp-illustration{display:none;}
@media (max-width:900px) {
.auth-right{display:none!important;}
.auth-card{max-width:520px;min-height:unset;}
.auth-left{padding:40px 36px;}
}
@media (max-width:540px) {
.auth-bg{padding:0;align-items:stretch;justify-content:flex-start;height:100%;background:#fff!important;background-image:none!important;overflow:visible;position:static;}
.auth-bg::before,.auth-bg::after{display:none!important;}
.auth-card{flex-direction:column;min-height:100%;border-radius:0;max-width:100%;width:100%;box-shadow:none!important;background:transparent!important;overflow:visible;position:static;}
.auth-left{padding:20px 24px 40px;width:100%;justify-content:flex-start;background:#fff!important;}
.auth-back-btn{display:flex;margin-bottom:22px;}
.auth-left-heading{font-size:1.6rem;font-weight:800;margin-bottom:4px;}
.auth-left-sub{font-size:.92rem;margin-bottom:28px;color:var(--muted,#6B7280);}
.auth-dot{display:none!important;}
.auth-dot-v1,.auth-dot-v2,.auth-dot-v3,.auth-dot-v4{display:none;}
.auth-fp-illustration{display:flex;align-items:center;justify-content:center;margin-top:30px;}
.auth-fp-illustration img{height:130px;}
}

/* ── Mobile: neutralize auth-bg/auth-card for dark theme too ── */
@media (max-width:540px) {
html[data-theme="dark"] .auth-bg{background:#fff!important;background-image:none!important;}
html[data-theme="dark"] .auth-card{background:transparent!important;box-shadow:none!important;}
html[data-theme="dark"] .auth-left{background:#fff!important;}
html[data-theme="dark"] .auth-left-heading{color:#111827!important;}
html[data-theme="dark"] .auth-left-sub{color:#6B7280!important;}
html[data-theme="dark"] .auth-input,html[data-theme="dark"] .form-input{background:#fff!important;border-color:#E5E7EB!important;color:#111827!important;}
html[data-theme="dark"] .auth-input:focus,html[data-theme="dark"] .form-input:focus{background:#fff!important;border-color:var(--p)!important;}
}

/* ── Bot-trap honeypot — invisible to real users, screen readers excluded ── */
.bot-trap-field {
  position: absolute !important;
  left:      -9999px !important;
  top:       -9999px !important;
  width:     1px     !important;
  height:    1px     !important;
  overflow:  hidden  !important;
  opacity:   0       !important;
  pointer-events: none !important;
  tab-index: -1      !important;
}
