/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@700;800&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

/* Brand Variables */
:root {
  --aureus-navy: #0B192C;
  --aureus-teal: #008080;
  --aureus-gold: #D4AF37;
  --aureus-emerald: #10B981;
  --aureus-canvas: #F4F6F8;
}

/* Global Body */
body {
  background-color: var(--aureus-canvas);
  color: #334155;
  font-family: 'Inter', sans-serif;
}

/* Typography Utilities */
.font-jakarta { font-family: 'Plus Jakarta Sans', sans-serif; }
.font-mono { font-family: 'IBM Plex Mono', monospace; }
.font-inter { font-family: 'Inter', sans-serif; }

/* Background Utilities */
.bg-navy { background-color: var(--aureus-navy) !important; }
.bg-teal { background-color: var(--aureus-teal) !important; }
.bg-emerald { background-color: var(--aureus-emerald) !important; }
.bg-gold { background-color: var(--aureus-gold) !important; }

/* Text Utilities */
.text-teal { color: var(--aureus-teal) !important; }
.text-emerald { color: var(--aureus-emerald) !important; }
.text-gold { color: var(--aureus-gold) !important; }
.text-navy { color: var(--aureus-navy) !important; }

/* Badges */
.badge-gold { background-color: var(--aureus-gold) !important; color: #0B192C !important; }
.badge-emerald { background-color: var(--aureus-emerald) !important; color: #0B192C !important; }
.badge-teal { background-color: var(--aureus-teal) !important; color: #F4F6F8 !important; }

/* Borders */
.border-teal { border-color: var(--aureus-teal) !important; }
.border-emerald { border-color: var(--aureus-emerald) !important; }
.border-gold { border-color: var(--aureus-gold) !important; }

/* Button Utilities */
.btn-teal { background-color: var(--aureus-teal) !important; color: #fff !important; border-color: var(--aureus-teal) !important; }
.btn-teal:hover { filter: brightness(0.95); }
.btn-emerald { background-color: var(--aureus-emerald) !important; color: #0B192C !important; border-color: var(--aureus-emerald) !important; }
.btn-emerald:hover { filter: brightness(0.95); }

/* Font Weight Utility */
.fw-extrabold { font-weight: 800 !important; }

/* Sidebar Layout */
.sidebar-fixed {
  position: sticky;
  top: 0;
  left: 0;
  height: 100vh;
  width: 250px;
  background-color: var(--aureus-navy);
  color: #e5e7eb;
}
.sidebar-fixed .sidebar-brand { color: #e5e7eb; }
.sidebar-fixed .nav-link-sidebar {
  color: #cbd5e1;
  padding: 0.5rem 1rem;
  border-left: 3px solid transparent;
}
.sidebar-fixed .nav-link-sidebar:hover {
  color: #ffffff;
  background-color: rgba(0, 128, 128, 0.08);
  border-left-color: var(--aureus-teal);
}
.sidebar-fixed .nav-link-sidebar.active {
  color: #ffffff;
  border-left-color: var(--aureus-emerald);
  background-color: rgba(16, 185, 129, 0.12);
}

.main-content-wrapper {
  min-height: 100vh;
  overflow-y: auto;
  background-color: var(--aureus-canvas);
}

.bg-canvas { background-color: var(--aureus-canvas) !important; }

/* Premium Card & Table Utilities (CourseWright-inspired, Aureus palette) */
.card-premium {
  border: 0 !important;
  border-radius: .6rem !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.06) !important;
  background-color: #ffffff !important;
}

/* Accent border utilities for left edge emphasis */
.border-start-teal { border-left: 4px solid var(--aureus-teal) !important; }
.border-start-emerald { border-left: 4px solid var(--aureus-emerald) !important; }
.border-start-gold { border-left: 4px solid var(--aureus-gold) !important; }
.border-start-navy { border-left: 4px solid var(--aureus-navy) !important; }

/* KPI label + value density */
.kpi-label {
  font-size: 0.72rem;
  letter-spacing: .4px;
  text-transform: uppercase;
}
.kpi-value { font-size: 1.55rem; line-height: 1.2; }

/* Premium tables: tighter paddings, crisp borders, clean header */
.table-premium thead th {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.72rem;
  letter-spacing: .3px;
}
.table-premium tbody td, .table-premium tbody th, .table-premium thead th {
  padding: .5rem .75rem;
  vertical-align: middle;
}
.table-premium.table { border-color: #e5e7eb; }
.table-premium tbody tr + tr { border-top: 1px solid #eef2f7; }
.table-premium tbody tr:hover { background-color: #f8fafc; }

/* Dark panel polish */
.panel-dark {
  background-color: var(--aureus-navy) !important;
  color: #ffffff !important;
  box-shadow: 0 6px 16px rgba(0,0,0,.18) !important;
}
