:root {
    --darkmode-background-color: #1f2327;
    --darkmode-surface-color: #262b31;
    --darkmode-surface-color-soft: #2f353c;
    --darkmode-surface-color-hover: #374151;

    --darkmode-white-color: #f9fafb;
    --darkmode-text-color: #e5e7eb;
    --darkmode-muted-color: #9ca3af;

    --darkmode-border-color: rgba(255, 255, 255, 0.14);
    --darkmode-border-color-soft: rgba(255, 255, 255, 0.09);

    --darkmode-primary-color: #60a5fa;
    --darkmode-primary-color-dark: #2563eb;

    --darkmode-shadow: 0 6px 14px rgba(0, 0, 0, 0.35);
    --darkmode-shadow-soft: 0 2px 8px rgba(0, 0, 0, 0.28);
}

body.darkmode {
    color: var(--darkmode-text-color);
    /*background-image: url("../2_res/background_dark.png");*/
}

body.darkmode::before {
    background-color: rgba(15, 18, 22, 0.72);
}

/**
 * GENERAL SURFACES
 */
body.darkmode .nav-left,
body.darkmode .nav-left-content,
body.darkmode .header-top,
body.darkmode .nav-left-makeSmall,
body.darkmode .global-editable,
body.darkmode .global-data,
body.darkmode .dialog-full-size,
body.darkmode .tasks-additional,
body.darkmode .global-div-tab,
body.darkmode .widget-div,
body.darkmode .flightmap-search-results,
body.darkmode .flightmap-a-toggleChecklist,
body.darkmode .flightmap-a-toggleBrowser,
body.darkmode .flightmap-div-checklist,
body.darkmode .mail-layout,
body.darkmode .mail-toolbar,
body.darkmode .mail-overview,
body.darkmode #messagesContent,
body.darkmode .message-item,
body.darkmode .messages-content-empty,
body.darkmode .login-container,
body.darkmode .dropdown-content,
body.darkmode .location-suggestions,
body.darkmode .fmcl-card,
body.darkmode .fmcl * {
    background-color: var(--darkmode-surface-color);
    color: var(--darkmode-text-color);
    border-color: var(--darkmode-border-color);
}

body.darkmode .global-editable,
body.darkmode .global-data,
body.darkmode .dialog-full-size,
body.darkmode .tasks-additional,
body.darkmode .widget-div,
body.darkmode .flightmap-div-checklist,
body.darkmode .mail-layout,
body.darkmode .login-container,
body.darkmode .dropdown-content,
body.darkmode .location-suggestions,
body.darkmode .fmcl-card {
    box-shadow: var(--darkmode-shadow);
}

/**
 * INPUTs / SELECTs / TEXTAREAs
 */
body.darkmode input,
body.darkmode select,
body.darkmode textarea {
    background-color: rgba(31, 35, 41, 0.96) !important;
    color: var(--darkmode-text-color) !important;
    border-color: var(--darkmode-border-color) !important;
}

body.darkmode input:hover,
body.darkmode input:focus,
body.darkmode select:hover,
body.darkmode select:focus,
body.darkmode textarea:hover,
body.darkmode textarea:focus {
    border-color: rgba(96, 165, 250, 0.55);
    outline: none;
}

body.darkmode input::placeholder,
body.darkmode textarea::placeholder {
    color: var(--darkmode-muted-color);
}

/**
 * GLOBAL BUTTONs
 */
