﻿:root {
    /* ===== Baker Tilly theme tokens ===== */
    --bt-font-sans: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    --bt-growth-green: #D1EC51; /* signature */
    --bt-aqua: #25BAA7; /* primary action */
    --bt-deep-black: #000000;
    --bt-charcoal: #2B303A;
    --bt-ice: #DFF5F2;
    --bt-surface: #ffffff;
    --bt-text: var(--bt-charcoal);
    --bt-muted: rgba(43, 48, 58, 0.72);
    --bt-border: rgba(43, 48, 58, 0.14);
    --bt-radius-sm: 12px;
    --bt-radius: 18px;
    --bt-radius-lg: 22px;
    --bt-shadow-sm: 0 .35rem 1rem rgba(0, 0, 0, .08);
    --bt-shadow: 0 1rem 2.2rem rgba(0, 0, 0, .12);
    /* ===== Bootstrap v5 CSS variable overrides ===== */
    --bs-font-sans-serif: var(--bt-font-sans);
    --bs-body-font-family: var(--bt-font-sans);
    --bs-body-bg: var(--bt-ice);
    --bs-body-color: var(--bt-text);
    --bs-primary: var(--bt-aqua);
    --bs-primary-rgb: 37, 186, 167;
    --bs-secondary: var(--bt-charcoal);
    --bs-secondary-rgb: 43, 48, 58;
    --bs-link-color: var(--bt-aqua);
    --bs-link-hover-color: #1f9f8f;
    --bs-border-color: var(--bt-border);
    --bs-border-radius: var(--bt-radius);
    --bs-border-radius-sm: var(--bt-radius-sm);
    --bs-border-radius-lg: var(--bt-radius-lg);
    --bs-focus-ring-color: rgba(37, 186, 167, 0.22);
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

html {
    position: relative;
    min-height: 100%;
    font-size: 14px;
    font-family: var(--bt-font-sans);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    margin-top: 57px;
    background-color: var(--bs-body-bg);
    scroll-behavior: smooth;
    font-family: var(--bt-font-sans);
    color: var(--bs-body-color);
}

main {
    min-height: 75vh;
}

a {
    text-decoration: none;
}

    a:hover {
        text-decoration: underline;
    }

/* Footer */
.footer {
    line-height: normal !important;
    padding-top: 2em;
    padding-bottom: 2em;
    min-height: 25vh;
    width: 100%;
    white-space: nowrap;
}

/* Navbar + nav items */
.nav-item {
    padding: 0 .7em;
    margin: 0 2px;
    text-overflow: ellipsis;
    overflow: hidden;
    text-wrap: none;
    white-space: nowrap;
    max-width: 190px;
    border-radius: 12px;
}

.nav-link {
    color: var(--bt-charcoal);
}

    .nav-link:hover {
        text-decoration: none;
        color: var(--bt-aqua);
    }

.nav-item:hover {
    background: rgba(43, 48, 58, 0.06);
}

.navbar-nav .nav-item.active {
    background: rgba(37, 186, 167, 0.14);
}

    .navbar-nav .nav-item.active .nav-link {
        color: var(--bt-charcoal) !important;
        font-weight: 700;
    }

.nav-pills .nav-item {
    padding: 0;
    margin-bottom: 2px;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    color: #0b2d2a;
    background-color: rgba(209, 236, 81, 0.55); /* growth green wash */
    border-color: rgba(209, 236, 81, 0.55);
}

/* Brand */
a.navbar-brand {
    white-space: normal;
    text-align: center;
    word-break: break-all;
}

.box-shadow {
    box-shadow: var(--bt-shadow-sm);
}

button.accept-policy {
    font-size: 1rem;
    line-height: inherit;
}

/* Side navbar */
.side-navbar {
    width: 200px;
    min-height: 50vh;
    position: fixed;
    margin-left: -300px;
    background: linear-gradient(180deg, rgba(255,255,255,0.92) 0%, rgba(223,245,242,0.9) 100%);
    transition: 0.5s;
    border-right: 1px solid rgba(43,48,58,0.12);
    font-size: small;
    backdrop-filter: blur(10px);
}

    .side-navbar.nav-link:active,
    .side-navbar.nav-link:focus,
    .side-navbar.nav-link:hover {
        background-color: rgba(255,255,255,0.26);
    }

.my-container {
    transition: 0.4s;
}

.active-nav {
    margin-left: 0;
}

/* main section */
.active-cont {
    margin-left: 200px;
}

@media print {
    .active-cont {
        margin-left: 1px;
        font-size: 12px;
    }

    table tfoot {
        display: table-row-group;
    }

    table thead {
        display: table-row-group;
    }
}

/* Text utilities */
footer h4 {
    text-transform: uppercase;
}

.text-ellipsized {
    text-overflow: ellipsis;
    overflow: hidden;
    text-wrap: none;
    white-space: nowrap;
}

.text-ellipsis-1,
.text-ellipsis-2,
.text-ellipsis-3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.text-ellipsis-1 {
    -webkit-line-clamp: 1;
}

.text-ellipsis-2 {
    -webkit-line-clamp: 2;
}

.text-ellipsis-3 {
    -webkit-line-clamp: 3;
}

/* Cards */
.card {
    box-shadow: var(--bt-shadow-sm) !important;
    margin-bottom: 2rem !important;
    border-radius: var(--bt-radius);
    border: 1px solid rgba(43,48,58,0.10);
}

.card-rounded {
    border-radius: var(--bt-radius-lg);
    overflow: hidden;
}

.card-header {
    background: var(--bt-charcoal);
    color: white;
    padding: .65rem 1rem;
    border-bottom: none;
    position: relative;
}

    .card-header::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        height: 4px;
        width: 100%;
        background: linear-gradient(90deg, var(--bt-growth-green), var(--bt-aqua));
    }

