body:has(.auth-shell) { overflow-x:hidden; background:#0b1426!important; }
.auth-shell { position:relative;z-index:1;width:100%;min-height:calc(100svh - 170px);display:grid;place-items:center;overflow:hidden;padding:34px 3.8vw 42px;background:radial-gradient(ellipse at 14% 12%,#17346d 0,transparent 40%),linear-gradient(135deg,#0b1426,#111a31 56%,#17122c);font-family:Inter,"Plus Jakarta Sans",sans-serif; }
.auth-panel { width:min(1420px,100%);min-height:min(820px,calc(100svh - 250px));display:grid;grid-template-columns:minmax(0,1.42fr) minmax(440px,.98fr);overflow:hidden;border:1px solid rgba(60,157,255,.76);border-radius:32px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.38); }
.auth-welcome { position:relative;display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:48px 46px 34px;overflow:hidden;color:#fff;background:linear-gradient(90deg,rgba(3,12,30,.88) 0%,rgba(4,15,37,.73) 43%,rgba(8,16,42,.34) 100%),linear-gradient(0deg,rgba(39,32,115,.34),transparent 48%),url('../images/neon-photography-studio-backdrop-clean.png') center/cover; }
.auth-welcome::before { content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 78% 35%,rgba(64,89,255,.36),transparent 30%),linear-gradient(145deg,transparent 55%,rgba(93,31,225,.55));mix-blend-mode:screen; }
.auth-welcome::after { content:none; }
.auth-welcome > * { position:relative;z-index:1; }
.auth-brand-lockup { width:max-content;max-width:100%; }
.auth-wordmark { position:relative;display:block;width:280px;max-width:100%;height:44px;overflow:hidden;border-radius:7px;background:transparent; }
.auth-wordmark img { position:absolute;left:0;top:50%;display:block;width:100%;height:auto;transform:translateY(-50%); }
.auth-wordmark-tagline { display:block;margin:8px 0 0 2px;color:#c1ccde;font-size:10px;font-weight:600;letter-spacing:.42em; }
.auth-hero-content { max-width:650px;margin:auto 0;padding:42px 0 32px; }
.auth-join-pill { display:inline-flex;align-items:center;gap:9px;margin-bottom:20px;padding:10px 16px;border:1px solid #1579f1;border-radius:999px;color:#fff;background:rgba(12,40,103,.58);font-size:14px;font-weight:700; }
.auth-join-pill i { color:#66c2ff; }
.auth-hero-title { margin:0 0 16px;color:#fff;font-size:clamp(42px,5vw,72px);font-weight:850;letter-spacing:-.06em;line-height:.99; }
.auth-hero-title span { color:#2ba7ff;background:linear-gradient(90deg,#15a8ff,#a34cff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent; }
.auth-hero-description { max-width:520px;margin:0;color:#c2cbd9;font-size:18px;line-height:1.65; }
.auth-steps { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px; }
.auth-step { min-height:150px;padding:16px 15px;border:1px solid rgba(147,175,225,.42);border-radius:20px;background:rgba(16,29,57,.72);backdrop-filter:blur(12px); }
.auth-step:first-child { color:#0c1832;background:linear-gradient(145deg,#fff,#edf6ff);border-color:#39a5ff;box-shadow:0 0 0 2px rgba(38,152,255,.22),0 12px 30px rgba(22,74,188,.2); }
.auth-step-num { display:grid;width:34px;height:34px;place-items:center;margin-bottom:10px;border:1px solid rgba(255,255,255,.32);border-radius:50%;color:#fff;background:linear-gradient(135deg,#1976ff,#7136f5);font-size:15px;font-weight:800; }
.auth-step:first-child .auth-step-num { color:#fff; }
.auth-step-icon { display:block;margin-bottom:9px;color:#19aef4;font-size:25px; }
.auth-step strong { display:block;font-size:14px;line-height:1.35; }
.auth-step small { display:block;margin-top:5px;color:#abb8d0;font-size:11px;line-height:1.4; }
.auth-step:first-child small { color:#59677e; }
.auth-progress { display:flex;gap:12px;margin-top:38px; }
.auth-progress span { width:58px;height:4px;border-radius:9px;background:rgba(255,255,255,.18); }
.auth-progress span:first-child { background:linear-gradient(90deg,#fff,#713aff); }
.auth-form-panel { display:flex;align-items:center;justify-content:center;min-width:0;overflow-y:auto;padding:42px clamp(30px,3vw,54px);color:#111827;background:linear-gradient(145deg,#fff,#fbfbfe); }
.auth-form-inner { width:100%;max-width:530px;margin:auto; }
.auth-form-title { margin:0;color:#0c1426;font-size:clamp(30px,3vw,38px);font-weight:800;letter-spacing:-.045em;line-height:1.12;text-align:center; }
.auth-form-subtitle { margin:8px 0 22px;color:#7b8498;font-size:14px;line-height:1.5;text-align:center; }
.auth-tabs { display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:20px;padding:4px;border-radius:14px;background:#f0f1f5; }
.auth-tabs a { display:flex;min-height:46px;align-items:center;justify-content:center;border-radius:11px;color:#687185;font-size:15px;font-weight:700;text-decoration:none;transition:background .2s,color .2s,box-shadow .2s; }
.auth-tabs a.active { color:#fff;background:linear-gradient(100deg,#087df5,#4935ec);box-shadow:0 5px 15px rgba(43,89,228,.2); }
.auth-form-panel .form-label { margin-bottom:6px;color:#172033!important;font-size:13px;font-weight:700!important; }
.auth-form-panel .form-control-dark,.auth-form-panel .form-control { min-height:48px;border:1px solid #dce1eb!important;border-radius:12px!important;color:#1c2435!important;background:#fff!important;box-shadow:0 1px 2px rgba(10,20,40,.03)!important; }
.auth-form-panel .form-control-dark::placeholder,.auth-form-panel .form-control::placeholder { color:#9aa3b5!important; }
.auth-form-panel .form-control-dark:focus,.auth-form-panel .form-control:focus { border-color:#5294ff!important;box-shadow:0 0 0 4px rgba(34,122,255,.12)!important; }
.auth-form-panel .text-white-50 { color:#69758a!important; }
.auth-form-panel .text-secondary { color:#263147!important; }
.auth-form-panel .text-muted { color:#778198!important; }
.auth-primary-btn { min-height:54px;border:0;border-radius:13px!important;color:#fff!important;background:linear-gradient(100deg,#076ff1,#4432e8 63%,#8d25e9)!important;box-shadow:0 8px 20px rgba(62,60,220,.2);font-size:16px;font-weight:750!important; }
.auth-primary-btn:hover { filter:brightness(1.06);transform:translateY(-1px); }
.auth-google-btn { display:flex;width:100%;min-height:52px;align-items:center;justify-content:center;gap:11px;border:1px solid #dce1eb;border-radius:13px;color:#171e2c;background:#fff;font-weight:700;text-decoration:none;transition:background .2s,border .2s; }
.auth-google-btn:hover { border-color:#b4c5e3;color:#111827;background:#f8faff; }
.auth-google-btn svg { width:22px;height:22px; }
.auth-divider { display:flex;align-items:center;gap:14px;margin:16px 0;color:#788195;font-size:13px; }
.auth-divider::before,.auth-divider::after { content:"";height:1px;flex:1;background:#e2e6ef; }
.auth-form-foot { margin:20px 0 0;color:#525e73;font-size:13px;text-align:center; }
.auth-form-foot a { color:#075ce5;font-weight:700;text-decoration:none; }
.auth-legal { margin:14px 0 0;color:#7c8495;font-size:11px;line-height:1.6;text-align:center; }
.auth-legal a { color:#075ce5; }
.auth-error { padding:11px 13px;border-radius:11px;font-size:13px; }
.auth-form-panel .owner-screen-notice { color:#264568!important;background:#eef6ff!important;border:1px solid #d7e9ff!important; }
.auth-form-panel .auth-divider { color:#788195; }
html[data-theme] body:has(.auth-shell) .auth-form-panel :is(h1,h2,h3,h4,p,label,small,span,.text-muted,.text-secondary) { color:#273247!important; }
html[data-theme] body:has(.auth-shell) .auth-form-panel .auth-form-title { color:#0c1426!important; }
html[data-theme] body:has(.auth-shell) .auth-form-panel .auth-form-subtitle,
html[data-theme] body:has(.auth-shell) .auth-form-panel .auth-legal { color:#778198!important; }
html[data-theme] body:has(.auth-shell) .auth-form-panel .auth-tabs a { color:#687185!important; }
html[data-theme] body:has(.auth-shell) .auth-form-panel .auth-tabs a.active { color:#fff!important; }
html[data-theme] body:has(.auth-shell) .auth-form-panel .form-control,
html[data-theme] body:has(.auth-shell) .auth-form-panel .form-control-dark,
html[data-theme] body:has(.auth-shell) .auth-form-panel .form-select { color:#1c2435!important;background:#fff!important;border-color:#dce1eb!important; }
html[data-theme] body:has(.auth-shell) .auth-form-panel :is(.form-control,.form-control-dark)::placeholder { color:#9aa3b5!important; }
html[data-theme] body:has(.auth-shell) .auth-form-panel .auth-google-btn { color:#171e2c!important; }
@media(max-width:1000px) { .auth-shell { padding:20px; }.auth-panel { grid-template-columns:minmax(0,1.1fr) minmax(390px,.9fr); }.auth-welcome { padding:36px 28px 28px; }.auth-steps { gap:8px; }.auth-step { padding:13px 11px; }.auth-step strong { font-size:12px; } }
@media(max-width:760px) { .auth-shell { display:block;min-height:0;padding:22px 16px 34px; }.auth-panel { width:100%;min-height:0;display:flex;flex-direction:column;border:1px solid rgba(60,157,255,.65);border-radius:24px; }.auth-welcome { min-height:235px;padding:24px 25px 22px; }.auth-welcome::after { width:240px;height:240px;right:-35px;top:40px; }.auth-wordmark { width:230px;height:37px; }.auth-wordmark-tagline { margin-top:7px;font-size:8px; }.auth-hero-content { padding:23px 0 0;margin:0; }.auth-join-pill { margin-bottom:11px;padding:7px 11px;font-size:11px; }.auth-hero-title { max-width:420px;margin-bottom:7px;font-size:clamp(30px,7vw,45px); }.auth-hero-description { font-size:13px;line-height:1.45; }.auth-steps,.auth-progress { display:none; }.auth-form-panel { min-height:0;align-items:flex-start;overflow:visible;padding:28px 23px 36px;border-radius:24px 24px 0 0; }.auth-form-inner { max-width:520px; }.auth-form-title { font-size:30px; }.auth-form-subtitle { margin:7px 0 17px;font-size:13px; }.auth-tabs { margin-bottom:17px; }.auth-form-panel .form-control-dark,.auth-form-panel .form-control { min-height:46px; } }
@media(prefers-reduced-motion:reduce) { .auth-shell *, .auth-shell *::before, .auth-shell *::after { transition:none!important;animation:none!important;scroll-behavior:auto!important; } }
