/* CommerceFlow r8.0.0 — shared enterprise components */
body.cf-v8 .card,
body.cf-v8 .mini-panel,
body.cf-v8 .r73-data-panel,
body.cf-v8 .cf-form-card,
body.cf-v8 .cf-create-panel,
body.cf-v8 .platform-report-grid > section,
body.cf-v8 .platform-report-grid > article,
body.cf-v8 .report-panel,
body.cf-v8 .dashboard-card,
body.cf-v8 .priority-panel,
body.cf-v8 .money-summary,
body.cf-v8 .admin-action-section {
  border: 1px solid var(--cf-line);
  border-radius: var(--cf-radius-1);
  background: var(--cf-white);
  box-shadow: none;
}
body.cf-v8 .card,
body.cf-v8 .r73-data-panel,
body.cf-v8 .cf-form-card,
body.cf-v8 .cf-create-panel,
body.cf-v8 .platform-report-grid > section,
body.cf-v8 .platform-report-grid > article { padding: var(--cf-space-6); }
body.cf-v8 .card-header,
body.cf-v8 .r73-panel-header,
body.cf-v8 .cf-form-card-header {
  display: flex; align-items: flex-start; justify-content: space-between; gap: var(--cf-space-5);
  margin: calc(-1 * var(--cf-space-6)) calc(-1 * var(--cf-space-6)) var(--cf-space-6);
  padding: 12px 16px; border-bottom: 1px solid var(--cf-line); background: var(--cf-cloud);
}
body.cf-v8 .card-header h2,
body.cf-v8 .card-header h3,
body.cf-v8 .r73-panel-header h2,
body.cf-v8 .r73-panel-header h3 { margin: 0; }

body.cf-v8 .platform-heading,
body.cf-v8 .r73-page-header,
body.cf-v8 .page-header,
body.cf-v8 .section-heading,
body.cf-v8 .r73-section-heading {
  display: flex; align-items: flex-end; justify-content: space-between; gap: var(--cf-space-7);
  margin: 0 0 var(--cf-space-6); padding: 0 0 12px; border-bottom: 2px solid var(--cf-ink-2);
}
body.cf-v8 .platform-heading > div:first-child,
body.cf-v8 .r73-page-header > div:first-child,
body.cf-v8 .page-header > div:first-child { min-width: 0; }
body.cf-v8 .platform-heading h1,
body.cf-v8 .r73-page-header h1,
body.cf-v8 .page-header h1 { margin: 0; }
body.cf-v8 .platform-heading p,
body.cf-v8 .r73-page-header p,
body.cf-v8 .page-header p { margin: 4px 0 0; color: var(--cf-text-muted); }
body.cf-v8 .platform-heading-actions,
body.cf-v8 .heading-actions,
body.cf-v8 .r73-form-actions,
body.cf-v8 .cf-form-footer,
body.cf-v8 .table-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cf-space-4); }