.card-footer {
    text-align: right;
    background: rgba(255,255,255,0.65);
    border-top: 1px solid rgba(43,48,58,0.10);
}

/* Buttons */
.btn {
    border-radius: 999px;
}

a.btn, a.btn:hover {
    text-decoration: none;
}

/* Make Bootstrap primary feel very “BT” */
.btn-primary {
    --bs-btn-bg: var(--bt-aqua);
    --bs-btn-border-color: var(--bt-aqua);
    --bs-btn-hover-bg: #1f9f8f;
    --bs-btn-hover-border-color: #1f9f8f;
    --bs-btn-active-bg: #1a8a7c;
    --bs-btn-active-border-color: #1a8a7c;
    --bs-btn-focus-shadow-rgb: 37, 186, 167;
    font-weight: 700;
}

.btn-outline-primary {
    --bs-btn-color: var(--bt-aqua);
    --bs-btn-border-color: rgba(37, 186, 167, 0.65);
    --bs-btn-hover-bg: rgba(37, 186, 167, 0.12);
    --bs-btn-hover-border-color: rgba(37, 186, 167, 0.75);
    --bs-btn-active-bg: rgba(37, 186, 167, 0.20);
    --bs-btn-active-border-color: rgba(37, 186, 167, 0.85);
    font-weight: 700;
}

/* Forms */
.form-label {
    color: var(--bt-muted) !important;
    font-size: smaller;
    margin: 0;
    padding: 0;
}

.form-control:focus,
.form-select:focus {
    border-color: rgba(37, 186, 167, 0.65);
    box-shadow: 0 0 0 0.25rem rgba(37, 186, 167, 0.18);
}

.field-validation-error {
    font-size: smaller;
    color: #dc3545;
}

h5, h6 {
    font-weight: 500;
}

/* Breadcrumb */
.breadcrumb-item {
    color: rgba(43, 48, 58, 0.72) !important;
}

    .breadcrumb-item:hover {
        color: rgba(43, 48, 58, 0.92) !important;
    }

    .breadcrumb-item a {
        text-decoration: none !important;
        color: inherit;
    }

