.user-menu { display: flex; align-items: center; gap: 7px; margin-left: 4px; }
.user-chip { display: grid; min-width: 0; padding: 7px 10px !important; line-height: 1.15; }
.user-chip strong { overflow: hidden; max-width: 155px; color: var(--ink); font-size: .77rem; text-overflow: ellipsis; white-space: nowrap; }
.user-chip small { overflow: hidden; max-width: 155px; margin-top: 3px; color: var(--muted); font-size: .64rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.logout-button { padding: 8px !important; color: var(--muted); font-size: .74rem; }

.auth-layout { display: grid; min-height: calc(100vh - 285px); grid-template-columns: minmax(0, 1.1fr) minmax(340px, 460px); gap: clamp(46px, 8vw, 110px); align-items: center; padding: 34px 0 54px; }
.auth-story h1, .setup-intro h1, .account-page h1, .admin-heading h1 { margin-bottom: 20px; font-size: clamp(2.5rem, 5vw, 4.45rem); }
.auth-benefits { display: grid; max-width: 660px; gap: 0; margin: 35px 0 0; padding: 0; list-style: none; }
.auth-benefits li { display: flex; align-items: center; gap: 17px; padding: 17px 0; border-top: 1px solid var(--line); }
.auth-benefits li > span { flex: 0 0 auto; color: var(--blue); font-size: .7rem; font-weight: 850; }
.auth-benefits li div { display: grid; }
.auth-benefits strong { font-size: .91rem; }
.auth-benefits small { margin-top: 3px; color: var(--muted); font-size: .76rem; }
.auth-card { padding: 30px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); box-shadow: var(--shadow-md); }
.auth-card > p { margin-bottom: 21px; font-size: .85rem; }
.auth-card-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 13px; }
.auth-card-heading .eyebrow { margin-bottom: 5px; }
.auth-card-heading h2 { margin: 0; font-size: 1.8rem; }
.auth-lock { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 50%; background: var(--aqua-soft); color: var(--aqua); font-size: .6rem; box-shadow: inset 0 0 0 1px #c9e4dc; }
.auth-form { display: grid; gap: 9px; }
.auth-form label { margin-top: 7px; color: var(--ink); font-size: .77rem; font-weight: 800; }
.auth-form input[type="text"], .auth-form input[type="email"], .auth-form input[type="password"] { width: 100%; max-width: none; height: 48px; padding: 10px 13px; border: 1px solid var(--line-strong); border-radius: 9px; background: #fff; color: var(--ink); outline: 0; }
.auth-form input:focus { border-color: var(--blue-dark); box-shadow: 0 0 0 3px rgba(111,159,182,.18); }
.field-label-row { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin-top: 7px; }
.field-label-row label { margin: 0; }
.field-label-row span { color: var(--muted); font-size: .65rem; }
.auth-submit { width: 100%; margin-top: 16px; }
.auth-help { margin: 19px 0 0 !important; padding-top: 17px; border-top: 1px solid var(--line); color: var(--muted) !important; font-size: .72rem !important; text-align: center; }
.form-alert { margin: 0 0 12px; padding: 12px 14px; border: 1px solid #efb9b5; border-radius: 9px; background: var(--red-soft); color: #8e3434; font-size: .78rem; font-weight: 750; }
.success-notice { border-left: 4px solid var(--aqua); background: #f5fcfa; }

.setup-wrap, .account-page { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 480px); gap: clamp(46px, 8vw, 110px); align-items: center; padding: 42px 0; }
.setup-intro .lead, .account-page .lead { max-width: 650px; }
.account-page .back-link { margin-bottom: 34px; }
.admin-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 36px; }
.admin-heading h1 { margin-bottom: 14px; font-size: clamp(2.25rem, 4.5vw, 3.9rem); }
.admin-heading .lead { margin: 0; }
.admin-stat { display: grid; min-width: 130px; justify-items: center; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-sm); }
.admin-stat strong { color: var(--blue-dark); font-size: 2.2rem; line-height: 1; }
.admin-stat span { margin-top: 7px; color: var(--muted); font-size: .72rem; font-weight: 750; }
.admin-grid { display: grid; grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr); gap: 20px; align-items: start; }
.user-create-card { padding: 26px; }
.user-create-card h2 { margin: 0 0 18px; }
.admin-check { display: flex !important; align-items: center; gap: 9px; margin: 14px 0 0 !important; cursor: pointer; }
.admin-check input { width: 17px; height: 17px; accent-color: var(--blue-dark); }
.user-list-card { overflow: hidden; }
.user-list { display: grid; }
.user-row { display: grid; grid-template-columns: 42px minmax(150px, 1fr) minmax(105px, auto) auto; gap: 13px; align-items: center; padding: 17px 21px; border-top: 1px solid var(--line); }
.user-avatar { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: var(--blue-soft); color: var(--blue-dark); font-size: .8rem; font-weight: 900; }
.user-identity { display: grid; min-width: 0; }
.user-identity strong, .user-identity span, .user-identity small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-identity strong { font-size: .83rem; }
.user-identity span { color: var(--ink-soft); font-size: .74rem; }
.user-identity small { margin-top: 2px; color: var(--muted); font-size: .68rem; }
.user-meta { display: grid; justify-items: start; gap: 3px; }
.user-meta small, .self-label { color: var(--muted); font-size: .66rem; }
.user-meta b { color: var(--blue-dark); font-size: .63rem; }
.account-status { display: inline-flex; align-items: center; gap: 5px; font-size: .67rem; font-weight: 850; }
.account-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--aqua); }
.account-status.inactive { color: var(--red); }
.account-status.inactive::before { background: var(--red); }
.self-label { text-align: right; }

@media (max-width: 960px) {
  .auth-layout, .setup-wrap, .account-page { grid-template-columns: 1fr; }
  .auth-story { max-width: 760px; }
  .auth-card { max-width: 620px; }
  .admin-grid { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .main-nav > a:not(.nav-cta), .user-chip small { display: none; }
  .user-chip strong { max-width: 84px; }
  .logout-button { display: none; }
  .auth-layout, .setup-wrap, .account-page { gap: 28px; padding-top: 12px; }
  .auth-story h1, .setup-intro h1, .account-page h1, .admin-heading h1 { font-size: 2.35rem; }
  .auth-card { padding: 23px 18px; }
  .admin-heading { align-items: flex-start; flex-direction: column; }
  .admin-stat { min-width: 110px; }
  .user-row { grid-template-columns: 37px minmax(0, 1fr) auto; padding: 15px; }
  .user-meta { grid-column: 2; }
  .user-row form, .self-label { grid-column: 3; grid-row: 1 / span 2; }
}
