/* Next Matter Pro: booking pages, shared-document pages and the admin area.
   These pages carry their own inline styles with a navy header and soft blue
   gradients. This sheet loads after them and brings them in line with the
   training portal: flat light background, white hairline header with the logo
   tile, Inter at 400-700, navy headings, blue primary buttons, 8px corners. */

:root {
  --primary: #0D2C52;
  --primary-dark: #0D2C52;
  --primary-darker: #0D2C52;
  --deep: #0D2C52;
  --deep-2: #0D2C52;
  --bg: #F7F7F8;
  --bg-soft: #FFFFFF;
  --white: #FFFFFF;
  --text: #1C2430;
  --muted: #5B6B7C;
  --muted-2: #5B6B7C;
  --muted-soft: #EEEFF2;
  --border: #DADDE3;
  --border-soft: #DADDE3;
  --shadow: none;
  --shadow-soft: none;
  --radius-xl: 8px;
  --radius-lg: 8px;
  --radius-md: 8px;
  --accent: #1A3CFF;
}

html, body { background: #F7F7F8 !important; }
body {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif !important;
  color: #1C2430 !important;
  background-image: none !important;
  font-size: 15px;
}
h1, h2, h3, h4 { color: #0D2C52; font-weight: 600 !important; letter-spacing: -0.02em; }
h1 { font-size: 1.75rem; }
p, li, .subtitle, .subtext, .panel-copy, .muted-item, .meta-item { color: #5B6B7C; }

/* Header: white, hairline, logo tile */
.site-header, .topbar {
  background: #FFFFFF !important;
  border-bottom: 1px solid #DADDE3 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.site-header .header-inner, .topbar .header-inner { min-height: 72px; }
.site-header .brand, .topbar .brand { gap: 12px; }
.site-header .brand img, .topbar .brand img, .footer-brand img {
  width: 40px !important;
  height: 40px !important;
  max-width: none !important;
  max-height: none !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  box-shadow: none !important;
  object-fit: cover;
}
.site-header .brand-name, .topbar .brand-name, .footer-brand .brand-name {
  color: #0D2C52 !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  text-shadow: none !important;
}
.site-header .brand-name small, .topbar .brand-name small {
  color: #5B6B7C !important;
  font-size: 0.6875rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase;
}
.site-header .nav a, .topbar .nav a, .site-header .header-pill-link, .topbar .header-pill-link {
  color: #1C2430 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  font-weight: 500 !important;
  font-size: 0.9375rem !important;
  padding: 8px 12px !important;
}
.site-header .nav a:hover, .topbar .nav a:hover, .site-header .header-pill-link:hover { background: #F7F7F8 !important; color: #0D2C52 !important; }
.site-header .nav a.is-active, .site-header .nav a.active, .site-header .header-pill-link.is-current, .site-header .header-pill-link.active {
  color: #0D2C52 !important;
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-thickness: 2px;
}
.site-header .header-pill-link.is-primary, .site-header .nav .btn, .topbar .nav .btn {
  background: #1A3CFF !important;
  color: #FFFFFF !important;
  border-radius: 8px !important;
  padding: 10px 16px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.pill-icon { display: none !important; }

/* Buttons */
.btn, .btn-soft, .btn-icon, .wizard-btn, button.btn, a.btn {
  border-radius: 8px !important;
  box-shadow: none !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.btn:hover, .btn-soft:hover { transform: none !important; }
.btn:not(.secondary):not(.btn-soft):not(.danger):not(.btn-icon):not(.link-btn) {
  background: #1A3CFF !important;
  border: 1px solid #1A3CFF !important;
  color: #FFFFFF !important;
}
.btn:not(.secondary):not(.btn-soft):not(.danger):not(.btn-icon):not(.link-btn):hover { background: #1431D6 !important; border-color: #1431D6 !important; }
.btn.secondary, .btn-soft, .btn.btn-soft {
  background: #FFFFFF !important;
  border: 1px solid #0D2C52 !important;
  color: #0D2C52 !important;
}
.btn.secondary:hover, .btn-soft:hover { background: #0D2C52 !important; color: #FFFFFF !important; }
.btn.danger { background: #FFF1F0 !important; border: 1px solid #F3B4AF !important; color: #B3261E !important; }
.btn-icon { background: #FFFFFF !important; border: 1px solid #DADDE3 !important; color: #0D2C52 !important; }
.btn-icon:hover { background: #F7F7F8 !important; }

/* Cards, panels, modals, pills */
.panel, .card, .admin-card, .metric-card, .money-card, .stat-card, .modal-shell, .modal, .summary-card,
.auth-card, .login-card, .form-card, .document-card, .folder-card, .task-card, .invoice-card, .post-card, .team-card,
.booking-card, .slot-card, .calendar-card, .sidebar, .thumb, .wrap > section, .page-card {
  background: #FFFFFF !important;
  border: 1px solid #DADDE3 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  background-image: none !important;
}
.panel-title, .admin-card-top h2, .admin-card-top h3, .metric-card strong, .money-card strong { color: #0D2C52; font-weight: 600; }
.badge, .status-pill, .eyebrow, .tag, .chip {
  border-radius: 999px !important;
  box-shadow: none !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  background-image: none !important;
}
.eyebrow {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  color: #5B6B7C !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase;
  border-radius: 0 !important;
}
.flash {
  border-radius: 8px !important;
  box-shadow: none !important;
  font-weight: 500;
}
.flash:not(.flash-error) { background: #E8F5EC !important; border: 1px solid #B9E4CB !important; color: #0F7B44 !important; }
.flash-error { background: #FFF1F0 !important; border: 1px solid #F3B4AF !important; color: #B3261E !important; }

/* Forms */
input:not([type=checkbox]):not([type=radio]):not([type=range]), select, textarea {
  background: #FFFFFF !important;
  border: 1px solid #C9CED6 !important;
  border-radius: 8px !important;
  color: #1C2430 !important;
  box-shadow: none !important;
  font-family: inherit;
}
input:focus, select:focus, textarea:focus {
  outline: none !important;
  border-color: #0D2C52 !important;
  box-shadow: 0 0 0 3px rgba(26, 60, 255, 0.18) !important;
}
label, .field label, .field > span { color: #1C2430; font-weight: 500; }
input[type=checkbox], input[type=radio] { accent-color: #0D2C52; }

/* Tables */
table { border-collapse: collapse; }
th { color: #5B6B7C; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
th, td { border-color: #DADDE3 !important; }
tr:hover td { background: #F7F7F8; }

/* Footer */
.site-footer, footer {
  background: #FFFFFF !important;
  background-image: none !important;
  color: #1C2430 !important;
  border-top: 1px solid #DADDE3 !important;
  box-shadow: none !important;
}
.site-footer a, footer a, .footer-links a { color: #1C2430 !important; }
.site-footer p, footer p, .footer-copy, .subtext { color: #5B6B7C !important; }
.footer-title { color: #5B6B7C !important; font-size: 0.75rem !important; font-weight: 600 !important; letter-spacing: 0.1em !important; text-transform: uppercase; }
.footer-brand { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }

/* Any remaining decorative background layers */
.bg-stage, .j-halo, .j-bloom, .j-glass, .glow, .orb, .blob { display: none !important; }

/* Page heroes and title bands: flat grey, navy text (booking, shared and admin pages) */
.hero, .hero-panel, section.hero, div.hero {
  background: #EEEFF2 !important;
  background-image: none !important;
  color: #0D2C52 !important;
  border: 1px solid #DADDE3 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
section.hero { border-left: 0 !important; border-right: 0 !important; border-top: 0 !important; border-radius: 0 !important; }
.hero::before, .hero::after, .hero-panel::before, .hero-panel::after { display: none !important; }
.hero h1, .hero h2, .hero-panel h1, .hero-panel h2 { color: #0D2C52 !important; font-weight: 600 !important; letter-spacing: -0.025em !important; }
.hero p, .hero-panel p, .hero .subtitle, .hero .lead { color: #5B6B7C !important; }
.hero .eyebrow, .hero-panel .eyebrow { color: #5B6B7C !important; }
.hero .btn, .hero-panel .btn { box-shadow: none !important; }
.hero .btn.secondary, .hero-panel .btn.secondary, .hero .btn-soft { background: #FFFFFF !important; color: #0D2C52 !important; border-color: #0D2C52 !important; }
.hero .badge, .hero .status-pill, .hero-panel .badge { background: #FFFFFF !important; color: #0D2C52 !important; border: 1px solid #DADDE3 !important; }
.hero .stat, .hero .metric, .hero-panel .stat { background: #FFFFFF !important; color: #0D2C52 !important; border: 1px solid #DADDE3 !important; border-radius: 8px !important; box-shadow: none !important; }
.footer, .footer-inner { background: #FFFFFF !important; background-image: none !important; color: #1C2430 !important; }
.footer a { color: #1C2430 !important; }
.footer p, .footer small { color: #5B6B7C !important; }
