.user-bar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.user-identity { display: grid; text-align: right; }
.user-identity small { color: #b9d3df; text-transform: uppercase; letter-spacing: .08em; }
.header-link,.header-button { min-height: 36px; padding: 8px 12px; border: 1px solid #ffffff55; border-radius: 7px; color: white; background: #ffffff12; text-decoration: none; }
.header-link:hover,.header-button:hover { background: #ffffff22; }
.login-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: linear-gradient(135deg,#102546,#176b87); }
.auth-card { width: min(430px,100%); padding: 32px; border-radius: 16px; background: white; box-shadow: 0 24px 80px #07152b66; }
.auth-card h1 { margin-bottom: 8px; }.auth-card .subtitle { margin-bottom: 24px; color: #637087; }
.auth-card form { display: grid; gap: 16px; }.auth-card button { margin-top: 4px; }
.password-input { position: relative; display: block; }.password-input input { width: 100%; padding-right: 72px; }.password-input .password-visibility { position: absolute; right: 4px; top: 4px; min-height: 32px; padding: 4px 9px; border: 0; color: #176b87; background: transparent; font-size: 12px; }
.users-page { max-width: 1500px; margin: auto; padding: 28px; }
.user-form { display: grid; grid-template-columns: repeat(4,minmax(190px,1fr)); gap: 18px; align-items: end; margin-bottom: 24px; padding: 24px; border: 1px solid #dfe6ef; border-radius: 12px; background: white; }
.auth-card main { padding: 0; }.auth-card .error { margin: 0; }.auth-card small { font-weight: 400; color: #718096; }
.users-list { margin-top: 20px; }.users-panel .message,.users-panel .error { margin: 0 20px 20px; }
.inline-check { display: flex; align-items: center; gap: 7px; }.inline-check input { min-height: auto; }
.auto-password { display: flex; align-items: center; gap: 8px; min-height: 40px; }.auto-password input { min-height: auto; flex: 0 0 auto; }.user-form > button { width: 100%; }
.credential-result { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; margin: 0 20px 20px; padding: 14px; border: 2px solid #d7a928; border-radius: 9px; background: #fff9df; }
.credential-result[hidden] { display: none !important; }
.credential-result code { padding: 9px; border-radius: 6px; font-size: 15px; background: white; user-select: all; }.credential-result small { grid-column: 1/-1; color: #735d20; }
.users-list select { min-width: 140px; }
.status-pill { display: inline-block; padding: 5px 9px; border-radius: 99px; font-size: 12px; font-weight: 800; }.status-active { color: #116252; background: #e5f7f2; }.status-inactive { color: #8a3340; background: #fdebed; }
.deactivate-action { border-color: #d6a14b; color: #79510e; background: #fff9e9; }.reactivate-action { border-color: #73b8a9; color: #116252; background: #effaf7; }.self-note { align-self: center; padding: 0 7px; }
.email-panel { margin-top: 20px; }.email-panel .panel-heading button { margin-left: auto; }.email-status { display: inline-block; padding: 5px 9px; border-radius: 99px; font-size: 12px; font-weight: 800; }.email-sent { color: #116252; background: #e5f7f2; }.email-pending { color: #79510e; background: #fff4d5; }.email-failed { color: #9c2f2f; background: #fdecec; }.email-error { max-width: 320px; overflow: hidden; text-overflow: ellipsis; }
.audit-dialog { width: min(900px,calc(100vw - 24px)); padding: 24px; }.audit-dialog .eyebrow { color: #176b87; }.audit-list { display: grid; gap: 10px; max-height: 60vh; overflow: auto; }.audit-entry { display: grid; grid-template-columns: 155px 1fr; gap: 14px; padding: 13px; border: 1px solid #e1e7ef; border-radius: 8px; background: #f8fafc; }.audit-entry time { color: #68758a; font-size: 12px; }.audit-entry p { margin: 0; }.audit-details { margin-top: 5px; color: #657187; font-size: 12px; word-break: break-word; }
.users-list .actions { min-width: 310px; flex-wrap: wrap; white-space: normal; }.users-list .actions button { min-height: 34px; padding: 6px 9px; }.protected-note { align-self: center; color: #7a8799; font-size: 12px; }
.confirm-dialog { width: min(480px,calc(100vw - 24px)); padding: 26px; text-align: center; }.confirm-symbol { display: grid; place-items: center; width: 48px; height: 48px; margin: 0 auto 14px; border-radius: 50%; color: white; background: #176b87; font-size: 28px; font-weight: 900; }.confirm-dialog .dialog-actions { margin-top: 24px; }
@media(max-width:1050px){.user-form{grid-template-columns:1fr 1fr}}@media(max-width:620px){.user-form{grid-template-columns:1fr}.user-bar{justify-content:flex-start}.user-identity{text-align:left}.credential-result{grid-template-columns:1fr}}
.mfa-card{max-width:540px}.mfa-card [hidden]{display:none!important}.mfa-card h1{font-size:clamp(2rem,7vw,3rem);line-height:1.12;overflow-wrap:normal}.mfa-qr{display:block;width:min(240px,100%);height:auto;aspect-ratio:1;margin:1rem auto;border:1px solid #d8e0ea;border-radius:12px}.manual-key{display:block;padding:.75rem;overflow-wrap:anywhere;background:#f3f6fa;border-radius:8px;user-select:all}.secondary-link{display:block;margin-top:1rem;text-align:center}
.mfa-recovery{display:block;margin:24px 0 0;padding:24px;border:2px solid #d7a928;border-radius:12px;background:#fff9df}.mfa-recovery h2{margin:0 0 8px;font-size:1.55rem;line-height:1.2}.mfa-recovery p{margin:0 0 18px;color:#64531d}.recovery-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:20px}.recovery-codes code{display:block;padding:10px;border:1px solid #eadca9;border-radius:7px;background:white;text-align:center;font-size:1rem;letter-spacing:.08em;user-select:all}.mfa-recovery .primary{width:100%;margin:0}
.mfa-state{display:inline-block;padding:.25rem .55rem;border-radius:999px;font-size:.85rem;font-weight:700}.mfa-active{background:#ddf5eb;color:#086451}.mfa-pending{background:#fff1c7;color:#805b00}.mfa-disabled{background:#edf1f5;color:#657286}
@media(max-width:480px){.mfa-card{padding:24px}.recovery-codes{grid-template-columns:1fr}.mfa-recovery{padding:18px}}
