/**
 * Dark Mode CSS - Tmavý režim aplikace Výkazy práce
 * Profesionální tmavý vzhled s azurovou akcentní barvou
 */

/* ===== Dark Mode Variables ===== */
[data-theme="dark"] {
    --bg-primary: #0f172a;
    --bg-secondary: #1e293b;
    --bg-elevated: #334155;
    --text-primary: #f1f5f9;
    --text-secondary: #94a3b8;
    --border-color: #334155;
    --border-subtle: #0c1220;
    --primary-color: #21a9bf;
    --primary-hover: #1b8fa3;
    --accent: #21a9bf;
    --accent-light: rgba(33, 169, 191, 0.15);
    color-scheme: dark;
}

/* ===== Body ===== */
[data-theme="dark"] body {
    background-color: var(--bg-primary);
    color: var(--text-primary);
}

/* ===== Navbar ===== */
[data-theme="dark"] .navbar {
    background: linear-gradient(135deg, #21a9bf 0%, #1b8fa3 100%);
}

[data-theme="dark"] .navbar-nav .nav-item .nav-link,
[data-theme="dark"] .navbar-nav .nav-item:first-child .nav-link,
[data-theme="dark"] .navbar .theme-toggle {
    border-color: rgba(0, 0, 0, 0.25);
}

/* ===== Cards ===== */
[data-theme="dark"] .card {
    background-color: var(--bg-secondary);
    border-color: var(--border-subtle);
}

[data-theme="dark"] .card-header {
    background-color: var(--bg-secondary);
    border-color: var(--border-subtle);
    color: var(--text-primary);
}

[data-theme="dark"] .card-body {
    color: var(--text-primary);
}

/* ===== Tables ===== */
[data-theme="dark"] .table {
    --bs-table-bg: var(--bg-secondary);
    --bs-table-color: var(--text-primary);
    --bs-table-hover-bg: var(--bg-elevated);
    --bs-table-hover-color: var(--text-primary);
    --bs-table-border-color: var(--border-subtle);
}

[data-theme="dark"] .table thead th {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
    border-bottom-color: var(--border-subtle) !important;
}

/* Hover na klikacích/editovatelných řádcích */
[data-theme="dark"] .clickable-row:hover,
[data-theme="dark"] .editable-row:hover {
    background-color: var(--bg-elevated) !important;
}

/* Zvýraznění aktuálního měsíce */
[data-theme="dark"] .current-month td {
    background-color: var(--accent-light);
}

[data-theme="dark"] .current-month:hover {
    background-color: var(--bg-elevated) !important;
}

/* Součtový řádek */
[data-theme="dark"] .totals-row td {
    background-color: var(--bg-elevated) !important;
}

/* ===== Day Type Backgrounds ===== */
[data-theme="dark"] .day-weekend,
[data-theme="dark"] .day-weekend td {
    background-color: rgba(148, 163, 184, 0.18) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .day-holiday {
    background-color: rgba(239, 68, 68, 0.15) !important;
}

[data-theme="dark"] .day-holiday td,
[data-theme="dark"] .day-holiday input,
[data-theme="dark"] .day-holiday select,
[data-theme="dark"] .day-holiday strong,
[data-theme="dark"] .day-holiday span {
    color: #f87171 !important;
}

[data-theme="dark"] .day-vacation {
    background-color: rgba(34, 197, 94, 0.12) !important;
}

[data-theme="dark"] .day-sick {
    background-color: rgba(236, 72, 153, 0.12) !important;
}

[data-theme="dark"] .day-unpaid {
    background-color: rgba(139, 92, 246, 0.12) !important;
}

/* ===== Select Colors ===== */
[data-theme="dark"] .select-work {
    background-color: rgba(33, 169, 191, 0.2) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .select-vacation {
    background-color: rgba(34, 197, 94, 0.2) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .select-sick {
    background-color: rgba(236, 72, 153, 0.2) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .select-unpaid {
    background-color: rgba(139, 92, 246, 0.2) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .select-weekend {
    background-color: rgba(148, 163, 184, 0.15) !important;
    color: var(--text-primary) !important;
}

/* ===== Form Controls ===== */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select {
    background-color: var(--bg-primary);
    border-color: var(--border-color);
    color: var(--text-primary) !important;
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
    background-color: var(--bg-primary);
    border-color: var(--accent);
    box-shadow: 0 0 0 2px var(--accent-light);
    color: var(--text-primary) !important;
}

[data-theme="dark"] .form-control::placeholder {
    color: var(--text-secondary);
}

[data-theme="dark"] .form-control:disabled,
[data-theme="dark"] .form-select:disabled {
    background-color: var(--bg-secondary);
    color: var(--text-secondary) !important;
}

/* ===== Time Inputs ===== */
[data-theme="dark"] .time-input,
[data-theme="dark"] input[type="time"] {
    background-color: var(--bg-primary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .time-input::-webkit-calendar-picker-indicator,
[data-theme="dark"] input[type="time"]::-webkit-calendar-picker-indicator {
    display: none !important;
}

/* ===== Select Arrow ===== */
[data-theme="dark"] .form-select,
[data-theme="dark"] .day-type-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2394a3b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
}

[data-theme="dark"] .day-type-select option {
    background-color: var(--bg-secondary);
    color: var(--text-primary);
}

/* ===== Dropdown Menus ===== */
[data-theme="dark"] .dropdown-menu {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
}

[data-theme="dark"] .dropdown-item {
    color: var(--text-primary);
}

[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus {
    background-color: var(--primary-hover);
    color: white;
}

/* Ikony v dropdown dědí barvu */
[data-theme="dark"] .dropdown-item i,
[data-theme="dark"] .dropdown-item .bi {
    color: inherit;
}

[data-theme="dark"] .dropdown-divider {
    border-color: var(--border-subtle);
}

/* ===== Summary Box ===== */
[data-theme="dark"] .summary-box {
    background: var(--bg-secondary);
}

/* ===== Stat Cards ===== */
[data-theme="dark"] .stat-label {
    color: var(--text-secondary);
}

/* ===== Text Colors ===== */
[data-theme="dark"] .text-muted {
    color: var(--text-secondary) !important;
}

[data-theme="dark"] .text-dark {
    color: var(--text-primary) !important;
}

/* ===== Modals ===== */
[data-theme="dark"] .modal-content {
    background-color: var(--bg-secondary);
    border-color: var(--border-color);
    color: var(--text-primary);
}

[data-theme="dark"] .modal-header {
    border-color: var(--border-subtle);
}

[data-theme="dark"] .modal-footer {
    border-color: var(--border-subtle);
}

[data-theme="dark"] .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* ===== Buttons ===== */
[data-theme="dark"] .btn-primary {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: white !important;
}

[data-theme="dark"] .btn-primary:hover,
[data-theme="dark"] .btn-primary:focus,
[data-theme="dark"] .btn-primary:active,
[data-theme="dark"] .btn-primary:focus-visible,
[data-theme="dark"] .btn-primary.active,
[data-theme="dark"] .btn-primary:first-child:active {
    background-color: var(--primary-hover) !important;
    border-color: var(--primary-hover) !important;
    color: white !important;
    box-shadow: none !important;
}

/* Ikony uvnitř tlačítek dědí barvu */
[data-theme="dark"] .btn i,
[data-theme="dark"] .btn .bi {
    color: inherit !important;
}

/* ===== Alerts ===== */
[data-theme="dark"] .alert-info {
    background-color: rgba(33, 169, 191, 0.15);
    border-color: rgba(33, 169, 191, 0.25);
    color: #67d6e8;
}

[data-theme="dark"] .alert-warning {
    background-color: rgba(245, 158, 11, 0.15);
    border-color: rgba(245, 158, 11, 0.25);
    color: #fcd34d;
}

[data-theme="dark"] .alert-success {
    background-color: rgba(34, 197, 94, 0.15);
    border-color: rgba(34, 197, 94, 0.25);
    color: #86efac;
}

[data-theme="dark"] .alert-danger {
    background-color: rgba(239, 68, 68, 0.15);
    border-color: rgba(239, 68, 68, 0.25);
    color: #fca5a5;
}

/* ===== Progress Bar ===== */
[data-theme="dark"] .progress {
    background-color: var(--bg-elevated);
}

/* ===== Links ===== */
[data-theme="dark"] a:not(.btn):not(.nav-link):not(.dropdown-item):not(.navbar-brand) {
    color: #67d6e8;
}

[data-theme="dark"] a:not(.btn):not(.nav-link):not(.dropdown-item):not(.navbar-brand):hover {
    color: #9ae5f0;
}

/* ===== Month Navigation ===== */
[data-theme="dark"] .month-nav a {
    color: var(--text-secondary);
}

[data-theme="dark"] .month-nav a:hover {
    color: var(--accent);
}

/* ===== Summary Footer ===== */
[data-theme="dark"] .summary-footer {
    background: var(--bg-primary);
    border-top: 1px solid var(--border-subtle);
}

/* ===== Scrollbar (webkit) ===== */
[data-theme="dark"] ::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

[data-theme="dark"] ::-webkit-scrollbar-track {
    background: var(--bg-primary);
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
    background: var(--bg-elevated);
    border-radius: 4px;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
    background: #475569;
}

/* ===== Change History Columns ===== */
[data-theme="dark"] .change-col-old {
    background-color: rgba(239, 68, 68, 0.15) !important;
}

[data-theme="dark"] .change-col-old code {
    color: #f87171;
}

[data-theme="dark"] .change-col-new {
    background-color: rgba(34, 197, 94, 0.15) !important;
}

[data-theme="dark"] .change-col-new code {
    color: #4ade80;
}

/* ===== Changes Badge ===== */
[data-theme="dark"] .changes-badge {
    color: var(--primary-color);
    background-color: white;
}
