:root {
  --erp-font-ui: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --erp-font-display: Georgia, "Times New Roman", serif;
  --navy: #0b1626;
  --ink: #122033;
  --gold: #c7a25d;
  --paper: #f5f3ee;
  --white: #ffffff;
  --line: #dedbd2;
  --muted: #697386;
  --green: #2e7d67;
  --red: #a23e3e;
  --blue: #5687b5;
  --erp-radius-sm: 8px;
  --erp-radius-md: 12px;
  --erp-radius-lg: 16px;
  --erp-shadow-sm: 0 4px 14px rgba(18, 32, 51, .05);
  --erp-shadow-md: 0 14px 38px rgba(18, 32, 51, .10);
  --erp-sidebar-width: 240px;
}

body.erp-page {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--erp-font-ui);
  font-size: 14px;
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.erp-page *,
.erp-page *::before,
.erp-page *::after {
  box-sizing: border-box;
}

.erp-page button,
.erp-page input,
.erp-page select,
.erp-page textarea {
  font: inherit;
}

.erp-page button,
.erp-page a,
.erp-page input,
.erp-page select,
.erp-page textarea {
  transition: border-color .16s ease, background-color .16s ease,
    color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.erp-page :focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}

.erp-page .eyebrow,
.erp-page .card-kicker {
  color: #98763b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.erp-page .muted {
  color: var(--muted);
}

.erp-page .primary,
.erp-page button[type="submit"]:not(.secondary) {
  min-height: 44px;
  border: 0;
  border-radius: var(--erp-radius-sm);
  background: var(--gold);
  color: var(--ink);
  font-weight: 800;
  box-shadow: none;
  cursor: pointer;
}

.erp-page .primary:hover,
.erp-page button[type="submit"]:not(.secondary):hover {
  filter: brightness(.97);
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(138, 104, 49, .14);
}

.erp-page input,
.erp-page select,
.erp-page textarea {
  border: 1px solid var(--line);
  border-radius: var(--erp-radius-sm);
  background: var(--white);
  color: var(--ink);
  outline: 0;
}

.erp-page input:focus,
.erp-page select:focus,
.erp-page textarea:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(199, 162, 93, .14);
}

.erp-page input::placeholder,
.erp-page textarea::placeholder {
  color: #9199a5;
}

/* CRM and Production share one desktop workspace shell. */
.erp-page.erp-crm-page .app,
.erp-page.erp-production-page .app {
  min-height: 100vh;
  display: grid;
  grid-template-columns: var(--erp-sidebar-width) minmax(0, 1fr) !important;
}

.erp-page .sidebar,
.erp-page .sidebar.production-light-nav {
  position: sticky;
  top: 0;
  display: flex;
  width: auto;
  height: 100vh;
  padding: 28px 20px 18px;
  flex-direction: column;
  overflow: hidden;
  border: 0;
  background: var(--navy) !important;
  color: var(--white);
}

.erp-page .sidebar .crm-brand-home {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  padding: 2px 7px 22px !important;
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  color: var(--white);
  text-decoration: none;
}

.erp-page .sidebar .crm-brand-mark {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(199, 162, 93, .72);
  border-radius: 15px;
  background: linear-gradient(145deg, rgba(199, 162, 93, .16), rgba(199, 162, 93, .04));
  color: #e0bd7a;
  font: 700 15px var(--erp-font-display);
}

.erp-page .sidebar .crm-brand-copy,
.erp-page .sidebar .crm-brand-copy strong,
.erp-page .sidebar .crm-brand-copy small {
  display: block;
  min-width: 0;
}

