:root {
  --theme-primary: #1371B7; --theme-primary-dark: #133759;
  --theme-secondary: #0DA9E0; --theme-accent: #E6F6FC;
  --theme-bg: #F3F7FA; --theme-surface: #FFFFFF;
  --theme-text-preferred: #133759; --theme-text: #133759; --theme-text-on-bg: #133759;
  --theme-text-on-surface: #133759; --theme-on-primary: #FFFFFF; --theme-on-sidebar: #FFFFFF;
  --theme-muted: #526B80;
  --theme-success: #60B24B; --theme-warning: #EA5B2A; --theme-danger: #A93030;
  --theme-sidebar: #133759; --theme-radius: 18px; --theme-shadow: 0 12px 32px rgba(20,46,70,.09);
  --theme-density: 1; --theme-font: Inter, "Segoe UI", system-ui, -apple-system, sans-serif; --theme-sidebar-width: 304px;
    --official-navy: #133759; --official-blue: #1371B7;
  --official-cyan: #0DA9E0; --official-green: #60B24B;
  --official-lime: #8CBF43; --official-orange: #EA5B2A;
  --official-orange-soft: #F39858; --official-gradient-blue: #35A8E0;
  --official-gradient-gold: #F7AD3F;
  --dash-blue: #1371B7; --dash-teal: #1371B7; --dash-cyan: #E6F6FC;
  --dash-bg: #F3F7FA; --dash-surface: #FFFFFF; --dash-text: #133759; --dash-muted: #526B80;
  --dash-danger: #A93030; --dash-sidebar: var(--theme-sidebar-width);
  --home-primary: #1371B7; --home-primary-dark: #133759; --home-accent: #E6F6FC;
  --home-bg: #F3F7FA; --home-white: #FFFFFF; --home-ink: #133759; --home-muted: #526B80;
  --home-danger: #A93030; --home-warning: #EA5B2A;
  --booking-primary: #1371B7; --booking-primary-dark: #133759; --booking-accent: #E6F6FC;
  --booking-bg: #F3F7FA; --booking-white: #FFFFFF; --booking-ink: #133759; --booking-muted: #526B80;
  --booking-danger: #A93030; --booking-success: #60B24B;
  --reservation-primary: #1371B7; --reservation-primary-dark: #133759; --reservation-accent: #E6F6FC;
  --reservation-bg: #F3F7FA; --reservation-white: #FFFFFF; --reservation-ink: #133759; --reservation-muted: #526B80;
  --reservation-danger: #A93030; --reservation-success: #60B24B; --reservation-warning: #EA5B2A;
  --appointment-primary: #1371B7; --appointment-primary-dark: #133759; --appointment-accent: #E6F6FC;
  --appointment-bg: #F3F7FA; --appointment-white: #FFFFFF; --appointment-ink: #133759; --appointment-muted: #526B80;
  --appointment-danger: #A93030; --appointment-success: #60B24B;
  --primary-color: #1371B7; --secondary-color: #0DA9E0; --accent-color: #E6F6FC; --text-color: #133759;
}
html { font-size: 16px; }
body { font-family: var(--theme-font); }
.dashboard-sidebar {
  background: radial-gradient(circle at 20% 0, rgba(13,169,224,.22), transparent 35%),
    linear-gradient(180deg, #133759, #0F2F4D 62%, #133759);
}
.dashboard-nav-link.is-active {
  border-color: rgba(53,168,224,.32);
  background: linear-gradient(100deg, rgba(19,113,183,.48), rgba(13,169,224,.16));
  box-shadow: inset 3px 0 #35A8E0, 0 7px 20px rgba(0,0,0,.08);
}
.dashboard-nav-link:hover .dashboard-nav-icon,
.dashboard-nav-link.is-active .dashboard-nav-icon { background: rgba(53,168,224,.18); color: #7DD3F3; }
.dashboard-session-dot { background: #60B24B; box-shadow: 0 0 0 4px rgba(96,178,75,.15); }
:focus-visible { outline-color: #0DA9E0 !important; }
a { text-decoration-thickness: .08em; }