/* Shared visual language for the three private operating workspaces.
   Keep workflow status colors in their feature styles; this layer only aligns brand surfaces and typography. */
body.admin-brand {
  --admin-cream: #fff;
  --admin-paper: #fff;
  --admin-paper-soft: #fdfafa;
  --admin-ink: #333;
  --admin-muted: #8c8c8c;
  --admin-line: #ebe6e3;
  --admin-line-strong: #ded6d2;
  --admin-rose: #d98a92;
  --admin-rose-soft: #fbf1f1;
  --admin-shadow: 0 16px 42px rgba(59, 59, 59, .06);
  --ink: var(--admin-ink);
  --espresso: #3b3b3b;
  --muted: var(--admin-muted);
  --line: var(--admin-line);
  --cream: var(--admin-cream);
  --paper: var(--admin-paper);
  --wine: var(--admin-rose);
  --wine-dark: #cf7d86;
  --rose: #e2939a;
  --accent: var(--admin-rose);
  --accent-strong: #cf7d86;
  --accent-text: #e2939a;
  --accent-soft: var(--admin-rose-soft);
  --accent-line: #f1dadb;
  --pink: #f6e4e5;
  --beige: #f6f2ee;
  --serif: var(--sans);
  min-width: 320px;
  background: var(--admin-cream);
  color: var(--admin-ink);
  font-family: var(--sans);
}

body.admin-brand :where(h1, h2, h3, h4, .login-mark, .admin-wordmark, .availability-wordmark, .stats-wordmark) {
  color: var(--admin-ink);
  font-family: var(--serif);
  font-style: normal;
  font-weight: 300;
  letter-spacing: -.035em;
}
body.admin-brand :where(.login-mark, .admin-wordmark, .availability-wordmark, .stats-wordmark) > span {
  color: var(--admin-rose);
  font-style: normal;
}
body.admin-brand :where(.eyebrow, .panel-label) {
  color: var(--admin-rose);
  letter-spacing: .16em;
}
body.admin-brand :where(input, select, textarea) {
  border-color: var(--admin-line);
  background-color: var(--admin-paper);
}
body.admin-brand :where(input, select, textarea):focus {
  border-color: var(--admin-rose);
  outline: none;
  box-shadow: 0 0 0 3px rgba(217, 138, 146, .15);
}
body.admin-brand :focus-visible {
  outline: 2px solid var(--admin-rose);
  outline-offset: 3px;
}

/* Shared chrome */
body.admin-brand :where(.admin-header, .availability-header, .stats-header) {
  border-bottom: 1px solid var(--admin-line);
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 5px 24px rgba(59, 59, 59, .035);
}
body.admin-brand :where(.admin-header, .availability-header, .stats-header) small {
  color: var(--admin-muted);
  font-family: var(--sans);
  letter-spacing: .14em;
}
body.admin-brand :where(.panel, .member-login-card, .member-editor-head, .crew-workspace-panel,
  .stats-login-card, .stats-search-card, .stats-results-card, .stats-summary-grid article,
  .stats-breakdown-card) {
  border: 1px solid var(--admin-line);
  background: var(--admin-paper);
  box-shadow: var(--admin-shadow);
}

