.auth-account { display: flex; align-items: center; gap: 10px; color: #c2c9c5; font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: none; }
.auth-account[hidden], .auth-gate[hidden], .public-session[hidden], .auth-dismiss[hidden], .auth-account button[hidden] { display: none !important; }
.auth-account button { padding: 6px 9px; border: 1px solid #49514d; background: transparent; color: #fff; cursor: pointer; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.auth-account button:hover { border-color: #d9ff43; color: #d9ff43; }
.auth-gate { position: fixed; z-index: 1000; inset: 0; padding: 20px; display: grid; place-items: center; background: rgba(7, 13, 10, .94); backdrop-filter: blur(8px); color: #101915; }
.auth-card { width: min(430px, 100%); padding: 36px; border-top: 6px solid #d9ff43; background: #fcfbf7; box-shadow: 0 25px 80px rgba(0,0,0,.45); }
.auth-card .brand-mark { width: 42px; height: 42px; margin-bottom: 25px; border-color: #9fa59f; }
.auth-card .brand-mark i { background: #101915; }
.auth-kicker { margin: 0 0 7px; color: #ed573e; font-size: 10px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.auth-card h1 { margin: 0; font: 800 44px/.9 "Barlow Condensed", sans-serif; text-transform: uppercase; }
.auth-copy { margin: 15px 0 25px; color: #69716c; font-size: 13px; }
.auth-field { display: block; margin-bottom: 16px; }
.auth-field span { display: block; margin-bottom: 6px; color: #26312b; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.auth-field input { width: 100%; height: 48px; padding: 0 13px; border: 1px solid #d8d8cf; border-radius: 0; background: #fff; color: #101915; font: inherit; }
.auth-field input:focus { border-color: #80972a; outline: 3px solid rgba(217,255,67,.3); }
.auth-submit { width: 100%; min-height: 48px; border: 0; background: #101915; color: #fff; cursor: pointer; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.auth-submit:hover:not(:disabled) { background: #d9ff43; color: #101915; }
.auth-submit:disabled { opacity: .6; cursor: wait; }
.auth-forgot-password { width: 100%; margin-top: 12px; padding: 7px; border: 0; background: transparent; color: #4d5b53; cursor: pointer; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-decoration: underline; text-transform: uppercase; }
.auth-forgot-password:hover:not(:disabled) { color: #101915; }
.auth-forgot-password:disabled { cursor: wait; opacity: .55; }
.auth-dismiss { width: 100%; min-height: 42px; margin-top: 8px; border: 1px solid #69716c; background: transparent; color: #26312b; cursor: pointer; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.auth-dismiss:hover { border-color: #101915; background: #f4f2ec; }
.auth-guide-link { width: 100%; min-height: 40px; margin-top: 8px; display: flex; align-items: center; justify-content: center; border: 1px solid #b9bdb7; color: #26312b; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.auth-guide-link:hover { border-color: #101915; background: #f4f2ec; }
.auth-message { min-height: 18px; margin: 10px 0 0; color: #b43525; font-size: 11px; }
.auth-message[data-state="success"] { color: #587000; }
.password-dialog { max-width: none; padding: 0; border: 0; background: transparent; }
.password-dialog::backdrop { background: rgba(7, 13, 10, .82); backdrop-filter: blur(6px); }
.password-dialog .auth-card { margin: 0; }
.password-dialog-actions { display: grid; grid-template-columns: 1fr; }
[data-requires-capability][hidden] { display: none !important; }
[data-public-view="true"] [data-public-locked="true"] { cursor: not-allowed !important; opacity: .58; }
[data-page-access="blocked"] main, [data-page-access="blocked"] dialog, [data-page-access="blocked"] header nav { display: none !important; }
.auth-role { padding: 4px 6px; border: 1px solid #49514d; color: #d9ff43; font-size: 9px; letter-spacing: .08em; }
.public-session { display: flex; align-items: center; gap: 8px; }
.public-session strong { padding: 5px 7px; border: 1px solid #d9ff43; color: #d9ff43; font-size: 9px; letter-spacing: .1em; }
.public-session button { padding: 7px 11px; border: 1px solid #fff; background: transparent; color: #fff; cursor: pointer; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.public-session button:hover { border-color: #d9ff43; color: #d9ff43; }
.access-notice { margin: 32px; padding: 24px; background: #18231d; color: #fff; font: 14px "DM Sans", sans-serif; }
.access-notice[hidden] { display: none !important; }
.access-notice button { padding: 8px 12px; border: 1px solid #49514d; background: transparent; color: #fff; cursor: pointer; }

@media (max-width: 620px) {
  .auth-account span { display: none; }
  .auth-card { padding: 28px 24px; }
  .public-session:not([hidden]) ~ .system-indicator { display: none; }
}