/* Tables (keep your styled-table but align it to BT palette) */
.styled-table,
.styled-table-pdf {
    border-collapse: collapse;
    margin: 25px 0;
    font-size: 0.9em;
    font-family: var(--bt-font-sans);
    box-shadow: var(--bt-shadow-sm);
    border-radius: var(--bt-radius);
    overflow: hidden;
}

    .styled-table thead tr,
    .styled-table-pdf thead tr {
        background: linear-gradient(90deg, var(--bt-charcoal), #1f232b);
        color: #ffffff;
        text-align: left;
    }

    .styled-table th,
    .styled-table td,
    .styled-table-pdf th,
    .styled-table-pdf td {
        padding: 8px 15px;
    }

    .styled-table tbody tr,
    .styled-table-pdf tbody tr {
        border-bottom: 1px solid rgba(43,48,58,0.10);
    }

        .styled-table tbody tr:nth-of-type(even),
        .styled-table-pdf tbody tr:nth-of-type(even) {
            background-color: rgba(255,255,255,0.55);
        }

        .styled-table tbody tr:last-of-type {
            border-bottom: 3px solid rgba(209, 236, 81, 0.85);
        }

        .styled-table-pdf tbody tr:last-of-type {
            border-bottom: 3px solid rgba(209, 236, 81, 0.65);
        }

/* Progress bars */
#progressbar {
    margin-bottom: 30px;
    overflow: hidden;
    counter-reset: step;
    width: 100%;
    text-align: center;
}

    #progressbar li {
        list-style-type: none;
        color: rgb(51, 51, 51);
        text-transform: uppercase;
        font-size: .75em;
        width: 25%;
        float: left;
        position: relative;
    }

        #progressbar li:before {
            content: counter(step);
            counter-increment: step;
            width: 22px;
            line-height: 22px;
            display: block;
            font-size: 11px;
            color: #0b2d2a;
            background: rgba(209, 236, 81, 0.55);
            border-radius: 6px;
            margin: 0 auto 6px auto;
        }

        #progressbar li:after {
            content: '';
            width: 100%;
            height: 3px;
            background: rgba(43,48,58,0.12);
            position: absolute;
            left: -50%;
            top: 10px;
            z-index: -1;
        }

        #progressbar li:first-child:after {
            content: none;
        }

        #progressbar li.active:before,
        #progressbar li.active:after {
            background: rgba(37, 186, 167, 0.85);
            color: white;
        }

/* Vertical progress bar */
.v-progressbar {
    padding: 0;
    counter-reset: step;
}

    .v-progressbar li {
        list-style-type: none;
        display: block;
    }

        .v-progressbar li:before {
            content: counter(step);
            counter-increment: step;
            width: 22px;
            color: #0b2d2a;
            display: inline-block;
            background: rgba(209, 236, 81, 0.55);
            border-radius: 6px;
            margin: 0 .5em 0 0;
            text-align: center;
        }

        .v-progressbar li:after {
            content: '';
            width: 4px;
            margin-left: 9px;
            height: 20px;
            background: rgba(43,48,58,0.12);
            display: block;
            z-index: -1;
        }

        .v-progressbar li:last-child:after {
            content: none;
        }

        .v-progressbar li.active:before,
        .v-progressbar li.active:after {
            background: rgba(37, 186, 167, 0.85);
            color: white;
        }

/* More-items menu */
.more-items-menu {
    position: relative;
    display: inline-block;
}

.more-items-menu-button {
    background-color: transparent;
    border: none;
    color: var(--bt-charcoal);
    padding: 8px;
    font-size: 16px;
    cursor: pointer;
    border-radius: 12px;
}

.more-items-menu-content {
    display: none;
    position: fixed;
    top: 60px;
    right: 20px;
    background-color: rgba(255,255,255,0.96);
    min-width: 200px;
    box-shadow: var(--bt-shadow);
    z-index: 2000;
    padding: 10px;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(43,48,58,0.10);
    backdrop-filter: blur(10px);
}

    .more-items-menu-content.show {
        display: block;
    }

    .more-items-menu-content > a {
        color: var(--bt-charcoal);
        padding: 10px 10px;
        text-decoration: none;
        display: block;
        border-radius: 12px;
    }

        .more-items-menu-content > a:hover {
            background-color: rgba(37,186,167,0.10);
        }

.more-items-menu:hover .more-items-menu-content {
    display: block;
}

.more-items-menu:hover .more-items-menu-button {
    background-color: rgba(43,48,58,0.06);
}

.grip-icon {
    width: 20px;
    height: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    cursor: pointer;
}

    .grip-icon span {
        width: 100%;
        height: 3px;
        background-color: var(--bt-charcoal);
    }

/* Scrollbar */
::-webkit-scrollbar {
    width: 12px;
    scrollbar-color: rgba(37,186,167,0.75) rgba(255,255,255,0.6);
    scrollbar-width: thin;
}

::-webkit-scrollbar-track {
    background: rgba(255,255,255,0.6);
}

