/* Дополнительные цветовые правки после page-css, чтобы светлая/тёмная тема выглядела цельно. */

.toast {
    background: var(--app-surface-solid) !important;
    color: var(--app-text) !important;
    border: 1px solid var(--app-border) !important;
    box-shadow: var(--app-shadow-md) !important;
}

.toast--success {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.18), rgba(16, 185, 129, 0.14)) !important;
}

.toast--error {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.18), rgba(244, 63, 94, 0.14)) !important;
}

.toast--warning {
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.18), rgba(249, 115, 22, 0.14)) !important;
}

.toast--info {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.16), rgba(109, 74, 255, 0.12)) !important;
}

.city-modal-backdrop,
.macro-backdrop {
    background: rgba(7, 17, 31, 0.48) !important;
}

.city-modal-dialog,
.macro-modal-dialog {
    box-shadow: var(--app-shadow-lg);
}

.city-pill {
    background-color: var(--app-surface-muted) !important;
    border: 1px solid var(--app-border);
    color: var(--app-text);
}

.city-pill:hover {
    background-color: rgba(var(--accent-rgb), 0.10) !important;
}

.chat-bubble.me,
.chat-bubble.out {
    background: var(--chat-out-bg) !important;
    border-color: var(--chat-out-border) !important;
    color: var(--app-text) !important;
}

.chat-bubble.other,
.chat-bubble.in {
    background: var(--chat-in-bg) !important;
    border-color: var(--chat-in-border) !important;
    color: var(--app-text) !important;
}

.dialog-tile {
    border-color: var(--app-border) !important;
    background: var(--app-surface-solid);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
}

.dialog-tile.active {
    border-color: rgba(var(--accent-rgb), 0.35) !important;
    background: rgba(var(--accent-rgb), 0.08) !important;
}

.dialog-title,
.dialog-last,
.dialog-last-text,
.chat-meta,
.chat-author,
.dialog-date {
    color: inherit;
}

.dialog-avatar {
    background: rgba(148, 163, 184, 0.14) !important;
}

.msg-pager {
    border: 1px dashed var(--app-border-strong) !important;
    background: rgba(148, 163, 184, 0.06) !important;
}

.msg-macro-toolbar {
    border-top-color: var(--app-border) !important;
}

.tab-unread-badge {
    box-shadow: 0 0 0 3px var(--app-surface-solid) !important;
}

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

html[data-theme="dark"] .leaflet-control-zoom a,
html[data-theme="dark"] .leaflet-popup-content-wrapper,
html[data-theme="dark"] .leaflet-popup-tip {
    background: var(--app-surface-solid);
    color: var(--app-text);
}

html[data-theme="dark"] .leaflet-container {
    background: #0b1628;
}


.lang-pill,
.shell-theme-toggle,
.sidebar-link,
.btn-brand-secondary {
    backdrop-filter: blur(12px);
}

html[data-theme="dark"] .table-mobile-cards tr {
    background: var(--app-surface-solid);
}

html[data-theme="dark"] .form-control::placeholder {
    color: rgba(226, 232, 240, 0.48);
}

html[data-theme="light"] .brand-logo-image {
    filter: drop-shadow(0 14px 28px rgba(37, 99, 235, 0.10));
}