body.cf-v8 .button,
body.cf-v8 button.button,
body.cf-v8 .lp-btn,
body.cf-v8 .public-header-cta,
body.cf-v8 .lp-submit,
body.cf-v8 .primary-action,
body.cf-v8 .r73-action,
body.cf-v8 .cf-row-action,
body.cf-v8 .quiet-button,
body.cf-v8 .danger-button {
  min-height: var(--cf-control); display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  padding: 0 13px; border: 1px solid var(--cf-ink-2); border-radius: var(--cf-radius-2);
  color: var(--cf-white); background: var(--cf-ink-2); box-shadow: none;
  font-size: var(--cf-font-size-sm); font-weight: 650; line-height: 1.1; text-decoration: none;
  cursor: pointer; transition: background var(--cf-transition), border-color var(--cf-transition), color var(--cf-transition);
}
body.cf-v8 .button:hover,
body.cf-v8 button.button:hover,
body.cf-v8 .lp-btn:hover,
body.cf-v8 .public-header-cta:hover,
body.cf-v8 .lp-submit:hover { color: var(--cf-white); background: var(--cf-blue-strong); border-color: var(--cf-blue-strong); }
body.cf-v8 .button.small,
body.cf-v8 .r73-action,
body.cf-v8 .cf-row-action,
body.cf-v8 .quiet-button,
body.cf-v8 .danger-button.small { min-height: var(--cf-control-compact); padding: 0 10px; font-size: 12px; }
body.cf-v8 .button.ghost,
body.cf-v8 .button.secondary,
body.cf-v8 .lp-btn.secondary,
body.cf-v8 .quiet-button,
body.cf-v8 .r73-action,
body.cf-v8 .cf-row-action {
  color: var(--cf-ink-2); background: var(--cf-white); border-color: var(--cf-line-strong);
}
body.cf-v8 .button.ghost:hover,
body.cf-v8 .button.secondary:hover,
body.cf-v8 .lp-btn.secondary:hover,
body.cf-v8 .quiet-button:hover,
body.cf-v8 .r73-action:hover,
body.cf-v8 .cf-row-action:hover { color: var(--cf-blue-strong); background: var(--cf-info-bg); border-color: var(--cf-blue); }
body.cf-v8 .danger-button,
body.cf-v8 .button.danger,
body.cf-v8 .r73-action.danger,
body.cf-v8 .cf-row-action.danger { color: var(--cf-white); background: var(--cf-danger-fg); border-color: var(--cf-danger-fg); }
body.cf-v8 .danger-button:hover,
body.cf-v8 .button.danger:hover,
body.cf-v8 .r73-action.danger:hover,
body.cf-v8 .cf-row-action.danger:hover { color: var(--cf-white); background: #81211e; border-color: #81211e; }
body.cf-v8 button:disabled,
body.cf-v8 .button[aria-disabled="true"] { opacity: .52; cursor: not-allowed; }
body.cf-v8 .icon-button,
body.cf-v8 .topbar-icon-button,
body.cf-v8 .topbar-update-button {
  width: var(--cf-control); height: var(--cf-control); display: inline-grid; place-items: center;
  padding: 0; border: 1px solid var(--cf-line); border-radius: var(--cf-radius-2);
  color: var(--cf-ink-2); background: var(--cf-white); box-shadow: none; cursor: pointer;
}
body.cf-v8 .icon-button svg,
body.cf-v8 .topbar-icon-button svg,
body.cf-v8 .topbar-update-button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }

