/* Shared school theme. Identity colours are supplied by settings in colors.php. */
:root {
  --app-accent: var(--app-primary);
  --app-accent-light: var(--app-primary-light);
  --bs-primary: var(--app-primary);
  --bs-primary-rgb: var(--app-primary-rgb);
  --bs-link-color: var(--app-primary);
  --bs-link-hover-color: var(--app-nav-bg);
  --bs-focus-ring-color: rgba(var(--app-primary-rgb), .22);
}
body { accent-color: var(--app-primary); }
.btn-primary {
  --bs-btn-bg: var(--app-primary);
  --bs-btn-border-color: var(--app-primary);
  --bs-btn-hover-bg: var(--app-nav-bg);
  --bs-btn-hover-border-color: var(--app-nav-bg);
  --bs-btn-active-bg: var(--app-nav-bg);
  --bs-btn-active-border-color: var(--app-nav-bg);
  --bs-btn-disabled-bg: var(--app-primary);
  --bs-btn-disabled-border-color: var(--app-primary);
  --bs-btn-focus-shadow-rgb: var(--app-primary-rgb);
}
.btn-outline-primary {
  --bs-btn-hover-color: #fff;
  --bs-btn-active-color: #fff;
  --bs-btn-color: var(--app-primary);
  --bs-btn-border-color: var(--app-primary);
  --bs-btn-hover-bg: var(--app-primary);
  --bs-btn-hover-border-color: var(--app-primary);
  --bs-btn-active-bg: var(--app-nav-bg);
  --bs-btn-active-border-color: var(--app-nav-bg);
  --bs-btn-disabled-color: var(--app-primary);
  --bs-btn-disabled-border-color: var(--app-primary);
}
.form-control:focus, .form-select:focus { border-color: var(--app-primary-tint); box-shadow: 0 0 0 .2rem rgba(var(--app-primary-rgb), .15); }
.form-check-input:checked { background-color: var(--app-primary); border-color: var(--app-primary); }
.pagination { --bs-pagination-color: var(--app-primary); --bs-pagination-hover-color: var(--app-nav-bg); --bs-pagination-active-bg: var(--app-primary); --bs-pagination-active-border-color: var(--app-primary); }
.nav-pills { --bs-nav-pills-link-active-bg: var(--app-primary); }
.nav { --bs-nav-link-color: var(--app-primary); --bs-nav-link-hover-color: var(--app-nav-bg); }
.list-group { --bs-list-group-active-bg: var(--app-primary); --bs-list-group-active-border-color: var(--app-primary); }
header.fixed-top { border-bottom: 3px solid var(--app-primary); }
.nav-logo { object-fit: contain; background: #fff; border-radius: 8px; padding: 3px; }
.sidebar-content a:hover { background-color: var(--app-primary-light); }
.sidebar-content a.active { color: #fff; border-left: 3px solid var(--app-primary); }
.color-btn-primary { color: #fff; }
.color-btn-primary:hover { background: var(--app-nav-bg); color: #ffffff; }
.academic-reports-page, .academic-report-paper { --academic-orange: var(--app-primary); }
.operations-workspace { --ops-orange: var(--app-primary); }
.chat-workspace { --chat-orange: var(--app-primary); }
.admin-dashboard-v2 .dash-bar-fill.secondary,
.admin-dashboard-v2 .dash-mini-legend span:last-child::before,
.admin-dashboard-v2 .dash-line-legend span:last-child::before { background: var(--app-primary); }
.btn:focus-visible, a:focus-visible { outline: 2px solid var(--app-primary); outline-offset: 3px; }
@media print { .nav-logo { background: #fff; } a { color: inherit; } }

/* Shared shell and data-entry accents. */
header.fixed-top { background: var(--app-nav-bg); }
header.fixed-top .nav-logo { width: 88px; height: 68px; }
#footer { background: var(--app-nav-bg); }
.color-btn-primary { color: #fff; }
.sidebar-content a.active { color: #fff; border-left-color: var(--app-nav-bg); }
.sidebar-content a.active:hover { background: var(--app-primary-dark); }
.dex-sheet-hero { background: linear-gradient(135deg, var(--app-nav-bg), var(--app-primary)) !important; }
.admin-dashboard-v2 .dashboard-scope { border-color: rgba(var(--app-primary-rgb),.13); background: rgba(var(--app-primary-rgb),.045); }
.admin-dashboard-v2 .dash-bar-fill.secondary { background: var(--app-nav-bg); }