::-webkit-scrollbar-thumb {
    background: rgba(37,186,167,0.75);
    border-radius: 10px;
}

    ::-webkit-scrollbar-thumb:hover {
        background: rgba(43,48,58,0.55);
    }

/* Misc utilities */
.disabled-link {
    pointer-events: none;
    cursor: not-allowed;
    color: gray;
    text-decoration: none;
}

.dotted-line {
    border-top: 2px dotted var(--bt-charcoal);
    width: 100%;
    margin: 10px 0;
}

.small-font {
    font-size: x-small;
}

#dropmenu a,
#dropmenu ul li a {
    padding: 10px;
    font-size: 1.05em;
    display: block;
    text-decoration: none;
    margin-bottom: 1px;
    color: var(--bt-charcoal);
    margin-left: 10px;
}

    #dropmenu ul li a:hover {
        color: white;
        background: rgba(43,48,58,0.65);
    }

a[data-bs-toggle="collapse"] {
    position: relative;
}

#dropmenu .dropdown-toggle::after {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: .3em;
    vertical-align: middle;
    content: "";
    border-top: .3em solid;
    border-right: .3em solid transparent;
    border-left: .3em solid transparent;
    float: right;
    margin-top: 8px;
}

#dropmenu ul li a {
    font-size: 0.9em !important;
    padding-left: 30px !important;
}

/* Sticky table header */
.scrollable-table {
    max-height: 300px;
    overflow-y: auto;
}

    .scrollable-table thead th {
        position: sticky;
        top: 0;
        background-color: rgba(255,255,255,0.96);
        z-index: 1;
    }

/* jQuery UI autocomplete */
.ui-autocomplete {
    max-height: 200px;
    overflow-y: auto;
    overflow-x: hidden;
    z-index: 1000 !important;
    background-color: rgba(255,255,255,0.98) !important;
    color: var(--bt-charcoal) !important;
    border: 1px solid rgba(43,48,58,0.18);
    border-radius: 12px;
    box-shadow: var(--bt-shadow-sm);
}

.ui-menu-item-wrapper {
    background-color: transparent !important;
    color: var(--bt-charcoal) !important;
    padding: 8px 10px;
    border-radius: 10px;
}

    .ui-menu-item-wrapper:hover {
        background-color: rgba(37,186,167,0.10) !important;
    }

/* Popover */
.popover {
    max-width: 300px;
}

    .popover.fade.show {
        animation: fadeIn 0.3s ease-in-out;
    }

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

.soft-divider {
    border: none;
    border-top: 1px solid rgba(43,48,58,0.12);
}

/* Tabs */
.custom-tabs .nav-link {
    border: none;
    border-bottom: 2px solid transparent;
    color: inherit;
    font-weight: 600;
    background: none;
}

    .custom-tabs .nav-link.active {
        border-color: var(--bt-aqua);
        color: inherit;
        background-color: transparent;
    }

.short-menu {
    max-width: 150px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@page {
    size: auto;
    margin: 0mm;
}


/* ===== Layout: Baker Tilly Digital shell ===== */

.bt-app .bt-topbar {
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(43, 48, 58, 0.10);
    box-shadow: var(--bt-shadow-sm);
    border-radius: 0 0 20px 20px;
}

/* subtle signature stripe under the nav 
    .bt-app .bt-topbar::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -1px;
        width: 100%;
        height: 4px;
        background: linear-gradient(90deg, var(--bt-growth-green), var(--bt-aqua));
        opacity: 0.95;
    }*/

.bt-app .bt-brand-logo {
    width: 128px;
    height: auto;
    display: block;
}

.bt-app .bt-icon-btn {
    cursor: pointer;
    user-select: none;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--bt-charcoal);
}

    .bt-app .bt-icon-btn:hover {
        background: rgba(43, 48, 58, 0.06);
    }

/* Breadcrumb bar: clean, not grey blocks */
.bt-app .bt-breadcrumbbar {
    margin: 0 -10px;
    border-radius: 0 0 20px 20px;
    background: rgba(255, 255, 255, 0.65);
    border: 1px solid rgba(43, 48, 58, 0.10);
    backdrop-filter: blur(10px);
    padding: 0 10px;
}

/* Actionbar: simple top-right rail */
.bt-app .bt-actionbar {
    padding: 10px 0 0 0;
}

/* Page titles */
.bt-app .bt-page-title {
    letter-spacing: -0.5px;
    font-weight: 800;
    color: var(--bt-charcoal);
}

