/* admin-menu.php visual alignment pass */

body.admin-menu-page .account-form-container {
  display: grid;
  gap: 22px;
}

body.admin-menu-page .admin-dishes-pane {
  display: grid;
  gap: 22px;
}

body.admin-menu-page .admin-section-card {
  background: var(--white);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 24px;
  box-shadow: 0 14px 40px rgba(15, 23, 42, 0.05);
}

body.admin-menu-page .admin-pane-header {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 20px;
}

body.admin-menu-page .admin-pane-header-copy {
  display: grid;
  gap: 8px;
  max-width: 760px;
}

body.admin-menu-page .admin-pane-kicker {
  color: var(--primary-color);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  margin: 0;
  text-transform: uppercase;
}

body.admin-menu-page .admin-pane-caption {
  color: var(--ui-text-muted);
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
}

body.admin-menu-page .admin-dishes-workspace {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
}

body.admin-menu-page .admin-subsection-card {
  background: var(--ui-surface-muted);
  border: 1px solid var(--ui-border);
  border-radius: 18px;
  padding: 18px;
}

body.admin-menu-page .admin-subsection-card > h3,
body.admin-menu-page .admin-subsection-card .admin-form-group > h3 {
  margin-top: 0;
}

body.admin-menu-page .admin-catalog-toolbar {
  display: grid;
  gap: 14px;
  margin-bottom: 18px;
}

body.admin-menu-page .menu-view-switch {
  justify-content: flex-start;
  margin: 0;
}

body.admin-menu-page .menu-tabs-container {
  min-width: 0;
}

body.admin-menu-page .menu-tabs {
  min-width: 0;
}

body.admin-menu-page .desktop-table,
body.admin-menu-page .mobile-table-container {
  margin: 0;
}

body.admin-menu-page .mobile-table-item {
  background: var(--ui-surface-muted);
  border: 1px solid var(--ui-border);
  border-radius: 18px;
  padding: 16px;
}

