* {
    --font-family-all: -apple-system, BlinkMacSystemFont,"Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

[data-bs-theme=light] {
    --bs-page-bg: #F3F6F9;
    --bs-app-blank-bg: #ffffff;
    --bs-header-bg-color: #0D0F17;
    --bs-header-menu-bg-color: #000000;
    --bs-header-menu-link-color: #6E6C81;
    --bs-header-menu-link-active-bg-color: #1E2027;
    --bs-header-btn-nav-color: #6E6C81;
    --bs-header-btn-nav-icon-color: #6E6C81;
    --bs-header-btn-nav-border-color: #313131;
    --bs-header-btn-nav-border-color-active: #2E2D42;
    --bs-header-btn-nav-bg-color-active: #242731;
    --bs-header-btn-create-bg-color: #1E2027;
    --bs-header-btn-create-border-color: #2E2D42;
    --bs-header-btn-create-icon-color: #C4CADA;
    --bs-header-search-color: #0D0F17;
    --bs-header-form-control-color: rgba(63, 66, 84, 0.8);
    --bs-header-placeholder-color: #4B5675;
    --bs-header-box-shadow: 0px 10px 30px 0px rgba(82, 63, 105, 0.08);
}

.page-divider {
    width: 100%;
    height: 1rem;
    background-color: #0000001a;
    border: solid rgba(0, 0, 0, .15);
    border-width: 1px 0;
    box-shadow: inset 0 .5em 1.5em #0000001a, inset 0 .125em .5em #00000026;
}


/* === Top Nav: Icon-above-text === */
.topnav-header {
    background: #fff;
    border-bottom: 1px solid #e5e5e5;
}

.topnav-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #495057;
    padding: 0.6rem 1rem;
    border-radius: 0.5rem;
    transition: background 0.2s, color 0.2s;
    gap: 0.2rem;
    min-width: 70px;
    text-align: center;
}

    .topnav-link:hover,
    .topnav-link:focus {
        background: #f0f4ff;
        color: #0d6efd;
    }

    .topnav-link .nav-icon {
        font-size: 1.5rem;
        line-height: 1;
    }

    .topnav-link .nav-label {
        font-size: 0.72rem;
        font-weight: 500;
        white-space: nowrap;
    }

/* Desktop: horizontal bar */
@media (min-width: 992px) {
    .topnav-links {
        display: flex;
        flex-wrap: nowrap;
        gap: 0.25rem;
        align-items: stretch;
    }

    .topnav-link .nav-icon {
        font-size: 1.6rem;
    }

    .topnav-link .nav-label {
        font-size: 0.78rem;
    }

    .mobile-bottom-nav {
        display: none !important;
    }
}

/* Mobile: hide desktop nav links, show bottom bar */
@media (max-width: 991.98px) {
    .desktop-nav {
        display: none !important;
    }

    .mobile-bottom-nav {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 1050;
        background: #fff;
        border-top: 1px solid #dee2e6;
        box-shadow: 0 -2px 8px rgba(0,0,0,0.08);
        display: flex;
        justify-content: space-around;
        padding: 0.3rem 0 calc(0.3rem + env(safe-area-inset-bottom));
    }

        .mobile-bottom-nav .topnav-link {
            padding: 0.35rem 0.4rem;
            min-width: 0;
            flex: 1;
        }

            .mobile-bottom-nav .topnav-link .nav-icon {
                font-size: 1.4rem;
            }

            .mobile-bottom-nav .topnav-link .nav-label {
                font-size: 0.65rem;
            }
    /* Add bottom padding so content isn't hidden behind the fixed bar */
    body {
        padding-bottom: 72px;
    }
}

.mobile-more-menu {
    position: fixed;
    bottom: 64px;
    left: 0;
    right: 0;
    z-index: 1049;
    background: #fff;
    border-top: 1px solid #dee2e6;
    box-shadow: 0 -4px 12px rgba(0,0,0,0.1);
    display: none;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.25rem;
    padding: 0.75rem;
}

    .mobile-more-menu.show {
        display: flex;
    }

/* === Contract Guide: Unified action bar === */
.guide-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding-top: 1.25rem;
    margin-top: 1.5rem;
    border-top: 1px solid #e5e7eb;
}

.guide-actions .guide-actions-end {
    display: flex;
    gap: 0.5rem;
    margin-left: auto;
}

.guide-actions .btn {
    font-size: 0.875rem;
    font-weight: 500;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    transition: all 0.15s ease;
}

.guide-actions .btn-guide-back {
    color: #495057;
    background: transparent;
    border: 1px solid #dee2e6;
}

    .guide-actions .btn-guide-back:hover {
        background: #f8f9fa;
        border-color: #ced4da;
        color: #212529;
    }

.guide-actions .btn-guide-save {
    color: #0d6efd;
    background: #e7f1ff;
    border: 1px solid #b6d4fe;
}

    .guide-actions .btn-guide-save:hover {
        background: #d0e3ff;
        border-color: #9ec5fe;
    }

.guide-actions .btn-guide-next {
    color: #fff;
    background: #111827;
    border: 1px solid #111827;
}

    .guide-actions .btn-guide-next:hover {
        background: #1f2937;
        border-color: #1f2937;
    }

.guide-actions .btn-guide-complete {
    color: #fff;
    background: #198754;
    border: 1px solid #198754;
}

    .guide-actions .btn-guide-complete:hover {
        background: #157347;
        border-color: #146c43;
    }

.breadcrumb > .breadcrumb-item > a {
    --bs-link-underline-opacity: 0.25;
    text-underline-offset: 0.25em !important;
    color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1)) !important;
    text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
    .breadcrumb > .breadcrumb-item > a:hover {
        --bs-link-underline-opacity: 1;
        color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
        -webkit-text-decoration-color: RGBA(26,30,33,var(--bs-link-underline-opacity,1)) !important;
        text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
        --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
    }

.b-link {
    --bs-link-underline-opacity: 0.25;
    text-underline-offset: 0.25em !important;
    color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1)) !important;
    text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
}

    .b-link:hover {
        --bs-link-underline-opacity: 1;
        color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
        -webkit-text-decoration-color: RGBA(26,30,33,var(--bs-link-underline-opacity,1)) !important;
        text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
        --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
    }