body.cf-v8 .badge,
body.cf-v8 .r73-status,
body.cf-v8 .status-badge,
body.cf-v8 .status-chip,
body.cf-v8 .priority-badge {
  display: inline-flex; align-items: center; gap: 4px; min-height: 22px; padding: 2px 7px;
  border: 1px solid transparent; border-radius: var(--cf-radius-1); background: var(--cf-neutral-bg);
  color: var(--cf-neutral-fg); font-size: 11px; font-weight: 700; line-height: 1.15; white-space: nowrap;
}
body.cf-v8 .badge.success,
body.cf-v8 .r73-status.delivered,
body.cf-v8 .r73-status.approved,
body.cf-v8 .status-badge.success { background: var(--cf-success-bg); color: var(--cf-success-fg); border-color: #bcdcc9; }
body.cf-v8 .badge.warning,
body.cf-v8 .r73-status.pending,
body.cf-v8 .status-badge.warning { background: var(--cf-warning-bg); color: var(--cf-warning-fg); border-color: #e6cf8d; }
body.cf-v8 .badge.danger,
body.cf-v8 .r73-status.error,
body.cf-v8 .status-badge.danger { background: var(--cf-danger-bg); color: var(--cf-danger-fg); border-color: #e8b7b4; }
body.cf-v8 .badge.info,
body.cf-v8 .r73-status.shipped,
body.cf-v8 .status-badge.info { background: var(--cf-info-bg); color: var(--cf-info-fg); border-color: #b8d9e8; }
body.cf-v8 .badge.archived,
body.cf-v8 .status-badge.archived { background: var(--cf-archived-bg); color: var(--cf-archived-fg); border-color: #d5ccd9; }

body.cf-v8 .notice,
body.cf-v8 .flash,
body.cf-v8 .r73-notice {
  position: relative; border: 1px solid var(--cf-line-strong); border-left: 4px solid var(--cf-blue);
  border-radius: var(--cf-radius-1); padding: 11px 42px 11px 13px; color: var(--cf-text); background: var(--cf-white); box-shadow: none;
}
body.cf-v8 .notice.warning,
body.cf-v8 .flash.warning { border-left-color: var(--cf-gold); background: #fffaf0; }
body.cf-v8 .notice.success,
body.cf-v8 .flash.success { border-left-color: var(--cf-success-fg); background: #f4fbf7; }
body.cf-v8 .notice.error,
body.cf-v8 .flash.error { border-left-color: var(--cf-danger-fg); background: #fff6f5; }
body.cf-v8 .flash-close { position: absolute; top: 8px; right: 8px; width: 28px; height: 28px; border: 0; background: transparent; color: var(--cf-text-muted); cursor: pointer; }
body.cf-v8 .flash-region,
body.cf-v8 .public-flash-region,
body.cf-v8 .auth-flashes { display: grid; gap: 8px; margin-bottom: 12px; }

body.cf-v8 .empty-state,
body.cf-v8 .compact-empty,
body.cf-v8 .empty-inline {
  min-height: 88px; display: grid; place-content: center; gap: 4px; padding: 20px;
  border: 1px dashed var(--cf-line-strong); border-radius: var(--cf-radius-1); color: var(--cf-text-muted); background: #fbfcfc; text-align: center;
}
body.cf-v8 .empty-state strong,
body.cf-v8 .compact-empty strong,
body.cf-v8 .empty-inline strong { color: var(--cf-ink-2); }

body.cf-v8 .kpi-grid,
body.cf-v8 .report-kpi-grid,
body.cf-v8 .executive-kpi-grid,
body.cf-v8 .tenant-kpis {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0;
  margin: 0 0 var(--cf-space-6); border: 1px solid var(--cf-line); background: var(--cf-white);
}
body.cf-v8 .kpi,
body.cf-v8 .report-kpi,
body.cf-v8 .executive-kpi {
  min-width: 0; min-height: 86px; padding: 14px 16px; border: 0; border-right: 1px solid var(--cf-line); border-bottom: 1px solid var(--cf-line);
  border-radius: 0; background: var(--cf-white); box-shadow: none;
}
body.cf-v8 .kpi span,
body.cf-v8 .report-kpi span,
body.cf-v8 .executive-kpi span { display: block; margin-bottom: 6px; color: var(--cf-text-muted); font-size: 11.5px; font-weight: 650; }
body.cf-v8 .kpi strong,
body.cf-v8 .report-kpi strong,
body.cf-v8 .executive-kpi strong { display: block; color: var(--cf-ink); font-size: 23px; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; }

body.cf-v8 details.r73-disclosure,
body.cf-v8 details.cf-create-panel,
body.cf-v8 details.compact-details,
body.cf-v8 details.card {
  border: 1px solid var(--cf-line); border-radius: var(--cf-radius-1); background: var(--cf-white); box-shadow: none;
}
body.cf-v8 details > summary { cursor: pointer; }
body.cf-v8 details.r73-disclosure > summary,
body.cf-v8 details.cf-create-panel > summary,
body.cf-v8 details.compact-details > summary {
  min-height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 10px 14px; border-bottom: 0; background: var(--cf-cloud); color: var(--cf-ink-2); list-style: none;
}
body.cf-v8 details[open].r73-disclosure > summary,
body.cf-v8 details[open].cf-create-panel > summary,
body.cf-v8 details[open].compact-details > summary { border-bottom: 1px solid var(--cf-line); }
body.cf-v8 details > summary::-webkit-details-marker { display: none; }
body.cf-v8 details.r73-disclosure > form,
body.cf-v8 details.r73-disclosure > section,
body.cf-v8 details.cf-create-panel > form,
body.cf-v8 details.compact-details > div { padding: var(--cf-space-6); }

body.cf-v8 .pagination { display: flex; align-items: center; justify-content: flex-end; gap: 4px; margin-top: 12px; }
body.cf-v8 .pagination a,
body.cf-v8 .pagination span { min-width: 32px; height: 32px; display: inline-grid; place-items: center; border: 1px solid var(--cf-line); border-radius: var(--cf-radius-1); background: var(--cf-white); text-decoration: none; }
body.cf-v8 .pagination .active,
body.cf-v8 .pagination [aria-current="page"] { color: var(--cf-white); background: var(--cf-ink-2); border-color: var(--cf-ink-2); }

/* CommerceFlow r8.0.1 — control and surface consistency correction */
body.cf-v8 button:not(.flash-close):not(.password-toggle):not(.icon-button):not(.topbar-icon-button):not(.platform-menu-toggle):not(.sidebar-close):not(.choice-tab):not(.customer-option):not(.link-button):not([aria-label^="Dismiss"]):not([data-sidebar-open]),
body.cf-v8 .button,
body.cf-v8 .primary-action,
body.cf-v8 .workspace-login-submit,
body.cf-v8 .saas-login-submit,
body.cf-v8 .lp-btn,
body.cf-v8 .lp-submit,
body.cf-v8 .public-header-cta,
body.cf-v8 .r73-action,
body.cf-v8 .cf-row-action,
body.cf-v8 .danger-button,
body.cf-v8 .quiet-button {
  min-height: var(--cf-control) !important;
  padding: 0 14px !important;
  border: 1px solid var(--cf-ink-2) !important;
  border-radius: var(--cf-radius-2) !important;
  color: var(--cf-white) !important;
  background: var(--cf-ink-2) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  font-family: var(--cf-font) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap;
}
body.cf-v8 button:not(.flash-close):not(.password-toggle):not(.icon-button):not(.topbar-icon-button):not(.platform-menu-toggle):not(.sidebar-close):not(.choice-tab):not(.customer-option):not(.link-button):not([aria-label^="Dismiss"]):not([data-sidebar-open]):hover,
body.cf-v8 .button:hover,
body.cf-v8 .primary-action:hover,
body.cf-v8 .workspace-login-submit:hover,
body.cf-v8 .saas-login-submit:hover,
body.cf-v8 .lp-btn:hover,
body.cf-v8 .lp-submit:hover,
body.cf-v8 .public-header-cta:hover,
body.cf-v8 .r73-action:hover,
body.cf-v8 .cf-row-action:hover,
body.cf-v8 .quiet-button:hover {
  color: var(--cf-white) !important;
  background: var(--cf-blue-strong) !important;
  border-color: var(--cf-blue-strong) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}
body.cf-v8 button.small,
body.cf-v8 .button.small,
body.cf-v8 .r73-action,
body.cf-v8 .cf-row-action,
body.cf-v8 .danger-button.small {
  min-height: var(--cf-control-compact) !important;
  padding: 0 10px !important;
  font-size: 11.75px !important;
}
body.cf-v8 button.secondary,
body.cf-v8 button.ghost,
body.cf-v8 .button.secondary,
body.cf-v8 .button.ghost,
body.cf-v8 .lp-btn.secondary,
body.cf-v8 .quiet-button,
body.cf-v8 .r73-action:not(.primary):not(.approve):not(.collect):not(.whatsapp):not(.danger),
body.cf-v8 .cf-row-action:not(.primary):not(.danger) {
  color: var(--cf-ink-2) !important;
  background: var(--cf-white) !important;
  border-color: var(--cf-line-strong) !important;
}
body.cf-v8 button.secondary:hover,
body.cf-v8 button.ghost:hover,
body.cf-v8 .button.secondary:hover,
body.cf-v8 .button.ghost:hover,
body.cf-v8 .lp-btn.secondary:hover,
body.cf-v8 .quiet-button:hover,
body.cf-v8 .r73-action:not(.primary):not(.approve):not(.collect):not(.whatsapp):not(.danger):hover,
body.cf-v8 .cf-row-action:not(.primary):not(.danger):hover {
  color: var(--cf-blue-strong) !important;
  background: var(--cf-info-bg) !important;
  border-color: var(--cf-blue) !important;
}
body.cf-v8 button.danger,
body.cf-v8 .button.danger,
body.cf-v8 .danger-button,
body.cf-v8 .r73-action.danger,
body.cf-v8 .cf-row-action.danger {
  color: var(--cf-white) !important;
  background: var(--cf-danger-fg) !important;
  border-color: var(--cf-danger-fg) !important;
}
body.cf-v8 .r73-action.primary,
body.cf-v8 .r73-action.approve,
body.cf-v8 .r73-action.collect,
body.cf-v8 .cf-row-action.primary { color: var(--cf-white) !important; background: var(--cf-ink-2) !important; border-color: var(--cf-ink-2) !important; }
body.cf-v8 .r73-action.whatsapp,
body.cf-v8 .button.whatsapp { color: var(--cf-white) !important; background: #17633d !important; border-color: #17633d !important; }
body.cf-v8 button:focus-visible,
body.cf-v8 .button:focus-visible,
body.cf-v8 .r73-action:focus-visible,
body.cf-v8 .cf-row-action:focus-visible { outline: 2px solid var(--cf-focus) !important; outline-offset: 2px; }
body.cf-v8 button:disabled,
body.cf-v8 .button[aria-disabled="true"] { color: #73808a !important; background: #e7eaec !important; border-color: #c6cdd2 !important; opacity: 1 !important; }

body.cf-v8 .card,
body.cf-v8 .mini-panel,
body.cf-v8 .r73-data-panel,
body.cf-v8 .r73-form-panel,
body.cf-v8 .r73-edit-panel,
body.cf-v8 .r73-rules-panel,
body.cf-v8 .cf-form-card,
body.cf-v8 .cf-create-panel,
body.cf-v8 .dashboard-card,
body.cf-v8 .priority-panel,
body.cf-v8 .money-summary,
body.cf-v8 .admin-action-section {
  border-radius: var(--cf-radius-1) !important;
  box-shadow: none !important;
}
