:root {
  --admin-navy: #102a43;
  --admin-blue: #1976df;
  --admin-blue-dark: #125daF;
  --admin-soft: #f3f8fe;
  --admin-line: #dce7f3;
  --admin-muted: #74849a;
}

.hero-kicker { margin: 0 0 22px !important; color: #aad5ff !important; font-size: 12px !important; font-weight: 800; letter-spacing: .12em; }
.account-setup-hero { background: linear-gradient(145deg,#146bc8,#2184df); }
.account-setup-panel { padding-top: 42px; padding-bottom: 42px; }
.account-setup-card { width: min(100%,720px); }
.invitation-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-bottom: 28px; overflow: hidden; border: 1px solid var(--admin-line); border-radius: 12px; background: var(--admin-line); }
.invitation-summary > div { display: grid; gap: 8px; min-width: 0; padding: 16px 18px; background: #f7fbff; }
.invitation-summary .wide-row { grid-column: 1/-1; }
.invitation-summary small { color: var(--admin-muted); font-size: 11px; }
.invitation-summary strong { overflow: hidden; color: #2f4259; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.v2-auth-form { display: grid; }
.v2-auth-form > label { margin: 0 0 9px; font-size: 13px; font-weight: 700; }
.v2-auth-form > input, .v2-auth-form .password-field { height: 52px; margin-bottom: 22px; border: 1px solid #ccd9e8; border-radius: 9px; background: #fff; }
.v2-auth-form > input { padding: 0 16px; }
.v2-auth-form input[readonly] { color: #52657b; background: #f5f8fc; }
.v2-auth-form input:focus, .v2-auth-form .password-field:focus-within { outline: 2px solid rgba(25,118,223,.16); border-color: var(--admin-blue); }
.password-policy { display: flex; gap: 12px; margin: 0 0 24px; padding: 14px 16px; border-radius: 9px; color: #607086; background: #f4f8fd; font-size: 11px; line-height: 1.5; }
.password-policy b { color: #2d455f; white-space: nowrap; }.password-policy span { display: block; }
.account-help { margin: 24px 0 0; color: var(--admin-muted); font-size: 11px; text-align: center; }
.account-help a { color: var(--admin-blue); font-weight: 700; }
.password-reset-card { width: min(100%,620px); }
.password-reset-guide { display: grid; gap: 6px; margin: 0 0 24px; padding: 16px 18px; border-radius: 10px; color: var(--admin-muted); background: var(--admin-soft); font-size: 12px; line-height: 1.55; }
.password-reset-guide b { color: #34516f; }
.reset-link-error { padding: 24px; border: 1px solid #f0c9a2; border-radius: 12px; background: #fff8ef; text-align: center; }
.reset-link-error b { color: #9a5318; font-size: 15px; }.reset-link-error p { margin: 10px 0 18px; color: #776453; font-size: 13px; line-height: 1.6; }.reset-link-error a { display: inline-grid; place-items: center; min-width: 170px; height: 42px; border-radius: 8px; color: #fff; background: var(--admin-blue); font-size: 12px; font-weight: 700; }
.v2-primary:disabled, .admin-submit:disabled, .inline-submit button:disabled, .admin-secondary:disabled { opacity: .65; cursor: wait; }

.admin-login-hero { background: linear-gradient(145deg,#102a43,#165a92); }
.admin-chip { color: #174f82; background: #eaf4ff; }
.admin-security-note { background: #f2f7fc; }.admin-security-note > b { color: #174f82; background: #dcecff; }
.admin-primary { background: #1768c4; }.admin-primary:hover { background: #10549e; }

.admin-console-page { min-width: 1120px; min-height: 100vh; margin: 0; color: #18283b; background: #f1f6fc; }
.admin-console-topbar { position: sticky; z-index: 20; top: 0; height: 72px; display: flex; justify-content: space-between; align-items: center; padding: 0 34px; border-bottom: 1px solid var(--admin-line); background: rgba(255,255,255,.97); box-shadow: 0 5px 22px rgba(38,69,103,.05); }
.admin-brand { display: flex; gap: 11px; align-items: center; color: var(--admin-navy); }.admin-brand > span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 9px; color: #fff; background: var(--admin-blue); font-size: 18px; font-weight: 900; }.admin-brand strong { font-size: 16px; }.admin-brand small { margin-left: 8px; padding-left: 18px; border-left: 1px solid var(--admin-line); color: var(--admin-muted); font-size: 12px; font-weight: 600; }
.admin-account { display: flex; gap: 18px; align-items: center; }.admin-account > span { display: grid; gap: 3px; text-align: right; }.admin-account strong { font-size: 12px; }.admin-account small { color: var(--admin-muted); font-size: 10px; }.admin-account form { margin: 0; }.admin-account button { height: 34px; padding: 0 14px; border: 1px solid var(--admin-line); border-radius: 7px; color: #52657c; background: #fff; cursor: pointer; }
.admin-console-main { width: min(100% - 48px,1480px); margin: 0 auto; padding: 36px 0 70px; }
.admin-heading { display: flex; justify-content: space-between; gap: 30px; align-items: center; margin-bottom: 24px; }.admin-heading > div:first-child > span { color: var(--admin-blue); font-size: 10px; font-weight: 800; letter-spacing: .13em; }.admin-heading h1 { margin: 9px 0 6px; font-size: 30px; letter-spacing: -.04em; }.admin-heading p { margin: 0; color: var(--admin-muted); font-size: 13px; }.admin-state { display: flex; gap: 12px; align-items: center; padding: 13px 17px; border: 1px solid #caead9; border-radius: 10px; background: #f0fbf5; }.admin-state > i { width: 10px; height: 10px; border-radius: 50%; background: #24aa6d; }.admin-state span { display: grid; gap: 4px; }.admin-state strong { font-size: 11px; }.admin-state small { color: #5e8a73; font-size: 9px; }
.admin-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-bottom: 18px; }.admin-summary article { padding: 20px 22px; border: 1px solid var(--admin-line); border-radius: 12px; background: #fff; }.admin-summary span { display: block; margin-bottom: 11px; color: var(--admin-muted); font-size: 11px; font-weight: 700; }.admin-summary strong { font-size: 28px; }.admin-summary small { margin-left: 6px; color: var(--admin-muted); font-size: 10px; }
.admin-work-grid, .admin-lower-grid { display: grid; gap: 18px; align-items: start; }.admin-work-grid { grid-template-columns: .9fr 1.1fr; }.admin-lower-grid { grid-template-columns: minmax(620px,1.4fr) minmax(360px,.6fr); margin-top: 18px; }
.admin-panel { min-width: 0; padding: 24px; border: 1px solid var(--admin-line); border-radius: 14px; background: #fff; }.admin-panel > header { margin-bottom: 22px; }.admin-panel > header > div { display: flex; gap: 10px; align-items: center; }.admin-panel > header > div > span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 7px; color: var(--admin-blue); background: #eaf4ff; font-size: 10px; font-weight: 800; }.admin-panel h2 { margin: 0; font-size: 18px; }.admin-panel header p { margin: 8px 0 0; color: var(--admin-muted); font-size: 10px; }
.admin-form { display: grid; }.admin-form > label, .form-columns label > span { margin: 0 0 8px; font-size: 11px; font-weight: 700; }.admin-form > input, .admin-form select, .inline-submit input, .form-columns input { width: 100%; height: 42px; padding: 0 12px; border: 1px solid #cfdeed; border-radius: 8px; color: #263b53; background: #fff; outline: 0; }.admin-form > input, .admin-form > select { margin-bottom: 17px; }.admin-form input:focus, .admin-form select:focus, .admin-form .password-field:focus-within { border-color: var(--admin-blue); box-shadow: 0 0 0 3px rgba(25,118,223,.11); }.inline-submit { display: grid; grid-template-columns: 1fr 110px; gap: 8px; }.inline-submit button, .admin-submit { border: 0; border-radius: 8px; color: #fff; background: var(--admin-blue); font-size: 11px; font-weight: 800; cursor: pointer; }.inline-submit button:hover, .admin-submit:hover { background: var(--admin-blue-dark); }.admin-submit { height: 42px; margin-top: 4px; }.form-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.form-columns label { display: grid; }.form-columns select, .form-columns input { margin-bottom: 17px; }
.admin-hospital-list { max-height: 210px; overflow-y: auto; margin-top: 18px; border-top: 1px solid #edf2f7; }.admin-hospital-list article { display: grid; grid-template-columns: 32px 1fr auto; gap: 10px; align-items: center; padding: 12px 2px; border-bottom: 1px solid #edf2f7; }.admin-hospital-list article > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; color: var(--admin-blue); background: #edf6ff; font-size: 11px; font-weight: 800; }.admin-hospital-list strong { font-size: 11px; }.admin-hospital-list em { color: #2b9c68; font-size: 9px; font-style: normal; }
.admin-invitation-list { max-height: 530px; overflow-y: auto; }.admin-invitation-list article { display: grid; grid-template-columns: 36px minmax(230px,1fr) 120px 80px 78px; gap: 12px; align-items: center; padding: 13px 0; border-top: 1px solid #edf2f7; }.invitation-avatar { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: var(--admin-blue); background: #eaf4ff; font-size: 11px; font-weight: 800; }.admin-invitation-list article > div { min-width: 0; }.admin-invitation-list strong, .admin-invitation-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.admin-invitation-list strong { font-size: 11px; }.admin-invitation-list small, .admin-invitation-list time { margin-top: 4px; color: var(--admin-muted); font-size: 9px; }.admin-invitation-list em { justify-self: start; padding: 5px 8px; border-radius: 99px; font-size: 9px; font-style: normal; font-weight: 700; }.admin-invitation-list em.pending { color: #b27417; background: #fff5df; }.admin-invitation-list em.accepted { color: #26985f; background: #e9f8f0; }.admin-invitation-list em.expired { color: #74849a; background: #eef2f6; }.admin-secondary { height: 30px; padding: 0 10px; border: 1px solid #a9cef7; border-radius: 6px; color: var(--admin-blue); background: #fff; font-size: 9px; font-weight: 700; cursor: pointer; }
.admin-password-panel .password-field { height: 42px; margin-bottom: 17px; border: 1px solid #cfdeed; border-radius: 8px; }.admin-password-panel .password-field input { padding: 0 12px; }.admin-password-panel .password-field button { font-size: 10px; }.admin-password-panel .password-policy { margin-bottom: 14px; }
.admin-empty { padding: 26px 10px; color: var(--admin-muted); font-size: 11px; text-align: center; }

@media (max-width: 1250px) {
  .admin-lower-grid { grid-template-columns: 1fr; }
  .admin-work-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 800px) {
  .invitation-summary { grid-template-columns: 1fr; }.invitation-summary .wide-row { grid-column: auto; }
}
