/* --- TEEMAT --- */
/* Oletusteema (tumma) on määritelty base.css-tiedostossa :root-tasolla */

/* === UUDET ASETUKSET (Fontti, Tiheys, Viikonloput) === */

/* Elementtien tiheys/väljyys */
body.layout-compact .calendar-body .week-number,
body.layout-compact .calendar-body .day-box {
  min-height: 85px; /* cite: 5 */ padding: 0.3rem; /* cite: 5 */ font-size: 0.85rem; /* cite: 5 */
}
body.layout-compact .calendar-body .day-box::first-line {
    font-size: 0.85rem; /* cite: 5 */ padding-bottom: 0.15em; /* cite: 5 */
}
body.layout-compact .day-entries-container {
  font-size: 0.65rem; /* cite: 5 */ gap: 1px; /* cite: 5 */ max-height: calc(100% - 1.5em); /* cite: 5 */ margin-top: 0.15rem; /* cite: 5 */
}
body.layout-compact .day-note-preview,
body.layout-compact .day-event-title {
  padding: 1px 3px; /* cite: 5 */ margin-bottom: 1px; /* cite: 5 */ font-size: 0.8em; /* cite: 5 */
}
body.layout-compact .month-header {
  font-size: 1.1rem; /* cite: 5 */ margin-bottom: 0.8rem; /* cite: 5 */
}
body.layout-compact .month-header button,
body.layout-compact .month-header select {
  padding: 0.3rem 0.6rem; /* cite: 5 */ font-size: 0.9rem; /* cite: 5 */
}
body.layout-compact .nav-buttons button {
    padding: 0.4rem 0.8rem; /* cite: 5 */ font-size: 0.9rem; /* cite: 5 */
}
body.layout-compact .agenda-item {
  padding: 0.6rem 0.9rem; /* cite: 5 */ margin-bottom: 0.5rem; /* cite: 5 */
}
body.layout-compact .agenda-item-time { flex-basis: 100px; /* cite: 5 */ font-size: 0.85em; /* cite: 5 */ }
body.layout-compact .agenda-item-title { font-size: 0.95em; /* cite: 5 */ }
body.layout-compact .agenda-item-category { font-size: 0.75em; /* cite: 5 */ }
body.layout-compact .agenda-item-location,
body.layout-compact .agenda-item-description { font-size: 0.8em; /* cite: 5 */ margin-top: 0.2rem; /* cite: 5 */ }
body.layout-compact .modal-content { padding: 15px; /* cite: 5 */ }
body.layout-compact .modal-content h2 { font-size: 1.3rem; /* cite: 5 */ margin-bottom: 0.8rem; /* cite: 5 */ }
body.layout-compact .modal-content form .form-group,
body.layout-compact .modal-content form > div:not(.error-message):not(.success-message) {
    margin-bottom: 0.8rem; /* cite: 5 */
}
body.layout-compact .modal-content form input[type="email"],
body.layout-compact .modal-content form input[type="password"],
body.layout-compact .modal-content form input[type="text"],
body.layout-compact .modal-content form input[type="date"],
body.layout-compact .modal-content form input[type="datetime-local"],
body.layout-compact .modal-content form input[type="color"],
body.layout-compact .modal-content form textarea,
body.layout-compact .modal-content form select { padding: 0.6rem; /* cite: 5 */ font-size: 0.9rem; /* cite: 5 */ }
body.layout-compact .btn { padding: 0.6rem 1.2rem; /* cite: 5 */ font-size: 0.9rem; /* cite: 5 */ }
body.layout-compact .btn.btn-small { padding: 0.2rem 0.5rem; /* cite: 5 */ font-size: 0.75rem; /* cite: 5 */ }
body.layout-compact footer { padding: 0.8rem 1.5rem; /* cite: 5 */ }