/* /manage */
body.admin-brand .login-visual {
  background: linear-gradient(145deg, #fff 0%, #fdfafa 58%, #fbf1f1 100%);
}
body.admin-brand .login-visual .login-mark { color: var(--admin-ink); }
body.admin-brand .login-visual .login-mark > span { color: var(--accent-text); }
body.admin-brand .login-panel { background: var(--admin-cream); }
body.admin-brand .login-card h1,
body.admin-brand .welcome h1,
body.admin-brand .panel h2 { font-family: var(--serif); }
body.admin-brand .login-card button,
body.admin-brand .save-button {
  border-radius: 8px;
  background: var(--admin-ink);
}
body.admin-brand .side-nav {
  border-right-color: var(--admin-line);
  background: var(--beige);
}
body.admin-brand .side-nav a.active {
  border-left-color: var(--admin-rose);
  background: rgba(255, 253, 249, .82);
}
body.admin-brand .admin-content { padding-top: clamp(34px, 5vw, 66px); }
body.admin-brand .admin-workspace-tabs {
  border-color: var(--admin-line);
  background: var(--beige);
}
body.admin-brand .admin-workspace-tabs button[aria-selected="true"] {
  color: var(--admin-ink);
  background: var(--admin-paper);
  box-shadow: 0 5px 16px rgba(59, 59, 59, .06);
}
body.admin-brand .panel { border-radius: 12px; }
body.admin-brand :where(.calendar-panel, .schedule-board, .venue-admin-panel, .qr-admin-panel) {
  border-color: var(--admin-line);
  background-color: var(--admin-paper);
}

/* /crew */
body.admin-brand .crew-shell { padding-top: clamp(28px, 4vw, 54px); }
body.admin-brand .crew-intro h1,
body.admin-brand .member-login-card h2,
body.admin-brand .member-editor-head h2,
body.admin-brand .crew-panel-heading h3,
body.admin-brand .manual-workspace h3,
body.admin-brand .manual-workspace h4 { font-family: var(--serif); }
body.admin-brand .crew-intro h1 { color: var(--admin-ink); }
body.admin-brand .crew-intro h1 em { color: var(--admin-rose); }
body.admin-brand .member-login-card {
  min-width: 0;
  border-radius: 18px;
  background: var(--admin-paper);
}
body.admin-brand .member-login-card > *,
body.admin-brand .crew-login-methods { min-width: 0; }
body.admin-brand .crew-google-login { width: 100%; }
body.admin-brand .crew-google-login { overflow-wrap: anywhere; }
body.admin-brand .member-editor-head { border-radius: 14px; }
body.admin-brand .crew-workspace-tabs {
  border-color: var(--admin-line);
  background: var(--beige);
}
body.admin-brand .crew-workspace-tabs button.active,
body.admin-brand .crew-workspace-tabs button[aria-pressed="true"] {
  color: var(--admin-ink);
  background: var(--admin-paper);
}
body.admin-brand .crew-google-login,
body.admin-brand .member-login-card form > button,
body.admin-brand .member-editor-actions > button {
  background: var(--admin-ink);
  color: #fff;
}
body.admin-brand .crew-schedule-card {
  border-color: var(--admin-line);
  background: var(--admin-paper);
}
body.admin-brand .crew-schedule-date { background: var(--accent-soft); }

/* /gift-stats */
body.admin-brand .stats-login-shell,
body.admin-brand .stats-dashboard { background: var(--admin-cream); }
body.admin-brand .stats-login-card {
  width: min(470px, 100%);
  min-width: 0;
  max-width: 100%;
  border-radius: 18px;
}
body.admin-brand .stats-login-card > * { max-width: 100%; }
body.admin-brand .stats-login-card h1,
body.admin-brand .stats-hero h1,
body.admin-brand .stats-section-head h2,
body.admin-brand .stats-summary-grid strong { font-family: var(--serif); }
body.admin-brand #stats-login-form button,
body.admin-brand .stats-side-filters button.active {
  background: var(--admin-ink);
}
body.admin-brand .stats-side-filters {
  border-color: var(--admin-line);
  background: var(--beige);
}
body.admin-brand .stats-search-card,
body.admin-brand .stats-results-card,
body.admin-brand .stats-summary-grid article,
body.admin-brand .stats-breakdown-card { border-radius: 12px; }
body.admin-brand .stats-result-columns { background: var(--beige); }
body.admin-brand .stats-result-row:nth-child(odd) { background: var(--admin-paper-soft); }
body.admin-brand .stats-breakdown-row i::after { background: var(--admin-rose); }

@media (max-width: 560px) {
  body.admin-brand :where(.admin-header, .availability-header, .stats-header) { box-shadow: none; }
  body.admin-brand .login-panel { padding: 24px 18px; }
  body.admin-brand .admin-content { padding-right: 12px; padding-left: 12px; }
  body.admin-brand .panel,
  body.admin-brand .member-login-card,
  body.admin-brand .member-editor-head,
  body.admin-brand .stats-login-card,
  body.admin-brand .stats-search-card,
  body.admin-brand .stats-results-card,
  body.admin-brand .stats-breakdown-card { box-shadow: 0 10px 28px rgba(59, 59, 59, .055); }
  body.admin-brand .crew-shell { width: calc(100% - 20px); }
}

@media (prefers-reduced-motion: reduce) {
  body.admin-brand *, body.admin-brand *::before, body.admin-brand *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}
