:root {
    --bg-soft: var(--bg);
    --page-gutter: clamp(14px, 2vw, 24px);
    --content-width: none;
}

body {
    background-color: var(--bg-soft);
}

.card-quick {
    min-height: 180px;
}

.vision-mode {
    background-color: var(--bg) !important;
    color: var(--text) !important;
    font-size: 1.2rem;
}

.vision-mode .card,
.vision-mode .alert,
.vision-mode .table,
.vision-mode .list-group-item,
.vision-mode footer,
.vision-mode main,
.vision-mode .bg-light {
    background-color: var(--surface) !important;
    color: var(--text) !important;
    border-color: var(--border) !important;
}

.vision-mode a,
.vision-mode .nav-link,
.vision-mode .navbar-brand {
    color: var(--link) !important;
}

.vision-mode .btn {
    border-width: 2px;
}

#routes-map {
    width: 100%;
    min-height: 460px;
    border: 1px solid var(--border);
    border-radius: 0.5rem;
    background: var(--surface);
}

.route-item {
    cursor: pointer;
}

.content-shell,
.navbar-modern .container-fluid {
    max-width: none !important;
    width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: var(--page-gutter) !important;
    padding-right: var(--page-gutter) !important;
}

.container,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
    max-width: none;
}
