/* BIDSMART_UNIFIED_AUTH_V1. Uses the existing Supplier roof photograph. */
:root { --ua-red:#c81022; --ua-ink:#17191d; --ua-muted:#727b87; --ua-line:#dfe3e9; }
body.ua-page { margin:0; min-height:100vh; display:flex; flex-direction:column; background:#f4f5f7; color:var(--ua-ink); font-family:Arial,Helvetica,sans-serif; }
.ua-page *, .ua-brand *, .ua-account-switch * { box-sizing:border-box; }
.ua-shell { flex:1 0 auto; width:min(1160px,calc(100% - 32px)); margin:0 auto; padding:40px 0; display:grid; grid-template-columns:minmax(0,1.16fr) minmax(350px,.91fr); gap:22px; align-items:center; }
.ua-brand { box-sizing:border-box; min-height:600px; padding:50px; border-radius:22px; display:flex; flex-direction:column; justify-content:center; overflow:hidden; background:linear-gradient(140deg,rgba(13,18,24,.79),rgba(13,18,24,.56)),url('../../background.png') center/cover no-repeat!important; box-shadow:0 18px 44px #1118271a; color:#fff; }
.ua-brand .ua-logo { display:grid; place-items:center; width:92px; height:92px; padding:3px; background:#fff; border-radius:20px; margin:0 0 24px; }
.ua-brand .ua-logo img { display:block; width:86px; height:86px; object-fit:contain; }
.ua-brand .ua-company { font-size:12px; font-weight:700; margin:0 0 22px; color:#fff; }
.ua-brand h1 { font-size:clamp(42px,4.5vw,66px)!important; line-height:1.02!important; letter-spacing:-.045em!important; color:#fff!important; margin:0!important; text-shadow:none!important; }
.ua-brand p { font-size:15px!important; line-height:1.7!important; color:#f1f2f4!important; margin:24px 0!important; max-width:460px; }
.ua-points { display:flex; gap:8px; flex-wrap:wrap; }
.ua-points span { padding:10px 12px; border:1px solid #ffffff4a; background:#10141855; border-radius:999px; font-size:11px; font-weight:700; color:#fff; }
.ua-card { box-sizing:border-box; width:100%; padding:32px; border:1px solid var(--ua-line); border-radius:20px; background:#fff; box-shadow:0 18px 45px #10141812; }
.ua-eyebrow { display:block; margin:0 0 10px; color:var(--ua-red); font-size:10px; font-weight:800; letter-spacing:.13em; }
.ua-card h2 { font-size:32px; line-height:1.1; letter-spacing:-.035em; margin:0 0 8px; }
.ua-intro { font-size:13px; color:var(--ua-muted); line-height:1.5; margin:0 0 26px; }
.ua-form { display:grid; gap:9px; }
.ua-form label { font-size:12px; font-weight:700; margin-top:8px; }
.ua-form input:not([type=hidden]) { display:block; width:100%; height:49px; border:1px solid #d7dce4; border-radius:11px; background:#fff; color:var(--ua-ink); padding:0 13px; font:inherit; font-size:14px; }
.ua-form input:focus { outline:2px solid #c8102244; outline-offset:1px; border-color:var(--ua-red); }
.ua-password-field { position:relative; }
.ua-form .ua-password-field input { padding-right:54px; }
.ua-eye { position:absolute; inset:5px 4px auto auto; display:grid; place-items:center; width:42px; height:39px; margin:0; padding:9px; border:0; border-radius:8px; background:transparent; color:#252529; cursor:pointer; }
.ua-eye svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.ua-eye-slash { display:none; }
.ua-eye[aria-pressed=true] .ua-eye-slash { display:block; }
.ua-eye:hover { background:#fff0f1; color:var(--ua-red); }
.ua-forgot { justify-self:end; margin:3px 0 10px; color:var(--ua-red); font-size:12px; font-weight:700; text-decoration:none; }
.ua-primary, .ua-secondary { display:flex; justify-content:center; align-items:center; width:100%; min-height:47px; padding:12px; border-radius:11px; font:700 13px Arial,Helvetica,sans-serif; text-decoration:none; cursor:pointer; box-sizing:border-box; }
.ua-primary { border:1px solid var(--ua-red); background:var(--ua-red); color:white; box-shadow:0 7px 17px #c8102226; }
.ua-primary:hover { background:#ad0c1c; }
.ua-secondary { border:1px solid #d7dce4; background:white; color:var(--ua-ink); }
.ua-divider { display:flex; gap:12px; align-items:center; margin:25px 0 15px; font-size:9px; letter-spacing:.06em; color:var(--ua-muted); }
.ua-divider:before,.ua-divider:after { content:''; height:1px; background:var(--ua-line); flex:1; }
.ua-bottom { border-top:1px solid #eceef2; display:flex; justify-content:space-between; gap:15px; margin-top:20px; padding-top:22px; }
.ua-bottom a { color:#535d69; font-size:11px; text-decoration:none; font-weight:700; }
.ua-page a:hover { text-decoration:underline; }
.ua-alert { padding:13px; border-radius:10px; border:1px solid var(--ua-line); font-size:13px; line-height:1.5; margin-bottom:18px; }
.ua-error { background:#fff4f5; color:#9e0a1c; border-color:#f0c8ce; }
.ua-choices { display:grid; gap:12px; }
.ua-choice { display:grid; gap:10px; padding:20px; border:1px solid var(--ua-line); border-radius:12px; text-decoration:none; color:var(--ua-ink); }
.ua-choice:hover { border-color:var(--ua-red); background:#fff8f8; text-decoration:none!important; }
.ua-choice-title { display:flex; justify-content:space-between; font-size:18px; font-weight:700; }
.ua-choice-title span { color:var(--ua-red); }
.ua-choice>span:last-child { font-size:13px; line-height:1.6; color:#626c79; }
.ua-signin { font-size:13px; color:#626c79; margin:24px 0 0; }
.ua-signin a { color:var(--ua-red); font-weight:700; }
.ua-page :focus-visible, .ua-account-switch :focus-visible { outline:2px solid var(--ua-red); outline-offset:3px; }

/* The two registration validators render inside one consistent visual shell. */
body.ua-registration { background:#f4f5f7!important; min-height:100vh!important; height:auto!important; overflow-y:auto!important; display:block!important; }
body.ua-registration.otp-modal-open { overflow:hidden!important; }
body.ua-registration .ua-register-shell { display:grid!important; grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr)!important; align-items:start!important; gap:22px!important; width:min(1280px,calc(100% - 32px))!important; margin:32px auto!important; padding:0!important; min-height:0!important; }
.ua-registration .ua-register-brand { position:sticky; top:24px; min-height:600px; padding:32px; }
.ua-registration .ua-register-brand h1 { font-size:clamp(36px,3.4vw,52px)!important; }
.ua-registration .ua-register-content { display:block!important; min-width:0!important; padding:0!important; margin:0!important; width:100%!important; }
.ua-registration .ua-register-card, .ua-registration .ua-register-card.auth-panel.signup-panel { box-sizing:border-box; width:100%!important; max-width:none!important; margin:0!important; padding:26px!important; height:auto!important; max-height:none!important; overflow:visible!important; border:1px solid #dfe3e9!important; border-radius:20px!important; background:white!important; box-shadow:0 14px 38px #0f172a0f!important; }
.ua-registration .signup-company-form { overflow:visible!important; max-height:none!important; padding:0!important; }
.ua-registration .signup-heading-clean { padding:0 0 20px!important; margin:0!important; }
.ua-registration .ua-register-title { margin:0 0 22px; font-size:26px; line-height:1.2; }
.ua-account-switch { display:flex; gap:8px; padding:5px; border-radius:12px; background:#f3f4f6; margin:0 0 22px; }
.ua-account-switch a { flex:1; padding:11px 10px; text-align:center; border-radius:9px; font-size:13px; font-weight:700; color:#565f6b; text-decoration:none; }
.ua-account-switch a[aria-current=page] { background:var(--ua-red); color:white; box-shadow:0 3px 9px #c8102222; }
.ua-registration #bidsmartPublicPolicyFooterV2, .ua-registration .public-policy-footer { position:relative!important; inset:auto!important; width:min(1280px,calc(100% - 32px))!important; margin:24px auto!important; }
@media(max-width:900px) {
  .ua-shell { grid-template-columns:1fr; max-width:560px; padding:20px 0; }
  .ua-brand { min-height:300px; padding:30px; }
  .ua-brand .ua-logo { width:64px; height:64px; margin-bottom:18px; }
  .ua-brand .ua-logo img { width:58px; height:58px; }
  .ua-brand h1 { font-size:42px!important; }
  .ua-brand p { margin:18px 0!important; }
  .ua-card { padding:26px; }
  body.ua-registration .ua-register-shell { grid-template-columns:1fr!important; max-width:740px!important; margin:20px auto!important; }
  .ua-registration .ua-register-brand { position:relative; top:auto; min-height:280px; }
}
@media(max-width:480px) {
  .ua-card { padding:24px 20px; }
  .ua-brand { padding:26px; }
  .ua-points span { padding:8px 10px; font-size:10px; }
  .ua-registration .ua-register-card, .ua-registration .ua-register-card.auth-panel.signup-panel { padding:20px 16px!important; }
}
