:root,[data-theme="dark"]{color-scheme:dark;--a-bg:var(--bua-bg);--a-surface:var(--bua-surface);--a-alt:var(--bua-surface-subtle);--a-panel:var(--bua-panel);--a-elev:var(--bua-elevated);--a-text:var(--bua-text);--a-muted:var(--bua-muted);--a-dim:var(--bua-dim);--a-faint:var(--bua-faint);--a-gold:var(--bua-action);--a-green:var(--bua-verified);--a-rose:var(--bua-dispute);--a-logo:var(--bua-mark);--a-on-gold:var(--bua-action-contrast);--a-line:var(--bua-line-subtle);--a-line2:var(--bua-line);--a-gold-soft:var(--bua-action-soft);--a-green-soft:var(--bua-verified-soft);--a-green-edge:var(--bua-verified-edge);--a-rose-soft:var(--bua-dispute-soft);--a-shadow:var(--bua-shadow);--a-photo:var(--bua-photo-filter)}
[data-theme="light"]{color-scheme:light}
*{box-sizing:border-box}html{min-width:320px;background:var(--a-bg)}body{min-height:100dvh;margin:0;overflow-x:hidden;background:var(--a-bg);color:var(--a-text);font-family:'Archivo',system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}
.login-shell{position:relative;min-height:100dvh;isolation:isolate;background-image:linear-gradient(to right,var(--a-line) 1px,transparent 1px),linear-gradient(to bottom,var(--a-line) 1px,transparent 1px);background-size:64px 64px}.login-shell::before{position:fixed;z-index:-1;inset:0;content:'';pointer-events:none;background:radial-gradient(circle at 8% 20%,var(--a-gold-soft),transparent 29rem),radial-gradient(circle at 90% 80%,var(--a-green-soft),transparent 32rem)}
.entry-nav{width:min(1440px,100%);min-height:76px;margin:auto;padding:12px clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--a-line)}.entry-wordmark{display:inline-flex;align-items:center;color:var(--a-text);text-decoration:none}.entry-wordmark__logo{display:block;width:clamp(164px,17vw,206px);height:52px;object-fit:contain;object-position:left center}
.entry-nav__actions,.theme-toggle,.entry-nav__status{display:flex;align-items:center}.entry-nav__actions{gap:16px}.entry-nav__status{gap:8px;color:var(--a-green);font:500 10px 'IBM Plex Mono',monospace;letter-spacing:.13em;text-transform:uppercase}.entry-nav__status span{width:7px;height:7px;border-radius:50%;background:var(--a-green);box-shadow:0 0 0 5px var(--a-green-soft)}.theme-toggle{min-height:44px;gap:10px;padding:5px 5px 5px 13px;border:1px solid var(--a-line2);border-radius:999px;background:var(--a-alt);color:var(--a-dim);cursor:pointer;font:500 9px 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase}.theme-toggle strong{min-width:58px;padding:9px 11px;border-radius:999px;background:var(--a-gold);color:var(--a-on-gold);font-weight:500;text-align:center}
.entry-layout{width:min(1280px,calc(100% - 40px));min-height:calc(100dvh - 140px);margin:32px auto;display:grid;grid-template-columns:minmax(340px,.92fr) minmax(480px,1.08fr);overflow:hidden;border:1px solid var(--a-line2);border-radius:18px;background:var(--a-panel);box-shadow:var(--a-shadow)}.entry-story{position:sticky;top:0;min-height:760px;overflow:hidden;display:flex;align-items:flex-end;background:var(--a-alt)}.entry-story__image,.entry-story__scrim{position:absolute;inset:0}.entry-story__image{background:url('/assets/hero/community-city.webp') center/cover no-repeat;filter:var(--a-photo);transform:scale(1.015)}.entry-story__scrim{background:linear-gradient(180deg,var(--bua-photo-scrim-top),var(--bua-photo-scrim-mid) 42%,var(--bua-photo-scrim-bottom))}.entry-story__content{position:relative;z-index:1;width:100%;padding:clamp(28px,5vw,58px);color:var(--bua-photo-text)}.system-kicker{margin:0;color:var(--a-gold);font:500 10px 'IBM Plex Mono',monospace;letter-spacing:.2em;text-transform:uppercase}.entry-story h2{max-width:560px;margin:14px 0 16px;font:800 clamp(38px,5vw,64px)/.98 'Archivo',sans-serif;letter-spacing:-.05em}.entry-story__content>p:not(.system-kicker){max-width:520px;margin:0;color:var(--bua-photo-text-muted);font-size:16px;line-height:1.65}.entry-trust{margin-top:30px;padding-top:20px;display:flex;flex-wrap:wrap;gap:10px 20px;border-top:1px solid var(--bua-photo-line)}.entry-trust span{display:inline-flex;align-items:center;gap:7px;color:var(--bua-photo-text-dim);font:400 9px 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase}.entry-trust i{width:5px;height:5px;border-radius:50%;background:var(--bua-photo-verified)}
.login-frame{width:100%;min-width:0;padding:clamp(34px,6vw,72px);align-self:center;background:var(--a-panel)}.login-shell>.login-frame{max-width:680px;min-height:100dvh;margin:0 auto;border-inline:1px solid var(--a-line);box-shadow:var(--a-shadow)}.logo-wrap{min-height:78px;margin-bottom:24px}.login-logo-wrapper,.login-logo{display:flex;align-items:center}.login-logo{width:min(100%,240px);min-height:68px;justify-content:flex-start}.login-logo #buaLogo{display:block;width:min(100%,232px);height:auto}.login-kicker{margin-bottom:12px}.login-title{margin:0;color:var(--a-text);font:800 clamp(34px,4vw,48px)/1.02 'Archivo',sans-serif!important;letter-spacing:-.045em}.login-sub{max-width:560px;margin:12px 0 0;color:var(--a-muted);font-size:15px;line-height:1.65}
.login-progress{margin:30px 0 34px;padding:0 0 14px;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;border-bottom:1px solid var(--a-line);list-style:none}.login-progress__step{position:relative;padding-top:12px;color:var(--a-faint);font:400 9px 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase}.login-progress__step::before{position:absolute;top:0;right:0;left:0;height:3px;border-radius:3px;background:var(--a-line2);content:''}.login-progress__step.is-active{color:var(--a-gold)}.login-progress__step.is-active::before{background:var(--a-gold)}
.form,.step{display:flex;flex-direction:column}.form{gap:22px}.step{gap:18px}.step.hidden,.hidden,.error.hidden,.status-card.hidden,.api-startup-status.hidden{display:none!important}.access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.access-card{min-height:156px;padding:22px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:9px;border:1px solid var(--a-line2);border-radius:11px;background:var(--a-alt);color:var(--a-text);text-align:left;cursor:pointer;transition:border-color .16s,background .16s,transform .16s}.access-card::before{width:30px;height:30px;margin-bottom:auto;border:1px solid var(--a-gold);border-radius:50% 50% 50% 5px;content:''}.access-card:nth-child(2)::before{border-radius:6px;border-color:var(--a-dim);box-shadow:inset 0 0 0 7px var(--a-alt),inset 0 0 0 8px var(--a-dim)}.access-card:hover{border-color:var(--a-gold);background:var(--a-gold-soft);transform:translateY(-2px)}.access-card__title{font:600 17px 'Archivo',sans-serif;letter-spacing:-.02em}.access-card__desc{color:var(--a-muted);font-size:13px;line-height:1.55}
.form-group{display:flex;flex-direction:column;gap:8px}.form-group--inline{display:block}label,.status-card__label{color:var(--a-dim);font:500 10px 'IBM Plex Mono',monospace;letter-spacing:.14em;text-transform:uppercase}.input,.select{width:100%;min-height:52px;padding:13px 15px;border:1px solid var(--a-line2);border-radius:11px;outline:0;background:var(--a-alt);color:var(--a-text);caret-color:var(--a-gold);font-size:16px;transition:border-color .15s,box-shadow .15s,background .15s}.input:focus,.select:focus{border-color:var(--a-gold);background:var(--a-panel);box-shadow:0 0 0 3px var(--a-gold-soft)}.input::placeholder{color:var(--a-faint)}.input-split{display:grid;grid-template-columns:minmax(108px,.34fr) minmax(0,1fr);gap:9px}.otp-input{font:400 23px 'IBM Plex Mono',monospace;font-variant-numeric:tabular-nums;letter-spacing:.3em;text-align:center}.form-group[aria-invalid="true"] .input,.form-group[aria-invalid="true"] .select{border-color:var(--a-rose);box-shadow:0 0 0 3px var(--a-rose-soft)}
.helper,.meta-text,.sso-status{margin:0;color:var(--a-dim);font-size:13px;line-height:1.6}.security-note{padding:12px 14px;border-left:2px solid var(--a-green);background:var(--a-green-soft)}.meta-text{margin-top:-2px}.meta-row,.status-card__row,.checkbox-label{display:flex;align-items:center}.meta-row{justify-content:space-between;gap:16px}.status-card{padding:4px 16px;overflow:hidden;border:1px solid var(--a-green-edge);border-radius:11px;background:var(--a-green-soft)}.status-card__row{min-height:48px;justify-content:space-between;gap:16px;border-bottom:1px solid var(--a-line)}.status-card__row:last-child{border:0}.status-card__value{color:var(--a-green);font:400 11px 'IBM Plex Mono',monospace;font-variant-numeric:tabular-nums;text-align:right}.biometric-panel{padding:10px 16px 16px}.biometric-panel .helper{margin:12px 0}.checkbox-label{min-height:44px;gap:10px;color:var(--a-muted);font:400 14px 'Archivo',sans-serif;letter-spacing:0;text-transform:none;cursor:pointer}.checkbox-label input{width:18px;height:18px;accent-color:var(--a-gold)}
.step-actions{display:flex;flex-wrap:wrap;gap:10px}.btn{min-height:48px;padding:12px 20px;border:1px solid transparent;border-radius:11px;cursor:pointer;font:600 14px 'Archivo',sans-serif;transition:filter .15s,background .15s,color .15s,transform .1s}.btn:active{transform:translateY(1px)}.btn:disabled,.link-button:disabled{cursor:not-allowed;filter:grayscale(.5);opacity:.48}.btn-primary{min-width:150px;background:var(--a-gold);color:var(--a-on-gold)}.btn-primary:hover:not(:disabled){filter:brightness(1.1)}.btn-ghost{border-color:var(--a-line2);background:transparent;color:var(--a-text)}.btn-ghost:hover:not(:disabled){border-color:var(--a-gold);color:var(--a-gold)}.link-button{min-height:44px;padding:8px 0;align-self:flex-start;border:0;background:transparent;color:var(--a-gold);cursor:pointer;font-size:13px;text-align:left}.link-button:hover:not(:disabled){text-decoration:underline;text-underline-offset:4px}
.error-text{min-height:0;color:var(--a-rose);font-size:12px}.error-text:empty{display:none}.error{padding:13px 15px;border:1px solid var(--a-rose);border-radius:11px;background:var(--a-rose-soft);color:var(--a-rose);font-size:13px;line-height:1.5}.sso-status.is-error{color:var(--a-rose)}.legal-footer{margin-top:34px;padding-top:20px;display:flex;flex-wrap:wrap;gap:8px 16px;border-top:1px solid var(--a-line);color:var(--a-faint);font:400 9px/1.6 'IBM Plex Mono',monospace;letter-spacing:.04em}.legal-footer a{color:var(--a-gold)}.legal-footer p{width:100%;margin:0}
.api-startup-status{min-height:44px;padding:10px 13px;display:flex;align-items:center;gap:10px;border:1px solid var(--a-line2);border-radius:11px;color:var(--a-muted);font-size:12px}.spinner{width:16px;height:16px;flex:none;border:2px solid var(--a-line2);border-top-color:var(--a-gold);border-radius:50%;animation:auth-spin .8s linear infinite}.api-heartbeat-indicator,.db-heartbeat-indicator{border-color:var(--a-line2)!important;background:var(--a-alt)!important;color:var(--a-dim)!important;font-family:'IBM Plex Mono',monospace!important}@keyframes auth-spin{to{transform:rotate(360deg)}}:focus-visible{outline:2px solid var(--a-gold);outline-offset:3px}
@media(max-width:920px){.entry-layout{grid-template-columns:1fr;width:min(680px,calc(100% - 28px));margin:20px auto}.entry-story{position:relative;min-height:300px}.entry-story__content{padding:32px}.entry-story h2{max-width:460px;font-size:clamp(36px,8vw,54px)}}
@media(max-width:600px){.entry-nav{min-height:64px;padding:10px 16px}.entry-nav__status,.theme-toggle>span{display:none}.theme-toggle{padding-left:5px}.entry-layout{width:100%;min-height:calc(100dvh - 64px);margin:0;border:0;border-radius:0;box-shadow:none}.entry-story{min-height:230px}.entry-story__content{padding:24px 20px}.entry-story h2{margin:9px 0 0;font-size:38px}.entry-story__content>p:not(.system-kicker),.entry-trust{display:none}.login-frame{padding:30px 20px 38px}.logo-wrap{display:none}.login-title{font-size:36px}.login-progress{margin:25px 0 28px}.login-progress__step{overflow:hidden;font-size:8px;letter-spacing:.07em;text-overflow:ellipsis}.access-grid{grid-template-columns:1fr}.access-card{min-height:124px}.input-split{grid-template-columns:112px minmax(0,1fr)}.step-actions .btn{flex:1 1 140px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Entry hierarchy: one prominent, undistorted lockup and a form-first mobile flow. */
.entry-nav{background:var(--bua-bg);padding-block:10px}
.entry-wordmark{min-width:0;flex:0 0 144px}
.entry-wordmark__logo{width:100%;max-width:144px;height:auto;aspect-ratio:1476/618;object-fit:contain;object-position:left center}
.login-logo #buaLogo{width:min(100%,190px);height:auto;aspect-ratio:1476/618;object-fit:contain;object-position:left center}
.access-card::before{width:36px;height:36px;border:0;border-radius:0;background:url('/branding/icons/v15/glyphs/active-dark/bua-you.svg') center/contain no-repeat;box-shadow:none}
.access-card:nth-child(2)::before{border:0;border-radius:0;box-shadow:none;background-image:url('/branding/icons/v15/glyphs/active-dark/bua-rooms.svg')}
html[data-theme="light"] .access-card::before{background-image:url('/branding/icons/v15/glyphs/active-light/bua-you.svg')}
html[data-theme="light"] .access-card:nth-child(2)::before{background-image:url('/branding/icons/v15/glyphs/active-light/bua-rooms.svg')}
.entry-nav__actions{margin-left:auto;flex:0 0 auto}
.entry-story{min-height:620px}
.login-fields{display:flex;flex-direction:column;gap:18px;min-width:0;margin:0;padding:0;border:0}
.login-fields:disabled{opacity:.7;cursor:progress}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.login-progress__step.is-complete{color:var(--a-muted)}
.login-progress__step.is-complete::before{background:var(--a-green)}
.password-input{position:relative}
.password-input .input{padding-right:76px}
.password-toggle{position:absolute;inset:4px 4px 4px auto;min-width:64px;min-height:44px;border:0;border-radius:8px;background:var(--a-panel);color:var(--a-gold);font-size:13px;font-weight:600;cursor:pointer}
#loginActivity{padding:10px 0;color:var(--a-muted)}
.legal-footer{color:var(--a-dim);font-size:11px;line-height:1.65}
.login-shell~.development-quick-access--floating{position:relative;inset:auto;z-index:auto;width:min(680px,calc(100% - 32px));max-height:none;margin:20px auto 32px}
.development-quick-access__disclosure>summary{min-height:44px;display:list-item;align-content:center;color:var(--a-muted);font-size:14px;font-weight:600;cursor:pointer}
.development-quick-access__disclosure[open]>summary{margin-bottom:16px}
@media(max-width:920px){.entry-story{display:none}}
@media(max-width:600px){
  .entry-nav{gap:12px;padding-block:10px}
  .entry-wordmark{flex-basis:144px}
  .entry-story{display:none}
  .login-frame{align-self:start;padding-top:28px}
  .access-card{min-height:110px;padding:18px}
  .access-card::before{display:block;width:28px;height:28px;margin-bottom:8px}
  .login-progress__step{font-size:10px}
  .login-sub{font-size:15px}
}

/* Familiar icon control; its accessible name announces the destination theme. */
.theme-toggle{width:48px;min-width:48px;min-height:48px;justify-content:center;padding:0;border-radius:12px;color:var(--a-text)}
.theme-toggle strong{min-width:0;padding:0}
.theme-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.theme-icon--moon{display:none}
html[data-theme="light"] .theme-icon--sun{display:none}
html[data-theme="light"] .theme-icon--moon{display:block}
.theme-toggle:focus-visible{outline:2px solid var(--a-gold);outline-offset:3px}

/* Keep the whole photograph in a stable frame; copy never overlays faces. */
.entry-story{position:static;min-height:0;flex-direction:column;align-items:stretch;justify-content:center;padding:20px;gap:20px}
.entry-story__image{position:relative;inset:auto;flex:none;width:100%;aspect-ratio:3/2;background-size:contain;background-position:center;transform:none}
.entry-story__scrim{display:none}
.entry-story__content{padding:12px;color:var(--a-text)}
.entry-story__content>p:not(.system-kicker){color:var(--a-muted)}
.entry-trust{border-color:var(--a-line2)}
.entry-trust span{color:var(--a-muted)}
