body {
    background-color: #1a102a;
    color: #ffffff;
    font-family: 'Segoe UI', sans-serif;
}

.banner {
    max-width: 100%;
}

.alert-warning {
    --bs-alert-color: var(--bs-warning-text-emphasis);
    --bs-alert-bg: #7d6415;
    --bs-alert-border-color: #49422d;
    --bs-alert-link-color: var(--bs-warning-text-emphasis);
}

.alert-success {
    --bs-alert-color: var(--bs-success-text-emphasis);
    --bs-alert-bg: var(--bs-success-bg-subtle);
    background: black;
    --bs-alert-border-color: #00ff8b;
    --bs-alert-link-color: var(--bs-success-text-emphasis);
}

.alert-danger {
    --bs-alert-color: var(--bs-danger-text-emphasis);
    --bs-alert-bg: var(--bs-danger-bg-subtle);
    --bs-alert-border-color: var(--bs-danger-border-subtle);
    background: #950000;
    --bs-alert-link-color: var(--bs-danger-text-emphasis);
}

.btn-warning {
    background-color: #9d86c5;
    border: none;
}

.btn-warning:hover {
    background-color: #8a74b0;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(157, 134, 197, 0.4);
    transition: all 0.3s ease;
}

.form-control, .form-select {
    background-color: #2d1f4d;
    border: 1px solid #5a4a8a;
    color: #ffffff;
}

.form-control:focus, .form-select:focus {
    background-color: #2d1f4d;
    border-color: #9d86c5;
    color: #ffffff;
    box-shadow: 0 0 0 0.2rem rgba(157, 134, 197, 0.25);
}

.music-control {
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: 1000;
}

.card {
    background-color: #2d1f4d;
    border: 1px solid #5a4a8a;
}

.table-dark {
    background-color: #2d1f4d;
}

.table-dark th,
.table-dark td {
    border-color: #5a4a8a;
}

.navbar-dark {
    background-color: #2D1A40 !important;
}

.dropdown-menu-dark {
    background-color: #2d1f4d;
    border: 1px solid #5a4a8a;
}

.dropdown-item:hover {
    background-color: #5a4a8a;
}

.toast {
    background-color: #2d1f4d;
    border: 1px solid #5a4a8a;
}

.modal-content {
    background-color: #2d1f4d;
    border: 1px solid #5a4a8a;
}

.btn-close-white {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* Улучшение читаемости текста */
p, div, span, label {
    color: #ffffff !important;
}

.text-muted {
    color: #cccccc !important;
}

.text-secondary {
    color: #aaaaaa !important;
}

/* Улучшение контрастности для форм */
.form-control::placeholder {
    color: #cccccc !important;
}

/* Улучшение читаемости в таблицах */
.table-dark {
    color: #ffffff !important;
}

.table-dark th,
.table-dark td {
    color: #ffffff !important;
}