/* Shared foundation for application screens. Marketing heroes and post content
   retain their own typography; only explicit page titles use the title scale. */
:root {
  --bz-surface: #fff;
  --bz-background: #f6f8fa;
  --bz-border: #e5e9ee;
  --bz-text: #18212b;
  --bz-muted: #7e8995;
  --bz-table-heading: #f4f7f9;
  --bz-accent: #c9261e;
  --bz-panel-radius: 16px;
}
.platform-page { color: var(--bz-text); background: var(--bz-background); }
.platform-page .settings-page-header,
.platform-page .workspace-header,
.platform-page .team-page-header { margin-bottom: 30px; gap: 20px; }
.platform-page .settings-page-title > :is(h1,h2),
.platform-page-header .bz-page-title { margin: 0 0 8px; }
.platform-page .settings-page-title > p,
.platform-page .settings-page-title .lead,
.platform-page-header .lead {
  font-size: 16px; line-height: 1.5; color: var(--bz-muted); margin: 0;
}
.platform-page .settings-page-actions { flex-wrap: wrap; padding-top: 0; }
.platform-page .bz-settings-card,
.platform-page .bz-action-card,
.platform-page .bz-table-card,
.platform-page .bz-stat-card,
.platform-page .platform-form-panel,
.platform-page .platform-table-panel {
  background: var(--bz-surface); border: 1px solid var(--bz-border);
  border-radius: var(--bz-panel-radius); box-shadow: 0 3px 14px rgb(16 24 40 / 3%);
}
.platform-page .platform-form-panel { padding: 28px; }
.platform-page .platform-table-panel { padding: 0; overflow: hidden; }
.platform-page .btn:not(.btn-post):not(.btn-link) {
  border-radius: 999px; font-weight: 600; line-height: 1.25;
}
.platform-page :is(.settings-page-actions,.workspace-header-actions,.platform-page-actions) .btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px;
}
.platform-page :is(input,select,textarea).form-control,
.platform-page select.custom-select { border-color: var(--bz-border); border-radius: 10px; }
/* A consistent row scale, including legacy finance and directory tables. */
.platform-page .table:not(.workspace-post-table) {
  color: var(--bz-text); font-size: 14px; border: 0; margin-bottom: 0;
}
.platform-page .table:not(.workspace-post-table) thead :is(th,td) {
  background: var(--bz-table-heading); color: #627080; font-size: 14px;
  font-weight: 650; padding: 20px; border: 0; vertical-align: middle;
}
.platform-page .table:not(.workspace-post-table) tbody :is(td,th) {
  padding: 22px 20px; border: 0; border-top: 1px solid var(--bz-border);
  font-weight: 400; vertical-align: middle;
}
.platform-page .table-striped tbody tr:nth-of-type(odd) { background: transparent; }
.platform-page .table-hover tbody tr:hover { background: var(--bz-table-heading); }
.platform-page .table .badge-pill {
  padding: 8px 14px; font-size: 12px; font-weight: 600;
  text-transform: capitalize !important; line-height: 1.25;
}
.platform-page .table .badge-success { color: #278855; background: #e7f7ee; }
.platform-page .table .badge-warning { color: #956519; background: #fff2d0; }
.platform-page .table .badge-danger { color: #ae4545; background: #fce7e8; }
/* The same controls are used by Laravel and DataTables. Links and query strings
   stay owned by their existing paginator, including filtered views. */
.platform-pagination { margin-top: 24px; }
.platform-pagination .pagination,
.platform-page .pagination {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: 6px; margin: 0; max-width: 100%; padding: 0; list-style: none;
}
.platform-pagination .page-item,
.platform-page .pagination .page-item { margin: 0; }
.platform-pagination .page-link,
.platform-page .pagination .page-link {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 42px; min-height: 42px; padding: 8px 12px;
  border: 1px solid transparent; border-radius: 999px !important;
  background: transparent; color: var(--bz-accent); font-size: 14px;
  font-weight: 600; line-height: 1.25; margin: 0;
}
.platform-pagination .page-item.active .page-link,
.platform-page .pagination .page-item.active .page-link {
  background: var(--bz-accent); border-color: var(--bz-accent); color: #fff;
}
.platform-pagination .page-item.disabled .page-link,
.platform-page .pagination .page-item.disabled .page-link {
  background: transparent; border-color: transparent; color: var(--bz-muted);
}
.platform-pagination a.page-link:hover,
.platform-page .pagination a.page-link:hover { background: #fce7e8; color: var(--bz-accent); }
.platform-pagination a.page-link:focus-visible,
.platform-page .pagination a.page-link:focus-visible {
  outline: 2px solid var(--bz-accent); outline-offset: 2px;
}
.platform-page .table-responsive { max-width: 100%; }
.platform-page .platform-table-panel .table-responsive { overflow-x: auto; }
.platform-page .dataTables_wrapper .dataTables_paginate { margin: 24px 0; }
.platform-page .dataTables_wrapper > .row { margin-left: 0; margin-right: 0; }
.platform-page .dataTables_wrapper .dataTables_info { color: var(--bz-muted); font-size: 13px; }
.platform-page .platform-leaderboard-person { display: flex; align-items: center; gap: 14px; color: var(--bz-text); }
.platform-page .platform-leaderboard-person img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.platform-page .platform-leaderboard-person .number { min-width: 22px; color: var(--bz-muted); }
.platform-page .platform-leaderboard-person strong { font-weight: 650; }
.platform-page .table .avatarUser { width: 48px; height: 48px; object-fit: cover; }
.platform-admin-main { min-width: 0; }
.platform-admin-main > h5 { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.platform-admin-main > h5 > span:last-child,
.platform-admin-main > :is(h1,h2),
.platform-admin-main > h4:first-child {
  font-size: var(--bz-page-title-size); font-weight: 800; line-height: 1.2;
  text-transform: capitalize; color: var(--bz-text) !important;
}
[data-bs-theme="dark"] {
  --bz-surface: #20252b; --bz-background: #191d22; --bz-border: #343b43;
  --bz-text: #f2f4f7; --bz-muted: #a4afbb; --bz-table-heading: #272e36;
}
[data-bs-theme="dark"] .platform-page .table:not(.workspace-post-table) thead :is(th,td) { color: var(--bz-muted); }
[data-bs-theme="dark"] .platform-page :is(.settings-page-title,.platform-page-header) .bz-page-title { color: var(--bz-text); }
@media (max-width: 767px) {
  .platform-page .settings-page-header { flex-direction: column; gap: 16px; }
  .platform-page .settings-page-title > p,
  .platform-page-header .lead { font-size: 14px; }
  .platform-page .platform-form-panel { padding: 20px; }
  .platform-page .table:not(.workspace-post-table) thead :is(th,td),
  .platform-page .table:not(.workspace-post-table) tbody :is(td,th) { padding: 16px 14px; }
  .platform-pagination .page-link,
  .platform-page .pagination .page-link { min-width: 38px; min-height: 38px; padding: 8px 10px; font-size: 13px; }
}