.bt-app .bt-page-subtitle {
    color: rgba(43, 48, 58, 0.72);
    font-weight: 500;
}

/* Right rail */
.bt-app .bt-right-rail {
    min-height: 75vh;
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid rgba(43, 48, 58, 0.10);
    border-radius: 18px;
    padding: 12px;
    backdrop-filter: blur(10px);
}

/* Footer */
.bt-app .bt-footer {
    background: var(--bt-charcoal);
    color: rgba(255, 255, 255, 0.75);
    position: relative;
}

    .bt-app .bt-footer::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 4px;
        background: linear-gradient(90deg, var(--bt-growth-green), var(--bt-aqua));
        opacity: 0.95;
    }

/* ===== Footer refinements ===== */

.bt-footer {
    background: var(--bt-charcoal);
    color: rgba(255, 255, 255, 0.75);
}

.bt-footer-inner h4 {
    text-transform: none; /* stop shouty uppercase */
    letter-spacing: -0.2px;
    font-weight: 700;
    font-size: 1.05rem;
}

.bt-footer-mark {
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: conic-gradient(from 210deg, var(--bt-growth-green), var(--bt-aqua), var(--bt-growth-green));
    position: relative;
    box-shadow: 0 18px 40px rgba(0,0,0,0.25);
}

    .bt-footer-mark::after {
        content: "";
        position: absolute;
        inset: 7px;
        border-radius: 999px;
        background: rgba(43,48,58,0.95);
    }

.bt-footer-brand {
    font-weight: 800;
    letter-spacing: -0.5px;
    line-height: 1.05;
    color: white;
}

    .bt-footer-brand span {
        opacity: 0.95;
    }

.bt-footer-link {
    display: inline-block;
    padding: 3px 0;
    text-decoration: none;
}

    .bt-footer-link:hover {
        color: white !important;
        text-decoration: underline;
    }

.bt-social-btn {
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.18);
    background: rgba(255,255,255,0.06);
    color: rgba(255,255,255,0.80);
    padding: 8px 12px;
}

    .bt-social-btn:hover {
        background: rgba(37,186,167,0.18);
        border-color: rgba(37,186,167,0.35);
        color: white;
    }

.bt-footer-badge {
    background: rgba(209,236,81,0.22);
    border: 1px solid rgba(209,236,81,0.35);
    color: rgba(255,255,255,0.90);
    font-weight: 700;
}

/* ===== Top nav: Baker Tilly style ===== */

.bt-topnav .nav-item {
    padding: 0;
    margin: 0 4px;
    border-radius: 999px;
}

.bt-topnav .nav-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 999px;
    color: var(--bt-charcoal);
    font-weight: 650;
    letter-spacing: -0.1px;
    text-decoration: none;
    transition: background 120ms ease, color 120ms ease, transform 120ms ease;
}

    .bt-topnav .nav-link:hover {
        background: rgba(43, 48, 58, 0.06);
        color: var(--bt-charcoal);
        text-decoration: none;
    }

.bt-topnav .bt-nav-icon {
    color: rgba(43, 48, 58, 0.70);
    transition: color 120ms ease;
}

/* Active: Growth Green wash + stronger icon + subtle ring */
.bt-topnav .nav-item.active .nav-link {
    background: rgba(209, 236, 81, 0.55);
    color: #0b2d2a;
    box-shadow: 0 0 0 1px rgba(209, 236, 81, 0.55) inset;
}

.bt-topnav .nav-item.active .bt-nav-icon {
    color: var(--bt-aqua);
}

/* Optional: make New invoice feel like a primary entry point */
.bt-topnav .bt-nav-cta {
    background: rgba(37, 186, 167, 0.10);
    box-shadow: 0 0 0 1px rgba(37, 186, 167, 0.22) inset;
}

    .bt-topnav .bt-nav-cta:hover {
        background: rgba(37, 186, 167, 0.16);
    }

.bt-topnav .nav-item.active .bt-nav-cta {
    background: rgba(37, 186, 167, 0.18);
    box-shadow: 0 0 0 1px rgba(37, 186, 167, 0.26) inset;
}

/* Mobile: give a little breathing room */
@media (max-width: 576px) {
    .bt-topnav .nav-link {
        padding: 10px 12px;
        gap: 8px;
    }
}

