/* V240 · Home e logins: tipografia Bricolage/Inter/Instrument Serif, seções escuro+claro, animações */
:root{--v-pink:#ff3d8b;--v-pink2:#ff7aae;--v-ink:#170b11;--v-mut:#6f5d66;--v-cream:#f6f1ec;--v-dark:#0b0609;--v-disp:'Bricolage Grotesque','SF Pro Display',-apple-system,'Segoe UI',sans-serif;--v-text:Inter,'SF Pro Text',-apple-system,system-ui,'Segoe UI',sans-serif;--v-serif:'Instrument Serif','Playfair Display',Georgia,serif}
html body .v240-home{overflow-x:clip;background:var(--v-dark)}
html body .v240-home *:not(.ms):not([class*=material]){font-family:var(--v-text)!important}
html body .v240-home :is(h1,h2,h3):not(.ms):not(.zz),html body .v240-home :is(h1,h2,h3) *:not(.ms):not(.zz){font-family:var(--v-disp)!important;letter-spacing:-.022em!important;font-weight:600!important}
html body .v240-home h1 .ref-pink.ref-pink,html body .v240-home h1 .ref-pink.ref-pink *:not(.ms),html body .v240-home :is(h1,h2,h3) em.v240-em.v240-em{font-family:var(--v-serif)!important;font-style:italic!important;font-weight:400!important;letter-spacing:-.01em!important}
html body .v240-home h1 .ref-pink{font-size:1.1em}
html body .v240-home h1 .ref-pink,html body .v240-home h1 .ref-pink *{color:#ff5c9a!important;-webkit-text-fill-color:#ff5c9a!important}
@keyframes v240txt{to{background-position:200% 0}}
html body .v240-home .v240-em{color:var(--v-pink)!important;font-size:1.08em}
html body .v240-home h1{font-size:clamp(40px,5.6vw,72px)!important;line-height:1.02!important}
html body .v240-home section h2{font-size:clamp(30px,4vw,50px)!important;line-height:1.06!important}
/* menu em pílula flutuante */
html body:has(.v240-home) .glass{width:min(1180px,calc(100% - 20px))!important;margin:10px auto 0!important;top:10px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.12)!important;background:rgba(14,7,11,.62)!important;backdrop-filter:blur(18px) saturate(1.4)!important;box-shadow:0 12px 40px rgba(0,0,0,.35)!important;transition:background .3s,box-shadow .3s,transform .3s}
html body:has(.v240-home) .glass *:not(.ms):not([class*=material]){font-family:var(--v-text)!important}
html body:has(.v240-home) .glass.v240-lt{background:rgba(60,45,52,.55)!important}
/* hero */
html body .v240-home>div:first-child{position:relative;isolation:isolate}
html body .v240-home>div:first-child::before{content:'';position:absolute;z-index:-1;inset:-140px -50vw -40px;pointer-events:none;background:radial-gradient(40% 55% at 78% 8%,rgba(255,61,139,.55),transparent 70%),radial-gradient(30% 40% at 96% 30%,rgba(255,122,174,.35),transparent 70%),conic-gradient(from 210deg at 85% -10%,transparent 0 40deg,rgba(255,61,139,.28) 60deg,transparent 95deg);filter:blur(30px);animation:v240aur 12s ease-in-out infinite alternate}
@keyframes v240aur{from{transform:translate3d(0,0,0) rotate(0)}to{transform:translate3d(-40px,24px,0) rotate(-4deg)}}
html body .v240-home .bc3d-card{background:radial-gradient(circle at 15% 0,rgba(255,158,194,.67),transparent 42%),linear-gradient(120deg,#ff438d,#e80862 58%,#c70053)!important;border:1px solid rgba(255,255,255,.35)!important;box-shadow:0 30px 70px rgba(232,8,98,.45),inset 0 1px 0 rgba(255,255,255,.4)!important;overflow:hidden}
html body .v240-home .bc3d-card::after{content:'';position:absolute;top:-20%;bottom:-20%;left:-60%;width:38%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-18deg);animation:v240shine 4.4s ease-in-out infinite;pointer-events:none}
@keyframes v240shine{0%,55%{left:-60%}85%,100%{left:130%}}
html body .v240-home .bc3d-card *{color:#fff!important}
html body .v240-home .bc3d-card .bc3d-brand.bc3d-brand:not(.ms):not(.zz){font-family:var(--v-serif)!important;font-style:italic;font-size:1.5em!important;letter-spacing:0!important;text-transform:none!important}
html body .v240-home .bc3d-card .bc3d-brand.bc3d-brand b:not(.ms):not(.zz){font-family:var(--v-text)!important;font-style:normal;font-size:.42em;letter-spacing:.3em;font-weight:600;display:block;opacity:.9}
/* faixas escuro / claro de ponta a ponta */
html body .v240-home>section{position:relative!important;isolation:isolate;overflow:visible!important;border-radius:0!important;margin-top:0!important;margin-bottom:0!important;background:none!important}
html body .v240-home>section::before{content:''!important;display:block!important;position:absolute!important;top:0!important;bottom:0!important;left:50%!important;width:100vw!important;transform:translateX(-50%)!important;z-index:-1!important;pointer-events:none;border-radius:0!important;opacity:1!important}
html body .v240-home>section.v240-dark::before{background:radial-gradient(45% 60% at 88% 0,rgba(255,61,139,.16),transparent 70%),var(--v-dark)!important}
html body .v240-home>section.v240-light::before{background:var(--v-cream)!important}
html body .v240-home>section.v240-light .v240-card{background:#fff!important;background-image:none!important;border:1px solid #ebe1e4!important;box-shadow:0 10px 30px rgba(60,20,40,.07)!important;backdrop-filter:none!important}
/* rótulo com tracinho */
html body .v240-home .v240-eye{display:inline-flex!important;align-items:center;gap:10px;letter-spacing:.2em!important;font-size:11.5px!important;font-weight:600!important;text-transform:uppercase;color:var(--v-pink)!important}
html body .v240-home .v240-eye::before{content:'';width:22px;height:1.5px;background:currentColor;flex:none}
/* revelar: desfoque -> nítido */
html body .v240-home .v240-rv{opacity:0;filter:blur(12px);transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),filter .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--vd,0ms);will-change:opacity,filter,transform}
html body .v240-home .v240-rv.v240-in{opacity:1;filter:none;transform:none}
html body .v240-home .v240-card{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s!important}
html body .v240-home .v240-card:hover{transform:translateY(-6px)!important;border-color:rgba(255,61,139,.45)!important;box-shadow:0 22px 50px rgba(255,61,139,.18)!important}
/* botões com brilho */
html body .v240-home .mbtn,html body .v240-home button,html body .v240-home a[role=button]{position:relative;overflow:hidden;border-radius:999px!important;transition:transform .2s,box-shadow .25s!important}
html body .v240-home .mbtn:hover,html body .v240-home button:hover{transform:translateY(-2px)}
html body .v240-home .mbtn:active,html body .v240-home button:active{transform:scale(.97)}
html body .v240-home .mbtn::after{content:'';position:absolute;top:0;bottom:0;left:-70%;width:45%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);animation:v240shine 3.6s ease-in-out 1s infinite;pointer-events:none}
/* faixa correndo */
.v240-mq{position:relative;left:50%;width:100vw;transform:translateX(-50%);overflow:hidden;padding:22px 0;background:var(--v-dark);border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);-webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.v240-mq>div{display:flex;gap:54px;width:max-content;animation:v240mq 38s linear infinite}
.v240-mq:hover>div{animation-play-state:paused}
html body .v240-home .v240-mq span:not(.ms):not(.zz){font-family:var(--v-disp)!important;font-weight:500;font-size:22px;letter-spacing:-.01em;color:rgba(255,255,255,.55);white-space:nowrap;display:inline-flex;align-items:center;gap:54px}
.v240-mq span::after{content:'✦';color:var(--v-pink);font-size:14px}
html body .v240-home .v240-mq span:nth-child(3n):not(.ms):not(.zz){font-family:var(--v-serif)!important;font-weight:400!important;font-style:italic;color:#fff;font-size:26px}
@keyframes v240mq{to{transform:translateX(-50%)}}
/* barra de progresso de leitura */
.v240-bar{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#ff3d8b,#ff9cc0);z-index:99}
/* ===== logins (web, app e salão) ===== */
html body.l88 .login *:not(.ms):not([class*=material]),html body.l88 .lpage *:not(.ms):not([class*=material]),html body.l88 [data-auth-wrap] *:not(.ms):not([class*=material]){font-family:var(--v-text)}
html body.l88 #auth-forms::before,html body.l88 .login-form::before,html body.l88 .login-sheet .wrap::before,html body.l88 .lcard h1,html body.l88 .lcard h2,html body.l88 .lcard h3{font-family:var(--v-disp)!important;letter-spacing:-.025em!important;font-weight:600!important}
html body.l88 .login h1,html body.l88 .login h2,html body.l88 .lpage h1,html body.l88 .lpage h2,html body.l88 [data-auth-wrap] h1,html body.l88 [data-auth-wrap] h2{font-family:var(--v-disp)!important;letter-spacing:-.025em!important;font-weight:600!important}
html body.l88 .login-sheet .wrap>*,html body.l88 .lcard>*,html body.l88 #auth-forms form>*{animation:v240up .7s cubic-bezier(.2,.7,.2,1) both}
html body.l88 .login-sheet .wrap>*:nth-child(2),html body.l88 .lcard>*:nth-child(2),html body.l88 #auth-forms form>*:nth-child(2){animation-delay:.07s}
html body.l88 .login-sheet .wrap>*:nth-child(3),html body.l88 .lcard>*:nth-child(3),html body.l88 #auth-forms form>*:nth-child(3){animation-delay:.14s}
html body.l88 .login-sheet .wrap>*:nth-child(4),html body.l88 .lcard>*:nth-child(4),html body.l88 #auth-forms form>*:nth-child(4){animation-delay:.21s}
html body.l88 .login-sheet .wrap>*:nth-child(n+5),html body.l88 .lcard>*:nth-child(n+5),html body.l88 #auth-forms form>*:nth-child(n+5){animation-delay:.28s}
@keyframes v240up{from{opacity:0;filter:blur(10px);transform:translateY(22px)}to{opacity:1;filter:none;transform:none}}
html body.l88 .login-hero,html body.l88 .authgrid>div:first-child{animation:v240card 1s cubic-bezier(.2,.8,.2,1) both}
@keyframes v240card{from{opacity:0;filter:blur(14px)}to{opacity:1;filter:none}}
html body.l88 .login .inp,html body.l88 .linput{transition:border-color .25s,box-shadow .25s,transform .25s!important;border-radius:16px!important}
html body.l88 .login .inp:focus-within,html body.l88 .linput:focus-within{border-color:#ff5c9a!important;box-shadow:0 0 0 4px rgba(255,92,154,.16),0 10px 24px rgba(255,61,139,.12)!important;transform:translateY(-1px)}
html body.l88 .login form button[type=submit],html body.l88 .login-form .btn,html body.l88 .lcard button[type=submit],html body.l88 .lcard .mbtn{position:relative;overflow:hidden;border-radius:999px!important;transition:transform .2s,box-shadow .25s!important}
html body.l88 .login form button[type=submit]::after,html body.l88 .lcard button[type=submit]::after,html body.l88 .lcard .mbtn::after{content:'';position:absolute;top:0;bottom:0;left:-70%;width:45%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:v240shine 3.4s ease-in-out 1.2s infinite;pointer-events:none}
html body.l88 .login form button[type=submit]:hover,html body.l88 .lcard button[type=submit]:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(255,61,139,.35)!important}
html body.l88 .login form button:active,html body.l88 .lcard button:active{transform:scale(.97)}
.v240-shake{animation:v240shake .45s}
@keyframes v240shake{20%{transform:translateX(-7px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
@media (prefers-reduced-motion:reduce){html body .v240-home .v240-rv{opacity:1!important;filter:none!important;transform:none!important}.v240-mq>div,html body .v240-home *{animation:none!important}}

/* menu flutuante ao rolar */
html body:has(.v240-home) .glass.v240-fx{position:fixed!important;top:10px!important;left:50%!important;margin:0!important;transform:translateX(-50%);z-index:60!important;animation:v240nav .45s cubic-bezier(.2,.8,.2,1)}
@keyframes v240nav{from{transform:translate(-50%,-80px);opacity:0}to{transform:translate(-50%,0);opacity:1}}

/* ícones (fonte de símbolos) preservados */
html body .ms.ms.ms.ms.ms *:not(.zz):not(.yy){font-family:inherit!important}

/* cartão do login web centralizado acima do formulário */

/* V260 login web: centralizar cartão só no desktop; no celular segue layout do app */
@media(min-width:1100px){
html body.l88 #dc-root#dc-root#dc-root#dc-root [data-auth-wrap] .authgrid>div:first-child{display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;overflow:visible!important}
html body.l88 #dc-root#dc-root#dc-root#dc-root [data-auth-wrap] .authgrid>div:first-child .l85-stage{margin:0!important;top:auto!important;position:relative!important;flex:none}
}
@media(max-width:1099px){html body:has([data-auth-wrap]) .assist-fab{display:none!important}}

/* V261 login app/salão no computador = layout do celular, com rolagem */
@media(min-width:1100px){
html body.l88 #app#app#app section.view[data-screen] .login.login{display:block!important;height:100vh!important;min-height:0!important;max-height:100vh!important;overflow-y:auto!important;overflow-x:hidden!important;padding:0 20px 35px!important;box-sizing:border-box!important;scrollbar-width:none}
html body.l88 #app#app#app section.view[data-screen] .login .login-hero.login-hero{display:block!important;height:235px!important;min-height:235px!important;padding:0!important;margin:0!important;position:relative!important;width:auto!important}
html body.l88 #app#app#app section.view[data-screen] .login .login-hero .l85-stage.l85-stage{position:absolute!important;top:36px!important;right:-14px!important;left:auto!important;width:230px!important;height:190px!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;transform:scale(.8)!important;transform-origin:center!important}
html body.l88 #app#app#app section.view[data-screen] .login .login-hero .l87-copy.l87-copy{display:block!important;position:absolute!important;top:30px!important;left:6px!important;right:auto!important;width:160px!important;height:auto!important;margin:0!important}
html body.l88 #app#app#app section.view[data-screen] .login .login-sheet.login-sheet{display:block!important;height:auto!important;margin:0!important;width:auto!important}
html body.l88 #app#app#app section.view[data-screen] .login .login-hero .l87-copy .l87-logo{margin:0 0 12px!important}
html body.l88 #app#app#app section.view[data-screen] .login .login-hero .l87-copy .l87-logo b{font-size:42px!important;line-height:1.05!important}
html body.l88 #app#app#app section.view[data-screen] .login .login-hero .l87-copy .l87-sub{margin:8px 0 0!important}
html body.l88 #app#app#app section.view[data-screen] .v187-fab{left:calc(50% - 290px)!important;top:18px!important}
}

/* V283 — contraste dos textos dos botões */
html body .sa-page .sa-tabs button[style*="gradient"]{background:linear-gradient(135deg,#ef3f7d,#d01a66)!important;color:#fff!important}
html body .btn.pri.v128-lt{background:linear-gradient(135deg,#ec5592,#d01a66)!important;color:#fff!important}
html body nav.nav button:not([aria-current="page"]):not(.mid){color:#7a6470!important}
/* V283b — botão principal do app do salão com mais contraste */
html body #app#app#app#app#app#app#app#app#app#app#app#app#app#app#app#app .btn.pri:not(.v188-go){background:linear-gradient(135deg,#ec5592,#d01a66)!important;color:#fff!important}