/* Viikonloppujen korostus */
.day-box.weekend-highlight { background-color: #252535; /* cite: 5 */ }
.day-box.today.weekend-highlight { background-color: var(--today-highlight); /* cite: 5 */ }
.day-box.empty.weekend-highlight { background-color: #1a1a27; /* cite: 5 */ }


/* === TEEMAKOHTAISET SÄÄDÖT === */

/* Korkean kontrastin tumma teema */
body.theme-high-contrast-dark {
  --dark-bg: #000000; /* cite: 5 */ --accent: #111111; /* cite: 5 */ --highlight: #222222; /* cite: 5 */ --text-light: #dddddd; /* cite: 5 */
  --text-bright: #ffffff; /* cite: 5 */ --gradient: linear-gradient(to right, #222222, #000000); /* cite: 5 */ --today-highlight: #333355; /* cite: 5 */
}
body.theme-high-contrast-dark .calendar-body {
  background: #050505; /* Tummempi tausta, jotta raja näkyy paremmin */ /* cite: 5 */
}
body.theme-high-contrast-dark .calendar-body .day-box {
  background: var(--highlight); /* cite: 5 */
  color: var(--text-light); /* cite: 5 */
  border: 1px solid #111111; /* Tummempi raja kuin highlight, näkyy paremmin */ /* cite: 5 */
}
body.theme-high-contrast-dark .calendar-body .day-box.empty { background-color: #0a0a0a; /* cite: 5 */ }
body.theme-high-contrast-dark .modal-content form input,
body.theme-high-contrast-dark .modal-content form textarea,
body.theme-high-contrast-dark .modal-content form select { background: #1a1a1a; /* cite: 5 */ border-color: #333; /* cite: 5 */ }
body.theme-high-contrast-dark .day-box.weekend-highlight { background-color: #181818; /* cite: 5 */ }
body.theme-high-contrast-dark .day-box.empty.weekend-highlight { background-color: #0f0f0f; /* cite: 5 */ }


/* Vaalea teema */
body.theme-light {
  --dark-bg: #f4f4f8; /* cite: 5 */ --accent: #ffffff; /* cite: 5 */ --highlight: #e8eaf6; /* cite: 5 */ --text-light: #37474f; /* cite: 5 */
  --text-bright: #263238; /* cite: 5 */ --gradient: linear-gradient(to right, #d1d9e6, #e8eaf6); /* cite: 5 */
  --today-highlight: #d1c4e9; /* cite: 5 */ --success: #66bb6a; /* cite: 5 */ --error: #ef5350; /* cite: 5 */ --warning: #ffa726; /* cite: 5 */
}
body.theme-light header, body.theme-light footer { background: var(--highlight); /* cite: 5 */ border-image: var(--gradient) 1; /* cite: 5 */ }
body.theme-light .calendar { background-color: var(--accent); /* cite: 5 */ box-shadow: 0 2px 8px rgba(0,0,0,0.08); /* cite: 5 */ }
body.theme-light .calendar-body {
    background: #afb1be; /* Tummempi tausta, jotta raja näkyy paremmin */ /* cite: 5 */
}
body.theme-light .calendar-body .day-box {
    background: var(--accent); /* cite: 5 */
    color: var(--text-light); /* cite: 5 */
    border: 1px solid #d1d9e6; /* Tummempi raja kuin accent, näkyy paremmin */ /* cite: 5 */
}
body.theme-light .calendar-body .day-box:hover { background-color: #f0f2f9; /* cite: 5 */ }
body.theme-light .calendar-body .week-number { background: var(--highlight); /* cite: 5 */ color: var(--text-bright); /* cite: 5 */ border: 1px solid #c5cae9; /* cite: 5 */ }
body.theme-light .calendar-body .day-box.empty { background-color: #f5f7fa; /* cite: 5 */ border-color: #eef2f7; /* cite: 5 */ }
body.theme-light .calendar-body .day-box.today { background-color: var(--today-highlight); /* cite: 5 */ color: #2d2156; /* cite: 5 */ outline-color: #8e7cc3; /* cite: 5 */}
body.theme-light .month-header button, body.theme-light .month-header select { background-color: var(--highlight); /* cite: 5 */ color: var(--text-bright); /* cite: 5 */ border: 1px solid #c5cae9; /* cite: 5 */ }
body.theme-light .month-header button:hover, body.theme-light .month-header select:hover { background-color: #d8ddeb; /* cite: 5 */ }
body.theme-light .nav-buttons button { background-color: #d1d9e6; /* cite: 5 */ color: var(--text-bright); /* cite: 5 */ border: 1px solid #b3bce0; /* cite: 5 */ }
body.theme-light .nav-buttons button:hover { background-color: #c5cae9; /* cite: 5 */ }
body.theme-light .modal-content { background-color: #fdfdff; /* cite: 5 */ border-color: #d8ddeb; /* cite: 5 */ box-shadow: 0 3px 10px rgba(0,0,0,0.1); /* cite: 5 */}
body.theme-light .modal-content h2, body.theme-light .modal-content h3, body.theme-light .modal-content label, .settings-options > label { color: var(--text-bright); /* cite: 5 */ }
body.theme-light .modal-content form input,
body.theme-light .modal-content form textarea,
body.theme-light .modal-content form select { background: #ffffff; /* cite: 5 */ color: var(--text-light); /* cite: 5 */ border-color: #c5cae9; /* cite: 5 */ }
body.theme-light .btn-primary { background: linear-gradient(45deg, #5c6bc0, #3f51b5); /* cite: 5 */ }
body.theme-light .btn-primary:hover { background: linear-gradient(45deg, #3f51b5, #303f9f); /* cite: 5 */ }
body.theme-light .day-note-preview { background-color: rgba(0, 0, 0, 0.03); /* cite: 5 */ color: #455a64; /* cite: 5 */ }
body.theme-light .day-event-title { color: var(--text-bright); /* cite: 5 */ }
body.theme-light .agenda-item { background-color: var(--accent); /* cite: 5 */ border: 1px solid var(--highlight); /* cite: 5 */ }
body.theme-light .agenda-date-header { color: var(--text-bright); /* cite: 5 */ border-bottom-color: var(--highlight); /* cite: 5 */ }
body.theme-light #cookieConsentBanner { background-color: #e8eaf6; /* cite: 5 */ color: var(--text-light); /* cite: 5 */ box-shadow: 0 -1px 5px rgba(0,0,0,0.1); /* cite: 5 */}
body.theme-light .mini-calendar-container { background-color: #fdfdff; /* cite: 5 */ border-color: var(--highlight); /* cite: 5 */ }
body.theme-light .mini-calendar-day { background-color: var(--highlight); /* cite: 5 */ color: var(--text-light); /* cite: 5 */ }
body.theme-light .mini-calendar-day:hover { background-color: #d8ddeb; /* cite: 5 */ }
body.theme-light .mini-calendar-day.other-month { background-color: transparent; /* cite: 5 */ color: #90a4ae; /* cite: 5 */ }
body.theme-light .mini-calendar-day.selected-date-highlight { background-color: var(--today-highlight); /* cite: 5 */ color: #2d2156; /* cite: 5 */ }
body.theme-light .news-item { background-color: #f7f9fc; /* cite: 5 */ border-left-color: var(--highlight); /* cite: 5 */ border: 1px solid var(--highlight); /* cite: 5 */ }
body.theme-light .news-item-header { border-bottom-color: var(--highlight); /* cite: 5 */ }
body.theme-light .editor-help-box { background-color: #f0f2f9; /* cite: 5 */ border-color: #d8ddeb; /* cite: 5 */ }
body.theme-light .editor-help-box code { background-color: rgba(0, 0, 0, 0.08); /* cite: 5 */ }
body.theme-light .day-box.weekend-highlight { background-color: #e9eff8; /* cite: 5 */ }
body.theme-light .day-box.empty.weekend-highlight { background-color: #f0f0f0; /* cite: 5 */ }
body.theme-light .settings-options > label { color: var(--text-bright); /* cite: 5 */ }
body.theme-light input[type="range"] { background: #dde1eb; /* cite: 5 */ }
body.theme-light input[type="range"]::-webkit-slider-thumb { background: #5c6bc0; /* cite: 5 */ border-color: #fdfdff; /* cite: 5 */ }
body.theme-light input[type="range"]::-moz-range-thumb { background: #5c6bc0; /* cite: 5 */ border-color: #fdfdff; /* cite: 5 */ }
body.theme-light .checkbox-container label::before { background: #fdfdff; /* cite: 5 */ border-color: #c5cae9; /* cite: 5 */ }
body.theme-light .checkbox-container label::after { border-color: var(--text-bright); /* cite: 5 */ }
body.theme-light .checkbox-container input[type="checkbox"]:checked + label::before { background-color: #5c6bc0; /* cite: 5 */ border-color: #3f51b5; /* cite: 5 */ }

/* Metsänvihreä teema */
body.theme-forest-green {
  --dark-bg: #1c2e27; /* cite: 5 */ /* Tumma metsänvihreä tausta */
  --accent: #2e4a3e; /* cite: 5 */ /* Syvempi vihreä korostus */
  --highlight: #456d5b; /* cite: 5 */ /* Vaaleampi vihreä korostus */
  --text-light: #e0f2f1; /* cite: 5 */ /* Vaalea teksti */
  --text-bright: #ffffff; /* cite: 5 */ /* Kirkas teksti */
  --gradient: linear-gradient(to right, #3a5c4e, #2e4a3e); /* cite: 5 */ /* Vihreä liukuväri */
  --today-highlight: #5b8a77; /* cite: 5 */ /* Tämän päivän korostus */
  --success: #66bb6a; /* cite: 5 */
  --error: #ef5350; /* cite: 5 */
  --warning: #ffa726; /* cite: 5 */
}
body.theme-forest-green header, body.theme-forest-green footer { background: var(--accent); /* cite: 5 */ border-image: var(--gradient) 1; /* cite: 5 */ }
body.theme-forest-green .calendar { background-color: var(--accent); /* cite: 5 */ }
body.theme-forest-green .calendar-body {
    background: #111e19; /* TUMMEMPI: Tausta joka muodostaa rajat */ /* cite: 5 */
}
body.theme-forest-green .calendar-body .day-box {
    background: var(--highlight); /* cite: 5 */
    color: var(--text-light); /* cite: 5 */
    border: 1px solid #1c2e27; /* Tummempi raja kuin highlight, näkyy paremmin */ /* cite: 5 */
}
body.theme-forest-green .calendar-body .day-box:hover { background-color: #5a8775; /* cite: 5 */ }
body.theme-forest-green .calendar-body .week-number { background: var(--accent); /* cite: 5 */ color: var(--text-bright); /* cite: 5 */ }
body.theme-forest-green .calendar-body .day-box.empty { background-color: var(--dark-bg); /* cite: 5 */ }
body.theme-forest-green .calendar-body .day-box.today { background-color: var(--today-highlight); /* cite: 5 */ outline-color: #88bbaa; /* cite: 5 */}
body.theme-forest-green .month-header button, body.theme-forest-green .month-header select { background-color: var(--highlight); /* cite: 5 */ color: var(--text-bright); /* cite: 5 */ }
body.theme-forest-green .month-header button:hover, body.theme-forest-green .month-header select:hover { background-color: #5a8775; /* cite: 5 */ }
body.theme-forest-green .nav-buttons button { background-color: var(--highlight); /* cite: 5 */ color: var(--text-bright); /* cite: 5 */ }
body.theme-forest-green .nav-buttons button:hover { background-color: #5a8775; /* cite: 5 */ }
body.theme-forest-green .modal-content { background-color: var(--accent); /* cite: 5 */ border-color: var(--highlight); /* cite: 5 */ }
body.theme-forest-green .modal-content form input,
body.theme-forest-green .modal-content form textarea,
body.theme-forest-green .modal-content form select { background: #264035; /* cite: 5 */ color: var(--text-bright); /* cite: 5 */ border-color: var(--highlight); /* cite: 5 */ }
body.theme-forest-green .btn-primary { background: linear-gradient(45deg, #4CAF50, #81C784); /* cite: 5 */ }
body.theme-forest-green .btn-primary:hover { background: linear-gradient(45deg, #388E3C, #66BB6A); /* cite: 5 */ }
body.theme-forest-green .day-note-preview { background-color: rgba(255, 255, 255, 0.08); /* cite: 5 */ }
body.theme-forest-green .agenda-item { background-color: var(--accent); /* cite: 5 */ border: 1px solid var(--highlight); /* cite: 5 */ }
body.theme-forest-green #cookieConsentBanner { background-color: var(--accent); /* cite: 5 */ color: var(--text-light); /* cite: 5 */ }
body.theme-forest-green .mini-calendar-container { background-color: var(--accent); /* cite: 5 */ border-color: var(--highlight); /* cite: 5 */ }
body.theme-forest-green .mini-calendar-day { background-color: var(--highlight); /* cite: 5 */ color: var(--text-light); /* cite: 5 */ }
body.theme-forest-green .mini-calendar-day:hover { background-color: #5a8775; /* cite: 5 */ }
body.theme-forest-green .mini-calendar-day.other-month { background-color: transparent; /* cite: 5 */ color: #a7d3c0; /* cite: 5 */ }
body.theme-forest-green .mini-calendar-day.selected-date-highlight { background-color: var(--today-highlight); /* cite: 5 */ color: var(--text-bright); /* cite: 5 */ }
body.theme-forest-green .news-item { background-color: rgba(255, 255, 255, 0.03); /* cite: 5 */ border-left-color: var(--highlight); /* cite: 5 */ }
body.theme-forest-green .editor-help-box { background-color: rgba(0, 0, 0, 0.2); /* cite: 5 */ border-color: var(--highlight); /* cite: 5 */ }
body.theme-forest-green input[type="range"] { background: var(--highlight); /* cite: 5 */ }
body.theme-forest-green input[type="range"]::-webkit-slider-thumb { background: #4CAF50; /* cite: 5 */ border-color: var(--accent); /* cite: 5 */ }
body.theme-forest-green input[type="range"]::-moz-range-thumb { background: #4CAF50; /* cite: 5 */ border-color: var(--accent); /* cite: 5 */ }
body.theme-forest-green .checkbox-container label::before { background: var(--dark-bg); /* cite: 5 */ border-color: var(--highlight); /* cite: 5 */ }
body.theme-forest-green .checkbox-container input[type="checkbox"]:checked + label::before { background-color: #4CAF50; /* cite: 5 */ border-color: #388E3C; /* cite: 5 */ }
body.theme-forest-green .day-box.weekend-highlight { background-color: #3a5c4e; /* cite: 5 */ }
body.theme-forest-green .day-box.empty.weekend-highlight { background-color: #1e362c; /* cite: 5 */ }

/* Merensininen teema */
body.theme-ocean-blue {
  --dark-bg: #1a2a3a; /* cite: 5 */
  --accent: #2a3e50; /* cite: 5 */
  --highlight: #3a5266; /* cite: 5 */
  --text-light: #e0f7fa; /* cite: 5 */
  --text-bright: #ffffff; /* cite: 5 */
  --gradient: linear-gradient(to right, #3a5266, #2a3e50); /* cite: 5 */
  --today-highlight: #5b7f9c; /* cite: 5 */
  --success: #4CAF50; /* cite: 5 */
  --error: #f44336; /* cite: 5 */
  --warning: #ff9800; /* cite: 5 */
}
body.theme-ocean-blue header, body.theme-ocean-blue footer { background: var(--accent); /* cite: 5 */ border-image: var(--gradient) 1; /* cite: 5 */ }
body.theme-ocean-blue .calendar { background-color: var(--accent); /* cite: 5 */ }
body.theme-ocean-blue .calendar-body {
    background: #111a24; /* TUMMEMPI: Tausta joka muodostaa rajat */ /* cite: 5 */
}
body.theme-ocean-blue .calendar-body .day-box {
    background: var(--highlight); /* cite: 5 */
    color: var(--text-light); /* cite: 5 */
    border: 1px solid #1a2a3a; /* Tummempi raja kuin highlight, näkyy paremmin */ /* cite: 5 */
}
body.theme-ocean-blue .calendar-body .day-box:hover { background-color: #4a687d; /* cite: 5 */ }
body.theme-ocean-blue .calendar-body .week-number { background: var(--accent); /* cite: 5 */ color: var(--text-bright); /* cite: 5 */ }
body.theme-ocean-blue .calendar-body .day-box.empty { background-color: var(--dark-bg); /* cite: 5 */ }
body.theme-ocean-blue .calendar-body .day-box.today { background-color: var(--today-highlight); /* cite: 5 */ outline-color: #88bbed; /* cite: 5 */}
body.theme-ocean-blue .month-header button, body.theme-ocean-blue .month-header select { background-color: var(--highlight); /* cite: 5 */ color: var(--text-bright); /* cite: 5 */ }
body.theme-ocean-blue .month-header button:hover, body.theme-ocean-blue .month-header select:hover { background-color: #4a687d; /* cite: 5 */ }
body.theme-ocean-blue .nav-buttons button { background-color: var(--highlight); /* cite: 5 */ color: var(--text-bright); /* cite: 5 */ }
body.theme-ocean-blue .nav-buttons button:hover { background-color: #4a687d; /* cite: 5 */ }
body.theme-ocean-blue .modal-content { background-color: var(--accent); /* cite: 5 */ border-color: var(--highlight); /* cite: 5 */ }
body.theme-ocean-blue .modal-content form input,
body.theme-ocean-blue .modal-content form textarea,
body.theme-ocean-blue .modal-content form select { background: #203342; /* cite: 5 */ color: var(--text-bright); /* cite: 5 */ border-color: var(--highlight); /* cite: 5 */ }
body.theme-ocean-blue .btn-primary { background: linear-gradient(45deg, #2196F3, #64B5F6); /* cite: 5 */ }
body.theme-ocean-blue .btn-primary:hover { background: linear-gradient(45deg, #1976D2, #42A5F5); /* cite: 5 */ }
body.theme-ocean-blue .day-note-preview { background-color: rgba(255, 255, 255, 0.08); /* cite: 5 */ }
body.theme-ocean-blue .agenda-item { background-color: var(--accent); /* cite: 5 */ border: 1px solid var(--highlight); /* cite: 5 */ }
body.theme-ocean-blue #cookieConsentBanner { background-color: var(--accent); /* cite: 5 */ color: var(--text-light); /* cite: 5 */ }
body.theme-ocean-blue .mini-calendar-container { background-color: var(--accent); /* cite: 5 */ border-color: var(--highlight); /* cite: 5 */ }
body.theme-ocean-blue .mini-calendar-day { background-color: var(--highlight); /* cite: 5 */ color: var(--text-light); /* cite: 5 */ }
body.theme-ocean-blue .mini-calendar-day:hover { background-color: #4a687d; /* cite: 5 */ }
body.theme-ocean-blue .mini-calendar-day.other-month { background-color: transparent; /* cite: 5 */ color: #a7d9f0; /* cite: 5 */ }
body.theme-ocean-blue .mini-calendar-day.selected-date-highlight { background-color: var(--today-highlight); /* cite: 5 */ color: var(--text-bright); /* cite: 5 */ }
body.theme-ocean-blue .news-item { background-color: rgba(255, 255, 255, 0.03); /* cite: 5 */ border-left-color: var(--highlight); /* cite: 5 */ }
body.theme-ocean-blue .editor-help-box { background-color: rgba(0, 0, 0, 0.2); /* cite: 5 */ border-color: var(--highlight); /* cite: 5 */ }
body.theme-ocean-blue input[type="range"] { background: var(--highlight); /* cite: 5 */ }
body.theme-ocean-blue input[type="range"]::-webkit-slider-thumb { background: #2196F3; /* cite: 5 */ border-color: var(--accent); /* cite: 5 */ }
body.theme-ocean-blue input[type="range"]::-moz-range-thumb { background: #2196F3; /* cite: 5 */ border-color: var(--accent); /* cite: 5 */ }
body.theme-ocean-blue .checkbox-container label::before { background: var(--dark-bg); /* cite: 5 */ border-color: var(--highlight); /* cite: 5 */ }
body.theme-ocean-blue .checkbox-container input[type="checkbox"]:checked + label::before { background-color: #2196F3; /* cite: 5 */ border-color: #1976D2; /* cite: 5 */ }
body.theme-ocean-blue .day-box.weekend-highlight { background-color: #2a3e50; /* cite: 5 */ }
body.theme-ocean-blue .day-box.empty.weekend-highlight { background-color: #1f2a3a; /* cite: 5 */ }

/* Lämmin harmaa teema */
body.theme-warm-gray {
  --dark-bg: #3a3835; /* cite: 5 */
  --accent: #4a4845; /* cite: 5 */
  --highlight: #66635f; /* cite: 5 */
  --text-light: #f5f5f5; /* cite: 5 */
  --text-bright: #ffffff; /* cite: 5 */
  --gradient: linear-gradient(to right, #66635f, #4a4845); /* cite: 5 */
  --today-highlight: #888581; /* cite: 5 */
  --success: #8BC34A; /* cite: 5 */
  --error: #FF5722; /* cite: 5 */
  --warning: #FFC107; /* cite: 5 */
}
body.theme-warm-gray header, body.theme-warm-gray footer { background: var(--accent); /* cite: 5 */ border-image: var(--gradient) 1; /* cite: 5 */ }
body.theme-warm-gray .calendar { background-color: var(--accent); /* cite: 5 */ }
body.theme-warm-gray .calendar-body {
    background: #252422; /* TUMMEMPI: Tausta joka muodostaa rajat */ /* cite: 5 */
}
body.theme-warm-gray .calendar-body .day-box {
    background: var(--highlight); /* cite: 5 */
    color: var(--text-light); /* cite: 5 */
    border: 1px solid #3a3835; /* Tummempi raja kuin highlight, näkyy paremmin */ /* cite: 5 */
}
body.theme-warm-gray .calendar-body .day-box:hover { background-color: #7a7773; /* cite: 5 */ }
body.theme-warm-gray .calendar-body .week-number { background: var(--accent); /* cite: 5 */ color: var(--text-bright); /* cite: 5 */ }
body.theme-warm-gray .calendar-body .day-box.empty { background-color: var(--dark-bg); /* cite: 5 */ }
body.theme-warm-gray .calendar-body .day-box.today { background-color: var(--today-highlight); /* cite: 5 */ outline-color: #bba69e; /* cite: 5 */}
body.theme-warm-gray .month-header button, body.theme-warm-gray .month-header select { background-color: var(--highlight); /* cite: 5 */ color: var(--text-bright); /* cite: 5 */ }
body.theme-warm-gray .month-header button:hover, body.theme-warm-gray .month-header select:hover { background-color: #7a7773; /* cite: 5 */ }
body.theme-warm-gray .nav-buttons button { background-color: var(--highlight); /* cite: 5 */ color: var(--text-bright); /* cite: 5 */ }
body.theme-warm-gray .nav-buttons button:hover { background-color: #7a7773; /* cite: 5 */ }
body.theme-warm-gray .modal-content { background-color: var(--accent); /* cite: 5 */ border-color: var(--highlight); /* cite: 5 */ }
body.theme-warm-gray .modal-content form input,
body.theme-warm-gray .modal-content form textarea,
body.theme-warm-gray .modal-content form select { background: #403e3b; /* cite: 5 */ color: var(--text-bright); /* cite: 5 */ border-color: var(--highlight); /* cite: 5 */ }
body.theme-warm-gray .btn-primary { background: linear-gradient(45deg, #795548, #A1887F); /* cite: 5 */ }
body.theme-warm-gray .btn-primary:hover { background: linear-gradient(45deg, #5D4037, #8D6E63); /* cite: 5 */ }
body.theme-warm-gray .day-note-preview { background-color: rgba(255, 255, 255, 0.08); /* cite: 5 */ }
body.theme-warm-gray .agenda-item { background-color: var(--accent); /* cite: 5 */ border: 1px solid var(--highlight); /* cite: 5 */ }
body.theme-warm-gray #cookieConsentBanner { background-color: var(--accent); /* cite: 5 */ color: var(--text-light); /* cite: 5 */ }
body.theme-warm-gray .mini-calendar-container { background-color: var(--accent); /* cite: 5 */ border-color: var(--highlight); /* cite: 5 */ }
body.theme-warm-gray .mini-calendar-day { background-color: var(--highlight); /* cite: 5 */ color: var(--text-light); /* cite: 5 */ }
body.theme-warm-gray .mini-calendar-day:hover { background-color: #7a7773; /* cite: 5 */ }
body.theme-warm-gray .mini-calendar-day.other-month { background-color: transparent; /* cite: 5 */ color: #a9a49f; /* cite: 5 */ }
body.theme-warm-gray .mini-calendar-day.selected-date-highlight { background-color: var(--today-highlight); /* cite: 5 */ color: var(--text-bright); /* cite: 5 */ }
body.theme-warm-gray .news-item { background-color: rgba(255, 255, 255, 0.03); /* cite: 5 */ border-left-color: var(--highlight); /* cite: 5 */ }
body.theme-warm-gray .editor-help-box { background-color: rgba(0, 0, 0, 0.2); /* cite: 5 */ border-color: var(--highlight); /* cite: 5 */ }
body.theme-warm-gray input[type="range"] { background: var(--highlight); /* cite: 5 */ }
body.theme-warm-gray input[type="range"]::-webkit-slider-thumb { background: #795548; /* cite: 5 */ border-color: var(--accent); /* cite: 5 */ }
body.theme-warm-gray input[type="range"]::-moz-range-thumb { background: #795548; /* cite: 5 */ border-color: var(--accent); /* cite: 5 */ }
body.theme-warm-gray .checkbox-container label::before { background: var(--dark-bg); /* cite: 5 */ border-color: var(--highlight); /* cite: 5 */ }
body.theme-warm-gray .checkbox-container input[type="checkbox"]:checked + label::before { background-color: #795548; /* cite: 5 */ border-color: #5D4037; /* cite: 5 */ }
body.theme-warm-gray .day-box.weekend-highlight { background-color: #4a4845; /* cite: 5 */ }
body.theme-warm-gray .day-box.empty.weekend-highlight { background-color: #3f3c39; /* cite: 5 */ }