/* Focused, responsive sign-in experience for The Groove Dance Studio. */
body:has(.bb-auth-page){min-height:100vh;background:var(--tg-canvas)!important;color:var(--tg-ink)}
.bb-auth-page{position:relative;isolation:isolate;display:flex;align-items:center;min-height:calc(100vh - 190px);padding:84px 22px 54px!important;overflow:hidden;background:radial-gradient(ellipse at 8% 8%,rgba(82,118,173,.17),transparent 32%),radial-gradient(ellipse at 92% 86%,rgba(82,118,173,.11),transparent 32%),var(--tg-canvas)!important;color:var(--tg-ink)}
.bb-auth-page:before{z-index:-3;opacity:.65;background-image:linear-gradient(rgba(82,118,173,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(82,118,173,.055) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 78%,transparent)}
.bb-auth-bg-one{left:-190px;bottom:-210px;width:490px;height:490px;background:radial-gradient(circle,rgba(82,118,173,.2),transparent 69%)}
.bb-auth-bg-two{right:-220px;top:-240px;width:590px;height:590px;background:radial-gradient(circle,rgba(98,139,198,.22),transparent 68%)}
.bb-auth-shell{width:min(1100px,100%);padding:0;z-index:1}
.bb-auth-card{grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);min-height:620px;border:1px solid var(--tg-border);border-radius:28px;background:var(--tg-surface);box-shadow:0 30px 90px rgba(30,42,62,.16);backdrop-filter:none;-webkit-backdrop-filter:none}
.bb-auth-visual{display:flex;min-width:0;background:radial-gradient(ellipse at 8% 85%,rgba(133,171,224,.22),transparent 44%),linear-gradient(145deg,#202b40,#293f68 54%,#35588f);color:#fff}
.bb-auth-visual:before{z-index:0;opacity:.11;background:radial-gradient(circle at 50% 50%,transparent 20%,#101827 100%),linear-gradient(130deg,transparent 20%,rgba(255,255,255,.18),transparent 55%);}
.bb-auth-visual:after{right:-102px;bottom:-126px;width:350px;height:350px;border-color:rgba(207,225,250,.2);background:radial-gradient(circle,rgba(160,193,236,.13),transparent 68%)}
.bb-auth-visual-inner{width:100%;min-height:620px;padding:48px clamp(30px,5vw,62px) 42px;justify-content:center;gap:0}
.bb-auth-logo-wrap{position:relative;z-index:2;display:flex;width:min(340px,100%);min-height:0;margin:0 0 64px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none}
.bb-auth-logo-wrap:hover{transform:translateY(-2px);box-shadow:none}
.bb-auth-logo{width:min(320px,100%);max-height:92px;object-fit:contain;filter:brightness(0) invert(1)}
.bb-auth-brand-lockup{display:flex;width:100%;align-items:flex-start;justify-content:center;background:transparent}
.bb-auth-hero-copy{position:relative;z-index:2;max-width:440px}
.bb-auth-kicker{display:flex;align-items:center;gap:9px;margin:0 0 16px;color:#d7e5f7;font-size:10px;font-weight:850;letter-spacing:.2em}
.bb-auth-kicker-dot{width:7px;height:7px;border-radius:50%;background:#a9c7f0;box-shadow:0 0 0 5px rgba(169,199,240,.12),0 0 18px rgba(169,199,240,.7)}
.bb-auth-hero-copy h1{margin:0 0 17px;color:#fff;font-size: 36px;font-weight:850;letter-spacing:-.06em;line-height:.99}
.bb-auth-hero-copy h1 em{color:#bed2ef;font-style:normal}
.bb-auth-hero-copy p:last-child{max-width:380px;color:rgba(245,248,253,.75);font-size:14px;line-height:1.75}
.bb-auth-dancers{position:absolute;right:5%;bottom:2%;z-index:1;width:min(64%,460px);height:45%;pointer-events:none;overflow:hidden;opacity:.22;mask-image:linear-gradient(to top,#000 0,transparent 100%)}
.auth-dancer{position:absolute;bottom:-13%;width:32%;height:100%;overflow:visible;fill:#e5efff;filter:drop-shadow(0 0 20px rgba(188,211,244,.2));transform-origin:50% 88%;animation:tg-dance-sway 4.8s ease-in-out infinite alternate}
.auth-dancer-one{left:0;transform:rotate(-10deg) scale(.92);animation-delay:-1.4s}
.auth-dancer-two{left:33%;width:38%;height:112%;animation-name:tg-dance-turn;animation-duration:6.5s;animation-delay:-3s}
.auth-dancer-three{right:0;transform:rotate(9deg) scale(.86);animation-delay:-.4s}
@keyframes tg-dance-sway{from{translate:0 5px;rotate:-5deg}to{translate:0 -9px;rotate:5deg}}
@keyframes tg-dance-turn{0%,100%{translate:0 4px;rotate:-7deg}50%{translate:0 -9px;rotate:8deg}}
.bb-auth-form-panel{padding:clamp(38px,5vw,68px);background:var(--tg-surface);color:var(--tg-ink)}
.bb-auth-form-panel:before{background:radial-gradient(circle at 94% 5%,var(--tg-glow),transparent 34%),linear-gradient(180deg,color-mix(in srgb,var(--tg-surface-2) 45%,transparent),transparent 50%)}
.bb-auth-form-header{margin-bottom:34px}
.bb-auth-form-header:before{display:block;margin-bottom:14px;color:var(--tg-accent-2);content:"ACCES PERSONAL";font-size:9px;font-weight:850;letter-spacing:.19em}
.bb-auth-form-header h2{margin:0 0 8px;color:var(--tg-ink);font-size:clamp(30px,3vw,39px);font-weight:850;letter-spacing:-.055em}
.bb-auth-form-header p{color:var(--tg-muted);font-size:13px;line-height:1.6}
.bb-auth-form .form-label{margin-bottom:8px;color:var(--tg-ink);font-size:11px;font-weight:750}
.bb-auth-field{margin-bottom:20px!important}
.bb-auth-input-wrap>i{color:var(--tg-muted);font-size:18px}
.bb-auth-input-wrap .form-control{min-height:52px;border:1px solid var(--tg-border);border-radius:12px;background:var(--tg-surface-2);color:var(--tg-ink);padding-left:47px;font-size:13px;font-weight:600;box-shadow:none}
.bb-auth-input-wrap .form-control::placeholder{color:var(--tg-muted);opacity:.8}
.bb-auth-input-wrap .form-control:focus{border-color:var(--tg-accent);background:var(--tg-surface);color:var(--tg-ink);box-shadow:0 0 0 4px var(--tg-glow)}
.bb-auth-eye-btn{right:6px;width:39px;height:39px;border:1px solid var(--tg-border);border-radius:10px;background:var(--tg-surface);color:var(--tg-muted)}
.bb-auth-eye-btn:hover{background:var(--tg-glow);color:var(--tg-accent-2)}
.bb-auth-options{margin-top:0}
.bb-auth-check,.bb-auth-status{color:var(--tg-muted);font-size:10px;font-weight:650}
.bb-auth-check .form-check-input{border-color:var(--tg-border);background-color:var(--tg-surface-2)}
.bb-auth-check .form-check-input:checked{border-color:var(--tg-accent-2);background-color:var(--tg-accent-2)}
.bb-auth-status i{color:#63aa87}
.bb-auth-login-btn{min-height:53px;border-radius:12px;background:linear-gradient(115deg,var(--tg-accent-2),var(--tg-accent))!important;color:#fff!important;font-size:12px;font-weight:800;letter-spacing:.07em;box-shadow:0 12px 24px var(--tg-glow),inset 0 1px 0 rgba(255,255,255,.18)}
.bb-auth-login-btn:hover,.bb-auth-login-btn:focus{transform:translateY(-1px);box-shadow:0 16px 28px var(--tg-glow)}
.bb-auth-message{color:var(--tg-muted);font-size:12px}
.auth-theme-switch{top:22px;right:24px;border-color:var(--tg-border);background:var(--tg-surface);color:var(--tg-ink);box-shadow:0 8px 24px rgba(30,42,62,.08)}
.tg-legal-footer{position:relative;z-index:2;border-top-color:var(--tg-border)!important;background:var(--tg-surface)!important;color:var(--tg-muted)!important}
.tg-legal-footer .tg-legal-company{color:var(--tg-muted)!important}
.tg-legal-footer .tg-legal-brand img{filter:none}
body.bb-auth-document .tg-legal-footer-inner:has(.tg-creator-credit){grid-template-columns:minmax(150px,.8fr) minmax(280px,1.5fr) auto auto}
.tg-creator-credit{display:flex;align-items:center;justify-content:flex-end;gap:7px;color:var(--tg-muted);font-size:10px;font-weight:650;white-space:nowrap}
.tg-creator-credit a{display:inline-flex;align-items:center}
.tg-creator-credit img{display:block;width:94px;max-height:32px;object-fit:contain}
html[data-theme="dark"] .tg-legal-footer .tg-legal-brand img{filter:brightness(0) invert(1)}
html[data-theme="dark"] .bb-auth-card{box-shadow:0 30px 100px rgba(0,0,0,.34)}
@media(max-width:991.98px){.bb-auth-page{min-height:0;padding:82px 18px 40px!important}.bb-auth-card{grid-template-columns:1fr;min-height:0}.bb-auth-visual-inner{min-height:390px;padding:35px clamp(26px,7vw,60px)}.bb-auth-logo-wrap{margin-bottom:42px}.bb-auth-logo{max-height:74px}.bb-auth-hero-copy h1{font-size:clamp(36px,7vw,51px)}.bb-auth-dancers{right:5%;bottom:-2%;width:min(54%,370px);height:63%;opacity:.17}.bb-auth-form-panel{padding:38px clamp(26px,7vw,60px) 44px}.bb-auth-feature-list{display:none}body.bb-auth-document .tg-legal-footer-inner:has(.tg-creator-credit){grid-template-columns:1fr auto}body.bb-auth-document .tg-legal-footer-inner .tg-legal-links{grid-column:1/-1}body.bb-auth-document .tg-legal-footer-inner .tg-payment-brands{grid-column:1}body.bb-auth-document .tg-legal-footer-inner .tg-creator-credit{grid-column:2;grid-row:3}}
@media(max-width:575.98px){.bb-auth-page{align-items:flex-start;padding:76px 12px 28px!important}.bb-auth-shell{width:100%}.bb-auth-card{border-radius:21px}.bb-auth-visual-inner{min-height:310px;padding:28px 24px 30px}.bb-auth-logo-wrap{width:250px;margin-bottom:35px}.bb-auth-logo{max-height:59px}.bb-auth-kicker{font-size:8px;letter-spacing:.16em}.bb-auth-hero-copy h1{font-size:39px}.bb-auth-hero-copy p:last-child{max-width:290px;font-size:12px}.bb-auth-dancers{right:0;bottom:-8%;width:67%;height:58%;opacity:.14}.bb-auth-form-panel{padding:31px 23px 34px}.bb-auth-form-header{margin-bottom:25px}.bb-auth-form-header h2{font-size:31px}.bb-auth-form-header p{font-size:12px}.bb-auth-options{align-items:center;flex-direction:row}.bb-auth-status{font-size:9px}.auth-theme-switch{top:13px;right:13px;min-height:36px;padding:0 10px;font-size:0}.auth-theme-switch [data-theme-icon]{font-size:17px}.tg-legal-footer{padding:22px 16px}.tg-legal-footer .tg-legal-links{gap:10px 14px}.tg-legal-footer .tg-legal-company{font-size:9px;line-height:1.7}body.bb-auth-document .tg-legal-footer-inner:has(.tg-creator-credit){grid-template-columns:1fr;justify-items:center}.tg-creator-credit{justify-content:center}body.bb-auth-document .tg-legal-footer-inner .tg-creator-credit{grid-column:auto;grid-row:auto}}
@media(prefers-reduced-motion:reduce){.auth-dancer,.bb-auth-bg{animation:none!important}.bb-auth-logo-wrap,.bb-auth-login-btn{transition:none!important}}
