/* --- Глобальные переменные для тем --- */
:root {
    --bg-color: #f8f9fa;
    --text-color: #212529;
    --card-bg: #ffffff;
    --card-header-bg: #e9ecef;
    --table-border-color: #dee2e6;
    --table-stripe-bg: #f2f2f2;
    --input-bg: #fff;
    --input-border: #ced4da;
    --note-default: #f8f9fa;
    --note-primary: #cfe2ff;
    --note-success: #d1e7dd;
    --note-warning: #fff3cd;
    --note-danger: #f8d7da;
}

html[data-theme='dark'] {
    --bg-color: #121212;
    --text-color: #e0e0e0;
    --card-bg: #1e1e1e;
    --card-header-bg: #2a2a2a;
    --table-border-color: #444;
    --table-stripe-bg: #2c2c2c;
    --input-bg: #2a2a2a;
    --input-border: #555;
    --note-default: #333;
    --note-primary: #0d2b57;
    --note-success: #143e33;
    --note-warning: #53450e;
    --note-danger: #582126;
}

/* --- Основные стили --- */
body {
    background-color: var(--bg-color);
    color: var(--text-color);
    transition: background-color 0.3s, color 0.3s;
}

.card {
    background-color: var(--card-bg);
    border: 1px solid var(--table-border-color);
    transition: background-color 0.3s;
}

.card-header {
    background-color: var(--card-header-bg);
    border-bottom: 1px solid var(--table-border-color);
}

.form-control {
    background-color: var(--input-bg);
    color: var(--text-color);
    border: 1px solid var(--input-border);
}
.form-control:focus {
    background-color: var(--input-bg);
    color: var(--text-color);
}

/* --- Навигация и вкладки --- */
.nav-tabs {
    border-bottom-color: var(--table-border-color);
}

.nav-tabs .nav-link {
    color: var(--text-color);
    border-color: var(--table-border-color) !important;
    border-bottom-color: transparent !important;
}

.nav-tabs .nav-link.active {
    background-color: var(--card-bg);
    color: #007bff;
    border-bottom-color: var(--card-bg) !important;
}

/* --- Таблицы --- */
.data-table {
    color: var(--text-color);
}
.data-table th, .data-table td {
    border-color: var(--table-border-color);
    vertical-align: middle;
}
.table-hover tbody tr:hover {
    background-color: var(--table-stripe-bg);
}

/* --- Избранное --- */
.favorite-star {
    cursor: pointer;
    font-size: 1.2rem;
    color: #ccc;
}
.favorite-star.is-favorite {
    color: #ffc107;
}

/* --- Заметки --- */
.note-icon {
    font-size: 1.2rem;
    cursor: pointer;
}
.note-cell[data-color="default"] { background-color: var(--note-default); }
.note-cell[data-color="primary"] { background-color: var(--note-primary); }
.note-cell[data-color="success"] { background-color: var(--note-success); }
.note-cell[data-color="warning"] { background-color: var(--note-warning); }
.note-cell[data-color="danger"] { background-color: var(--note-danger); }
.note-cell small {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* --- Модальные окна --- */
.modal-content {
    background-color: var(--card-bg);
    color: var(--text-color);
}
.modal-header, .modal-footer {
    border-color: var(--table-border-color);
}
.close {
    color: var(--text-color);
    text-shadow: none;
}
#note-colors .note-color-option {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    border: 2px solid transparent;
}
#note-colors .note-color-option.selected {
    border-color: #007bff;
}

/* Прочее */
#theme-toggler .fa-moon { display: inline; }
#theme-toggler .fa-sun { display: none; }
html[data-theme='dark'] #theme-toggler .fa-moon { display: none; }
html[data-theme='dark'] #theme-toggler .fa-sun { display: inline; } 