.erp-page .sidebar .crm-brand-copy strong {
  overflow: hidden;
  color: var(--white);
  font: 700 18px/1.15 var(--erp-font-display);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.erp-page .sidebar .crm-brand-copy small {
  margin-top: 4px;
  color: #8695a8;
  font: 700 8px/1.2 var(--erp-font-ui);
  letter-spacing: .10em;
  white-space: nowrap;
}

/* Neutralize legacy Production logo generators before using the CRM brand. */
.erp-production-page .sidebar.production-light-nav .crm-brand-home::before,
.erp-production-page .crm-brand-home .crm-brand-mark::after,
.erp-production-page .crm-brand-home .crm-brand-copy::after,
.erp-production-page .crm-brand-home .crm-brand-copy small::after {
  display: none !important;
  content: none !important;
}

.erp-production-page .sidebar.production-light-nav .crm-brand-home {
  grid-template-rows: 1fr !important;
  min-height: 72px;
}

.erp-production-page .crm-brand-home .crm-brand-mark {
  align-self: center !important;
  color: #e0bd7a !important;
  font: 700 15px/1 var(--erp-font-display) !important;
}

.erp-production-page .crm-brand-home .crm-brand-copy {
  align-self: center !important;
  color: inherit !important;
  font-size: inherit !important;
}

.erp-production-page .crm-brand-home .crm-brand-copy strong {
  color: var(--white) !important;
  font: 700 15px/1.15 var(--erp-font-display) !important;
}

.erp-production-page .crm-brand-home .crm-brand-copy small {
  margin-top: 4px !important;
  color: #8695a8 !important;
  font: 700 8px/1.2 var(--erp-font-ui) !important;
  letter-spacing: .10em !important;
}

/* Specificity must exceed the legacy `.brand span` Production rules. */
.erp-production-page .sidebar.production-light-nav .crm-brand-home > span.crm-brand-mark {
  display: grid !important;
  align-self: center !important;
  color: #e0bd7a !important;
  font: 700 15px/1 var(--erp-font-display) !important;
}

.erp-production-page .sidebar.production-light-nav .crm-brand-home > span.crm-brand-copy {
  display: block !important;
  align-self: center !important;
  min-width: 0;
  color: inherit !important;
  font-size: 14px !important;
}

.erp-production-page .sidebar.production-light-nav .crm-brand-home > span.crm-brand-mark::after,
.erp-production-page .sidebar.production-light-nav .crm-brand-home > span.crm-brand-copy::after,
.erp-production-page .sidebar.production-light-nav .crm-brand-home > span.crm-brand-copy small::after {
  display: none !important;
  content: none !important;
}

.erp-page .sidebar nav,
.erp-page .sidebar.production-light-nav nav {
  display: grid;
  gap: 7px;
  margin: 20px 0 0;
  overflow-y: auto;
  scrollbar-width: thin;
}

.erp-page .sidebar .nav-item,
.erp-page .sidebar.production-light-nav .nav-item {
  display: block;
  width: 100%;
  min-height: 42px;
  padding: 12px !important;
  border: 0;
  border-radius: var(--erp-radius-sm) !important;
  background: transparent !important;
  color: #d9e0e8 !important;
  font-family: var(--erp-font-ui) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 18px;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.erp-page .sidebar .nav-item:hover,
.erp-page .sidebar.production-light-nav .nav-item:hover {
  background: #15243a !important;
  color: var(--white) !important;
}

.erp-page .sidebar .nav-item.active,
.erp-page .sidebar.production-light-nav .nav-item.active {
  background: #1a2a40 !important;
  color: var(--white) !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

/* Legacy view switches may leave the previous CRM item marked active. */
.erp-crm-page:has(#crmView:not(.hidden)) .sidebar .nav-item.active:not(#leadsBtn),
.erp-crm-page:has(#calendarView:not(.hidden)) .sidebar .nav-item.active:not(#calendarBtn),
.erp-crm-page:has(#reportsView:not(.hidden)) .sidebar .nav-item.active:not(#reportsBtn) {
  background: transparent !important;
  color: #d9e0e8 !important;
  font-weight: 500 !important;
}

.erp-crm-page:has(#crmView:not(.hidden)) .sidebar #leadsBtn,
.erp-crm-page:has(#calendarView:not(.hidden)) .sidebar #calendarBtn,
.erp-crm-page:has(#reportsView:not(.hidden)) .sidebar #reportsBtn {
  background: #1a2a40 !important;
  color: var(--white) !important;
  font-weight: 700 !important;
}

.erp-page .sidebar nav hr {
  width: 100%;
  margin: 7px 0;
  border: 0;
  border-top: 1px solid #28374c;
}

.erp-page .sidebar .user,
.erp-page .sidebar.production-light-nav .production-user-hidden {
  position: static;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  padding: 14px 8px !important;
  border: 0 !important;
  border-top: 1px solid #28374c !important;
  border-radius: 0;
  background: transparent;
}

.erp-page .sidebar .avatar {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--navy);
  font-size: 13px;
  font-weight: 900;
}

.erp-page .sidebar .user strong {
  display: block;
  color: var(--white);
  font-size: 13px;
  line-height: 1.2;
}

.erp-page .sidebar .user small {
  display: block;
  margin-top: 4px;
  color: #9aa7b7;
  font-size: 10px;
}

.erp-crm-page main,
.erp-production-page main {
  min-width: 0;
  padding: 36px !important;
  background: var(--paper) !important;
}

.erp-page .topbar,
.erp-page #productionHeader {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.erp-page .topbar h2,
.erp-page #productionHeader h1 {
  margin: 0;
  color: var(--ink);
  font: 700 36px/1.08 var(--erp-font-display);
  letter-spacing: -.015em;
}

.erp-page #productionHeader > div > p:last-child {
  margin: 9px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.erp-page .stats,
.erp-production-page .stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 28px 0;
}

.erp-page .stat,
.erp-page .stats > div {
  min-height: 96px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--erp-radius-md);
  background: var(--white);
  box-shadow: none;
}

.erp-page .stat span,
.erp-page .stats > div span {
  color: var(--muted);
  font-size: 12px;
}

.erp-page .stat strong,
.erp-page .stats > div strong {
  display: block;
  margin-top: 7px;
  color: var(--ink);
  font-size: 28px;
  line-height: 1;
}

.erp-page .toolbar,
.erp-production-page .toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 18px;
}

.erp-page .toolbar input,
.erp-page .toolbar select {
  min-height: 46px;
  padding: 11px 13px;
}

/* Shared kanban geometry; color is the only stage-specific signal. */
.erp-page .board,
.erp-production-page #board.board {
  gap: 12px;
  padding: 14px 0 20px;
  border: 1px solid #e1e6ea;
  border-radius: 16px;
  background: #edf2f5;
}

.erp-page .column,
.erp-production-page #board .column {
  position: relative;
  min-height: 500px;
  padding: 0 8px 12px;
  overflow: hidden;
  border: 1px solid rgba(126, 143, 158, .20);
  border-top: 4px solid #5aaae4;
  border-radius: var(--erp-radius-md);
  background: rgba(247, 249, 250, .82) !important;
  box-shadow: var(--erp-shadow-sm);
}

