/* TheDriveBooker Admin: Navy Luxury / Light Luxury, shared with Marketing V2. */
.admin-body {
  --admin-ivory: #FAF8F4;
  --admin-ink: #0F1B2D;
  --admin-accent: #B38B50;
  --admin-muted: #657180;
  --admin-border: #E8E6E1;
  --admin-shadow: 0 10px 32px rgba(15, 27, 45, 0.035);
  margin: 0;
  min-width: 320px;
  background: var(--admin-ivory);
  color: var(--admin-ink);
  font-family: "Google Sans Flex";
}

.admin-body .button,
.admin-body button,
.admin-body select,
.admin-body input,
.admin-body textarea { font-family: inherit; }

.admin-shell {
  display: grid;
  grid-template-columns: 15rem minmax(0, 1fr);
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  background: var(--admin-ivory);
}

.admin-sidebar {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  height: 100%;
  background: #fff;
  border-right: 1px solid var(--admin-border);
  overflow: hidden;
}

.admin-sidebar__brand-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  min-height: 86px;
  flex: 0 0 auto;
  border-bottom: 1px solid var(--admin-border);
  padding: 1rem 1.25rem;
}

.admin-sidebar__brand {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 0.15rem;
  text-decoration: none;
  color: var(--admin-ink);
}
.admin-sidebar__brand:hover,
.admin-sidebar__brand:focus-visible { color: var(--admin-ink); }
.admin-sidebar__brand-name { font-size: 1.1rem; font-weight: 750; line-height: 1.3; letter-spacing: -0.025em; }
.admin-sidebar__brand-caption { font-size: 0.67rem; font-weight: 750; color: #83632f; letter-spacing: 0.15em; }
.admin-sidebar__close { display: none; }

.admin-nav {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  flex-direction: column;
  gap: 0.24rem;
  padding: 1.125rem 0.75rem;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
}

.admin-nav__link {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 40px;
  padding: 0.6rem 0.875rem;
  border-radius: 0.65rem;
  font-size: 0.91rem;
  font-weight: 560;
  line-height: 1.35;
  color: #394658;
  text-decoration: none;
  transition: background-color 0.16s ease, color 0.16s ease;
}
.admin-nav__link:hover { background: #F6F2EB; color: var(--admin-ink); }
.admin-nav__link[aria-current="page"] {
  color: #fff;
  background: var(--admin-ink);
  font-weight: 650;
}
.admin-nav__link[aria-current="page"]:hover,
.admin-nav__link[aria-current="page"]:focus-visible { color: #fff; background: #16253C; }
.admin-nav__link:focus-visible { outline: 2px solid var(--admin-accent); outline-offset: 2px; }


.admin-workspace { display: flex; flex-direction: column; min-width: 0; min-height: 0; height: 100%; }
.admin-topbar {
  position: relative;
  z-index: 10;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 86px;
  padding: 0.9rem clamp(1.25rem, 2.25vw, 2.25rem);
  background: #fff;
  border-bottom: 1px solid var(--admin-border);
}
.admin-topbar__title-group { display: flex; align-items: center; gap: 0.75rem; min-width: 0; }
.admin-topbar__heading { display: flex; flex-direction: column; min-width: 0; gap: 0.12rem; }
.admin-topbar__eyebrow { font-size: 0.67rem; font-weight: 750; color: #83632f; letter-spacing: 0.115em; text-transform: uppercase; }
.admin-topbar__title { font-size: 1.09rem; line-height: 1.35; font-weight: 710; color: var(--admin-ink); overflow-wrap: anywhere; }
.admin-topbar__toggle { display: none; }
.admin-topbar__signout { flex: 0 0 auto; white-space: nowrap; }

.admin-main {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior-y: contain;
  padding: clamp(1.25rem, 2.25vw, 2.25rem);
  background: var(--admin-ivory);
}
.admin-main__inner { width: 100%; max-width: 92rem; margin: 0 auto; }
.admin-main section > h1 { margin: 0 0 1.25rem; font-size: clamp(1.45rem, 2.5vw, 2rem); line-height: 1.2; letter-spacing: -0.025em; }

.admin-card {
  background: #fff;
  border: 1px solid var(--admin-border);
  border-radius: 1.05rem;
  padding: clamp(1rem, 2vw, 1.5rem);
  box-shadow: var(--admin-shadow);
  margin-bottom: 1.1rem;
}
.admin-card h2 { margin-top: 0; color: var(--admin-ink); }
.admin-table-wrap { max-width: 100%; overflow-x: auto; scrollbar-gutter: stable; }
.admin-table { width: 100%; border-collapse: collapse; }
.admin-table th, .admin-table td { text-align: left; padding: 0.85rem 0.95rem; border-bottom: 1px solid var(--admin-border); vertical-align: middle; }
.admin-table th { font-weight: 650; font-size: 0.77rem; letter-spacing: 0.05em; text-transform: uppercase; color: var(--admin-muted); }
.admin-table tr:last-child td { border-bottom: 0; }
.admin-table tbody tr:hover { background: #FCFAF7; }
.admin-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 0.75rem; }
.admin-actions input:not([type="checkbox"]):not([type="radio"]),
.admin-actions select { min-height: 40px; border-radius: var(--radius); border: 1px solid var(--admin-border); }

.admin-page-header {
  margin-bottom: 1.3rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
}
.admin-page-header__copy { max-width: 52rem; min-width: 0; }
.admin-page-header__eyebrow { color: #83632f; font-size: 0.72rem; font-weight: 750; letter-spacing: 0.1em; text-transform: uppercase; margin: 0 0 0.65rem; }
.admin-page-header h1 { margin: 0 0 0.6rem; font-size: clamp(1.7rem, 2.9vw, 2.8rem); line-height: 1.13; font-weight: 750; letter-spacing: -0.045em; color: var(--admin-ink); }
.admin-page-header__description { margin: 0; color: var(--admin-muted); font-size: 1rem; max-width: 44rem; line-height: 1.65; }

.admin-dashboard { padding-top: 0.2rem; }
.admin-dashboard__header { margin-bottom: 1.75rem; }
.admin-metrics { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; align-items: stretch; }
.admin-metric {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 160px;
  padding: 1.35rem;
  background: #fff;
  border: 1px solid var(--admin-border);
  border-radius: 1.05rem;
  box-shadow: var(--admin-shadow);
  position: relative;
  overflow: hidden;
}
.admin-metric::before { content: ""; position: absolute; top: 0; left: 1.25rem; width: 2.5rem; height: 3px; border-radius: 0 0 4px 4px; background: var(--admin-accent); }
.admin-metric--active::before { background: #3C7B57; }
.admin-metric--suspended::before { background: #A54A4A; }
.admin-metric--bookings::before { background: #546B86; }
.admin-metric__label { font-size: 0.84rem; font-weight: 620; color: #59697B; }
.admin-metric__value { font-size: clamp(1.8rem, 2.6vw, 2.4rem); line-height: 1.14; letter-spacing: -0.05em; margin: 1rem 0 0.5rem; color: var(--admin-ink); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.admin-metric__foot { color: var(--admin-muted); margin-top: auto; font-size: 0.77rem; line-height: 1.4; }

.admin-login { max-width: 24rem; margin: var(--space-7) auto; }
.admin-form-group { margin-bottom: 1rem; }
.admin-form-group label { display: block; margin-bottom: 0.45rem; font-weight: 600; }
.admin-form-group input:not([type="checkbox"]):not([type="radio"]),
.admin-form-group select,
.admin-form-group textarea {
  display: block;
  width: 100%;
  min-height: 40px;
  font-size: 1rem;
  padding: 0.55rem 0.8rem;
  border: 1px solid var(--admin-border);
  border-radius: var(--radius);
  background: #fff;
  color: var(--admin-ink);
}
.admin-form-group textarea { min-height: 7rem; resize: vertical; }
.admin-form-group input:focus-visible, .admin-form-group select:focus-visible, .admin-form-group textarea:focus-visible { border-color: var(--admin-accent); }
.admin-alert { padding: 0.9rem 1rem; border: 1px solid var(--admin-border); border-radius: 0.8rem; margin-bottom: 1rem; background: #fff; }
.admin-alert--error { border-color: #E7B7B7; color: #8B2E2E; background: #FFF8F8; }
.admin-alert--info { border-color: #E7D8BD; color: #55452F; background: #FBF6ED; }
.admin-draft-badge { display: inline-flex; align-items: center; padding: 0.2rem 0.55rem; border: 1px solid var(--admin-accent); color: #78592E; border-radius: 0.5rem; font-size: 0.81rem; }

/* Existing company impersonation banner is intentionally preserved. */
.admin-banner-impersonation {
  position: sticky; top: 0; z-index: 40;
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-3);
  background: var(--color-primary); color: #FAF8F5; padding: var(--space-3) var(--space-4);
}
.admin-banner-impersonation a, .admin-banner-impersonation button { min-height: 44px; color: #FAF8F5; }

/* Match the shared Company scrollbar, including hover behavior. */
.admin-nav, .admin-main { scrollbar-width: thin; scrollbar-color: var(--scrollbar-thumb) transparent; }
.admin-nav::-webkit-scrollbar, .admin-main::-webkit-scrollbar { width: var(--scrollbar-size); height: var(--scrollbar-size); }
.admin-nav::-webkit-scrollbar-track, .admin-main::-webkit-scrollbar-track { background: transparent; }
.admin-nav::-webkit-scrollbar-thumb, .admin-main::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border-radius: 999px; }
.admin-nav::-webkit-scrollbar-thumb:hover, .admin-main::-webkit-scrollbar-thumb:hover { background: var(--scrollbar-thumb-hover); }

@media (max-width: 1320px) and (min-width: 901px) {
  .admin-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .admin-shell { display: block; height: auto; min-height: 100vh; }
  .admin-sidebar { height: auto; border-right: 0; border-bottom: 1px solid var(--admin-border); }
  .admin-nav { overflow: visible; }
  .admin-workspace { height: auto; min-height: 100vh; }
  .admin-topbar { position: sticky; top: 0; min-height: 72px; padding: 0.65rem 1rem; }
  .admin-topbar__eyebrow { font-size: 0.6rem; }
  .admin-topbar__title { font-size: 0.97rem; }
  .admin-main { overflow: visible; min-height: 0; padding: 1.2rem 1rem; }
  .admin-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-nav__link { min-height: 44px; }
  .admin-body .button { min-height: 44px; }
  .admin-actions input:not([type="checkbox"]):not([type="radio"]), .admin-actions select { min-height: 44px; }
  .admin-form-group input:not([type="checkbox"]):not([type="radio"]), .admin-form-group select { min-height: 44px; }
  .admin-table thead { display: none; }
  .admin-table tr { display: block; margin-bottom: 0.8rem; border: 1px solid var(--admin-border); border-radius: 0.75rem; overflow: hidden; }
  .admin-table td { display: block; border: none; padding: 0.65rem 0.85rem; overflow-wrap: anywhere; }
  .admin-table td + td { border-top: 1px solid #F4F0E9; }
  .admin-enhanced .admin-sidebar__close { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border: 1px solid var(--admin-border); border-radius: 0.65rem; background: #fff; color: var(--admin-ink); padding: 0.5rem 0.8rem; cursor: pointer; }
  .admin-enhanced .admin-shell { display: grid; grid-template-columns: minmax(0, 1fr); height: 100vh; height: 100dvh; min-height: 0; }
  .admin-enhanced .admin-workspace { height: 100%; min-height: 0; }
  .admin-enhanced .admin-topbar { position: relative; }
  .admin-enhanced .admin-main { overflow-y: auto; overflow-x: hidden; min-height: 0; }
  .admin-enhanced .admin-topbar__toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 44px; height: 44px; border: 1px solid var(--admin-border); border-radius: 0.65rem; background: #fff; color: var(--admin-ink); font-size: 1.15rem; cursor: pointer; }
  .admin-enhanced .admin-sidebar { position: fixed; z-index: 102; inset: 0 auto 0 0; width: min(18rem, 88vw); height: 100vh; height: 100dvh; border-right: 1px solid var(--admin-border); border-bottom: 0; transform: translateX(-105%); transition: transform 0.2s ease; box-shadow: 15px 0 45px rgba(15,27,45,0.13); visibility: hidden; }
  .admin-enhanced .admin-nav { overflow-y: auto; }
  .admin-enhanced .admin-shell.is-nav-open .admin-sidebar { transform: translateX(0); visibility: visible; }
  .admin-enhanced .admin-shell__backdrop:not([hidden]) { position: fixed; z-index: 101; inset: 0; display: block; background: rgba(12, 21, 35, 0.45); }
  .admin-nav-open { overflow: hidden; }
}
@media (max-width: 480px) {
  .admin-metrics { grid-template-columns: 1fr; }
  .admin-metric { min-height: 128px; }
  .admin-page-header h1 { font-size: 1.7rem; }
}
@media (prefers-reduced-motion: reduce) {
  .admin-sidebar, .admin-nav__link { transition: none; }
}

/* Admin V2 Batch 2: Companies and Plans. Presentation only. */
.admin-subpage-header { margin-bottom: 1.35rem; }
.admin-page-header__aside { display: flex; align-items: center; gap: 0.75rem; flex: 0 0 auto; }
.admin-count-pill {
  display: inline-flex; align-items: center; gap: 0.4rem;
  min-height: 37px; padding: 0.55rem 0.9rem; border: 1px solid var(--admin-border);
  border-radius: 999px; background: #fff; color: #536071; font-size: 0.82rem; white-space: nowrap;
}
.admin-count-pill strong { color: var(--admin-ink); font-weight: 750; font-variant-numeric: tabular-nums; }
.admin-directory-card { padding: 1.35rem 1.5rem; }
.admin-directory-card--table { padding: 0; overflow: hidden; }
.admin-card-heading { margin-bottom: 1.15rem; }
.admin-directory-card--table > .admin-card-heading { margin: 0; padding: 1.45rem 1.5rem 1.15rem; }
.admin-card-heading h2 { margin: 0; font-size: 1.2rem; line-height: 1.25; letter-spacing: -0.025em; font-weight: 740; }
.admin-card-heading--split { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.admin-card-eyebrow { margin: 0 0 0.35rem; color: #83632f; font-size: 0.71rem; font-weight: 760; letter-spacing: 0.095em; text-transform: uppercase; }
.admin-card-subtitle { margin: 0.45rem 0 0; color: #657180; font-size: 0.9rem; line-height: 1.55; }
.admin-card-count { font-size: 0.82rem; color: var(--admin-muted); white-space: nowrap; }
.admin-search-form { display: flex; align-items: end; gap: 0.9rem; }
.admin-search-form__field { flex: 1 1 30rem; margin: 0; min-width: 0; }
.admin-search-form__field label { font-size: 0.83rem; color: #425166; }
.admin-search-form__field input { border-radius: 0.7rem; }
.admin-search-form__actions { display: flex; flex: 0 0 auto; align-items: center; gap: 0.6rem; padding-bottom: 0.05rem; }
.admin-search-form__actions .button { white-space: nowrap; }
.admin-directory-table { min-width: 43rem; }
.admin-directory-table th:first-child, .admin-directory-table td:first-child { padding-left: 1.5rem; }
.admin-directory-table th:last-child, .admin-directory-table td:last-child { padding-right: 1.5rem; }
.admin-directory-table td { height: 80px; }
.admin-table__action-heading { text-align: right !important; }
.admin-directory-table__action { text-align: right !important; white-space: nowrap; }
.admin-company-link { color: var(--admin-ink); font-size: 0.95rem; font-weight: 720; text-decoration: none; overflow-wrap: anywhere; }
.admin-company-link:hover { color: #75582e; text-decoration: underline; text-underline-offset: 3px; }
.admin-company-slug { display: block; color: var(--admin-muted); font-size: 0.78rem; margin-top: 0.25rem; overflow-wrap: anywhere; }
.admin-plan-name { font-size: 0.87rem; color: #3d4b5d; text-transform: capitalize; }
.admin-status {
  display: inline-flex; align-items: center; justify-content: center;
  max-width: 100%; min-height: 27px; padding: 0.25rem 0.65rem;
  border: 1px solid transparent; border-radius: 999px; font-size: 0.76rem;
  line-height: 1.3; font-weight: 710; text-transform: capitalize; overflow-wrap: anywhere;
}
.admin-status--success { color: #216442; background: #EBF7EF; border-color: #CFE9D7; }
.admin-status--warning { color: #845415; background: #FBF4E7; border-color: #EDDBB9; }
.admin-status--danger { color: #8E3434; background: #FDF0F0; border-color: #F1D2D2; }
.admin-status--neutral { color: #526075; background: #F2F4F7; border-color: #E3E7EC; }
.admin-button-sm { min-height: 36px; padding: 0.5rem 0.8rem; font-size: 0.82rem; border-radius: 0.65rem; }
.admin-pagination { padding: 1rem 1.5rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.7rem; border-top: 1px solid var(--admin-border); }
.admin-pagination__summary { font-size: 0.85rem; color: var(--admin-muted); }
.admin-pagination__actions { display: flex; gap: 0.6rem; }
.admin-pagination__actions .button { min-height: 37px; }
.admin-empty-state { text-align: center; padding: 3rem 1rem 3.25rem; }
.admin-empty-state__mark { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 0.85rem; color: #866237; background: #F9F1E4; font-size: 1.15rem; font-weight: 750; margin-bottom: 0.95rem; }
.admin-empty-state h3 { color: var(--admin-ink); font-size: 1.18rem; margin: 0 0 0.45rem; }
.admin-empty-state p { color: var(--admin-muted); font-size: 0.92rem; margin: 0 auto 1.2rem; max-width: 30rem; line-height: 1.5; }
.admin-empty-state h2 { margin: 0 0 0.5rem; }
.admin-empty-state .button { margin-top: 0.35rem; }

/* Company details: clear operations, no new backend behavior. */
.admin-back-link { display: inline-flex; align-items: center; gap: 0.5rem; text-decoration: none; color: #475b70; font-weight: 620; font-size: 0.85rem; margin-bottom: 1.1rem; }
.admin-back-link::before { content: "\2190"; font-size: 1.1rem; line-height: 1; }
.admin-back-link:hover { color: var(--admin-ink); text-decoration: underline; text-underline-offset: 3px; }
.admin-company-detail__metadata { display: flex; flex-wrap: wrap; align-items: center; gap: 0.7rem; color: var(--admin-muted); font-size: 0.88rem; }
.admin-company-bento { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.admin-bento-card { min-width: 0; margin: 0; height: 100%; padding: 1.4rem 1.5rem; }
.admin-bento-card--wide { grid-column: span 7; }
.admin-bento-card--narrow { grid-column: span 5; }
.admin-bento-card .admin-card-heading { margin-bottom: 1.35rem; }
.admin-summary-highlight { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem; margin-bottom: 1rem; }
.admin-summary-highlight > div { display: flex; flex-direction: column; align-items: start; min-width: 0; gap: 0.55rem; padding: 1.05rem 1rem; background: #FAF8F4; border: 1px solid #F0ECE4; border-radius: 0.8rem; }
.admin-summary-highlight > div > span:first-child { font-size: 0.77rem; color: #657180; font-weight: 600; }
.admin-summary-highlight strong { font-size: 1.2rem; line-height: 1.3; text-transform: capitalize; color: var(--admin-ink); overflow-wrap: anywhere; }
.admin-detail-list { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
.admin-detail-list > div { padding: 0.8rem 0.2rem; border-bottom: 1px solid #F1EFEA; min-width: 0; }
.admin-detail-list > div:nth-last-child(-n+2) { border-bottom: 0; }
.admin-detail-list dt { font-size: 0.79rem; font-weight: 610; color: #657180; margin-bottom: 0.4rem; }
.admin-detail-list dd { margin: 0; font-size: 0.91rem; line-height: 1.4; font-weight: 630; color: var(--admin-ink); overflow-wrap: anywhere; }
.admin-detail-list--single { grid-template-columns: 1fr; }
.admin-detail-list--single > div { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; }
.admin-detail-list--single > div:last-child { border-bottom: 0; }
.admin-detail-list--single dt { margin: 0; }
.admin-detail-list--single dd { text-align: right; }
.admin-code-value { font-size: 0.81rem !important; word-break: break-all; }
.admin-inline-empty { padding: 1.2rem; background: #FAF8F4; border-radius: 0.8rem; }
.admin-inline-empty strong { color: var(--admin-ink); font-size: 0.9rem; }
.admin-inline-empty p { font-size: 0.84rem; color: var(--admin-muted); line-height: 1.5; margin: 0.4rem 0 0; }
.admin-inner-divider { margin: 1.4rem 0; height: 1px; background: var(--admin-border); }
.admin-card-subheading { margin: 0 0 1.15rem; font-size: 1.03rem; color: var(--admin-ink); }
.admin-inline-form { display: flex; gap: 0.8rem; align-items: end; }
.admin-inline-form .admin-form-group { margin: 0; flex: 1 1 auto; min-width: 0; }
.admin-inline-form .button { flex: 0 0 auto; }
.admin-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.2rem 1rem; }
.admin-form-group label { font-size: 0.82rem; font-weight: 650; color: #354358; }
.admin-form-group input::placeholder { color: #7F8996; }
.admin-field-hint { display: block; margin-top: 0.35rem; font-size: 0.75rem; color: #677789; line-height: 1.45; }
.admin-form-footer { display: flex; flex-wrap: wrap; gap: 0.7rem; align-items: center; justify-content: space-between; padding-top: 0.5rem; }
.admin-form-footer .admin-field-hint { margin: 0; }
.admin-control-stack { display: flex; flex-direction: column; gap: 0.75rem; }
.admin-control-stack form { margin: 0; }
.admin-control-stack__button { width: 100%; text-align: center; }
.admin-control-stack .admin-inner-divider { margin: 0.45rem 0; }
.admin-warning-copy { margin: 0; color: #835222; background: #FCF7EF; border: 1px solid #F2E6D1; border-radius: 0.7rem; padding: 0.8rem 0.9rem; font-size: 0.8rem; line-height: 1.5; }
.admin-button-warning { color: #8B542B; border-color: #D7BCA0; }
.admin-button-warning:hover { background: #FFF7EE; border-color: #B7875D; color: #79441F; }
.admin-detail-list--retention { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-retention-actions { margin-top: 1.15rem; }
.admin-retention-actions form { margin: 0; }
.admin-bento-card--impersonation { border-color: #D8DDE5; }
.admin-bento-card--impersonation .button { max-width: 100%; }

/* Plan editor: catalog display price only, editable limits only. */
.admin-notice { display: flex; gap: 0.45rem; flex-wrap: wrap; align-items: baseline; padding: 1rem 1.2rem; border-radius: 0.85rem; font-size: 0.87rem; line-height: 1.55; margin-bottom: 1.4rem; }
.admin-notice--info { color: #4B586C; background: #FFF; border: 1px solid var(--admin-border); }
.admin-notice strong { color: var(--admin-ink); }
.admin-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: stretch; }
.admin-plan-card { display: flex; flex-direction: column; min-width: 0; height: 100%; margin: 0; padding: 0; overflow: hidden; }
.admin-plan-card__header { background: #FBF9F5; padding: 1.4rem 1.45rem 1.3rem; border-bottom: 1px solid var(--admin-border); }
.admin-plan-card__topline { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.4rem; }
.admin-plan-card__topline .admin-card-eyebrow { margin: 0; }
.admin-plan-card__header h2 { margin: 1.1rem 0 0.5rem; font-size: 1.4rem; line-height: 1.25; font-weight: 750; letter-spacing: -0.03em; }
.admin-plan-card__price { display: flex; align-items: baseline; gap: 0.45rem; flex-wrap: wrap; color: var(--admin-ink); }
.admin-plan-card__price strong { font-size: clamp(1.6rem, 2.2vw, 2.15rem); font-weight: 760; letter-spacing: -0.045em; line-height: 1.2; }
.admin-plan-card__price span { color: var(--admin-muted); font-size: 0.87rem; }
.admin-plan-card__header .admin-card-subtitle { margin-top: 0.85rem; }
.admin-plan-form { flex: 1 1 auto; display: flex; flex-direction: column; padding: 1.35rem 1.45rem 1.45rem; }
.admin-plan-form__fields { display: grid; grid-template-columns: 1fr; }
.admin-plan-form__fields .admin-form-group { margin-bottom: 1rem; }
.admin-plan-form__fields input { border-radius: 0.65rem; }
.admin-check-row { display: flex; align-items: flex-start; gap: 0.8rem; border: 1px solid var(--admin-border); border-radius: 0.7rem; padding: 0.85rem 0.9rem; margin: 0.25rem 0 1.3rem; cursor: pointer; }
.admin-check-row input { flex: 0 0 auto; width: 18px; height: 18px; margin: 0.15rem 0 0; accent-color: var(--admin-ink); }
.admin-check-row span { display: flex; flex-direction: column; min-width: 0; }
.admin-check-row strong { color: var(--admin-ink); font-size: 0.83rem; font-weight: 710; }
.admin-check-row small { color: var(--admin-muted); font-size: 0.75rem; margin-top: 0.3rem; line-height: 1.45; }
.admin-plan-form__footer { margin-top: auto; }
.admin-plan-form__footer .button { width: 100%; }

@media (max-width: 1270px) {
  .admin-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-company-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-bento-card--wide, .admin-bento-card--narrow { grid-column: span 1; }
}
@media (max-width: 900px) {
  .admin-directory-table { min-width: 0; }
  .admin-directory-table tbody { display: grid; padding: 0 1rem 1rem; gap: 0.8rem; }
  .admin-directory-table tr { margin: 0; }
  .admin-directory-table td { display: flex; align-items: center; justify-content: space-between; gap: 0.65rem; min-height: 40px; height: auto; text-align: right; padding: 0.75rem 0.9rem !important; }
  .admin-directory-table td::before { content: attr(data-label); display: block; flex: 0 0 36%; font-size: 0.75rem; color: var(--admin-muted); text-align: left; font-weight: 650; }
  .admin-directory-table td:first-child { display: block; text-align: left; }
  .admin-directory-table td:first-child::before { margin-bottom: 0.35rem; }
  .admin-directory-table__action { text-align: right !important; }
  .admin-directory-table__action .button { width: auto; }
  .admin-button-sm { min-height: 44px; }
}
@media (max-width: 650px) {
  .admin-page-header__aside { align-self: flex-start; }
  .admin-subpage-header { align-items: flex-start; flex-direction: column; }
  .admin-search-form { align-items: stretch; flex-direction: column; }
  .admin-search-form__actions .button { flex: 1 1 auto; }
  .admin-card-heading--split { align-items: flex-start; flex-direction: column; }
  .admin-directory-card, .admin-directory-card--table > .admin-card-heading { padding: 1.15rem; }
  .admin-company-bento, .admin-plan-grid { grid-template-columns: minmax(0, 1fr); }
  .admin-bento-card--wide, .admin-bento-card--narrow { grid-column: 1; }
  .admin-bento-card { padding: 1.2rem; }
  .admin-inline-form { flex-direction: column; align-items: stretch; }
  .admin-inline-form .button { width: 100%; }
  .admin-summary-highlight, .admin-detail-list, .admin-detail-list--retention { grid-template-columns: 1fr; }
  .admin-detail-list > div:nth-last-child(2) { border-bottom: 1px solid #F1EFEA; }
  .admin-detail-list > div:last-child { border-bottom: 0; }
  .admin-form-grid { grid-template-columns: 1fr; }
  .admin-form-footer { align-items: stretch; flex-direction: column; }
  .admin-form-footer .button { width: 100%; }
  .admin-plan-card__header, .admin-plan-form { padding: 1.2rem; }
  .admin-pagination { padding: 1rem; }
}
@media (max-width: 650px) {
  .admin-search-form__field { flex: 0 0 auto; width: 100%; }
  .admin-search-form__actions { width: 100%; }
}

/* Admin V2 Batch 3: messaging catalog and read-only operations tables. */
.admin-ops-page { min-width: 0; }
.admin-ops-page .admin-page-header { margin-bottom: 1.4rem; }
.admin-ops-page .admin-page-header__description { max-width: 49rem; }
.admin-ops-page .admin-notice { margin-bottom: 1.35rem; }

.admin-sms-pack-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 1.1rem; }
.admin-sms-pack-card { min-width: 0; display: flex; flex-direction: column; padding: 0; margin: 0; overflow: hidden; }
.admin-sms-pack-card__header { padding: 1.4rem 1.4rem 1.3rem; background: #FBF9F5; border-bottom: 1px solid var(--admin-border); }
.admin-sms-pack-card__topline { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.6rem; }
.admin-sms-pack-card__topline .admin-card-eyebrow { margin: 0; }
.admin-sms-pack-card__header h2 { margin: 0.9rem 0 1.2rem; font-size: 1.35rem; letter-spacing: -0.025em; line-height: 1.25; overflow-wrap: anywhere; }
.admin-sms-pack-card__summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.55rem; }
.admin-sms-pack-card__summary > div { display: flex; flex-direction: column; min-width: 0; gap: 0.45rem; padding: 0.9rem 0.85rem; border: 1px solid #ECE6DD; background: #FFF; border-radius: 0.7rem; }
.admin-sms-pack-card__summary span { font-size: 0.76rem; color: #657180; font-weight: 590; }
.admin-sms-pack-card__summary strong { color: var(--admin-ink); font-size: clamp(1.15rem, 1.6vw, 1.4rem); font-weight: 750; letter-spacing: -0.025em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.admin-sms-pack-card__body { padding: 1.35rem 1.4rem 1.4rem; display: flex; flex: 1 1 auto; flex-direction: column; }
.admin-sms-pack-card__body .admin-card-subheading { margin-bottom: 1rem; }
.admin-sms-pack-form { display: flex; flex: 1 1 auto; flex-direction: column; }
.admin-sms-pack-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 0.8rem; }
.admin-sms-pack-fields__label { grid-column: 1 / -1; }
.admin-sms-pack-fields .admin-form-group { min-width: 0; margin-bottom: 1rem; }
.admin-sms-pack-fields input { border-radius: 0.7rem; }
.admin-sms-pack-form__save { width: 100%; margin-top: auto; }
.admin-sms-pack-card__status-action { display: flex; flex-direction: column; justify-content: space-between; gap: 0.8rem; margin-top: 1.15rem; padding-top: 1.1rem; border-top: 1px solid var(--admin-border); }
.admin-sms-pack-card__status-action strong { display: block; font-size: 0.85rem; color: var(--admin-ink); }
.admin-sms-pack-card__status-action p { margin: 0.3rem 0 0; font-size: 0.77rem; color: var(--admin-muted); line-height: 1.5; }
.admin-sms-pack-card__status-action form { margin: 0; }
.admin-sms-pack-card__status-action .button { width: 100%; }

.admin-ops-list-card { min-width: 0; overflow: hidden; padding: 0; }
.admin-ops-list-card__heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.7rem; padding: 1.4rem 1.55rem 1.15rem; }
.admin-ops-list-card__heading h2 { margin: 0; color: var(--admin-ink); font-size: 1.23rem; line-height: 1.25; letter-spacing: -0.025em; }
.admin-ops-list-card__heading .admin-card-eyebrow { margin-bottom: 0.35rem; }
.admin-ops-table-wrap { max-width: 100%; }
.admin-ops-table { width: 100%; table-layout: auto; }
.admin-ops-table th { padding: 0.85rem 1rem; white-space: nowrap; background: #FBF9F6; border-top: 1px solid var(--admin-border); }
.admin-ops-table td { padding: 1.05rem 1rem; min-width: 0; color: #415066; font-size: 0.87rem; line-height: 1.5; }
.admin-ops-table th:first-child, .admin-ops-table td:first-child { padding-left: 1.55rem; }
.admin-ops-table th:last-child, .admin-ops-table td:last-child { padding-right: 1.55rem; }
.admin-ops-table .admin-status { max-width: 100%; font-size: 0.75rem; overflow-wrap: anywhere; }
.admin-ops-cell-value { display: block; min-width: 0; overflow-wrap: anywhere; }
.admin-ops-company-name { color: var(--admin-ink); font-weight: 700; display: block; overflow-wrap: anywhere; }
.admin-ops-company-slug { color: var(--admin-muted); display: block; font-size: 0.77rem; margin-top: 0.25rem; overflow-wrap: anywhere; }
.admin-ops-reference { font-family: inherit; font-size: 0.78rem; overflow-wrap: anywhere; word-break: break-word; }
.admin-ops-amount { color: var(--admin-ink); font-weight: 750; font-variant-numeric: tabular-nums; white-space: nowrap; }
.admin-ops-reason { max-width: 21rem; }
.admin-ops-plan { text-transform: capitalize; }
.admin-ops-action { text-align: right !important; }
.admin-ops-action .button { white-space: nowrap; }
.admin-ops-table--subscriptions td:nth-child(5) { max-width: 14rem; }
.admin-ops-table--disputes td:nth-child(5) { max-width: 20rem; }

@media (max-width: 1320px) {
  .admin-sms-pack-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1250px) {
  .admin-ops-table-wrap { overflow: visible; }
  .admin-ops-table { display: block; width: 100%; }
  .admin-ops-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
  .admin-ops-table tbody { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.8rem; padding: 0 1.15rem 1.15rem; }
  .admin-ops-table tr { display: block; min-width: 0; padding: 0.2rem 0; border: 1px solid var(--admin-border); border-radius: 0.85rem; background: #FFF; }
  .admin-ops-table td, .admin-ops-table td:first-child, .admin-ops-table td:last-child { display: flex; min-width: 0; justify-content: space-between; align-items: baseline; gap: 0.75rem; padding: 0.7rem 0.95rem; text-align: right !important; border-bottom: 1px solid #F1EFEA; max-width: none; }
  .admin-ops-table tr td:last-child { border-bottom: 0; }
  .admin-ops-table td::before { content: attr(data-label); flex: 0 0 37%; text-align: left; font-size: 0.77rem; font-weight: 650; color: #657180; }
  .admin-ops-table td > * { min-width: 0; max-width: 60%; }
  .admin-ops-table .admin-ops-cell-value, .admin-ops-table .admin-ops-company-name { text-align: right; }
  .admin-ops-table .admin-ops-company-slug { text-align: right; }
  .admin-ops-table .admin-status { text-align: center; }
  .admin-ops-table .admin-ops-action { align-items: center; }
  .admin-ops-table .admin-ops-action .button { min-height: 40px; }
  .admin-ops-reason { max-width: none; }
}
@media (max-width: 650px) {
  .admin-sms-pack-grid { grid-template-columns: minmax(0, 1fr); }
  .admin-sms-pack-card__header, .admin-sms-pack-card__body { padding: 1.15rem; }
  .admin-ops-list-card__heading { padding: 1.15rem; }
  .admin-ops-table tbody { padding: 0 0.85rem 0.85rem; }
  .admin-ops-table td, .admin-ops-table td:first-child, .admin-ops-table td:last-child { align-items: flex-start; }
  .admin-ops-table .admin-ops-action .button { min-height: 44px; }
}
@media (max-width: 350px) {
  .admin-sms-pack-fields { grid-template-columns: minmax(0, 1fr); }
  .admin-sms-pack-fields__label { grid-column: auto; }
  .admin-sms-pack-card__summary { gap: 0.35rem; }
  .admin-sms-pack-card__summary > div { padding: 0.75rem 0.6rem; }
  .admin-ops-table td::before { flex-basis: 34%; }
}

/* Admin V2 Batch 4: website requests, logs, staff and settings. Visual styles only. */
.admin-batch4-page { min-width: 0; }
.admin-batch4-page .admin-page-header { margin-bottom: 1.45rem; }
.admin-batch4-page .admin-card { min-width: 0; }
.admin-batch4-page .admin-card-subtitle { max-width: 42rem; }
.admin-batch4-page .admin-form-group input:not([type="checkbox"]),
.admin-batch4-page .admin-form-group select,
.admin-batch4-page .admin-form-group textarea { border-radius: 0.75rem; }
.admin-batch4-page .admin-form-group textarea { line-height: 1.55; }
.admin-request-filter-card { padding: 1.4rem 1.5rem; margin-bottom: 1.1rem; }
.admin-request-filter-form { display: flex; align-items: flex-end; gap: 0.85rem; flex-wrap: wrap; }
.admin-request-filter-form .admin-form-group { flex: 1 1 18rem; margin: 0; min-width: 0; }
.admin-request-filter-form__actions { display: flex; align-items: center; gap: 0.65rem; flex: 0 0 auto; }
.admin-request-filter-form__actions .button { white-space: nowrap; }
.admin-request-list-card { padding: 0; }
.admin-request-table td:first-child { white-space: nowrap; }
.admin-request-bento { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr); gap: 1.1rem; align-items: start; }
.admin-request-bento > .admin-card { margin: 0; padding: 1.5rem; }
.admin-request-detail-list { margin-bottom: 1.15rem; }
.admin-request-detail-list dd { line-height: 1.55; }
.admin-detail-link-value { word-break: break-word; }
.admin-request-message-block { border-top: 1px solid var(--admin-border); padding: 1.2rem 0 0; margin: 0 0 1.2rem; }
.admin-request-message-block:last-child { margin-bottom: 0; }
.admin-request-message-block h3 { margin: 0 0 0.55rem; font-size: 0.89rem; font-weight: 720; color: #354358; }
.admin-request-message-block p { color: #4D5C6E; line-height: 1.65; margin: 0; font-size: 0.9rem; overflow-wrap: anywhere; }
.admin-request-update-form { display: flex; flex-direction: column; }
.admin-checkbox-row { display: flex; align-items: flex-start; gap: 0.75rem; min-width: 0; margin: 0 0 1.35rem; padding: 1rem; border: 1px solid #EDE8E0; background: #FAF8F4; border-radius: 0.8rem; cursor: pointer; }
.admin-checkbox-row input { width: 18px; height: 18px; margin: 0.1rem 0 0; accent-color: #0F1B2D; flex: 0 0 auto; }
.admin-checkbox-row span { display: flex; flex-direction: column; gap: 0.2rem; min-width: 0; }
.admin-checkbox-row strong { color: var(--admin-ink); font-size: 0.87rem; }
.admin-checkbox-row small { color: #647082; line-height: 1.45; font-size: 0.77rem; }
.admin-request-update-form__submit { width: 100%; }

.admin-log-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.15rem; }
.admin-log-summary__card { margin: 0; display: flex; flex-direction: column; gap: 0.85rem; min-height: 125px; position: relative; overflow: hidden; }
.admin-log-summary__card::before { content: ""; display: block; position: absolute; top: 0; left: 1.4rem; width: 2.4rem; height: 3px; background: #B38B50; border-radius: 0 0 4px 4px; }
.admin-log-summary__card:nth-child(2)::before { background: #A54A4A; }
.admin-log-summary__card:nth-child(3)::before { background: #546B86; }
.admin-log-summary__card span { color: var(--admin-muted); font-size: 0.84rem; font-weight: 630; }
.admin-log-summary__card strong { color: var(--admin-ink); font-size: 2rem; font-weight: 760; font-variant-numeric: tabular-nums; letter-spacing: -0.035em; }
.admin-log-stack { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.05rem; }
.admin-log-stack > .admin-card { margin: 0; }
.admin-log-card { padding: 1.4rem 1.5rem; }
.admin-log-card .admin-card-heading { align-items: flex-start; }
.admin-log-list { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--admin-border); }
.admin-log-item { display: flex; justify-content: space-between; align-items: flex-start; gap: 1.2rem; padding: 1rem 0; border-bottom: 1px solid #F0ECE7; min-width: 0; }
.admin-log-item:last-child { padding-bottom: 0; border-bottom: 0; }
.admin-log-item__main { display: flex; flex-direction: column; gap: 0.35rem; min-width: 0; overflow-wrap: anywhere; }
.admin-log-item__main strong { color: #27384B; font-weight: 680; font-size: 0.91rem; line-height: 1.45; }
.admin-log-item__main span { font-size: 0.79rem; line-height: 1.5; color: var(--admin-muted); overflow-wrap: anywhere; }
.admin-log-item__message { overflow-wrap: anywhere; white-space: pre-wrap; }
.admin-log-item__path { word-break: break-all; }
.admin-log-item__time { display: block; flex: 0 0 auto; text-align: right; font-size: 0.78rem; font-style: normal; font-weight: 560; line-height: 1.5; color: #657180; white-space: nowrap; }
.admin-log-item__side { display: flex; flex: 0 0 auto; align-items: flex-end; flex-direction: column; gap: 0.35rem; }

.admin-staff-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(18rem, 0.85fr); gap: 1.1rem; align-items: start; }
.admin-staff-layout > .admin-card { margin: 0; }
.admin-staff-directory { min-width: 0; padding: 0; }
.admin-staff-table { font-size: 0.86rem; }
.admin-staff-table .admin-ops-company-slug { font-size: 0.76rem; word-break: break-word; }
.admin-staff-table .admin-ops-action form { display: inline-block; margin: 0; }
.admin-staff-self-label { display: inline-block; font-size: 0.78rem; color: #647082; white-space: nowrap; }
.admin-staff-create { padding: 1.4rem 1.45rem; }
.admin-staff-create__form .admin-form-group { margin-bottom: 1rem; }
.admin-staff-create__submit { width: 100%; }

.admin-settings-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: 1.1rem; align-items: stretch; }
.admin-settings-grid > .admin-card { margin: 0; padding: 1.45rem 1.5rem; }
.admin-settings-card .admin-form-group { margin-bottom: 1.1rem; }
.admin-settings-card .admin-form-group:last-child { margin-bottom: 0; }
.admin-settings-status { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.6rem; padding: 1rem; margin: 0 0 1.2rem; border: 1px solid #EEEAE3; border-radius: 0.8rem; background: #FAF8F4; }
.admin-settings-status > span { font-size: 0.83rem; color: #586578; font-weight: 600; }
.admin-settings-footer { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 0.85rem; padding: 1.1rem 1.4rem; margin: 1.1rem 0 0; }
.admin-settings-footer strong { color: var(--admin-ink); font-size: 0.96rem; }
.admin-settings-footer p { color: var(--admin-muted); margin: 0.25rem 0 0; line-height: 1.45; font-size: 0.82rem; }
.admin-settings-footer .button { flex: 0 0 auto; }

@media (max-width: 1320px) {
  .admin-staff-layout { grid-template-columns: minmax(0, 1fr); }
  .admin-staff-create { max-width: none; }
}
@media (max-width: 1080px) {
  .admin-request-bento, .admin-settings-grid { grid-template-columns: minmax(0, 1fr); }
  .admin-request-detail-list > div:nth-last-child(2) { border-bottom: 1px solid #F1EFEA; }
}
@media (max-width: 650px) {
  .admin-request-filter-form { flex-direction: column; align-items: stretch; }
  .admin-request-filter-form .admin-form-group { flex: 0 0 auto; width: 100%; }
  .admin-request-filter-form__actions { width: 100%; flex-wrap: wrap; }
  .admin-request-filter-form__actions .button { flex: 1 1 auto; }
  .admin-request-filter-card, .admin-log-card, .admin-staff-create, .admin-settings-grid > .admin-card, .admin-request-bento > .admin-card { padding: 1.15rem; }
  .admin-log-summary { grid-template-columns: minmax(0, 1fr); gap: 0.65rem; }
  .admin-log-summary__card { min-height: 88px; padding: 1rem 1.15rem; flex-direction: row; align-items: center; justify-content: space-between; }
  .admin-log-summary__card strong { font-size: 1.5rem; }
  .admin-log-summary__card::before { left: 1rem; }
  .admin-log-card .admin-card-heading { flex-direction: column; align-items: flex-start; }
  .admin-log-item { flex-direction: column; gap: 0.5rem; }
  .admin-log-item__time, .admin-log-item__side { text-align: left; align-items: flex-start; }
  .admin-settings-footer { padding: 1.1rem; align-items: stretch; flex-direction: column; }
  .admin-settings-footer .button { width: 100%; }
  .admin-staff-table .admin-ops-action form { display: block; }
}

/* Keep the staff identity together rather than splitting name and email into opposing mobile columns. */
@media (max-width: 1250px) {
  .admin-staff-table td:first-child {
    display: block !important;
    text-align: left !important;
  }
  .admin-staff-table td:first-child::before {
    display: block;
    margin-bottom: 0.4rem;
    text-align: left;
  }
  .admin-staff-table td:first-child .admin-ops-company-name,
  .admin-staff-table td:first-child .admin-ops-company-slug { display: block; text-align: left; max-width: 100%; }
}


/* Admin V2 Batch 5: dedicated Navy Luxury authentication experience. */
.admin-auth-body {
  min-width: 320px;
  min-height: 100vh;
  background: #FAF8F4;
  color: #0F1B2D;
}
.admin-auth-shell { min-height: 100vh; display: flex; flex-direction: column; }
.admin-auth-header, .admin-auth-main, .admin-auth-footer { width: min(100% - 3rem, 1160px); margin-inline: auto; }
.admin-auth-header { display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; padding-block: 1.8rem 1.4rem; }
.admin-auth-brand { display: flex; flex-direction: column; gap: 0.06rem; line-height: 1.3; }
.admin-auth-brand__name { color: #0F1B2D; font-size: 1.18rem; font-weight: 780; letter-spacing: -0.035em; }
.admin-auth-brand__division { color: #83632F; font-size: 0.64rem; font-weight: 760; letter-spacing: 0.18em; }
.admin-auth-header__context { font-size: 0.81rem; color: #657180; }
.admin-auth-main { flex: 1; display: flex; flex-direction: column; justify-content: center; padding-block: 1.2rem 2.4rem; }
.admin-auth-layout { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr); gap: 1rem; align-items: stretch; }
.admin-auth-card, .admin-auth-aside { min-width: 0; border-radius: 1.15rem; overflow: hidden; }
.admin-auth-card { padding: clamp(1.5rem, 3.8vw, 3.65rem); background: #fff; border: 1px solid #E8E6E1; box-shadow: 0 12px 36px rgba(15, 27, 45, 0.035); }
.admin-auth-card__intro { margin-bottom: 1.8rem; }
.admin-auth-eyebrow { color: #83632F; font-weight: 760; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.14em; margin: 0 0 0.9rem; }
.admin-auth-card h1 { font-size: clamp(2rem, 3.45vw, 2.9rem); font-weight: 760; line-height: 1.12; letter-spacing: -0.045em; margin: 0 0 0.85rem; max-width: 16ch; color: #0F1B2D; }
.admin-auth-lead { margin: 0; max-width: 43ch; color: #586675; line-height: 1.65; font-size: 0.98rem; }
.admin-auth-form { display: grid; gap: 1.15rem; }
.admin-auth-form--separated { margin-top: 1.65rem; }
.admin-auth-form .admin-form-group { margin: 0; min-width: 0; }
.admin-auth-form .admin-form-group label { font-size: 0.86rem; font-weight: 690; color: #223248; margin-bottom: 0.55rem; }
.admin-auth-form .admin-form-group input:not([type=checkbox]):not([type=radio]) { min-height: 48px; border-radius: 0.72rem; border: 1px solid #D9DDE0; padding: 0.75rem 0.95rem; font-size: 0.96rem; background: #fff; color: #0F1B2D; box-shadow: none; transition: border-color .15s ease, box-shadow .15s ease; }
.admin-auth-form .admin-form-group input::placeholder { color: #77818D; }
.admin-auth-form .admin-form-group input:focus-visible { border-color: #B38B50; outline: 2px solid rgba(179, 139, 80, 0.45); outline-offset: 1px; }
.admin-auth-form .admin-form-group input[type=password] { letter-spacing: 0.025em; }
.admin-auth-body .admin-auth-submit { display: flex; width: 100%; min-height: 48px; border-radius: 0.72rem; background: #0F1B2D; border-color: #0F1B2D; color: #fff; padding: 0.7rem 1rem; font-weight: 680; margin-top: 0.1rem; text-align: center; }
.admin-auth-body .admin-auth-submit:hover { background: #16253C; border-color: #16253C; color: #fff; }
.admin-auth-body .admin-auth-submit:focus-visible { outline: 2px solid #B38B50; outline-offset: 3px; }
.admin-auth-underform { color: #657180; font-size: 0.81rem; line-height: 1.55; margin: 1.2rem 0 0; }
.admin-auth-field-hint { display: block; color: #657180; font-size: 0.8rem; margin-top: 0.5rem; }
.admin-auth-card .admin-alert { margin-bottom: 1.3rem; }
.admin-auth-aside { display: flex; flex-direction: column; background: #0F1B2D; color: #fff; padding: clamp(1.5rem, 3.4vw, 3rem); }
.admin-auth-aside__body { flex: 1; min-width: 0; }
.admin-auth-aside__eyebrow { font-weight: 760; color: #E0C297; letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.71rem; margin: 0 0 1.2rem; }
.admin-auth-aside h2 { color: #fff; font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.17; font-weight: 720; letter-spacing: -0.04em; max-width: 17ch; margin: 0 0 1rem; }
.admin-auth-aside__body > p:not(.admin-auth-aside__eyebrow) { color: #D3DCE6; font-size: 0.93rem; line-height: 1.65; max-width: 40ch; margin: 0 0 1.5rem; }
.admin-auth-aside__foot { border-top: 1px solid rgba(255,255,255,0.18); margin-top: 2.2rem; padding-top: 1.2rem; font-size: 0.77rem; line-height: 1.5; color: #E0C297; }
.admin-auth-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem; margin-top: 2.7rem; }
.admin-auth-feature { padding: 1.15rem; min-width: 0; background: rgba(255,255,255,0.065); border: 1px solid rgba(255,255,255,0.14); border-radius: 0.85rem; display: flex; flex-direction: column; gap: 0.3rem; }
.admin-auth-feature--wide { grid-column: span 2; }
.admin-auth-feature__number { font-size: 0.7rem; color: #E0C297; font-weight: 720; margin-bottom: 0.5rem; }
.admin-auth-feature strong { font-size: 0.94rem; font-weight: 660; color: #fff; }
.admin-auth-feature > span:last-child { font-size: 0.75rem; color: #D3DCE6; }
.admin-auth-steps { list-style: none; counter-reset: authstep; padding: 0; margin: 2.15rem 0 0; display: grid; gap: 1.15rem; }
.admin-auth-steps li { counter-increment: authstep; display: grid; grid-template-columns: 2rem minmax(0,1fr); column-gap: 0.8rem; min-width: 0; }
.admin-auth-steps li::before { content: counter(authstep, decimal-leading-zero); grid-row: span 2; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 0.6rem; background: rgba(224,194,151,.13); color: #E0C297; font-size: .77rem; font-weight: 740; }
.admin-auth-steps strong { color: #fff; font-size: 0.86rem; font-weight: 660; }
.admin-auth-steps span { color: #D3DCE6; font-size: 0.8rem; line-height: 1.5; }
.admin-auth-safety-card { display: flex; align-items: flex-start; gap: 0.75rem; margin-top: 0.8rem; padding: 1rem; border-radius: 0.78rem; border: 1px solid rgba(255,255,255,.13); background: rgba(255,255,255,.065); }
.admin-auth-safety-card__icon { display: grid; place-items: center; width: 1.75rem; height: 1.75rem; flex-shrink: 0; border-radius: 50%; background: rgba(224,194,151,.15); color: #E0C297; }
.admin-auth-safety-card div { display: flex; flex-direction: column; gap: 0.25rem; }
.admin-auth-safety-card strong { font-size: 0.86rem; color: #fff; }
.admin-auth-safety-card div span { font-size: 0.78rem; color: #D3DCE6; line-height: 1.5; }
.admin-auth-credential, .admin-auth-recovery-box { padding: 1.25rem; border-radius: 0.9rem; border: 1px solid #E8E6E1; background: #FAF8F4; min-width: 0; }
.admin-auth-credential__label { display: block; color: #657180; font-size: 0.72rem; font-weight: 740; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 0.7rem; }
.admin-auth-credential__value { display: block; font-size: 1rem; letter-spacing: 0.08em; color: #0F1B2D; font-weight: 680; overflow-wrap: anywhere; word-break: break-word; font-family: "Google Sans Flex"; font-variant-numeric: tabular-nums; }
.admin-auth-credential > p { font-size: 0.79rem; color: #657180; line-height: 1.55; margin: 0.85rem 0 0; }
.admin-auth-details { padding: 0.9rem 0; border-bottom: 1px solid #E8E6E1; }
.admin-auth-details summary { color: #34445A; font-size: 0.82rem; font-weight: 680; cursor: pointer; }
.admin-auth-details summary:focus-visible { outline: 2px solid #B38B50; outline-offset: 4px; }
.admin-auth-details p { color: #657180; font-size: 0.78rem; margin: 0.8rem 0 0.45rem; }
.admin-auth-uri { display: block; color: #34445A; font-size: 0.77rem; overflow-wrap: anywhere; word-break: break-word; line-height: 1.5; font-family: "Google Sans Flex"; font-variant-numeric: tabular-nums; }
.admin-auth-recovery-alert { display: flex; flex-direction: column; gap: 0.28rem; padding: 0.9rem 1.1rem; margin-bottom: 1rem; border-radius: 0.8rem; border: 1px solid #E7D8BD; background: #FBF6ED; color: #59462F; font-size: 0.84rem; line-height: 1.5; }
.admin-auth-recovery-alert strong { font-size: 0.85rem; }
.admin-auth-code-list { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0.55rem; }
.admin-auth-code-list li { min-width: 0; }
.admin-auth-code-list code { display: block; padding: 0.65rem 0.7rem; background: #fff; border: 1px solid #E8E6E1; border-radius: 0.55rem; font-size: 0.82rem; color: #0F1B2D; font-weight: 650; letter-spacing: 0.012em; font-family: "Google Sans Flex"; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; word-break: break-word; }
.admin-auth-recovery-footnote { font-size: 0.77rem; color: #657180; margin: 0.9rem 0 1.3rem; }
.admin-auth-recovery-guide { display: grid; gap: 1rem; margin-top: 2.1rem; }
.admin-auth-recovery-guide > div { border-bottom: 1px solid rgba(255,255,255,.14); padding-bottom: 0.95rem; display: grid; gap: 0.32rem; }
.admin-auth-recovery-guide strong { color: #fff; font-size: 0.87rem; }
.admin-auth-recovery-guide span { color: #D3DCE6; font-size: 0.8rem; line-height: 1.5; }
.admin-auth-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 0 1.5rem; color: #657180; font-size: 0.76rem; }
@media (max-width: 900px) {
  .admin-auth-layout { grid-template-columns: minmax(0,1fr); }
  .admin-auth-aside { padding: 1.65rem; }
  .admin-auth-feature-grid { margin-top: 1.5rem; }
  .admin-auth-aside__foot { margin-top: 1.5rem; }
  .admin-auth-main { padding-top: 0.65rem; }
}
@media (max-width: 540px) {
  .admin-auth-header, .admin-auth-main, .admin-auth-footer { width: min(100% - 2rem, 1160px); }
  .admin-auth-header { padding-block: 1.1rem 0.85rem; }
  .admin-auth-header__context { display: none; }
  .admin-auth-card { padding: 1.4rem 1.15rem; }
  .admin-auth-card h1 { font-size: clamp(1.75rem,8vw,2.25rem); }
  .admin-auth-aside { padding: 1.45rem 1.15rem; }
  .admin-auth-aside h2 { font-size: 1.65rem; }
  .admin-auth-footer { font-size: 0.7rem; }
  .admin-auth-code-list { grid-template-columns: minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .admin-auth-form .admin-form-group input { transition: none; }
}
