:root {
    --bb-top-row-colour: darkblue;
    --bb-background-colour: white; /* #F5F5F5 Your preferred color */
    --bb-line-colour: #d6d5d5;
    --bb-menu-icon-colour: var(--bs-primary);
    --bb-menu-text-colour: var(--bs-primary);
    --bb-font: 'Inter', sans-serif;
    /*--bb-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;*/
    --bb-text-color: #555;
    --bs-heading-color: var(--bb-text-color);
    /* Product accents — shared chroma/lightness, varied hue */
    --leak: oklch(0.60 0.122 244); /* water blue   */
    --leak-soft: oklch(0.94 0.03 244);
    --shut: oklch(0.60 0.10 178); /* teal         */
    --shut-soft: oklch(0.94 0.028 178);
    --legio: oklch(0.64 0.12 58); /* warm amber   */
    --legio-soft: oklch(0.95 0.03 70);
    /*--muted: #9fb0c8;*/
    /*    --ok: #2fd073;*/
    --success: #2fd073; /*#2fd073; #9ff3c2*/
    --success-bg: rgba(47,208,115,0.30);
    --warning: #ffaa33; /*#ffb020; #ffe1a6*/
    --warning-bg: rgba(255,176,32,0.30);
    --danger: #ff3232; /*#ffd0d0;*/
    --danger-bg: rgba(255,50,50,0.30);
    --selected: #8fbbbc;

    body.light-theme {
        background-color: var(--bb-background-colour) !important;
        color: var(--bb-text-color);
    }

    body.dark-theme {
        background-color: #1e1e1e !important;
        color: white !important;
        --bb-text-color: white;
    }

    .dark-theme .card,
    .dark-theme .navbar,
    .dark-theme .modal-content {
        /*    background-color: #2d2d2d !important;
    color: white !important;*/
    }

    .dark-theme .zone-colour {
        background-color: black !important;
    }

    body {
        background-color: var(--bb-background-colour) !important;
        /*background: var(--bb-background-colour) !important; ---> Don't use this */
        font-family: var(--bb-font);
        font-size: 14px;
        font-weight: 400;
        color: var(--bb-text-color) !important; /* #1f2937 soft dark gray */
    }

    h1, h2, h3, h4, h5, h6 {
        font-family: var(--bb-font);
        font-weight: 600;
        letter-spacing: -0.02em;
        color: var(--bb-text-color);
    }

    .nav-link {
        /*font-weight: 500;*/
        /*font-size: 0.95rem;*/
        color: var(--bb-text-color);
    }

    h1 {
        font-weight: 700;
    }

    a, .btn-link {
        color: #006bb7;
        text-decoration: none;
    }

    .btn-primary {
        /*color: #fff;*/
        /*background-color: #1b6ec2;*/
        /*border-color: #1861ac;*/
    }
    /*.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}*/

    .content {
        padding-top: 1.1rem;
    }

    h1:focus {
        outline: none;
    }

    .valid.modified:not([type=checkbox]) {
        outline: 1px solid #26b050;
    }

    .invalid {
        outline: 1px solid #e50000;
    }

    .validation-message {
        color: #e50000;
    }

    .blazor-error-boundary {
        background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
        padding: 1rem 1rem 1rem 3.7rem;
        color: white;
    }

        .blazor-error-boundary::after {
            content: "An error has occurred."
        }

    .darker-border-checkbox.form-check-input {
        border-color: #929292;
    }

    .form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
        color: var(--bs-secondary-color);
        text-align: end;
    }

    .form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
        text-align: start;
    }
    /* Menu icon and text */
    .bb-menu-icon {
        font-size: 16px;
        color: var(--bb-text-color);
    }

    .bb-menu-text {
        font-size: 14px;
        color: var(--bb-text-color);
    }

    .bb-menu-icon-width {
        width: 20px;
    }

    .bb-menu-icon-margin-right {
        margin-right: 5px;
    }

    .bb-menu-icon-margin-left {
        margin-left: 25px;
    }
    /* spacing */
    .bb-no-margin-bottom {
        margin-bottom: 0;
    }

    .bb-gap-between-buttons {
        margin-right: 15px;
    }
    /* table ???*/
    th {
        border-bottom-color: black;
    }

    th {
        text-align: center;
    }

    td {
        vertical-align: middle;
    }

        td.nowrap {
            white-space: nowrap; /* Prevent wrapping */
            overflow: hidden; /* Hide overflow */
            text-overflow: ellipsis; /* Show "..." if too long */
            /*cursor: pointer;*/
        }
    /* page content styles */
    .bb-panel-icon-colour {
        color: var(--bb-text-color);
    }

    .bb-header-title {
        /*    color: darkblue;*/
        font-weight: bold;
        margin: 0;
    }

    .bb-header-icon-colour {
        color: var(--bb-text-color);
    }

    .bb-heading-lg {
        font-size: 2rem; /* similar to standard <h1> Bootstrap <h2> = 2 */
        font-weight: 500;
    }

    .bb-heading-md {
        font-size: 1.5rem; /* similar to standard <h2> Bootstrap <h3> = 1.75 */
        font-weight: 500;
    }

    .bb-heading-sm {
        font-size: 1.17rem; /* similar to standard <h3> Bootstrap <h4> = 1.15 */
        font-weight: 500;
    }

    .bb-heading-xs {
        font-size: 1rem; /* similar to standard <h4> Bootstrap <h5> = 1 */
        font-weight: 500;
    }

    .bb-search-help-text {
        margin: 10px 0px 20px 0px;
    }

    .bb-space-between-sections {
        margin-bottom: 30px;
    }

    .bb-container {
        margin: 10px 0 0 0;
    }

    .bb-item-count_space {
        margin-top: 5px;
        margin-bottom: 30px;
    }

    .bb-card-header-padding {
        padding: 15px 20px 20px 20px;
    }
    /* button */
    .bb-button-height {
        height: 38px;
    }

    .bb-wizard-button {
        height: 38px;
        min-width: 105px;
        margin-top: 15px;
        margin-bottom: 15px;
    }

    .bb-wizard-button-no-width {
        height: 38px;
        margin-top: 15px;
        margin-bottom: 15px;
    }

    .bb-button-icon-width {
        height: 42px;
    }
    /* Compliances */

    .bb-compliant-green {
        /*color: #198754;*/
        color: green;
    }

    .bb-compliant-orange {
        color: orange;
    }

    .bb-compliant-red {
        color: red;
    }

    .control-compliance-configuration-scope ul {
        list-style: none; /* Remove default bullets */
        display: flex; /* Make it horizontal */
        gap: 30px; /* Spacing between items */
        padding: 0;
        margin: 0;
    }

        .control-compliance-configuration-scope ul li {
            display: flex;
            align-items: center; /* Vertically center text with bullet */
            margin: 10px 0;
        }

            .control-compliance-configuration-scope ul li::before {
                content: "";
                width: 15px; /* Bullet size */
                height: 15px; /* Bullet size */
                border-radius: 50%; /* Make it a circle */
                background: currentColor;
                margin-right: 10px; /* Space between bullet and text */
                flex-shrink: 0; /* Prevent squishing */
            }

    .control-compliance-configuration-scope li:nth-child(1)::before {
        color: green;
    }

    .control-compliance-configuration-scope li:nth-child(2)::before {
        color: orange;
    }

    .control-compliance-configuration-scope li:nth-child(3)::before {
        color: red;
    }
    /* Setup Wizard */

    .big-checkbox {
        margin-top: 5px;
        transform: scale(1.5);
    }

    .blue-checkbox:checked {
        accent-color: blue; /* checked */
    }

    .red-checkbox:checked {
        accent-color: red; /* checked */
    }

    .green-checkbox:checked {
        accent-color: green; /* checked */
    }

    .purple-checkbox:checked {
        accent-color: purple; /* checked */
    }
    /* Colour  */
    .bb-light-blue {
        color: blue;
        opacity: 0.65;
    }

    .bb-blue {
        color: var(--bs-primary); /* same colour as primary */
    }

    .bb-dark-blue {
        color: darkblue;
    }

    .bb-indigo {
        color: indigo;
    }

    .bb-pink {
        color: pink;
    }

    .bb-red {
        color: red;
    }

    .bb-orange {
        color: orange; /*#fd7e14;*/
    }

    .bb-orange-official {
        color: var(--beebug-orange);
    }

    .bb-yellow {
        color: yellow;
    }

    .bb-green {
        /*color: #198754;*/
        color: green;
    }

    .bb-teal {
        color: teal;
    }

    .bb-cyan {
        color: cyan;
    }

    .bb-white {
        color: #fff;
    }

    .bb-grey {
        color: grey;
    }

    .bb-grey-light {
        color: lightgrey;
    }

    .bb-grey-dark {
        color: darkgrey;
    }

    .bb-black {
        color: #000000;
    }
    /* Leak detection dashboard */

    .badge-normal {
        background: var(--success-bg) !important;
        background-color: var(--success-bg) !important;
        color: var(--success) !important;
    }

    .badge-leak {
        background: var(--danger-bg) !important;
        background-color: var(--danger-bg) !important;
        color: var(--danger) !important;
    }

    .badge-fault {
        background: var(--warning-bg) !important;
        background-color: var(--warning-bg) !important;
        color: var(--warning) !important;
    }

    .card-normal {
        background: var(--success) !important;
        background-color: var(--success) !important;
    }

    .card-leak {
        background: var(--danger) !important;
        background-color: var(--danger) !important;
    }

    .card-fault {
        background: var(--warning) !important;
        background-color: var(--warning) !important;
    }

    .text-normal-colour {
        color: var(--success) !important;
    }

    .text-leak-colour {
        color: var(--danger) !important;
    }

    .text-fault-colour {
        color: var(--warning) !important;
    }

    .selected-colour {
        background: var(--selected) !important;
        background-color: var(--selected) !important;
        color: #395e60 !important;
    }

    .font-xxl {
        font-size: 34px;
        font-weight: 700;
        line-height: 1.08;
        letter-spacing: -0.02em;
        font-family: var(--bb-font);
        color: var(--bb-text-color);
    }

    .font-xl {
        font-size: 30px;
        font-weight: 700;
        line-height: 1.08;
        letter-spacing: -0.02em;
        font-family: var(--bb-font);
        color: var(--bb-text-color);
    }

    .font-l {
        font-size: 24px;
        font-weight: bold;
        font-family: var(--bb-font);
        color: var(--bb-text-color);
    }

    .font-m {
        font-size: 16px;
        font-family: var(--bb-font);
        color: var(--bb-text-color);
    }

    .font-s {
        font-size: 13px;
        font-family: var(--bb-font);
        color: var(--bb-text-color);
    }

    .font-xs {
        font-size: 12px;
        font-family: var(--bb-font);
        color: var(--bb-text-color);
    }

    .icon-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        border: 1px solid var(--bs-border-color-translucent);
        border-radius: 8px;
        background: rgba(255,255,255,0.04);
        color: var(--bs-secondary-color);
        cursor: pointer;
    }

    .push-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        height: 30px;
        width: 60px;
        color: var(--bs-secondary-color);
        cursor: pointer;
    }

    html[data-bs-theme="dark"] .mono-img {
        filter: invert(1) !important;
    }
}