.erp-page .column::before,
.erp-production-page #board .column::before {
  display: none !important;
}

.erp-page .column-head,
.erp-production-page #board .column-head {
  min-height: 52px;
  margin: 0 -8px;
  padding: 13px 11px 9px;
  color: #263643;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .015em;
}

.erp-page .count,
.erp-page .column-head b {
  min-width: 24px;
  height: 24px;
  border-radius: 999px;
  background: var(--white);
  box-shadow: 0 2px 7px rgba(18, 32, 51, .08);
}

.erp-page .quick-task-button,
.erp-production-page .quick-task-button {
  min-height: 40px;
  border: 1px solid rgba(118, 139, 156, .20) !important;
  border-radius: 9px;
  background: rgba(255, 255, 255, .78) !important;
  color: #607286;
  font-size: 11px;
  font-weight: 800;
}

.erp-page .card,
.erp-production-page .case-card {
  border: 1px solid #e1ddd4;
  border-radius: 10px;
  background: var(--white);
  box-shadow: 0 4px 12px rgba(22, 32, 51, .04);
}

.erp-page .card:hover,
.erp-production-page .case-card:hover {
  transform: translateY(-1px);
  border-color: #d4cbbd;
  box-shadow: 0 10px 24px rgba(22, 32, 51, .08);
}

