/* BARBA Auth System — Phase 9.6.1 visual hotfix */
:root{
  --auth-bg:#0d0f10;--auth-card:#fff;--auth-ink:#111318;--auth-muted:#817c72;
  --auth-border:#d9d1c2;--auth-gold:#c9a35b;--auth-gold-strong:#a17b3e;--auth-soft:#f8f2e5;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;overscroll-behavior-y:none}
.barba-auth-body{min-height:100dvh;overscroll-behavior:none;background:linear-gradient(145deg,#090b0c,#17191b);font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--auth-ink)}
.barba-auth-shell{min-height:100dvh;display:grid;place-items:center;padding:14px}
.barba-auth-frame{width:min(100%,1040px)}
.barba-auth-page{width:100%;display:grid;grid-template-columns:1fr;background:var(--auth-card);border:1px solid rgba(201,163,91,.34);border-radius:18px;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.34)}

/* Login hero */
.barba-auth-hero{display:flex;flex-direction:column;background:linear-gradient(145deg,#0d0f10,#1b1e20);color:#f5f0e6;padding:22px 20px;min-height:235px;position:relative;overflow:hidden}
.barba-auth-hero::after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-120px;bottom:-110px;background:radial-gradient(circle,rgba(201,163,91,.17),transparent 68%)}
.auth-brand{display:flex;align-items:center;gap:13px;position:relative;z-index:1}.auth-brand img{width:52px;height:52px;object-fit:contain;display:block}.auth-brand strong{font-family:Montserrat,sans-serif;font-size:1rem;letter-spacing:.06em}.auth-brand span{display:block;color:#9d998f;font-size:.58rem;letter-spacing:.17em;margin-top:3px}
.auth-hero-copy{margin:auto 0;position:relative;z-index:1}.hero-kicker,.eyebrow{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:#c9a35b;font-weight:800}.auth-hero-copy h1{font-family:Montserrat,sans-serif;font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.02;margin:14px 0 16px;font-weight:800;letter-spacing:-.04em}.auth-hero-copy h1 span{color:#d7b46f}.auth-hero-copy p{max-width:390px;color:#c3beb4;line-height:1.7;font-size:.9rem}.auth-hero-features{display:grid;gap:12px;position:relative;z-index:1}.auth-hero-features div{display:flex;gap:10px;align-items:center;color:#c5c0b6;font-size:.82rem}.auth-hero-features i{color:#c9a35b}
.auth-hero-copy{margin:28px 0 0}
.auth-hero-copy h1{font-size:1.75rem;line-height:1.05;margin:8px 0 9px}
.auth-hero-copy p{font-size:.78rem;line-height:1.55;margin:0;max-width:330px}
.auth-hero-features{display:none}
.barba-auth-hero .auth-brand img{width:40px;height:40px}
.barba-auth-hero .auth-brand strong{font-size:.82rem}
.barba-auth-hero .auth-brand span{font-size:.52rem}


/* Form panel */
.login-card,.card{width:100%;background:#fff;border:0!important;border-radius:0!important;box-shadow:none!important}
.login-card{display:flex;flex-direction:column;justify-content:center;min-width:0}
.login-header,.card-header,.header{padding:26px 22px 12px!important;background:#fff!important;border:0!important;text-align:left!important}
.login-body,.card-body{padding:8px 22px 28px!important}
.auth-mobile-brand{display:none;align-items:center;gap:10px;margin-bottom:28px}.auth-mobile-brand img{width:42px;height:42px;object-fit:contain;display:block}.auth-mobile-brand strong{font-family:Montserrat,sans-serif;font-size:.9rem;letter-spacing:.05em}.auth-mobile-brand span{display:block;font-size:.68rem;color:var(--auth-muted);margin-top:2px}
.login-header h1,.card-header h1,.header h1,.header h2{font-family:Montserrat,sans-serif!important;color:#111318!important;font-size:clamp(1.35rem,5vw,1.8rem)!important;font-weight:800!important;margin:9px 0 7px}.subtitle,.login-intro,.header p{color:var(--auth-muted)!important;line-height:1.55;margin:0}.gold-line{height:3px;width:52px;border-radius:999px;background:var(--auth-gold);margin:12px 0}

.form-group{margin-bottom:16px}.form-group label,.form-label{display:block;color:#242527!important;font-size:.8rem;font-weight:700;margin-bottom:7px}.input-wrapper{position:relative}.input-wrapper .input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9b9386;z-index:1}.input-wrapper input{padding-left:42px!important;padding-right:44px!important}.form-group input,.form-group select,.form-group textarea,.form-control{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--auth-border)!important;border-radius:11px!important;background:#fbfaf7!important;color:#111318!important;font-size:16px}.form-group input:focus,.form-control:focus{outline:0;border-color:var(--auth-gold)!important;box-shadow:0 0 0 3px rgba(201,163,91,.14)!important;background:#fff!important}.toggle-password,.toggle-pass{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#77736b;min-width:40px;min-height:40px;border-radius:8px}.invalid-feedback{display:block;color:#991b1b;font-size:.76rem;margin-top:6px}.is-invalid{border-color:#b91c1c!important}
.btn-login,.btn-submit{width:100%;min-height:48px;border:1px solid #17191b;border-radius:11px;background:#17191b;color:#fff;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.btn-login:hover,.btn-submit:hover{background:#0d0f10}.btn-login:disabled,.btn-submit:disabled{opacity:.62;cursor:not-allowed}.form-options{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:12px 0 18px;font-size:.78rem}.remember-option{display:flex!important;align-items:center;gap:7px;margin:0!important;color:#57544e!important;font-weight:500!important}.remember-option input{width:15px;height:15px}.forgot-link,.register-link,.login-link,.footer a,.auth-register-link a{color:#8a682f!important;font-weight:700;text-decoration:none}.forgot-link:hover,.register-link:hover,.login-link:hover,.auth-register-link a:hover{text-decoration:underline}.auth-register-link,.register-link,.footer,.login-link{display:block;text-align:center;margin-top:18px;color:var(--auth-muted);font-size:.8rem}
.role-selector{display:grid;grid-template-columns:1fr;gap:9px}.role-option input{position:absolute;opacity:0;pointer-events:none}.role-card{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--auth-border);border-radius:12px;cursor:pointer;background:#fbfaf7}.role-option input:checked+.role-card{border-color:var(--auth-gold);background:#fff8e9;box-shadow:0 0 0 2px rgba(201,163,91,.12)}.role-icon{font-size:1.2rem;color:#9a7437}.role-title{font-weight:800}.role-desc{font-size:.75rem;color:var(--auth-muted)}.terms-check,.form-check{font-size:.8rem;color:#57544e}.info-box{padding:12px 14px;border-radius:11px;background:#f8f2e5;border:1px solid #e8d2a8;color:#72511b;font-size:.8rem}.alert{border-radius:10px}.hidden{display:none!important}


/* Register */
.barba-auth-register .register-card{justify-content:flex-start}
.barba-auth-register .login-header{padding-bottom:8px!important}
.barba-auth-register .login-body{padding-top:4px!important}
.barba-auth-register .role-selector{margin-bottom:12px}
.barba-auth-register .info-box{display:block;margin-bottom:16px;line-height:1.5}
.barba-auth-register .info-box:empty{display:none}
.barba-auth-register .info-box ul{margin:7px 0 7px 18px;padding:0}
.barba-auth-register .auth-form-grid{display:grid;grid-template-columns:1fr;gap:0}
.barba-auth-register .field-hint{margin-top:6px;color:var(--auth-muted);font-size:.72rem;line-height:1.4}
.barba-auth-register .terms-check{display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:start;margin:4px 0 18px;line-height:1.45}
.barba-auth-register .terms-check input{margin-top:2px;width:16px;height:16px}
.barba-auth-register .terms-check label{margin:0}

/* Never allow legacy logo selectors to expand the real image. */
.login-card .logo,.login-card .logo-icon{width:auto;height:auto;background:transparent;margin:0;border-radius:0}.login-card .logo img,.login-card .logo-icon img{display:block;max-width:48px;max-height:48px;object-fit:contain}

@media(min-width:720px){.role-selector{grid-template-columns:repeat(3,1fr)}.login-header,.card-header,.header{padding:34px 38px 16px!important}.login-body,.card-body{padding:8px 38px 38px!important}.barba-auth-shell{padding:24px}}
@media(min-width:900px){
  .barba-auth-page{grid-template-columns:minmax(360px,.92fr) minmax(420px,1.08fr)}
  .barba-auth-hero{display:flex;flex-direction:column;padding:42px;min-height:620px}
  .barba-auth-hero .auth-brand img{width:52px;height:52px}
  .barba-auth-hero .auth-brand strong{font-size:1rem}
  .barba-auth-hero .auth-brand span{font-size:.58rem}
  .auth-hero-copy{margin:auto 0}
  .auth-hero-copy h1{font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.02;margin:14px 0 16px}
  .auth-hero-copy p{font-size:.9rem;line-height:1.7;max-width:390px}
  .auth-hero-features{display:grid}
  .auth-mobile-brand{display:none}
  .login-card{min-height:620px}
  .barba-auth-register .login-card{min-height:720px}
  .barba-auth-register .auth-form-grid{grid-template-columns:1fr 1fr;column-gap:14px}
  .barba-auth-register .auth-grid-full{grid-column:1/-1}
}
@media(max-width:420px){
  .barba-auth-shell{padding:0}
  .barba-auth-page{border-radius:0;border-left:0;border-right:0;min-height:100dvh}
  .barba-auth-hero{min-height:220px;padding:18px 18px}
  .login-header{padding-top:22px!important}
  .form-options{align-items:flex-start}
  .forgot-link{text-align:right}
}

/* Phase 9.6.6 PWA install */
.barba-auth-install{position:fixed;z-index:50;top:max(12px,env(safe-area-inset-top));right:12px;min-height:42px;padding:9px 12px;border:1px solid rgba(201,163,91,.7);border-radius:999px;background:#17191b;color:#fff;font-size:.78rem;font-weight:700;display:inline-flex;align-items:center;gap:7px;box-shadow:0 8px 24px rgba(13,15,16,.22)}
.barba-auth-install[hidden]{display:none!important}