body.darkmode button,
body.darkmode input[type="submit"] {
    background: linear-gradient(135deg, #374151, #1f2937);
    color: var(--darkmode-white-color);
    border-color: var(--darkmode-border-color);
    box-shadow: var(--darkmode-shadow-soft);
}

body.darkmode button:not([disabled]):hover,
body.darkmode input[type="submit"]:not([disabled]):hover,
body.darkmode input[type="submit"]:not([disabled]):focus {
    background: linear-gradient(135deg, var(--darkmode-primary-color-dark), #1e40af);
    color: white;
    border-color: rgba(147, 197, 253, 0.35);
    box-shadow: 0 3px 10px rgba(37, 99, 235, 0.32);
}

body.darkmode button:disabled,
body.darkmode input[type="submit"]:disabled {
    background: linear-gradient(135deg, #374151, #2b3138);
    color: #6b7280;
    border-color: rgba(107, 114, 128, 0.35);
    box-shadow: none;
    cursor: not-allowed;
    opacity: 0.72;
}

/**
 * IMPORTANT BUTTON SPECIALS
 */
body.darkmode .global-button-close {
    background: linear-gradient(135deg, #7f1d1d, #dc2626);
    color: white;
    border-color: rgba(248, 113, 113, 0.32);
}

body.darkmode .global-button-close:hover {
    background: linear-gradient(135deg, #991b1b, #b91c1c) !important;
    color: white !important;
    box-shadow: 0 3px 10px rgba(220, 38, 38, 0.28);
}

body.darkmode .global-button-scroll {
    background-color: var(--darkmode-primary-color-dark);
    color: white;
    box-shadow: var(--darkmode-shadow);
}

body.darkmode .global-button-scroll:hover {
    background-color: #1d4ed8;
}

/**
 * DEFAULT BUTTONS
 */
body.darkmode .defaultButtons-div {
    border-bottom-color: var(--darkmode-border-color-soft);
}

body.darkmode .defaultButtons-div button {
    border-color: rgba(255, 255, 255, 0.16);
    box-shadow: var(--darkmode-shadow-soft);
}

body.darkmode .defaultButtons-div button:hover {
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.36);
}

body.darkmode .defaultButtons-div button:disabled {
    background: linear-gradient(135deg, #374151, #2b3138) !important;
    color: #6b7280 !important;
    border-color: rgba(107, 114, 128, 0.35) !important;
    box-shadow: none !important;
}

body.darkmode .defaultButtons-buttonSave,
body.darkmode .defaultButtons-buttonInsert {
    background: linear-gradient(135deg, #14532d, #16a34a);
    color: white;
}

body.darkmode .defaultButtons-buttonSave:hover,
body.darkmode .defaultButtons-buttonInsert:hover {
    background: linear-gradient(135deg, #166534, #15803d);
}

body.darkmode .defaultButtons-buttonDelete {
    background: linear-gradient(135deg, #7f1d1d, #dc2626);
    color: white;
}

body.darkmode .defaultButtons-buttonDelete:hover {
    background: linear-gradient(135deg, #991b1b, #b91c1c);
}

body.darkmode .defaultButtons-buttonClear {
    background: linear-gradient(135deg, #1e3a8a, #2563eb);
    color: white;
}

body.darkmode .defaultButtons-buttonClear:hover {
    background: linear-gradient(135deg, #1e40af, #1d4ed8);
}

body.darkmode .defaultButtons-button-search {
    background: linear-gradient(135deg, #1f2937, #111827);
    color: #bfdbfe;
    border-color: rgba(96, 165, 250, 0.30);
    box-shadow: 0 1px 5px rgba(96, 165, 250, 0.16);
}

body.darkmode .defaultButtons-button-search:hover {
    background: linear-gradient(135deg, #1e3a8a, #1d4ed8);
    color: white;
    border-color: rgba(147, 197, 253, 0.42);
    box-shadow: 0 3px 10px rgba(37, 99, 235, 0.32);
}

body.darkmode .defaultButtons-button-search:focus-visible {
    outline: 2px solid rgba(96, 165, 250, 0.55);
    outline-offset: 2px;
}

/**
 * HEADER / NAV
 */
body.darkmode .header-top {
    border-bottom-color: var(--darkmode-border-color);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
}

body.darkmode .header-header,
body.darkmode .header-user-name {
    color: var(--darkmode-white-color);
}

body.darkmode .header-user {
    background-color: var(--darkmode-surface-color-soft);
    color: var(--darkmode-text-color);
    border-color: var(--darkmode-border-color);
    box-shadow: var(--darkmode-shadow-soft);
}

body.darkmode .header-user:hover {
    background-color: var(--darkmode-surface-color-hover);
    color: white;
    border-color: rgba(147, 197, 253, 0.32);
}

body.darkmode .header-user:hover .header-user-name {
    color: white;
}

body.darkmode .header-user-icon {
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: white;
}

body.darkmode .nav-left {
    background-color: var(--darkmode-surface-color);
    border-color: var(--darkmode-border-color);
    box-shadow: var(--darkmode-shadow);
}

body.darkmode .nav-left .nav-button {
    background: transparent;
    color: var(--darkmode-text-color);
    border: none;
    box-shadow: none;
}

body.darkmode .nav-left .nav-button:hover,
body.darkmode .nav-left .nav-button:focus {
    background: linear-gradient(135deg, #1e3a8a, #1d4ed8);
    color: white;
}

body.darkmode .nav-label-version {
    color: var(--darkmode-muted-color);
}

/**
 * TABLES / TABS
 */
body.darkmode .global-data-table {
    border-color: var(--darkmode-border-color);
}

body.darkmode .global-data-table th,
body.darkmode .global-data-table td {
    border-color: var(--darkmode-border-color-soft);
    color: var(--darkmode-text-color);
}

body.darkmode .global-data-table tbody tr:hover td,
body.darkmode .global-data-table tbody tr:hover td::before {
    background-color: var(--darkmode-primary-color-dark);
    color: white !important;
}

body.darkmode .global-div-tab {
    background-color: var(--darkmode-surface-color-soft);
    color: var(--darkmode-text-color);
    border-color: var(--darkmode-border-color);
}

body.darkmode .global-div-tab.active {
    color: white;
    background: linear-gradient(135deg, #1e3a8a, #2563eb);
}

body.darkmode .global-div-tab:hover {
    background: linear-gradient(135deg, #1e40af, #1d4ed8);
    color: white;
}

/**
 * DROPDOWN
 */
body.darkmode .dropdown-content {
    background-color: var(--darkmode-surface-color);
    border-color: var(--darkmode-border-color);
}

body.darkmode .dropdown-content a {
    color: var(--darkmode-text-color) !important;
}

body.darkmode .dropdown-content a label,
body.darkmode .dropdown-content a i {
    color: inherit !important;
}

body.darkmode .dropdown-content a:hover,
body.darkmode .dropdown-content a:focus {
    background: linear-gradient(135deg, #1e3a8a, #1d4ed8);
    color: white !important;
}

body.darkmode .dropdown-content a:hover label,
body.darkmode .dropdown-content a:hover i,
body.darkmode .dropdown-content a:focus label,
body.darkmode .dropdown-content a:focus i {
    color: white !important;
}

body.darkmode .dropdown-divider {
    background-color: var(--darkmode-border-color-soft);
}

/**
 * TEXT / LINKS
 */
body.darkmode .missionDiv-labelDate,
body.darkmode .changeData-div-card h2,
body.darkmode .widget-tasks-h4,
body.darkmode .tasks-td-share-user,
body.darkmode .tasks-label-date,
body.darkmode .missions-h3,
body.darkmode a:not(.dropdown-content a) {
    color: #93c5fd;
}

body.darkmode .changeData-lbl-hint {
    color: #f87171;
}

body.darkmode .green {
    color: #4ade80 !important;
}

body.darkmode .orange {
    color: #fb923c !important;
}

/**
 * TASKS
 */
body.darkmode .tasks-div-task {
    background-color: var(--darkmode-surface-color);
    border-color: var(--darkmode-border-color);
    box-shadow: var(--darkmode-shadow-soft);
}

body.darkmode .tasks-create-card,
body.darkmode .tasks-div-filter {
    background: var(--darkmode-surface-color);
    border-color: var(--darkmode-border-color);
    box-shadow: var(--darkmode-shadow);
}

body.darkmode .tasks-create-title,
body.darkmode .tasks-create-title strong,
body.darkmode .tasks-date-title,
body.darkmode .tasks-label-task {
    color: var(--darkmode-white-color);
}

body.darkmode .tasks-field,
body.darkmode .tasks-field > label,
body.darkmode .tasks-label-categorie,
body.darkmode .tasks-label-priority {
    color: var(--darkmode-muted-color);
}

body.darkmode .tasks-date-badge {
    background: rgba(37, 99, 235, 0.18);
    color: #bfdbfe;
    border-color: rgba(96, 165, 250, 0.32);
}

body.darkmode .tasks-count-badge {
    background: var(--darkmode-surface-color-soft);
    color: var(--darkmode-text-color);
    border-color: var(--darkmode-border-color);
}

body.darkmode .tasks-filter-control i {
    color: var(--darkmode-muted-color);
}

body.darkmode .tasks-field select {
    background-image:
            linear-gradient(45deg, transparent 50%, var(--darkmode-muted-color) 50%),
            linear-gradient(135deg, var(--darkmode-muted-color) 50%, transparent 50%);
}

body.darkmode .tasks-button-day,
body.darkmode .tasks-button-clear-date,
body.darkmode .tasks-button-time,
body.darkmode .tasks-button-sort {
    background: var(--darkmode-surface-color-soft);
    color: var(--darkmode-text-color);
    border-color: var(--darkmode-border-color);
    box-shadow: var(--darkmode-shadow-soft);
}

body.darkmode .tasks-button-day:hover,
body.darkmode .tasks-button-clear-date:hover,
body.darkmode .tasks-button-time:hover,
body.darkmode .tasks-button-sort:hover {
    background: var(--darkmode-surface-color-hover) !important;
    color: white !important;
}

body.darkmode .tasks-div-task:hover,
body.darkmode .tasks-div-task-hover {
    box-shadow: var(--darkmode-shadow);
}

body.darkmode .tasks-additional-tabs,
body.darkmode .tasks-div-filter {
    border-color: var(--darkmode-border-color-soft);
}

body.darkmode .tasks-tr-comment {
    border-color: var(--darkmode-border-color-soft);
}

body.darkmode .tasks-tr-comment.white {
    background-color: var(--darkmode-surface-color);
    color: var(--darkmode-text-color);
}

body.darkmode .tasks-tr-comment.gray {
    background-color: rgba(255, 255, 255, 0.07);
    color: var(--darkmode-text-color);
}

body.darkmode .tasks-additional {
    background: rgba(38, 43, 49, 0.98);
    border-color: var(--darkmode-border-color);
    box-shadow: var(--darkmode-shadow);
}

body.darkmode .tasks-additional-buttons {
    border-bottom-color: var(--darkmode-border-color-soft);
}

body.darkmode .tasks-additional-title {
    color: var(--darkmode-white-color);
}

body.darkmode .tasks-additional .global-div-tab {
    background: var(--darkmode-surface-color-soft);
    color: var(--darkmode-text-color);
    border-color: var(--darkmode-border-color);
    box-shadow: none;
}

body.darkmode .tasks-additional .global-div-tab.active,
body.darkmode .tasks-additional .global-div-tab:hover {
    background: linear-gradient(135deg, #1e3a8a, #2563eb);
    color: white;
    border-color: rgba(147, 197, 253, 0.35);
    box-shadow: 0 6px 18px rgba(37, 99, 235, 0.28);
}

body.darkmode .tasks-additional-inputs,
body.darkmode .tasks-additional-table .tab-share.tab-active,
body.darkmode .tasks-additional-table .tab-settings.tab-active,
body.darkmode .tasks-additional-table .tab-progress.tab-active,
body.darkmode .tasks-tr-comment,
body.darkmode #tbodyShare tr {
    background: var(--darkmode-surface-color-soft);
    color: var(--darkmode-text-color);
    border-color: var(--darkmode-border-color-soft);
    box-shadow: var(--darkmode-shadow-soft);
}

body.darkmode .tasks-tr-comment.gray,
body.darkmode .tasks-tr-comment.white {
    background: var(--darkmode-surface-color-soft);
}

body.darkmode .tasks-tr-comment .tasks-td-comment-timestamp,
body.darkmode .tasks-additional-table .global-label-pre {
    color: var(--darkmode-muted-color);
}

body.darkmode .tasks-tr-comment .tasks-td-comment-comment,
body.darkmode .tasks-td-share-user {
    color: var(--darkmode-text-color);
}

/**
 * ROSTER
 */
body.darkmode .roster-head,
body.darkmode .roster-toolbar,
body.darkmode .roster-shift-card,
body.darkmode .roster-setup,
body.darkmode .roster-empty,
body.darkmode .roster-board-empty,
body.darkmode .roster-area-row {
    background: var(--darkmode-surface-color);
    color: var(--darkmode-text-color);
    border-color: var(--darkmode-border-color);
    box-shadow: var(--darkmode-shadow-soft);
}

body.darkmode .roster-shift-head {
    background: var(--darkmode-surface-color-soft);
    border-bottom-color: var(--darkmode-border-color-soft);
}

body.darkmode .roster-setup-head {
    border-bottom-color: var(--darkmode-border-color-soft);
}

body.darkmode .roster-setup-actions {
    border-top-color: var(--darkmode-border-color-soft);
}

body.darkmode .roster-setup-tabs {
    background: var(--darkmode-surface-color-soft);
    border-color: var(--darkmode-border-color);
}

body.darkmode .roster-setup-tabs button {
    color: var(--darkmode-muted-color);
}

body.darkmode .roster-setup-tabs button:hover,
body.darkmode .roster-setup-tabs button.active {
    background: var(--darkmode-surface-color);
    border-color: rgba(147, 197, 253, 0.35);
    color: #bfdbfe;
}

body.darkmode .roster-title h2,
body.darkmode .roster-title h3,
body.darkmode .roster-title h4,
body.darkmode .roster-shift-head strong,
body.darkmode .roster-area-info strong,
body.darkmode .roster-summary strong,
body.darkmode .roster-shift-summary strong,
body.darkmode .roster-empty strong,
body.darkmode .roster-board-empty strong {
    color: var(--darkmode-white-color);
}

body.darkmode .roster-title label,
body.darkmode .roster-field label,
body.darkmode .roster-summary label,
body.darkmode .roster-summary small,
body.darkmode .roster-shift-summary label,
body.darkmode .roster-shift-head label,
body.darkmode .roster-area-info label,
body.darkmode .roster-empty label,
body.darkmode .roster-board-empty label,
body.darkmode .roster-setup-card > label,
body.darkmode .roster-two-cols label,
body.darkmode .roster-selected-shift {
    color: var(--darkmode-muted-color);
}

body.darkmode .roster-date-tab,
body.darkmode .roster-open-slot,
body.darkmode .roster-selected-shift {
    background: var(--darkmode-surface-color-soft);
    color: var(--darkmode-text-color);
    border-color: var(--darkmode-border-color);
}

body.darkmode .roster-date-tab.active,
body.darkmode .roster-date-tab:hover {
    background: linear-gradient(135deg, #1e3a8a, #2563eb);
    color: white;
    border-color: rgba(147, 197, 253, 0.35);
}

body.darkmode .roster-person-chip {
    background: rgba(37, 99, 235, 0.18);
    color: #bfdbfe;
    border-color: rgba(96, 165, 250, 0.32);
}

body.darkmode .roster-qualification-chip,
body.darkmode .roster-mode-badge {
    background: rgba(126, 34, 206, 0.16);
    color: #d8b4fe;
    border-color: rgba(216, 180, 254, 0.26);
}

body.darkmode .roster-mode-badge.edit {
    background: rgba(37, 99, 235, 0.18);
    color: #bfdbfe;
    border-color: rgba(96, 165, 250, 0.32);
}

body.darkmode .roster-version-badge {
    background: rgba(234, 88, 12, 0.16);
    color: #fed7aa;
    border-color: rgba(253, 186, 116, 0.32);
}

body.darkmode .roster-version-badge.published {
    background: rgba(22, 163, 74, 0.16);
    color: #bbf7d0;
    border-color: rgba(134, 239, 172, 0.32);
}

body.darkmode .roster-pdf-stands {
    background: rgba(15, 23, 42, 0.42);
    border-color: rgba(147, 197, 253, 0.22);
    color: var(--darkmode-text-color);
}

body.darkmode .roster-pdf-stand-row button {
    background: rgba(37, 99, 235, 0.2);
    border-color: rgba(147, 197, 253, 0.3);
    color: #bfdbfe;
}

body.darkmode .roster-summary span,
body.darkmode .roster-shift-summary span {
    background: var(--darkmode-surface-color-hover);
}

body.darkmode .global-loading {
    background: rgba(15, 18, 22, 0.6);
}

body.darkmode .global-loading-card {
    background: var(--darkmode-surface-color);
    color: var(--darkmode-text-color);
    border-color: var(--darkmode-border-color);
    box-shadow: var(--darkmode-shadow);
}

body.darkmode .global-loading-card label {
    color: var(--darkmode-text-color);
}

body.darkmode .tasks-label-time,
body.darkmode .tasks-label-progress,
body.darkmode .tasks-i-commentsAvailable,
body.darkmode .tasks-i-sharesAvailable,
body.darkmode .tasks-i-permanent {
    color: var(--darkmode-muted-color);
}

body.darkmode .tasks-i-commentsAvailable {
    color: #93c5fd;
}

body.darkmode .tasks-i-sharesAvailable {
    color: #5eead4;
}

body.darkmode .tasks-i-permanent {
    color: #c4b5fd;
}

body.darkmode .tasks-i-file {
    color: var(--darkmode-text-color);
}

body.darkmode .tasks-button-finishTask {
    background: transparent;
    color: transparent;
    border: 1px solid #64748b !important;
    box-shadow: none;
}

body.darkmode .tasks-button-finishTask:not(:disabled):hover {
    background: transparent;
    color: #4ade80 !important;
    border-color: #4ade80 !important;
    box-shadow: none;
}

body.darkmode .tasks-button-finishTask:disabled {
    background-color: transparent !important;
    color: transparent !important;
    border-color: #475569 !important;
    opacity: 0.55;
}

/**
 * MISSIONS
 */
body.darkmode .missionDiv {
    background-color: var(--darkmode-surface-color);
    border-color: var(--darkmode-border-color);
    box-shadow: var(--darkmode-shadow-soft);
}

body.darkmode .missionDiv-details,
body.darkmode .missionDiv-edit,
body.darkmode .missionDiv-labelDescription,
body.darkmode .missions-div-adminPanel {
    border-color: var(--darkmode-border-color-soft);
}

body.darkmode .missionDiv-labelTitle {
    color: var(--darkmode-white-color) !important;
}

body.darkmode .missionDiv-labelTitle.preplanned {
    color: #cbd5e1 !important;
}

body.darkmode .missionDiv-labelTitle.unpublished,
body.darkmode .missionDiv-labelCategorie {
    color: var(--darkmode-muted-color);
}

body.darkmode .missions-div-hint {
    background: linear-gradient(135deg, #1e3a8a, #1d4ed8);
    box-shadow: var(--darkmode-shadow-soft);
}

/**
 * FLIGHTMAP
 */
body.darkmode .flightmap-a {
    color: #93c5fd;
}

body.darkmode .flightmap-a-toggleChecklist,
body.darkmode .flightmap-a-toggleBrowser,
body.darkmode .flightmap-a-toggleSetWayPoint,
body.darkmode .flightmap-a-deleteLastWaypoint {
    background-color: var(--darkmode-surface-color);
    color: var(--darkmode-text-color);
    border-color: var(--darkmode-border-color);
    box-shadow: var(--darkmode-shadow-soft);
}

body.darkmode .flightmap-a-toggleChecklist:hover,
body.darkmode .flightmap-a-toggleBrowser:hover,
body.darkmode .flightmap-a-toggleSetWayPoint:hover,
body.darkmode .flightmap-a-deleteLastWaypoint:hover {
    background: linear-gradient(135deg, #1e3a8a, #1d4ed8);
    color: white;
}

body.darkmode .flightmap-input-search {
    background-color: rgba(31, 35, 41, 0.96);
    color: var(--darkmode-text-color);
    border-color: var(--darkmode-border-color);
    box-shadow: var(--darkmode-shadow-soft);
}

body.darkmode .flightmap-input-search:focus {
    border-color: rgba(96, 165, 250, 0.55);
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.18);
}

body.darkmode .flightmap-search-icon,
body.darkmode .flightmap-search-clear,
body.darkmode .flightmap-search-type,
body.darkmode .flightmap-search-sub {
    color: var(--darkmode-muted-color);
}

body.darkmode .flightmap-search-clear:hover {
    color: #f87171;
}

body.darkmode .flightmap-search-item:hover {
    background: linear-gradient(135deg, #1e3a8a, #1d4ed8);
    color: white;
}

body.darkmode .flightmap-search-item:hover .flightmap-search-type,
body.darkmode .flightmap-search-item:hover .flightmap-search-sub {
    color: #dbeafe;
}

body.darkmode .fp-dist {
    background-color: var(--darkmode-surface-color-soft);
    color: var(--darkmode-text-color);
    border-color: var(--darkmode-border-color);
    box-shadow: var(--darkmode-shadow-soft);
}

/**
 * LOCATION SUGGESTIONS
 */
body.darkmode .location-suggestions {
    background-color: var(--darkmode-surface-color);
    color: var(--darkmode-text-color);
    border-color: var(--darkmode-border-color);
}

body.darkmode .location-suggestions-item {
    border-bottom-color: var(--darkmode-border-color-soft);
}

body.darkmode .location-suggestions-item:hover {
    background: linear-gradient(135deg, #1e3a8a, #1d4ed8);
    color: white;
}

body.darkmode .location-suggestions-main,
body.darkmode .location-suggestions-sub {
    color: inherit;
}

/**
 * MESSAGE / MAIL
 */
body.darkmode .mail-toolbar {
    border-bottom-color: var(--darkmode-border-color-soft);
}

body.darkmode .mail-overview {
    background-color: #20252b;
    border-right-color: var(--darkmode-border-color-soft);
}

body.darkmode .mail-content {
    border-left-color: var(--darkmode-border-color-soft);
}

body.darkmode .message-item {
    background-color: var(--darkmode-surface-color);
    border-bottom-color: var(--darkmode-border-color-soft);
}

body.darkmode .message-item:hover {
    background-color: #1e293b;
    box-shadow: inset 3px 0 0 var(--darkmode-primary-color);
}

body.darkmode .message-item-subject,
body.darkmode .message-content-header h2,
body.darkmode .message-content-body {
    color: var(--darkmode-text-color);
}

body.darkmode .message-item-date,
body.darkmode .message-item-preview,
body.darkmode .message-content-meta,
body.darkmode .messages-content-empty,
body.darkmode .mail-toolbar-info {
    color: var(--darkmode-muted-color);
}

body.darkmode .message-item-preview,
body.darkmode .message-content-header {
    border-color: var(--darkmode-border-color-soft);
}

body.darkmode .messages-content-empty {
    background-color: rgba(255, 255, 255, 0.04);
    border-color: var(--darkmode-border-color);
}

/**
 * LOGIN
 */
body.darkmode .login-container h1 {
    color: #93c5fd;
}

body.darkmode .login-container h4,
body.darkmode .login-a {
    color: #93c5fd;
}

body.darkmode .login-button {
    background: linear-gradient(135deg, #374151, #1f2937);
    color: var(--darkmode-white-color);
}

body.darkmode .login-button:hover {
    background: linear-gradient(135deg, #1e3a8a, #1d4ed8) !important;
    color: white !important;
}

/**
 * FMCL
 */
body.darkmode .fmcl-header {
    border-bottom-color: var(--darkmode-border-color-soft);
}

body.darkmode .fmcl-select,
body.darkmode .fmcl-btn,
body.darkmode .fmcl-badge,
body.darkmode .fmcl-action {
    background-color: var(--darkmode-surface-color-soft);
    color: var(--darkmode-text-color);
    border-color: var(--darkmode-border-color);
}

body.darkmode .fmcl-btn:hover,
body.darkmode .fmcl-item:hover {
    background-color: var(--darkmode-surface-color-hover);
}

body.darkmode .fmcl-note {
    color: var(--darkmode-muted-color);
}

/**
 * DIALOGS
 */
body.darkmode .dialog-div,
body.darkmode .dialog-full-size {
    background: rgba(38, 43, 49, 0.98);
    color: var(--darkmode-text-color);
    border-color: var(--darkmode-border-color);
    box-shadow: var(--darkmode-shadow);
}

body.darkmode .dialog-header {
    color: #93c5fd;
    border-bottom-color: rgba(96, 165, 250, 0.28);
}

body.darkmode .dialog-message {
    color: #93c5fd !important;
}

body.darkmode .dialog-from-top input[type="checkbox"] + label {
    color: var(--darkmode-text-color);
}

body.darkmode .dialog-close {
    background: linear-gradient(135deg, #7f1d1d, #dc2626);
    color: white;
    border-color: rgba(248, 113, 113, 0.32);
    box-shadow: 0 2px 8px rgba(220, 38, 38, 0.28);
}

body.darkmode .dialog-close:hover {
    background: linear-gradient(135deg, #991b1b, #b91c1c);
    color: white;
    box-shadow: 0 4px 12px rgba(220, 38, 38, 0.34);
}

body.darkmode .system-status-banner {
    border-bottom-color: var(--darkmode-border-color);
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.32);
}

body.darkmode .system-status-banner small {
    color: rgba(229, 237, 249, 0.72);
}

body.darkmode .system-status-banner.maintenance,
body.darkmode .system-status-banner.update {
    background: #4a3412;
    color: #fde68a;
}

body.darkmode .system-status-banner.update::after {
    opacity: 0.75;
}

body.darkmode .system-status-banner.degraded,
body.darkmode .system-status-banner.testmode {
    background: #4a2411;
    color: #fed7aa;
}

body.darkmode .system-status-banner.error {
    background: #4c1515;
    color: #fecaca;
}