.erp-production-page #board .column:nth-child(5n+1) { border-top-color: #5aaae4; }
.erp-production-page #board .column:nth-child(5n+2) { border-top-color: #f0ad3c; }
.erp-production-page #board .column:nth-child(5n+3) { border-top-color: #ee6b70; }
.erp-production-page #board .column:nth-child(5n+4) { border-top-color: #6b9bea; }
.erp-production-page #board .column:nth-child(5n+5) { border-top-color: #49b887; }

/* Keep the CRM team calendar readable on the shared paper background. */
.erp-crm-page #calendarView .calendar-grid {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(120px, 1fr)) !important;
  overflow: visible;
  border-top: 1px solid var(--line) !important;
  border-left: 1px solid var(--line) !important;
  border-radius: 0 0 var(--erp-radius-md) var(--erp-radius-md);
  background: var(--white);
}

.erp-crm-page #calendarView .calendar-day {
  display: block !important;
  min-height: 130px !important;
  padding: 10px !important;
  border-right: 1px solid var(--line) !important;
  border-bottom: 1px solid var(--line) !important;
  background: var(--white) !important;
  color: var(--ink) !important;
}

.erp-crm-page #calendarView .calendar-day.outside {
  background: #efede7 !important;
  color: #818a96 !important;
}

.erp-crm-page #calendarView .calendar-day.today {
  box-shadow: inset 0 0 0 2px var(--gold) !important;
}

.erp-crm-page #calendarView .day-number {
  color: inherit;
  font-size: 12px;
  font-weight: 800;
}

