
/* -------------------------------------------------- */
/* Manual toggle
/* -------------------------------------------------- */
html.theme-dark{
  color-scheme: dark;

  /* Core palette */
  --dm-bg: #0b0f14;
  --dm-surface: #0f172a;
  --dm-surface-2: #111827;
  --dm-text: #e5e7eb;
  --dm-muted: #9ca3af;
  --dm-border: #2b3440;

  /* Brand */
  --dm-link: #60a5fa;     /* readable on dark */
  --dm-brand: #3b82f6;    /* button fill */
  --dm-brand-soft: rgba(96,165,250,.12);
}
html.theme-dark,
html.theme-dark body{
  background: var(--dm-bg);
  color: var(--dm-text);
}

/* -------------------------------------------------- */
/* Global text + links */
/* -------------------------------------------------- */
@media (prefers-color-scheme: dark){
  body{ color: var(--dm-text); }
  a, a:visited{ color: var(--dm-link); }
  a.hr-logo{ color: var(--dm-text); }
}
html.theme-dark body{ color: var(--dm-text); }
html.theme-dark a,
html.theme-dark a:visited{ color: var(--dm-link); }
html.theme-dark a.hr-logo{ color: var(--dm-text); }

/* Muted text */
@media (prefers-color-scheme: dark){
  .hr-meta,
  .hr-card-nav a{ color: var(--dm-muted); }
}
html.theme-dark .hr-meta,
html.theme-dark .hr-card-nav a{ color: var(--dm-muted); }

html.theme-dark .hr-table-cal.hr-table-cal-full .hr-cal-day{ color: #fff; }

html.theme-dark .hr-table-cal.hr-table-cal-full .hr-table-cal-active .hr-cal-day, 
html.theme-dark .hr-table-cal.hr-table-cal-full .hr-table-cal-active .hr-cal-day:hover{
  background: #fff;
  color: #121212;
}

/* -------------------------------------------------- */
/* Surfaces + borders
/* -------------------------------------------------- */

@media (prefers-color-scheme: dark){
  .hr-header{
    background: var(--dm-surface);
    border-bottom-color: var(--dm-border);
  }

  .hr-main{ background: var(--dm-bg); }

  .hr-card-inside{
    background: var(--dm-surface-2);
    border-color: var(--dm-border);
  }

  table.hr-table td,
  table.hr-table th{ border-bottom-color: var(--dm-border); }

  .hr-table-controls{ border-bottom-color: var(--dm-border); }

  table.hr-table tr:hover{ background-color: rgba(255,255,255,.03); }

  .hr-filter{
    background: var(--dm-surface);
    box-shadow: 0 0 10px rgba(0,0,0,.35);
  }
  .hr-filter-head{ border-bottom-color: var(--dm-border); }
  .hr-btn-filter-group-head{
    background: var(--dm-surface-2);
    border: 1px solid var(--dm-border);
  }
}
html.theme-dark .hr-header{
  background: var(--dm-surface);
  border-bottom-color: var(--dm-border);
}
html.theme-dark .hr-main{ background: var(--dm-bg); }
html.theme-dark .hr-card-inside{
  background: var(--dm-surface-2);
  border-color: var(--dm-border);
}
html.theme-dark table.hr-table td,
html.theme-dark table.hr-table th{ border-bottom-color: var(--dm-border); }
html.theme-dark .hr-table-controls{ border-bottom-color: var(--dm-border); }
html.theme-dark table.hr-table tr:hover{ background-color: rgba(255,255,255,.03); }
html.theme-dark .hr-filter{
  background: var(--dm-surface);
  box-shadow: 0 0 10px rgba(0,0,0,.35);
}
html.theme-dark .hr-filter-head{ border-bottom-color: var(--dm-border); }
html.theme-dark .hr-btn-filter-group-head{
  background: var(--dm-surface-2);
  border: 1px solid var(--dm-border);
}
html.theme-dark .hr-schedule-labels span{
  background: var(--dm-surface);
}

html.theme-dark .hr-cal-populated,
html.theme-dark .hr-slot{ background: rgba(239, 68, 68, 0.12); }

html.theme-dark .hr-slot{ 
  color: #fecaca;
  border-color: #ef4444; 
}

html.theme-dark .hr-badge-success{
  color: #86efac;
  background: rgba(34, 197, 94, 0.15);
}

html.theme-dark .hr-badge-warning{
  color: #fde68a;
  background: rgba(234, 179, 8, 0.18);
}

html.theme-dark .hr-badge-error{
  color: #fecaca;
  background: rgba(239, 68, 68, 0.16);
}

html.theme-dark .hr-badge-info{
  color: #bfdbfe;
  background-color: rgba(59, 130, 246, 0.18);
}

/* -------------------------------------------------- */
/* Forms 
/* -------------------------------------------------- */
@media (prefers-color-scheme: dark){
  input,
  textarea,
  select{
    background: var(--dm-surface-2);
    color: var(--dm-text);
    border-color: var(--dm-border);
  }

  input::placeholder,
  textarea::placeholder{ color: rgba(229,231,235,.55); }

  .hr-filter-search input{
    background-color: var(--dm-surface-2);
    border-color: var(--dm-border);
  }
}
html.theme-dark input,
html.theme-dark textarea,
html.theme-dark select{
  background: var(--dm-surface-2);
  color: var(--dm-text);
  border-color: var(--dm-border);
}
html.theme-dark input::placeholder,
html.theme-dark textarea::placeholder{ color: rgba(229,231,235,.55); }
html.theme-dark .hr-filter-search input{
  background-color: var(--dm-surface-2);
  border-color: var(--dm-border);
}

/* -------------------------------------------------- */
/* Buttons 
/* -------------------------------------------------- */
@media (prefers-color-scheme: dark){
  button{ color: var(--dm-link); }

  .hr-btn{ color: var(--dm-link); }

  .hr-btn:hover,
  .hr-btn.current{ background-color: var(--dm-brand-soft); }

  .hr-btn.hr-btn-outline{ border-color: var(--dm-link); }

  .hr-btn.hr-btn-fill{
    background: var(--dm-brand);
    color: #fff;
  }
  .hr-btn.hr-btn-fill:hover{ background: var(--dm-brand); }
}
html.theme-dark button{ color: var(--dm-link); }
html.theme-dark .hr-btn{ color: var(--dm-link); }
html.theme-dark .hr-btn:hover,
html.theme-dark .hr-btn.current{ background-color: var(--dm-brand-soft); }
html.theme-dark .hr-btn.hr-btn-outline{ border-color: var(--dm-link); }
html.theme-dark .hr-btn.hr-btn-fill{
  background: var(--dm-brand);
  color: #fff;
}
html.theme-dark .hr-btn.hr-btn-fill:hover{ background: var(--dm-brand); }

/* -------------------------------------------------- */
/* Badges 
/* -------------------------------------------------- */
@media (prefers-color-scheme: dark){
  .hr-badge-counter{
    background: var(--dm-surface-2);
    color: var(--dm-text);
  }
  .hr-btn-fill .hr-badge-counter{
    background: #fff;
    color: #121212;
  }
}
html.theme-dark .hr-badge-counter{
  background: var(--dm-surface-2);
  color: var(--dm-text);
}
html.theme-dark .hr-btn-fill .hr-badge-counter{
  background: #fff;
  color: #121212;
}