.bt-footer-logo {
    height: 34px;
    width: auto;
    display: block;
}



/* Container */
.bt-more-menu {
    width: 360px;
    max-height: 340px;
    overflow: hidden;
    padding: .75rem;
    border-radius: 1rem;
    border: 1px solid rgba(0,0,0,.08);
    box-shadow: 0 12px 30px rgba(0,0,0,.12);
    /* tweak these to match your BT palette */
    --bt-primary: var(--bt-brand, #0b6b3a);
    --bt-danger: #c62828;
    --bt-ink: #1f2937;
    --bt-muted: #6b7280;
    --bt-surface: #ffffff;
    background: var(--bt-surface);
}

/* Divider */
.bt-divider {
    height: 1px;
    background: rgba(0,0,0,.08);
    margin: .75rem 0;
}

/* Big tiles (Account / Logout) */
.bt-tile {
    display: flex;
    align-items: center;
    gap: .65rem;
    width: 100%;
    padding: .75rem .9rem;
    border-radius: .9rem;
    text-decoration: none;
    border: 1px solid rgba(0,0,0,.08);
    background: #fff;
    color: var(--bt-ink);
    transition: transform .08s ease, box-shadow .12s ease, border-color .12s ease;
}

    .bt-tile i {
        font-size: 1.2rem;
        opacity: .95;
    }

    .bt-tile:hover {
        transform: translateY(-1px);
        border-color: rgba(0,0,0,.14);
        box-shadow: 0 10px 18px rgba(0,0,0,.10);
        text-decoration: none;
        color: var(--bt-ink);
    }

    .bt-tile:active {
        transform: translateY(0);
        box-shadow: none;
    }

.bt-tile-text {
    line-height: 1.1;
}

.bt-tile-title {
    font-weight: 700;
    font-size: .95rem;
}

.bt-tile-sub {
    font-size: .78rem;
    color: var(--bt-muted);
    margin-top: .1rem;
}

/* Variants */
.bt-tile--primary i {
    color: var(--bt-primary);
}

.bt-tile--danger {
    background: rgba(198,40,40,.06);
    border-color: rgba(198,40,40,.22);
}

    .bt-tile--danger i {
        color: var(--bt-danger);
    }

/* Make the logout tile a button look like a tile */
.bt-tile--danger {
    cursor: pointer;
}

form .bt-tile {
    outline: none;
}

/* One-row quick links */
.bt-quick-row {
    display: flex;
    gap: .5rem;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: .25rem;
    -webkit-overflow-scrolling: touch;
}

    .bt-quick-row::-webkit-scrollbar {
        height: 8px;
    }

    .bt-quick-row::-webkit-scrollbar-thumb {
        background: rgba(0,0,0,.15);
        border-radius: 999px;
    }

/* Chips */
.bt-chip {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    white-space: nowrap;
    padding: .55rem .7rem;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,.08);
    text-decoration: none;
    background: #fff;
    color: var(--bt-ink);
    font-size: .85rem;
    transition: border-color .12s ease, box-shadow .12s ease, transform .08s ease;
}

    .bt-chip i {
        opacity: .9;
    }

    .bt-chip:hover {
        transform: translateY(-1px);
        border-color: rgba(0,0,0,.14);
        box-shadow: 0 10px 18px rgba(0,0,0,.08);
        text-decoration: none;
        color: var(--bt-ink);
    }

/* Replace the horizontal row with a 3-column grid */
.bt-quick-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
}

/* Small “BT tiles” for menu shortcuts */
.bt-mini-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    padding: .65rem .4rem;
    min-height: 74px;
    border-radius: .95rem;
    border: 1px solid rgba(0,0,0,.08);
    background: #fff;
    text-decoration: none;
    color: var(--bt-ink, #1f2937);
    text-align: center;
    transition: transform .08s ease, box-shadow .12s ease, border-color .12s ease;
}

    .bt-mini-tile i {
        font-size: 1.1rem;
        opacity: .95;
    }

    .bt-mini-tile span {
        font-size: .78rem;
        font-weight: 700;
        line-height: 1.05;
    }

    .bt-mini-tile:hover {
        transform: translateY(-1px);
        border-color: rgba(0,0,0,.14);
        box-shadow: 0 10px 18px rgba(0,0,0,.08);
        text-decoration: none;
    }

    /* Optional: let long labels wrap nicely */
    .bt-mini-tile span {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
