:root {
    --site-surface: #ffffff;
    --site-surface-alt: #f8fafc;
    --site-border: #e2e8f0;
    --site-text-soft: #64748b;
}

body {
    overflow-x: hidden;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 180px);
    color: #0f172a;
}

.navbar-brand {
    max-width: 75vw;
}

.site-navbar {
    background-color: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(6px);
}

.site-navbar.navbar-light {
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.site-navbar .nav-link {
    border-radius: 999px;
    padding: 0.45rem 0.85rem;
    transition: all 0.15s ease;
}

.site-navbar .nav-link:hover,
.site-navbar .nav-link:focus-visible {
    background: rgba(var(--bs-primary-rgb), 0.08);
}

.site-navbar .nav-link.active,
.site-navbar .dropdown-item.active {
    background: rgba(var(--bs-primary-rgb), 0.15);
    color: var(--bs-primary);
}

.content-body,
.container {
    overflow-wrap: anywhere;
}

img,
video,
iframe,
embed,
object {
    max-width: 100%;
    height: auto;
}

table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.card {
    border-color: var(--site-border);
    border-radius: 0.9rem;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.card .card-title {
    color: #0f172a;
}

.site-footer {
    background: var(--site-surface-alt);
}

.site-footer .footer-module-body > *:last-child {
    margin-bottom: 0;
}

.admin-color-input {
    inline-size: 3rem;
    block-size: 2.4rem;
    border: 1px solid var(--site-border);
    border-radius: 0.5rem;
    padding: 0.15rem;
    background: #fff;
}

@media (max-width: 575.98px) {
    .display-1,
    .display-2,
    .display-3,
    .display-4,
    .display-5,
    .display-6 {
        word-break: break-word;
    }
}
