/* High-fidelity #login / #register compositions; shared design-system tokens. */
.bbr-auth {min-height:50vh;}
.bbr-auth :is(h1,h2,h3,p) {margin:0 0 var(--bbr-space-4);}
.bbr-auth h1 {font-size:var(--bbr-text-display);letter-spacing:-.035em;}
.bbr-auth h2 {font-size:var(--bbr-text-xl);letter-spacing:-.02em;}
.bbr-auth h3 {font-size:var(--bbr-text-lg);}
.bbr-auth-page, .bbr-auth-b2b > .bbr-container {width:min(100% - var(--bbr-gutter)*2,var(--bbr-container));max-width:none;padding-inline:0;}
.bbr-auth-crumb {padding-top:var(--bbr-space-6);font-size:var(--bbr-text-xs);color:var(--bbr-muted);margin-bottom:var(--bbr-space-8);}
.bbr-auth-layout {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--bbr-space-16);align-items:start;max-width:1180px;margin:var(--bbr-space-10) auto var(--bbr-space-16);}
.bbr-auth-layout > * {min-width:0;}
body.bbr-native .bbr-auth-intro h1 {color:var(--bbr-link);margin-bottom:var(--bbr-space-5);}
.bbr-auth-intro > p {max-width:32rem;}
.bbr-auth-muted, .bbr-auth small {color:var(--bbr-muted);}
.bbr-auth-rule {border:0;border-top:1px solid var(--bbr-border);margin-block:var(--bbr-space-6);}
.bbr-auth-intro > .bbr-auth-button {margin-top:var(--bbr-space-3);}
.bbr-auth-form {display:grid;gap:var(--bbr-space-4);margin:0;padding:var(--bbr-space-6);background:var(--bbr-surface);border:1px solid var(--bbr-border);border-radius:var(--bbr-radius-md);}
.bbr-auth-form h2 {display:flex;align-items:center;gap:var(--bbr-space-4);margin:0;font-size:var(--bbr-text-xl);}
.bbr-auth-icon {display:inline-block;width:22px;height:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.bbr-auth-icon-login,.bbr-auth-icon-signup {background:currentColor;mask:var(--bbr-auth-mask) center/contain no-repeat;}
.bbr-auth-icon-login {--bbr-auth-mask:url('../images/BBR-icon-login.svg');}
.bbr-auth-icon-signup {--bbr-auth-mask:url('../images/BBR-icon-signup.svg');}
.bbr-auth-icon-lock,.bbr-auth-icon.bbr-arrow {fill:currentColor;stroke:none;}
.bbr-auth-form h2 .bbr-auth-icon {width:28px;height:28px;color:var(--bbr-brand);}
.bbr-auth :is(button,input,a), .bbr-auth-dialog :is(button,input,a) {touch-action:manipulation;}
.bbr-auth-button {display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:var(--bbr-control-height);padding:var(--bbr-space-3) var(--bbr-space-5);border:1px solid transparent;border-radius:var(--bbr-radius-sm);background:var(--bbr-brand);color:#080d0e;font-size:var(--bbr-text-sm);font-weight:700;line-height:1.3;text-align:center;text-decoration:none;transition:background var(--bbr-duration);}
body.bbr-native .bbr-auth-button {color:#080d0e;}
.bbr-auth-button:hover {background:var(--bbr-brand-hover);text-decoration:none;}
.bbr-auth-button:active {transform:translateY(1px);}
.bbr-auth-button .bbr-auth-icon {width:18px;height:18px;}
body.bbr-native .bbr-auth-secondary {background:transparent;border-color:var(--bbr-control-border);color:var(--bbr-text);}
body.bbr-native .bbr-auth-secondary:hover {background:var(--bbr-surface-raised);}
.bbr-auth-full {width:100%;}
.bbr-auth-form label {display:block;font-size:var(--bbr-text-sm);font-weight:600;}
.bbr-auth-form label em {font-style:normal;color:var(--bbr-brand);}
.bbr-auth-form label > input,.bbr-auth-password {margin-top:8px;}
.bbr-auth-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) {width:100%;min-width:0;min-height:var(--bbr-control-height);padding:12px 14px;border:1px solid var(--bbr-control-border);border-radius:var(--bbr-radius-sm);background:var(--bbr-input);color:var(--bbr-text);}
.bbr-auth-form input::placeholder {color:var(--bbr-muted);}
.bbr-auth-password {display:block;position:relative;}
.bbr-auth-form .bbr-auth-password input {padding-right:54px !important;}
button.bbr-auth-icon-button {display:inline-flex;align-items:center;justify-content:center;width:var(--bbr-target-min);height:var(--bbr-target-min);min-height:var(--bbr-target-min);padding:0;background:transparent;border:0;color:var(--bbr-muted);border-radius:var(--bbr-radius-sm);flex-shrink:0;}
button.bbr-auth-icon-button:hover {background:#ffffff12;}
.bbr-auth-password .bbr-auth-icon-button {position:absolute;right:2px;top:50%;transform:translateY(-50%);}
.bbr-auth-options {display:flex;align-items:center;justify-content:space-between;gap:var(--bbr-space-3);flex-wrap:wrap;font-size:var(--bbr-text-sm);}
.bbr-auth-form .bbr-auth-check {display:flex;align-items:flex-start;gap:12px;font-weight:400;color:var(--bbr-muted);min-height:44px;}
.bbr-auth-check input {width:20px;height:20px;min-height:20px;accent-color:var(--bbr-brand);flex-shrink:0;margin:2px 0 0;}
.bbr-auth-link {display:inline-flex;align-items:center;min-height:var(--bbr-target-min);font-size:var(--bbr-text-sm);text-decoration:underline;text-underline-offset:4px;}
.bbr-auth-field-grid {display:grid;grid-template-columns:1fr 1fr;gap:var(--bbr-space-4);}
.bbr-auth-field-grid > * {min-width:0;}
.bbr-auth-company > label:first-child {grid-column:1/-1;}
.bbr-auth-segments {display:flex;padding:4px;border:1px solid var(--bbr-border);border-radius:6px;}
.bbr-auth-segments label {flex:1;position:relative;cursor:pointer;min-width:0;}
.bbr-auth-segments input {position:absolute;opacity:0;width:1px;height:1px;}
.bbr-auth-segments span {display:flex;justify-content:center;align-items:center;min-height:var(--bbr-control-height);padding:var(--bbr-space-3) var(--bbr-space-5);color:var(--bbr-muted);border:1px solid transparent;border-radius:var(--bbr-radius-sm);font-weight:700;line-height:1.3;}
.bbr-auth-segments input:checked + span {background:var(--bbr-brand);color:var(--bbr-bg);}
.bbr-auth-segments input:focus-visible + span {outline:2px solid var(--bbr-focus);outline-offset:2px;}
.bbr-auth-form fieldset {display:grid;gap:var(--bbr-space-4);margin:0;padding:var(--bbr-space-4);min-width:0;border:1px solid var(--bbr-border);border-radius:8px;}
.bbr-auth-form legend {font-size:var(--bbr-text-sm);font-weight:600;padding-inline:var(--bbr-space-2);}
.bbr-auth-form small {font-size:var(--bbr-text-sm);}
.bbr-auth-form .bbr-auth-note {margin:0;color:var(--bbr-muted);font-size:var(--bbr-text-xs);}
.bbr-auth-form > input[type="hidden"], .bbr-auth-form > input[hidden] {display:none;}
.bbr-auth-form > wc-order-attribution-inputs {display:contents;}
.bbr-auth-form > .woocommerce-privacy-policy-text:empty {display:none;}
.bbr-auth-notices:empty {display:none;}
.bbr-auth-notices :is(.woocommerce-error,.woocommerce-message,.woocommerce-info) {margin:0 0 var(--bbr-space-4);padding:var(--bbr-space-4);background:var(--bbr-surface-raised);color:var(--bbr-text);border:1px solid var(--bbr-control-border);border-radius:var(--bbr-radius-sm);list-style:none;}
.bbr-auth-notices .woocommerce-error {border-color:var(--bbr-danger);}
.bbr-auth-b2b {background:var(--bbr-surface);padding-block:48px;}
.bbr-auth-b2b > .bbr-container {display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center;}
.bbr-auth-eyebrow {color:var(--bbr-link);font-size:var(--bbr-text-xs);font-weight:700;letter-spacing:.055em;text-transform:uppercase;margin-bottom:var(--bbr-space-3) !important;}
.bbr-auth-b2b-art {aspect-ratio:1.8;background:url('../images/reference-register.png') 95.3% 56.1%/277% auto;border-radius:8px;}
.bbr-auth-dialog {width:min(100% - 32px,544px);max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:0;background:var(--bbr-surface);color:var(--bbr-text);border:1px solid var(--bbr-control-border);border-radius:var(--bbr-radius-lg);}
.bbr-auth-dialog::backdrop {background:rgb(24 25 23 / 78%);backdrop-filter:blur(4px);}
.bbr-auth-dialog-head {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;border-bottom:1px solid var(--bbr-border);}
.bbr-auth-dialog-head h2 {margin:0;font-size:var(--bbr-text-xl);}
.bbr-auth-dialog-body {padding:24px;}
.bbr-auth-dialog .bbr-auth-form {padding:0;border:0;background:transparent;}
.bbr-auth-dialog .bbr-auth-form > h2 {display:none;}
.bbr-auth-dialog .bbr-auth-form > p {margin:0;}
@media(max-width:760px) {
 .bbr-auth-layout {grid-template-columns:minmax(0,1fr);gap:var(--bbr-space-6);margin:var(--bbr-space-6) auto var(--bbr-space-10);}
 .bbr-auth-form {padding:var(--bbr-space-4);}
 .bbr-auth-field-grid {grid-template-columns:1fr;}
 .bbr-auth-crumb {margin-bottom:24px;}
 .bbr-auth-b2b > .bbr-container {grid-template-columns:1fr;gap:24px;}
}
@media(prefers-reduced-motion:reduce) {.bbr-auth-button {transition:none;}}
