html.theme-switching *,
html.theme-switching *::before,
html.theme-switching *::after {
    transition: none !important;
    animation: none !important;
}
:root { color-scheme: light; }
:root[data-theme="dark"] {
    color-scheme: dark;
    --bg:        #0f1420;
    --bg-2:      #161c29;
    --bg-3:      #1d2431;
    --bg-4:      #263040;
    --border:    #2a3343;
    --border-2:  #3a465c;
    --text:      #e7ebf2;
    --text-2:    #aab4c4;
    --text-3:    #7c879a;
    --accent:    #4c9aff;
    --accent-2:  #2f7fe0;
    --danger:    #f0616d;
    --danger-2:  #d1444f;
    --success:   #3fb950;
    --warning:   #e0a106;
}
.theme-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #ddd;
    color: #555;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.theme-toggle:hover {
    border-color: #3498db;
    color: #3498db;
}
.theme-toggle .ico-sun { display: none; }
:root[data-theme="dark"] .theme-toggle {
    background: var(--bg-2);
    border-color: var(--border);
    color: var(--text-2);
}
:root[data-theme="dark"] .theme-toggle:hover {
    border-color: var(--accent);
    color: var(--accent);
}
:root[data-theme="dark"] .theme-toggle .ico-moon { display: none; }
:root[data-theme="dark"] .theme-toggle .ico-sun { display: inline-flex; }
[data-theme="dark"] body {
    background: radial-gradient(1200px 420px at 50% -120px, #16203a 0%, var(--bg) 62%) fixed;
    color: var(--text);
}
[data-theme="dark"] h1,
[data-theme="dark"] .page-title { color: var(--text); }
[data-theme="dark"] .chat-wrapper::-webkit-scrollbar-thumb,
[data-theme="dark"] .chat-messages::-webkit-scrollbar-thumb { background: #37425a; }
[data-theme="dark"] .chat-wrapper::-webkit-scrollbar-thumb:hover,
[data-theme="dark"] .chat-messages::-webkit-scrollbar-thumb:hover { background: #46536c; }
[data-theme="dark"] .pc-contacts-list::-webkit-scrollbar-thumb,
[data-theme="dark"] .pc-messages::-webkit-scrollbar-thumb { background: #37425a; }
[data-theme="dark"] .user-btn {
    background: var(--bg-2);
    border-color: var(--border);
    color: var(--text);
}
[data-theme="dark"] .user-btn:hover { border-color: var(--accent); }
[data-theme="dark"] .user-avatar { background: var(--accent); color: #06101f; }
[data-theme="dark"] .user-dropdown {
    background: var(--bg-2);
    border: 1px solid var(--border);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.55);
}
[data-theme="dark"] .dropdown-header {
    background: var(--bg-3);
    border-bottom-color: var(--border);
}
[data-theme="dark"] .dropdown-header .user-name { color: var(--text); }
[data-theme="dark"] .dropdown-header .user-role { color: var(--text-3); }
[data-theme="dark"] .dropdown-item { color: var(--text); }
[data-theme="dark"] .dropdown-item:hover { background: var(--bg-4); }
[data-theme="dark"] .dropdown-item.danger { color: var(--danger); }
[data-theme="dark"] .dropdown-item.danger:hover { background: rgba(240, 97, 109, 0.12); }
[data-theme="dark"] .dropdown-item.active { color: var(--accent); background: var(--bg-4); }
[data-theme="dark"] .dropdown-item.active:hover { background: var(--bg-4); }
[data-theme="dark"] .dropdown-divider { background: var(--border); }
[data-theme="dark"] .card {
    background: var(--bg-2);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
}
[data-theme="dark"] .card h2 {
    color: var(--text);
    border-bottom-color: var(--accent);
}
[data-theme="dark"] .period-btn,
[data-theme="dark"] .status-btn {
    background: var(--bg-3);
    border-color: var(--border);
    color: var(--text-2);
}
[data-theme="dark"] .period-btn:hover,
[data-theme="dark"] .status-btn:hover { background: var(--bg-4); }
[data-theme="dark"] .period-btn.active,
[data-theme="dark"] .status-btn.active {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
}
[data-theme="dark"] .incidents-list-title { border-bottom-color: var(--accent); }
[data-theme="dark"] th,
[data-theme="dark"] .users-table th {
    background: #1b2433;
    color: var(--text);
    border-color: var(--border);
}
[data-theme="dark"] td,
[data-theme="dark"] .users-table td { border-color: var(--border); color: var(--text); }
[data-theme="dark"] tr:hover { background: var(--bg-3); }
[data-theme="dark"] .empty-row td { color: var(--text-3); }
[data-theme="dark"] .token-cell { background: var(--bg-4); color: var(--text); }
[data-theme="dark"] #incidentsBody tr.inc-new { background: rgba(63, 185, 80, 0.12); }
[data-theme="dark"] #incidentsBody tr.inc-new:hover { background: rgba(63, 185, 80, 0.18); }
[data-theme="dark"] #incidentsBody tr.inc-closed { background: rgba(255, 255, 255, 0.035); }
[data-theme="dark"] #incidentsBody tr.inc-closed:hover { background: rgba(255, 255, 255, 0.06); }
[data-theme="dark"] #incidentsBody tr.inc-closed td { color: var(--text-3); }
[data-theme="dark"] #incidentsBody tr.inc-closed td:first-child { border-left-color: var(--border-2); }
[data-theme="dark"] #incidentsBody tr.inc-reopened { background: rgba(224, 161, 6, 0.14); }
[data-theme="dark"] #incidentsBody tr.inc-reopened:hover { background: rgba(224, 161, 6, 0.20); }
[data-theme="dark"] #incidentsBody tr.inc-reopened td:first-child { border-left-color: var(--warning); }
[data-theme="dark"] #incidentsBody tr.inc-reopen-requested { background: rgba(155, 89, 182, 0.18); }
[data-theme="dark"] #incidentsBody tr.inc-reopen-requested:hover { background: rgba(155, 89, 182, 0.24); }
[data-theme="dark"] #incidentsBody tr.inc-reopen-requested td:first-child { border-left-color: #c07fe0; }
[data-theme="dark"] .mobile-incident-card.inc-new { background: rgba(63, 185, 80, 0.12); }
[data-theme="dark"] .mobile-incident-card.inc-closed { background: rgba(255, 255, 255, 0.035); }
[data-theme="dark"] .mobile-incident-card.inc-reopened { background: rgba(224, 161, 6, 0.14); }
[data-theme="dark"] .mobile-incident-card.inc-reopen-requested { background: rgba(155, 89, 182, 0.18); }
[data-theme="dark"] .btn-secondary { background: var(--bg-4); color: var(--text); }
[data-theme="dark"] .btn-secondary:hover { background: #303c50; }
[data-theme="dark"] .add-btn { background: #27ae60; color: #fff; }
[data-theme="dark"] .add-btn:hover { background: #219a52; }
[data-theme="dark"] .pc-delete-chat-text { color: var(--text-2); }
[data-theme="dark"] .pc-delete-chat-self {
    background: var(--bg-2);
    border-color: var(--accent);
    color: var(--accent);
}
[data-theme="dark"] .pc-delete-chat-self:hover { background: var(--bg-4); }
[data-theme="dark"] .btn-outline {
    background: var(--bg-2);
    color: var(--text);
    border-color: var(--border);
}
[data-theme="dark"] .btn-outline:hover { border-color: var(--accent); color: var(--accent); }
[data-theme="dark"] .btn-close { color: var(--text); }
[data-theme="dark"] .btn-close:hover { background: var(--bg-4); }
[data-theme="dark"] .action-menu-btn { color: var(--text-2); border-color: var(--border); }
[data-theme="dark"] .action-menu-btn:hover { background: var(--bg-4); border-color: var(--border-2); }
[data-theme="dark"] .form-group label,
[data-theme="dark"] .modal label { color: var(--text-2); }
[data-theme="dark"] .form-input,
[data-theme="dark"] textarea,
[data-theme="dark"] .form-select,
[data-theme="dark"] .modal input,
[data-theme="dark"] .modal textarea {
    background: var(--bg-3);
    border-color: var(--border);
    color: var(--text);
}
[data-theme="dark"] .form-input::placeholder,
[data-theme="dark"] textarea::placeholder { color: var(--text-3); }
[data-theme="dark"] .form-select {
    background: var(--bg-3) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23aab4c4' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right 12px center;
    background-size: 16px;
}
[data-theme="dark"] .date-trigger,
[data-theme="dark"] .datetime-trigger {
    background: var(--bg-3) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23aab4c4' stroke-width='2'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") no-repeat right 10px center;
    background-size: 18px;
    color: var(--text);
    border-color: var(--border);
}
[data-theme="dark"] .role-select-wrap { background: var(--bg-3); border-color: var(--border); }
[data-theme="dark"] .role-select-item label { color: var(--text-3); border-right-color: var(--border); }
[data-theme="dark"] .role-select-item label:hover { background: var(--bg-4); color: var(--accent); }
[data-theme="dark"] .modal-overlay { background: rgba(0, 0, 0, 0.6); }
[data-theme="dark"] .modal {
    background: var(--bg-2);
    border-color: var(--border);
    color: var(--text);
}
[data-theme="dark"] .modal h2 { color: var(--text); }
[data-theme="dark"] .modal-close-btn { color: var(--text-3); }
[data-theme="dark"] .modal-close-btn:hover { color: var(--text); }
[data-theme="dark"] .notify-title { color: var(--text); }
[data-theme="dark"] .notify-message { color: var(--text-2); }
[data-theme="dark"] .modal .error-msg.frozen {
    background: rgba(240, 97, 109, 0.12);
    border-color: rgba(240, 97, 109, 0.4);
    color: var(--danger);
}
[data-theme="dark"] .modal-department .modal-header,
[data-theme="dark"] .modal-department .modal-search,
[data-theme="dark"] .modal-department .modal-footer { border-color: var(--border); }
[data-theme="dark"] .modal-department .modal-header h2 { color: var(--text); }
[data-theme="dark"] .modal-department .modal-close { color: var(--text-3); }
[data-theme="dark"] .modal-department .modal-close:hover { color: var(--text); }
[data-theme="dark"] .modal-department .modal-list-item:hover { background-color: var(--bg-4); }
[data-theme="dark"] .modal-department .modal-list-item:active { background-color: var(--bg-4); }
[data-theme="dark"] .modal-department .modal-list-item--selected {
    background-color: rgba(76, 154, 255, 0.16);
    color: var(--accent);
}
[data-theme="dark"] .modal-department .modal-list-item--selected:hover { background-color: rgba(76, 154, 255, 0.24); }
[data-theme="dark"] .modal-department .modal-list-item .dept-address,
[data-theme="dark"] .modal-department .modal-list-empty { color: var(--text-3); }
[data-theme="dark"] .incident-detail-modal .detail-body { background: var(--bg); }
[data-theme="dark"] .incident-detail-modal .detail-header {
    background: var(--bg-2);
    border-bottom-color: var(--border);
}
[data-theme="dark"] .incident-detail-modal .detail-title { color: var(--text); }
[data-theme="dark"] .detail-close-btn { color: var(--text-3); }
[data-theme="dark"] .detail-close-btn:hover { color: var(--danger); }
[data-theme="dark"] .detail-card {
    background: var(--bg-2);
    border-color: var(--border);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}
[data-theme="dark"] .detail-card-header { border-bottom-color: var(--border); }
[data-theme="dark"] .detail-card-title { color: var(--text-2); }
[data-theme="dark"] .detail-card-body { color: var(--text); }
[data-theme="dark"] .detail-card-body.empty { color: var(--text-3); }
[data-theme="dark"] .detail-info-label { color: var(--text-3); }
[data-theme="dark"] .detail-info-value { color: var(--text); }
[data-theme="dark"] .detail-info-value.empty { color: var(--text-3); }
[data-theme="dark"] .detail-card-icon.icon-blue   { background: rgba(76, 154, 255, 0.15);  color: #6db1ff; }
[data-theme="dark"] .detail-card-icon.icon-green  { background: rgba(63, 185, 80, 0.15);   color: #5fd06f; }
[data-theme="dark"] .detail-card-icon.icon-orange { background: rgba(243, 156, 18, 0.16);  color: #f2b04a; }
[data-theme="dark"] .detail-card-icon.icon-purple { background: rgba(155, 89, 182, 0.18);  color: #c07fe0; }
[data-theme="dark"] .detail-card-icon.icon-red    { background: rgba(240, 97, 109, 0.16);  color: #ff8a94; }
[data-theme="dark"] .detail-card-icon.icon-teal   { background: rgba(0, 131, 143, 0.22);   color: #4bc4d0; }
[data-theme="dark"] .detail-status-badge.status-active { background: rgba(63, 185, 80, 0.16); color: #5fd06f; }
[data-theme="dark"] .detail-status-badge.status-closed { background: var(--bg-4); color: var(--text-2); }
[data-theme="dark"] .detail-status-badge.status-reopened { background: rgba(224, 161, 6, 0.16); color: #e3b34d; }
[data-theme="dark"] .detail-status-badge.status-closed .detail-status-dot { background: var(--text-3); }
[data-theme="dark"] .assignee-badge {
    background: rgba(76, 154, 255, 0.15);
    border-color: rgba(76, 154, 255, 0.35);
    color: #7db6ff;
}
[data-theme="dark"] .assignee-badge.empty { background: var(--bg-4); border-color: var(--border); }
[data-theme="dark"] .assignee-badge.empty .assignee-badge-name { color: var(--text-3); }
[data-theme="dark"] .field-tile {
    background: var(--bg-3);
    border-color: var(--border);
}
[data-theme="dark"] button.field-tile:hover {
    background: var(--bg-4);
    border-color: var(--accent);
    box-shadow: none;
}
[data-theme="dark"] .field-tile--add:hover {
    background: var(--bg-4);
    border-color: var(--accent);
    box-shadow: none;
}
[data-theme="dark"] .field-tile-icon {
    background: rgba(76, 154, 255, 0.16);
    color: #6db1ff;
}
[data-theme="dark"] .field-tile.empty .field-tile-icon {
    background: var(--bg-4);
    color: var(--text-3);
}
[data-theme="dark"] .field-tile-avatar.empty {
    background: var(--bg-4);
    color: var(--text-3);
}
[data-theme="dark"] .field-tile-label { color: var(--text-3); }
[data-theme="dark"] .field-tile-value { color: var(--text); }
[data-theme="dark"] .field-tile-value.empty,
[data-theme="dark"] .field-tile.empty .field-tile-value { color: var(--text-3); }
[data-theme="dark"] .field-tile-chevron { color: var(--text-3); }
[data-theme="dark"] button.field-tile:hover .field-tile-chevron { color: var(--accent); }
[data-theme="dark"] .icon-btn {
    background: var(--bg-3);
    border-color: var(--border);
    color: var(--text-2);
}
[data-theme="dark"] .icon-btn:hover {
    border-color: var(--accent);
    color: var(--accent);
    background: var(--bg-4);
}
[data-theme="dark"] .icon-btn.danger:hover {
    border-color: var(--danger);
    color: var(--danger);
    background: rgba(240, 97, 109, 0.12);
}
[data-theme="dark"] .detail-textarea {
    background: var(--bg-3);
    border-color: var(--border);
    color: var(--text);
}
[data-theme="dark"] .detail-textarea:focus {
    background: var(--bg-2);
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(76, 154, 255, 0.18);
}
[data-theme="dark"] .contact-card {
    background: var(--bg-3);
    border-color: var(--border);
}
[data-theme="dark"] .contact-name { color: var(--text); }
[data-theme="dark"] .contact-field-label { color: var(--text-3); }
[data-theme="dark"] .contact-field-value { color: var(--text); }
[data-theme="dark"] .contact-empty { color: var(--text-3); }
[data-theme="dark"] .detail-assignee-name { color: var(--text); background: var(--bg-4); }
[data-theme="dark"] .detail-photo-thumb { border-color: var(--border); }
[data-theme="dark"] .detail-photo-add {
    border-color: var(--border-2, var(--border));
    background: var(--bg-3);
    color: var(--text-3);
}
[data-theme="dark"] .detail-photo-add:hover {
    border-color: var(--accent);
    color: var(--accent);
    background: rgba(76, 154, 255, 0.12);
}
[data-theme="dark"] .incident-detail-modal .detail-section { border-bottom-color: var(--border); }
[data-theme="dark"] .incident-detail-modal .detail-section:hover { background: var(--bg-3); }
[data-theme="dark"] .incident-detail-modal .detail-label { color: var(--text-3); }
[data-theme="dark"] .incident-detail-modal .detail-value { color: var(--text); }
[data-theme="dark"] .incident-detail-modal .detail-value.empty { color: var(--text-3); }
[data-theme="dark"] .photo-thumb-wrap { background: var(--bg-2); border-color: var(--border); }
[data-theme="dark"] .photos-upload-area { background: var(--bg-3); border-color: var(--border); }
[data-theme="dark"] .photos-upload-area.has-photos { background: var(--bg-2); }
[data-theme="dark"] .photos-drop-text { color: var(--text-3); }
[data-theme="dark"] .photos-gallery-btn {
    background: var(--bg-2);
    border-color: var(--border);
    color: var(--accent);
}
[data-theme="dark"] .photos-gallery-btn:hover {
    background: var(--bg-4);
    border-color: var(--accent);
}
[data-theme="dark"] .photos-gallery-btn:active {
    background: var(--bg-3);
}
[data-theme="dark"] .photo-add-tile {
    border-color: var(--border-2, var(--border));
    background: var(--bg-3);
    color: var(--text-3);
}
[data-theme="dark"] .photo-add-tile:hover {
    border-color: var(--accent);
    color: var(--accent);
    background: rgba(76, 154, 255, 0.12);
}
[data-theme="dark"] .photo-attached-badge {
    background: rgba(63, 185, 80, 0.15);
    border-color: rgba(63, 185, 80, 0.4);
    color: #7ee08a;
}
[data-theme="dark"] .photo-modal { background: var(--bg-2); }
[data-theme="dark"] .photo-modal-header { border-bottom-color: var(--border); }
[data-theme="dark"] .photo-modal-title { color: var(--text); }
[data-theme="dark"] .photo-modal-close { color: var(--text-3); }
[data-theme="dark"] .photo-modal-close:hover { color: var(--text); }
[data-theme="dark"] .incident-page .detail-header {
    background: rgba(22, 28, 41, 0.85);
    border-color: var(--border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
[data-theme="dark"] .incident-page .detail-title { color: var(--text); }
[data-theme="dark"] .incident-page-back { background: var(--bg-3); color: var(--text-2); }
[data-theme="dark"] .incident-page-back:hover { background: var(--bg-4); color: var(--accent); }
[data-theme="dark"] .incident-page .detail-card {
    background: var(--bg-2);
    border-color: var(--border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
[data-theme="dark"] .incident-page .detail-card:hover {
    border-color: var(--border-2);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
}
[data-theme="dark"] .incident-page .detail-card-header { border-bottom-color: var(--border); }
[data-theme="dark"] .incident-page .detail-card-title { color: var(--text-2); }
[data-theme="dark"] .incident-page .detail-card-body { color: var(--text); }
[data-theme="dark"] .incident-page .detail-card-body.empty { color: var(--text-3); }
[data-theme="dark"] .incident-page .detail-info-label { color: var(--text-3); }
[data-theme="dark"] .incident-page .detail-info-value { color: var(--text); }
[data-theme="dark"] .incident-page .detail-info-value.empty { color: var(--text-3); }
[data-theme="dark"] .incident-page .chat-section .detail-label { color: var(--text-2); }
[data-theme="dark"] .incident-page .detail-photo-thumb { border-color: var(--border); }
[data-theme="dark"] .incident-page .incident-detail-modal .detail-section.chat-section,
[data-theme="dark"] .incident-page .incident-detail-modal .detail-section.chat-section:hover {
    background: var(--bg-2) !important;
}
[data-theme="dark"] .incident-page .chat-section {
    border-color: var(--border);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
[data-theme="dark"] .incident-page .chat-wrapper { border-color: var(--border); }
[data-theme="dark"] .incident-page .detail-loader-ring {
    border-color: rgba(255, 255, 255, 0.08);
    border-top-color: var(--accent);
}
[data-theme="dark"] .incident-page .detail-loader-label { color: var(--text-3); }
[data-theme="dark"] .incident-page .detail-loader-lines span {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.05) 25%, rgba(255, 255, 255, 0.11) 37%, rgba(255, 255, 255, 0.05) 63%);
    background-size: 400% 100%;
}
[data-theme="dark"] .chat-wrapper { background: var(--bg-2); border-color: var(--border); }
[data-theme="dark"] .chat-participants-header {
    background: var(--bg-3);
    border-bottom-color: var(--border);
    color: var(--text-2);
}
[data-theme="dark"] .chat-participant-badge { background: var(--bg-4); color: var(--text-2); }
[data-theme="dark"] .chat-participant-badge.is-admin {
    background: rgba(240, 97, 109, 0.15);
    color: #ff8a94;
    border-color: rgba(240, 97, 109, 0.4);
}
[data-theme="dark"] .chat-participant-badge.is-head {
    background: rgba(224, 161, 6, 0.15);
    color: #e3b34d;
    border-color: rgba(224, 161, 6, 0.4);
}
[data-theme="dark"] .chat-wrapper .chat-messages,
[data-theme="dark"] .chat-expand-body .chat-messages,
[data-theme="dark"] .pc-messages,
[data-theme="dark"] .mobile-chat-messages { background: #10151f; }
[data-theme="dark"] .chat-empty { color: var(--text-3); }
[data-theme="dark"] .chat-pagination { background: var(--bg-3); border-top-color: var(--border); }
[data-theme="dark"] .chat-page-info { color: var(--text-2); }
[data-theme="dark"] .chat-page-btn:disabled { background: var(--bg-4); color: var(--text-3); }
[data-theme="dark"] .chat-date-sep span { background: rgba(22, 28, 41, 0.85); color: var(--text-3); }
[data-theme="dark"] .chat-msg .msg-bubble {
    background: var(--bg-2) !important;
    color: var(--text) !important;
    border-color: var(--border) !important;
}
[data-theme="dark"] .chat-msg.mine .msg-bubble {
    background: var(--bg-2) !important;
    border-color: var(--border) !important;
}
[data-theme="dark"] .chat-msg.other .msg-bubble {
    background: #1b2735 !important;
    border-color: #2b3a4d !important;
}
[data-theme="dark"] .chat-msg .msg-body-text { color: var(--text); }
[data-theme="dark"] .chat-msg .msg-bubble code { background: var(--bg-4); }
[data-theme="dark"] .chat-msg .msg-tg-time,
[data-theme="dark"] .chat-msg .msg-time,
[data-theme="dark"] .chat-msg .msg-read-label,
[data-theme="dark"] .chat-msg .read-time { color: var(--text-3); }
[data-theme="dark"] .chat-msg .msg-time-left {
    color: var(--text-2);
    background: var(--bg-4);
    border-color: var(--border);
}
[data-theme="dark"] .chat-msg .msg-tg-name.role-user { color: var(--text-2) !important; }
[data-theme="dark"] .chat-msg .read-person.role-user { color: var(--text-2) !important; }
[data-theme="dark"] .chat-msg .read-tag { background: var(--bg-4); border-color: var(--border); }
[data-theme="dark"] .chat-msg .msg-header-divider { background: rgba(255, 255, 255, 0.12); }
[data-theme="dark"] .msg-context-menu { background: var(--bg-2); border-color: var(--border); }
[data-theme="dark"] .msg-menu-item { color: var(--text); }
[data-theme="dark"] .msg-menu-item:hover { background: var(--bg-4); }
[data-theme="dark"] .reply-quote { background: var(--bg-4); }
[data-theme="dark"] .reply-quote-text { color: var(--text-2); }
[data-theme="dark"] .reply-quote-close { color: var(--text-3); }
[data-theme="dark"] .reply-quote-close:hover { color: var(--text); }
[data-theme="dark"] .chat-msg .msg-reply-author { color: var(--text-2); }
[data-theme="dark"] .chat-msg .msg-reply-text { color: var(--text-3); }
[data-theme="dark"] .chat-input-area { background: var(--bg-2); border-top-color: var(--border); }
[data-theme="dark"] .chat-format-bar { background: var(--bg-3); border-top-color: var(--border); }
[data-theme="dark"] .fmt-btn { background: var(--bg-2); border-color: var(--border); color: var(--text); }
[data-theme="dark"] .fmt-btn:hover { background: var(--bg-4); border-color: var(--accent); color: var(--accent); }
[data-theme="dark"] .fmt-sep { background: var(--border); }
[data-theme="dark"] .chat-input { background: var(--bg-3); border-color: var(--border); color: var(--text); }
[data-theme="dark"] .chat-input:empty:before { color: var(--text-3); }
[data-theme="dark"] .btn-attach { background: rgba(76, 154, 255, 0.12); color: var(--accent); }
[data-theme="dark"] .chat-attach-preview { background: var(--bg-3); border-top-color: var(--border); }
[data-theme="dark"] .chat-attach-thumb { background: var(--bg-2); border-color: var(--border); }
[data-theme="dark"] .chat-expand-modal { background: var(--bg-2); }
[data-theme="dark"] .chat-expand-header { background: var(--bg-2); border-bottom-color: var(--border); }
[data-theme="dark"] .chat-expand-title { color: var(--text); }
[data-theme="dark"] .chat-expand-body { background: var(--bg); }
[data-theme="dark"] .chat-expand-body .chat-participants-header {
    background: var(--bg-3);
    border-bottom-color: var(--border);
    color: var(--text-2);
}
[data-theme="dark"] .chat-expand-body .chat-format-bar { background: var(--bg-3); border-top-color: var(--border); }
[data-theme="dark"] .chat-expand-body .chat-input-area { background: var(--bg-2); border-top-color: var(--border); }
[data-theme="dark"] .chat-expand-body .chat-attach-preview { background: var(--bg-3); border-top-color: var(--border); }
[data-theme="dark"] .chat-expand-body .chat-input { background: var(--bg-3); border-color: var(--border); color: var(--text); }
[data-theme="dark"] .chat-photo-modal { background: var(--bg-2); }
[data-theme="dark"] .chat-photo-header { background: var(--bg-3); border-bottom-color: var(--border); }
[data-theme="dark"] .chat-photo-title { color: var(--text); }
[data-theme="dark"] .chat-photo-expand-btn { border-color: var(--border); color: var(--text-2); }
[data-theme="dark"] .chat-photo-close { color: var(--text-3); }
[data-theme="dark"] .chat-photo-close:hover { background: var(--bg-4); color: var(--text); }
[data-theme="dark"] .chat-notif-btn { background: var(--bg-2); border-color: var(--border); color: var(--text-2); }
[data-theme="dark"] .chat-notif-btn:hover { background: var(--bg-3); }
[data-theme="dark"] .chat-notif-modal .modal-header { border-bottom-color: var(--border); }
[data-theme="dark"] .chat-notif-modal .modal-header h2 { color: var(--text); }
[data-theme="dark"] .chat-notif-item:hover { background: var(--bg-3); }
[data-theme="dark"] .chat-notif-icon { background: rgba(76, 154, 255, 0.15); }
[data-theme="dark"] .chat-notif-icon.history-icon { background: var(--bg-4); color: var(--text-2); }
[data-theme="dark"] .chat-notif-section-title { color: var(--text-3); background: var(--bg-3); }
[data-theme="dark"] .chat-notif-title { color: var(--text); }
[data-theme="dark"] .chat-notif-meta { color: var(--text-3); }
[data-theme="dark"] .chat-notif-pagination { border-top-color: var(--border); }
[data-theme="dark"] .chat-notif-page-info { color: var(--text-3); }
[data-theme="dark"] .chat-notif-empty { color: var(--text-3); }
[data-theme="dark"] .calendar-header { border-bottom-color: var(--border); }
[data-theme="dark"] .calendar-nav-btn { border-color: var(--border); color: var(--text); }
[data-theme="dark"] .calendar-nav-btn:hover { background: var(--bg-4); }
[data-theme="dark"] .calendar-title { color: var(--text); }
[data-theme="dark"] .calendar-day-name { color: var(--text-3); }
[data-theme="dark"] .calendar-day { color: var(--text); }
[data-theme="dark"] .calendar-day:hover { background: var(--bg-4); }
[data-theme="dark"] .calendar-day.other-month { color: var(--text-3); }
[data-theme="dark"] .calendar-day.today { background: rgba(76, 154, 255, 0.18); color: var(--accent); }
[data-theme="dark"] .calendar-time { border-top-color: var(--border); }
[data-theme="dark"] .calendar-time label { color: var(--text-2); }
[data-theme="dark"] #participantSearchInput { border-color: var(--border); }
[data-theme="dark"] .participant-search-results { background: var(--bg-2); border-color: var(--border); }
[data-theme="dark"] .participant-search-result { border-bottom-color: var(--border); }
[data-theme="dark"] .participant-search-result:hover,
[data-theme="dark"] .participant-search-result.selected { background: var(--bg-4); }
[data-theme="dark"] .participant-search-result .participant-name { color: var(--text); }
[data-theme="dark"] .participant-search-result .participant-role { color: var(--text-3); }
[data-theme="dark"] .participant-search-result.already-added,
[data-theme="dark"] .participant-search-result.already-added:hover {
    background: rgba(240, 97, 109, 0.16);
    box-shadow: inset 3px 0 0 rgba(240, 97, 109, 0.75);
}
[data-theme="dark"] .participant-not-found { color: var(--text-3); background: var(--bg-3); }
[data-theme="dark"] .participant-pagination .page-btn {
    background: var(--bg-2);
    border-color: var(--border);
    color: var(--text);
}
[data-theme="dark"] .participant-pagination .page-btn:hover:not(.disabled) { background: var(--bg-4); }
[data-theme="dark"] .participant-item { border-bottom-color: var(--border); }
[data-theme="dark"] .participant-item:hover { background: var(--bg-4); }
[data-theme="dark"] .participant-item-added { background: rgba(63, 185, 80, 0.12); }
[data-theme="dark"] .participant-item-added:hover { background: rgba(63, 185, 80, 0.2); }
[data-theme="dark"] .participant-item .participant-name { color: var(--text); }
[data-theme="dark"] .participant-item .participant-info { color: var(--text-3); }
[data-theme="dark"] .totp-hint { color: var(--text-2); }
[data-theme="dark"] .totp-qr-wrap img { border-color: var(--border); }
[data-theme="dark"] .totp-link { color: var(--accent); }
[data-theme="dark"] .otp-input .otp-cell {
    background: var(--bg-3);
    border-color: var(--border-2);
    color: var(--text);
}
[data-theme="dark"] .otp-input .otp-cell:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(76, 154, 255, 0.2);
}
[data-theme="dark"] .otp-input.success .otp-cell { animation-name: otp-green-wave-dark; }
[data-theme="dark"] .otp-input .otp-cell.error { border-color: var(--danger); color: var(--danger); }
@keyframes otp-green-wave-dark {
    0% {
        transform: scale(1);
        border-color: var(--border-2);
        background: var(--bg-3);
        color: var(--text);
        box-shadow: none;
    }
    45% {
        transform: scale(1.08);
        border-color: #2ecc71;
        background: rgba(46, 204, 113, 0.22);
        color: #7ee2a8;
        box-shadow: 0 0 0 7px rgba(46, 204, 113, 0.18);
    }
    100% {
        transform: scale(1);
        border-color: #2ecc71;
        background: rgba(46, 204, 113, 0.12);
        color: #7ee2a8;
        box-shadow: 0 0 0 3px rgba(46, 204, 113, 0.14);
    }
}
[data-theme="dark"] .private-chat-modal { background: var(--bg-2); }
[data-theme="dark"] .pc-header { border-bottom-color: var(--border); }
[data-theme="dark"] .pc-title { color: var(--text); }
[data-theme="dark"] .pc-left-panel { background: var(--bg-3); border-right-color: var(--border); }
[data-theme="dark"] .pc-left-header { border-bottom-color: var(--border); }
[data-theme="dark"] .pc-left-title { color: var(--text); }
[data-theme="dark"] .pc-contact-item { border-bottom-color: var(--border); }
[data-theme="dark"] .pc-contact-item:hover { background: var(--bg-4); }
[data-theme="dark"] .pc-contact-item.active { background: rgba(76, 154, 255, 0.16); }
[data-theme="dark"] .pc-contact-name { color: var(--text); }
[data-theme="dark"] .pc-right-header { background: var(--bg-2); border-bottom-color: var(--border); }
[data-theme="dark"] .pc-right-title { color: var(--text); }
[data-theme="dark"] .pm-theirs .pm-message-bubble { background: var(--bg-3); color: var(--text); }
[data-theme="dark"] .pm-theirs .pm-message-time { color: var(--text-2); }
[data-theme="dark"] .pm-mine .pm-message-time { color: rgba(255, 255, 255, 0.82); }
[data-theme="dark"] .pc-input-area { background: var(--bg-2); border-top-color: var(--border); }
[data-theme="dark"] .action-dropdown { background: var(--bg-2); border-color: var(--border); }
[data-theme="dark"] .action-item { border-bottom-color: var(--border); color: var(--text); }
[data-theme="dark"] .action-item:hover { background: var(--bg-4); }
[data-theme="dark"] .incident-context-menu { background: var(--bg-2); border-color: var(--border); }
[data-theme="dark"] .ctx-item { color: var(--text); }
[data-theme="dark"] .ctx-item:hover { background: var(--bg-4); }
[data-theme="dark"] .ctx-close:hover { background: rgba(240, 97, 109, 0.14) !important; }
[data-theme="dark"] .ctx-open:hover { background: rgba(63, 185, 80, 0.14) !important; }
[data-theme="dark"] .mobile-incident-card { background: var(--bg-2); border-color: var(--border); }
[data-theme="dark"] .mic-id { background: rgba(76, 154, 255, 0.15); color: #7db6ff; }
[data-theme="dark"] .mic-date { color: var(--text-3); }
[data-theme="dark"] .mic-department,
[data-theme="dark"] .mic-value { color: var(--text); }
[data-theme="dark"] .mic-label { color: var(--text-3); }
[data-theme="dark"] .mic-empty { color: var(--text-3); }
[data-theme="dark"] .mic-grid,
[data-theme="dark"] .mic-grid-item { border-top-color: var(--border); }
[data-theme="dark"] .mic-grid-item .mic-label { color: var(--text-3); }
[data-theme="dark"] .mic-grid-item .mic-text { color: var(--text); }
[data-theme="dark"] .mic-status-badge.status-active { background: rgba(63, 185, 80, 0.16); color: #5fd06f; }
[data-theme="dark"] .mic-status-badge.status-closed { background: var(--bg-4); color: var(--text-2); }
[data-theme="dark"] .mic-status-badge.status-reopened { background: rgba(224, 161, 6, 0.16); color: #e3b34d; }
[data-theme="dark"] .mic-status-badge.status-closed .mic-status-dot { background: var(--text-3); }
[data-theme="dark"] .mic-card-meta { border-top-color: var(--border); }
[data-theme="dark"] .mic-meta-item { color: var(--text-3); }
[data-theme="dark"] .mic-action-bar { background: var(--bg-3); border-top-color: var(--border); }
[data-theme="dark"] .mic-action-btn { border-right-color: var(--border); color: var(--text-2); }
[data-theme="dark"] .mic-action-btn:active { background: var(--bg-4); }
[data-theme="dark"] .mic-delete-btn { background: rgba(240, 97, 109, 0.12); border-top-color: var(--border); }
[data-theme="dark"] .mobile-user-card { background: var(--bg-2); border-color: var(--border); }
[data-theme="dark"] .mobile-user-card.inactive { background: var(--bg-3); }
[data-theme="dark"] .muc-name { color: var(--text); }
[data-theme="dark"] .muc-role { color: var(--text-2); background: var(--bg-4); }
[data-theme="dark"] .muc-label { color: var(--text-3); }
[data-theme="dark"] .muc-value { color: var(--text); }
[data-theme="dark"] .muc-token { background: var(--bg-4); color: var(--text-2); }
[data-theme="dark"] .mobile-detail-header { background: var(--bg-2); border-bottom-color: var(--border); }
[data-theme="dark"] .mobile-detail-title { color: var(--text); }
[data-theme="dark"] .mobile-detail-close { color: var(--text-3); }
[data-theme="dark"] .md-card { background: var(--bg-2); border-color: var(--border); }
[data-theme="dark"] .md-card-header { background: var(--bg-3); border-bottom-color: var(--border); color: var(--text); }
[data-theme="dark"] .md-card-body { color: var(--text-2); }
[data-theme="dark"] .md-card-body.empty { color: var(--text-3); }
[data-theme="dark"] .md-row:not(:last-child) { border-bottom-color: var(--border); }
[data-theme="dark"] .md-label { color: var(--text-3); }
[data-theme="dark"] .md-value { color: var(--text); }
[data-theme="dark"] .md-value.empty { color: var(--text-3); }
[data-theme="dark"] .md-action-bar { border-top-color: var(--border); }
[data-theme="dark"] .md-action-btn { background: var(--bg-2); border-color: var(--border); color: var(--text-2); }
[data-theme="dark"] .md-action-btn.btn-chat { background: rgba(76, 154, 255, 0.15); }
[data-theme="dark"] .md-action-btn.btn-reopen { background: rgba(63, 185, 80, 0.15); }
[data-theme="dark"] .md-action-btn.btn-close { background: rgba(224, 161, 6, 0.15); }
[data-theme="dark"] .md-action-btn.btn-delete { background: rgba(240, 97, 109, 0.15); }
[data-theme="dark"] .mobile-chat-header { background: var(--bg-2); border-bottom-color: var(--border); }
[data-theme="dark"] .mobile-chat-title { color: var(--text); }
[data-theme="dark"] .mobile-chat-subtitle { color: var(--text-3); }
[data-theme="dark"] .mobile-chat-close { color: var(--text-3); }
[data-theme="dark"] .mobile-chat-format-bar { background: var(--bg-3); border-bottom-color: var(--border); }
[data-theme="dark"] .mobile-fmt-btn { background: var(--bg-2); border-color: var(--border); color: var(--text); }
[data-theme="dark"] .mobile-fmt-sep { background: var(--border); }
[data-theme="dark"] .mobile-msg.other .mobile-msg-bubble { background: var(--bg-3); color: var(--text); }
[data-theme="dark"] .mobile-msg.other .mobile-msg-time { color: var(--text-3); }
[data-theme="dark"] .mobile-chat-input-area { background: var(--bg-2); border-top-color: var(--border); }
[data-theme="dark"] .mobile-chat-input { background: var(--bg-3); border-color: var(--border); color: var(--text); }
[data-theme="dark"] .mobile-chat-attach-preview { background: var(--bg-3); border-top-color: var(--border); }
@media (max-width: 768px) {
    [data-theme="dark"] .modal-overlay#chatExpandModal .chat-format-bar {
        background: var(--bg-3);
        border-top-color: var(--border);
    }
    [data-theme="dark"] .modal-overlay#chatExpandModal .chat-input-area {
        background: var(--bg-2);
        border-top-color: var(--border);
    }
    [data-theme="dark"] .modal-overlay#chatExpandModal .chat-input {
        background: var(--bg-3);
        border-color: var(--border);
        color: var(--text);
    }
    [data-theme="dark"] .modal-overlay#chatExpandModal .chat-input:empty:before {
        color: var(--text-3);
    }
    [data-theme="dark"] .modal-overlay#chatExpandModal .fmt-btn {
        background: var(--bg-2);
        border-color: var(--border);
        color: var(--text);
    }
    [data-theme="dark"] .modal-overlay#chatExpandModal .fmt-btn:hover {
        background: var(--bg-4);
        border-color: var(--accent);
        color: var(--accent);
    }
    [data-theme="dark"] .modal-overlay#chatExpandModal .fmt-sep {
        background: var(--border);
    }
    [data-theme="dark"] .modal-overlay#chatExpandModal .btn-attach {
        background: rgba(76, 154, 255, 0.12);
        color: var(--accent);
    }
}
[data-theme="dark"] .status-dot.active,
[data-theme="dark"] .status-dot.inactive,
[data-theme="dark"] .status-dot.frozen { box-shadow: none; }
[data-theme="dark"] .login-reg-warning,
[data-theme="dark"] .login-token-highlight {
    background: rgba(46, 204, 113, 0.12);
    border-color: rgba(46, 204, 113, 0.38);
    color: #9fe7b4;
}
[data-theme="dark"] .login-token-highlight-title,
[data-theme="dark"] .login-token-highlight-note {
    color: #9fe7b4;
}
[data-theme="dark"] .login-status-comment {
    background: rgba(240, 195, 109, 0.12);
    border-color: rgba(240, 195, 109, 0.42);
    color: #e8c97a;
}
[data-theme="dark"] .login-status-comment-title {
    color: #e8c97a;
}
[data-theme="dark"] .login-token-value {
    color: #b7f0c6;
}
[data-theme="dark"] .login-token-copy {
    background: var(--bg-3);
    border-color: rgba(46, 204, 113, 0.38);
    color: #b7f0c6;
}
[data-theme="dark"] .login-token-copy:hover {
    background: var(--bg-4);
}
[data-theme="dark"] .modal .login-reg-checkbox {
    background: var(--bg-3);
    border-color: var(--border);
    color: var(--text-2);
}
[data-theme="dark"] .modal .login-reg-checkbox:hover {
    background: var(--bg-4);
    border-color: #3b4b60;
}
[data-theme="dark"] .modal .login-reg-checkbox:has(input:checked) {
    background: rgba(76, 154, 255, 0.12);
    border-color: rgba(76, 154, 255, 0.45);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}
[data-theme="dark"] .login-reg-checkbox input {
    border-color: var(--border);
    background-color: var(--bg-3);
}
[data-theme="dark"] .login-reg-checkbox input:checked {
    border-color: #4c9aff;
    background-color: #4c9aff;
}
[data-theme="dark"] .login-reg-checkbox input:focus-visible {
    box-shadow: 0 0 0 3px rgba(76, 154, 255, 0.28);
}
[data-theme="dark"] .modal .login-reg-step .form-input.field-invalid,
[data-theme="dark"] .modal .login-profile-step .form-input.field-invalid {
    border-color: #f85149;
    background-color: rgba(248, 81, 73, 0.08);
}
[data-theme="dark"] .modal .login-reg-checkbox.field-invalid {
    border-color: #f85149;
    background: rgba(248, 81, 73, 0.12);
}
[data-theme="dark"] .modal .login-reg-checkbox.field-invalid input {
    border-color: #f85149;
}
[data-theme="dark"] .login-status-details {
    background: var(--bg-3);
    border-color: var(--border);
}
[data-theme="dark"] .login-status-label {
    color: var(--text-3);
}
[data-theme="dark"] .login-status-value {
    color: var(--text);
}
[data-theme="dark"] .login-status-badge.pending {
    background: rgba(255, 152, 0, 0.16);
    color: #ffb74d;
}
[data-theme="dark"] .login-status-badge.clarification {
    background: rgba(240, 195, 109, 0.16);
    color: #e8c97a;
}
[data-theme="dark"] .login-status-badge.approved {
    background: rgba(63, 185, 80, 0.16);
    color: #56d364;
}
[data-theme="dark"] .login-status-badge.rejected {
    background: rgba(248, 81, 73, 0.16);
    color: #ff7b72;
}