.erp-crm-page .column:nth-child(5n+1) { border-top-color: #5aaae4; }
.erp-crm-page .column:nth-child(5n+2) { border-top-color: #f0ad3c; }
.erp-crm-page .column:nth-child(5n+3) { border-top-color: #ee6b70; }
.erp-crm-page .column:nth-child(5n+4) { border-top-color: #6b9bea; }
.erp-crm-page .column:nth-child(5n+5) { border-top-color: #49b887; }

/* Dialogs, forms and tables look identical in every browser section. */
.erp-page dialog {
  /* Keep long cards and forms reachable inside the modal viewport. */
  overflow: auto;
  overscroll-behavior: contain;
  border: 0;
  border-radius: 14px;
  background: var(--white);
  color: var(--ink);
  box-shadow: var(--erp-shadow-md);
}

.erp-page dialog::backdrop {
  background: rgba(5, 12, 22, .62);
  backdrop-filter: blur(2px);
}

.erp-page .dialog-head,
.erp-page .dialog-shell > header,
.erp-page .reset-head {
  border-bottom-color: var(--line);
}

.erp-page .dialog-head h2,
.erp-page .dialog-head h3,
.erp-page .dialog-shell h2,
.erp-page .reset-head h2 {
  color: var(--ink);
  font-family: var(--erp-font-display);
  letter-spacing: -.01em;
}

.erp-page .close,
.erp-page .dialog-close,
.erp-page .reset-head button {
  color: var(--ink);
}

.erp-page .table-wrap,
.erp-page .clients-table-wrap,
.erp-page .production-section table {
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: var(--erp-radius-md);
  background: var(--white);
}

.erp-page table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.erp-page th {
  background: #efede7 !important;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.erp-page th,
.erp-page td {
  padding: 12px 14px;
  border-bottom: 1px solid #ece8df;
}

/* Portal: same tokens and card rhythm, without changing its module layout. */
.erp-page .portal-header {
  height: 72px;
  padding: 0 30px;
  border-bottom: 1px solid var(--line);
  background: var(--white);
}

.erp-page .portal-brand {
  gap: 13px;
  color: var(--ink);
}

.erp-page .brand-mark {
  color: var(--gold);
  font: 700 21px var(--erp-font-display);
}

.erp-page .portal-brand .brand-mark {
  display: grid;
  place-items: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(199, 162, 93, .72);
  border-radius: 15px;
  background: #0b1626;
  color: #e0bd7a;
  font: 700 15px/1 var(--erp-font-display);
  letter-spacing: 0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
  transition: transform .16s ease, border-color .16s ease;
}

.erp-page a.portal-brand:hover .brand-mark {
  transform: translateY(-1px);
  border-color: #e0bd7a;
}

.erp-page a.portal-brand:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 5px;
  border-radius: 12px;
}

.erp-page .portal-brand strong {
  color: var(--ink);
  font: 700 18px var(--erp-font-display);
}

.erp-portal-page .portal main {
  max-width: 1440px;
  padding: 42px 30px 70px;
}

.erp-portal-page .welcome h1,
.erp-portal-page .portal-section-title h2 {
  color: var(--ink);
  font-family: var(--erp-font-display);
  letter-spacing: -.015em;
}

.erp-portal-page .module-card,
.erp-portal-page .birthday-reminder-panel,
.erp-portal-page .workday-panel,
.erp-portal-page .sla-panel,
.erp-portal-page .team-workload-panel,
.erp-portal-page .data-quality-panel {
  border-color: var(--line);
  border-radius: var(--erp-radius-lg);
  background: var(--white);
  box-shadow: none;
}

.erp-portal-page .module-card {
  min-height: 205px;
  padding: 24px;
}

.erp-portal-page .module-card:hover {
  transform: translateY(-2px);
  border-color: #cbbda8;
  box-shadow: var(--erp-shadow-sm);
}

.erp-portal-page .module-icon {
  width: 52px;
  height: 52px;
  border-radius: var(--erp-radius-md);
  background: #f1efea;
  color: #7d776f;
}

.erp-portal-page .module-card h2 {
  margin: 18px 0 8px;
  color: var(--ink);
  font-family: var(--erp-font-ui);
  font-size: 20px;
  font-weight: 800;
}

/* Administration uses the CRM surface language instead of a separate theme. */
.erp-admin-page .admin-center main {
  max-width: 1260px;
  padding: 42px 30px 70px;
}

.erp-admin-page .admin-hero {
  padding: 28px 32px;
  border: 1px solid var(--line);
  border-radius: var(--erp-radius-lg);
  background: var(--white);
  color: var(--ink);
  box-shadow: none;
}

.erp-admin-page .admin-hero p {
  color: #98763b;
}

.erp-admin-page .admin-hero h1 {
  color: var(--ink);
  font: 700 36px/1.08 var(--erp-font-display);
}

.erp-admin-page .admin-hero span {
  color: var(--muted);
}

.erp-admin-page .admin-hero > b {
  border: 1px solid var(--line);
  border-radius: var(--erp-radius-md);
  background: #f3f0ea;
  color: #98763b;
}

.erp-admin-page .admin-grid {
  gap: 14px;
}

.erp-admin-page .admin-card {
  grid-template-columns: 50px 1fr;
  gap: 16px;
  min-height: 180px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: var(--erp-radius-md);
  background: var(--white);
}

.erp-admin-page .admin-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--erp-shadow-sm);
}

.erp-admin-page .admin-card > i {
  width: 46px;
  height: 46px;
  border-radius: 11px;
  background: #edf1f4;
  color: #31546f;
}

.erp-admin-page .admin-card h2 {
  margin: 7px 0;
  color: var(--ink);
  font: 700 23px/1.15 var(--erp-font-display);
}

.erp-admin-page .admin-dialog {
  border-radius: var(--erp-radius-lg);
}

.erp-admin-page .dialog-shell > header {
  padding: 22px 26px;
}

.erp-admin-page .dialog-body {
  padding: 24px 26px 36px;
  background: var(--paper);
}

.erp-admin-page .admin-columns > section,
.erp-admin-page .settings-box,
.erp-admin-page .request-card,
.erp-admin-page .automation-form,
.erp-admin-page .automation-summary > span,
.erp-admin-page .automation-rule {
  border-color: var(--line);
  border-radius: var(--erp-radius-md);
  background: var(--white);
}

/* Personal account follows the same restrained CRM cards and typography. */
.erp-account-page .account-shell main {
  width: min(1180px, calc(100% - 40px));
  padding: 42px 0 70px;
}

.erp-account-page .account-hero {
  padding: 26px 30px;
  border: 1px solid var(--line);
  border-radius: var(--erp-radius-lg);
  background: var(--white);
  color: var(--ink);
  box-shadow: none;
}

.erp-account-page .account-avatar {
  border-radius: var(--erp-radius-md);
  background: #f0e4cc;
  color: var(--ink);
  font: 900 23px var(--erp-font-display);
}

.erp-account-page .account-hero p {
  color: #98763b;
}

.erp-account-page .account-hero h1 {
  color: var(--ink);
  font: 700 34px/1.1 var(--erp-font-display);
}

.erp-account-page .account-hero span {
  color: var(--muted);
}

.erp-account-page .account-grid {
  gap: 14px;
}

.erp-account-page .account-card {
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--erp-radius-md);
  background: var(--white);
  box-shadow: none;
}

.erp-account-page .account-card h2 {
  color: var(--ink);
  font: 700 24px/1.15 var(--erp-font-display);
}

.erp-account-page .telegram-state {
  border: 1px solid #e2e7eb;
  border-radius: 10px;
  background: #f3f6f8;
}

@media (max-width: 900px) {
  .erp-page.erp-crm-page .app,
  .erp-page.erp-production-page .app {
    grid-template-columns: 1fr !important;
  }

  .erp-page .sidebar,
  .erp-page .sidebar.production-light-nav {
    position: static;
    height: auto;
    padding: 20px;
  }

  .erp-page .sidebar nav,
  .erp-page .sidebar.production-light-nav nav {
    display: flex;
    overflow-x: auto;
  }

  .erp-page .sidebar .nav-item,
  .erp-page .sidebar.production-light-nav .nav-item {
    width: auto;
    min-width: max-content;
  }

  .erp-page .sidebar .user,
  .erp-page .sidebar.production-light-nav .production-user-hidden {
    margin-top: 18px;
  }

  .erp-crm-page main,
  .erp-production-page main {
    padding: 22px !important;
  }

  .erp-page .stats,
  .erp-production-page .stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .erp-page .toolbar,
  .erp-production-page .toolbar {
    align-items: stretch;
    flex-wrap: wrap;
  }
}

@media (max-width: 620px) {
  .erp-page .portal-header {
    height: auto;
    padding: 16px 18px;
  }

  .erp-page .topbar,
  .erp-page #productionHeader {
    display: grid;
  }

  .erp-page .topbar h2,
  .erp-page #productionHeader h1,
  .erp-admin-page .admin-hero h1,
  .erp-account-page .account-hero h1 {
    font-size: 29px;
  }

  .erp-page .stats,
  .erp-production-page .stats,
  .erp-account-page .account-grid {
    grid-template-columns: 1fr;
  }

  .erp-portal-page .portal main,
  .erp-admin-page .admin-center main {
    padding: 28px 16px 50px;
  }

  .erp-account-page .account-shell main {
    width: min(100% - 24px, 1180px);
    padding-top: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .erp-page *,
  .erp-page *::before,
  .erp-page *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
