body.rb-login-studio { background:#111114; color:#f5f5f6; }
.rb-login-studio #themeToggle { position:fixed; right:24px; bottom:24px; top:auto; z-index:70; transform:none; }
.rb-register-studio .auth-card { max-width:580px; }
.rb-register-studio .auth-card textarea.input-minimal { height:auto; min-height:110px; resize:vertical; }
.rb-register-studio .auth-card .label-minimal { font-size:12px !important; }
.rb-register-studio #Password,.rb-register-studio #ConfirmPassword { padding-right:82px; }
.rb-register-studio #toggleConfirmPassword { top:33px; right:8px; min-width:64px; min-height:44px; padding:8px; font-size:10px; letter-spacing:.03em; border-radius:7px; }
.rb-register-studio .auth-card [data-i18n=register_hint] { background:#ffffff04; border:1px solid #ffffff14; border-radius:10px; color:#b3b3be; font:400 13px/1.7 Inter,sans-serif; padding:16px; }
.rb-register-studio .map-shell { border:1px solid #ffffff20; border-radius:12px; padding:16px; background:#ffffff03; }
.rb-register-studio #map { border-radius:9px; }
.rb-register-studio .help-mini { font-size:11px; line-height:1.6; color:#a3a3af; }
.rb-register-studio .auth-card .input-group { min-width:0; }
.rb-register-studio .auth-card .strength-track { flex-shrink:0; background:#ffffff24; }
.rb-register-studio .auth-card .strength-label { color:#b3b3be; }
body.theme-light.rb-register-studio .auth-card .strength-track { background:#d9d6d0; }
body.theme-light.rb-register-studio .auth-card .strength-label { color:#55545d; }
body.theme-light.rb-register-studio .auth-card [data-i18n=register_hint],body.theme-light.rb-register-studio .map-shell { background:#fff; color:#55545d; border-color:#0002; }
@media(min-width:1024px) {
    .rb-register-studio .rb-auth-editorial { position:sticky; top:0; height:100svh; }
    .rb-register-studio .rb-panel { padding-top:32px; padding-bottom:100px; }
}
@media(max-width:1023px) {
    .rb-login-studio .rb-panel { padding-bottom:100px; }
    .rb-login-studio #themeToggle { right:max(12px,env(safe-area-inset-right)); bottom:calc(20px + env(safe-area-inset-bottom)); }
}
.rb-login-studio > .bg-grid { display:none; }
.rb-auth-shell { min-height:100svh; }
.rb-auth-shell > .rb-panel { order:1; width:46%; min-height:100svh; background:#111114; border:0; box-shadow:none; padding:60px 24px; }
.rb-login-studio .auth-card { max-width:480px; padding:24px; }
.rb-login-studio .auth-card > div:first-child { margin-bottom:36px; padding-bottom:24px; border-color:#ffffff16; align-items:start; }
.rb-login-studio .auth-card h1 { font:800 clamp(38px,4.5vw,60px)/1.12 Inter,sans-serif; letter-spacing:-.06em; text-transform:none; transform:none; margin-top:12px; }
.rb-login-studio .auth-card [data-i18n=access_label] { font-size:9px; letter-spacing:.14em; color:#ff5360; }
.rb-login-studio .auth-card [data-i18n=back] { padding:12px 0 12px 12px; color:#9999a6; }
.rb-login-studio .role-pill { display:flex; gap:4px; padding:5px; border:1px solid #ffffff16; border-radius:12px; background:#09090c; }
.rb-login-studio .role-pill button { min-width:94px; min-height:42px; padding:10px 18px; border-radius:8px; font-size:12px; text-transform:none; letter-spacing:0; color:#aaaab7; }
.rb-login-studio .role-pill button.active { background:#fafaf7; color:#17171c; box-shadow:0 3px 10px #0002; }
.rb-login-studio .auth-card .input-group { display:flex; flex-direction:column; gap:9px; position:relative; margin-bottom:23px; }
.rb-login-studio .auth-card .label-minimal { position:static; order:-1; color:#c6c6d0; font:600 12px/1.5 Inter,sans-serif; text-transform:none; letter-spacing:0; transform:none; }
.rb-login-studio .auth-card .input-minimal { height:56px; padding:15px 16px; background:#1b1b20; border:1px solid #ffffff20; border-radius:10px; font-size:16px; line-height:1.4; color:#fff; box-shadow:none; transition:border-color .2s,background .2s; }
.rb-login-studio .auth-card .input-minimal:focus { border-color:#ff5360; outline:3px solid #e5091425; outline-offset:1px; background:#202026; }
.rb-login-studio .auth-card .input-minimal:focus ~ .label-minimal,
.rb-login-studio .auth-card .input-minimal:not(:placeholder-shown) ~ .label-minimal { position:static; color:#c6c6d0; font-size:12px; }
.rb-login-studio #password { padding-right:82px; }
.rb-login-studio #togglePassword { top:33px; right:8px; min-width:64px; min-height:44px; padding:8px; font-size:10px; letter-spacing:.03em; border-radius:7px; }
.rb-login-studio .auth-card .btn-red { min-height:56px; border-radius:10px; box-shadow:none; font-size:13px; text-transform:none; letter-spacing:.02em; }
.rb-login-studio .field-validation-error,.rb-login-studio .validation-summary-errors { font-size:12px; color:#ff7982; line-height:1.6; }
.rb-login-studio .auth-card :focus-visible { outline:2px solid #ff5360; outline-offset:3px; }
.rb-login-studio .auth-card label:has(input[type=checkbox]:focus-visible) { outline:2px solid #ff5360; outline-offset:4px; border-radius:3px; }
.rb-login-studio #openSuperDemoModal { border:1px solid #ffffff20; border-radius:10px; padding:14px; min-height:46px; color:#b5b5bf; font-size:10px; }
.rb-auth-editorial { order:0; display:flex; flex-direction:column; justify-content:space-between; width:54%; min-height:100svh; padding:44px; overflow:hidden; position:relative; background:#e50920; color:#13070a; }
.rb-auth-editorial::before { content:''; position:absolute; width:620px; height:620px; border:1px solid #30000c25; border-radius:50%; right:-300px; top:28%; box-shadow:0 0 0 65px #30000c08,0 0 0 130px #30000c06; pointer-events:none; }
.rb-auth-brandbar { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; position:relative; z-index:1; }
.rb-auth-wordmark { font:900 25px/.9 Impact,Oswald,sans-serif; letter-spacing:-.025em; color:#160509; position:relative; }
.rb-auth-wordmark > span { position:absolute; right:-16px; top:0; font:600 12px/1 Inter,sans-serif; }
.rb-auth-tools { display:flex; align-items:center; gap:18px; font-size:10px; font-weight:800; }
.rb-auth-tools .contrast-toggle { border-color:#23000b35; background:#25000b12; color:#180308; font-size:9px; }
.rb-auth-tools .contrast-dot { background:#180308; color:#fff; }
.rb-auth-manifesto { position:relative; z-index:1; padding:60px 0; }
.rb-auth-manifesto > p { font-size:9px; font-weight:800; letter-spacing:.2em; margin-bottom:24px; }
.rb-auth-manifesto h2 { font:900 clamp(76px,9.4vw,150px)/.89 Impact,Anton,sans-serif; letter-spacing:-.025em; margin:0 0 36px; color:#190409; }
.rb-auth-manifesto h2 > span { color:#fff3e9; }
.rb-auth-caption { display:flex; gap:24px; align-items:flex-start; }
.rb-auth-caption > span { font-size:52px; line-height:1; }
.rb-auth-caption p { max-width:310px; font-size:13px; line-height:1.75; font-weight:500; }
.rb-auth-bottom { display:flex; gap:16px; justify-content:space-between; border-top:1px solid #24000835; padding-top:20px; font-size:8px; font-weight:800; letter-spacing:.16em; position:relative; z-index:1; }
body.theme-light.rb-login-studio .rb-panel { background:#f7f5f0 !important; color:#17171c; }
body.theme-light.rb-login-studio .auth-card h1 { color:#17171c !important; }
body.theme-light.rb-login-studio .auth-card .input-minimal { background:#fff !important; color:#17171c !important; border-color:#d9d6d0; }
body.theme-light.rb-login-studio .auth-card .label-minimal { color:#55545d !important; }
body.theme-light.rb-login-studio .role-pill { background:#e9e6df; border-color:#d8d5ce; }
body.theme-light.rb-login-studio .role-pill button { color:#595760; }
body.theme-light.rb-login-studio .role-pill button.active { background:#19191e; color:#fff; }
body.theme-light.rb-login-studio .rb-auth-editorial { background:#e50920; color:#190409; }
body.theme-light.rb-login-studio .rb-auth-editorial .rb-auth-wordmark,body.theme-light.rb-login-studio .rb-auth-tools a { color:#190409 !important; }
@media(max-width:1199px) and (min-width:1024px) { .rb-auth-editorial { padding:32px; } .rb-auth-tools { gap:12px; } .rb-auth-tools [data-contrast-label] { display:none; } }
@media(max-width:1023px) {
    .rb-auth-shell { padding-top:82px; }
    .rb-auth-shell > .rb-panel { width:100%; min-height:0; padding:18px 16px 40px; }
    .rb-login-studio .auth-card { max-width:520px; padding:22px 8px; }
    .rb-auth-editorial { width:100%; min-height:0; padding:26px 24px; }
    .rb-auth-brandbar,.rb-auth-bottom,.rb-auth-caption { display:none; }
    .rb-auth-manifesto { padding:0; }
    .rb-auth-manifesto > p { margin-bottom:12px; font-size:8px; }
    .rb-auth-manifesto h2 { font-size:clamp(48px,9vw,80px); line-height:.95; margin:0; max-width:80%; }
    .rb-auth-manifesto h2 br { display:none; }
    .rb-auth-manifesto h2 > span { display:block; }
    .rb-login-studio #contrastToggleMobile { top:102px; right:16px; color:#fff; background:#190409; border:1px solid #ffffff30; box-shadow:none; font-size:9px; }
    .rb-login-studio .auth-card > div:first-child { margin-bottom:26px; padding-bottom:20px; }
    .rb-login-studio .auth-card h1 { font-size:42px; }
}
@media(prefers-reduced-motion:reduce) { .rb-login-studio .auth-card * { transition:none !important; } }

/* Campaign edition: a framed brand canvas beside a focused account form. */
body.rb-login-studio { background:#0b0b10; }
.rb-login-studio .rb-auth-shell { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:0; padding:18px; align-items:start; }
.rb-auth-shell > .rb-panel { width:100%; min-width:0; min-height:calc(100svh - 36px); display:flex; justify-content:center; padding:48px 28px; background:transparent; }
.rb-auth-editorial,.rb-register-studio .rb-auth-editorial { width:100%; min-width:0; min-height:calc(100svh - 36px); height:auto; position:sticky; top:18px; align-self:start; border:1px solid #ffffff16; border-radius:26px; padding:32px; background:radial-gradient(ellipse at 65% 34%,#ac072b38,transparent 58%),linear-gradient(145deg,#19131d,#0c0d13 65%); color:#f5f2f4; }
.rb-auth-editorial::before { width:420px; height:420px; right:-240px; top:24%; background:#e5091420; filter:blur(80px); border:0; box-shadow:none; }
.rb-auth-editorial::after { content:''; position:absolute; inset:0; background-image:radial-gradient(#ffffff19 .65px,transparent .65px); background-size:7px 7px; opacity:.22; pointer-events:none; }
.rb-auth-wordmark { color:#f5f2f4; font-size:22px; }
.rb-auth-tools { color:#d4ccd3; gap:16px; }
.rb-auth-tools a { padding:10px 14px; border:1px solid #ffffff25; border-radius:100px; }
.rb-auth-manifesto { padding:22px 0 30px; display:flex; flex-direction:column; align-items:flex-start; }
.rb-auth-orbit { position:relative; align-self:center; display:grid; place-items:center; width:min(100%,330px); height:290px; margin:4px 0 28px; perspective:700px; }
.rb-orbit-ring { position:absolute; width:94%; height:82%; border:1px solid #ff547c80; border-radius:50%; transform:rotate(-28deg) rotateX(48deg); box-shadow:0 0 22px #ff12451c,inset 0 0 18px #ff12451c; animation:rbOrbitBreathe 7s ease-in-out infinite; }
.rb-orbit-ring--inner { width:80%; height:72%; transform:rotate(34deg) rotateY(46deg); border-color:#ffffff35; animation-delay:-3.5s; }
.rb-auth-orbit::before { content:''; position:absolute; width:64%; height:64%; border-radius:50%; background:radial-gradient(ellipse,#ff285a38,transparent 70%); pointer-events:none; animation:rbBottleAura 6s ease-in-out infinite; }
.rb-auth-orbit::after { content:''; position:absolute; bottom:18px; width:42%; height:16px; border-radius:50%; background:radial-gradient(ellipse,#0008,transparent 72%); pointer-events:none; animation:rbBottleShadow 6s ease-in-out infinite; }
.rb-orbit-bottle { --rb-bottle-lift:-14px; position:relative; z-index:1; width:220px; height:270px; object-fit:contain; transform:rotate(-9deg); transform-origin:50% 60%; filter:drop-shadow(0 18px 24px #0009) drop-shadow(0 0 20px #ed174730); animation:rbBottleFloat 6s ease-in-out infinite; }
.rb-auth-orbit .rb-orbit-tag { z-index:2; }
@keyframes rbBottleFloat {
    0%,100% { transform:translate3d(0,0,0) rotate(-9deg); }
    50% { transform:translate3d(0,var(--rb-bottle-lift),0) rotate(-3deg); }
}
@keyframes rbBottleAura {
    0%,100% { opacity:.55; transform:scale(.9); }
    50% { opacity:1; transform:scale(1.12); }
}
@keyframes rbBottleShadow {
    0%,100% { opacity:.65; transform:scaleX(1); }
    50% { opacity:.3; transform:scaleX(.75); }
}
.rb-orbit-tag { position:absolute; bottom:7px; left:50%; transform:translateX(-50%) rotate(-6deg); white-space:nowrap; border:1px solid #ff687d55; background:#29121c; padding:9px 14px; border-radius:6px; color:#ffb8c9; font:700 8px/1 Inter,sans-serif; letter-spacing:.17em; }
.rb-auth-manifesto > p { font-size:8px; color:#ff6a86; letter-spacing:.2em; margin-bottom:17px; }
.rb-auth-manifesto h2 { font:800 clamp(42px,4.9vw,76px)/.98 Inter,sans-serif; letter-spacing:-.065em; margin-bottom:24px; color:#f8f5f7; max-width:100%; }
.rb-auth-manifesto h2 br { display:none; }
.rb-auth-manifesto h2 > span { display:block; color:#ff476b; }
.rb-auth-caption { gap:14px; }
.rb-auth-caption > span { font-size:32px; color:#ff476b; }
.rb-auth-caption p { color:#a8a0ae; font-size:12px; line-height:1.8; max-width:340px; }
.rb-auth-bottom { border-color:#ffffff16; color:#89818f; font-size:7px; letter-spacing:.12em; padding-top:18px; }
.rb-login-studio .auth-card { width:100%; max-width:480px; background:#15151c; border:1px solid #ffffff12; border-radius:22px; padding:36px; box-shadow:0 24px 80px #00000026; }
.rb-register-studio .auth-card { max-width:570px; }
.rb-login-studio .auth-card > div:first-child { margin-bottom:28px; }
.rb-login-studio .auth-card h1 { font-size:clamp(36px,3.8vw,52px); }
body.theme-light.rb-login-studio { background:#eeece9; }
body.theme-light.rb-login-studio .rb-panel { background:transparent !important; }
body.theme-light.rb-login-studio .auth-card { background:#fffdf9; border-color:#00000010; box-shadow:0 18px 65px #2015250a; }
body.theme-light.rb-login-studio .rb-auth-editorial { background:radial-gradient(ellipse at 65% 34%,#ac072b38,transparent 58%),linear-gradient(145deg,#19131d,#0c0d13 65%); color:#f5f2f4; }
body.theme-light.rb-login-studio .rb-auth-editorial .rb-auth-wordmark,body.theme-light.rb-login-studio .rb-auth-tools a { color:#f5f2f4 !important; }
@keyframes rbOrbitBreathe { 0%,100% { opacity:.6; } 50% { opacity:1; } }
@media(min-width:1024px) { .rb-auth-shell > header { display:none; } }
@media(max-width:1023px) {
    .rb-login-studio .rb-auth-shell { display:flex; flex-direction:column; gap:16px; padding:98px 16px 80px; }
    .rb-auth-editorial,.rb-register-studio .rb-auth-editorial { position:relative; top:auto; min-height:0; height:auto; border-radius:20px; padding:26px; }
    .rb-auth-manifesto { display:block; padding:8px 0; position:relative; width:100%; min-height:150px; }
    .rb-auth-orbit { position:absolute; width:170px; height:165px; right:-18px; top:-7px; margin:0; opacity:.85; }
    .rb-orbit-bottle { --rb-bottle-lift:-8px; width:130px; height:155px; }
    .rb-orbit-tag { font-size:5px; padding:6px 8px; bottom:0; }
    .rb-auth-manifesto > p { max-width:58%; font-size:7px; }
    .rb-auth-manifesto h2 { font-size:clamp(33px,6.5vw,56px); max-width:66%; position:relative; margin:20px 0 0; }
    .rb-auth-shell > .rb-panel { min-height:0; padding:0; }
    .rb-login-studio .auth-card { max-width:620px; padding:28px 24px; }
    .rb-register-studio .auth-card { margin-top:0; }
}
@media(max-width:380px) { .rb-auth-orbit { width:140px; right:-22px; } .rb-auth-manifesto h2 { font-size:31px; } .rb-login-studio .auth-card { padding:24px 18px; } }
@media(prefers-reduced-motion:reduce) {
    .rb-orbit-ring,.rb-orbit-bottle,.rb-auth-orbit::before,.rb-auth-orbit::after { animation:none; }
}