body.admin-menu-page .mobile-table-actions {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.admin-menu-page .mobile-table-actions .inline-action-form {
  display: block;
  width: 100%;
}

body.admin-menu-page .mobile-table-btn,
body.admin-menu-page .stop-btn {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  width: 100%;
}

body.employee-page .account-form-container {
  max-width: 1240px;
  padding: 0 20px;
  width: 100%;
}

body.employee-page .admin-tabs-container {
  margin: 0 0 24px;
}

body.employee-page .admin-tabs {
  align-items: stretch;
  display: flex;
  gap: 8px;
  justify-content: center;
}

body.employee-page .admin-tab-btn {
  background: var(--ui-surface-muted);
  border: 1px solid var(--ui-border);
  border-bottom: 2px solid var(--ui-border);
  border-radius: 25px;
  color: var(--ui-text-muted);
  font-size: 16px;
  font-weight: 600;
  margin: 0 5px;
  min-height: 40px;
  padding: 10px 20px;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-bottom-color 0.2s ease;
}

body.employee-page .admin-tab-btn.active,
body.employee-page .admin-tab-btn:hover {
  background: var(--ui-surface);
  border-color: var(--ui-border);
  border-bottom-color: var(--primary-color);
  color: var(--ui-accent);
}

body.employee-page .admin-form-container {
  margin: 0 0 100px;
  padding: 26px;
}

body.employee-page .admin-form-container > h2 {
  margin-bottom: 18px;
}

body.employee-page .admin-form-group {
  margin-bottom: 5px;
}

body.employee-page .admin-form-group input,
body.employee-page .admin-form-group textarea,
body.employee-page .admin-form-group select {
  border: 1px solid var(--light-text);
  border-radius: 8px;
  min-height: 42px;
  margin: 5px auto;
}

body.employee-page .admin-form-group textarea {
  min-height: 96px;
}

body.employee-page .form-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

body.employee-page .menu-view-switch {
  margin: 10px 0 14px;
}

body.employee-page .inline-action-form {
  display: inline;
}

body.employee-page .checkout-btn,
body.employee-page .admin-checkout-btn,
body.employee-page .download-button-container {
  border-radius: 25px;
  min-height: 40px;
  padding: 8px 14px;
}

body.employee-page .download-button-container {
  align-items: center;
  display: inline-flex;
  margin-left: 0;
}

body.employee-page .mobile-table-item {
  margin: 0 0 14px;
}

body.employee-page .project-name-control {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(150px, 1fr) auto;
}

body.employee-page .file-manager-buttons,
body.employee-page .design-buttons {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.employee-page .file-browser {
  background: var(--bg-light);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 12px;
  margin-top: 14px;
  padding: 14px;
}

body.employee-page .file-navigation {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr auto;
}

body.employee-page .current-folder {
  margin-top: 0;
  min-height: 40px;
  width: 100%;
}

body.employee-page .folder-actions {
  margin: 0 0 10px;
}

body.employee-page .file-list-container {
  background: var(--white);
}

body.employee-page .font-controls,
body.employee-page .color-controls {
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

body.employee-page .color-control,
body.employee-page .font-control {
  background: var(--white);
  border-radius: 25px;
  padding: 12px;
}

@media (max-width: 992px) {
  body.admin-menu-page .admin-dishes-workspace {
    grid-template-columns: 1fr;
  }

  body.employee-page .account-form-container {
    padding: 0 14px;
  }

  body.employee-page .admin-form-container {
    padding: 18px;
  }
}

@media (max-width: 768px) {
  body.admin-menu-page .admin-pane-header {
    margin-bottom: 16px;
  }

  body.admin-menu-page .admin-section-card {
    border-radius: 25px;
  }

  body.admin-menu-page .admin-subsection-card {
    padding: 16px;
  }

  body.admin-menu-page .menu-tabs-container {
    padding: 0 8px;
  }

  body.admin-menu-page .menu-tabs {
    gap: 8px;
  }

  body.admin-menu-page .menu-tabs .tab-btn {
    margin: 0;
  }

  body.admin-menu-page .mobile-table-actions {
    grid-template-columns: 1fr;
  }

  body.employee-page .admin-tabs {
    display: grid;
    gap: 6px;
    grid-template-columns: 1fr 1fr;
  }

  body.employee-page .admin-tab-btn {
    border-radius: 25px;
    text-align: center;
  }

  body.employee-page .project-name-control {
    grid-template-columns: 1fr;
  }

  body.employee-page .file-navigation {
    grid-template-columns: 1fr;
  }

  body.employee-page .form-actions {
    justify-content: stretch;
  }

  body.employee-page .form-actions .checkout-btn,
  body.employee-page .form-actions .admin-checkout-btn {
    text-align: center;
    width: 100%;
  }
}

body.admin-menu-page .admin-pane-title {
  color: var(--ui-text, #121212);
  font-size: clamp(26px, 2.8vw, 34px);
  line-height: 1.08;
  margin: 0;
}

body.admin-menu-page .admin-design-panel,
body.admin-menu-page .admin-payment-panel,
body.admin-menu-page .admin-system-panel {
  display: grid;
  gap: 18px;
}

body.admin-menu-page .admin-design-panel > h2,
body.admin-menu-page .admin-payment-panel > h2,
body.admin-menu-page .admin-system-panel > h2 {
  display: none;
}

body.admin-menu-page .admin-design-panel {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

body.admin-menu-page .admin-design-panel .admin-pane-header,
body.admin-menu-page .admin-design-panel .design-buttons {
  grid-column: 1 / -1;
}

body.admin-menu-page .admin-design-panel > .admin-form-group {
  background: var(--ui-surface-muted);
  border: 1px solid var(--ui-border);
  border-radius: 18px;
  margin: 0;
  padding: 18px;
}

body.admin-menu-page .admin-design-panel > .admin-form-group:nth-of-type(1) {
  grid-column: span 4;
}

body.admin-menu-page .admin-design-panel > .admin-form-group:nth-of-type(2) {
  grid-column: span 8;
}

body.admin-menu-page .admin-design-panel > .admin-form-group:nth-of-type(3) {
  grid-column: span 6;
}

body.admin-menu-page .admin-design-panel > .admin-form-group:nth-of-type(4) {
  grid-column: span 6;
}

body.admin-menu-page .admin-design-panel > .admin-form-group:nth-of-type(5) {
  grid-column: 1 / -1;
}

body.admin-menu-page .admin-design-panel .design-buttons {
  justify-content: flex-end;
  margin-top: 4px;
}

body.admin-menu-page .brand-fields {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

body.admin-menu-page .brand-desc-area {
  resize: vertical;
}

body.admin-menu-page .brand-logo-hint {
  color: var(--light-text);
  display: block;
}

body.admin-menu-page .brand-logo-preview {
  border-radius: 6px;
  margin-top: 8px;
  max-height: 60px;
}

body.admin-menu-page .brand-logo-preview--hidden {
  display: none;
}

body.admin-menu-page .brand-save-row,
body.admin-menu-page .yk-save-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}

body.admin-menu-page .brand-status,
body.admin-menu-page .yk-status {
  align-items: center;
  color: var(--light-text);
  display: inline-flex;
  font-size: 13px;
  font-weight: 600;
  gap: 8px;
}

body.admin-menu-page .brand-status.is-success,
body.admin-menu-page .yk-status.is-success {
  color: var(--agree, #4caf50);
}

body.admin-menu-page .brand-status.is-error,
body.admin-menu-page .yk-status.is-error {
  color: var(--primary-color, #cd1719);
}

body.admin-menu-page .brand-status.is-loading,
body.admin-menu-page .yk-status.is-loading {
  color: var(--ui-text-muted, #667085);
}

body.admin-menu-page .yk-desc,
body.admin-menu-page .yk-note {
  color: var(--light-text, #777);
}

body.admin-menu-page .yk-desc {
  font-size: 13px;
  line-height: 1.6;
  margin-bottom: 16px;
}

body.admin-menu-page .yk-note {
  font-size: 12px;
  line-height: 1.6;
  margin-top: 16px;
}

body.admin-menu-page .yk-toggle-row {
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

body.admin-menu-page .yk-toggle-label {
  font-weight: 600;
}

body.admin-menu-page .yk-toggle-input {
  cursor: pointer;
  height: 20px;
  width: 20px;
}

body.admin-menu-page .admin-payment-panel,
body.admin-menu-page .admin-system-panel {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.admin-menu-page .admin-payment-panel .admin-pane-header,
body.admin-menu-page .admin-system-panel .admin-pane-header {
  grid-column: 1 / -1;
}

body.admin-menu-page .admin-payment-panel > .admin-form-group,
body.admin-menu-page .admin-system-panel > .admin-form-group {
  background: var(--ui-surface-muted);
  border: 1px solid var(--ui-border);
  border-radius: 18px;
  margin: 0;
  padding: 18px;
}

body.admin-menu-page .admin-system-panel .form-actions {
  justify-content: flex-start;
}

body.admin-menu-page .stop-btn {
  background: transparent;
  border: 1.5px solid var(--primary-color, #cd1719);
  border-radius: 6px;
  color: var(--primary-color, #cd1719);
  cursor: pointer;
  font-size: 0.8rem;
  font-weight: 600;
  padding: 4px 10px;
  transition:
    background 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease,
    opacity 0.2s ease;
}

body.admin-menu-page .stop-btn:hover {
  background: var(--primary-color, #cd1719);
  color: #fff;
}

body.admin-menu-page .stop-btn--active {
  background: var(--primary-color, #cd1719);
  color: #fff;
}

body.admin-menu-page .stop-btn--active:hover {
  background: var(--agree, #4caf50);
  border-color: var(--agree, #4caf50);
}

body.admin-menu-page .admin-item-row--paused {
  opacity: 0.52;
}

body.admin-menu-page .admin-subsection-card h3,
body.admin-menu-page .admin-design-panel > .admin-form-group > h3,
body.admin-menu-page .admin-payment-panel > .admin-form-group > h3,
body.admin-menu-page .admin-system-panel > .admin-form-group > h3 {
  margin-top: 0;
}

@media (max-width: 992px) {
  body.admin-menu-page .admin-design-panel,
  body.admin-menu-page .admin-payment-panel,
  body.admin-menu-page .admin-system-panel {
    grid-template-columns: 1fr;
  }

  body.admin-menu-page .admin-design-panel > .admin-form-group:nth-of-type(1),
  body.admin-menu-page .admin-design-panel > .admin-form-group:nth-of-type(2),
  body.admin-menu-page .admin-design-panel > .admin-form-group:nth-of-type(3),
  body.admin-menu-page .admin-design-panel > .admin-form-group:nth-of-type(4),
  body.admin-menu-page .admin-design-panel > .admin-form-group:nth-of-type(5) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 768px) {
  body.admin-menu-page .admin-pane-title {
    font-size: 24px;
  }

  body.admin-menu-page .admin-design-panel > .admin-form-group,
  body.admin-menu-page .admin-payment-panel > .admin-form-group,
  body.admin-menu-page .admin-system-panel > .admin-form-group {
    padding: 16px;
  }

  body.admin-menu-page .brand-save-row,
  body.admin-menu-page .yk-save-row {
    align-items: stretch;
    flex-direction: column;
  }

  body.admin-menu-page .brand-save-row > .checkout-btn,
  body.admin-menu-page .brand-save-row > .btn-save-colors,
  body.admin-menu-page .yk-save-row > .checkout-btn {
    width: 100%;
  }
}

/* owner.php visual alignment pass */

body.owner-page .account-container {
  margin: auto;
  padding: 0 20px;
  width: 100%;
}

body.owner-page .admin-form-container {
  margin: 0 0 22px;
  padding: 26px;
  min-width: 100%;
}

body.owner-page .admin-tabs-container {
  margin: 0 0 24px;
}

body.owner-page .admin-tabs {
  align-items: stretch;
  display: flex;
  gap: 8px;
  justify-content: center;
}

body.owner-page .admin-tab-btn {
  background: var(--ui-surface-muted);
  border: 1px solid var(--ui-border);
  border-bottom: 2px solid var(--ui-border);
  border-radius: 25px;
  color: var(--ui-text-muted);
  font-size: 16px;
  font-weight: 600;
  margin: 0 5px;
  min-height: 40px;
  padding: 10px 20px;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-bottom-color 0.2s ease;
}

body.owner-page .admin-tab-btn.active,
body.owner-page .admin-tab-btn:hover {
  background: var(--ui-surface);
  border-color: var(--ui-border);
  border-bottom-color: var(--primary-color);
  color: var(--ui-accent);
}

body.owner-page .report-controls {
  background: var(--white);
  border: none;
  border-radius: 16px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  margin: 0 0 18px;
  padding: 16px 20px;
}

body.owner-page .report-filter-form {
  align-items: center;
  display: flex;
  gap: 12px;
}

body.owner-page .report-filter-form .form-group {
  margin: 0;
}

body.owner-page .report-filter-form label {
  color: var(--light-text);
  font-weight: 600;
  margin-right: 6px;
}

body.owner-page .report-filter-form select {
  -webkit-appearance: none;
  appearance: none;
  background: var(--bg-light) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center;
  border: 2px solid var(--ui-border);
  border-radius: 12px;
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
  min-height: 44px;
  min-width: 170px;
  padding: 10px 36px 10px 14px;
  transition: border-color 0.2s, box-shadow 0.2s;
}
body.owner-page .report-filter-form select:focus {
  border-color: var(--ui-focus-ring);
  box-shadow: 0 0 0 3px var(--ui-focus-shadow);
  outline: 2px solid var(--ui-focus-ring);
  outline-offset: 1px;
}

body.owner-page .desktop-table {
  border: none;
  border-radius: 14px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  margin: 16px 0 24px;
  overflow: hidden;
}
body.owner-page .desktop-table th {
  background: var(--bg-light);
  border: none;
  color: var(--light-text);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.03em;
  padding: 14px 16px;
  text-transform: uppercase;
}
body.owner-page .desktop-table th:first-child {
  border-top-left-radius: 14px;
}
body.owner-page .desktop-table th:last-child {
  border-top-right-radius: 14px;
}
body.owner-page .desktop-table td {
  border: none;
  border-bottom: 1px solid var(--bg-light);
  font-size: 15px;
  font-weight: 500;
  padding: 14px 16px;
}
body.owner-page .desktop-table tr:last-child td {
  border-bottom: none;
}
body.owner-page .desktop-table tr.menu-table:hover {
  background-color: var(--bg-light);
  box-shadow: none;
  transform: none;
}

body.owner-page .mobile-table-item {
  background: var(--white);
  border: none;
  border-radius: 14px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  margin: 0 0 12px;
  padding: 16px 18px;
}

/* admin-menu.php final visual pass */

body.employee-page.admin-menu-page {
  --admin-shell-max: min(1480px, calc(100vw - 48px));
  --admin-card-gap: 20px;
  --admin-card-pad: 24px;
  --admin-soft-border: 1px solid rgba(15, 23, 42, 0.08);
  --admin-soft-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
}

body.employee-page.admin-menu-page .account-header-bar .container,
body.employee-page.admin-menu-page .admin-tabs-container,
body.employee-page.admin-menu-page .account-form-container {
  margin-inline: auto;
  max-width: var(--admin-shell-max);
  width: 100%;
}

body.employee-page.admin-menu-page .account-header-bar {
  margin-bottom: 0;
}

body.employee-page.admin-menu-page .account-header-bar .container {
  padding-inline: 0;
}

/* Phase 20: per-page overrides на .section-header-menu /
   .section-header-quick-actions / .section-header-nav-actions /
   .back-to-menu-btn удалены — это shared navigation row из
   account-header.php, должен быть pixel-identical на всех account-page
   surfaces. Раньше здесь было два конфликтующих блока (Block A на
   ~L779-806 и Block B ниже на ~L2866-2874), Block B беспроигрышно
   побеждал по cascade order и насаждал admin-only height/gap/RED-color.
   Canonical owner теперь — universal body.account-page rules в
   ui-ux-polish.css + account-styles.min.css + mobile-polish.css. */

body.employee-page.admin-menu-page .admin-tabs-container {
  margin: 0 auto 22px;
  padding-inline: 24px;
}

body.employee-page.admin-menu-page .admin-tabs {
  gap: 12px;
}

body.employee-page.admin-menu-page .admin-tab-btn {
  min-width: 162px;
}

body.employee-page.admin-menu-page .account-form-container {
  gap: 24px;
  max-width: var(--admin-shell-max);
  padding: 0 24px 32px;
}

body.employee-page.admin-menu-page .admin-tab-pane {
  min-width: 0;
  width: 100%;
}

body.employee-page.admin-menu-page .admin-section-card {
  border: var(--admin-soft-border);
  border-radius: 26px;
  box-shadow: var(--admin-soft-shadow);
  margin: 0;
  padding: var(--admin-card-pad);
}

body.employee-page.admin-menu-page .admin-section-card + .admin-section-card {
  margin-top: 0;
}

body.employee-page.admin-menu-page .admin-pane-header {
  margin-bottom: var(--admin-card-gap);
}

body.employee-page.admin-menu-page .admin-pane-header-copy {
  gap: 10px;
  max-width: 78ch;
}

body.employee-page.admin-menu-page .admin-pane-title {
  font-size: clamp(28px, 2.7vw, 36px);
}

body.employee-page.admin-menu-page .admin-pane-caption {
  max-width: 72ch;
}

body.employee-page.admin-menu-page .admin-form-group {
  display: grid;
  gap: 8px;
  margin: 0;
  min-width: 0;
}

body.employee-page.admin-menu-page .admin-form-group > h3 {
  margin-bottom: 2px;
}

body.employee-page.admin-menu-page .admin-form-group input,
body.employee-page.admin-menu-page .admin-form-group textarea,
body.employee-page.admin-menu-page .admin-form-group select,
body.employee-page.admin-menu-page .admin-form-group .form-group {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
  width: 100%;
}

body.employee-page.admin-menu-page .admin-dishes-pane {
  gap: 24px;
}

body.employee-page.admin-menu-page .admin-dishes-workspace {
  align-items: start;
  gap: 18px 20px;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
}

body.employee-page.admin-menu-page .admin-dishes-workspace > h2 {
  grid-column: 1 / -1;
  margin: 0 0 2px;
}

body.employee-page.admin-menu-page .admin-dishes-workspace > .admin-form-group.admin-subsection-card:first-of-type {
  grid-column: 2;
  grid-row: 2;
  align-self: start;
}

body.employee-page.admin-menu-page .admin-dishes-workspace > .admin-subsection-card:last-of-type {
  grid-column: 1;
  grid-row: 2;
}

body.employee-page.admin-menu-page .admin-dishes-workspace > .admin-subsection-card form {
  display: grid;
  gap: 12px 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.employee-page.admin-menu-page .admin-dishes-workspace > .admin-subsection-card form > .admin-form-group:nth-of-type(1),
body.employee-page.admin-menu-page .admin-dishes-workspace > .admin-subsection-card form > .admin-form-group:nth-of-type(2),
body.employee-page.admin-menu-page .admin-dishes-workspace > .admin-subsection-card form > .admin-form-group:nth-of-type(3),
body.employee-page.admin-menu-page .admin-dishes-workspace > .admin-subsection-card form > .admin-form-group:nth-of-type(11),
body.employee-page.admin-menu-page .admin-dishes-workspace > .admin-subsection-card form > .form-actions {
  grid-column: 1 / -1;
}

body.employee-page.admin-menu-page #modifiersSection {
  max-width: 100%;
}

body.employee-page.admin-menu-page .admin-catalog-card {
  overflow: hidden;
}

body.employee-page.admin-menu-page .admin-catalog-toolbar {
  gap: 16px;
  margin-bottom: 18px;
}

body.employee-page.admin-menu-page .menu-tabs-container.admin-menu-categories {
  max-width: 100%;
  overflow-x: auto;
}

body.employee-page.admin-menu-page .desktop-table {
  display: block;
  overflow-x: auto;
}

body.employee-page.admin-menu-page .desktop-table table {
  min-width: 760px;
}

body.employee-page.admin-menu-page .mobile-table-container {
  display: none;
}

body.employee-page.admin-menu-page .admin-catalog-card .mobile-table {
  display: grid;
  gap: 12px;
}

body.employee-page.admin-menu-page .mobile-table-item {
  min-width: 0;
  overflow: hidden;
}

body.employee-page.admin-menu-page .mobile-table-row {
  gap: 10px;
  grid-template-columns: minmax(82px, 96px) minmax(0, 1fr);
}

body.employee-page.admin-menu-page .mobile-table-value {
  min-width: 0;
  overflow-wrap: anywhere;
}

body.employee-page.admin-menu-page .mobile-table-actions {
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.employee-page.admin-menu-page .mobile-table-actions .mobile-table-btn,
body.employee-page.admin-menu-page .mobile-table-actions .stop-btn,
body.employee-page.admin-menu-page .mobile-table-actions .inline-action-form {
  min-width: 0;
  width: 100%;
}

body.employee-page.admin-menu-page .admin-design-panel,
body.employee-page.admin-menu-page .admin-payment-panel,
body.employee-page.admin-menu-page .admin-system-panel {
  gap: 20px;
}

body.employee-page.admin-menu-page .admin-design-panel {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

body.employee-page.admin-menu-page .admin-design-panel .admin-pane-header,
body.employee-page.admin-menu-page .admin-design-panel .design-buttons {
  grid-column: 1 / -1;
}

body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(#projectName) {
  grid-column: span 12;
}

body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(#browseImages) {
  grid-column: span 12;
}

body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(#brandName) {
  grid-column: 1 / -1;
}

body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(#fontLogoOverride) {
  grid-column: span 4;
}

body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(.color-controls) {
  grid-column: span 12;
}

body.employee-page.admin-menu-page .admin-design-panel .design-buttons {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-start;
}

body.employee-page.admin-menu-page .file-manager-buttons {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.employee-page.admin-menu-page .file-navigation {
  align-items: start;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) auto;
}

body.employee-page.admin-menu-page .current-folder {
  min-width: 0;
}

body.employee-page.admin-menu-page .brand-fields {
  display: grid;
  gap: 14px 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.employee-page.admin-menu-page .brand-fields .admin-label:has(#brandDesc),
body.employee-page.admin-menu-page .brand-fields .admin-label:has(#brandLogoUrl),
body.employee-page.admin-menu-page .brand-fields .admin-label:has(#brandCustomDomain) {
  grid-column: 1 / -1;
}

body.employee-page.admin-menu-page .brand-fields .admin-label {
  display: grid;
  gap: 8px;
  min-width: 0;
}

body.employee-page.admin-menu-page .brand-logo-preview {
  background: var(--ui-surface);
  border: 1px solid var(--ui-border);
  max-height: 72px;
  object-fit: contain;
  padding: 8px;
}

body.employee-page.admin-menu-page .font-controls {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.employee-page.admin-menu-page .font-control {
  align-content: start;
  border: 1px solid var(--ui-border);
  border-radius: 16px;
  display: grid;
  gap: 12px;
  min-height: 100%;
  padding: 16px;
}

body.employee-page.admin-menu-page .font-control label {
  display: grid;
  gap: 8px;
}

body.employee-page.admin-menu-page .color-controls {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

body.employee-page.admin-menu-page .color-control {
  background: var(--white);
  border: 1px solid var(--ui-border);
  border-radius: 16px;
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 14px;
}

body.employee-page.admin-menu-page .color-control label {
  font-weight: 600;
}

body.employee-page.admin-menu-page .color-value {
  color: var(--ui-text-muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}

body.employee-page.admin-menu-page .admin-payment-panel {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.employee-page.admin-menu-page .admin-payment-panel .admin-pane-header {
  grid-column: 1 / -1;
}

body.employee-page.admin-menu-page .admin-payment-panel > .admin-form-group:has(#ykShopId),
body.employee-page.admin-menu-page .admin-payment-panel > .admin-form-group:has(#tbTerminalKey) {
  align-content: start;
  display: grid;
  gap: 14px;
  min-height: 100%;
}

body.employee-page.admin-menu-page .admin-payment-panel .project-name-control,
body.employee-page.admin-menu-page .admin-system-panel .project-name-control {
  align-items: start;
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr;
}

body.employee-page.admin-menu-page .admin-payment-panel .yk-toggle-row,
body.employee-page.admin-menu-page .admin-system-panel .yk-toggle-row {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) auto;
}

body.employee-page.admin-menu-page .admin-payment-panel .yk-desc,
body.employee-page.admin-menu-page .admin-system-panel .yk-desc {
  margin: 0;
  max-width: 62ch;
}

body.employee-page.admin-menu-page .admin-payment-panel .yk-note,
body.employee-page.admin-menu-page .admin-system-panel .yk-note {
  background: var(--ui-surface);
  border: 1px solid var(--ui-border);
  border-radius: 14px;
  margin: 0;
  max-width: 68ch;
  padding: 14px 16px;
}

body.employee-page.admin-menu-page .yk-save-row {
  align-items: center;
  gap: 12px;
  justify-content: flex-start;
  margin-top: 2px;
}

body.employee-page.admin-menu-page .yk-save-row .checkout-btn {
  flex: 0 0 auto;
}

body.employee-page.admin-menu-page .admin-system-panel {
  align-items: start;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
}

body.employee-page.admin-menu-page .admin-system-panel .admin-pane-header {
  grid-column: 1 / -1;
}

body.employee-page.admin-menu-page .admin-system-panel > .admin-form-group:has(#tgChatId) {
  display: grid;
  gap: 14px;
}

body.employee-page.admin-menu-page .admin-system-panel > .admin-form-group:has(a[href="monitor.php"]) {
  align-content: start;
  display: grid;
  gap: 14px;
  min-height: auto;
}

body.employee-page.admin-menu-page .admin-system-panel > .admin-form-group:has(a[href="monitor.php"]) .form-actions {
  justify-content: flex-start;
  margin-top: 0;
}

body.employee-page.admin-menu-page .admin-system-panel > .admin-form-group:has(a[href="monitor.php"]) .checkout-btn {
  width: auto;
}

body.employee-page.admin-menu-page .brand-save-row,
body.employee-page.admin-menu-page .yk-save-row {
  margin-top: 2px;
}

@media (max-width: 1199px) {
  body.employee-page.admin-menu-page {
    --admin-shell-max: min(1120px, calc(100vw - 32px));
  }

  body.employee-page.admin-menu-page .account-header-bar .container,
  body.employee-page.admin-menu-page .admin-tabs-container,
  body.employee-page.admin-menu-page .account-form-container {
    padding-inline: 18px;
  }

  body.employee-page.admin-menu-page .admin-dishes-workspace {
    grid-template-columns: 1fr;
  }

  body.employee-page.admin-menu-page .admin-dishes-workspace > .admin-form-group.admin-subsection-card:first-of-type,
  body.employee-page.admin-menu-page .admin-dishes-workspace > .admin-subsection-card:last-of-type {
    grid-column: 1;
    grid-row: auto;
  }

  body.employee-page.admin-menu-page .admin-design-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(#projectName),
  body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(#browseImages),
  body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(#brandName),
  body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(#fontLogoOverride),
  body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(.color-controls) {
    grid-column: auto;
  }

  body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(#brandName),
  body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(.color-controls) {
    grid-column: 1 / -1;
  }

  body.employee-page.admin-menu-page .font-controls {
    grid-template-columns: 1fr;
  }

  body.employee-page.admin-menu-page .admin-payment-panel,
  body.employee-page.admin-menu-page .admin-system-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  body.employee-page.admin-menu-page {
    --admin-shell-max: calc(100vw - 24px);
    --admin-card-pad: 18px;
    --admin-card-gap: 16px;
  }

  body.employee-page.admin-menu-page .account-header-bar .container,
  body.employee-page.admin-menu-page .admin-tabs-container,
  body.employee-page.admin-menu-page .account-form-container {
    padding-inline: 12px;
  }

  body.employee-page.admin-menu-page .admin-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.employee-page.admin-menu-page .admin-tab-btn {
    min-width: 0;
    width: 100%;
  }

  body.employee-page.admin-menu-page .admin-pane-title {
    font-size: 24px;
  }

  body.employee-page.admin-menu-page .file-manager-buttons,
  body.employee-page.admin-menu-page .brand-fields,
  body.employee-page.admin-menu-page .font-controls,
  body.employee-page.admin-menu-page .color-controls {
    grid-template-columns: 1fr;
  }

  body.employee-page.admin-menu-page .desktop-table {
    display: none;
  }

  body.employee-page.admin-menu-page .mobile-table-container {
    display: block;
  }

  body.employee-page.admin-menu-page .mobile-table-actions {
    grid-template-columns: 1fr;
  }

  body.employee-page.admin-menu-page .mobile-table-item {
    width: 100%;
  }

  body.employee-page.admin-menu-page .admin-system-panel > .admin-form-group:has(a[href="monitor.php"]) .checkout-btn,
  body.employee-page.admin-menu-page .brand-save-row > .checkout-btn,
  body.employee-page.admin-menu-page .brand-save-row > .btn-save-colors,
  body.employee-page.admin-menu-page .yk-save-row > .checkout-btn {
    width: 100%;
  }
}
body.owner-page .mobile-table-row {
  border-bottom: 1px solid var(--bg-light);
}
body.owner-page .mobile-table-row:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
body.owner-page .mobile-table-row:first-child {
  padding-top: 0;
}
body.owner-page .mobile-table-label {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
body.owner-page .mobile-table-value {
  font-size: 15px;
  font-weight: 600;
}

body.owner-page .role-select {
  background: var(--ui-surface);
  border: 1px solid var(--ui-border);
  border-radius: 8px;
  color: var(--ui-text);
  width: 75%;
  min-height: 30px;
  padding: 6px 10px;
  margin-bottom: 10px;
}

body.owner-page .save-role-btn {
  border-radius: 8px;
  margin: auto;
  min-height: 30px;
  padding: 6px 10px;
  width: 75%;
}

body.owner-page .charts-container {
  display: grid;
  gap: 14px;
  margin: 0 auto 100px;
  max-width: 1240px;
  padding: 0 20px;
}

body.owner-page .chart-container {
  background: var(--white);
  border: none;
  border-radius: 16px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  margin: 0;
  padding: 22px 20px;
}

body.owner-page .chart-title {
  color: var(--light-text);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: 16px;
  text-transform: uppercase;
}

body.owner-page .chart-bars {
  border-bottom: 2px solid var(--bg-light);
  border-radius: 0;
  padding: 12px 4px;
}

body.owner-page .chart-bar {
  border-radius: 10px 10px 0 0;
  min-width: 36px;
}

body.owner-page .chart-bar:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  transform: translateY(-4px) scale(1.04);
}

body.owner-page .chart-bar-value {
  background: var(--white);
  border: none;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  font-size: 13px;
  font-weight: 700;
  padding: 4px 10px;
  margin: 5px 0;
}

body.owner-page .chart-bar-label {
  background: transparent;
  color: var(--text-color);
  font-size: 12px;
  font-weight: 500;
}

body.owner-page .menu-tabs-container { min-width: 0; }

body.owner-page .menu-tabs { min-width: 0; }

body.owner-page .menu-tabs .tab-btn {
  background: var(--ui-surface-muted);
  border: 1px solid var(--ui-border);
  border-bottom: 2px solid var(--ui-border);
  border-radius: 25px;
  color: var(--ui-text-muted);
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  margin: 0 5px;
  min-height: 40px;
  padding: 10px 20px;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-bottom-color 0.2s ease;
}

body.owner-page .menu-tabs .tab-btn.active,
body.owner-page .menu-tabs .tab-btn:hover {
  background: var(--ui-surface);
  border-color: var(--ui-border);
  border-bottom-color: var(--primary-color);
  color: var(--ui-accent);
}

@media (max-width: 992px) {
  body.owner-page .account-container {
    padding: 0 14px;
  }

  body.owner-page .admin-form-container {
    padding: 18px;
  }

  body.owner-page .charts-container {
    margin-bottom: 92px;
    padding: 0 14px;
  }
}

@media (max-width: 768px) {
  body.owner-page .admin-tabs {
    display: grid;
    gap: 6px;
    grid-template-columns: 1fr 1fr;
  }

  body.owner-page .admin-tab-btn {
    border-radius: 25px;
    text-align: center;
  }

  body.owner-page .report-filter-form {
    align-items: stretch;
    flex-direction: column;
  }

  body.owner-page .report-filter-form select {
    min-width: 0;
    width: 100%;
  }

  body.owner-page .mobile-table-value .role-select,
  body.owner-page .mobile-table-value .save-role-btn {
    margin-bottom: 10px;
    width: 60%;
  }

  body.owner-page .mobile-table-value .save-role-btn {
    margin-left: 0;
  }
}

@media (max-width: 480px) {
  body.owner-page .mobile-table-item {
    padding: 14px;
  }

  body.owner-page .mobile-table-row {
    gap: 10px;
  }

  body.owner-page .mobile-table-label {
    min-width: 84px;
  }

  body.owner-page .mobile-table-value {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  body.owner-page .mobile-table-value .role-select,
  body.owner-page .mobile-table-value .save-role-btn {
    box-sizing: border-box;
    max-width: 100%;
    width: 100%;
  }
}

/* customer_orders.php + employee.php visual alignment pass */

body.customer_orders-page:not(.account-page) #menu,
body.employee-page #menu,
body.owner-page #menu {
  padding-top: 96px !important;
}

body.cart-page #menu {
  padding-top: 60px !important;
}

body.account-page #menu {
  padding-top: 96px !important;
}

body.customer_orders-page .account-container,
body.employee-page .account-container {
  max-width: 1240px;
  padding: 0 20px;
  width: 100%;
}

body.customer_orders-page .account-sections,
body.employee-page .account-sections {
  display: block;
  margin-bottom: 16px;
}

body.customer_orders-page .account-section,
body.employee-page .account-section {
  background: var(--white);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  margin-top: 0;
  /* Phase 9.4: was 100px — historical compensation for the fixed
     bottom-dock that doubled as inter-section gap. After 9.2 the dock
     flows inline on desktop, and `--bottom-tab-rail-clearance` already
     handles the bottom safe area on mobile. 100px between sections
     left a ~200px gap under the 2FA card on /account.php (B1). */
  margin-bottom: 24px;
  padding: 24px;
}

body.customer_orders-page .account-section h2,
body.customer_orders-page .account-section h3,
body.employee-page .account-section h2,
body.employee-page .account-section h3 {
  border-bottom: 2px solid var(--primary-color);
  margin-bottom: 16px;
  padding-bottom: 10px;
}

body.customer_orders-page .orders-list,
body.employee-page .orders-list {
  margin-top: 8px;
}

body.customer_orders-page .order-item,
body.employee-page .order-item {
  background: var(--white);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
  margin-bottom: 14px;
  overflow: hidden;
  padding: 14px 14px 12px;
}

body.customer_orders-page .order-header,
body.employee-page .order-header {
  align-items: center;
  background: var(--bg-light);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 25px;
  display: grid;
  gap: 8px;
  grid-template-columns: auto auto 1fr auto;
  justify-items: start;
  min-height: 48px;
  padding: 10px 12px;
}

body.customer_orders-page .order-id,
body.employee-page .order-id {
  font-size: 16px;
}

body.customer_orders-page .order-date,
body.employee-page .order-date {
  font-size: 13px;
}

body.customer_orders-page .order-total,
body.employee-page .order-total {
  font-size: 15px;
  justify-self: end;
  min-width: 84px;
}

body.customer_orders-page .employee-toggle-icon,
body.employee-page .employee-toggle-icon {
  display: inline-flex;
  font-size: 13px;
  gap: 6px;
  margin-left: 0;
}

body.customer_orders-page .divider,
body.employee-page .divider {
  margin: 10px 0;
}

body.customer_orders-page .order-customer-info,
body.employee-page .order-customer-info {
  align-items: center;
  background: var(--bg-light);
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  justify-content: space-between;
  margin: 8px 0;
  padding: 8px 10px;
}

body.customer_orders-page .order-items,
body.employee-page .order-items {
  margin-top: 6px;
}

body.customer_orders-page .order-product,
body.employee-page .order-product {
  align-items: center;
  background: var(--bg-light);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr auto;
  margin: 8px 0 0;
  padding: 8px 10px !important;
}

body.customer_orders-page .product-name,
body.employee-page .product-name {
  color: var(--light-text);
  font-weight: 600;
}

body.customer_orders-page .product-quantity,
body.employee-page .product-quantity {
  color: var(--light-text);
  font-weight: 600;
  margin-left: 0;
  min-width: 0;
  text-align: right;
}

body.customer_orders-page .order-actions {
  margin-top: 12px;
  text-align: right;
}

/* All action buttons (status, reject, pay-link) in one flex row */
body.employee-page .order-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 12px;
}

body.customer_orders-page .update-order-form {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

/* form becomes layout-transparent: its buttons join the parent flex directly */
body.employee-page .update-order-form {
  display: contents;
}

body.customer_orders-page .order-status,
body.employee-page .order-status {
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.01em;
  min-height: 30px;
  padding: 6px 12px;
}

body.customer_orders-page .status-btn,
body.customer_orders-page .status-btn-r,
body.customer_orders-page .checkout-btn,
body.employee-page .status-btn,
body.employee-page .status-btn-r,
body.employee-page .checkout-btn {
  border-radius: 25px;
  min-height: 36px;
  padding: 7px 12px;
}

/* admin-menu mobile card actions - uniform row with consistent sizing */
body.employee-page .mobile-table-actions {
  align-items: center;
  gap: 10px;
}
body.employee-page .stop-btn,
body.employee-page .mobile-table-btn {
  border-radius: 25px;
  font-size: 13px;
  min-height: 36px;
  padding: 7px 16px;
}

body.customer_orders-page .repeat-order-form {
  margin-top: 0;
}

body.customer_orders-page .menu-tabs-container { min-width: 0; }

body.employee-page .menu-tabs-container,
body.owner-page .menu-tabs-container { min-width: 0; }

body.customer_orders-page .menu-tabs,
body.employee-page .menu-tabs,
body.owner-page .menu-tabs { min-width: 0; }

body.customer_orders-page .menu-tabs .tab-btn,
body.employee-page .menu-tabs .tab-btn,
body.owner-page .menu-tabs .tab-btn {
  background: var(--ui-surface-muted);
  border: 1px solid var(--ui-border);
  border-bottom: 2px solid var(--ui-border);
  border-radius: 25px;
  color: var(--ui-text-muted);
  cursor: pointer;
  font-size: 16px;
  font-weight: 600;
  margin: 0 5px;
  min-height: 40px;
  padding: 10px 20px;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-bottom-color 0.2s ease;
}

body.customer_orders-page .menu-tabs .tab-btn.active,
body.customer_orders-page .menu-tabs .tab-btn:hover,
body.employee-page .menu-tabs .tab-btn.active,
body.employee-page .menu-tabs .tab-btn:hover,
body.owner-page .menu-tabs .tab-btn.active,
body.owner-page .menu-tabs .tab-btn:hover {
  background: var(--ui-surface);
  border-color: var(--ui-border);
  border-bottom-color: var(--primary-color);
  color: var(--ui-accent);
}

body.account-page .menu-tabs {
  min-width: 0;
}

body.account-page .menu-tabs .tab-btn {
  margin: 0;
}

@media (max-width: 992px) {
  body.customer_orders-page .account-container,
  body.employee-page .account-container {
    padding: 0 14px;
  }

  body.customer_orders-page .account-section,
  body.employee-page .account-section {
    padding: 16px;
  }
}

@media (max-width: 768px) {
  body.customer_orders-page .order-header,
  body.employee-page .order-header {
    grid-template-columns: auto 1fr auto;
  }

  body.customer_orders-page .order-date,
  body.employee-page .order-date {
    grid-column: 1 / -1;
  }

  body.customer_orders-page .order-total,
  body.employee-page .order-total {
    justify-self: start;
    text-align: left;
  }

  body.customer_orders-page .order-customer-info,
  body.employee-page .order-customer-info {
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-start;
  }

  body.customer_orders-page .order-product,
  body.employee-page .order-product {
    grid-template-columns: 1fr;
  }

  body.customer_orders-page .product-quantity,
  body.employee-page .product-quantity {
    text-align: left;
  }

  body.customer_orders-page .update-order-form {
    justify-content: stretch;
  }

  body.customer_orders-page .update-order-form .status-btn,
  body.customer_orders-page .update-order-form .status-btn-r,
  body.customer_orders-page .update-order-form .checkout-btn {
    width: 100%;
  }

  /* employee: order-actions is the flex container; all buttons go full-width on mobile */
  body.employee-page .update-order-form .status-btn,
  body.employee-page .update-order-form .status-btn-r,
  body.employee-page .update-order-form .checkout-btn,
  body.employee-page .order-actions .pay-link-btn {
    width: 100%;
  }
}

/* account.php visual alignment pass */

/* Shared internal shell contract for account/customer_orders/owner/employee/admin/cart/qr-print. */
body.account-page .account-header-bar > .container,
body.account-page .container.account-header-bar,
body.account-page .account-container,
body.account-page .account-form-container,
body.account-page .admin-tabs-container {
  box-sizing: border-box;
  margin-inline: auto;
  max-width: 1240px;
  padding-inline: 20px;
  width: 100%;
}

body.account-page .account-container {
  margin-bottom: 20px;
}

body.account-page .account-sections {
  display: grid;
  gap: 14px;
  grid-template-columns: 1fr;
  margin-bottom: 14px;
}

body.account-page .account-section-head {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 18px;
}

body.account-page .account-section-heading {
  display: grid;
  gap: 6px;
}

body.account-page .account-section-kicker {
  color: var(--light-text);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  margin: 0;
  text-transform: uppercase;
}

body.account-page .account-section-copy {
  color: var(--light-text);
  margin: 0;
  max-width: 72ch;
}

body.account-page .account-section-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.account-page .account-section {
  background: var(--ui-surface);
  border: 1px solid var(--ui-border);
  border-radius: 12px;
  box-shadow: var(--ui-shadow-soft);
  margin-top: 0;
  padding: 24px;
}

body.account-page .account-section h2 {
  border-bottom: 2px solid var(--primary-color);
  margin-bottom: 16px;
  padding-bottom: 10px;
}

body.account-page .account-section-head h2,
body.account-page .account-section-head h3,
body.account-page .account-section-head h1 {
  border-bottom: 0;
  margin: 0;
  padding: 0;
}

body.cart-page .account-section--cart-shell,
body.qr-print-page .account-section--qr-shell {
  padding-top: 20px;
}

body.cart-page .account-section--cart-shell .section-header-menu,
body.qr-print-page .account-section--qr-shell .section-header-menu {
  margin: 0;
}

body.qr-print-page .account-section--qr-shell .qr-grid {
  margin-top: 18px;
}

body.account-page .account-kpi-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  margin-bottom: 18px;
}

body.account-page .account-kpi-card {
  background: var(--bg-light);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 12px;
  display: grid;
  gap: 8px;
  min-height: 104px;
  padding: 16px;
}

body.account-page .account-kpi-label {
  color: var(--light-text);
  font-size: 0.85rem;
  font-weight: 600;
}

body.account-page .account-kpi-value {
  color: var(--text-color);
  font-size: clamp(1.2rem, 1rem + 1vw, 1.8rem);
  font-weight: 700;
  line-height: 1.1;
}

body.account-page .account-badge {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.76rem;
  font-weight: 700;
  gap: 6px;
  line-height: 1;
  min-height: 28px;
  padding: 0 10px;
  white-space: nowrap;
}

body.account-page .account-badge--fresh,
body.account-page .account-badge--quiet {
  background: rgba(19, 114, 65, 0.12);
  color: #0f6c3d;
}

body.account-page .account-badge--warning {
  background: rgba(191, 117, 0, 0.12);
  color: #8d5a00;
}

body.account-page .account-badge--critical {
  background: rgba(184, 33, 37, 0.12);
  color: #b82125;
}

body.account-page .employee-order-age {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.76rem;
  font-weight: 700;
  gap: 6px;
  line-height: 1;
  min-height: 28px;
  padding: 0 10px;
  white-space: nowrap;
}

body.account-page .employee-order-age--fresh,
body.account-page .employee-order-age--quiet {
  background: rgba(19, 114, 65, 0.12);
  color: #0f6c3d;
}

body.account-page .employee-order-age--warning {
  background: rgba(191, 117, 0, 0.12);
  color: #8d5a00;
}

body.account-page .employee-order-age--critical {
  background: rgba(184, 33, 37, 0.12);
  color: #b82125;
}

body.account-page .form-group {
  margin-bottom: 14px;
}

body.account-page .form-group label {
  color: var(--light-text);
  display: block;
  font-weight: 600;
}

body.account-page .form-group input[type="email"],
body.account-page .form-group input[type="text"],
body.account-page .form-group input[type="tel"],
body.account-page .form-group input[type="password"] {
  border: 1px solid var(--light-text);
  border-radius: 8px;
  min-height: 42px;
  padding: 10px 12px;
  width: 100%;
}

body.account-page .form-group input:disabled {
  background: var(--bg-light);
  color: var(--light-text);
}

body.account-page .menu-view-options {
  background: var(--bg-light);
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 25px;
  gap: 8px;
  padding: 10px;
}

body.account-page .menu-view-options label {
  align-items: flex-start;
  background: var(--ui-surface);
  border: 1px solid var(--ui-border);
  border-radius: 8px;
  display: flex;
  gap: 10px;
  padding: 8px 10px;
}

body.account-page .menu-view-options input[type="radio"] {
  margin-top: 5px;
  width: auto;
}

body.account-page .menu-view-text {
  max-width: none;
  width: 100%;
}

body.account-page .checkout-btn {
  border-radius: 25px;
  min-height: 40px;
  padding: 8px 14px;
}

body.account-page #menu .section-header-menu {
  margin: auto;
  gap: 8px;
  padding: 0;
}

body.account-page .section-header-nav-actions {
  display: flex;
  gap: 8px;
  margin-left: auto;
}

body.account-page .back-to-menu-btn {
  border-radius: 25px;
  margin: 0;
  min-height: 40px;
  min-width: 120px;
  padding: 8px 16px;
}

body.account-page .account-inline-form {
  display: inline-flex;
  margin: 0;
}

body.account-page .account-inline-form button,
body.account-page .account-inline-form .checkout-btn,
body.account-page .account-inline-form .back-to-menu-btn {
  margin: 0;
}

body.account-page .launch-readiness-card {
  background: var(--bg-light);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;
  display: grid;
  gap: 14px;
  margin-top: 16px;
  padding: 16px;
}

body.account-page .launch-readiness-card > h4 {
  margin: 0;
}

body.account-page .launch-readiness-list {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

body.account-page .launch-readiness-item {
  align-items: flex-start;
  display: grid;
  gap: 10px;
  grid-template-columns: auto minmax(0, 1fr);
}

body.account-page .launch-readiness-copy {
  display: grid;
  gap: 4px;
}

body.account-page .launch-readiness-copy strong {
  color: var(--text-color);
}

body.account-page .launch-readiness-copy span,
body.account-page .launch-readiness-warnings p {
  color: var(--light-text);
  line-height: 1.5;
  margin: 0;
}

body.account-page .launch-readiness-warnings {
  background: rgba(191, 117, 0, 0.08);
  border: 1px solid rgba(191, 117, 0, 0.16);
  border-radius: 12px;
  display: grid;
  gap: 8px;
  padding: 12px 14px;
}

body.account-page.help-page .account-container {
  display: grid;
  gap: 14px;
}

body.account-page.help-page .account-section:first-child {
  display: grid;
  gap: 16px;
}

body.account-page.help-page .account-section:first-child > h2 {
  margin-bottom: 0;
}

body.account-page.help-page .account-section:first-child > p {
  color: var(--light-text);
  margin: 0;
  max-width: 72ch;
}

body.account-page.help-page .account-section .menu-tabs {
  justify-content: flex-start;
}

body.account-page.help-page .account-section .form-actions {
  justify-content: flex-start;
}

body.account-page .account-section .section-header-menu {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 16px 0 0;
  padding: 0;
}

body.account-page .account-section .section-header-menu .back-to-menu-btn,
body.account-page .account-section .section-header-menu .checkout-btn {
  min-width: 0;
}

/* Shared account header include (account-header.php).
   Keep it visually identical across account/owner/employee/admin/customer_orders pages. */
.account-header-bar .section-header-menu {
  gap: 8px;
  margin: 0 20px 28px;
  padding: 0;
  flex-wrap: wrap;
}

.account-header-bar .section-header-quick-actions,
.account-header-bar .section-header-nav-actions {
  align-items: center;
  display: flex;
  gap: 8px;
}

.account-header-bar .section-header-quick-actions {
  width: auto;
}

.account-header-bar .section-header-nav-actions {
  margin-left: auto;
}

.account-header-bar .back-to-menu-btn {
  border-radius: 25px;
  margin: 0;
  min-height: 40px;
  min-width: 120px;
  padding: 8px 16px;
}

@media (max-width: 992px) {
  body.account-page .account-header-bar > .container,
  body.account-page .container.account-header-bar,
  body.account-page .account-container,
  body.account-page .account-form-container,
  body.account-page .admin-tabs-container {
    padding-inline: 14px;
  }

  body.account-page .account-sections {
    grid-template-columns: 1fr;
  }

  body.account-page .account-section {
    padding: 18px;
  }

  body.account-page .account-section-head {
    align-items: stretch;
  }
}

@media (max-width: 768px) {
  body.customer_orders-page:not(.account-page) .section-header-menu,
  body.employee-page .section-header-menu,
  body.owner-page .section-header-menu,
  body.cart-page .section-header-menu {
    margin-top: 0 !important;
  }

  body.customer_orders-page:not(.account-page) #menu,
  body.employee-page #menu,
  body.owner-page #menu {
    padding-top: 86px !important;
  }

  body.cart-page #menu {
    padding-top: 60px !important;
  }

  body.account-page:not(.cart-page) #menu {
    padding-top: 86px !important;
  }

  body.account-page .checkout-btn {
    gap: 20px;
  }

  body.account-page #menu .section-header-menu {
    justify-content: stretch;
  }

  body.account-page .section-header-nav-actions {
    gap: 8px;
    margin-right: 0;
    width: 60%;
  }

  .account-header-bar .section-header-menu {
    justify-content: stretch;
  }

  .account-header-bar .section-header-nav-actions {
    gap: 8px;
    margin-right: 0;
    width: 55%;
  }

  .account-header-bar .back-to-menu-btn {
    justify-content: center;
    min-width: 0;
    width: 40%;
  }

  body.account-page .back-to-menu-btn {
    justify-content: center;
    min-width: 0;
    width: 45%;
  }
}

/* auth.php + password-reset.php visual alignment pass */

body.auth-page {
  min-height: 100vh;
}

body.auth-page .auth-container {
  background: var(--white);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  max-width: 560px;
  padding: 24px;
  width: min(560px, calc(100% - 28px));
}

body.auth-page .auth-tabs {
  border-bottom: 1px solid var(--light-text);
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 16px;
  padding-bottom: 8px;
}

body.auth-page .auth-tab {
  align-items: center;
  border: 1px solid transparent;
  border-bottom: 3px solid transparent;
  border-radius: 10px 10px 0 0;
  color: var(--light-text);
  display: flex;
  font-weight: 600;
  justify-content: center;
  min-height: 42px;
  padding: 8px 12px;
  text-decoration: none;
}

body.auth-page .auth-tab.active,
body.auth-page .auth-tab:hover {
  background: var(--bg-light);
  border-color: rgba(0, 0, 0, 0.05);
  border-bottom-color: var(--primary-color);
  color: var(--primary-color);
}

body.auth-page .auth-container h2 {
  border-bottom: 2px solid var(--primary-color);
  margin-bottom: 16px;
  padding-bottom: 10px;
}

body.auth-page .auth-errors,
body.auth-page .auth-success,
body.auth-page .success-message {
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 25px;
  margin-bottom: 14px;
  padding: 10px 12px;
}

body.auth-page .auth-success,
body.auth-page .success-message {
  background: rgba(76, 175, 80, 0.12);
  color: #1f6d31;
}

body.auth-page .auth-errors {
  background: rgba(219, 58, 52, 0.08);
  color: var(--brown);
}

body.auth-page .auth-form .form-group input,
body.auth-page .auth-container form .form-group input {
  border: 1px solid var(--light-text);
  border-radius: 8px;
  min-height: 42px;
  padding: 10px 12px;
  width: 100%;
}

body.auth-page .password-input {
  margin-bottom: 6px;
}

body.auth-page .form-group.has-password-visibility {
  align-items: center;
  display: flex;
  position: relative;
}

body.auth-page .form-group.has-password-visibility .password-input {
  margin-bottom: 0;
  padding-right: 52px;
}

body.auth-page .password-visibility {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMy4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0i0KHQu9C+0LlfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxNiAxNSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTYgMTU7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtmaWxsOiM3RTg5OTk7fQ0KPC9zdHlsZT4NCjxnPg0KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0yLDE1Yy0wLjMsMC0wLjUtMC4xMDAwMDA0LTAuNy0wLjMwMDAwMDJjLTAuNC0wLjM5OTk5OTYtMC40LTEsMC0xLjM5OTk5OTZsMTMtMTMNCgkJYzAuMzk5OTk5Ni0wLjQsMS0wLjQsMS4zOTk5OTk2LDBjMC40MDAwMDA2LDAuNCwwLjQwMDAwMDYsMSwwLDEuNGwtMTMsMTNDMi41LDE0Ljg5OTk5OTYsMi4yLDE1LDIsMTV6Ii8+DQo8L2c+DQo8Zz4NCgk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNC4xOTk5OTk4LDguMzAwMDAwMkM0LjA5OTk5OTksNy45MDAwMDAxLDQsNy41LDQsN2MwLTIuMzAwMDAwMiwxLjgwMDAwMDItNC4zMDAwMDAyLDQtNC4zMDAwMDAyDQoJCWMwLjM5OTk5OTYsMCwwLjgwMDAwMDIsMC4wOTk5OTk5LDEuMTk5OTk5OCwwLjJsMS41LTEuNkM5LjgwMDAwMDIsMS4yLDksMSw4LDFDMS42LDEsMCw3LDAsN3MwLjUsMS44OTk5OTk2LDIsMy41DQoJCUw0LjE5OTk5OTgsOC4zMDAwMDAyeiIvPg0KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMi41LDIuM0wxMC44MDAwMDAyLDRDMTEuNjAwMDAwNCw0LjgwMDAwMDIsMTIsNS45MDAwMDAxLDEyLDdjMCwyLjMwMDAwMDItMS44MDAwMDAyLDQuMzAwMDAwMi00LDQuMzAwMDAwMg0KCQljLTEuMDk5OTk5OSwwLTIuMDk5OTk5OS0wLjUtMi44MDAwMDAyLTEuMTk5OTk5OGwtMS41OTk5OTk5LDEuNjk5OTk5OEM0LjY5OTk5OTgsMTIuNSw2LjA5OTk5OTksMTMsOCwxM2M2LjM5OTk5OTYsMCw4LTYsOC02DQoJCVMxNS4xOTk5OTk4LDQuMDk5OTk5OSwxMi41LDIuM3oiLz4NCjwvZz4NCjxnPg0KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik03LjY5OTk5OTgsNC41OTk5OTk5Yy0xLDAuMTk5OTk5OC0xLjgwMDAwMDIsMS0yLDIuMDk5OTk5OUw3LjY5OTk5OTgsNC41OTk5OTk5eiIvPg0KCTxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik02LjMwMDAwMDIsOC44MDAwMDAyQzYuNzAwMDAwMyw5LjMwMDAwMDIsNy4zMDAwMDAyLDkuNSw4LDkuNWMxLjMwMDAwMDIsMCwyLjM5OTk5OTYtMS4xMDAwMDA0LDIuMzk5OTk5Ni0yLjUNCgkJYzAtMC42OTk5OTk4LTAuMzAwMDAwMi0xLjMwMDAwMDItMC42OTk5OTk4LTEuODAwMDAwMkw2LjMwMDAwMDIsOC44MDAwMDAyeiIvPg0KPC9nPg0KPC9zdmc+DQo=);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 22px 22px;
    border-radius: 8px;
    cursor: pointer;
    height: 28px;
    position: absolute;
    inset-block-start: 0;
    inset-block-end: 0;
    margin-block: auto;
    right: 5px;
    width: 40px;
}

body.auth-page .password-visibility.is-visible {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237E8999' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-6 10-6 10 6 10 6-3.5 6-10 6-10-6-10-6z'/%3E%3Ccircle cx='12' cy='12' r='3.25'/%3E%3C/svg%3E");
}

body.auth-page .password-visibility:focus-visible {
  outline: 2px solid var(--primary-color);
  outline-offset: 1px;
}

body.auth-page .show-password-checkbox {
  margin-right: 6px;
  width: auto !important;
}

body.auth-page .show-password-label {
  color: var(--light-text);
  font-size: 13px;
  font-weight: 600;
}

body.auth-page .remember-me {
  align-items: center;
  display: flex;
  margin-left: auto;
  margin-right: auto;
}

body.auth-page .remember-me label {
  color: var(--light-text);
  font-size: 16px;
}

body.auth-page .auth-form .btn,
body.auth-page .auth-form .checkout-btn,
body.auth-page .auth-container form .btn {
    border-radius: 25px;
    min-height: 40px;
    padding: 8px 14px;
    margin: 0 auto;
    width: 80%;
    display: block;
    text-align: center;
}

body.auth-page .auth-oauth-divider {
  align-items: center;
  color: var(--light-text);
  display: flex;
  font-weight: 600;
  gap: 12px;
  justify-content: center;
  margin: 14px auto;
  width: 80%;
}

body.auth-page .auth-oauth-divider::before,
body.auth-page .auth-oauth-divider::after {
  background: #0000001E;
  content: "";
  flex: 1;
  height: 1px;
}

body.auth-page .auth-oauth-form {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr;
  margin: 0 auto;
  width: 80%;
}

body.auth-page .auth-oauth-form .btn {
  margin: 0;
  width: 100%;
}

/* Google OAuth button - Google Blue */
body.auth-page .btn-google {
  background: var(--ui-oauth-google-bg);
  border: none;
  color: var(--ui-oauth-google-text);
  font-weight: 600;
  margin: 5px auto;
  overflow: hidden;
  position: relative;
  transform: translateZ(0);
  transition: transform 0.5s cubic-bezier(0.6, 0, 0.2, 1), box-shadow 0.5s ease, background-color 0.5s ease;

}

body.auth-page .btn-google:hover {
  background: var(--ui-oauth-google-hover);
  color: var(--ui-oauth-google-text);
}

/* Yandex OAuth button - Yandex Red */
body.auth-page .btn-yandex {
  background: var(--ui-oauth-yandex-bg);
  border: none;
  color: var(--ui-oauth-yandex-text);
  font-weight: 600;
  margin: 5px auto;
  overflow: hidden;
  position: relative;
  transform: translateZ(0);
  transition: transform 0.5s cubic-bezier(0.6, 0, 0.2, 1), box-shadow 0.5s ease, background-color 0.5s ease;

}

body.auth-page .btn-yandex:hover {
  background: var(--ui-oauth-yandex-hover);
  color: var(--ui-oauth-yandex-text);
}

/* VK OAuth button - VK Blue */
body.auth-page .btn-vk {
  background: var(--ui-oauth-vk-bg);
  border: none;
  color: var(--ui-oauth-vk-text);
  font-weight: 600;
  margin: 5px auto;
  overflow: hidden;
  position: relative;
  transform: translateZ(0);
  transition: transform 0.5s cubic-bezier(0.6, 0, 0.2, 1), box-shadow 0.5s ease, background-color 0.5s ease;
}

body.auth-page .btn-vk:hover {
  background: var(--ui-oauth-vk-hover);
  color: var(--ui-oauth-vk-text);
}

body.auth-page .auth-footer {
  align-items: center;
  display: flex;
  gap: 16px;
  margin-top: 15px;
  justify-content: center;
}

body.auth-page .auth-link,
body.auth-page .auth-link a {
  color: var(--ui-accent);
  font-weight: 600;
  text-decoration: none;
}

body.auth-page .auth-link:hover,
body.auth-page .auth-link a:hover {
  color: var(--ui-accent-hover);
  text-decoration: underline;
}

body.auth-page .auth-separator {
  color: var(--light-text);
}

@media (max-width: 768px) {
  body.auth-page .auth-container {
    padding: 18px;
    width: calc(100% - 20px);
  }

  body.auth-page .auth-tabs {
    gap: 6px;
  }

  body.auth-page .auth-tab {
    min-height: 40px;
    padding: 8px 10px;
  }
}

/* ----------------------------------------------------------------
   Phosphor icon colour helpers (CSP-safe: no inline style=)
   ---------------------------------------------------------------- */
.ph-ok  { color: var(--agree, #4caf50); vertical-align: middle; }
.ph-err { color: var(--ui-danger);      vertical-align: middle; }

/* User status icons (owner.php) */
.user-status-active   { color: var(--agree, #4caf50); }
.user-status-inactive { color: var(--ui-danger); }

body.account-page :is(.tab-btn, .checkout-btn, .back-to-menu-btn, .save-role-btn, .role-select, .admin-tab-btn, .status-btn, .status-btn-r, .mobile-table-btn, .pay-link-btn):focus-visible,
body.employee-page :is(.tab-btn, .checkout-btn, .back-to-menu-btn, .save-role-btn, .role-select, .admin-tab-btn, .status-btn, .status-btn-r, .mobile-table-btn, .pay-link-btn):focus-visible,
body.owner-page :is(.tab-btn, .checkout-btn, .back-to-menu-btn, .save-role-btn, .role-select, .admin-tab-btn, .status-btn, .status-btn-r, .mobile-table-btn, .pay-link-btn):focus-visible,
body.auth-page :is(.tab-btn, .checkout-btn, .back-to-menu-btn, .save-role-btn, .role-select, .admin-tab-btn, .status-btn, .status-btn-r, .mobile-table-btn, .pay-link-btn, .auth-link):focus-visible {
  box-shadow: 0 0 0 3px var(--ui-focus-shadow);
  outline: 2px solid var(--ui-focus-ring);
  outline-offset: 2px;
}

/* Pay-link button icon alignment */
.pay-link-btn svg { vertical-align: middle; }

/* Initially-hidden modal sub-sections (employee-payments.js toggles [hidden]) */
#payLinkContent[hidden],
#payLinkCopyMsg[hidden],
#payLinkError[hidden] { display: none; }

/* Pay-link modal (employee.php) */
#payLinkModal {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .55);
    z-index: 1200;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}
#payLinkModal.active { display: flex; }

#payLinkModal .modal-box {
    background: var(--card-bg, #fff);
    border-radius: 16px;
    padding: 24px;
    width: 100%;
    max-width: 380px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, .18);
    text-align: center;
    position: relative;
    box-sizing: border-box;
}
#payLinkModal h3 {
    margin: 0 0 16px;
    font-size: 18px;
    color: var(--text-color, #1a1a1a);
}
#payLinkModal .modal-qr img {
    width: 200px;
    height: 200px;
    border-radius: 8px;
    border: 1px solid var(--border-color, #eee);
}
#payLinkModal .modal-hint {
    margin: 0 0 10px;
    font-size: 13px;
    color: var(--light-text, #555);
}
#payLinkModal .modal-spinner {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 200px;
    font-size: 14px;
    color: var(--light-text, #888);
}
#payLinkModal .modal-url-row {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
    align-items: center;
}
#payLinkModal .modal-url-row input {
    flex: 1;
    border: 1px solid var(--border-color, #ddd);
    border-radius: 6px;
    padding: 8px 10px;
    font-size: 13px;
    color: var(--text-color, #333);
    background: var(--bg-color, #f7f7f7);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}
#payLinkModal .btn-copy {
    padding: 8px 14px;
    background: var(--primary-color, #cd1719);
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
}
#payLinkModal .modal-copy-msg {
    font-size: 12px;
    color: var(--agree, #4caf50);
    margin-bottom: 4px;
}
#payLinkModal .modal-error {
    color: #c00;
    padding: 8px 0;
    font-size: 14px;
}
#payLinkModal .btn-close-modal {
    position: absolute;
    top: 10px;
    right: 14px;
    background: none;
    border: none;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    color: var(--light-text, #888);
}
@media (max-width: 480px) {
    #payLinkModal .modal-box { padding: 20px 16px; }
    #payLinkModal .modal-qr img { width: 160px; height: 160px; }
}
/* ABC analysis badges */
.abc-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-weight:700;font-size:.75rem;color:#fff;flex-shrink:0}
.abc-a{background:#4caf50}
.abc-b{background:#ff9800}
.abc-c{background:#f44336}
/* Modifier groups admin UI */
.mod-group{border:1px solid var(--border-color,#e0e0e0);border-radius:10px;padding:12px 14px;margin-bottom:12px}
.mod-group-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.mod-group-name{font-weight:600;flex:1;min-width:0}
.mod-group-type{font-size:.78rem;color:var(--light-text,#888)}
.mod-options{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.mod-option{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;background:var(--bg-color,#f9f9f9);border-radius:8px;font-size:.9rem}
.mod-empty{color:var(--light-text,#aaa);font-size:.85rem;font-style:italic;margin:0}
.mod-add-option-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.mod-add-option-row .mod-opt-name{flex:2;min-width:120px;padding:7px 10px;border:1px solid var(--border-color,#ddd);border-radius:8px;font-size:.9rem}
.mod-add-option-row .mod-opt-price{width:80px;padding:7px 10px;border:1px solid var(--border-color,#ddd);border-radius:8px;font-size:.9rem}
.mod-btn-sm{align-items:center;background:var(--primary-color,#cd1719);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:.82rem;gap:6px;justify-content:center;padding:5px 10px}
.mod-btn-sm:hover{opacity:.85}
.mod-btn-icon-only{min-width:34px;padding:5px}
.mod-btn-sm .btn-inline-icon{height:14px;width:14px}
.mod-new-group-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;align-items:center}
.mod-new-group-row input,.mod-new-group-row select{padding:7px 10px;border:1px solid var(--border-color,#ddd);border-radius:8px;font-size:.9rem}
.mod-new-group-row input[type=text]{flex:2;min-width:120px}
/* Modifier modal group */
.mod-modal-group{margin-bottom:14px}

/* admin-menu.php follow-up overrides after shared employee rules */
body.employee-page.admin-menu-page .account-form-container {
    display: grid;
    gap: 22px;
}

body.employee-page.admin-menu-page .admin-dishes-pane {
    display: grid;
    gap: 22px;
}

body.employee-page.admin-menu-page .admin-dishes-workspace {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
}

body.employee-page.admin-menu-page .admin-catalog-toolbar {
    display: grid;
    gap: 14px;
    margin-bottom: 18px;
}

body.employee-page.admin-menu-page .menu-view-switch {
    justify-content: flex-start;
    margin: 0;
}

body.employee-page.admin-menu-page .menu-tabs-container.admin-menu-categories {
    min-width: 0;
}

body.employee-page.admin-menu-page .menu-tabs-container.admin-menu-categories .menu-tabs {
    min-width: 0;
}

body.employee-page.admin-menu-page .mobile-table-actions {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.employee-page.admin-menu-page .mobile-table-actions .inline-action-form {
    display: block;
    width: 100%;
}

body.employee-page.admin-menu-page .mobile-table-btn,
body.employee-page.admin-menu-page .stop-btn {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    width: 100%;
}

@media (max-width: 992px) {
    body.employee-page.admin-menu-page .admin-dishes-workspace {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    body.employee-page.admin-menu-page .menu-tabs-container.admin-menu-categories .tab-btn {
        margin: 0;
    }

    body.employee-page.admin-menu-page .mobile-table-actions {
        grid-template-columns: 1fr;
    }
}

/* admin-menu.php final visual pass: terminal overrides */
body.employee-page.admin-menu-page {
  --admin-shell-max: min(1480px, calc(100vw - 48px));
  --admin-card-gap: 20px;
  --admin-card-pad: 24px;
  --admin-soft-border: 1px solid rgba(15, 23, 42, 0.08);
  --admin-soft-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
}

body.employee-page.admin-menu-page .admin-tabs-container,
body.employee-page.admin-menu-page .account-form-container {
  margin-inline: auto;
  max-width: var(--admin-shell-max);
  width: 100%;
}

body.employee-page.admin-menu-page .account-header-bar { margin-bottom: 0; }
body.employee-page.admin-menu-page .admin-tabs-container,
body.employee-page.admin-menu-page .account-form-container { padding-inline: 24px; }
body.employee-page.admin-menu-page .account-form-container { gap: 24px; padding-bottom: 32px; }
/* Phase 20: per-page overrides на shared header (.section-header-menu /
   .section-header-quick-actions / .section-header-nav-actions /
   .back-to-menu-btn) удалены — см. комментарий выше около admin-tabs-
   container первого вхождения. Canonical owner — universal account-page
   rules в ui-ux-polish.css + account-styles.min.css + mobile-polish.css. */
body.employee-page.admin-menu-page .admin-tabs-container { margin: 0 auto 22px; }
body.employee-page.admin-menu-page .admin-tabs { gap: 12px; }
body.employee-page.admin-menu-page .admin-tab-btn { min-width: 162px; }
body.employee-page.admin-menu-page .admin-tab-pane { min-width: 0; width: 100%; }
body.employee-page.admin-menu-page .admin-section-card { border: var(--admin-soft-border); border-radius: 26px; box-shadow: var(--admin-soft-shadow); margin: 0; padding: var(--admin-card-pad); }
body.employee-page.admin-menu-page .admin-pane-header { margin-bottom: var(--admin-card-gap); }
body.employee-page.admin-menu-page .admin-pane-header-copy { gap: 10px; max-width: 78ch; }
body.employee-page.admin-menu-page .admin-pane-title { font-size: clamp(28px, 2.7vw, 36px); }
body.employee-page.admin-menu-page .admin-pane-caption { max-width: 72ch; }
body.employee-page.admin-menu-page .admin-form-group { display: grid; gap: 8px; margin: 0; min-width: 0; }
body.employee-page.admin-menu-page .admin-form-group > h3 { margin-bottom: 2px; }
body.employee-page.admin-menu-page .admin-form-group input,
body.employee-page.admin-menu-page .admin-form-group textarea,
body.employee-page.admin-menu-page .admin-form-group select,
body.employee-page.admin-menu-page .admin-form-group .form-group { box-sizing: border-box; max-width: 100%; min-width: 0; width: 100%; }

body.employee-page.admin-menu-page .admin-dishes-pane { gap: 24px; }
body.employee-page.admin-menu-page .admin-dishes-workspace { align-items: start; gap: 18px 20px; grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr); }
body.employee-page.admin-menu-page .admin-dishes-workspace > h2 { grid-column: 1 / -1; margin: 0 0 2px; }
body.employee-page.admin-menu-page .admin-dishes-workspace > .admin-form-group.admin-subsection-card:first-of-type { align-self: start; grid-column: 2; grid-row: 2; }
body.employee-page.admin-menu-page .admin-dishes-workspace > .admin-subsection-card:last-of-type { grid-column: 1; grid-row: 2; }
body.employee-page.admin-menu-page .admin-dishes-workspace > .admin-subsection-card form { display: grid; gap: 12px 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.employee-page.admin-menu-page .admin-dishes-workspace > .admin-subsection-card form > .admin-form-group:nth-of-type(1),
body.employee-page.admin-menu-page .admin-dishes-workspace > .admin-subsection-card form > .admin-form-group:nth-of-type(2),
body.employee-page.admin-menu-page .admin-dishes-workspace > .admin-subsection-card form > .admin-form-group:nth-of-type(3),
body.employee-page.admin-menu-page .admin-dishes-workspace > .admin-subsection-card form > .admin-form-group:nth-of-type(11),
body.employee-page.admin-menu-page .admin-dishes-workspace > .admin-subsection-card form > .form-actions { grid-column: 1 / -1; }
body.employee-page.admin-menu-page #modifiersSection { max-width: 100%; }
body.employee-page.admin-menu-page .admin-catalog-card { overflow: hidden; }
body.employee-page.admin-menu-page .admin-catalog-toolbar { gap: 16px; margin-bottom: 18px; }
body.employee-page.admin-menu-page .menu-tabs-container.admin-menu-categories { min-width: 0; }
body.employee-page.admin-menu-page .desktop-table { display: block; overflow-x: auto; }
body.employee-page.admin-menu-page .desktop-table table { min-width: 760px; }
body.employee-page.admin-menu-page .mobile-table-container { display: none; }
body.employee-page.admin-menu-page .admin-catalog-card .mobile-table { display: grid; gap: 12px; }
body.employee-page.admin-menu-page .mobile-table-item { min-width: 0; overflow: hidden; width: 100%; }
body.employee-page.admin-menu-page .mobile-table-row { gap: 10px; grid-template-columns: minmax(82px, 96px) minmax(0, 1fr); }
body.employee-page.admin-menu-page .mobile-table-value { min-width: 0; overflow-wrap: anywhere; }
body.employee-page.admin-menu-page .mobile-table-actions { gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.employee-page.admin-menu-page .mobile-table-actions .mobile-table-btn,
body.employee-page.admin-menu-page .mobile-table-actions .stop-btn,
body.employee-page.admin-menu-page .mobile-table-actions .inline-action-form { min-width: 0; width: 100%; }

body.employee-page.admin-menu-page .admin-design-panel,
body.employee-page.admin-menu-page .admin-payment-panel,
body.employee-page.admin-menu-page .admin-system-panel { gap: 20px; }
body.employee-page.admin-menu-page .admin-design-panel { grid-template-columns: repeat(12, minmax(0, 1fr)); }
body.employee-page.admin-menu-page .admin-design-panel .admin-pane-header,
body.employee-page.admin-menu-page .admin-design-panel .design-buttons { grid-column: 1 / -1; }
body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(#projectName) { grid-column: span 12; }
body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(#browseImages) { grid-column: span 12; }
body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(#brandName) { grid-column: 1 / -1; }
body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(#fontLogoOverride) { grid-column: span 4; }
body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(.color-controls) { grid-column: span 12; }
body.employee-page.admin-menu-page .admin-design-panel .design-buttons { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-start; }
body.employee-page.admin-menu-page .file-manager-buttons { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.employee-page.admin-menu-page .file-navigation { align-items: start; gap: 12px; grid-template-columns: minmax(0, 1fr) auto; }
body.employee-page.admin-menu-page .current-folder { min-width: 0; }
body.employee-page.admin-menu-page .brand-fields { display: grid; gap: 14px 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.employee-page.admin-menu-page .brand-fields .admin-label:has(#brandDesc),
body.employee-page.admin-menu-page .brand-fields .admin-label:has(#brandLogoUrl),
body.employee-page.admin-menu-page .brand-fields .admin-label:has(#brandCustomDomain) { grid-column: 1 / -1; }
body.employee-page.admin-menu-page .brand-fields .admin-label { display: grid; gap: 8px; min-width: 0; }
body.employee-page.admin-menu-page .brand-logo-preview { background: var(--ui-surface); border: 1px solid var(--ui-border); max-height: 72px; object-fit: contain; padding: 8px; }
body.employee-page.admin-menu-page .font-controls { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.employee-page.admin-menu-page .font-control { align-content: start; border: 1px solid var(--ui-border); border-radius: 16px; display: grid; gap: 12px; min-height: 100%; padding: 16px; }
body.employee-page.admin-menu-page .font-control label { display: grid; gap: 8px; }
body.employee-page.admin-menu-page .color-controls { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
body.employee-page.admin-menu-page .color-control { background: var(--white); border: 1px solid var(--ui-border); border-radius: 16px; display: grid; gap: 10px; min-width: 0; padding: 14px; }
body.employee-page.admin-menu-page .color-control label { font-weight: 600; }
body.employee-page.admin-menu-page .color-value { color: var(--ui-text-muted); font-size: 12px; overflow-wrap: anywhere; }

body.employee-page.admin-menu-page .admin-payment-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.employee-page.admin-menu-page .admin-payment-panel .admin-pane-header,
body.employee-page.admin-menu-page .admin-system-panel .admin-pane-header { grid-column: 1 / -1; }
body.employee-page.admin-menu-page .admin-payment-panel > .admin-form-group:has(#ykShopId),
body.employee-page.admin-menu-page .admin-payment-panel > .admin-form-group:has(#tbTerminalKey) { align-content: start; display: grid; gap: 14px; min-height: 100%; }
body.employee-page.admin-menu-page .admin-payment-panel .project-name-control,
body.employee-page.admin-menu-page .admin-system-panel .project-name-control { align-items: start; display: grid; gap: 8px; grid-template-columns: 1fr; }
body.employee-page.admin-menu-page .admin-payment-panel .yk-toggle-row,
body.employee-page.admin-menu-page .admin-system-panel .yk-toggle-row { align-items: center; grid-template-columns: minmax(0, 1fr) auto; }
body.employee-page.admin-menu-page .admin-payment-panel .yk-desc,
body.employee-page.admin-menu-page .admin-system-panel .yk-desc { margin: 0; max-width: 62ch; }
body.employee-page.admin-menu-page .admin-payment-panel .yk-note,
body.employee-page.admin-menu-page .admin-system-panel .yk-note { background: var(--ui-surface); border: 1px solid var(--ui-border); border-radius: 14px; margin: 0; max-width: 68ch; padding: 14px 16px; }
body.employee-page.admin-menu-page .yk-save-row { align-items: center; gap: 12px; justify-content: flex-start; margin-top: 2px; }
body.employee-page.admin-menu-page .yk-save-row .checkout-btn { flex: 0 0 auto; }

body.employee-page.admin-menu-page .admin-system-panel { align-items: start; grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr); }
body.employee-page.admin-menu-page .admin-system-panel > .admin-form-group:has(#tgChatId) { display: grid; gap: 14px; }
body.employee-page.admin-menu-page .admin-system-panel > .admin-form-group:has(a[href="monitor.php"]) { align-content: start; display: grid; gap: 14px; min-height: auto; }
body.employee-page.admin-menu-page .admin-system-panel > .admin-form-group:has(a[href="monitor.php"]) .form-actions { justify-content: flex-start; margin-top: 0; }
body.employee-page.admin-menu-page .admin-system-panel > .admin-form-group:has(a[href="monitor.php"]) .checkout-btn { width: auto; }

@media (max-width: 1199px) {
  body.employee-page.admin-menu-page { --admin-shell-max: min(1120px, calc(100vw - 32px)); }
  body.employee-page.admin-menu-page .account-header-bar .container,
  body.employee-page.admin-menu-page .admin-tabs-container,
  body.employee-page.admin-menu-page .account-form-container { padding-inline: 18px; }
  body.employee-page.admin-menu-page .admin-dishes-workspace { grid-template-columns: 1fr; }
  body.employee-page.admin-menu-page .admin-dishes-workspace > .admin-form-group.admin-subsection-card:first-of-type,
  body.employee-page.admin-menu-page .admin-dishes-workspace > .admin-subsection-card:last-of-type { grid-column: 1; grid-row: auto; }
  body.employee-page.admin-menu-page .admin-design-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(#projectName),
  body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(#browseImages),
  body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(#brandName),
  body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(#fontLogoOverride),
  body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(.color-controls) { grid-column: auto; }
  body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(#brandName),
  body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(.color-controls) { grid-column: 1 / -1; }
  body.employee-page.admin-menu-page .font-controls,
  body.employee-page.admin-menu-page .admin-payment-panel,
  body.employee-page.admin-menu-page .admin-system-panel { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  body.employee-page.admin-menu-page { --admin-shell-max: calc(100vw - 24px); --admin-card-pad: 18px; --admin-card-gap: 16px; }
  body.employee-page.admin-menu-page .account-header-bar .container,
  body.employee-page.admin-menu-page .admin-tabs-container,
  body.employee-page.admin-menu-page .account-form-container { padding-inline: 12px; }
  body.employee-page.admin-menu-page .admin-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.employee-page.admin-menu-page .admin-tab-btn { min-width: 0; width: 100%; }
  body.employee-page.admin-menu-page .admin-pane-title { font-size: 24px; }
  body.employee-page.admin-menu-page .file-manager-buttons,
  body.employee-page.admin-menu-page .brand-fields,
  body.employee-page.admin-menu-page .font-controls,
  body.employee-page.admin-menu-page .color-controls { grid-template-columns: 1fr; }
  body.employee-page.admin-menu-page .desktop-table { display: none; }
  body.employee-page.admin-menu-page .mobile-table-container { display: block; }
  body.employee-page.admin-menu-page .mobile-table-actions { grid-template-columns: 1fr; }
  body.employee-page.admin-menu-page .admin-system-panel > .admin-form-group:has(a[href="monitor.php"]) .checkout-btn,
  body.employee-page.admin-menu-page .brand-save-row > .checkout-btn,
  body.employee-page.admin-menu-page .brand-save-row > .btn-save-colors,
  body.employee-page.admin-menu-page .yk-save-row > .checkout-btn { width: 100%; }
}
/* admin-menu.php final visual pass: mobile overflow and design hardening */
body.employee-page.admin-menu-page .admin-tab-pane,
body.employee-page.admin-menu-page .admin-dishes-pane,
body.employee-page.admin-menu-page .admin-form-container,
body.employee-page.admin-menu-page .admin-section-card,
body.employee-page.admin-menu-page .admin-catalog-card,
body.employee-page.admin-menu-page .admin-catalog-toolbar,
body.employee-page.admin-menu-page .menu-view-switch,
body.employee-page.admin-menu-page .menu-tabs-container.admin-menu-categories {
  min-width: 0;
}

body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(.color-controls) {
  display: grid;
  gap: 14px;
}

body.employee-page.admin-menu-page .admin-design-panel > .admin-form-group:has(.color-controls) .color-controls {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

@media (max-width: 768px) {
  body.employee-page.admin-menu-page .menu-view-switch {
    display: grid;
    grid-template-columns: 1fr;
  }

  body.employee-page.admin-menu-page .menu-view-switch .admin-checkout-btn {
    min-width: 0;
    width: 100%;
  }

  body.employee-page.admin-menu-page .menu-tabs-container.admin-menu-categories {
    min-width: 0;
  }

  body.employee-page.admin-menu-page .menu-tabs-container.admin-menu-categories .menu-tabs {
    min-width: 0;
  }
}
/* admin-menu.php final visual pass: class-based layout stabilization */
body.employee-page.admin-menu-page .admin-design-panel > .admin-block--project { grid-column: span 4; }
body.employee-page.admin-menu-page .admin-design-panel > .admin-block--files { grid-column: span 8; }
body.employee-page.admin-menu-page .admin-design-panel > .admin-block--brand { grid-column: 1 / -1; }
body.employee-page.admin-menu-page .admin-design-panel > .admin-block--fonts { grid-column: span 4; }
body.employee-page.admin-menu-page .admin-design-panel > .admin-block--colors { display: grid; gap: 14px; grid-column: span 8; }
body.employee-page.admin-menu-page .admin-design-panel > .admin-block--design-actions { grid-column: 1 / -1; }
body.employee-page.admin-menu-page .admin-payment-panel > .admin-block--provider { align-content: start; display: grid; gap: 14px; min-height: 100%; }
body.employee-page.admin-menu-page .admin-system-panel > .admin-block--telegram { display: grid; gap: 14px; }
body.employee-page.admin-menu-page .admin-system-panel > .admin-block--tools { align-content: start; display: grid; gap: 14px; min-height: auto; }
body.employee-page.admin-menu-page .admin-dishes-workspace > .admin-form-group.admin-subsection-card small { overflow-wrap: anywhere; }
body.employee-page.admin-menu-page .admin-dishes-workspace input[type="file"] { max-width: 100%; min-width: 0; width: 100%; }

@media (max-width: 1199px) {
  body.employee-page.admin-menu-page .admin-design-panel > .admin-block--project,
  body.employee-page.admin-menu-page .admin-design-panel > .admin-block--files,
  body.employee-page.admin-menu-page .admin-design-panel > .admin-block--fonts,
  body.employee-page.admin-menu-page .admin-design-panel > .admin-block--colors { grid-column: auto; }
  body.employee-page.admin-menu-page .admin-design-panel > .admin-block--brand,
  body.employee-page.admin-menu-page .admin-design-panel > .admin-block--colors,
  body.employee-page.admin-menu-page .admin-design-panel > .admin-block--design-actions { grid-column: 1 / -1; }
}
/* admin-menu.php final visual pass: csv help text wrap */
body.employee-page.admin-menu-page .admin-dishes-workspace .admin-form-group.admin-subsection-card small {
  display: block;
  font-size: 12px;
  line-height: 1.55;
  max-width: 100%;
  overflow-wrap: anywhere;
  white-space: normal;
  word-break: break-word;
}

/* admin-menu.php final visual pass: shell normalization and semantic grid */
body.employee-page.admin-menu-page {
  margin: 0 !important;
  max-width: none !important;
  min-width: 100% !important;
  width: 100% !important;
  --admin-shell-max: min(1320px, calc(100vw - 56px));
  --admin-card-gap: 22px;
  --admin-card-pad: 26px;
}

body.employee-page.admin-menu-page .account-header-bar .container,
body.employee-page.admin-menu-page .admin-tabs-container,
body.employee-page.admin-menu-page .account-form-container {
  margin-inline: auto;
  max-width: var(--admin-shell-max);
  width: min(var(--admin-shell-max), calc(100vw - 56px));
}

body.employee-page.admin-menu-page .account-form-container {
  align-content: start;
  justify-items: stretch;
}

body.employee-page.admin-menu-page .admin-tab-pane,
body.employee-page.admin-menu-page .admin-dishes-pane,
body.employee-page.admin-menu-page .admin-section-card,
body.employee-page.admin-menu-page .admin-dishes-editor,
body.employee-page.admin-menu-page .admin-catalog-card,
body.employee-page.admin-menu-page .admin-design-panel,
body.employee-page.admin-menu-page .admin-payment-panel,
body.employee-page.admin-menu-page .admin-system-panel {
  max-width: 100%;
  width: 100%;
}

body.employee-page.admin-menu-page .admin-pane-header-copy {
  max-width: 70ch;
}

body.employee-page.admin-menu-page .admin-pane-caption {
  line-height: 1.55;
  max-width: 64ch;
}

body.employee-page.admin-menu-page .admin-tabs {
  justify-content: center;
}

body.employee-page.admin-menu-page .admin-tab-btn {
  min-height: 50px;
  padding-inline: 28px;
}

body.employee-page.admin-menu-page .admin-dishes-editor {
  display: grid;
  gap: var(--admin-card-gap);
}

body.employee-page.admin-menu-page .admin-dishes-workspace {
  align-items: start;
  gap: 20px 24px;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
}

body.employee-page.admin-menu-page .admin-block--manual {
  min-width: 0;
}

body.employee-page.admin-menu-page .admin-block--manual form {
  display: grid;
  gap: 14px 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.employee-page.admin-menu-page .admin-block--manual form > .admin-form-group:nth-of-type(1),
body.employee-page.admin-menu-page .admin-block--manual form > .admin-form-group:nth-of-type(2),
body.employee-page.admin-menu-page .admin-block--manual form > .admin-form-group:nth-of-type(3),
body.employee-page.admin-menu-page .admin-block--manual form > .admin-form-group:nth-of-type(11),
body.employee-page.admin-menu-page .admin-block--manual form > .form-actions {
  grid-column: 1 / -1;
}

body.employee-page.admin-menu-page .admin-block--csv {
  align-content: start;
  display: grid;
  gap: 12px;
}

body.employee-page.admin-menu-page .admin-block--csv form {
  align-items: start;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) auto auto;
}

body.employee-page.admin-menu-page .admin-block--csv .download-button-container,
body.employee-page.admin-menu-page .admin-block--csv .checkout-btn {
  min-width: 120px;
}

body.employee-page.admin-menu-page .admin-block--modifiers {
  margin-top: 2px;
}

body.employee-page.admin-menu-page .admin-catalog-toolbar {
  gap: 14px;
}

body.employee-page.admin-menu-page .menu-view-switch {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.employee-page.admin-menu-page .menu-view-switch .admin-checkout-btn {
  min-width: 108px;
}

body.employee-page.admin-menu-page .admin-design-panel {
  align-items: start;
  gap: 20px 22px;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

body.employee-page.admin-menu-page .admin-design-panel > .admin-block--project {
  grid-column: span 3;
}

body.employee-page.admin-menu-page .admin-design-panel > .admin-block--files {
  grid-column: span 9;
}

body.employee-page.admin-menu-page .admin-design-panel > .admin-block--brand {
  grid-column: 1 / -1;
}

body.employee-page.admin-menu-page .admin-design-panel > .admin-block--fonts {
  grid-column: span 5;
}

body.employee-page.admin-menu-page .admin-design-panel > .admin-block--colors {
  grid-column: span 7;
}

body.employee-page.admin-menu-page .admin-design-panel > .admin-block--design-actions {
  grid-column: 1 / -1;
}

body.employee-page.admin-menu-page .file-manager-buttons {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.employee-page.admin-menu-page .font-controls {
  grid-template-columns: 1fr;
}

body.employee-page.admin-menu-page .color-controls {
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

body.employee-page.admin-menu-page .admin-payment-panel {
  align-items: start;
  gap: 20px 22px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.employee-page.admin-menu-page .admin-block--provider {
  align-content: start;
  display: grid;
  gap: 14px;
}

body.employee-page.admin-menu-page .project-name-control {
  align-items: start;
  grid-template-columns: 1fr;
}

body.employee-page.admin-menu-page .yk-save-row,
body.employee-page.admin-menu-page .brand-save-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.employee-page.admin-menu-page .admin-system-panel {
  align-items: start;
  gap: 20px 22px;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
}

body.employee-page.admin-menu-page .admin-block--telegram,
body.employee-page.admin-menu-page .admin-block--tools {
  align-content: start;
  display: grid;
  gap: 14px;
}

body.employee-page.admin-menu-page .admin-block--tools {
  min-height: auto;
}

body.employee-page.admin-menu-page .admin-block--tools .form-actions {
  justify-content: flex-start;
  margin-top: 0;
}

body.employee-page.admin-menu-page .admin-block--tools .checkout-btn {
  width: auto;
}

/* admin-menu.php focused polish: fonts block only */
body.employee-page.admin-menu-page .admin-design-panel > .admin-block--fonts {
  grid-column: 1 / -1;
}

body.employee-page.admin-menu-page .admin-block--fonts {
  align-content: start;
}

body.employee-page.admin-menu-page .admin-block--fonts h3 {
  margin-bottom: 2px;
}

body.employee-page.admin-menu-page .admin-block--fonts .font-controls {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.employee-page.admin-menu-page .admin-block--fonts .font-control {
  align-content: start;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92) 0%, rgba(248, 248, 248, 0.98) 100%);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
  display: grid;
  gap: 12px;
  min-height: 100%;
  padding: 18px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

body.employee-page.admin-menu-page .admin-block--fonts .font-control:hover {
  border-color: rgba(208, 26, 34, 0.18);
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
}

body.employee-page.admin-menu-page .admin-block--fonts .font-control:focus-within {
  border-color: rgba(208, 26, 34, 0.32);
  box-shadow: 0 0 0 3px rgba(208, 26, 34, 0.12);
}

body.employee-page.admin-menu-page .admin-block--fonts .font-control label {
  align-items: start;
  cursor: pointer;
  display: grid;
  gap: 10px;
  grid-template-columns: 20px minmax(0, 1fr);
  line-height: 1.4;
  margin: 0;
}

body.employee-page.admin-menu-page .admin-block--fonts .font-override-checkbox {
  accent-color: #d01a22;
  height: 18px;
  margin: 2px 0 0;
  width: 18px;
}

body.employee-page.admin-menu-page .admin-block--fonts .font-selector {
  min-height: 46px;
  width: 100%;
}

body.employee-page.admin-menu-page .admin-block--fonts .font-selector:disabled {
  background: rgba(245, 245, 245, 0.92);
  border-color: rgba(0, 0, 0, 0.08);
  color: rgba(75, 85, 99, 0.88);
  cursor: not-allowed;
  opacity: 1;
}

body.employee-page.admin-menu-page .admin-block--fonts .font-selector:not(:disabled) {
  background: #fff;
  border-color: rgba(208, 26, 34, 0.16);
}

body.employee-page.admin-menu-page .admin-block--fonts .font-selector:not(:disabled):hover {
  border-color: rgba(208, 26, 34, 0.26);
}

body.employee-page.admin-menu-page .admin-block--fonts .font-selector:not(:disabled):focus {
  border-color: rgba(208, 26, 34, 0.36);
  box-shadow: 0 0 0 3px rgba(208, 26, 34, 0.12);
}

@media (max-width: 1199px) {
  body.employee-page.admin-menu-page {
    --admin-shell-max: min(1088px, calc(100vw - 40px));
    --admin-card-pad: 22px;
  }

  body.employee-page.admin-menu-page .account-header-bar .container,
  body.employee-page.admin-menu-page .admin-tabs-container,
  body.employee-page.admin-menu-page .account-form-container {
    width: min(var(--admin-shell-max), calc(100vw - 40px));
  }

  body.employee-page.admin-menu-page .admin-dishes-workspace,
  body.employee-page.admin-menu-page .admin-payment-panel,
  body.employee-page.admin-menu-page .admin-system-panel {
    grid-template-columns: 1fr;
  }

  body.employee-page.admin-menu-page .admin-design-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.employee-page.admin-menu-page .admin-design-panel > .admin-block--project,
  body.employee-page.admin-menu-page .admin-design-panel > .admin-block--files,
  body.employee-page.admin-menu-page .admin-design-panel > .admin-block--fonts,
  body.employee-page.admin-menu-page .admin-design-panel > .admin-block--colors {
    grid-column: auto;
  }

  body.employee-page.admin-menu-page .admin-design-panel > .admin-block--brand,
  body.employee-page.admin-menu-page .admin-design-panel > .admin-block--colors,
  body.employee-page.admin-menu-page .admin-design-panel > .admin-block--design-actions {
    grid-column: 1 / -1;
  }

  body.employee-page.admin-menu-page .file-manager-buttons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.employee-page.admin-menu-page .admin-block--fonts .font-controls {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  body.employee-page.admin-menu-page {
    --admin-shell-max: calc(100vw - 24px);
    --admin-card-pad: 18px;
    --admin-card-gap: 16px;
  }

  body.employee-page.admin-menu-page .account-header-bar {
    margin-bottom: 10px;
  }

  body.employee-page.admin-menu-page .admin-tabs-container {
    margin-bottom: 14px;
  }

  body.employee-page.admin-menu-page .account-form-container {
    gap: 14px;
  }

  body.employee-page.admin-menu-page .account-header-bar .container,
  body.employee-page.admin-menu-page .admin-tabs-container,
  body.employee-page.admin-menu-page .account-form-container {
    width: var(--admin-shell-max);
  }

  body.employee-page.admin-menu-page .admin-tab-btn {
    min-height: 48px;
    padding-inline: 16px;
  }

  body.employee-page.admin-menu-page .admin-section-card,
  body.employee-page.admin-menu-page .admin-form-group {
    border-radius: 18px;
  }

  body.employee-page.admin-menu-page .admin-pane-header {
    gap: 10px;
    margin-bottom: 4px;
  }

  body.employee-page.admin-menu-page .admin-pane-title {
    font-size: 1.75rem;
    line-height: 1.08;
  }

  body.employee-page.admin-menu-page .admin-pane-caption {
    font-size: 0.94rem;
    line-height: 1.55;
  }

  body.employee-page.admin-menu-page .admin-block--fonts .font-controls {
    gap: 12px;
    grid-template-columns: 1fr;
  }

  body.employee-page.admin-menu-page .admin-block--fonts .font-control {
    padding: 16px;
  }

  body.employee-page.admin-menu-page .admin-block--manual form,
  body.employee-page.admin-menu-page .admin-block--csv form,
  body.employee-page.admin-menu-page .brand-fields,
  body.employee-page.admin-menu-page .file-manager-buttons,
  body.employee-page.admin-menu-page .color-controls {
    grid-template-columns: 1fr;
  }

  body.employee-page.admin-menu-page .admin-block--csv .download-button-container,
  body.employee-page.admin-menu-page .admin-block--csv .checkout-btn,
  body.employee-page.admin-menu-page .admin-block--tools .checkout-btn,
  body.employee-page.admin-menu-page .brand-save-row > .checkout-btn,
  body.employee-page.admin-menu-page .brand-save-row > .btn-save-colors,
  body.employee-page.admin-menu-page .yk-save-row > .checkout-btn {
    min-width: 0;
    width: 100%;
  }

  body.employee-page.admin-menu-page .admin-pane-caption {
    max-width: none;
  }
}

@media (max-width: 480px) {
  body.employee-page.admin-menu-page {
    --admin-shell-max: calc(100vw - 18px);
    --admin-card-pad: 16px;
    --admin-card-gap: 14px;
  }

  body.employee-page.admin-menu-page .admin-tabs-container {
    margin-bottom: 12px;
  }

  body.employee-page.admin-menu-page .account-form-container {
    gap: 12px;
  }

  body.employee-page.admin-menu-page .admin-pane-title {
    font-size: 1.58rem;
  }

  body.employee-page.admin-menu-page .admin-pane-caption {
    font-size: 0.9rem;
  }
}

/* admin-menu.php fonts block final override */
body.employee-page.admin-menu-page .admin-design-panel > .admin-block--fonts {
  grid-column: 1 / -1 !important;
  width: 100%;
}

body.employee-page.admin-menu-page .admin-block--fonts .font-controls {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1199px) {
  body.employee-page.admin-menu-page .admin-design-panel > .admin-block--fonts {
    grid-column: 1 / -1 !important;
  }

  body.employee-page.admin-menu-page .admin-block--fonts .font-controls {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  body.employee-page.admin-menu-page .admin-design-panel > .admin-block--fonts {
    grid-column: 1 / -1 !important;
  }

  body.employee-page.admin-menu-page .admin-block--fonts .font-controls {
    grid-template-columns: 1fr;
  }
}

/* admin-menu.php focused polish: project name + file manager blocks */
body.employee-page.admin-menu-page .admin-design-panel > .admin-block--project {
  align-content: start;
  display: grid;
  gap: 16px;
  grid-column: span 5;
}

body.employee-page.admin-menu-page .admin-design-panel > .admin-block--files {
  align-content: start;
  display: grid;
  gap: 16px;
  grid-column: span 7;
  min-width: 0;
}

body.employee-page.admin-menu-page .admin-block--project .project-name-control {
  align-items: start;
  display: grid;
  gap: 14px;
  grid-template-columns: 1fr;
  max-width: 460px;
}

body.employee-page.admin-menu-page .admin-block--project #projectName,
body.employee-page.admin-menu-page .admin-block--project #saveProjectNameBtn {
  width: 100%;
}

body.employee-page.admin-menu-page .admin-block--project #projectName {
  min-height: 52px;
}

body.employee-page.admin-menu-page .admin-block--files .file-manager-buttons {
  align-items: stretch;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.employee-page.admin-menu-page .admin-block--files .file-browser {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.86) 0%, rgba(249, 249, 249, 0.98) 100%);
  display: grid;
  gap: 16px;
  margin-top: 0;
  min-width: 0;
  overflow: hidden;
  padding: 18px;
}

body.employee-page.admin-menu-page .admin-block--files .file-browser,
body.employee-page.admin-menu-page .admin-block--files .file-browser * {
  min-width: 0;
}

body.employee-page.admin-menu-page .admin-block--files .file-navigation {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) auto;
}

body.employee-page.admin-menu-page .admin-block--files .current-folder {
  align-items: center;
  background: rgba(208, 26, 34, 0.05);
  border: 1px solid rgba(208, 26, 34, 0.12);
  border-radius: 12px;
  display: inline-flex;
  min-height: 42px;
  font-weight: 600;
  line-height: 1.45;
  overflow-wrap: anywhere;
  padding: 10px 14px;
}

body.employee-page.admin-menu-page .admin-block--files .folder-actions,
body.employee-page.admin-menu-page .admin-block--files .file-upload-group {
  display: grid;
  gap: 12px;
}

body.employee-page.admin-menu-page .admin-block--files #goBackBtn,
body.employee-page.admin-menu-page .admin-block--files #createFolderBtn,
body.employee-page.admin-menu-page .admin-block--files #uploadFileBtn {
  width: auto;
}

body.employee-page.admin-menu-page .admin-block--files .file-list-container {
  border-radius: 14px;
  max-width: 100%;
  overflow-x: hidden;
}

body.employee-page.admin-menu-page .admin-block--files .file-item {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: auto minmax(0, 1fr) auto;
}

body.employee-page.admin-menu-page .admin-block--files .file-name {
  min-width: 0;
  overflow-wrap: anywhere;
}

body.employee-page.admin-menu-page .admin-block--files .file-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

body.employee-page.admin-menu-page .admin-block--files .file-upload-group input[type="file"] {
  max-width: 100%;
  width: 100%;
}

@media (max-width: 1199px) {
  body.employee-page.admin-menu-page .admin-design-panel > .admin-block--project,
  body.employee-page.admin-menu-page .admin-design-panel > .admin-block--files {
    grid-column: 1 / -1 !important;
  }

  body.employee-page.admin-menu-page .admin-block--project .project-name-control {
    max-width: none;
  }

  body.employee-page.admin-menu-page .admin-block--files .file-manager-buttons {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.employee-page.admin-menu-page .admin-block--files .file-navigation {
    grid-template-columns: 1fr;
  }

  body.employee-page.admin-menu-page .admin-block--files #goBackBtn {
    width: 100%;
  }
}

@media (max-width: 768px) {
  body.employee-page.admin-menu-page .admin-design-panel > .admin-block--project,
  body.employee-page.admin-menu-page .admin-design-panel > .admin-block--files {
    grid-column: 1 / -1 !important;
  }

  body.employee-page.admin-menu-page .admin-block--files .file-manager-buttons {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.employee-page.admin-menu-page .admin-block--files #browseIcons {
    grid-column: 1 / -1;
  }

  body.employee-page.admin-menu-page .admin-block--files .file-browser {
    padding: 16px;
  }

  body.employee-page.admin-menu-page .admin-block--files #createFolderBtn,
  body.employee-page.admin-menu-page .admin-block--files #uploadFileBtn,
  body.employee-page.admin-menu-page .admin-block--project #saveProjectNameBtn {
    width: 100%;
  }

  body.employee-page.admin-menu-page .admin-block--files .file-item {
    grid-template-columns: auto minmax(0, 1fr);
  }

  body.employee-page.admin-menu-page .admin-block--files .file-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

/* Keep the shared account header aligned with owner.php. */
body.employee-page.admin-menu-page .account-header-bar .container {
  margin-inline: auto;
  max-width: none !important;
  width: 80% !important;
}

@media (max-width: 1200px) {
  body.employee-page.admin-menu-page .account-header-bar .container {
    width: 85% !important;
  }
}

@media (max-width: 992px) {
  body.employee-page.admin-menu-page .account-header-bar .container {
    width: 90% !important;
  }
}

@media (max-width: 768px) {
  body.employee-page.admin-menu-page .account-header-bar .container {
    width: 100% !important;
  }
}

/* Keep the catalog editor stack in a single column. */
body.employee-page.admin-menu-page .admin-dishes-workspace {
  grid-template-columns: 1fr !important;
}

body.employee-page.admin-menu-page .admin-dishes-workspace > .admin-form-group.admin-subsection-card:first-of-type,
body.employee-page.admin-menu-page .admin-dishes-workspace > .admin-subsection-card:last-of-type {
  grid-column: 1;
  grid-row: auto;
}

body.employee-page.admin-menu-page .admin-block--manual form,
body.employee-page.admin-menu-page .admin-block--csv form {
  grid-template-columns: 1fr !important;
}

body.employee-page.admin-menu-page .admin-block--csv .download-button-container,
body.employee-page.admin-menu-page .admin-block--csv .checkout-btn {
  min-width: 0;
  width: 100%;
}

/* Cart + qr-print shell alignment */
body.cart-page #menu {
  padding-top: 96px !important;
}

body.cart-page #menu .container.account-header-bar,
body.qr-print-page .qr-print-container > .container.account-header-bar {
  box-sizing: border-box;
  margin: 0 auto 20px;
  max-width: 1240px;
  padding: 0 20px;
  width: 100%;
}

body.cart-page .account-header-bar .section-header-menu,
body.qr-print-page .account-header-bar .section-header-menu {
  margin: 0 20px 28px;
}

body.cart-page .account-header-bar .back-to-menu-btn,
body.qr-print-page .account-header-bar .back-to-menu-btn {
  margin-left: auto;
}

body.cart-page .payment-method-block {
  margin-top: 16px;
}

body.cart-page .payment-method-label {
  color: var(--light-text);
  display: block;
  font-weight: 600;
  margin-bottom: 8px;
}

body.cart-page .payment-options-gap {
  gap: 8px;
}

body.cart-page .delivery-option {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 13px;
  gap: 7px;
  justify-content: center;
  line-height: 1.2;
}

body.cart-page .delivery-option svg,
body.cart-page .payment-option svg,
body.cart-page .scan-btn svg {
  display: block;
  flex-shrink: 0;
}

body.cart-page .payment-option {
  align-items: center;
  display: flex;
  flex-direction: row;
  font-size: 13px;
  gap: 7px;
  justify-content: center;
}

body.cart-page .scan-btn {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: center;
}

body.cart-page .detect-location-btn {
  align-items: center;
  display: flex;
  justify-content: center;
  line-height: 0;
}

body.cart-page .checkout-btn-secondary {
  background: var(--ui-surface);
  border-color: var(--ui-border);
  color: var(--ui-text);
}

body.cart-page .checkout-btn-secondary:hover {
  background: var(--ui-surface-muted);
  color: var(--ui-text);
}

/* Phase 9.5 — owner workspace stale-order cleanup is a *secondary*
   action: visually subordinate to the primary "Открыть заказы" CTA.
   Outline variant in brand color so it reads as "available, not
   urgent" — when count > 0 it carries the count as a chip-pill. */
body.owner-page .owner-stale-cleanup-btn {
  background: var(--ui-surface);
  border: 1px solid var(--primary-color);
  color: var(--primary-color);
  box-shadow: none;
}
body.owner-page .owner-stale-cleanup-btn:hover:not(:disabled) {
  background: var(--primary-color);
  color: var(--ui-accent-contrast, #fff);
}
body.owner-page .owner-stale-cleanup-btn:disabled {
  border-color: var(--ui-border);
  color: var(--ui-text-muted);
  opacity: 0.7;
  cursor: not-allowed;
}

body.cart-page .menu-content-empty {
  max-width: 840px;
}

body.cart-page .empty-cart-shell {
  align-items: center;
  display: flex;
  justify-content: center;
}

body.cart-page .empty-cart-card {
  background: linear-gradient(180deg, var(--ui-surface) 0%, var(--white) 100%);
  border: 1px solid var(--ui-border);
  border-radius: 28px;
  box-shadow: var(--ui-shadow-soft);
  max-width: 640px;
  padding: 36px 32px;
}

body.cart-page .empty-cart-icon {
  align-items: center;
  background: linear-gradient(135deg, rgba(var(--primary-color-rgb), 0.12), rgba(var(--primary-color-rgb), 0.04));
  border: 1px solid rgba(var(--primary-color-rgb), 0.16);
  border-radius: 18px;
  color: var(--ui-accent);
  display: inline-flex;
  height: 68px;
  justify-content: center;
  margin-bottom: 18px;
  width: 68px;
}

body.cart-page .empty-cart-icon-svg {
  display: block;
  fill: currentColor;
  height: 32px;
  width: 32px;
}

body.cart-page .empty-cart h3 {
  color: var(--ui-text);
  font-size: 30px;
  line-height: 1.1;
  margin: 0 0 12px;
}

body.cart-page .empty-cart-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-top: 24px;
}

body.cart-page .empty-cart-actions .checkout-btn {
  min-width: 200px;
  padding: 12px 18px;
  text-decoration: none;
}

body.cart-page .clear-cart-container {
  gap: 12px;
}

body.cart-page .clear-cart-container #clear-cart-btn {
  background: var(--ui-surface);
  border-color: var(--ui-border);
  color: var(--ui-text);
}

body.cart-page .clear-cart-container #clear-cart-btn:hover {
  background: var(--ui-surface-muted);
  color: var(--ui-text);
}

body.cart-page .clear-cart-container #checkout-btn {
  box-shadow: var(--ui-shadow-soft);
}

body.cart-page .clear-cart-container.is-empty,
body.cart-page .cart-total.is-empty,
body.cart-page .cart-summary-container.is-empty {
  display: none;
}

@media (max-width: 768px) {
  body.cart-page #menu {
    padding-top: 86px !important;
  }

  body.cart-page #menu .container.account-header-bar,
  body.qr-print-page .qr-print-container > .container.account-header-bar {
    padding: 0 14px;
  }

  body.cart-page .empty-cart {
    padding: 24px 0 8px;
  }

  body.cart-page .empty-cart-card {
    border-radius: 22px;
    padding: 24px 18px;
  }

  body.cart-page .empty-cart h3 {
    font-size: 24px;
  }

  body.cart-page .empty-cart-actions {
    flex-direction: column;
  }

  body.cart-page .empty-cart-actions .checkout-btn {
    min-width: 0;
    width: 100%;
  }
}

@media (max-width: 380px) {
  body.cart-page .tips-options {
    grid-template-columns: repeat(3, 1fr);
  }
}

body.admin-menu-page,
body.employee-page.admin-menu-page {
  --bottom-tab-rail-width: 1240px;
  --bottom-tab-rail-footprint: 96px;
}

body.admin-menu-page .account-form-container {
  padding-bottom: calc(var(--bottom-tab-rail-clearance) + 18px) !important;
}

body.admin-menu-page .admin-form-container,
body.admin-menu-page .admin-section-card,
body.admin-menu-page .admin-catalog-card,
body.admin-menu-page .admin-design-panel,
body.admin-menu-page .admin-payment-panel,
body.admin-menu-page .admin-system-panel,
body.admin-menu-page .menu-tabs-container.admin-menu-categories,
body.employee-page.admin-menu-page .menu-tabs-container.admin-menu-categories {
  scroll-margin-bottom: calc(var(--bottom-tab-rail-clearance) + 18px);
}

@media (max-width: 768px) {
  body.admin-menu-page,
  body.employee-page.admin-menu-page {
    --bottom-tab-rail-footprint: 102px;
  }

  body.admin-menu-page .account-form-container {
    padding-bottom: calc(var(--bottom-tab-rail-clearance) + 14px) !important;
  }
}

/* Owner "Отзывы" tab — compact read-only surface for the last 50 reviews. */
.owner-reviews-workspace {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.owner-tab-count {
    display: inline-block;
    margin-left: 4px;
    padding: 1px 8px;
    font-size: 11px;
    font-weight: 600;
    background: #e0e0e0;
    border-radius: 999px;
    color: #424242;
    vertical-align: middle;
}

.owner-reviews-table td {
    vertical-align: top;
}

.owner-review-stars-glyph {
    font-size: 16px;
    color: #ffb300;
    letter-spacing: 2px;
    white-space: nowrap;
}

.owner-review-no-comment {
    color: #9e9e9e;
}

/* ── input width utility attributes ──────────────────────────────────────
   Replaces inline `style="width:Xpx"` on table inputs across admin-*.php.
   Using attribute selectors instead of utility classes avoids merging
   into per-input class lists (which would have to be edited per file).
   Keeps strict CSP clean: no `style=""` left on the element. */
[data-w="3xs"] { width: 56px; }
[data-w="2xs"] { width: 60px; }
[data-w="xs"]  { width: 70px; }
[data-w="sm"]  { width: 80px; }
[data-w="md"]  { width: 90px; }
[data-w="lg"]  { width: 100px; }
[data-w="xl"]  { width: 140px; }
[data-uppercase] { text-transform: uppercase; }

/* Phase 11.2 — global admin table overflow guard.
   Every Phase 6-10 admin page renders `<table>` inside `.account-section`.
   On mobile (≤768px) the cumulative column widths blow past the
   viewport, pushing the section card to the actual content width
   instead of staying within the shell. This shifts the rest of the
   page into a 40%-of-viewport column with a giant white margin on
   the right.

   Fix: any direct-child `<table>` of `.account-section` becomes
   horizontally-scrollable on mobile. The card itself keeps its
   parent-defined width (`.account-container { width: 100% }`); only
   the table scrolls inside it. */
@media (max-width: 768px) {
  body.admin-page .account-section > table,
  body.admin-page .account-section > .table-wrapper > table,
  body.admin-page .routing-table-wrapper,
  body.admin-page .inv-table-wrapper {
    display: block;
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
  }
  body.admin-page .staff-filter,
  body.admin-page .staff-tips-form,
  body.admin-page .waitlist-filter,
  body.admin-page .webhook-form .form-row {
    flex-wrap: wrap;
  }
}
