@charset "UTF-8";
/*!
 *
 * Bryntum Scheduler 7.0.0 (TRIAL VERSION)
 *
 * Copyright(c) 2025 Bryntum AB
 * https://bryntum.com/contact
 * https://bryntum.com/license
 *
 * Bryntum incorporates third-party code licensed under the MIT and Apache-2.0 licenses.
 * See the licenses below or visit https://bryntum.com/products/scheduler/docs/guide/Scheduler/licenses
 *
 * # Third Party Notices
 * 
 * Bryntum uses the following third party libraries:
 * 
 * * [Font Awesome 6 Free](https://fontawesome.com/license/free) (MIT/SIL OFL 1.1)
 * * [Roboto font (for Material theme only)](https://github.com/google/roboto) (Apache-2.0)
 * * [Styling Cross-Browser Compatible Range Inputs with Sass](https://github.com/darlanrod/input-range-sass) (MIT)
 * * [Tree Walker polyfill (only applies to Salesforce)](https://github.com/Krinkle/dom-TreeWalker-polyfill) (MIT)
 * * [chronograph](https://github.com/bryntum/chronograph) (MIT)
 * * [later.js](https://github.com/bunkat/later) (MIT)
 * * [Monaco editor (only used in our demos)](https://microsoft.github.io/monaco-editor) (MIT)
 * * Map/Set polyfill to fix performance issues for Salesforce LWS (MIT)
 * * [Chart.js (when using Chart package)](https://github.com/chartjs/Chart.js) (MIT)
 * 
 * Note: the **chronograph** and **later.js** libraries are used in Bryntum Scheduler Pro and Bryntum Gantt, but they are
 * listed for all Bryntum products since the distribution contains trial versions of the thin bundles for all other
 * products. TreeWalker is only used in the LWC bundle for Salesforce. Roboto font is only used in the material theme.
 * 
 * ## Font Awesome 6 Free
 * 
 * [Font Awesome Free 6 by @fontawesome](https://fontawesome.com/)
 * 
 * Font Awesome Free is free, open source, and GPL friendly. You can use it for commercial projects, open source projects,
 * or really almost whatever you want.
 * 
 * [Full Font Awesome Free license](https://fontawesome.com/license/free)
 * 
 * ## Roboto font
 * 
 * [Apache License Version 2.0, January 2004](https://www.apache.org/licenses/LICENSE-2.0)
 * 
 * TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 * 
 * 1. Definitions.
 * 
 * "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9
 * of this document.
 * 
 * "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
 * 
 * "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are
 * under common control with that entity. For the purposes of this definition,
 * "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by
 * contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial
 * ownership of such entity.
 * 
 * "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
 * 
 * "Source" form shall mean the preferred form for making modifications, including but not limited to software source code,
 * documentation source, and configuration files.
 * 
 * "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including
 * but not limited to compiled object code, generated documentation, and conversions to other media types.
 * 
 * "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as
 * indicated by a copyright notice that is included in or attached to the work
 * (an example is provided in the Appendix below).
 * 
 * "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work
 * and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an
 * original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain
 * separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
 * 
 * "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or
 * additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the
 * Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner.
 * For the purposes of this definition, "submitted"
 * means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including
 * but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems
 * that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding
 * communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a
 * Contribution."
 * 
 * "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received
 * by Licensor and subsequently incorporated within the Work.
 * 
 * 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to
 *    You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce,
 *    prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such
 *    Derivative Works in Source or Object form.
 * 
 * 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a
 *    perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 *    (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise
 *    transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are
 *    necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s)
 *    with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (
 *    including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within
 *    the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this
 *    License for that Work shall terminate as of the date such litigation is filed.
 * 
 * 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with
 *    or without modifications, and in Source or Object form, provided that You meet the following conditions:
 * 
 * (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and
 * 
 * (b) You must cause any modified files to carry prominent notices stating that You changed the files; and
 * 
 * (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark,
 * and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the
 * Derivative Works; and
 * 
 * (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute
 * must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that
 * do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file
 * distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the
 * Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices
 * normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You
 * may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the
 * NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the
 * License.
 * 
 * You may add Your own copyright statement to Your modifications and may provide additional or different license terms and
 * conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole,
 * provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this
 * License.
 * 
 * 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for
 *    inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any
 *    additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any
 *    separate license agreement you may have executed with Licensor regarding such Contributions.
 * 
 * 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product
 *    names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and
 *    reproducing the content of the NOTICE file.
 * 
 * 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and
 *    each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
 *    either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT,
 *    MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness
 *    of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this
 *    License.
 * 
 * 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or
 *    otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing,
 *    shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or
 *    consequential damages of any character arising as a result of this License or out of the use or inability to use the
 *    Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or
 *    any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such
 *    damages.
 * 
 * 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose
 *    to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or
 *    rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and
 *    on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and
 *    hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason
 *    of your accepting any such warranty or additional liability.
 * 
 * END OF TERMS AND CONDITIONS
 * 
 * APPENDIX: How to apply the Apache License to your work.
 * 
 * To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by
 * brackets "[]"
 * replaced with your own identifying information. (Don't include the brackets!)  The text should be enclosed in the
 * appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose
 * be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
 * 
 * Copyright [yyyy] [name of copyright owner]
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the
 * License. You may obtain a copy of the License at
 * 
 * [APACHE LICENSE, VERSION 2.0](http://www.apache.org/licenses/LICENSE-2.0)
 * 
 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "
 * AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific
 * language governing permissions and limitations under the License.
 * 
 * ## Styling Cross-Browser Compatible Range Inputs with Sass
 * 
 * Github: [input-range-sass](https://github.com/darlanrod/input-range-sass)
 * 
 * Author: [Darlan Rod](https://github.com/darlanrod)
 * 
 * Version 1.4.1
 * 
 * The MIT License (MIT)
 * 
 * Copyright (c) 2016 Darlan Rod
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
 * documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
 * persons to whom the Software is furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
 * Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
 * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 * 
 * ## Tree Walker polyfill
 * 
 * The MIT License (MIT)
 * 
 * [Copyright 2013–2017 Timo Tijhof](https://github.com/Krinkle/dom-TreeWalker-polyfill)
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
 * documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
 * persons to whom the Software is furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
 * Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
 * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 * 
 * ## chronograph
 * 
 * GitHub: [chronograph](https://github.com/bryntum/chronograph)
 * 
 * The MIT License (MIT)
 * 
 * Copyright (c) 2023 Bryntum
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
 * documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
 * persons to whom the Software is furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
 * Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
 * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 * 
 * ## later.js
 * 
 * GitHub: [later.js](https://github.com/bunkat/later)
 * 
 * The MIT License (MIT)
 * 
 * Copyright © 2013 BunKat
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
 * documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
 * persons to whom the Software is furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
 * Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
 * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 * 
 * ## Monaco editor
 * 
 * GitHub: [Monaco editor](https://microsoft.github.io/monaco-editor) (MIT)
 * 
 * The MIT License (MIT)
 * 
 * Copyright (c) 2016 - present Microsoft Corporation
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
 * documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit
 * persons to whom the Software is furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
 * Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
 * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 * 
 * ## Map/Set polyfill to fix performance issues for Salesforce LWS
 * 
 * Copyright © 2024 Certinia Inc.
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 * 
 * ## Chart.js
 * 
 * GitHub: [Chart.js](https://github.com/chartjs/Chart.js)
 * 
 * The MIT License (MIT)
 * 
 * Copyright (c) 2014-2022 Chart.js Contributors
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
 * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 * 
 */

/* Custom Percent Bar Label Centering */

.b-percent-bar-value label {
    margin-top: 0.85em;
}

:root,
:host {
    --bryntum-version: "7.0.0";
    --b-checkbox-checked-check-content: "\f00c";
    --b-widget-anchor-width: 1.2em;
    --b-widget-anchor-height: .6em;
    --b-widget-font-size: 1em;
    --b-widget-font-weight: 400;
    --b-widget-icon-font-family: "Font Awesome 6 Free";
    --b-widget-sub-menu-icon: "\f0da";
    --b-widget-color: var(--b-text-1);
    --b-widget-border-color: var(--b-border-3);
    --b-widget-disabled-color: var(--b-text-3);
    --b-widget-disabled-background: var(--b-neutral-90);
    --b-widget-padding: 1em;
    --b-widget-padding-large: 1.5em;
    --b-widget-gap: 1em;
    --b-widget-focus-outline-width: 2px;
    --b-widget-focus-outline-color: var(--b-primary);
    --b-widget-floating-box-shadow: var(--b-elevation-2);
    --b-aligned-above-floating-box-shadow: -3px -1px 6px rgba(0, 0, 0, .12), 3px -2px 6px rgba(0, 0, 0, .24);
    --b-widget-floating-border: null;
    --b-label-color: var(--b-widget-color);
    --b-widget-scrollbar-border-color: var(--b-border-7);
    --b-widget-anchor-offset: 1px;
    --b-elevation-0: none;
    --b-elevation-1: 0 1px 3px 0 rgb(0 0 0 /.12), 0 1px 1px 0 rgb(0 0 0 /.1), 0 2px 1px -1px rgb(0 0 0 /.08);
    --b-elevation-2: 0 1px 5px 0 rgb(0 0 0 /.12), 0 2px 2px 0 rgb(0 0 0 /.1), 0 3px 1px -2px rgb(0 0 0 /.08);
    --b-elevation-3: 0 3px 6px rgba(0, 0, 0, .12), 0 3px 6px rgba(0, 0, 0, .24);
    --b-default-transition-duration: .2s
}

@property --bi-widget-grid-column {
    syntax: "*";
    inherits: false;
}

.b-internal {
    --bi-widget-grid-column: null
}

.b-widget {
    display: flex;
    position: relative;
    overflow: hidden;
    color-scheme: var(--b-widget-color-scheme);
    font-weight: var(--b-widget-font-weight);
    font-size: var(--b-widget-font-size);
    grid-column: var(--bi-widget-grid-column)
}

    .b-widget,
    .b-widget:before,
    .b-widget:after,
    .b-widget *,
    .b-widget *:before,
    .b-widget *:after {
        box-sizing: border-box
    }

        .b-widget.b-hidden.b-hide-mode-clip {
            clip: rect(0, 0, 0, 0) !important
        }

        .b-widget.b-hidden.b-hide-mode-opacity {
            opacity: 0 !important;
            pointer-events: none
        }

        .b-widget.b-hidden.b-hide-mode-display {
            display: none !important
        }

        .b-widget.b-positioned {
            position: absolute;
            inset-inline-start: 0;
            inset-block-start: 0
        }

        .b-widget.b-positionable {
            position: absolute
        }

        .b-widget .b-aria-desc-element {
            position: absolute;
            clip-path: polygon(0 0);
            contain: strict
        }

        .b-widget.b-floating,
        .b-widget.b-positioned {
            box-shadow: var(--b-widget-floating-box-shadow)
        }

:is(.b-widget.b-floating, .b-widget.b-positioned).b-centered {
    top: 50%;
    inset-inline-start: 50%;
    z-index: 1;
    translate: calc(-50% * var(--b-rtl-negate)) -50%
}

.b-widget.b-maximized {
    position: fixed;
    translate: none !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    top: 0 !important;
    inset-inline-start: 0 !important
}

    .b-widget.b-maximized.b-mobile .b-bottom-toolbar {
        order: -1;
        min-height: 3.5em
    }

        .b-widget.b-maximized.b-mobile .b-bottom-toolbar .b-toolbar-content {
            padding-block: .5em 0;
            padding-inline-start: 1em !important
        }

.b-widget > .b-focus-trap {
    position: absolute;
    display: none;
    clip: rect(0, 0, 0, 0)
}

.b-widget.b-focus-trapped.b-contains-focus > .b-focus-trap {
    display: inherit
}

.b-widget.b-initializing * {
    transition: none !important
}

.b-anchor {
    position: absolute
}

    .b-anchor svg {
        position: absolute;
        top: 0;
        overflow: visible
    }

    .b-anchor.b-anchor-top,
    .b-anchor.b-anchor-bottom {
        left: 0;
        height: var(--b-widget-anchor-height);
        width: 100%
    }

:is(.b-anchor.b-anchor-top, .b-anchor.b-anchor-bottom) svg {
    width: var(--b-widget-anchor-width);
    height: var(--b-widget-anchor-height)
}

.b-anchor.b-anchor-top {
    bottom: calc(100% - var(--b-widget-anchor-offset))
}

.b-anchor.b-anchor-bottom {
    top: calc(100% - var(--b-widget-anchor-offset))
}

    .b-anchor.b-anchor-bottom svg {
        rotate: 180deg
    }

.b-anchor.b-anchor-start,
.b-anchor.b-anchor-end {
    top: 0;
    width: var(--b-widget-anchor-height);
    height: 100%
}

:is(.b-anchor.b-anchor-start, .b-anchor.b-anchor-end) svg {
    height: var(--b-widget-anchor-width);
    width: var(--b-widget-anchor-height)
}

.b-anchor.b-anchor-start {
    inset-inline-end: 100%
}

    .b-anchor.b-anchor-start svg {
        rotate: 270deg;
        transform-origin: var(--b-widget-anchor-height) var(--b-widget-anchor-height)
    }

.b-anchor.b-anchor-end {
    inset-inline-start: 100%
}

    .b-anchor.b-anchor-end svg {
        rotate: 90deg;
        transform-origin: calc(var(--b-widget-anchor-height) / 2) calc(var(--b-widget-anchor-height) / 2)
    }

.b-anchor.b-anchor-right {
    inset-inline-start: calc(100% - var(--bi-border-width, 0px));
    clip-path: rect(0 100% 100% var(--bi-border-width, 0px))
}

.b-anchor.b-anchor-left {
    inset-inline-end: calc(100% - var(--bi-border-width, 0px));
    clip-path: rect(0 calc(100% - var(--bi-border-width, 0px)) 100% 0)
}

.b-rtl > .b-anchor.b-anchor-right {
    inset-inline-end: calc(100% - var(--bi-border-width, 0px));
    inset-inline-start: auto
}

.b-rtl > .b-anchor.b-anchor-left {
    inset-inline-start: calc(100% - var(--bi-border-width, 0px));
    inset-inline-end: auto
}

.b-float-root {
    position: fixed !important;
    inset: 0;
    pointer-events: none;
    overflow: clip;
    z-index: 14000;
    contain: strict
}

    .b-float-root.b-safari {
        user-select: none;
        -webkit-user-select: none
    }

    .b-float-root > .b-floating {
        position: absolute;
        contain: layout style;
        pointer-events: all;
        transition: opacity .2s;
        top: 0;
        inset-inline-start: 0;
        z-index: 1
    }

        .b-float-root > .b-floating:not(.b-popup) {
            box-shadow: var(--b-widget-floating-box-shadow);
            border-radius: var(--b-widget-border-radius);
            border: var(--b-widget-floating-border)
        }

.b-firefox :is(.b-float-root>.b-floating) {
    contain: layout
}

.b-float-root > .b-floating.b-hidden {
    opacity: 0
}

.b-float-root > .b-floating.b-aligned-above:not(.b-anchored) {
    box-shadow: var(--b-aligned-above-floating-box-shadow)
}

.b-trial-demo-mode [style*="data:image/svg+xml"] {
    background-image: none !important
}

:root,
:host {
    --b-rtl-negate: 1
}

.b-rtl {
    direction: rtl;
    --b-rtl-negate: -1
}

    .b-rtl .b-anchor.b-anchor-start svg {
        rotate: 90deg;
        transform-origin: calc(var(--b-widget-anchor-height) / 2) calc(var(--b-widget-anchor-height) / 2)
    }

    .b-rtl .b-anchor.b-anchor-end svg {
        rotate: 270deg;
        transform-origin: var(--b-widget-anchor-height) var(--b-widget-anchor-height)
    }

.b-ltr {
    direction: ltr
}

.b-aria-live-el {
    height: 0;
    width: 0;
    position: absolute;
    inset-inline-start: -9999px;
    contain: strict
}

.b-released,
.b-hide-display,
.b-theme-info {
    display: none !important
}

.b-hide-visibility {
    visibility: hidden !important
}

.b-hide-offscreen {
    visibility: hidden !important;
    position: absolute !important;
    top: -10000em;
    left: -10000em
}

.b-yscroll-pad {
    display: none
}

.b-visible-scrollbar .b-show-yscroll-padding > .b-yscroll-pad {
    display: block;
    order: 9999;
    border-inline-start: 1px solid var(--b-widget-scrollbar-border-color)
}

    .b-visible-scrollbar .b-show-yscroll-padding > .b-yscroll-pad .b-yscroll-pad-sizer {
        overflow-x: hidden;
        overflow-y: scroll;
        margin-inline-start: -1px;
        height: 0;
        max-width: var(--bi-scrollbar-width)
    }

.b-widget-scroller.b-hide-scroll {
    scrollbar-width: none
}

    .b-widget-scroller.b-hide-scroll::-webkit-scrollbar {
        display: none
    }

:is(div, span) .b-color-red {
    --b-primary: var(--b-color-red)
}

:is(div, span) .b-color-pink {
    --b-primary: var(--b-color-pink)
}

:is(div, span) .b-color-magenta {
    --b-primary: var(--b-color-magenta)
}

:is(div, span) .b-color-purple {
    --b-primary: var(--b-color-purple)
}

:is(div, span) .b-color-deep-purple {
    --b-primary: var(--b-color-deep-purple)
}

:is(div, span) .b-color-violet {
    --b-primary: var(--b-color-violet)
}

:is(div, span) .b-color-indigo {
    --b-primary: var(--b-color-indigo)
}

:is(div, span) .b-color-blue {
    --b-primary: var(--b-color-blue)
}

:is(div, span) .b-color-light-blue {
    --b-primary: var(--b-color-light-blue)
}

:is(div, span) .b-color-cyan {
    --b-primary: var(--b-color-cyan)
}

:is(div, span) .b-color-teal {
    --b-primary: var(--b-color-teal)
}

:is(div, span) .b-color-green {
    --b-primary: var(--b-color-green)
}

:is(div, span) .b-color-light-green {
    --b-primary: var(--b-color-light-green)
}

:is(div, span) .b-color-lime {
    --b-primary: var(--b-color-lime)
}

:is(div, span) .b-color-yellow {
    --b-primary: var(--b-color-yellow)
}

:is(div, span) .b-color-amber {
    --b-primary: var(--b-color-amber)
}

:is(div, span) .b-color-orange {
    --b-primary: var(--b-color-orange)
}

:is(div, span) .b-color-deep-orange {
    --b-primary: var(--b-color-deep-orange)
}

:is(div, span) .b-color-brown {
    --b-primary: var(--b-color-brown)
}

:is(div, span) .b-color-lighter-gray {
    --b-primary: var(--b-color-lighter-gray)
}

:is(div, span) .b-color-light-gray {
    --b-primary: var(--b-color-light-gray)
}

:is(div, span) .b-color-gray {
    --b-primary: var(--b-color-gray)
}

:is(div, span) .b-color-black {
    --b-primary: var(--b-color-black)
}

@keyframes b-anim-fade-in {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes b-anim-fade-out {
    0% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

@keyframes b-anim-slide-in-from-right {
    30% {
        translate: -50%;
        opacity: .5
    }

    30.01% {
        translate: 50%
    }

    to {
        translate: 0;
        opacity: 1
    }
}

@keyframes b-anim-slide-in-from-left {
    30% {
        translate: 50%;
        opacity: .5
    }

    30.01% {
        translate: -50%
    }

    to {
        translate: 0;
        opacity: 1
    }
}

@keyframes b-anim-slide-in-from-below {
    30% {
        translate: 0 -50%;
        opacity: .5
    }

    30.01% {
        translate: 0 50%
    }

    to {
        translate: 0;
        opacity: 1
    }
}

@keyframes b-anim-slide-in-from-above {
    30% {
        translate: 0 50%;
        opacity: .5
    }

    30.01% {
        translate: 0 -50%
    }

    to {
        translate: 0;
        opacity: 1
    }
}

.b-slide-in-next,
.b-slide-in-previous {
    animation: b-anim-slide-in-from-left .3s ease 0s 1 normal
}

.b-slide-vertical.b-slide-in-next {
    animation-name: b-anim-slide-in-from-below
}

.b-slide-vertical.b-slide-in-previous {
    animation-name: b-anim-slide-in-from-above
}

.b-slide-in-next:not(.b-slide-vertical) {
    animation-name: b-anim-slide-in-from-right
}

.b-slide-in-previous:not(.b-slide-vertical) {
    animation-name: b-anim-slide-in-from-left
}

.b-rtl.b-slide-in-next:not(.b-slide-vertical) {
    animation-name: b-anim-slide-in-from-left
}

.b-rtl.b-slide-in-previous:not(.b-slide-vertical) {
    animation-name: b-anim-slide-in-from-right
}

.b-sliding-child-element {
    overflow: clip
}

.b-transition-expand-collapse.b-aligned-below {
    animation: b-anim-expand-downwards .3s forwards
}

.b-transition-expand-collapse.b-aligned-above {
    animation: b-anim-expand-upwards .3s forwards
}

.b-transition-expand-collapse.b-hiding.b-aligned-below {
    animation: b-anim-collapse-upwards .3s forwards
}

.b-transition-expand-collapse.b-hiding.b-aligned-above {
    animation: b-anim-collapse-downwards .3s forwards
}

@keyframes b-anim-expand-downwards {
    0% {
        clip-path: rect(-20px calc(100% + 20px) 0 -20px);
        opacity: 0
    }

    to {
        clip-path: rect(-20px calc(100% + 20px) calc(100% + 20px) -20px);
        opacity: 1
    }
}

@keyframes b-anim-collapse-upwards {
    0% {
        clip-path: rect(-5px calc(100% + 5px) calc(100% + 5px) -5px);
        opacity: 1
    }

    to {
        clip-path: rect(-5px calc(100% + 5px) 0 -5px);
        opacity: 0
    }
}

@keyframes b-anim-expand-upwards {
    0% {
        clip-path: rect(100% calc(100% + 5px) 100% -5px);
        opacity: 0
    }

    to {
        clip-path: rect(-5px calc(100% + 5px) calc(100% + 5px) -5px);
        opacity: 1
    }
}

@keyframes b-anim-collapse-downwards {
    0% {
        clip-path: rect(-5px calc(100% + 5px) calc(100% + 5px) -5px);
        opacity: 1
    }

    to {
        clip-path: rect(100% calc(100% + 5px) 100% -5px);
        opacity: 0
    }
}

:root,
:host {
    --b-color-red: #e53935;
    --b-color-pink: #d81b60;
    --b-color-magenta: #c200c2;
    --b-color-purple: #8e24aa;
    --b-color-violet: #5e35b1;
    --b-color-deep-purple: #4527a0;
    --b-color-indigo: #3949ab;
    --b-color-blue: #1e88e5;
    --b-color-light-blue: #03a9f4;
    --b-color-cyan: #3bc9db;
    --b-color-teal: #00897b;
    --b-color-green: #43a047;
    --b-color-light-green: #8bc34a;
    --b-color-lime: #c0ca33;
    --b-color-yellow: #fdd835;
    --b-color-amber: #ffb300;
    --b-color-orange: #fb8c00;
    --b-color-deep-orange: #f4511e;
    --b-color-brown: #6d4c41;
    --b-color-lighter-gray: #e0e0e0;
    --b-color-light-gray: #c0c0c0;
    --b-color-gray: #757575;
    --b-color-black: #000000;
    --b-neutral-100: hsl(0 0 100%);
    --b-neutral-99: hsl(0 0 99%);
    --b-neutral-98: hsl(0 0 98%);
    --b-neutral-97: hsl(0 0 97%);
    --b-neutral-96: hsl(0 0 96%);
    --b-neutral-95: hsl(0 0 95%);
    --b-neutral-94: hsl(0 0 94%);
    --b-neutral-93: hsl(0 0 93%);
    --b-neutral-92: hsl(0 0 92%);
    --b-neutral-91: hsl(0 0 91%);
    --b-neutral-90: hsl(0 0 90%);
    --b-neutral-85: hsl(0 0 85%);
    --b-neutral-80: hsl(0 0 80%);
    --b-neutral-75: hsl(0 0 75%);
    --b-neutral-70: hsl(0 0 70%);
    --b-neutral-65: hsl(0 0 65%);
    --b-neutral-60: hsl(0 0 60%);
    --b-neutral-55: hsl(0 0 55%);
    --b-neutral-50: hsl(0 0 50%);
    --b-neutral-45: hsl(0 0 45%);
    --b-neutral-40: hsl(0 0 40%);
    --b-neutral-35: hsl(0 0 35%);
    --b-neutral-30: hsl(0 0 30%);
    --b-neutral-25: hsl(0 0 25%);
    --b-neutral-20: hsl(0 0 20%);
    --b-neutral-15: hsl(0 0 15%);
    --b-neutral-10: hsl(0 0 10%);
    --b-neutral-5: hsl(0 0 5%);
    --b-neutral-2: hsl(0 0 2%);
    --b-neutral-1: hsl(0 0 1%);
    --b-neutral-0: hsl(0 0 0%);
    --b-border-1: var(--b-neutral-10);
    --b-border-2: var(--b-neutral-30);
    --b-border-3: var(--b-neutral-50);
    --b-border-4: var(--b-neutral-60);
    --b-border-5: var(--b-neutral-70);
    --b-border-6: var(--b-neutral-80);
    --b-border-7: var(--b-neutral-90);
    --b-border-8: var(--b-neutral-93);
    --b-border-9: var(--b-neutral-95);
    --b-border-10: var(--b-neutral-100);
    --b-text-1: var(--b-neutral-10);
    --b-text-2: var(--b-neutral-30);
    --b-text-3: var(--b-neutral-50);
    --b-text-4: var(--b-neutral-70);
    --b-text-5: var(--b-neutral-100)
}

.b-colorize,
.b-bryntum {
    --b-primary-100: var(--b-mix);
    --b-primary-99: color-mix(in srgb, var(--b-primary), var(--b-mix) 98%);
    --b-primary-98: color-mix(in srgb, var(--b-primary), var(--b-mix) 96%);
    --b-primary-97: color-mix(in srgb, var(--b-primary), var(--b-mix) 94%);
    --b-primary-96: color-mix(in srgb, var(--b-primary), var(--b-mix) 92%);
    --b-primary-95: color-mix(in srgb, var(--b-primary), var(--b-mix) 90%);
    --b-primary-94: color-mix(in srgb, var(--b-primary), var(--b-mix) 88%);
    --b-primary-93: color-mix(in srgb, var(--b-primary), var(--b-mix) 86%);
    --b-primary-92: color-mix(in srgb, var(--b-primary), var(--b-mix) 84%);
    --b-primary-91: color-mix(in srgb, var(--b-primary), var(--b-mix) 82%);
    --b-primary-90: color-mix(in srgb, var(--b-primary), var(--b-mix) 80%);
    --b-primary-85: color-mix(in srgb, var(--b-primary), var(--b-mix) 70%);
    --b-primary-80: color-mix(in srgb, var(--b-primary), var(--b-mix) 60%);
    --b-primary-75: color-mix(in srgb, var(--b-primary), var(--b-mix) 50%);
    --b-primary-70: color-mix(in srgb, var(--b-primary), var(--b-mix) 40%);
    --b-primary-65: color-mix(in srgb, var(--b-primary), var(--b-mix) 30%);
    --b-primary-60: color-mix(in srgb, var(--b-primary), var(--b-mix) 20%);
    --b-primary-55: color-mix(in srgb, var(--b-primary), var(--b-mix) 10%);
    --b-primary-50: var(--b-primary);
    --b-primary-45: color-mix(in srgb, var(--b-primary), var(--b-opposite) 10%);
    --b-primary-40: color-mix(in srgb, var(--b-primary), var(--b-opposite) 20%);
    --b-primary-35: color-mix(in srgb, var(--b-primary), var(--b-opposite) 30%);
    --b-primary-30: color-mix(in srgb, var(--b-primary), var(--b-opposite) 40%);
    --b-primary-25: color-mix(in srgb, var(--b-primary), var(--b-opposite) 50%);
    --b-primary-20: color-mix(in srgb, var(--b-primary), var(--b-opposite) 60%);
    --b-primary-15: color-mix(in srgb, var(--b-primary), var(--b-opposite) 70%);
    --b-primary-10: color-mix(in srgb, var(--b-primary), var(--b-opposite) 80%);
    --b-primary-5: color-mix(in srgb, var(--b-primary), var(--b-opposite) 90%);
    --b-primary-2: color-mix(in srgb, var(--b-primary), var(--b-opposite) 96%);
    --b-primary-1: color-mix(in srgb, var(--b-primary), var(--b-opposite) 98%);
    --b-primary-0: var(--b-opposite)
}

@supports not (color: color-mix(in srgb, red, blue)) {
    .b-colorize,
    .b-bryntum {
        --b-primary-99: linear-gradient(rgba(255, 255, 255, .98), rgba(255, 255, 255, .98)) var(--b-primary);
        --b-primary-98: linear-gradient(rgba(255, 255, 255, .96), rgba(255, 255, 255, .96)) var(--b-primary);
        --b-primary-97: linear-gradient(rgba(255, 255, 255, .94), rgba(255, 255, 255, .94)) var(--b-primary);
        --b-primary-96: linear-gradient(rgba(255, 255, 255, .92), rgba(255, 255, 255, .92)) var(--b-primary);
        --b-primary-95: linear-gradient(rgba(255, 255, 255, .9), rgba(255, 255, 255, .9)) var(--b-primary);
        --b-primary-94: linear-gradient(rgba(255, 255, 255, .88), rgba(255, 255, 255, .88)) var(--b-primary);
        --b-primary-93: linear-gradient(rgba(255, 255, 255, .86), rgba(255, 255, 255, .86)) var(--b-primary);
        --b-primary-92: linear-gradient(rgba(255, 255, 255, .84), rgba(255, 255, 255, .84)) var(--b-primary);
        --b-primary-91: linear-gradient(rgba(255, 255, 255, .82), rgba(255, 255, 255, .82)) var(--b-primary);
        --b-primary-90: linear-gradient(rgba(255, 255, 255, .8), rgba(255, 255, 255, .8)) var(--b-primary);
        --b-primary-85: linear-gradient(rgba(255, 255, 255, .7), rgba(255, 255, 255, .7)) var(--b-primary);
        --b-primary-80: linear-gradient(rgba(255, 255, 255, .6), rgba(255, 255, 255, .6)) var(--b-primary);
        --b-primary-75: linear-gradient(rgba(255, 255, 255, .5), rgba(255, 255, 255, .5)) var(--b-primary);
        --b-primary-70: linear-gradient(rgba(255, 255, 255, .4), rgba(255, 255, 255, .4)) var(--b-primary);
        --b-primary-65: linear-gradient(rgba(255, 255, 255, .3), rgba(255, 255, 255, .3)) var(--b-primary);
        --b-primary-60: linear-gradient(rgba(255, 255, 255, .2), rgba(255, 255, 255, .2)) var(--b-primary);
        --b-primary-55: linear-gradient(rgba(255, 255, 255, .1), rgba(255, 255, 255, .1)) var(--b-primary);
        --b-primary-45: linear-gradient(rgba(0, 0, 0, .1), rgba(0, 0, 0, .1)) var(--b-primary);
        --b-primary-40: linear-gradient(rgba(0, 0, 0, .2), rgba(0, 0, 0, .2)) var(--b-primary);
        --b-primary-35: linear-gradient(rgba(0, 0, 0, .3), rgba(0, 0, 0, .3)) var(--b-primary);
        --b-primary-30: linear-gradient(rgba(0, 0, 0, .4), rgba(0, 0, 0, .4)) var(--b-primary);
        --b-primary-25: linear-gradient(rgba(0, 0, 0, .5), rgba(0, 0, 0, .5)) var(--b-primary);
        --b-primary-20: linear-gradient(rgba(0, 0, 0, .6), rgba(0, 0, 0, .6)) var(--b-primary);
        --b-primary-15: linear-gradient(rgba(0, 0, 0, .7), rgba(0, 0, 0, .7)) var(--b-primary);
        --b-primary-10: linear-gradient(rgba(0, 0, 0, .8), rgba(0, 0, 0, .8)) var(--b-primary);
        --b-primary-5: linear-gradient(rgba(0, 0, 0, .9), rgba(0, 0, 0, .9)) var(--b-primary);
        --b-primary-2: linear-gradient(rgba(0, 0, 0, .96), rgba(0, 0, 0, .96)) var(--b-primary);
        --b-primary-1: linear-gradient(rgba(0, 0, 0, .98), rgba(0, 0, 0, .98)) var(--b-primary)
    }
}

.b-fx-highlight {
    z-index: 9999 !important;
    animation: b-anim-fx-highlight 1s ease 0s 1
}

@keyframes b-anim-fx-highlight {
    0% {
        box-shadow: none
    }

    50% {
        box-shadow: 0 0 10px 5px var(--b-primary-50)
    }

    to {
        box-shadow: none
    }
}

.b-dragging,
.b-dragging * {
    pointer-events: none !important
}

    .b-dragging:not(.b-widget) {
        z-index: 100;
        opacity: .8;
        box-sizing: border-box
    }

        .b-dragging:not(.b-widget).b-drag-unified-proxy {
            opacity: .65
        }

        .b-dragging:not(.b-widget).b-drag-main {
            z-index: 101;
            opacity: 1
        }

.b-drag-proxy {
    position: absolute !important;
    top: 0;
    inset-inline-start: 0;
    pointer-events: none !important;
    box-sizing: border-box
}

    .b-drag-proxy * {
        box-sizing: border-box
    }

.b-aborting,
.b-drag-final-transition {
    transition-duration: .3s;
    transition-property: all !important
}

.b-drag-unified-animation {
    transition: translate .2s
}

.b-drag-original.b-hidden {
    display: none !important
}

.b-drag-helper-active * {
    -webkit-user-select: none !important;
    user-select: none !important
}

.b-resize-grip {
    position: absolute;
    z-index: 1
}

.b-resize-grip-top-start,
.b-resize-grip-top-end,
.b-resize-grip-bottom-start,
.b-resize-grip-bottom-end {
    width: .5em;
    height: .5em
}

.b-resize-grip-top,
.b-resize-grip-top-start,
.b-resize-grip-top-end {
    top: 0
}

.b-resize-grip-bottom,
.b-resize-grip-bottom-start,
.b-resize-grip-bottom-end {
    bottom: 0
}

.b-resize-grip-start,
.b-resize-grip-top-start,
.b-resize-grip-bottom-start {
    inset-inline-start: 0
}

.b-resize-grip-end,
.b-resize-grip-top-end,
.b-resize-grip-bottom-end {
    inset-inline-end: 0
}

.b-resize-grip-top,
.b-resize-grip-bottom {
    height: .5em
}

.b-resize-grip-start,
.b-resize-grip-end {
    width: .5em
}

.b-resize-grip-top-start,
.b-resize-grip-bottom-end {
    cursor: nwse-resize;
    z-index: 2
}

.b-resize-grip-top-end,
.b-resize-grip-bottom-start {
    cursor: nesw-resize;
    z-index: 2
}

.b-resize-grip-top,
.b-resize-grip-bottom {
    cursor: ns-resize;
    width: 100%;
    inset-inline-start: 0
}

.b-resize-grip-start,
.b-resize-grip-end {
    height: 100%;
    top: 0;
    cursor: ew-resize
}

.b-no-resize-observer.b-resize-monitored {
    position: relative
}

    .b-no-resize-observer.b-resize-monitored .b-resize-monitors {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        visibility: hidden;
        overflow: hidden
    }

        .b-no-resize-observer.b-resize-monitored .b-resize-monitors > * {
            width: 100%;
            height: 100%;
            overflow: hidden
        }

        .b-no-resize-observer.b-resize-monitored .b-resize-monitors > .b-resize-monitor-expand:after {
            content: "";
            display: block;
            width: 100000px;
            height: 100000px
        }

        .b-no-resize-observer.b-resize-monitored .b-resize-monitors > .b-resize-monitor-shrink:after {
            content: "";
            display: block;
            width: 200%;
            height: 200%;
            min-width: 1px;
            min-height: 1px
        }

.simulated-mouse {
    position: absolute;
    z-index: 100;
    top: 10px;
    left: 10px;
    transition: top .5s, left .5s;
    pointer-events: none;
    font-size: 16px
}

    .simulated-mouse.quick {
        transition: top .05s, left .05s
    }

    .simulated-mouse:after {
        position: absolute;
        content: "\f245" / "";
        font-family: var(--b-widget-icon-font-family);
        font-weight: 900;
        z-index: 102
    }

    .simulated-mouse.drag:before,
    .simulated-mouse.mousedown:before,
    .simulated-mouse.dblclick:before,
    .simulated-mouse.click:before {
        position: absolute;
        content: "";
        border: 2px solid transparent;
        border-radius: 50%;
        animation-name: b-anim-click;
        animation-duration: .2s;
        top: 0;
        left: 0;
        translate: -50% -50%;
        z-index: 101;
        opacity: .7
    }

    .simulated-mouse.drag:after {
        content: "\f25a" / "";
        left: -3px
    }

    .simulated-mouse.dblclick:before {
        animation-name: b-anim-dblclick;
        animation-duration: .3s
    }

    .simulated-mouse.mousedown:before,
    .simulated-mouse.drag:before {
        animation-name: none;
        width: 1.5em;
        height: 1.5em;
        border-color: red
    }

@keyframes b-anim-click {
    0% {
        width: 0;
        height: 0
    }

    90% {
        width: 1.5em;
        height: 1.5em;
        border-color: red
    }

    to {
        width: 0;
        height: 0;
        border-color: transparent
    }
}

@keyframes b-anim-dblclick {
    0% {
        width: 0;
        height: 0
    }

    40% {
        width: 1.5em;
        height: 1.5em;
        border-color: red
    }

    50% {
        width: 0;
        height: 0
    }

    90% {
        width: 1.5em;
        height: 1.5em;
        border-color: red
    }

    to {
        width: 0;
        height: 0;
        border-color: transparent
    }
}

.b-scroll-hidden {
    visibility: hidden !important;
    position: absolute !important;
    top: -10000em;
    left: -10000em;
    translate: 0 0 !important
}

.b-infinity-scroller {
    overflow: scroll
}

    .b-infinity-scroller.b-infinity-scroller-smooth {
        scroll-behavior: smooth
    }

.b-infinity-scroller-item {
    position: absolute !important
}

.b-widget-scroller {
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
    overflow-anchor: none;
    position: relative
}

.b-hide-scroll {
    scrollbar-width: none
}

    .b-hide-scroll::-webkit-scrollbar {
        display: none
    }

.b-scroller-stretcher {
    position: absolute;
    height: 1px;
    width: 1px;
    top: 0;
    inset-inline-start: 0
}

.b-icon {
    display: inline-flex;
    gap: .5em
}

    .b-icon:before,
    .b-fw-icon:before {
        font-style: normal;
        font-variant: normal;
        display: grid;
        place-items: center;
        font-family: var(--b-widget-icon-font-family);
        font-weight: var(--b-widget-icon-font-weight, 900);
        content: var(--fa)
    }

.b-fw-icon:before {
    width: 1em
}

.b-icon-scroll-left:before {
    content: "\f104"
}

.b-icon-scroll-right:before {
    content: "\f105"
}

.b-icon-spin-up:before {
    content: "\f0d8"
}

.b-icon-spin-down:before {
    content: "\f0d7"
}

.b-icon-add:before {
    content: "+"
}

.b-icon-clear:before,
.b-icon-remove:before,
.b-icon-close:before {
    content: "\f00d"
}

.b-icon-remove-circle:before {
    content: "\f057"
}

.b-icon-collapse-down:before {
    content: "\f078"
}

.b-icon-collapse-left:before {
    content: "\f053"
}

.b-icon-collapse-right:before {
    content: "\f054"
}

.b-icon-collapse-up:before {
    content: "\f077"
}

.b-icon-filter-disable:before {
    content: "\f05e"
}

.b-icon-search:before {
    content: "\f002"
}

.b-icon-search-plus:before {
    content: "\f00e"
}

.b-icon-search-minus:before {
    content: "\f010"
}

.b-icon-hide:before {
    content: "\f057"
}

.b-icon-trash:before {
    content: "\f1f8"
}

.b-icon-edit:before {
    content: "\f303"
}

.b-icon-show-details:before {
    content: "\f002"
}

.b-icon-rename:before {
    content: "\f044"
}

.b-icon-copy:before {
    content: "\f0c5"
}

.b-icon-cut:before {
    content: "\f0c4"
}

.b-icon-paste:before {
    content: "\f0ea"
}

.b-icon-expand-row:before {
    content: "\f107"
}

.b-icon-expand-column:before {
    content: "\f105"
}

.b-icon-expand {
    content: "\f065"
}

.b-icon-first:before {
    content: "\f100"
}

:is(.b-rtl .b-icon-first, .b-rtl .b-icon-last, .b-rtl .b-icon-next, .b-rtl .b-icon-previous, .b-rtl .b-icon-scroll-left, .b-rtl .b-icon-scroll-right):before {
    scale: -1 1
}

.b-icon-last:before {
    content: "\f101"
}

.b-icon-redo:before,
.b-icon-reload:before {
    content: "\f01e"
}

.b-icon-undo:before {
    content: "\f0e2"
}

.b-icon-compare:before {
    content: "\e13a"
}

.b-icon-split-horizontal:before,
.b-icon-split-vertical:before,
.b-icon-split-both:before {
    min-width: 1em !important;
    width: 1em;
    height: 1em;
    border-radius: 2px;
    border: 2px solid currentColor;
    overflow: hidden
}

.b-icon-split-horizontal:before {
    content: "\2503";
    rotate: 90deg;
    border-left-width: 3px;
    align-items: start;
    line-height: .8
}

.b-icon-split-vertical:before {
    content: "\2503";
    border-top-width: 3px;
    align-items: start;
    line-height: .8
}

.b-icon-split-both:before {
    content: "\254b";
    border-top-width: 3px
}

.b-icon-download:before {
    content: "\f019"
}

.b-icon-code:before {
    content: "\f121"
}

.b-icon-clipboard:before {
    content: "\f328"
}

.b-icon-filter:before,
.b-icon-filter-equal:before {
    content: "\f0b0"
}

.b-icon-filter-less:before,
.b-icon-filter-before:before {
    content: "\f053"
}

.b-icon-filter-more:before,
.b-icon-filter-after:before {
    content: "\f054"
}

.b-icon-check:before {
    content: "\f00c"
}

.b-icon-checked:before {
    content: "\f14a"
}

.b-icon-unchecked:before {
    content: "\f0c8"
}

.b-icon-radio:before,
.b-icon-radio-unchecked:before {
    content: "\f111"
}

.b-icon-radio-checked:before {
    content: "\f192"
}

.b-icon-calendar:before {
    content: "\f133"
}

.b-icon-calendar-day:before {
    content: "\f783"
}

.b-icon-calendar-plus:before {
    content: "\f271"
}

.b-icon-clock:before {
    content: "\f017"
}

.b-icon-recurring:before {
    content: "\f021"
}

.b-icon-duration:before {
    content: "\f254"
}

.b-icon-milestone:before {
    content: "\f219"
}

.b-icon-locked:before {
    content: "\f023"
}

.b-icon-unlocked:before {
    content: "\f09c"
}

.b-icon-user:before {
    content: "\f0c0"
}

.b-icon-menu:before {
    content: "\f0c9"
}

.b-icon-menu-horizontal:before {
    content: "\f141"
}

.b-icon-menu-vertical:before {
    content: "\f142"
}

.b-icon-info:before {
    content: "\f129"
}

.b-icon-sub-menu:before {
    content: var(--b-widget-sub-menu-icon)
}

.b-icon-star:before {
    content: "\f005"
}

.b-icon-warning:before {
    content: "\f071"
}

.b-icon-columns:before {
    content: "\f0db"
}

.b-icon-picker:before {
    content: "\f0d7";
    transition: rotate .2s
}

.b-icon-picker-rotated:before {
    content: "\f0d7";
    rotate: 180deg;
    transition: rotate .2s
}

.b-icon-resize-horizontal:before {
    content: "\f337"
}

.b-icon-fullscreen:before {
    content: "\f0b2"
}

.b-icon-cog:before {
    content: "\f013"
}

:is(.b-linux, .b-windows) .b-icon-cog:before {
    vertical-align: middle
}

.b-icon-file-download:before {
    content: "\f56d"
}

.b-icon-sync:before {
    content: "\f2f1"
}

.b-icon-bad-mood-emoji:before {
    content: "\f119"
}

.b-icon-circle:before {
    content: "\f111"
}

.b-icon-square:before {
    content: "\f0c8"
}

.b-icon-merge-cells:before {
    content: "\f5fd"
}

.b-icon-version:before {
    content: "\e5a0"
}

.b-icon-material:before {
    content: "\e4e6"
}

.b-icon-cost:before {
    content: "\f81d"
}

.b-icon-paper-plane:before {
    content: "\f1d8"
}

.b-icon-robot:before {
    content: "\f544"
}

.b-icon-mic:before {
    content: "\f130"
}

.b-icon-play:before {
    content: "\f04b"
}

.b-icon-stop:before {
    content: "\f04d"
}

.b-icon-message:before {
    content: "\f27a"
}

.b-icon-volume-high:before {
    content: "\f028"
}

.b-icon-thumbs-up:before {
    content: "\f164"
}

.b-icon-thumbs-down:before {
    content: "\f165"
}

.b-icon-up:before {
    content: "\f062"
}

.b-icon-down:before {
    content: "\f063"
}

.b-icon-left:before {
    content: "\f060"
}

.b-icon-right:before {
    content: "\f061"
}

.b-icon-angle-left:before {
    content: "\f104"
}

.b-icon-angle-right:before {
    content: "\f105"
}

.b-icon-before:before,
.b-icon-previous:before {
    content: "\f053"
}

.b-icon-after:before,
.b-icon-next:before {
    content: "\f054"
}

.b-icon-move-left-right:before {
    content: "\f337"
}

.b-icon-move-up-down:before {
    content: "\f338"
}

.b-icon-circle-arrow-up:before {
    content: "\f0aa"
}

.b-icon-column-move-left:before {
    content: "\f0a8"
}

.b-icon-column-move-right:before {
    content: "\f0a9"
}

.b-icon-hide-column:before {
    content: "\f057"
}

.b-icon-column-pin:before {
    content: "\f08d"
}

.b-icon-column-unpin:before {
    content: "\e68f"
}

.b-icon-sort:before {
    content: "\f0dc"
}

.b-icon-sort-asc:before {
    content: "\f15e"
}

.b-icon-sort-desc:before {
    content: "\f15d"
}

.b-icon-sorted-asc:before {
    content: "\f062"
}

.b-icon-group-asc:before {
    content: "\f885"
}

.b-icon-group-desc:before {
    content: "\f160"
}

.b-icon-group-collapse:before {
    content: "\f056"
}

.b-icon-group-expand:before {
    content: "\f055"
}

.b-icon-grouped-asc:before {
    content: "\f012"
}

.b-icon-tree-expand:before {
    content: "\f105"
}

.b-icon-tree-collapse:before {
    content: "\f107"
}

.b-icon-tree-folder:before {
    content: "\f07b"
}

.b-icon-tree-folder-open:before {
    content: "\f07c"
}

.b-icon-tree-leaf:before {
    content: "\f111"
}

.b-icon-expand-gridregion:before {
    content: "\f054"
}

.b-icon-collapse-gridregion:before {
    content: "\f053"
}

.b-icon-lock-row:before {
    content: "\e73a"
}

.b-icon-unlock-row:before {
    content: "\e73b"
}

.b-icon-unassign:before {
    content: "\f506"
}

.b-icon-valid:before {
    content: "\f00c"
}

.b-icon-invalid:before {
    content: "\f05e"
}

.b-icon-checking:before {
    content: "\f110"
}

.b-icon-expand-resource:before {
    content: "\f103"
}

.b-icon-note:before {
    content: "\f249"
}

.b-icon-advanced:before {
    content: "\f085"
}

.b-icon-palette:before {
    content: "\f53f"
}

.b-icon-renumber:before {
    content: "\f884"
}

.b-icon-indent:before {
    content: "\f03c"
}

.b-icon-outdent:before {
    content: "\f03b"
}

.b-icon-subtask:before {
    content: "\e476"
}

.b-icon-predecessor:before {
    content: "\e477"
}

.b-icon-successor:before {
    content: "\e47a"
}

.b-icon-link:before {
    content: "\f0c1"
}

.b-icon-unlink:before {
    content: "\f127"
}

.b-icon-calendar-days:before {
    content: "\f073"
}

.b-icon-calendar-week:before {
    content: "\f784"
}

.b-icon-bold:before {
    content: "\f032"
}

.b-icon-underline:before {
    content: "\f0cd"
}

.b-icon-italic:before {
    content: "\f033"
}

.b-icon-clock-live {
    background-color: currentColor;
    border-radius: 50%;
    width: 1em;
    height: 1em;
    animation-delay: 0s;
    display: grid
}

    .b-icon-clock-live:before,
    .b-icon-clock-live:after {
        grid-area: 1 / 1 / 1 / 1;
        position: relative;
        font-size: 1em !important;
        content: "";
        width: .1em !important;
        left: .44em;
        background: #fff;
        border-radius: .5em
    }

    .b-icon-clock-live:before {
        top: .15em;
        height: .4em !important;
        transform-origin: .05em .35em;
        animation: b-anim-rotate 6s infinite linear;
        animation-play-state: paused;
        animation-delay: inherit
    }

    .b-icon-clock-live:after {
        top: .22em;
        height: .33em;
        transform-origin: .05em .3em;
        animation: b-anim-rotate 72s infinite linear;
        animation-play-state: paused;
        animation-delay: inherit
    }

.b-icon-chart:before {
    content: "\f201"
}

.b-icon-settings:before {
    content: "\f013"
}

.b-icon-spinner:before {
    content: "\f110";
    animation: b-anim-rotate 2s infinite linear
}

@keyframes b-anim-rotate {
    0% {
        rotate: 0deg
    }

    to {
        rotate: 360deg
    }
}

:root,
:host {
    --b-gripper-edge-size: 1em;
    --b-gripper-horz-cursor: ns-resize;
    --b-gripper-border: 1px solid rgba(0, 0, 0, .3);
    --b-gripper-horz-edge-height: var(--b-gripper-edge-size);
    --b-gripper-horz-height: .25em;
    --b-gripper-horz-width: 1.2em;
    --b-gripper-horz-offset: .4em;
    --b-gripper-horz-transition: opacity .2s, margin-inline-start .2s, width .2s;
    --b-gripper-vert-cursor: ew-resize;
    --b-gripper-vert-gradient: repeating-linear-gradient( 90deg, rgba(0, 0, 0, .5), rgba(255, 255, 255, .8) 3px);
    --b-gripper-vert-edge-width: var(--b-gripper-edge-size);
    --b-gripper-vert-width: calc(var(--b-gripper-vert-edge-width) / 2);
    --b-gripper-vert-height: 12px;
    --b-gripper-vert-offset: 4px;
    --b-gripper-vert-transition: opacity .2s, margin-top .2s, height .2s
}

.b-gripper {
    position: absolute
}

    .b-gripper:after {
        content: " " / "";
        position: absolute;
        opacity: 0
    }

.b-hover-top .b-gripper.b-gripper-horz,
.b-hover-bottom .b-gripper.b-gripper-horz {
    cursor: var(--b-gripper-horz-cursor);
    height: var(--b-gripper-horz-edge-height);
    left: 0;
    right: 0
}

.b-hover-bottom .b-gripper.b-gripper-horz {
    bottom: 0
}

.b-gripper.b-gripper-horz:after {
    width: 0;
    left: 50%;
    margin-inline-start: 0;
    border-top: var(--b-gripper-border);
    border-bottom: var(--b-gripper-border);
    height: var(--b-gripper-horz-height)
}

.b-hover-left .b-gripper.b-gripper-vert,
.b-hover-right .b-gripper.b-gripper-vert {
    top: 0;
    bottom: 0;
    cursor: var(--b-gripper-vert-cursor);
    width: var(--b-gripper-vert-edge-width)
}

.b-hover-right .b-gripper.b-gripper-vert {
    right: 0
}

.b-hover-left .b-gripper.b-gripper-vert {
    left: 0
}

.b-gripper.b-gripper-vert:after {
    height: 0;
    top: 50%;
    margin-top: 0;
    background: var(--b-gripper-vert-gradient);
    width: var(--b-gripper-vert-width)
}

.b-hover-anim.b-hover-edge .b-gripper-horz:after {
    opacity: 1;
    margin-inline-start: calc(var(--b-gripper-horz-width) / -2);
    width: var(--b-gripper-horz-width);
    transition: var(--b-gripper-horz-transition)
}

.b-hover-top .b-gripper-horz:after {
    top: var(--b-gripper-horz-offset)
}

.b-hover-bottom .b-gripper-horz:after {
    bottom: var(--b-gripper-horz-offset)
}

.b-hover-anim.b-hover-edge .b-gripper-vert:after {
    opacity: 1;
    margin-top: calc(var(--b-gripper-vert-height) / -2);
    height: var(--b-gripper-vert-height);
    transition: var(--b-gripper-vert-transition)
}

.b-hover-left .b-gripper-vert:after {
    left: var(--b-gripper-vert-offset)
}

.b-hover-right .b-gripper-vert:after {
    right: var(--b-gripper-vert-offset)
}

.b-sftime-picker .b-panel-content {
    background: var(--b-panel-background);
    align-items: stretch;
    padding: .5em;
    gap: .5em
}

    .b-sftime-picker .b-panel-content .b-widget {
        margin: 0;
        flex: 0 0 auto;
        width: auto
    }

    .b-sftime-picker .b-panel-content .b-number-field {
        height: 100%
    }

        .b-sftime-picker .b-panel-content .b-number-field > .b-label {
            clip-path: polygon(0 0);
            position: absolute;
            contain: strict
        }

        .b-sftime-picker .b-panel-content .b-number-field:not(.b-first-visible-child):before {
            content: ":";
            align-self: center;
            margin-inline-end: .5em;
            font-weight: 700
        }

        .b-sftime-picker .b-panel-content .b-number-field input {
            width: 3em
        }

    .b-sftime-picker .b-panel-content .b-button {
        flex: 0 0 3em;
        padding: 0
    }

        .b-sftime-picker .b-panel-content .b-button label {
            text-overflow: clip
        }

:root,
:host {
    --b-button-box-shadow: null;
    --b-button-text-align: center;
    --b-button-disabled-opacity: .4;
    --b-button-icon-only-border-radius: 50%;
    --b-button-font-weight: 500;
    --b-button-gap: .5em;
    --b-button-height: 3em;
    --b-button-icon-padding-inline: var(--b-widget-padding);
    --b-button-end-icon-padding-inline: var(--b-widget-padding);
    --b-button-menu-padding-inline: var(--b-widget-padding);
    --b-button-opacity: 1;
    --b-button-padding-inline: var(--b-widget-padding);
    --b-button-pressed-box-shadow: none;
    --b-button-focus-outline-width: var(--b-widget-focus-outline-width);
    --b-button-focus-outline-offset: calc(var(--b-widget-focus-outline-width) * -1);
    --b-button-border-radius: var(--b-widget-border-radius);
    --b-button-elevated-active-box-shadow: var(--b-elevation-1);
    --b-button-elevated-box-shadow: var(--b-elevation-1);
    --b-button-elevated-focus-box-shadow: var(--b-elevation-1);
    --b-button-elevated-hover-box-shadow: var(--b-elevation-2);
    --b-button-filled-color: var(--b-text-5);
    --b-button-filled-hover-box-shadow: none;
    --b-button-tonal-hover-box-shadow: none;
    --b-button-outlined-border-width: 1px;
    --b-button-outlined-border-color: var(--b-border-6);
    --b-button-outlined-disabled-background: transparent;
    --b-button-outlined-disabled-border-color: var(--b-border-6);
    --b-button-outlined-background: transparent;
    --b-button-outlined-pressed-color: unset;
    --b-button-type-text-background: transparent;
    --b-button-type-text-disabled-background: transparent;
    --b-button-disabled-background: var(--b-widget-disabled-background);
    --b-button-disabled-color: var(--b-neutral-50);
    --b-button-type-text-focused-background: transparent;
    --b-button-focus-outline-color: var(--b-primary)
}

.b-button {
    display: flex;
    align-items: center;
    position: relative;
    transition-property: box-shadow, font-weight, background, color, border, border-radius;
    transition-duration: var(--b-default-transition-duration);
    overflow: hidden;
    flex-shrink: 0;
    font-family: inherit;
    text-decoration: none;
    padding-block: 0;
    contain: style;
    --b-button-border-width: var(--b-button-idle-border-width);
    --b-button-border-color: var(--b-button-idle-border-color);
    --b-widget-font-weight: var(--b-button-font-weight);
    --bi-button-cursor: pointer;
    background: var(--b-button-background);
    border: var(--b-button-border-width) solid var(--b-button-border-color);
    border-radius: var(--b-button-border-radius);
    box-shadow: var(--b-button-box-shadow);
    color: var(--bi-button-applied-color, var(--b-button-color));
    cursor: var(--bi-button-cursor);
    gap: var(--b-button-gap);
    height: var(--b-button-height);
    max-height: var(--b-button-max-height);
    opacity: var(--b-button-opacity);
    padding-inline: var(--b-button-padding-inline);
    justify-content: var(--b-button-text-align)
}

    .b-button label,
    .b-button i {
        white-space: nowrap;
        text-overflow: ellipsis;
        transition: color .2s;
        z-index: 1;
        margin: 0;
        cursor: var(--bi-button-cursor)
    }

    .b-button label {
        overflow: hidden
    }

    .b-button i {
        flex-shrink: 0
    }

    .b-button.b-button-elevated {
        --b-button-background: var(--b-button-elevated-background, var(--b-primary-98));
        --b-button-hover-background: var(--b-button-elevated-hover-background, var(--b-primary-95));
        --b-button-focused-background: var(--b-button-elevated-focused-background, var(--b-primary-95));
        --b-button-active-background: var(--b-button-elevated-active-background, var(--b-primary-95));
        --b-button-pressed-background: var(--b-button-elevated-pressed-background, var(--b-primary-90));
        --b-button-box-shadow: var(--b-button-elevated-box-shadow);
        --b-button-hover-box-shadow: var(--b-button-elevated-hover-box-shadow);
        --b-button-focus-box-shadow: var(--b-button-elevated-focus-box-shadow);
        --b-button-active-box-shadow: var(--b-button-elevated-active-box-shadow);
        --b-button-color: var(--b-button-elevated-color, var(--b-primary-40));
        --b-button-split-color: var(--b-button-elevated-split-color, color-mix(in srgb, var(--b-button-color), transparent 70%))
    }

    .b-button.b-button-filled,
    .b-button.b-raised {
        --b-button-background: var(--b-button-filled-background, var(--b-primary-45));
        --b-button-hover-background: var(--b-button-filled-hover-background, var(--b-primary-55));
        --b-button-focused-background: var(--b-button-filled-focused-background, var(--b-primary-60));
        --b-button-active-background: var(--b-button-filled-active-background, var(--b-primary-60));
        --b-button-pressed-background: var(--b-button-filled-pressed-background, var(--b-primary-65));
        --b-button-color: var(--b-button-filled-color);
        --b-button-hover-box-shadow: var(--b-button-filled-hover-box-shadow);
        --b-button-split-color: var(--b-button-filled-split-color, var(--b-button-color))
    }

    .b-button.b-button-tonal {
        --b-button-background: var(--b-button-tonal-background, var(--b-primary-95));
        --b-button-hover-background: var(--b-button-tonal-hover-background, var(--b-primary-90));
        --b-button-focused-background: var(--b-button-tonal-focused-background, var(--b-primary-90));
        --b-button-active-background: var(--b-button-tonal-active-background, var(--b-primary-85));
        --b-button-pressed-background: var(--b-button-tonal-pressed-background, var(--b-primary-80));
        --b-button-hover-box-shadow: var(--b-button-tonal-hover-box-shadow);
        --b-button-color: var(--b-button-tonal-color, var(--b-primary-30));
        --b-button-split-color: var(--b-button-tonal-split-color, color-mix(in srgb, var(--b-button-tonal-color, var(--b-primary-30)), transparent 70%));
        --b-button-idle-border-width: var(--b-button-tonal-border-width);
        --b-button-idle-border-color: var(--b-button-tonal-border-color);
        --b-button-focus-border-color: var(--b-button-tonal-border-color);
        --b-button-hover-border-color: var(--b-button-tonal-border-color);
        --b-button-disabled-border-color: var(--b-button-tonal-border-color)
    }

    .b-button.b-button-outlined {
        --b-button-background: var(--b-button-outlined-background);
        --b-button-hover-background: var(--b-button-outlined-hover-background, var(--b-primary-95));
        --b-button-focused-background: var(--b-button-outlined-focused-background, var(--b-primary-90));
        --b-button-active-background: var(--b-button-outlined-active-background, var(--b-primary-90));
        --b-button-pressed-background: var(--b-button-outlined-pressed-background, var(--b-primary-90));
        --b-button-color: var(--b-button-outlined-color, var(--b-primary-25));
        --b-button-pressed-color: var(--b-button-outlined-pressed-color);
        --b-button-idle-border-width: var(--b-button-outlined-border-width);
        --b-button-idle-border-color: var(--b-button-outlined-border-color);
        --b-button-focus-border-color: var(--b-button-outlined-focus-border-color, var(--b-primary));
        --b-button-hover-border-color: var(--b-button-outlined-hover-border-color, var(--b-primary-80));
        --b-button-disabled-background: var(--b-button-outlined-disabled-background);
        --b-button-disabled-border-color: var(--b-button-outlined-disabled-border-color);
        --b-button-split-color: var(--b-button-outlined-split-color, var(--b-button-border-color))
    }

    .b-button.b-button-text,
    .b-button.b-transparent {
        --b-button-background: var(--b-button-type-text-background);
        --b-button-hover-background: var(--b-button-type-text-hover-background, var(--b-primary-95));
        --b-button-focused-background: var(--b-button-type-text-focused-background);
        --b-button-active-background: var(--b-button-type-text-active-background, var(--b-primary-90));
        --b-button-pressed-background: var(--b-button-type-text-pressed-background, var(--b-primary-90));
        --b-button-color: var(--b-button-type-text-color, var(--b-primary-20));
        --b-button-disabled-background: var(--b-button-type-text-disabled-background);
        --b-button-split-color: var(--b-button-type-text-split-color, var(--b-button-color))
    }

:is(.b-button.b-button-text, .b-button.b-transparent).b-split-button .b-button-menu-icon {
    align-self: center
}

.b-button:focus-visible {
    outline-offset: var(--b-button-focus-outline-offset);
    outline: var(--b-button-focus-outline-color) solid var(--b-button-focus-outline-width)
}

.b-button.b-focus,
.b-button:focus-visible {
    --b-button-background: var(--b-button-focused-background);
    --b-button-box-shadow: var(--b-button-focus-box-shadow);
    --b-button-border-color: var(--b-button-focus-border-color)
}

.b-button.b-hover:where(:not(:active, .b-disabled)),
.b-button:hover:where(:not(:active, .b-disabled)) {
    --b-button-background: var(--b-button-hover-background);
    --b-button-box-shadow: var(--b-button-hover-box-shadow);
    --b-button-border-color: var(--b-button-hover-border-color)
}

.b-button.b-active,
.b-button:active {
    --b-button-background: var(--b-button-active-background);
    --b-button-box-shadow: var(--b-button-active-box-shadow)
}

.b-button.b-rotate-vertical {
    padding-inline: 0;
    padding-block: var(--b-button-padding-inline);
    width: var(--b-button-height);
    height: auto
}

    .b-button.b-rotate-vertical label {
        writing-mode: vertical-lr
    }

.b-button.b-rotate-left {
    flex-direction: column-reverse
}

    .b-button.b-rotate-left label {
        rotate: 180deg
    }

    .b-button.b-rotate-left i {
        rotate: 270deg
    }

.b-button.b-rotate-right {
    flex-direction: column
}

    .b-button.b-rotate-right i {
        rotate: 90deg
    }

.b-button.b-pressed {
    --bi-button-applied-color: var(--b-button-pressed-color);
    --b-button-background: var(--b-button-pressed-background);
    --b-button-box-shadow: var(--b-button-pressed-box-shadow)
}

.b-button.b-icon-align-start {
    --b-button-padding-inline: var(--b-button-icon-padding-inline)
}

.b-button.b-icon-align-end {
    --b-button-padding-inline: var(--b-button-end-icon-padding-inline)
}

    .b-button.b-icon-align-end .b-button-icon {
        order: 1
    }

.b-button.b-disabled {
    --b-button-color: var(--b-button-disabled-color);
    --b-button-background: var(--b-button-disabled-background);
    --b-button-opacity: var(--b-button-disabled-opacity);
    --b-button-box-shadow: none;
    --b-button-border-color: var(--b-button-disabled-border-color);
    --bi-button-cursor: normal
}

.b-button:not(.b-text, .b-has-menu-icon, .b-tab) {
    aspect-ratio: 1 / 1;
    --b-button-padding-inline: 0;
    --b-button-border-radius: var(--b-button-icon-only-border-radius)
}

.b-button.b-has-menu-icon:not(.b-text) {
    --b-button-padding-inline: var(--b-button-menu-padding-inline)
}

.b-button .b-button-menu-icon:before {
    transition: rotate .2s
}

.b-button.b-menu-visible .b-button-menu-icon:before {
    rotate: 180deg
}

.b-button-custom-content {
    display: flex;
    align-items: center
}

.b-using-keyboard .b-button-key {
    text-decoration: underline
}

.b-split-button {
    padding-inline-end: 0
}

    .b-split-button .b-button-menu-icon {
        display: grid;
        place-content: center;
        align-self: stretch;
        transition: border .2s;
        padding-inline: var(--b-button-padding-inline);
        border-inline-start: 1px solid var(--b-button-split-color)
    }

:root,
:host {
    --b-tab-border-radius: 0;
    --b-tab-indicator-border-radius: 0;
    --b-tab-font-weight: 500;
    --b-tab-padding: 0 var(--b-widget-padding-large);
    --b-tab-icon-only-padding: 0 var(--b-widget-padding);
    --b-tab-indicator-display: block;
    --b-tab-background: transparent;
    --b-tab-color: var(--b-neutral-40);
    --b-tab-close-color: var(--b-neutral-50);
    --b-tab-close-hover-color: var(--b-neutral-30);
    --b-tab-active-background: var(--b-tab-background);
    --b-tab-border: null;
    --b-tab-active-border: null;
    --b-tab-hover-border: var(--b-tab-border);
    --b-tab-label-position: null;
    --b-tab-indicator-height: .2em;
    --b-tab-hover-color: var(--b-neutral-20);
    --b-tab-active-tab-color: var(--b-neutral-0);
    --b-tab-invalid-indicator-color: var(--b-color-red);
    --bi-tab-indicator-opacity: 0
}

.b-button.b-tab {
    border: var(--b-tab-border);
    --b-button-background: var(--b-tab-background);
    --b-button-border-radius: var(--b-tab-border-radius);
    --b-button-hover-background: var(--b-tab-hover-background, var(--b-primary-95));
    --b-button-focused-background: var(--b-tab-focus-background, var(--b-primary-90));
    --b-button-color: var(--b-tab-color);
    --b-button-font-weight: var(--b-tab-font-weight);
    --b-button-padding: var(--b-tab-padding)
}

    .b-button.b-tab.b-active {
        --b-tab-border: var(--b-tab-active-border);
        --b-button-background: var(--b-tab-active-background);
        --b-tab-color: var(--b-tab-active-tab-color);
        --bi-tab-indicator-opacity: 1
    }

    .b-button.b-tab.b-invalid {
        --b-tab-indicator-color: var(--b-tab-invalid-indicator-color);
        --bi-tab-indicator-opacity: 1
    }

    .b-button.b-tab:hover:not(.b-active) {
        --b-tab-color: var(--b-tab-hover-color);
        --b-tab-border: var(--b-tab-hover-border);
        --b-button-background: var(--b-tab-hover-background, var(--b-primary-95))
    }

    .b-button.b-tab:not(.b-text) {
        --b-button-icon-padding: var(--b-tab-icon-only-padding)
    }

    .b-button.b-tab label {
        display: grid;
        place-items: center;
        align-self: stretch;
        position: var(--b-tab-label-position)
    }

.b-tab-indicator {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    transition: opacity .2s;
    opacity: var(--bi-tab-indicator-opacity);
    display: var(--b-tab-indicator-display);
    background: var(--b-tab-indicator-color, var(--b-tab-active-tab-color));
    height: var(--b-tab-indicator-height);
    border-radius: var(--b-tab-indicator-border-radius)
}

.b-tab-close {
    font-size: .8em;
    cursor: pointer;
    color: var(--b-tab-close-color)
}

    .b-tab-close:hover {
        color: var(--b-tab-close-hover-color)
    }

.b-tab.b-drag-proxy {
    transition: background-color .3s;
    background-color: var(--b-toolbar-background);
    opacity: .9
}

:root,
:host {
    --b-chat-panel-border-radius: 1em;
    --b-chat-panel-message-them-align-self: flex-start;
    --b-chat-panel-message-them-background: var(--b-neutral-90);
    --b-chat-panel-message-them-color: var(--b-text-2);
    --b-chat-panel-intro-color: var(--b-neutral-50);
    --b-chat-panel-example-prompt-color: var(--b-neutral-70);
    --b-chat-panel-example-prompt-hover-color: var(--b-neutral-40);
    --b-chat-panel-message-us-align-self: flex-end;
    --b-chat-panel-message-us-color: #FFF;
    --b-chat-panel-message-color: var(--b-chat-panel-message-us-color);
    --b-chat-panel-tool-color: var(--b-color-lighter-gray);
    --b-chat-panel-tool-color-active: var(--b-color-gray);
    --b-chat-panel-tool-hover-color: var(--b-color-light-gray);
    --b-chat-panel-font-size: .8em;
    --b-chat-panel-loading-color: var(--b-text-3);
    --b-chat-panel-option-hover-background: color-mix(in srgb, var(--b-chat-panel-message-us-background), transparent 90%);
    --b-chat-panel-avatar-size: 5em
}

.b-internal {
    --bi-value: null
}

.b-chat-bubbles {
    display: flex;
    flex-flow: column nowrap;
    gap: .5em;
    overflow-x: clip;
    overflow-y: auto
}

    .b-chat-bubbles:before {
        content: ""
    }

    .b-chat-bubbles .b-message {
        display: flex;
        flex-direction: column;
        gap: .2em;
        overflow: clip;
        width: 100%;
        flex-shrink: 0;
        align-self: var(--b-chat-panel-message-align-self)
    }

    .b-chat-bubbles .b-bubble {
        padding: .5em .75em;
        opacity: 1;
        transition: opacity .2s, translate .2s;
        translate: 0;
        z-index: 1;
        min-height: 2.5em;
        line-height: 1.5em;
        max-width: 80%;
        word-wrap: break-word;
        overflow: auto;
        border-radius: var(--b-chat-panel-border-radius);
        align-self: var(--b-chat-panel-message-align-self);
        background: var(--b-chat-panel-message-background);
        color: var(--b-chat-panel-message-color)
    }

        .b-chat-bubbles .b-bubble .b-aborted {
            opacity: .3
        }

        .b-chat-bubbles .b-bubble .b-failed {
            color: var(--b-color-red)
        }

        .b-chat-bubbles .b-bubble strong {
            font-weight: 600
        }

    .b-chat-bubbles .b-undone .b-bubble {
        opacity: .3
    }

    .b-chat-bubbles .b-async .b-bubble {
        width: 3.5em;
        display: flex;
        align-items: center;
        overflow: clip
    }

    .b-chat-bubbles .b-async .b-asyncstatus {
        font-size: .8em;
        opacity: .8;
        padding-inline-start: .2em
    }

    .b-chat-bubbles .b-bubble-loading {
        position: relative;
        inset-inline-start: -2em;
        width: .5em;
        height: .5em;
        border-radius: 50%;
        animation: b-anim-jumping-dots 2s infinite;
        box-shadow: 2em 0 0 0 var(--b-chat-panel-loading-color), 2.75em 0 0 0 var(--b-chat-panel-loading-color), 3.5em 0 0 0 var(--b-chat-panel-loading-color)
    }

    .b-chat-bubbles .b-bubble-tools {
        display: flex;
        padding-inline: .75em;
        gap: .5em;
        align-items: center;
        transition: opacity .2s, translate .2s;
        transition-delay: .2s;
        justify-content: var(--b-chat-panel-message-them-align-self)
    }

        .b-chat-bubbles .b-bubble-tools .b-undone-tag {
            border-radius: 1em;
            font-size: .75em;
            padding-inline: .5em;
            background: var(--b-color-red);
            color: var(--b-neutral-100)
        }

    .b-chat-bubbles .b-bubble-tool {
        font-size: var(--b-chat-panel-font-size);
        color: var(--b-chat-panel-tool-color)
    }

        .b-chat-bubbles .b-bubble-tool:hover {
            --b-chat-panel-tool-color: var(--b-chat-panel-tool-hover-color)
        }

    .b-chat-bubbles button.b-bubble-tool {
        cursor: pointer;
        border: none;
        background: transparent;
        padding-inline: 0
    }

    .b-chat-bubbles .b-timestamp {
        font-size: .7em;
        color: var(--b-chat-panel-tool-color)
    }

    .b-chat-bubbles .b-us {
        --b-chat-panel-message-align-self: var(--b-chat-panel-message-us-align-self);
        --b-chat-panel-message-background: var(--b-chat-panel-message-us-background, var(--b-primary));
        --b-chat-panel-message-color: var(--b-chat-panel-message-us-color)
    }

    .b-chat-bubbles .b-them {
        --b-chat-panel-message-align-self: var(--b-chat-panel-message-them-align-self);
        --b-chat-panel-message-background: var(--b-chat-panel-message-them-background);
        --b-chat-panel-message-color: var(--b-chat-panel-message-them-color)
    }

    .b-chat-bubbles .b-confidence {
        position: relative;
        width: 1em;
        height: .6em;
        border-radius: .25em;
        border: 1px solid var(--b-chat-panel-tool-color);
        overflow: clip
    }

        .b-chat-bubbles .b-confidence:before {
            display: block;
            position: absolute;
            content: "";
            height: 100%;
            opacity: .6;
            width: calc(var(--bi-value) * 100%);
            background: var(--b-chat-panel-tool-color)
        }

    .b-chat-bubbles .b-options {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: .5em;
        opacity: 1;
        transition: height .2s, opacity .2s, gap .2s;
        height: auto;
        overflow: hidden;
        align-items: var(--b-chat-panel-message-us-align-self)
    }

        .b-chat-bubbles .b-options:has(.b-selected) {
            gap: 0
        }

            .b-chat-bubbles .b-options:has(.b-selected) .b-option {
                pointer-events: none
            }

                .b-chat-bubbles .b-options:has(.b-selected) .b-option:not(.b-selected) {
                    opacity: 0;
                    height: 0;
                    min-height: 0;
                    padding-block: 0;
                    display: none;
                    transition-delay: 0s
                }

    .b-chat-bubbles .b-option {
        background: none;
        font-size: 1em;
        padding: .5em .75em;
        opacity: 1;
        transition: opacity .2s, translate .2s, height .2s, min-height .2s, padding .2s, display .2s;
        transition-delay: .2s;
        translate: 0;
        min-height: 2.5em;
        line-height: 1.5em;
        overflow: hidden;
        transition-behavior: allow-discrete;
        interpolate-size: allow-keywords;
        border: 1px solid var(--b-chat-panel-tool-color);
        border-radius: var(--b-chat-panel-border-radius)
    }

        .b-chat-bubbles .b-option:not(.b-outdated):hover {
            cursor: pointer;
            background: var(--b-chat-panel-option-hover-background)
        }

        .b-chat-bubbles .b-option.b-selected {
            border: none;
            background: var(--b-chat-panel-message-us-background, var(--b-primary));
            color: var(--b-chat-panel-message-us-color)
        }

        .b-chat-bubbles .b-option:nth-child(2) {
            transition-delay: .3s
        }

        .b-chat-bubbles .b-option:nth-child(3) {
            transition-delay: .4s
        }

        .b-chat-bubbles .b-option:nth-child(4) {
            transition-delay: .5s
        }

        .b-chat-bubbles .b-option:nth-child(5) {
            transition-delay: .6s
        }

        .b-chat-bubbles .b-option:nth-child(6) {
            transition-delay: .7s
        }

        .b-chat-bubbles .b-option.b-outdated {
            opacity: .3;
            transition-delay: 0s
        }

    .b-chat-bubbles .b-bottom-anchor {
        min-height: 1px
    }

@starting-style {
    .b-chat-bubbles.b-animate .b-bubble {
        opacity: 0;
        translate: 0 1em
    }

    .b-chat-bubbles.b-animate .b-bubble-tools {
        opacity: 0;
        translate: 0 -1em
    }

    .b-chat-bubbles.b-animate .b-option {
        translate: -100% 0;
        opacity: 0
    }
}

@keyframes b-anim-jumping-dots {
    0% {
        box-shadow: 2em 0 0 0 var(--b-chat-panel-loading-color), 2.75em 0 0 0 var(--b-chat-panel-loading-color), 3.5em 0 0 0 var(--b-chat-panel-loading-color)
    }

    16.667% {
        box-shadow: 2em -.5em 0 0 var(--b-chat-panel-loading-color), 2.75em 0 0 0 var(--b-chat-panel-loading-color), 3.5em 0 0 0 var(--b-chat-panel-loading-color)
    }

    33.333% {
        box-shadow: 2em 0 0 0 var(--b-chat-panel-loading-color), 2.75em 0 0 0 var(--b-chat-panel-loading-color), 3.5em 0 0 0 var(--b-chat-panel-loading-color)
    }

    50% {
        box-shadow: 2em 0 0 0 var(--b-chat-panel-loading-color), 2.75em -.5em 0 0 var(--b-chat-panel-loading-color), 3.5em 0 0 0 var(--b-chat-panel-loading-color)
    }

    66.667% {
        box-shadow: 2em 0 0 0 var(--b-chat-panel-loading-color), 2.75em 0 0 0 var(--b-chat-panel-loading-color), 3.5em 0 0 0 var(--b-chat-panel-loading-color)
    }

    83.333% {
        box-shadow: 2em 0 0 0 var(--b-chat-panel-loading-color), 2.75em 0 0 0 var(--b-chat-panel-loading-color), 3.5em -.5em 0 0 var(--b-chat-panel-loading-color)
    }

    to {
        box-shadow: 2em 0 0 0 var(--b-chat-panel-loading-color), 2.75em 0 0 0 var(--b-chat-panel-loading-color), 3.5em 0 0 0 var(--b-chat-panel-loading-color)
    }
}

.b-chat-panel-mixin.b-panel > header {
    gap: .5em
}

    .b-chat-panel-mixin.b-panel > header:after {
        display: none
    }

    .b-chat-panel-mixin.b-panel > header .b-tool {
        font-size: 1.2em
    }

.b-chat-panel-mixin.b-panel .b-chat-panel-mixin-content {
    --b-panel-with-header-padding: 0
}

    .b-chat-panel-mixin.b-panel .b-chat-panel-mixin-content > div {
        padding-inline: 1em
    }

.b-chat-panel-mixin.b-panel .b-chat-bubbles {
    padding-top: 1em;
    flex: 1
}

.b-chat-panel-mixin.b-panel .b-intro {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5em;
    text-align: center;
    margin-bottom: 1em;
    color: var(--b-chat-panel-intro-color)
}

    .b-chat-panel-mixin.b-panel .b-intro div {
        line-height: 1.5em
    }

    .b-chat-panel-mixin.b-panel .b-intro .b-chat-avatar {
        border-radius: 50%;
        margin-bottom: 1em;
        background: var(--b-primary);
        width: var(--b-chat-panel-avatar-size)
    }

.b-chat-panel-mixin.b-panel .b-example-prompt {
    font-size: .9em;
    font-style: italic;
    cursor: pointer;
    color: var(--b-chat-panel-example-prompt-color)
}

    .b-chat-panel-mixin.b-panel .b-example-prompt:before {
        content: '"'
    }

    .b-chat-panel-mixin.b-panel .b-example-prompt:after {
        content: '"'
    }

    .b-chat-panel-mixin.b-panel .b-example-prompt:hover {
        color: var(--b-chat-panel-example-prompt-hover-color)
    }

.b-chat-panel-mixin.b-panel .b-text-field {
    padding-bottom: 1em
}

    .b-chat-panel-mixin.b-panel .b-text-field .b-field-inner {
        border-radius: var(--b-chat-panel-border-radius)
    }

    .b-chat-panel-mixin.b-panel .b-text-field .b-field-trigger {
        color: var(--b-chat-panel-tool-color)
    }

        .b-chat-panel-mixin.b-panel .b-text-field .b-field-trigger:before {
            font-size: 1.5em
        }

        .b-chat-panel-mixin.b-panel .b-text-field .b-field-trigger:hover {
            color: var(--b-chat-panel-tool-hover-color)
        }

        .b-chat-panel-mixin.b-panel .b-text-field .b-field-trigger.b-send-chat-msg {
            transition: color .2s
        }

.b-using-keyboard :is(.b-chat-panel-mixin.b-panel .b-text-field .b-field-trigger).b-icon-mic:focus {
    padding-inline-end: 0;
    margin-inline-end: .6em;
    outline-offset: .4em
}

.b-chat-panel-mixin.b-panel .b-text-field .b-send-chat-msg:not(.b-disabled) {
    color: var(--b-chat-panel-tool-color-active)
}

.b-chat-button.b-button {
    position: absolute;
    bottom: 1em;
    inset-inline-end: 1em;
    border: none;
    border-radius: 50%;
    font-size: 1em;
    width: 2.75em;
    height: 2.75em;
    display: grid;
    place-items: center;
    padding: 0;
    margin: 0;
    box-shadow: 0 2px 8px #63636333;
    scale: 1;
    transition: scale .2s;
    min-height: 0;
    z-index: 10000;
    outline: none;
    color: var(--b-chat-button-color, #FFF);
    background: var(--b-chat-button-background, var(--b-primary))
}

    .b-chat-button.b-button .b-button-menu-icon {
        display: none
    }

    .b-chat-button.b-button i {
        position: relative;
        display: grid;
        place-items: center;
        font-size: 1.3em
    }

    .b-chat-button.b-button:hover {
        scale: 1.1
    }

    .b-chat-button.b-button:active {
        scale: 1
    }

.b-using-keyboard .b-chat-button.b-button:focus:not(:active) {
    box-shadow: 0 0 .8em #3183fe
}

.b-chat-button.b-button.b-chat-button-animating i:before {
    animation: b-anim-chat-button-icon-transition .2s
}

.b-chat-button.b-button.b-chat-closed {
    --content: "\f27a"
}

.b-chat-button.b-button.b-chat-closed-previous {
    --previous-content: "\f27a"
}

.b-chat-button.b-button.b-chat-open {
    --content: "\f00d"
}

.b-chat-button.b-button.b-chat-open-previous {
    --previous-content: "\f00d"
}

.b-chat-button.b-button.b-voice-speaking {
    --content: "\e473"
}

    .b-chat-button.b-button.b-voice-speaking i {
        animation: b-anim-voice-speaking .7s infinite
    }

.b-chat-button.b-button.b-voice-speaking-previous {
    --previous-content: "\e473"
}

.b-chat-button.b-button.b-voice-waiting {
    --content: "\f110";
    animation: b-anim-rotate 2s infinite linear
}

.b-chat-button.b-button.b-voice-waiting-previous {
    --previous-content: "\f110"
}

.b-chat-button.b-button.b-voice-active {
    --content: "\f130"
}

    .b-chat-button.b-button.b-voice-active i {
        animation: b-anim-voice-active .9s ease-out infinite
    }

.b-chat-button.b-button.b-voice-active-previous {
    --previous-content: "\f130"
}

.b-chat-button.b-button.b-voice-inactive {
    --content: "\f130";
    background: #aaa
}

.b-chat-button.b-button.b-voice-inactive-previous {
    --previous-content: "\f130"
}

.b-chat-button.b-button .b-button-icon:before {
    content: var(--content)
}

@keyframes b-anim-voice-speaking {
    0% {
        transform: none;
        opacity: 1
    }

    49.9% {
        transform: none
    }

    50% {
        transform: scaleX(-1);
        opacity: .5
    }

    to {
        transform: scaleX(-1);
        opacity: 1
    }
}

@keyframes b-anim-voice-active {
    0% {
        transform: scale(1);
        opacity: 1
    }

    25% {
        transform: scale(.95)
    }

    60% {
        transform: scale(1.05);
        opacity: .8
    }

    to {
        transform: scale(1);
        opacity: 1
    }
}

@keyframes b-anim-chat-button-icon-transition {
    0% {
        font-size: 1em;
        content: var(--previous-content)
    }

    50% {
        font-size: .1em
    }

    to {
        font-size: 1em;
        content: var(--content)
    }
}

@starting-style {
    .b-chat-button.b-button {
        scale: 0
    }

        .b-chat-button.b-button i:after {
            opacity: 0
        }
}

.b-is-speaking button.b-bubble-tool[data-ref=readAloud],
.b-aichat-panel-mixin.b-panel .b-text-field .b-is-recording,
.b-aichat-panel-mixin.b-panel .b-text-field .b-is-recording:hover {
    color: #00f
}

.b-bubble ul,
.b-bubble ol {
    padding-inline-start: 1em
}

.b-bubble > p:first-child {
    margin-block-start: 0
}

.b-bubble > p:last-child {
    margin-block-end: 0
}

.b-aichat-panel-mixin .b-panel-header .b-tool[data-ref=offline] {
    color: #f99d9d
}

.b-panel.b-checkbox-group .b-fieldset-content.b-inline {
    flex-wrap: wrap
}

    .b-panel.b-checkbox-group .b-fieldset-content.b-inline label {
        white-space: nowrap
    }

.b-panel.b-checkbox-group.b-invalid .b-checkbox label:before {
    outline-offset: 2px;
    outline: 1px solid var(--b-color-red)
}

:root,
:host {
    --b-container-gap: var(--b-widget-gap);
    --b-container-padding: 0;
    --b-container-color: var(--b-widget-color);
    --b-divider-font-size: .9em;
    --b-divider-line-color: var(--b-border-5);
    --b-divider-text-color: var(--b-border-4);
    --b-divider-font-weight: null;
    --b-dividier-margin-block: 1em
}

.b-internal {
    --bi-container-columns: null
}

.b-container {
    min-width: 0;
    min-height: 0;
    color: var(--b-container-color);
    gap: var(--b-container-gap);
    padding: var(--b-container-padding);
    align-content: var(--b-container-align-content)
}

    .b-container:where(:not(.b-panel)) {
        display: grid;
        grid-auto-rows: min-content
    }

        .b-container:where(:not(.b-panel)).b-columns {
            grid-template-columns: repeat(var(--bi-container-columns), auto)
        }

    .b-container.b-vbox {
        display: flex;
        flex-direction: column
    }

        .b-container.b-vbox.b-single-child:not(.b-toolbar-content) > .b-container {
            align-self: stretch;
            flex: 1 1 auto
        }

    .b-container.b-hbox {
        display: flex;
        flex-flow: row nowrap
    }

        .b-container.b-hbox.b-single-child:not(.b-toolbar-content) > .b-container {
            align-self: stretch;
            flex: 1 1 auto
        }

.b-content-element:has(>.b-splitter) {
    gap: 0
}

.b-content-element:has(>.b-splitter.b-moving) * {
    transition: none !important
}

:is(.b-container, .b-panel).b-label-align-before {
    --b-field-align-before-label-column: span 1;
    --b-field-align-before-field-column: span 1
}

.b-container.b-label-align-before,
.b-panel.b-label-align-before > .b-panel-body-wrap > .b-panel-content,
.b-panel.b-label-align-before > .b-panel-overlay > .b-panel-body-wrap > .b-panel-content {
    grid-template-columns: repeat(var(--bi-container-columns, 1), max-content 1fr);
    grid-auto-rows: min-content
}

:is(.b-container.b-label-align-before, .b-panel.b-label-align-before>.b-panel-body-wrap>.b-panel-content, .b-panel.b-label-align-before>.b-panel-overlay>.b-panel-body-wrap>.b-panel-content) > .b-has-label {
    display: contents;
    --b-field-label-padding: 0
}

    :is(.b-container.b-label-align-before, .b-panel.b-label-align-before>.b-panel-body-wrap>.b-panel-content, .b-panel.b-label-align-before>.b-panel-overlay>.b-panel-body-wrap>.b-panel-content) > .b-has-label > label {
        grid-row: auto
    }

    :is(.b-container.b-label-align-before, .b-panel.b-label-align-before>.b-panel-body-wrap>.b-panel-content, .b-panel.b-label-align-before>.b-panel-overlay>.b-panel-body-wrap>.b-panel-content) > .b-has-label > .b-field-inner {
        grid-row: auto
    }

.b-content-element {
    position: relative
}

    .b-content-element.b-text-content {
        display: block;
        overflow: auto
    }

.b-divider {
    justify-content: center;
    grid-column: 1 / -1;
    margin-block: var(--b-dividier-margin-block)
}

    .b-divider:before {
        content: "";
        width: 100%;
        border-bottom: 1px solid var(--b-divider-line-color);
        position: absolute;
        top: 50%
    }

    .b-divider[data-text]:after {
        display: flex;
        padding: 0 1em;
        content: attr(data-text);
        z-index: 1;
        color: var(--b-divider-text-color);
        background: var(--b-parent-background-color, var(--b-panel-background));
        font-size: var(--b-divider-font-size);
        font-weight: var(--b-divider-font-weight)
    }

.b-undo-redo-base.b-toolbar {
    gap: .5em;
    align-items: center
}

:root,
:host {
    --b-button-group-border-width: 0px;
    --b-button-group-border-radius: var(--b-button-border-radius);
    --b-button-group-box-shadow: none;
    --b-button-group-border-color: transparent;
    --b-button-group-padded-padding: .3em;
    --b-button-group-padded-background: var(--b-neutral-95);
    --b-button-group-padded-pressed-background: var(--b-neutral-100);
    --b-button-group-padded-pressed-box-shadow: 0 1px 3px 0 rgb(0 0 0 /.05), 0 1px 1px 0 rgb(0 0 0 /.04), 0 2px 1px -1px rgb(0 0 0 /.03);
    --b-button-group-padded-pressed-border: null;
    --b-button-group-padded-button-opacity: .5;
    --b-button-group-padded-border: null
}

.b-button-group {
    display: flex;
    gap: 0;
    flex-shrink: 0;
    align-items: center;
    width: min-content;
    height: min-content;
    transition-property: box-shadow, border, opacity, background;
    box-shadow: var(--b-button-group-box-shadow);
    border: var(--b-button-group-border-width) solid var(--b-button-group-border-color);
    opacity: var(--bi-button-group-opacity, 1);
    transition-duration: var(--b-default-transition-duration)
}

    .b-button-group.b-columned {
        width: 100%;
        flex-wrap: wrap
    }

    .b-button-group.b-button-group-tonal .b-button {
        --bi-button-group-button-border-end-width: 1px;
        --b-button-group-border-color: color-mix(in oklab, var(--b-button-tonal-color), transparent 80%)
    }

    .b-button-group.b-button-group-elevated {
        --b-button-group-box-shadow: var(--b-button-elevated-box-shadow)
    }

    .b-button-group.b-button-group-outlined {
        --b-button-group-border-color: var(--b-button-outlined-border-color);
        --b-button-group-border-width: var(--b-button-outlined-border-width);
        --bi-button-group-button-border-end-width: var(--b-button-outlined-border-width)
    }

        .b-button-group.b-button-group-outlined.b-disabled {
            --b-button-group-border-color: var(--b-button-outlined-disabled-border-color);
            --bi-button-group-opacity: var(--b-button-disabled-opacity)
        }

            .b-button-group.b-button-group-outlined.b-disabled .b-button {
                --b-button-disabled-opacity: 1
            }

    .b-button-group.b-rotate-vertical {
        flex-direction: column
    }

    .b-button-group .b-button {
        --b-button-border-width: 0;
        --b-button-box-shadow: none
    }

        .b-button-group .b-button:not(.b-button-text) {
            --b-button-border-radius: 0
        }

        .b-button-group .b-button:not(.b-last-visible-child) {
            border-inline-end: var(--bi-button-group-button-border-end-width) solid var(--b-button-group-border-color)
        }

        .b-button-group .b-button:not(.b-text) {
            aspect-ratio: unset;
            min-width: 3.25em
        }

        .b-button-group .b-button:focus {
            z-index: 3
        }

    .b-button-group .b-pressed {
        z-index: 2
    }

    .b-button-group:where(.b-no-gap:not(.b-button-group-text, .b-button-group-padded)) {
        border-radius: var(--b-button-group-border-radius)
    }

        .b-button-group:where(.b-no-gap:not(.b-button-group-text, .b-button-group-padded)) .b-first-visible-child {
            border-start-start-radius: calc(var(--b-button-group-border-radius) - var(--b-button-group-border-width));
            border-end-start-radius: calc(var(--b-button-group-border-radius) - var(--b-button-group-border-width))
        }

        .b-button-group:where(.b-no-gap:not(.b-button-group-text, .b-button-group-padded)) .b-last-visible-child {
            border-start-end-radius: calc(var(--b-button-group-border-radius) - var(--b-button-group-border-width));
            border-end-end-radius: calc(var(--b-button-group-border-radius) - var(--b-button-group-border-width))
        }

.b-button-group-padded {
    background: var(--b-button-group-padded-background);
    border-radius: var(--b-button-group-border-radius);
    padding: var(--b-button-group-padded-padding);
    border: var(--b-button-group-padded-border)
}

    .b-button-group-padded .b-button {
        background: transparent;
        transition-property: opacity, background, box-shadow, border;
        transition-duration: var(--b-default-transition-duration);
        border-radius: calc(var(--b-button-group-border-radius) - 1px);
        height: calc(var(--b-button-height) - var(--b-button-group-padded-padding) * 2);
        opacity: var(--b-button-group-padded-button-opacity)
    }

        .b-button-group-padded .b-button:hover,
        .b-button-group-padded .b-button.b-pressed {
            opacity: 1
        }

        .b-button-group-padded .b-button.b-pressed {
            background: var(--b-button-group-padded-pressed-background);
            border: var(--b-button-group-padded-pressed-border);
            box-shadow: var(--b-button-group-padded-pressed-box-shadow)
        }

    .b-button-group-padded:not(.b-toggle-group) {
        gap: var(--b-button-group-padded-padding)
    }

:root,
:host {
    --b-editor-background: transparent;
    --b-editor-border-radius: var(--b-widget-border-radius)
}

.b-editor {
    display: flex;
    overflow: visible;
    background: var(--b-editor-background);
    border-radius: var(--b-editor-border-radius)
}

    .b-editor .b-label {
        display: none
    }

    .b-editor .b-field {
        display: flex;
        width: 100%;
        height: 100%;
        --b-text-field-input-height: 100%
    }

    .b-editor .b-field-inner {
        height: 100%
    }

.b-field-filter-picker {
    display: flex;
    flex-flow: row wrap;
    overflow: visible;
    --b-container-gap: 1em;
    --b-text-field-default-width: 100%
}

.b-field-filter-picker-property,
.b-field-filter-picker-operator,
.b-field-filter-picker-values,
.b-field-filter-picker-case-sensitive,
.b-field-filter-picker-values-multiple {
    flex: 1;
    min-width: 10em
}

:is(.b-field-filter-picker-property, .b-field-filter-picker-operator, .b-field-filter-picker-values, .b-field-filter-picker-case-sensitive, .b-field-filter-picker-values-multiple).b-hidden {
    display: none
}

.b-field-filter-picker-values-multiple {
    display: flex;
    align-items: center;
    gap: var(--b-container-gap)
}

    .b-field-filter-picker-values-multiple .b-field {
        flex: 1
    }

.b-combo.b-field-filter-picker-combo-locked {
    margin-top: .25em;
    --b-text-field-border-width: 0;
    --b-text-field-input-padding: 0;
    --b-text-field-input-height: 3em;
    --b-text-field-background: transparent
}

:root,
:host {
    --b-field-filter-picker-group-gap: 4em
}

.b-field-filter-picker-group .b-no-visible-children {
    display: none
}

.b-field-filter-picker-group [data-ref=pickers] {
    --b-container-gap: 0
}

.b-field-filter-picker-group-row {
    position: relative;
    flex-shrink: 0;
    align-items: baseline;
    overflow: visible;
    padding-top: var(--b-field-filter-picker-group-gap);
    padding-bottom: .5em
}

    .b-field-filter-picker-group-row:first-child {
        --b-field-filter-picker-group-gap: 0
    }

        .b-field-filter-picker-group-row:first-child:before {
            display: none
        }

    .b-field-filter-picker-group-row:before {
        content: attr(data-separator-text);
        font-size: 85%;
        position: absolute;
        text-align: center;
        width: 100%;
        top: .15em;
        background-position: 0 50%;
        background-size: 100% 1px;
        background-repeat: no-repeat;
        background-image: linear-gradient(to right, var(--b-border-5), var(--b-border-5) 44%, transparent 44%, transparent 56%, var(--b-border-5) 56%);
        height: var(--b-field-filter-picker-group-gap);
        line-height: var(--b-field-filter-picker-group-gap)
    }

    .b-field-filter-picker-group-row:not(.b-field-filter-picker-group-row-removable) {
        padding-inline-end: 2.25em
    }

    .b-field-filter-picker-group-row [data-ref=pickers] {
        gap: 0
    }

.b-field-filter-picker-group-filter-active {
    width: 2.3em;
    align-self: center
}

    .b-field-filter-picker-group-filter-active.b-slide-toggle {
        width: 3.5em
    }

.b-field-filter-picker-group-other-filters {
    padding: .5em 0
}

.b-field-filter-picker-group-add-button {
    align-self: center
}

.b-field-filter-picker-group-remove {
    margin-inline-start: .25em
}

:root,
:host {
    --b-panel-gap: var(--b-widget-gap);
    --b-panel-background: var(--b-neutral-100);
    --b-panel-header-color: var(--b-widget-color);
    --b-panel-overlay-box-shadow: var(--b-elevation-1);
    --b-panel-header-font-size: 1.2em;
    --b-panel-header-font-weight: calc(var(--b-widget-font-weight) + 100);
    --b-panel-header-text-align: start;
    --b-panel-header-gap: var(--b-widget-gap);
    --b-panel-padding: var(--b-widget-padding-large);
    --b-panel-with-header-padding: var(--b-panel-padding);
    --b-panel-bottom-toolbar-padding: var(--b-widget-padding-large);
    --b-panel-bottom-toolbar-background: transparent;
    --b-panel-top-toolbar-margin-inline: null;
    --b-panel-top-toolbar-border-radius: null;
    --b-panel-with-header-top-toolbar-background: var(--b-neutral-97);
    --b-panel-header-padding: var(--b-widget-padding-large);
    --b-panel-border: null;
    --b-panel-header-background: transparent;
    --b-drawer-size: 30em;
    --b-panel-overlay-border: null
}

.b-panel {
    display: flex;
    flex-direction: column;
    gap: 0;
    outline: none;
    transition: background var(--b-default-transition-duration);
    overflow: clip;
    background: var(--b-panel-background);
    border: var(--b-panel-border)
}

    .b-panel.b-columns .b-panel-content {
        display: grid;
        grid-auto-rows: min-content;
        grid-template-columns: repeat(var(--bi-container-columns), auto)
    }

    .b-panel.b-panel-has-header .b-top-toolbar:not(.b-tab-bar) {
        margin-inline: var(--b-panel-top-toolbar-margin-inline);
        border-radius: var(--b-panel-top-toolbar-border-radius)
    }

    .b-panel > .b-panel-overlay,
    .b-panel > .b-panel-body-wrap {
        z-index: 0
    }

    .b-panel > .b-panel-collapse-size-locker {
        position: absolute !important
    }

    .b-panel .b-panel-overlay-right {
        border-inline-start: var(--b-panel-overlay-border)
    }

    .b-panel:not(.b-panel-collapsible-overlay).b-collapsed > .b-panel-collapse-size-locker {
        clip: rect(0, 0, 0, 0)
    }

:is(.b-panel:not(.b-panel-collapsible-overlay).b-panel-collapse-down:not(.b-panel-has-header), .b-panel:not(.b-panel-collapsible-overlay).b-header-dock-bottom.b-panel-collapse-down, .b-panel:not(.b-panel-collapsible-overlay).b-header-dock-bottom.b-panel-collapse-up) > .b-panel-collapse-size-locker {
    top: 0
}

:is(.b-panel:not(.b-panel-collapsible-overlay).b-panel-collapse-up:not(.b-panel-has-header), .b-panel:not(.b-panel-collapsible-overlay).b-header-dock-top.b-panel-collapse-up, .b-panel:not(.b-panel-collapsible-overlay).b-header-dock-top.b-panel-collapse-down) > .b-panel-collapse-size-locker {
    bottom: 0
}

:is(.b-panel:not(.b-panel-collapsible-overlay).b-panel-collapse-left:not(.b-panel-has-header), .b-panel:not(.b-panel-collapsible-overlay).b-header-dock-left.b-panel-collapse-left, .b-panel:not(.b-panel-collapsible-overlay).b-header-dock-left.b-panel-collapse-right) > .b-panel-collapse-size-locker {
    right: 0
}

:is(.b-panel:not(.b-panel-collapsible-overlay).b-panel-collapse-right:not(.b-panel-has-header), .b-panel:not(.b-panel-collapsible-overlay).b-header-dock-right.b-panel-collapse-left, .b-panel:not(.b-panel-collapsible-overlay).b-header-dock-right.b-panel-collapse-right) > .b-panel-collapse-size-locker {
    left: 0
}

.b-panel.b-panel-collapsible-overlay:not(.b-collapsing, .b-expanding, .b-panel-overlay-revealed, .b-panel-overlay-revealing) > .b-panel-overlay > .b-panel-overlay-header {
    display: none
}

.b-panel.b-panel-collapsible-overlay.b-panel-overlay-revealed > .b-panel-overlay {
    box-shadow: var(--b-panel-overlay-box-shadow);
    overflow: visible
}

.b-panel.b-panel-collapsible-overlay > .b-panel-header {
    transition: translate .2s ease-in-out
}

.b-panel.b-panel-collapsible-overlay.b-collapsed > .b-panel-header > .b-collapsify-hide {
    display: none
}

:is(.b-panel.b-panel-collapsible-overlay.b-collapsing, .b-panel.b-panel-collapsible-overlay.b-expanding) > .b-panel-header {
    opacity: 0
}

.b-panel.b-panel-collapsible-overlay:not(.b-collapsed, .b-collapsing) > .b-panel-overlay > .b-panel-overlay-header {
    display: none
}

.b-panel.b-panel-collapsible-overlay.b-collapsing,
.b-panel.b-panel-collapsible-overlay.b-expanding,
.b-panel.b-panel-collapsible-overlay.b-panel-overlay-revealing,
.b-panel.b-panel-collapsible-overlay.b-panel-overlay-revealed {
    overflow: visible;
    z-index: 1
}

.b-panel.b-panel-collapsible-overlay.b-collapsing {
    overflow: visible
}

    .b-panel.b-panel-collapsible-overlay.b-collapsing > .b-panel-header {
        z-index: -1
    }

    .b-panel.b-panel-collapsible-overlay.b-collapsing.b-panel-collapse-up > .b-panel-header {
        translate: 0 -100%
    }

    .b-panel.b-panel-collapsible-overlay.b-collapsing.b-panel-collapse-down > .b-panel-header {
        translate: 0 100%
    }

    .b-panel.b-panel-collapsible-overlay.b-collapsing.b-panel-collapse-right > .b-panel-header {
        translate: 100% 0
    }

    .b-panel.b-panel-collapsible-overlay.b-collapsing.b-panel-collapse-left > .b-panel-header {
        translate: -100% 0
    }

.b-panel.b-panel-collapsible-overlay.b-collapsed:not(.b-expanding) {
    border: none
}

    .b-panel.b-panel-collapsible-overlay.b-collapsed:not(.b-expanding) > .b-panel-collapse-size-locker {
        transition: translate .2s cubic-bezier(.06, 1.1, .58, 1), clip-path .2s ease-out, top .2s ease-out, right .2s ease-out, bottom .2s ease-out, left .2s ease-out
    }

    .b-panel.b-panel-collapsible-overlay.b-collapsed:not(.b-expanding).b-panel-collapse-up > .b-panel-collapse-size-locker {
        translate: 0 -100%
    }

    .b-panel.b-panel-collapsible-overlay.b-collapsed:not(.b-expanding).b-panel-collapse-up.b-panel-overlay-revealed > .b-panel-collapse-size-locker {
        clip-path: inset(0 0 -10px 0);
        translate: 0 0
    }

    .b-panel.b-panel-collapsible-overlay.b-collapsed:not(.b-expanding).b-panel-collapse-down > .b-panel-collapse-size-locker {
        translate: 0 100%
    }

    .b-panel.b-panel-collapsible-overlay.b-collapsed:not(.b-expanding).b-panel-collapse-down.b-panel-overlay-revealed > .b-panel-collapse-size-locker {
        clip-path: inset(-10px 0 0 0);
        translate: 0 0
    }

    .b-panel.b-panel-collapsible-overlay.b-collapsed:not(.b-expanding).b-panel-collapse-left > .b-panel-collapse-size-locker {
        translate: -100% 0
    }

    .b-panel.b-panel-collapsible-overlay.b-collapsed:not(.b-expanding).b-panel-collapse-left.b-panel-overlay-revealed > .b-panel-collapse-size-locker {
        clip-path: inset(0 -10px 0 0);
        translate: 0 0
    }

    .b-panel.b-panel-collapsible-overlay.b-collapsed:not(.b-expanding).b-panel-collapse-right > .b-panel-collapse-size-locker {
        translate: 100% 0
    }

    .b-panel.b-panel-collapsible-overlay.b-collapsed:not(.b-expanding).b-panel-collapse-right.b-panel-overlay-revealed > .b-panel-collapse-size-locker {
        clip-path: inset(0 0 0 -10px);
        translate: 0 0
    }

.b-panel.b-panel-collapsible-overlay.b-expanding {
    flex: none !important;
    overflow: visible
}

.b-panel.b-header-dock-right,
.b-panel.b-header-dock-bottom {
    justify-content: flex-end
}

.b-panel.b-collapsed:not(.b-expanding, .b-panel-overlay-revealed, .b-panel-overlay-revealing) {
    visibility: hidden;
    flex: 0 1 0
}

.b-panel.b-collapsed > .b-panel-collapse-revealer {
    visibility: visible;
    cursor: pointer
}

    .b-panel.b-collapsed > .b-panel-collapse-revealer.b-dock-right,
    .b-panel.b-collapsed > .b-panel-collapse-revealer .b-dock-left {
        height: 100%;
        border-block: none
    }

.b-panel .b-panel-collapser-header {
    display: none
}

.b-panel.b-collapse-unflex {
    flex-grow: unset !important;
    flex-basis: unset !important;
    flex-shrink: 0 !important
}

:is(.b-panel.b-collapsed, .b-panel.b-collapsing) .b-panel-collapser-header {
    display: flex
}

:is(.b-panel.b-collapsed, .b-panel.b-collapsing).b-header-dock-top,
:is(.b-panel.b-collapsed, .b-panel.b-collapsing).b-header-dock-bottom {
    min-height: auto !important
}

:is(:is(.b-panel.b-collapsed, .b-panel.b-collapsing).b-header-dock-top, :is(.b-panel.b-collapsed, .b-panel.b-collapsing).b-header-dock-bottom).b-panel-collapsible-overlay {
    height: unset !important
}

.b-vbox > :is(:is(.b-panel.b-collapsed, .b-panel.b-collapsing).b-header-dock-top, :is(.b-panel.b-collapsed, .b-panel.b-collapsing).b-header-dock-bottom) {
    flex: none !important
}

:is(.b-panel.b-collapsed, .b-panel.b-collapsing).b-header-dock-right,
:is(.b-panel.b-collapsed, .b-panel.b-collapsing).b-header-dock-left {
    min-width: auto !important
}

:is(:is(.b-panel.b-collapsed, .b-panel.b-collapsing).b-header-dock-right, :is(.b-panel.b-collapsed, .b-panel.b-collapsing).b-header-dock-left).b-panel-collapsible-overlay {
    width: unset !important
}

.b-hbox > :is(:is(.b-panel.b-collapsed, .b-panel.b-collapsing).b-header-dock-right, :is(.b-panel.b-collapsed, .b-panel.b-collapsing).b-header-dock-left) {
    flex: none !important
}

.b-panel.b-collapsed:not(.b-expanding).b-header-dock-right,
.b-panel.b-collapsed:not(.b-expanding).b-header-dock-left {
    width: unset !important;
    flex: unset !important
}

.b-panel:not(.b-collapsing, .b-expanding) {
    transition-property: background, color, border-color;
    transition-duration: var(--b-default-transition-duration)
}

.b-drawer-panel:not(.b-positioned, .b-floating) {
    flex: unset
}

.b-drawer-panel.b-panel-overlay-revealed header.b-panel-collapse-revealer {
    display: none
}

.b-drawer-panel header.b-panel-collapse-revealer {
    display: none
}

.b-drawer-panel.b-panel-collapse-up {
    min-height: var(--b-drawer-size);
    height: auto;
    inset: 0 0 auto
}

.b-drawer-panel.b-panel-collapse-right {
    width: var(--b-drawer-size);
    inset: 0 0 0 auto
}

.b-drawer-panel.b-panel-collapse-down {
    min-height: var(--b-drawer-size);
    height: auto;
    inset: auto 0 0
}

.b-drawer-panel.b-panel-collapse-left {
    width: var(--b-drawer-size);
    inset: 0 auto 0 0
}

.b-panel-overlay {
    background: var(--b-panel-background)
}

.b-panel-header {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-shrink: 0;
    z-index: 1;
    background: var(--b-panel-header-background);
    color: var(--b-panel-header-color);
    padding: var(--b-panel-header-padding);
    gap: var(--b-panel-header-gap);
    border-bottom: var(--b-panel-header-border-bottom)
}

    .b-panel-header.b-dock-top {
        border-top-left-radius: inherit;
        border-top-right-radius: inherit
    }

    .b-panel-header.b-dock-right {
        flex-flow: column nowrap;
        border-start-end-radius: inherit;
        border-end-end-radius: inherit;
        order: 100
    }

    .b-panel-header.b-dock-right,
    .b-panel-header.b-dock-bottom {
        order: 100
    }

    .b-panel-header.b-dock-left {
        flex-flow: column-reverse nowrap;
        border-start-start-radius: inherit;
        border-end-start-radius: inherit
    }

        .b-panel-header.b-dock-left .b-header-title {
            rotate: 180deg
        }

:is(.b-panel-header.b-dock-right, .b-panel-header.b-dock-left) .b-header-title {
    writing-mode: vertical-lr
}

.b-panel-header .b-header-title {
    align-items: center;
    flex: 1;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    font-size: var(--b-panel-header-font-size);
    font-weight: var(--b-panel-header-font-weight);
    text-align: var(--b-panel-header-text-align);
    gap: var(--b-panel-header-gap)
}

    .b-panel-header .b-header-title.b-header-html-title,
    .b-panel-header .b-header-title.b-panel-ui-toolbar {
        display: flex
    }

.b-panel-body-wrap {
    overflow: hidden;
    border-bottom-left-radius: inherit;
    border-bottom-right-radius: inherit
}

    .b-panel-body-wrap .b-top-toolbar .b-button.b-button-text {
        --b-button-type-text-color: var(--b-panel-top-toolbar-button-type-text-color, var(--b-primary-20))
    }

    .b-panel-body-wrap .b-bottom-toolbar {
        background: var(--b-panel-bottom-toolbar-background);
        --b-toolbar-padding: var(--b-panel-bottom-toolbar-padding)
    }

.b-panel-collapser {
    z-index: 0
}

.b-panel-content {
    flex: 1;
    overflow: clip;
    border-bottom-left-radius: inherit;
    border-bottom-right-radius: inherit;
    gap: var(--b-panel-gap);
    padding: var(--b-panel-padding)
}

    .b-panel-content:where(:not(.b-vbox, .b-hbox)) {
        display: grid;
        grid-auto-rows: min-content;
        align-items: center
    }

    .b-panel-content.b-vbox {
        --b-text-field-default-width: 100%
    }

.b-panel-has-header .b-top-toolbar:not(.b-tab-bar) {
    background: var(--b-panel-with-header-top-toolbar-background)
}

.b-panel-has-header:where(:not(:has(.b-top-toolbar:not(.b-hidden, .b-tab-bar)))) > .b-panel-body-wrap > .b-panel-content {
    padding: var(--b-panel-with-header-padding)
}

.b-collapse-tool:before {
    rotate: var(--b-panel-collapse-tool-rotate)
}

.b-collapse-tool:not(.b-collapsing):before {
    transition: all .2s ease-in-out
}

.b-collapse-tool.b-rotate-left,
.b-collapse-tool.b-rotate-right {
    --b-panel-collapse-tool-rotate: 0deg
}

.b-collapse-tool.b-collapsed {
    --b-panel-collapse-tool-rotate: 180deg
}

.b-panel-ui-plain {
    --b-panel-header-background: var(--b-panel-background);
    --b-panel-header-color: var(--b-widget-color)
}

.b-panel-ui-toolbar {
    --b-panel-header-background: var(--b-grid-header-background, var(--b-toolbar-background));
    --b-panel-header-color: var(--b-widget-color);
    --b-panel-header-font-size: var(--b-widget-font-size);
    --b-panel-header-padding: 1em;
    --b-panel-header-border-bottom: 1px solid var(--b-grid-header-border-color, var(--b-border-5))
}

:root,
:host {
    --b-calendar-panel-day-font-size: unset;
    --b-calendar-panel-week-width: 2em;
    --b-calendar-panel-week-number-display: none;
    --b-calendar-panel-cell-display: flex;
    --b-calendar-panel-cell-padding: none;
    --b-calendar-panel-cell-font-size: 1em;
    --b-calendar-panel-cell-font-weight: var(--b-widget-font-weight);
    --b-calendar-panel-disabled-cell-opacity: .7;
    --b-calendar-panel-non-working-cell-display: flex;
    --b-calendar-panel-gap: 0em;
    --b-calendar-panel-day-color: unset;
    --b-calendar-panel-color: var(--b-widget-color);
    --b-calendar-panel-other-month-color: var(--b-neutral-60);
    --b-calendar-panel-weeks-gap: .5em
}

.b-internal {
    --bi-min-column-width: null
}

.b-calendar-panel {
    user-select: none;
    -webkit-user-select: none
}

    .b-calendar-panel.b-show-week-column {
        --b-calendar-panel-week-number-display: flex
    }

    .b-calendar-panel.b-hide-other-month-cells .b-other-month {
        visibility: hidden;
        pointer-events: none
    }

    .b-calendar-panel.b-disable-other-month-cells .b-other-month {
        pointer-events: none;
        opacity: var(--b-calendar-panel-disabled-cell-opacity)
    }

.b-calendar-panel-content {
    gap: 0;
    padding: 0
}

    .b-calendar-panel-content.b-hide-non-working-days .b-non-working-day {
        display: none
    }

.b-calendar-panel-row {
    display: flex
}

.b-week-number-cell {
    flex-direction: column;
    justify-content: center;
    display: var(--b-calendar-panel-week-number-display);
    font-size: var(--b-calendar-panel-day-font-size);
    width: var(--b-calendar-panel-week-width)
}

.b-calendar-weekdays .b-week-number-cell {
    flex-direction: row;
    font-size: var(--b-calendar-panel-day-font-size)
}

.b-calendar-day-header {
    flex: 1;
    justify-content: center;
    display: var(--b-calendar-panel-cell-display);
    color: var(--b-calendar-panel-day-color);
    font-size: var(--b-calendar-panel-day-font-size);
    min-width: var(--bi-min-column-width)
}

.b-calendar-week-days {
    padding-inline: var(--b-calendar-panel-gap);
    gap: var(--b-calendar-panel-gap)
}

.b-weeks-container {
    display: flex;
    flex-flow: column nowrap;
    padding-block: var(--b-calendar-panel-weeks-gap);
    gap: var(--b-calendar-panel-weeks-gap)
}

    .b-weeks-container .b-calendar-panel-row {
        flex: 1;
        min-height: var(--bi-min-row-height, 0)
    }

.b-calendar-panel-days {
    display: flex;
    flex: 1;
    gap: var(--b-calendar-panel-gap)
}

.b-calendar-panel-cell {
    flex: 1;
    justify-content: center;
    align-items: center;
    position: relative;
    color: var(--b-calendar-panel-color);
    display: var(--b-calendar-panel-cell-display);
    padding: var(--b-calendar-panel-cell-padding);
    background: var(--b-calendar-panel-cell-background);
    font-weight: var(--b-calendar-panel-cell-font-weight);
    font-size: var(--b-calendar-panel-cell-font-size);
    min-width: var(--bi-min-column-width)
}

    .b-calendar-panel-cell.b-other-month {
        --b-calendar-panel-color: var(--b-calendar-panel-other-month-color)
    }

:root,
:host {
    --b-date-picker-min-width: 25em;
    --b-date-picker-title-font-weight: 600;
    --b-date-picker-day-font-size: 1em;
    --b-date-picker-date-padding: .5em;
    --b-date-picker-date-font-size: 1em;
    --b-date-picker-today-font-weight: inherit;
    --b-date-picker-selected-font-weight: 600;
    --b-date-picker-selected-week-border-radius: 2px;
    --b-date-picker-cell-margin-block: 2px;
    --b-date-picker-toolbar-font-size: 1em;
    --b-date-picker-day-color: var(--b-neutral-30);
    --b-date-picker-date-color: var(--b-neutral-30);
    --b-date-picker-today-background: transparent;
    --b-date-picker-selected-color: var(--b-primary-30);
    --b-date-picker-header-padding: 1.5em 0;
    --b-date-picker-color: var(--b-primary)
}

.b-date-picker {
    position: relative;
    opacity: 1;
    flex-shrink: 0;
    color: var(--b-date-picker-color);
    min-width: var(--b-date-picker-min-width);
    --b-calendar-panel-day-color: var(--b-date-picker-day-color);
    --b-calendar-panel-day-font-size: var(--b-date-picker-day-font-size);
    --b-calendar-panel-color: var(--b-date-picker-date-color);
    --b-calendar-panel-cell-background: transparent;
    --b-calendar-panel-cell-font-size: var(--b-date-picker-date-font-size);
    --b-panel-header-padding: var(--b-date-picker-header-padding)
}

    .b-date-picker.b-floating .b-weeks-container {
        max-height: 24em
    }

    .b-date-picker .b-top-toolbar {
        --b-toolbar-background: transparent;
        --b-toolbar-gap: 0
    }

        .b-date-picker .b-top-toolbar > .b-toolbar-content > .b-widget {
            font-size: var(--b-date-picker-toolbar-font-size)
        }

        .b-date-picker .b-top-toolbar .b-button {
            min-width: 2em;
            --b-button-type-text-color: var(--b-date-picker-toolbar-color, var(--b-primary-30))
        }

        .b-date-picker .b-top-toolbar .b-widget {
            --b-primary: inherit
        }

        .b-date-picker .b-top-toolbar .b-text-field {
            color: var(--b-date-picker-toolbar-color, var(--b-primary-30));
            --b-text-field-background: transparent
        }

        .b-date-picker .b-top-toolbar i {
            font-size: .9em
        }

:is(.b-date-picker [data-ref=monthButton], .b-date-picker [data-ref=yearButton]) label {
    font-size: 1.1em
}

.b-date-picker .b-calendar-panel-cell {
    cursor: pointer;
    line-height: 1;
    margin-block: var(--b-date-picker-cell-margin-block)
}

    .b-date-picker .b-calendar-panel-cell:hover {
        --b-date-picker-date-background: var(--b-date-picker-date-hover-background, var(--b-primary-95));
        color: var(--b-date-picker-date-hover-color)
    }

    .b-date-picker .b-calendar-panel-cell:focus-visible {
        outline: none
    }

        .b-date-picker .b-calendar-panel-cell:focus-visible:after {
            content: "";
            position: absolute;
            z-index: 1;
            border-radius: .25em;
            pointer-events: none;
            inset: calc(var(--b-widget-focus-outline-width) * -1) var(--b-widget-focus-outline-width);
            outline: var(--b-widget-focus-outline-width) solid var(--b-widget-focus-outline-color)
        }

.b-date-picker .b-date-picker-cell-payload {
    pointer-events: none;
    position: absolute;
    inset: auto 0 0;
    display: flex;
    justify-content: center;
    overflow: clip;
    z-index: 1;
    font-weight: var(--b-widget-font-weight)
}

.b-date-picker .b-month-picker,
.b-date-picker .b-year-picker {
    inset: 0;
    z-index: 1
}

.b-date-picker .b-selected-date:not(.b-in-range) {
    --b-date-picker-date-hover-background: var(--b-date-picker-selected-hover-background, var(--b-date-picker-selected-background, var(--b-primary-90)));
    --b-calendar-panel-color: var(--b-date-picker-selected-color);
    --b-date-picker-date-background: var(--b-date-picker-selected-background, var(--b-primary-90));
    --b-calendar-panel-cell-font-weight: var(--b-date-picker-selected-font-weight);
    --b-date-picker-date-border: var(--b-date-picker-selected-border)
}

.b-date-picker .b-today,
.b-date-picker .b-today:not(.b-in-range) {
    --b-date-picker-date-border: var(--b-date-picker-today-border, 1px solid var(--b-date-picker-today-color, var(--b-primary-50)))
}

.b-date-picker .b-today {
    --b-date-picker-date-hover-background: var(--b-date-picker-today-hover-background, var(--b-primary-95));
    --b-calendar-panel-color: var(--b-date-picker-today-color, var(--b-primary-50));
    --b-calendar-panel-date-background: var(--b-date-picker-today-background);
    --b-calendar-panel-cell-font-weight: var(--b-date-picker-today-font-weight)
}

.b-date-picker.b-highlight-selected-week .b-calendar-week:has(.b-selected-date) {
    background: var(--b-date-picker-selected-week-background, var(--b-primary-95));
    border-radius: var(--b-date-picker-selected-week-border-radius)
}

.b-date-picker .b-in-range {
    background: var(--b-date-picker-selected-range-background, var(--b-primary-90));
    --b-date-picker-selected-color: var(--b-date-picker-selected-range-color)
}

:is(.b-date-picker .b-range-start:where(:not(.b-range-end)), .b-date-picker .b-range-end:where(:not(.b-range-start)), .b-date-picker .b-in-range):before {
    content: "";
    position: absolute;
    display: block;
    height: 100%;
    inset-inline-start: 0;
    background: var(--b-date-picker-selected-range-background, var(--b-primary-90))
}

.b-date-picker .b-range-start:before {
    inset-inline-start: 50%;
    width: calc(50% + var(--b-calendar-panel-gap))
}

.b-date-picker .b-in-range:before {
    width: calc(100% + var(--b-calendar-panel-gap))
}

.b-date-picker .b-range-end:before {
    width: 50%
}

.b-date-picker-cell-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    height: 100%;
    z-index: 1;
    aspect-ratio: 1 / 1;
    min-width: 2.25em;
    background: var(--b-date-picker-date-background);
    padding: var(--b-date-picker-date-padding);
    border: var(--b-date-picker-date-border)
}

.b-date-picker-title {
    display: flex;
    flex-direction: row;
    flex: 1;
    align-items: center;
    justify-content: center;
    gap: .3em;
    overflow: visible
}

.b-date-picker-month-button,
.b-date-picker-year-button {
    padding: 0;
    background: transparent;
    border-radius: 1px;
    font-weight: var(--b-date-picker-title-font-weight);
    --b-button-focus-outline-offset: 1px
}

.b-carousel-content:not(.b-carousel-empty) {
    padding: 0
}

.b-carousel-content > .b-carousel-content {
    overflow: clip
}

.b-carousel-content.b-carousel-empty > .b-carousel-inner-ct,
.b-carousel-content:not(.b-carousel-empty) > .b-carousel-empty-text {
    display: none
}

.b-multi-date-picker.b-widget.b-floating,
.b-multi-date-picker.b-widget.b-floating .b-carousel-inner-ct {
    border-radius: var(--b-popup-border-radius)
}

.b-multi-date-picker .b-top-toolbar {
    --b-toolbar-gap: var(--b-date-range-field-gap)
}

.b-multi-date-picker [data-ref=yearButton],
.b-multi-date-picker [data-ref=monthButton] {
    color: var(--b-button-type-text-color);
    opacity: 1
}

.b-multi-date-picker-nav-floating {
    overflow: visible
}

    .b-multi-date-picker-nav-floating > .b-multi-date-picker-nav-button {
        position: absolute;
        top: 50%;
        z-index: 1;
        box-shadow: var(--b-elevation-1);
        --b-button-type-text-background: var(--b-panel-background);
        --b-button-type-text-hover-background: var(--b-primary-97)
    }

    .b-multi-date-picker-nav-floating > .b-multi-date-picker-next-button {
        inset-inline-end: 0;
        translate: calc(50% * var(--b-rtl-negate)) -50%
    }

    .b-multi-date-picker-nav-floating > .b-multi-date-picker-prev-button {
        inset-inline-start: 0;
        translate: calc(-50% * var(--b-rtl-negate)) -50%
    }

.b-multi-date-picker-content > .b-carousel-inner-ct .b-date-picker-content .b-calendar-week,
.b-multi-date-picker-content > .b-carousel-inner-ct .b-date-picker-content .b-calendar-weekdays {
    padding-inline: 1.5em
}

.b-multi-date-picker-content > .b-carousel-inner-ct .b-other-month {
    visibility: hidden;
    pointer-events: none
}

.b-multi-date-picker-content > .b-carousel-inner-ct [data-ref=nextMonth],
.b-multi-date-picker-content > .b-carousel-inner-ct [data-ref=prevMonth],
.b-multi-date-picker-content > .b-carousel-inner-ct [data-ref=prevYear],
.b-multi-date-picker-content > .b-carousel-inner-ct [data-ref=nextYear] {
    display: none
}

.b-multi-date-picker-content > .b-carousel-inner-ct .b-date-picker.b-carousel-visible.b-carousel-first > .b-top-focus-trap,
.b-multi-date-picker-content > .b-carousel-inner-ct .b-date-picker.b-carousel-visible.b-carousel-last > .b-end-focus-trap {
    display: none
}

.b-multi-date-picker-content > .b-carousel-inner-ct .b-date-picker.b-carousel-reserve [data-ref=monthField] {
    pointer-events: none
}

.b-multi-date-picker-content > .b-carousel-inner-ct .b-date-picker.b-carousel-reserve [data-ref=yearButton] {
    display: none
}

.b-demo-code-editor {
    width: 490px;
    flex: unset;
    --b-toolbar-padding: .5em;
    --b-panel-padding: 0;
    --b-panel-background: var(--b-neutral-100);
    --b-text-field-input-height: 3em;
    --b-panel-overlay-border: none;
    --b-toolbar-background: transparent
}

    .b-demo-code-editor .b-top-toolbar {
        height: 58px;
        --b-toolbar-gap: 0
    }

@media (min-width: 2000px) {
    .b-demo-code-editor {
        width: 700px
    }
}

.b-demo-code-editor:not(.b-collapsed) {
    border-inline-start: var(--b-splitter-size, 4px) solid var(--b-border-7)
}

:is(.b-demo-code-editor.b-collapsed, .b-demo-code-editor.b-collapsing) .b-panel-collapse-revealer {
    display: none
}

.b-demo-code-editor:not(.b-resizing) {
    transition: border-width .1s
}

.b-demo-code-editor .b-code-editor-body-wrap,
.b-demo-code-editor .b-panel-overlay {
    overflow: hidden
}

.b-demo-code-editor .b-panel-content {
    direction: ltr
}

.b-demo-code-editor.b-resizing * {
    user-select: none;
    -webkit-user-select: none
}

.b-demo-code-editor.b-over-resize-handle {
    cursor: ew-resize
}

.b-demo-code-editor.b-hidden {
    display: flex !important;
    border-inline-start-width: 0
}

.b-demo-code-editor .b-bottom-toolbar {
    transition: background-color .2s
}

.readonly :is(.b-demo-code-editor .b-bottom-toolbar) {
    background-color: #ff8d46
}

.b-demo-code-editor .b-bottom-toolbar [data-ref=cursorPos] {
    margin-inline-start: auto
}

.b-demo-code-editor .b-bottom-toolbar .b-toolbar-content {
    padding: 1em !important
}

.b-demo-code-editor.invalid .b-bottom-toolbar {
    color: #fff;
    background: #b71c1c
}

.b-demo-code-editor [data-ref=filesCombo] {
    margin-inline-end: .5em
}

.b-demo-code-editor-file-picker {
    --b-list-item-gap: 0
}

    .b-demo-code-editor-file-picker .b-editor-file-type {
        margin-inline-end: .5em
    }

:root,
:host {
    --b-field-label-padding: 0;
    --b-field-label-default-gap: var(--b-widget-gap);
    --b-field-label-above-gap: .5em;
    --b-field-label-before-gap: var(--b-widget-gap);
    --b-field-default-template-areas: "before inner";
    --b-field-default-template-columns: auto 1fr;
    --b-field-default-label-padding: 0 1em 0 0;
    --b-field-error-tip-primary: var(--b-color-red);
    --b-field-align-before-label-column: unset;
    --b-field-align-before-field-column: unset
}

@property --bi-field-template-areas {
    syntax: "*";
    inherits: false;
}

@property --bi-field-template-columns {
    syntax: "*";
    inherits: false;
}

.b-field,
.b-slider {
    display: grid;
    align-items: center;
    justify-items: start;
    flex-shrink: 0;
    --bi-field-template-areas: "inner";
    --bi-field-template-columns: 1fr;
    grid-template-areas: var(--bi-field-template-areas);
    grid-template-columns: var(--bi-field-template-columns);
    color: var(--b-primary);
    gap: var(--bi-field-gap);
    --b-field-label-grid-area: before
}

:is(.b-field, .b-slider) .b-field-inner {
    display: grid;
    align-items: center;
    justify-items: center;
    grid-area: inner;
    max-height: 100%
}

:is(.b-field, .b-slider) .b-label {
    align-self: center;
    grid-area: var(--b-field-label-grid-area);
    padding: var(--b-field-label-padding)
}

:is(.b-field, .b-slider).b-has-label {
    --bi-field-template-areas: var(--b-field-default-template-areas);
    --bi-field-template-columns: var(--b-field-default-template-columns);
    --bi-field-gap: var(--b-field-label-default-gap)
}

    :is(.b-field, .b-slider).b-has-label.b-required .b-label:after {
        content: "*"
    }

:is(.b-field, .b-slider).b-label-align-before,
:is(.b-field, .b-slider).b-label-before {
    --bi-field-template-columns: auto 1fr;
    --bi-field-template-areas: "before inner";
    --b-field-label-grid-area: before;
    --bi-field-gap: var(--b-field-label-before-gap)
}

:is(.b-field, .b-slider).b-label-above {
    grid-template-rows: auto 1fr;
    --bi-field-template-columns: 1fr;
    --bi-field-template-areas: "above" "inner";
    --b-field-label-grid-area: above;
    --bi-field-gap: var(--b-field-label-above-gap)
}

:is(.b-field, .b-slider).b-label-align-before .b-label {
    grid-column: var(--b-field-align-before-label-column)
}

:is(.b-field, .b-slider).b-label-align-before .b-field-inner {
    grid-column: var(--b-field-align-before-field-column)
}

:is(:is(.b-field, .b-slider).b-read-only, :is(.b-field, .b-slider).b-disabled) .b-field-trigger {
    pointer-events: none;
    opacity: .5
}

.b-field-container-wrap {
    display: flex;
    flex: 1 1 auto;
    overflow: hidden;
    position: relative;
    gap: var(--b-container-gap)
}

    .b-field-container-wrap > .b-container {
        width: 100%
    }

.b-field.b-collapsed:not(.b-field-container-inline) > .b-field-container-wrap {
    height: 0
}

.b-field.b-collapsed.b-field-container-inline > .b-field-container-wrap {
    opacity: 0
}

.b-field-container:not(.b-field-container-inline) .b-field-container {
    gap: var(--b-container-gap)
}

.b-field-container-inline {
    gap: var(--b-container-gap);
    --bi-field-template-areas: "inner container";
    --bi-field-template-columns: max-content 1fr
}

    .b-field-container-inline .b-field-container-wrap {
        grid-area: container;
        width: 100%
    }

    .b-field-container-inline .b-field-container {
        width: 100%;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap
    }

:root,
:host {
    --b-checkbox-size: 1.25em;
    --b-checkbox-border-radius: calc(var(--b-widget-border-radius) / 2);
    --b-checkbox-check-font-size: .9em;
    --b-checkbox-disabled-opacity: .4;
    --b-checkbox-inner-gap: 1em;
    --b-checkbox-ring-content: none;
    --b-checkbox-border-width: 1px;
    --b-checkbox-border-color: var(--b-widget-border-color);
    --b-checkbox-checked-border-color: var(--b-widget-border-color);
    --b-checkbox-checked-check-color: var(--b-neutral-100);
    --b-checkbox-disabled-checked-check-color: var(--b-neutral-100);
    --b-checkbox-hover-border-color: var(--b-border-3);
    --b-checkbox-focus-outline-width: var(--b-widget-focus-outline-width);
    --b-checkbox-focus-outline-offset: 2px;
    --b-checkbox-focus-outline-color: var(--b-widget-focus-outline-color);
    --bi-checkbox-ring-opacity: 0
}

.b-checkbox {
    width: fit-content;
    overflow: visible
}

    .b-checkbox > .b-field-inner > input {
        grid-area: input;
        appearance: none;
        margin: 0
    }

    .b-checkbox:not(.b-disabled) input {
        cursor: pointer
    }

:is(.b-checkbox:focus-within, .b-checkbox.b-focus) input {
    outline: none
}

    :is(.b-checkbox:focus-within, .b-checkbox.b-focus) input:focus-visible ~ .b-checkbox-box,
    :is(.b-checkbox:focus-within, .b-checkbox.b-focus).b-focus input ~ .b-checkbox-box {
        outline: var(--b-checkbox-focus-outline-width) solid var(--b-checkbox-focus-outline-color);
        outline-offset: var(--b-checkbox-focus-outline-offset)
    }

.b-checkbox > .b-field-inner {
    grid-template-areas: "input"
}

.b-checkbox.b-text > .b-field-inner {
    grid-template-areas: "input after";
    gap: var(--b-checkbox-inner-gap)
}

.b-checkbox .b-checkbox-label {
    grid-area: after;
    white-space: nowrap;
    justify-self: stretch;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--b-label-color)
}

.b-checkbox label {
    cursor: pointer
}

.b-checkbox:not(.b-disabled):has(input:hover),
.b-checkbox:not(.b-disabled).b-hover {
    --bi-checkbox-ring-opacity: var(--b-checkbox-ring-hover-opacity)
}

.b-checkbox:not(.b-disabled):has(input:focus-visible),
.b-checkbox:not(.b-disabled).b-focus {
    --bi-checkbox-ring-opacity: var(--b-checkbox-ring-focus-opacity)
}

.b-checkbox:not(.b-disabled):has(input:active),
.b-checkbox:not(.b-disabled).b-active {
    --bi-checkbox-ring-opacity: var(--b-checkbox-ring-active-opacity)
}

.b-checkbox:not(.b-slide-toggle) > .b-field-inner {
    grid-template-columns: var(--b-checkbox-size)
}

    .b-checkbox:not(.b-slide-toggle) > .b-field-inner input {
        aspect-ratio: 1 / 1;
        width: var(--b-checkbox-size)
    }

.b-checkbox:not(.b-slide-toggle).b-text > .b-field-inner {
    grid-template-columns: var(--b-checkbox-size) auto
}

.b-checkbox:not(.b-slide-toggle) > .b-field-inner:before {
    content: var(--b-checkbox-ring-content);
    background: var(--b-primary);
    grid-area: input;
    border-radius: 50%;
    pointer-events: none;
    transition: opacity .3s;
    aspect-ratio: 1 / 1;
    width: calc(var(--b-checkbox-size) * 2.25);
    opacity: var(--bi-checkbox-ring-opacity)
}

.b-checkbox:not(.b-slide-toggle) input:checked ~ .b-checkbox-box {
    --b-checkbox-background: var(--b-checkbox-checked-background);
    --b-checkbox-border-color: var(--b-checkbox-checked-border-color)
}

    .b-checkbox:not(.b-slide-toggle) input:checked ~ .b-checkbox-box:after {
        scale: 1
    }

.b-checkbox:not(.b-slide-toggle).b-disabled {
    --b-checkbox-border-color: var(--b-checkbox-disabled-border-color, var(--b-widget-disabled-color));
    --b-checkbox-checked-border-color: var(--b-checkbox-disabled-background, var(--b-widget-disabled-color));
    --b-checkbox-checked-check-color: var(--b-checkbox-disabled-checked-check-color);
    --b-checkbox-checked-background: var(--b-checkbox-disabled-checked-background, var(--b-widget-disabled-background));
    --b-label-color: var(--b-checkbox-disabled-background, var(--b-widget-disabled-color));
    --b-checkbox-opacity: var(--b-checkbox-disabled-opacity)
}

.b-checkbox:not(.b-slide-toggle):not(.b-disabled):has(input:hover),
.b-checkbox:not(.b-slide-toggle):not(.b-disabled).b-hover {
    --bi-checkbox-ring-opacity: var(--b-checkbox-ring-hover-opacity);
    --b-checkbox-background: var(--b-checkbox-hover-background);
    --b-checkbox-border-color: var(--b-checkbox-hover-border-color)
}

:is(.b-checkbox:not(.b-slide-toggle):not(.b-disabled):has(input:hover), .b-checkbox:not(.b-slide-toggle):not(.b-disabled).b-hover) input:checked ~ .b-checkbox-box {
    --b-checkbox-background: var(--b-checkbox-checked-hover-background)
}

.b-checkbox:not(.b-slide-toggle):not(.b-disabled):has(input:focus-visible),
.b-checkbox:not(.b-slide-toggle):not(.b-disabled).b-focus {
    --bi-checkbox-ring-opacity: var(--b-checkbox-ring-focus-opacity)
}

.b-checkbox:not(.b-slide-toggle):not(.b-disabled):has(input:active),
.b-checkbox:not(.b-slide-toggle):not(.b-disabled).b-active {
    --bi-checkbox-ring-opacity: var(--b-checkbox-ring-active-opacity)
}

.b-checkbox-box {
    grid-area: input;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s ease, border .2s ease;
    width: var(--b-checkbox-size);
    height: var(--b-checkbox-size);
    border-radius: var(--b-checkbox-border-radius);
    border: var(--b-checkbox-border-width) solid var(--b-checkbox-border-color);
    background: var(--b-checkbox-background);
    opacity: var(--b-checkbox-opacity, 1)
}

    .b-checkbox-box:after {
        transition: scale .2s ease, border .2s ease;
        scale: 0;
        font-family: var(--b-widget-icon-font-family);
        content: var(--b-checkbox-checked-check-content);
        color: var(--b-checkbox-checked-check-color);
        font-size: var(--b-checkbox-check-font-size)
    }

.b-menu > .b-menu-body-wrap .b-menu-content > .b-checkbox {
    margin-inline-start: var(--b-checkbox-inner-gap)
}

.b-field-container:not(.b-field-container-inline) > .b-field-container-wrap {
    margin-top: .5em;
    margin-inline-start: calc(var(--b-checkbox-size) + var(--b-checkbox-inner-gap))
}

.b-container.b-label-align-before .b-checkbox:not(.b-has-label) {
    grid-column: 2 / 2
}

:root,
:host {
    --b-radio-check-gap: .2em;
    --b-radio-background: var(--b-neutral-100);
    --b-radio-checked-background: var(--b-radio-background);
    --b-radio-checked-border-color: var(--b-radio-checked-color)
}

.b-radio.b-checkbox {
    --b-checkbox-border-radius: 50%;
    --b-checkbox-checked-check-content: "";
    --b-checkbox-checked-check-color: var(--b-primary);
    --b-checkbox-background: var(--b-radio-background);
    --b-checkbox-checked-background: var(--b-radio-checked-background);
    --b-checkbox-checked-border-color: var(--b-radio-checked-border-color);
    --b-checkbox-checked-hover-background: var(--b-radio-checked-background);
    --b-checkbox-check-font-size: 1em
}

    .b-radio.b-checkbox .b-checkbox-box:after {
        border-radius: 50%;
        aspect-ratio: 1 / 1;
        width: 100%;
        background: var(--b-radio-checked-color, var(--b-primary));
        border: var(--b-radio-check-gap) solid var(--b-radio-checked-background)
    }

:root,
:host {
    --b-slide-toggle-border-width: var(--b-checkbox-border-width);
    --b-slide-toggle-width: 2.75em;
    --b-slide-toggle-height: 1.75em;
    --b-slide-toggle-thumb-size: 1em;
    --b-slide-toggle-border-radius: calc(var(--b-slide-toggle-height) / 2);
    --b-slide-toggle-checked-thumb-size: 1em;
    --b-slide-toggle-thumb-offset: .15em;
    --b-slide-toggle-font-size: 1em;
    --b-slide-toggle-disabled-opacity: .5;
    --b-slide-toggle-inner-gap: .5em;
    --b-slide-toggle-label-before-padding: 0 .5em 0 0;
    --b-slide-toggle-ring-color: var(--b-neutral-60);
    --b-slide-toggle-disabled-background: var(--b-neutral-85);
    --b-slide-toggle-disabled-thumb-background: var(--b-neutral-100);
    --b-slide-toggle-focus-outline-width: var(--b-checkbox-focus-outline-width);
    --b-slide-toggle-focus-outline-offset: var(--b-checkbox-focus-outline-offset);
    --b-slide-toggle-thumb-border: null;
    --b-slide-toggle-checked-thumb-border: null;
    --b-slide-toggle-thumb-color: var(--b-primary);
    --b-slide-toggle-thumb-background: var(--b-neutral-100);
    --b-slide-toggle-hovered-thumb-background: var(--b-neutral-95);
    --b-slide-toggle-checked-thumb-background: var(--b-neutral-100);
    --b-slide-toggle-checked-border-color: var(--b-slide-toggle-checked-background);
    --b-slide-toggle-checked-ring-color: var(--b-primary);
    --b-slide-toggle-checked-thumb-offset: 4px
}

.b-internal {
    --bi-slidetoggle-thumb-position: null
}

.b-slide-toggle {
    --bi-slidetoggle-thumb-position: calc(var(--b-slide-toggle-thumb-offset) + (var(--b-slide-toggle-checked-thumb-size) - var(--b-slide-toggle-thumb-size)) / 2);
    --b-checkbox-inner-gap: var(--b-slide-toggle-inner-gap);
    --b-checkbox-label-before-padding: var(--b-slide-toggle-label-before-padding)
}

    .b-slide-toggle .b-field-inner {
        grid-template-columns: max-content
    }

    .b-slide-toggle input {
        width: 100%;
        height: 100%
    }

        .b-slide-toggle input:checked ~ .b-slide-toggle-toggle {
            --b-slide-toggle-background: var(--b-slide-toggle-checked-background, var(--b-primary));
            --b-slide-toggle-thumb-background: var(--b-slide-toggle-checked-thumb-background);
            --b-slide-toggle-thumb-border: var(--b-slide-toggle-checked-thumb-border);
            --b-slide-toggle-thumb-size: var(--b-slide-toggle-checked-thumb-size);
            --b-slide-toggle-border-color: var(--b-slide-toggle-checked-border-color);
            --b-slide-toggle-ring-color: var(--b-slide-toggle-checked-ring-color);
            --bi-slidetoggle-thumb-position: calc(var(--b-slide-toggle-width) - var(--b-slide-toggle-checked-thumb-size) - var(--b-slide-toggle-checked-thumb-offset))
        }

    .b-slide-toggle:not(.b-disabled):hover,
    .b-slide-toggle:not(.b-disabled).b-hover,
    .b-slide-toggle:not(.b-disabled):focus-within,
    .b-slide-toggle:not(.b-disabled).b-focus,
    .b-slide-toggle:not(.b-disabled).b-active,
    .b-slide-toggle:not(.b-disabled):active {
        --b-slide-toggle-thumb-background: var(--b-slide-toggle-hovered-thumb-background);
        --b-slide-toggle-background: var(--b-slide-toggle-hover-background)
    }

:is(.b-slide-toggle:not(.b-disabled):hover, .b-slide-toggle:not(.b-disabled).b-hover, .b-slide-toggle:not(.b-disabled):focus-within, .b-slide-toggle:not(.b-disabled).b-focus, .b-slide-toggle:not(.b-disabled).b-active, .b-slide-toggle:not(.b-disabled):active) input:checked ~ .b-slide-toggle-toggle {
    --b-slide-toggle-thumb-background: var(--b-slide-toggle-checked-hovered-thumb-background);
    --b-slide-toggle-background: var(--b-slide-toggle-checked-hover-background, var(--b-primary))
}

:is(.b-slide-toggle:not(.b-disabled):focus-within, .b-slide-toggle:not(.b-disabled).b-focus):has(:focus-visible) .b-slide-toggle-toggle,
:is(.b-slide-toggle:not(.b-disabled):focus-within, .b-slide-toggle:not(.b-disabled).b-focus).b-focus .b-slide-toggle-toggle {
    outline: var(--b-slide-toggle-focus-outline-width) solid var(--b-slide-toggle-focus-outline-color, var(--b-checkbox-focus-outline-color));
    outline-offset: var(--b-slide-toggle-focus-outline-offset)
}

.b-slide-toggle.b-disabled {
    --b-slide-toggle-opacity: var(--b-slide-toggle-disabled-opacity);
    --b-slide-toggle-border-color: var(--b-slide-toggle-disabled-border-color);
    --b-slide-toggle-checked-border-color: var(--b-slide-toggle-disabled-border-color)
}

    .b-slide-toggle.b-disabled input:checked ~ .b-slide-toggle-toggle {
        --b-slide-toggle-background: var(--b-slide-toggle-disabled-background);
        --b-slide-toggle-thumb-background: var(--b-slide-toggle-disabled-thumb-background);
        --b-slide-toggle-checked-border-color: var(--b-slide-toggle-disabled-background)
    }

.b-slide-toggle-toggle {
    display: flex;
    align-items: center;
    pointer-events: none;
    grid-area: input;
    transition: background .2s, border .2s, opacity .2s;
    font-size: var(--b-slide-toggle-font-size);
    width: var(--b-slide-toggle-width);
    height: var(--b-slide-toggle-height);
    background: var(--b-slide-toggle-background);
    border: var(--b-slide-toggle-border-width) solid var(--b-slide-toggle-border-color);
    border-radius: var(--b-slide-toggle-border-radius);
    opacity: var(--b-slide-toggle-opacity, 1)
}

.b-slide-toggle-thumb {
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    transition: background .2s ease, width .2s ease, margin .2s ease;
    position: relative;
    background: var(--b-slide-toggle-thumb-background);
    border: var(--b-slide-toggle-thumb-border);
    color: var(--b-slide-toggle-thumb-color);
    width: var(--b-slide-toggle-thumb-size);
    margin-inline-start: var(--bi-slidetoggle-thumb-position)
}

    .b-slide-toggle-thumb:before {
        border-radius: 50%;
        pointer-events: none;
        transition: opacity .5s ease;
        aspect-ratio: 1 / 1;
        display: block;
        position: absolute;
        top: 50%;
        inset-inline-start: 50%;
        translate: calc(-50% * var(--b-rtl-negate)) -50%;
        content: var(--b-checkbox-ring-content);
        background: var(--b-slide-toggle-ring-color);
        opacity: var(--bi-checkbox-ring-opacity);
        width: calc(var(--b-slide-toggle-checked-thumb-size) * 1.7)
    }

.b-date-time-field {
    width: unset;
    --b-text-field-default-width: 22em
}

    .b-date-time-field.b-field > div.b-field-inner {
        display: flex
    }

        .b-date-time-field.b-field > div.b-field-inner:has(.b-field-trigger.b-align-start),
        .b-date-time-field.b-field > div.b-field-inner:has(.b-field-trigger.b-align-end) {
            padding-inline: 0
        }

    .b-date-time-field .b-date-field,
    .b-date-time-field .b-time-field {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        grid-template-areas: "inner";
        grid-template-columns: 1fr;
        --b-text-field-background: transparent
    }

:is(.b-date-time-field .b-date-field, .b-date-time-field .b-time-field) .b-label {
    display: none
}

:is(.b-date-time-field .b-date-field, .b-date-time-field .b-time-field) .b-field-inner:before {
    content: none
}

.b-date-time-field .b-date-field {
    flex: 1 1 53%
}

    .b-date-time-field .b-date-field .b-step-trigger-forward.b-align-end {
        padding-inline-end: calc(var(--b-text-field-input-padding) / 2)
    }

.b-date-time-field .b-time-field {
    flex: 1 1 46%
}

    .b-date-time-field .b-time-field .b-field-trigger.b-align-start {
        padding-inline-start: calc(var(--b-text-field-input-padding) / 2)
    }

:root,
:host {
    --b-text-field-font-weight: normal;
    --b-text-field-padding: 0;
    --b-text-field-input-font-size: var(--b-widget-font-size);
    --b-text-field-input-padding: 0;
    --b-text-field-border-style: solid;
    --b-text-field-focus-border-style: solid;
    --b-text-field-disabled-opacity: .4;
    --b-text-field-outlined-border-radius: var(--b-widget-border-radius);
    --b-field-trigger-gap: .75em;
    --b-field-trigger-edge-gap: 1em;
    --b-text-field-default-template-areas: "before inner";
    --b-text-field-default-template-columns: auto 1fr;
    --b-text-field-default-label-padding: 0 var(--b-widget-padding) 0 0;
    --b-text-field-label-grid-area: before;
    --b-text-field-label-color: var(--b-widget-color);
    --b-text-field-input-color: var(--b-widget-color);
    --b-text-field-border-color: var(--b-widget-border-color);
    --b-text-field-label-above-grid-area: above;
    --b-text-field-label-font-size: var(--b-label-font-size);
    --b-text-field-empty-label-font-size: var(--b-text-field-label-font-size);
    --b-text-field-label-scale: 1;
    --b-text-field-empty-label-scale: 1;
    --b-text-field-trigger-read-only-color: var(--b-neutral-85);
    --b-text-field-trigger-disabled-color: var(--b-neutral-40);
    --b-text-field-filled-background: var(--b-neutral-95);
    --b-text-field-filled-hover-background: var(--b-neutral-90);
    --b-text-field-filled-focus-background: var(--b-neutral-90);
    --b-text-field-filled-border-width: 0;
    --b-text-field-filled-border-radius: var(--b-widget-border-radius);
    --b-text-field-filled-input-padding: 1em;
    --b-text-field-filled-no-label-input-padding: 1em;
    --b-text-field-filled-focus-border-width: 0;
    --b-text-field-filled-focus-label-color: var(--b-widget-color);
    --b-text-field-outlined-background: var(--b-neutral-100);
    --b-text-field-outlined-border-width: 1px;
    --b-text-field-outlined-border-color: var(--b-border-5);
    --b-text-field-outlined-input-padding: var(--b-widget-padding);
    --b-text-field-outlined-focus-border-width: var(--b-widget-focus-outline-width);
    --b-text-field-outlined-label-background: transparent;
    --b-text-field-outlined-label-padding: 0;
    --b-text-field-outlined-label-before-padding: 0;
    --b-text-field-outlined-label-above-padding: 0;
    --b-text-field-outlined-hover-border-color: var(--b-border-4);
    --b-text-field-outlined-hover-background: var(--b-neutral-100);
    --b-text-field-outlined-focus-background: var(--b-neutral-100);
    --b-text-field-outlined-focus-label-color: var(--b-widget-color);
    --b-text-field-filled-material-label-position: static;
    --b-field-trigger-color: var(--b-neutral-60);
    --b-text-field-invalid-border-color: var(--b-color-red);
    --b-text-field-invalid-label-color: var(--b-color-red);
    --b-text-field-color: var(--b-primary);
    --b-text-field-focus-border-color: var(--b-primary);
    --b-text-field-default-width: 12.5em;
    --bi-text-field-input-width: 100%
}

.b-internal {
    --b-text-field-opacity: null;
    --b-text-field-border-width: null;
    --b-text-field-focus-border-width: null;
    --b-text-field-focus-label-color: null;
    --bi-text-field-empty-label-padding: null
}

.b-text-field,
.b-number-field,
.b-date-time-field,
.b-text-area-field {
    position: relative;
    height: fit-content;
    width: fit-content;
    overflow: visible;
    border-radius: var(--b-text-field-border-radius);
    color: var(--b-text-field-color);
    --b-field-label-grid-area: var(--b-text-field-label-grid-area);
    --b-field-label-padding: var(--b-text-field-label-padding);
    --b-field-default-template-areas: var(--b-text-field-default-template-areas);
    --b-field-default-template-columns: var(--b-text-field-default-template-columns);
    --b-field-default-label-padding: var(--b-text-field-default-label-padding);
    --b-label-color: var(--b-text-field-label-color)
}

:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field):where(:not(.b-has-width)) {
    width: var(--b-text-field-default-width)
}

:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field) > .b-field-inner {
    display: flex;
    min-width: 0;
    position: relative;
    overflow: hidden;
    transition: background var(--b-default-transition-duration);
    background: var(--b-text-field-background);
    border-radius: var(--b-text-field-border-radius);
    padding: var(--b-text-field-padding);
    opacity: var(--b-text-field-opacity);
    width: var(--bi-text-field-input-width)
}

    :is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field) > .b-field-inner:before {
        content: "";
        position: absolute;
        inset: 0;
        background: transparent;
        border-radius: inherit;
        pointer-events: none;
        transition: border .1s;
        z-index: 1;
        border-width: var(--b-text-field-border-width);
        border-style: var(--b-text-field-border-style);
        border-color: var(--b-text-field-border-color)
    }

:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field) bry-time,
:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field) input,
:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field) textarea,
:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field) span {
    border: none;
    background: transparent;
    width: 100%;
    font-family: inherit;
    outline: none;
    text-align: inherit;
    color: var(--b-text-field-input-color);
    font-weight: var(--b-text-field-font-weight);
    height: var(--b-text-field-input-height);
    font-size: var(--b-text-field-input-font-size);
    padding: var(--b-text-field-input-padding)
}

:is(:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field) bry-time, :is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field) input, :is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field) textarea, :is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field) span)::selection {
    background: var(--b-text-field-selection-background, var(--b-primary-85))
}

:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field) input::placeholder {
    color: var(--b-text-field-placeholder-color, var(--b-text-4));
    font-style: var(--b-text-field-placeholder-font-style)
}

:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field).b-label-above {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    --b-text-field-placeholder-color: var(--b-text-field-label-above-placeholder-color, var(--b-text-4));
    --b-field-label-grid-area: var(--b-text-field-label-above-grid-area)
}

:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field) label {
    z-index: 2;
    line-height: 1em;
    align-self: start;
    transition: top .2s ease, left .2s ease, font-size .2s ease, padding .2s ease, scale .2s ease;
    transform-origin: top left;
    font-size: var(--b-text-field-label-font-size)
}

:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field):not(.b-label-before, .b-label-align-before) label {
    scale: var(--b-text-field-label-scale);
    position: var(--b-text-field-material-label-position);
    top: var(--b-text-field-material-label-top);
    inset-inline-start: var(--b-text-field-material-label-left);
    cursor: var(--b-text-field-material-label-cursor)
}

:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field) .b-field-trigger {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex: 0 0 auto;
    min-width: 1em;
    gap: 0;
    color: var(--b-field-trigger-color)
}

    :is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field) .b-field-trigger.b-align-start {
        padding-inline-start: var(--b-field-trigger-gap)
    }

        :is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field) .b-field-trigger.b-align-start:first-child {
            padding-inline-start: var(--b-field-trigger-edge-gap)
        }

    :is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field) .b-field-trigger.b-align-end {
        padding-inline-end: var(--b-field-trigger-gap)
    }

        :is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field) .b-field-trigger.b-align-end:last-child,
        :is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field) .b-field-trigger.b-align-end.b-last-trigger {
            padding-inline-end: var(--b-field-trigger-edge-gap)
        }

:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field) .b-field-container-wrap {
    grid-row: 1
}

:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field).b-disabled {
    --b-text-field-opacity: var(--b-text-field-disabled-opacity);
    --b-text-field-label-color: var(--b-widget-disabled-color)
}

    :is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field).b-disabled .b-field-trigger {
        cursor: auto;
        color: var(--b-text-field-trigger-disabled-color)
    }

:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field).b-read-only .b-field-trigger {
    cursor: auto;
    color: var(--b-text-field-trigger-read-only-color)
}

:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field):not(.b-has-label) input,
:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field):not(.b-has-label) span {
    padding: var(--b-text-field-no-label-input-padding, var(--b-text-field-input-padding))
}

:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field).b-text-field-filled {
    --b-text-field-background: var(--b-text-field-filled-background);
    --b-text-field-hover-background: var(--b-text-field-filled-hover-background);
    --b-text-field-border-width: var(--b-text-field-filled-border-width);
    --b-text-field-border-radius: var(--b-text-field-filled-border-radius);
    --b-text-field-input-padding: var(--b-text-field-filled-input-padding);
    --b-text-field-no-label-input-padding: var(--b-text-field-filled-no-label-input-padding);
    --b-text-field-focus-border-width: var(--b-text-field-filled-focus-border-width);
    --b-text-field-label-before-padding: var(--b-text-field-filled-label-before-padding);
    --b-text-field-label-above-padding: var(--b-text-field-filled-label-above-padding);
    --b-text-field-hover-border-color: var(--b-text-field-filled-hover-border-color);
    --b-text-field-focus-background: var(--b-text-field-filled-focus-background);
    --b-text-field-focus-label-color: var(--b-text-field-filled-focus-label-color);
    --b-text-field-material-label-position: var(--b-text-field-filled-material-label-position);
    --b-text-field-material-label-top: var(--b-text-field-filled-material-label-top);
    --b-text-field-material-label-left: var(--b-text-field-filled-material-label-left);
    --b-text-field-material-label-cursor: var(--b-text-field-filled-material-label-cursor);
    --b-text-field-material-empty-label-font-size: var(--b-text-field-filled-material-empty-label-font-size);
    --b-text-field-material-empty-label-top: var(--b-text-field-filled-material-empty-label-top);
    --b-text-field-material-empty-label-left: var(--b-text-field-filled-material-empty-label-left)
}

    :is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field).b-text-field-filled:where(.b-has-start-trigger:not(.b-no-steppers)),
    :is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field).b-text-field-filled:has(.b-has-start-trigger:not(.b-no-steppers)) {
        --b-text-field-material-label-left: var(--b-text-field-filled-material-trigger-label-left);
        --b-text-field-material-empty-label-left: var(--b-text-field-filled-material-trigger-empty-label-left)
    }

:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field).b-text-field-outlined {
    --b-text-field-background: var(--b-text-field-outlined-background);
    --b-text-field-border-radius: var(--b-text-field-outlined-border-radius);
    --b-text-field-border-width: var(--b-text-field-outlined-border-width);
    --b-text-field-border-color: var(--b-text-field-outlined-border-color);
    --b-text-field-input-padding: var(--b-text-field-outlined-input-padding);
    --b-text-field-focus-border-width: var(--b-text-field-outlined-focus-border-width);
    --b-text-field-label-before-padding: var(--b-text-field-outlined-label-before-padding);
    --b-text-field-label-above-padding: var(--b-text-field-outlined-label-above-padding);
    --b-text-field-hover-border-color: var(--b-text-field-outlined-hover-border-color);
    --b-text-field-hover-background: var(--b-text-field-outlined-hover-background);
    --b-text-field-focus-label-color: var(--b-text-field-outlined-focus-label-color);
    --b-text-field-focus-background: var(--b-text-field-outlined-focus-background);
    --b-text-field-material-label-position: var(--b-text-field-outlined-material-label-position, static);
    --b-text-field-material-label-top: var(--b-text-field-outlined-material-label-top);
    --b-text-field-material-label-left: var(--b-text-field-outlined-material-label-left);
    --b-text-field-material-label-cursor: var(--b-text-field-outlined-material-label-cursor);
    --b-text-field-material-empty-label-background: var(--b-text-field-outlined-material-empty-label-background);
    --b-text-field-material-empty-label-top: var(--b-text-field-outlined-material-empty-label-top);
    --b-text-field-material-empty-label-left: var(--b-text-field-outlined-material-empty-label-left)
}

    :is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field).b-text-field-outlined:where(.b-has-start-trigger:not(.b-no-steppers)) {
        --b-text-field-material-empty-label-left: var(--b-text-field-outlined-material-trigger-empty-label-left)
    }

    :is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field).b-text-field-outlined:where(:not(.b-label-before, .b-label-align-before)) {
        --b-text-field-label-padding: var(--b-text-field-outlined-label-padding)
    }

        :is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field).b-text-field-outlined:where(:not(.b-label-before, .b-label-align-before)) label:before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: -1;
            background: var(--b-text-field-outlined-label-background)
        }

:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field):hover:where(:not(.b-disabled)) {
    --b-text-field-background: var(--b-text-field-hover-background);
    --b-text-field-border-color: var(--b-text-field-hover-border-color)
}

:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field):focus-within {
    --b-text-field-background: var(--b-text-field-focus-background);
    --b-text-field-border-width: var(--b-text-field-focus-border-width);
    --b-text-field-border-style: var(--b-text-field-focus-border-style);
    --b-text-field-border-color: var(--b-text-field-focus-border-color)
}

    :is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field):focus-within:not(.b-label-before, .b-label-align-before) {
        --b-text-field-label-color: var(--b-text-field-focus-label-color)
    }

:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field).b-widget.b-empty:not(:focus-within) {
    --b-text-field-label-font-size: var(--b-text-field-empty-label-font-size);
    --b-text-field-label-padding: var(--b-text-field-empty-label-padding);
    --b-text-field-label-scale: var(--b-text-field-empty-label-scale);
    --b-text-field-outlined-label-above-padding: var(--b-text-field-outlined-material-empty-label-padding);
    --b-text-field-label-background: var(--b-text-field-material-empty-label-background);
    --b-text-field-material-label-top: var(--b-text-field-material-empty-label-top);
    --b-text-field-material-label-left: var(--b-text-field-material-empty-label-left);
    --b-text-field-outlined-label-background: var(--b-text-field-outlined-material-empty-label-background)
}

:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field).b-invalid:where(:not(.b-disabled)) {
    --b-text-field-border-color: var(--b-text-field-invalid-border-color);
    --b-text-field-label-color: var(--b-text-field-invalid-label-color);
    --b-text-field-focus-label-color: var(--b-text-field-invalid-label-color)
}

:is(.b-text-field, .b-number-field, .b-date-time-field, .b-text-area-field) .b-field-clear-clone {
    position: absolute;
    animation: b-shrink-width .3s
}

.b-theme-transition .b-text-field .b-field-inner:before {
    transition-duration: var(--b-default-transition-duration)
}

.b-field-hint {
    align-self: stretch;
    overflow: visible;
    pointer-events: none;
    position: relative;
    white-space: nowrap;
    width: 0
}

.b-field-no-hint .b-field-hint {
    display: none
}

.b-field-hint-content {
    position: absolute;
    inset-inline-end: .6em;
    top: 50%;
    translate: 0 -50%;
    color: var(--b-text-field-input-color);
    font-size: var(--b-label-font-size);
    font-weight: var(--b-label-font-weight)
}

.b-container:where(:not(.b-toolbar)) > .b-field,
.b-panel:where(:not(.b-toolbar)) > .b-panel-body-wrap > .b-panel-content > .b-field,
.b-panel:where(:not(.b-toolbar)) > .b-panel-overlay > .b-panel-body-wrap > .b-panel-content > .b-field,
.b-grid-header > .b-field {
    --b-text-field-default-width: 100%
}

@keyframes b-shrink-width {
    0% {
        max-width: 200px
    }

    to {
        max-width: 0
    }
}

:root,
:host {
    --b-combo-filled-chip-view-padding-top: 1.55em;
    --b-combo-filled-label-before-chip-view-padding-top: .5em;
    --b-combo-outlined-chip-view-padding-top: .6em;
    --b-combo-outlined-label-before-chip-view-padding-top: .5em;
    --b-combo-chip-font-size: .9em;
    --b-combo-chip-view-margin-block: 0;
    --b-combo-chip-view-padding: .6em 1em;
    --b-combo-chip-view-min-height: 3em
}

.b-combo [data-ref=expand]:before {
    transition: rotate .2s ease
}

.b-combo.b-open [data-ref=expand]:before {
    rotate: 180deg
}

.b-combo.b-not-editable :not(.b-field-trigger) {
    cursor: pointer
}

.b-combo.b-uses-chip-view .b-field-inner {
    justify-items: start
}

.b-combo.b-uses-chip-view:not(.b-empty) input::placeholder {
    visibility: hidden
}

.b-combo.b-text-field-filled {
    --b-combo-chip-view-padding-top: var(--b-combo-filled-chip-view-padding-top)
}

.b-combo.b-text-field-outlined {
    --b-combo-chip-view-padding-top: var(--b-combo-outlined-chip-view-padding-top)
}

:is(.b-combo.b-label-align-before, .b-combo.b-label-before).b-text-field-filled {
    --b-combo-chip-view-padding-top: var(--b-combo-filled-label-before-chip-view-padding-top)
}

:is(.b-combo.b-label-align-before, .b-combo.b-label-before).b-text-field-outlined {
    --b-combo-chip-view-padding-top: var(--b-combo-outlined-label-before-chip-view-padding-top)
}

:is(.b-combo.b-hide-trigger, .b-combo.b-read-only) .b-field-trigger.b-icon-picker {
    display: none
}

.b-combo-chip-view {
    color: inherit;
    flex: 1;
    align-self: stretch;
    padding-top: var(--b-combo-chip-view-padding-top);
    min-height: var(--b-combo-chip-view-min-height);
    margin-block: var(--b-combo-chip-view-margin-block);
    --b-chip-view-chip-font-size: var(--b-combo-chip-font-size);
    --b-chip-view-padding: var(--b-combo-chip-view-padding)
}

    .b-combo-chip-view.b-chip-view input {
        flex: 1;
        height: auto;
        order: 99999;
        padding: 0;
        align-self: center
    }

.b-combo-picker.b-empty:not(.b-masked)[data-add-new-value]:after {
    content: attr(data-add-new-value);
    display: block;
    cursor: pointer;
    padding: var(--b-list-item-padding);
    color: var(--b-list-item-color)
}

.b-float-root > .b-combo-picker {
    padding: var(--b-menu-padding)
}

:is(.b-color-field, .b-color-box-combo) .b-color-box {
    grid-area: before;
    width: 1.5em;
    flex-shrink: 0;
    transition: color var(--b-default-transition-duration);
    border-radius: var(--b-color-picker-color-border-radius);
    margin-inline: var(--b-widget-padding) 0
}

    :is(.b-color-field, .b-color-box-combo) .b-color-box.b-no-color {
        background: none;
        border: 1px solid var(--b-color-picker-color-no-color-color)
    }

.b-color-box {
    width: 1em;
    aspect-ratio: 1 / 1;
    background: currentColor;
    margin-inline-end: .5em;
    color: var(--b-primary)
}

.b-date-field.b-no-steppers .b-step-trigger {
    display: none
}

:root,
:host {
    --b-date-range-field-gap: .5em
}

.b-date-range-field:not(.b-has-width) {
    width: auto
}

.b-date-range-field .b-field-container-wrap {
    grid-area: inner
}

.b-date-range-field .b-field-container {
    --b-container-gap: var(--b-date-range-field-gap)
}

.b-date-range-field .b-field {
    grid-template-areas: "inner";
    grid-template-columns: 1fr
}

.b-date-range-field .b-start-date {
    width: 13em
}

.b-date-range-field .b-end-date {
    width: 11em;
    --b-field-trigger-gap: 0
}

.b-date-range-field .b-end-time,
.b-date-range-field .b-start-time {
    flex: 7 7 auto
}

.b-date-range-picker .b-start-date,
.b-date-range-picker .b-end-date {
    width: 13em
}

.b-date-range-picker.b-date-range-field-picker .b-end-date {
    width: 11em
}

.b-display-field span {
    display: flex;
    min-width: 10em;
    align-items: center
}

:root,
:host {
    --b-text-area-field-padding: var(--b-widget-padding)
}

.b-text-area-field .b-field-inner {
    height: 100%;
    --b-text-field-input-padding: var(--b-text-area-field-padding)
}

.b-text-area-field textarea {
    font-family: inherit;
    height: 100%;
    min-height: var(--b-text-field-input-height)
}

:root,
:host {
    --b-text-area-picker-field-picker-color: var(--b-neutral-20)
}

.b-text-area-picker-field-picker {
    display: flex;
    min-height: 10em;
    border: none;
    outline: none;
    padding: 1em;
    background: var(--b-text-area-picker-field-picker-background, var(--b-primary-98));
    color: var(--b-text-area-picker-field-picker-color)
}

    .b-text-area-picker-field-picker:focus {
        border-color: var(--b-primary)
    }

.b-time-field bry-time {
    align-items: center;
    --b-time-field-button-background: color-mix(in srgb, currentColor, #fff 85%);
    --b-time-field-input-background: transparent
}

.b-time-field.b-empty .b-field-trigger {
    animation-delay: -300s
}

.b-time-field.b-empty:not(.b-contains-focus) bry-time {
    opacity: 0
}

.b-time-field.b-no-steppers .b-step-trigger {
    display: none
}

.b-time-field .b-step-trigger:before {
    transition: color .3s
}

.b-time-field.b-rtl .b-step-trigger:before {
    transform: scaleX(-1)
}

:root,
:host {
    --b-field-set-border-radius: var(--b-widget-border-radius);
    --b-field-set-border-width: 1px;
    --b-field-set-padding: var(--b-panel-padding);
    --b-field-set-border-color: var(--b-border-3);
    --b-field-set-background: var(--b-neutral-100);
    --b-field-set-label-font-size: .8em
}

.b-field-set {
    position: relative;
    overflow: visible;
    align-items: stretch;
    gap: 0;
    color: var(--b-primary)
}

    .b-field-set:not(.b-radio-group) {
        display: flex
    }

    .b-field-set fieldset {
        background: var(--b-field-set-background);
        border: var(--b-field-set-border-width) solid var(--b-field-set-border-color);
        border-radius: var(--b-field-set-border-radius);
        padding: var(--b-field-set-padding);
        margin: 0
    }

    .b-field-set.b-columns fieldset {
        grid-template-columns: repeat(var(--bi-container-columns), auto)
    }

    .b-field-set:not(:has(.b-inline), .b-label-align-before) > .b-label {
        position: absolute;
        inset-block-start: 0;
        inset-inline-start: 0;
        translate: calc(1em * var(--b-rtl-negate)) -50%;
        padding-inline: .5em;
        z-index: 1;
        line-height: 1em;
        font-size: var(--b-field-set-label-font-size)
    }

        .b-field-set:not(:has(.b-inline), .b-label-align-before) > .b-label:before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: -1;
            clip-path: inset(calc(.5em - var(--b-field-set-border-width)) 0 0 0);
            background: var(--b-field-set-background)
        }

    .b-field-set.b-label-align-before:not(:has(.b-inline)) > .b-label {
        align-self: start
    }

legend.b-field-set-legend {
    position: absolute;
    top: -10000px;
    clip: rect(0, 0, 0, 0)
}

.b-toolbar-content > .b-field-set {
    --b-field-set-background: var(--b-toolbar-background, var(--b-neutral-100))
}

:root,
:host {
    --b-radio-group-gap: var(--b-widget-gap)
}

.b-radio-group {
    width: fit-content;
    --b-field-set-border-width: 0;
    --b-field-set-border-radius: 0;
    --b-field-set-padding: 0;
    --b-field-label-above-gap: 0;
    --b-field-set-background: transparent;
    --b-panel-background: transparent
}

    .b-radio-group:not(:has(.b-inline)) {
        --b-panel-gap: var(--b-radio-group-gap)
    }

        .b-radio-group:not(:has(.b-inline)) .b-radio-group-content {
            width: fit-content
        }

    .b-radio-group:has(.b-inline) {
        overflow: visible
    }

        .b-radio-group:has(.b-inline) > .b-label:not(.b-align-start) {
            scale: var(--b-text-field-label-scale)
        }

        .b-radio-group:has(.b-inline) > div {
            grid-area: inner
        }

        .b-radio-group:has(.b-inline) .b-panel-body-wrap {
            overflow: visible
        }

        .b-radio-group:has(.b-inline) .b-panel-content {
            display: flex;
            flex-direction: row;
            overflow: visible;
            flex-wrap: wrap
        }

    .b-radio-group .b-radio-group-body-wrap,
    .b-radio-group fieldset.b-radio-group-content {
        overflow: visible
    }

    .b-radio-group.b-label-before {
        flex-direction: row;
        gap: var(--b-field-label-before-gap)
    }

    .b-radio-group.b-label-above > .b-label {
        align-self: flex-start;
        margin-bottom: .5em
    }

    .b-radio-group.b-has-label > .b-label {
        position: static;
        translate: none;
        padding-inline: 0;
        font-size: var(--b-label-font-size)
    }

        .b-radio-group.b-has-label > .b-label:before {
            content: none
        }

:root,
:host {
    --b-popup-border-radius: var(--b-widget-border-radius);
    --b-popup-text-popup-width: 25em;
    --b-popup-close-icon-content: "\f00d";
    --b-popup-maximize-icon-content: "\f065";
    --b-popup-padding: var(--b-widget-padding-large);
    --b-popup-background: var(--b-panel-background);
    --b-modal-mask-background: var(--b-mask-background);
    --b-popup-border: null
}

.b-popup.b-panel {
    --b-panel-background: var(--b-popup-background);
    --b-panel-padding: var(--b-popup-padding);
    border: var(--b-popup-border)
}

    .b-popup.b-panel .b-panel {
        --b-panel-background: var(--b-popup-background)
    }

.b-popup {
    border-radius: var(--b-popup-border-radius)
}

    .b-popup .b-panel-body-wrap {
        border-radius: inherit
    }

        .b-popup .b-panel-body-wrap > .b-bottom-toolbar {
            background: transparent
        }

    .b-popup.b-header-dock-top .b-panel-body-wrap {
        border-start-start-radius: 0;
        border-start-end-radius: 0
    }

    .b-popup:where(.b-anchored) {
        overflow: visible
    }

        .b-popup:where(.b-anchored):where(.b-aligned-below),
        .b-popup:where(.b-anchored):where(.b-aligned-above) {
            min-width: 2em
        }

.b-text-popup {
    max-width: var(--b-popup-text-popup-width);
    --b-panel-gap: 0
}

    .b-text-popup .b-popup-content {
        display: flex;
        flex-direction: column
    }

.b-popup-close:before {
    content: var(--b-popup-close-icon-content)
}

.b-popup-expand:before {
    content: var(--b-popup-maximize-icon-content)
}

.b-tooltip-loading .b-icon {
    display: inline-block;
    margin-inline-end: .5em
}

@media (max-width: 480px) {
    .b-popup {
        max-width: 100% !important
    }
}

.b-modal-mask {
    position: fixed;
    inset: 0;
    pointer-events: all;
    z-index: 1;
    background: var(--b-modal-mask-background);
    color: var(--b-modal-mask-color, var(--b-primary))
}

    .b-modal-mask.b-modal-transparent {
        --b-modal-mask-background: transparent
    }

.b-internal {
    --bi-hint-highlight-color: null;
    --bi-hint-highlight-top: null;
    --bi-hint-highlight-left: null;
    --bi-hint-highlight-width: null;
    --bi-hint-highlight-height: null
}

.b-hint code {
    padding: 2px 4px;
    line-height: 1;
    background: var(--b-neutral-80)
}

.b-hint .b-description {
    line-height: 1.7em
}

.b-hint .b-mask {
    --b-mask-background: color-mix(in srgb, var(--b-neutral-70), transparent 90%);
    --b-mask-text-background: transparent;
    --b-elevation-1: none;
    --b-mask-text-color: transparent
}

.b-hint.b-floating {
    width: max-content;
    max-width: 37em;
    transition: top .5s, inset-inline-start .5s
}

    .b-hint.b-floating [data-ref=steps] {
        margin-inline-end: auto
    }

    .b-hint.b-floating.b-no-title .b-hint-header {
        max-height: 0;
        padding: 0
    }

    .b-hint.b-floating.b-no-title .b-popup-close {
        position: absolute;
        inset-block-start: 1em;
        inset-inline-end: 1em
    }

    .b-hint.b-floating.b-no-title .b-hint-content {
        padding-inline-end: 2em;
        padding-bottom: 0
    }

    .b-hint.b-floating,
    .b-hint.b-floating .b-hint-body-wrap {
        border-radius: .5em
    }

        .b-hint.b-floating .b-button {
            height: 2.75em
        }

        .b-hint.b-floating .b-tooltip-header .b-tool {
            position: absolute;
            top: .5em;
            right: .5em
        }

.b-float-root .b-hint-highlighter {
    background-color: transparent;
    pointer-events: none !important;
    transition: left .5s, top .5s, width .5s, height .5s, background-color .7s;
    border-radius: 3px;
    outline: 2px solid var(--bi-hint-highlight-color);
    left: var(--bi-hint-highlight-left);
    top: var(--bi-hint-highlight-top);
    width: var(--bi-hint-highlight-width);
    height: var(--bi-hint-highlight-height)
}

    .b-float-root .b-hint-highlighter.b-hint-highlighter-ping {
        z-index: 99999;
        animation: b-anim-hint-highlighter-ping 1.2s 3 linear
    }

    .b-float-root .b-hint-highlighter.b-hint-highlighter-center {
        background-color: var(--bi-hint-highlight-color);
        border-radius: 50%;
        outline-offset: -2px;
        z-index: -1
    }

    .b-float-root .b-hint-highlighter.b-realigning {
        transition: none !important
    }

@keyframes b-anim-hint-highlighter-ping {
    0% {
        outline-color: var(--bi-hint-highlight-color);
        outline-offset: -2px;
        outline-width: 2px
    }

    70% {
        outline-offset: 20px;
        outline-color: color-mix(in srgb, var(--bi-hint-highlight-color) 40%, transparent 60%);
        outline-width: 10px
    }

    95% {
        outline-offset: 20px;
        outline-color: transparent;
        outline-width: 10px
    }

    96% {
        outline-offset: -2px;
        outline-color: transparent;
        outline-width: 2px
    }

    to {
        outline-offset: -2px;
        outline-color: var(--bi-hint-highlight-color);
        outline-width: 2px
    }
}

.b-modal-mask[owned-by*=b-hint] {
    --bi-hint-highlight-radius: var(--b-widget-border-radius, 0px);
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 0%, var(--bi-hint-highlight-left) var(--bi-hint-highlight-top), var(--bi-hint-highlight-left) calc(var(--bi-hint-highlight-top) + var(--bi-hint-highlight-height)), calc(var(--bi-hint-highlight-left) + var(--bi-hint-highlight-width)) calc(var(--bi-hint-highlight-top) + var(--bi-hint-highlight-height)), calc(var(--bi-hint-highlight-left) + var(--bi-hint-highlight-width)) var(--bi-hint-highlight-top), var(--bi-hint-highlight-left) var(--bi-hint-highlight-top));
    transition: all .5s
}

@supports (clip-path: shape(from 0 0, close)) {
    .b-modal-mask[owned-by*=b-hint] {
        clip-path: shape(evenodd from 0% 0%, line to 100% 0%, line to 100% 100%, line to 0% 100%, line to 0% 0%, line to calc(var(--bi-hint-highlight-left) + var(--bi-hint-highlight-radius)) var(--bi-hint-highlight-top), arc to var(--bi-hint-highlight-left) calc(var(--bi-hint-highlight-top) + var(--bi-hint-highlight-radius)) of var(--bi-hint-highlight-radius), line to var(--bi-hint-highlight-left) calc(var(--bi-hint-highlight-top) + var(--bi-hint-highlight-height) - var(--bi-hint-highlight-radius)), arc to calc(var(--bi-hint-highlight-left) + var(--bi-hint-highlight-radius)) calc(var(--bi-hint-highlight-top) + var(--bi-hint-highlight-height)) of var(--bi-hint-highlight-radius), line to calc(var(--bi-hint-highlight-left) + var(--bi-hint-highlight-width) - var(--bi-hint-highlight-radius)) calc(var(--bi-hint-highlight-top) + var(--bi-hint-highlight-height)), arc to calc(var(--bi-hint-highlight-left) + var(--bi-hint-highlight-width)) calc(var(--bi-hint-highlight-top) + var(--bi-hint-highlight-height) - var(--bi-hint-highlight-radius)) of var(--bi-hint-highlight-radius), line to calc(var(--bi-hint-highlight-left) + var(--bi-hint-highlight-width)) calc(var(--bi-hint-highlight-top) + var(--bi-hint-highlight-radius)), arc to calc(var(--bi-hint-highlight-left) + var(--bi-hint-highlight-width) - var(--bi-hint-highlight-radius)) var(--bi-hint-highlight-top) of var(--bi-hint-highlight-radius), line to calc(var(--bi-hint-highlight-left) + var(--bi-hint-highlight-radius)) var(--bi-hint-highlight-top), line to 0% 0%)
    }
}

:root,
:host {
    --b-menu-border-radius: var(--b-widget-border-radius);
    --b-menu-background: var(--b-panel-background);
    --b-menu-padding: 0
}

.b-menu.b-popup {
    min-height: 2em;
    user-select: none;
    -webkit-user-select: none;
    background: var(--b-menu-background);
    --b-panel-padding: var(--b-menu-padding);
    --b-popup-border-radius: var(--b-menu-border-radius)
}

    .b-menu.b-popup .b-menu-body-wrap {
        border-radius: 0
    }

.b-menu-content {
    gap: 0
}

    .b-menu-content > :not(.b-menu-item) {
        margin: 1em
    }

.b-menu-custom-content {
    display: flex
}

.b-menu-with-submenu .b-menu-item:not(.b-has-submenu) {
    --bi-menu-item-margin-inline-end: 2em
}

:root,
:host {
    --b-message-dialog-min-width: 20em;
    --b-message-dialog-button-min-width: 6.5em;
    --bi-messagedialog-display: none
}

.b-message-dialog {
    user-select: none;
    -webkit-user-select: none;
    min-width: var(--b-message-dialog-min-width)
}

    .b-message-dialog .b-button {
        min-width: var(--b-message-dialog-button-min-width)
    }

    .b-message-dialog .b-message-dialog-input,
    .b-message-dialog .b-message-dialog-ok-button,
    .b-message-dialog .b-message-dialog-cancel-button {
        display: var(--bi-messagedialog-display)
    }

:is(.b-message-dialog.b-message-dialog-prompt, .b-message-dialog.b-message-dialog-confirm) .b-message-dialog-ok-button,
:is(.b-message-dialog.b-message-dialog-prompt, .b-message-dialog.b-message-dialog-confirm) .b-message-dialog-cancel-button {
    --bi-messagedialog-display: flex
}

.b-message-dialog.b-message-dialog-prompt .b-message-dialog-input,
.b-message-dialog.b-message-dialog-alert .b-message-dialog-ok-button {
    --bi-messagedialog-display: flex
}

.b-message-dialog .b-message-dialog-message {
    display: block
}

:root,
:host {
    --b-tooltip-plain-padding: .5em;
    --b-tooltip-rich-padding: var(--b-widget-padding);
    --b-tooltip-rich-border-radius: var(--b-widget-border-radius-large);
    --b-tooltip-plain-font-size: .9em;
    --b-tooltip-text-gap: 1em;
    --b-tooltip-flex-direction: column;
    --b-tooltip-align-items: flex-start;
    --b-tooltip-content-display: flex;
    --b-tooltip-plain-color: var(--b-widget-color);
    --b-tooltip-rich-color: var(--b-widget-color);
    --b-tooltip-rich-background: var(--b-neutral-100)
}

.b-tooltip.b-popup {
    color: var(--b-primary)
}

    .b-tooltip.b-popup:not(.b-allow-over) {
        user-select: none;
        -webkit-user-select: none
    }

    .b-tooltip.b-popup.b-plain-tooltip {
        --b-popup-background: var(--b-tooltip-plain-background, var(--b-neutral-100));
        --b-panel-padding: var(--b-tooltip-plain-padding);
        --b-tooltip-color: var(--b-tooltip-plain-color);
        --b-widget-font-size: var(--b-tooltip-plain-font-size);
        --b-popup-border-radius: var(--b-widget-border-radius)
    }

        .b-tooltip.b-popup.b-plain-tooltip .b-tooltip-content {
            display: block;
            text-align: center
        }

.b-rich-tooltip {
    --b-popup-background: var(--b-tooltip-rich-background);
    --b-tooltip-color: var(--b-tooltip-rich-color);
    --b-panel-padding: var(--b-tooltip-rich-padding);
    --b-popup-border-radius: var(--b-tooltip-rich-border-radius)
}

    .b-rich-tooltip .b-tooltip-content {
        flex-wrap: wrap;
        display: var(--b-tooltip-content-display);
        flex-direction: var(--b-tooltip-flex-direction);
        align-items: var(--b-tooltip-align-items)
    }

.b-tooltip-content {
    color: var(--b-tooltip-color)
}

    .b-tooltip-content:where(.b-text-content) {
        --b-panel-gap: var(--b-tooltip-text-gap)
    }

        .b-tooltip-content:where(.b-text-content) > * {
            margin-block: 0
        }

:root,
:host {
    --b-year-picker-gap: .5em;
    --b-year-picker-padding: var(--b-year-picker-gap);
    --b-year-picker-title-font-weight: 600;
    --b-year-picker-year-font-weight: var(--b-widget-font-weight);
    --b-year-picker-year-color: var(--b-neutral-30)
}

.b-month-picker-body-wrap,
.b-year-picker-body-wrap {
    height: 100%
}

.b-month-picker-content,
.b-year-picker-content {
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: auto;
    place-items: center;
    height: 100%;
    gap: var(--b-year-picker-gap);
    padding: var(--b-year-picker-padding)
}

:is(.b-month-picker-content, .b-year-picker-content) .b-button {
    width: 100%;
    padding: .5em 0;
    --b-button-font-weight: var(--b-year-picker-year-font-weight);
    --b-button-color: var(--b-year-picker-year-color);
    --b-button-hover-background: var(--b-year-picker-hover-background, var(--b-date-picker-date-hover-background, var(--b-primary-95)))
}

    :is(.b-month-picker-content, .b-year-picker-content) .b-button.b-selected {
        --b-button-background: var(--b-year-picker-selected-background, var(--b-date-picker-selected-background, var(--b-primary-90)));
        --b-button-color: var(--b-year-picker-selected-color);
        --b-button-font-weight: var(--b-year-picker-title-font-weight)
    }

.b-month-picker-title,
.b-year-picker-title {
    flex: 1;
    background: transparent;
    font-weight: var(--b-year-picker-title-font-weight)
}

:is(.b-month-picker-title, .b-year-picker-title) label {
    font-size: 1.1em
}

.b-time-picker {
    max-height: 39em
}

    .b-time-picker .b-list {
        background-color: transparent;
        align-items: center;
        scroll-snap-type: block
    }

.b-time-picker-item {
    aspect-ratio: 1;
    flex-shrink: 0;
    width: 3em;
    scroll-snap-align: start;
    display: grid;
    place-content: center;
    cursor: pointer;
    border-radius: var(--b-widget-border-radius)
}

    .b-time-picker-item:hover,
    .b-time-picker-item[aria-selected=true] {
        outline: var(--b-widget-focus-outline-width) solid var(--b-widget-focus-outline-color);
        outline-offset: calc(var(--b-widget-focus-outline-width) * -1)
    }

.b-time-picker-content {
    justify-content: center
}

:root,
:host {
    --b-toolbar-gap: var(--b-widget-gap);
    --b-toolbar-padding: var(--b-widget-padding);
    --b-toolbar-separator-height: 70%;
    --b-toolbar-justify-content: flex-start;
    --b-toolbar-background: var(--b-panel-background);
    --b-toolbar-separator-color: var(--b-neutral-50)
}

.b-toolbar {
    display: flex;
    flex-direction: row;
    gap: 0;
    overflow: hidden;
    flex-shrink: 0;
    transition: background-color .2s;
    background: var(--b-toolbar-background)
}

    .b-toolbar.b-dock-left,
    .b-toolbar.b-dock-right {
        flex-direction: column;
        --bi-toolbar-min-width: var(--b-toolbar-min-size, unset)
    }

    .b-toolbar.b-dock-top,
    .b-toolbar.b-dock-bottom {
        align-items: center;
        flex-wrap: nowrap;
        --bi-toolbar-min-height: var(--b-toolbar-min-size, unset)
    }

:is(.b-toolbar.b-dock-top, .b-toolbar.b-dock-bottom) .b-box-center.b-toolbar-content > .b-button {
    height: 100%;
    min-height: var(--b-button-height)
}

.b-toolbar .b-overflow-button {
    margin: var(--b-toolbar-padding)
}

.b-toolbar .b-box-center.b-toolbar-content,
.b-toolbar .b-html {
    align-items: center
}

.b-box-center.b-toolbar-content {
    flex: 1;
    overflow: hidden;
    gap: var(--b-toolbar-gap);
    padding: var(--b-toolbar-padding);
    min-height: var(--bi-toolbar-min-height);
    min-width: var(--bi-toolbar-min-width);
    justify-content: var(--b-toolbar-justify-content)
}

.b-toolbar-separator {
    border-inline-end: 1px solid var(--b-toolbar-separator-color);
    height: var(--b-toolbar-separator-height)
}

.b-toolbar-fill {
    flex: 1
}

.b-toolbar-overflow-menu > .b-panel-body-wrap > .b-menu-content .b-widget {
    flex: 0 0 auto !important;
    width: auto
}

.b-confirmation-bar {
    --b-toolbar-justify-content: flex-end
}

.b-paging-toolbar [data-ref=pageNumber] {
    width: auto
}

    .b-paging-toolbar [data-ref=pageNumber] .b-field-inner {
        width: 3.5em
    }

    .b-paging-toolbar [data-ref=pageNumber] input {
        text-align: center
    }

:root,
:host {
    --b-tab-bar-border-bottom-width: 1px;
    --b-tab-bar-border-bottom-color: var(--b-border-6);
    --b-tab-bar-background: transparent;
    --b-tab-bar-padding: 0
}

.b-tab-bar {
    transition: border var(--b-default-transition-duration), background var(--b-default-transition-duration);
    border-bottom: var(--b-tab-bar-border-bottom-width) solid var(--b-tab-bar-border-bottom-color);
    --b-toolbar-gap: 0;
    --b-toolbar-padding: var(--b-tab-bar-padding);
    --b-toolbar-background: var(--b-tab-bar-background)
}

.demo-header {
    display: flex;
    padding-inline: .7em 0;
    padding-block: 0;
    flex: 0 0 auto;
    background: var(--b-demo-header-background);
    border-bottom: 1px solid var(--b-border-6);
    transition: background-color var(--b-default-transition-duration), padding var(--b-default-transition-duration), font-size .1s, border-color var(--b-default-transition-duration)
}

    .demo-header a {
        text-decoration: none
    }

    .demo-header .b-icon {
        font-size: 1.1em
    }

    .demo-header .title {
        margin-inline-end: auto;
        display: flex;
        align-items: center;
        white-space: nowrap;
        color: var(--b-text-1)
    }

        .demo-header .title:focus-visible {
            outline-offset: var(--b-button-focus-outline-offset);
            outline: var(--b-button-focus-outline-width) solid var(--b-widget-focus-outline-color);
            border-radius: var(--b-widget-border-radius)
        }

        .demo-header .title h1 {
            display: flex;
            align-items: center;
            margin: 0;
            font-weight: 600;
            font-size: 1.1em
        }

        .demo-header .title svg {
            margin-inline-end: .75em;
            height: 2em;
            width: 2em;
            background: #0076f8;
            padding-inline-end: .2em;
            border-radius: 5px
        }

            .demo-header .title svg g {
                fill: #fff
            }

    .demo-header .b-toolbar {
        font-size: .9em;
        --b-toolbar-padding: .7em;
        --b-toolbar-background: transparent
    }

:root,
:host {
    --b-histogram-bar-border-width: null;
    --b-histogram-bar0-border-width: null;
    --b-histogram-bar1-border-width: null;
    --b-histogram-bar2-border-width: null;
    --b-histogram-bar3-border-width: null;
    --b-histogram-bar4-border-width: null;
    --b-histogram-bar5-border-width: null;
    --b-histogram-transition-duration: .3s;
    --b-histogram-bar-legend-font-size: .8em;
    --b-histogram-bar-color: var(--b-color-green);
    --b-histogram-bar-border-color: null;
    --b-histogram-bar0-color: var(--b-color-green);
    --b-histogram-bar0-border-color: null;
    --b-histogram-bar1-color: var(--b-color-blue);
    --b-histogram-bar1-border-color: null;
    --b-histogram-bar2-color: var(--b-color-indigo);
    --b-histogram-bar2-border-color: null;
    --b-histogram-bar3-color: var(--b-color-teal);
    --b-histogram-bar3-border-color: null;
    --b-histogram-bar4-color: var(--b-color-orange);
    --b-histogram-bar4-border-color: null;
    --b-histogram-bar5-color: var(--b-color-lime);
    --b-histogram-bar5-border-color: null;
    --b-histogram-exceeds-top-bar-color: var(--b-color-red);
    --b-histogram-outline-color: #f99
}

.b-histogram {
    background-color: #fff;
    padding: 1px;
    contain: strict
}

    .b-histogram svg * {
        vector-effect: non-scaling-stroke
    }

    .b-histogram rect {
        fill: var(--b-histogram-bar-color);
        stroke-width: var(--b-histogram-bar-border-width);
        stroke: var(--b-histogram-bar-border-color);
        transition-property: x, y, width, height, fill;
        transition-duration: var(--b-histogram-transition-duration)
    }

        .b-histogram rect.b-series-index-0 {
            fill: var(--b-histogram-bar0-color);
            stroke-width: var(--b-histogram-bar0-border-width);
            stroke: var(--b-histogram-bar0-border-color)
        }

        .b-histogram rect.b-series-index-1 {
            fill: var(--b-histogram-bar1-color);
            stroke-width: var(--b-histogram-bar1-border-width);
            stroke: var(--b-histogram-bar1-border-color)
        }

        .b-histogram rect.b-series-index-2 {
            fill: var(--b-histogram-bar2-color);
            stroke-width: var(--b-histogram-bar2-border-width);
            stroke: var(--b-histogram-bar2-border-color)
        }

        .b-histogram rect.b-series-index-3 {
            fill: var(--b-histogram-bar3-color);
            stroke-width: var(--b-histogram-bar3-border-width);
            stroke: var(--b-histogram-bar3-border-color)
        }

        .b-histogram rect.b-series-index-4 {
            fill: var(--b-histogram-bar4-color);
            stroke-width: var(--b-histogram-bar4-border-width);
            stroke: var(--b-histogram-bar4-border-color)
        }

        .b-histogram rect.b-series-index-5 {
            fill: var(--b-histogram-bar5-color);
            stroke-width: var(--b-histogram-bar5-border-width);
            stroke: var(--b-histogram-bar5-border-color)
        }

        .b-histogram rect.b-exceeds-top {
            fill: var(--b-histogram-exceeds-top-bar-color)
        }

    .b-histogram text.b-bar-legend {
        writing-mode: tb;
        text-anchor: end;
        font-size: var(--b-histogram-bar-legend-font-size);
        pointer-events: none
    }

    .b-histogram svg {
        overflow: visible
    }

    .b-histogram path {
        fill: transparent;
        stroke: var(--b-histogram-outline-color);
        transition: d var(--b-histogram-transition-duration);
        pointer-events: none
    }

:root,
:host {
    --b-scale-line-color: var(--b-neutral-60);
    --b-scale-label-color: var(--b-neutral-30)
}

.b-scale {
    contain: strict
}

    .b-scale svg * {
        vector-effect: non-scaling-stroke
    }

    .b-scale.b-scale-vertical text.b-scale-tick-label {
        translate: 0 .3em
    }

    .b-scale.b-scale-vertical.b-align-right {
        text-anchor: end
    }

    .b-scale.b-scale-horizontal text.b-scale-tick-label {
        text-anchor: middle
    }

    .b-scale path {
        stroke: var(--b-scale-line-color);
        pointer-events: none
    }

    .b-scale text {
        fill: var(--b-scale-label-color)
    }

:root,
:host {
    --b-label-font-size: var(--b-widget-font-size);
    --b-label-font-weight: 400;
    --b-label-disabled-color: var(--b-neutral-50)
}

.b-label {
    white-space: nowrap;
    align-items: center;
    transition: color var(--b-default-transition-duration);
    color: var(--b-label-color);
    font-size: var(--b-label-font-size);
    font-weight: var(--b-label-font-weight)
}

.b-disabled > .b-label {
    --b-label-color: var(--b-label-disabled-color)
}

.b-hbox,
.b-vbox {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    position: relative
}

:is(.b-hbox, .b-vbox) > .b-box-center {
    flex: 1 1 auto;
    overflow: hidden
}

.b-hbox {
    flex-flow: row nowrap
}

.b-vbox {
    flex-flow: column nowrap
}

.b-box-justify-stretch {
    justify-content: stretch
}

:root,
:host {
    --bi-card-margin: 1em
}

.b-card-container {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    overflow: hidden;
    padding: 0;
    position: relative
}

    .b-card-container.b-animating {
        overflow: hidden
    }

    .b-card-container > .b-card-item {
        flex: 1 0 100%;
        align-items: stretch;
        max-width: 100%
    }

    .b-card-container.b-hide-child-headers > .b-panel:not(.b-positioned) > .b-panel-header {
        display: none
    }

.b-slide-in-left {
    animation: b-anim-card-slide-in-left .3s ease 0s 1
}

.b-slide-out-right {
    pointer-events: none;
    left: var(--bi-card-margin);
    animation: b-anim-card-slide-out-right .3s ease 0s 1
}

.b-slide-in-right {
    animation: b-anim-card-slide-in-right .3s ease 0s 1
}

.b-slide-out-left {
    pointer-events: none;
    margin-inline-start: calc(var(--bi-card-margin) * -1);
    margin-inline-end: var(--bi-card-margin);
    animation: b-anim-card-slide-out-left .3s ease 0s 1
}

@keyframes b-anim-card-slide-in-left {
    0% {
        translate: -100% 0
    }

    to {
        translate: 0
    }
}

@keyframes b-anim-card-slide-out-right {
    0% {
        translate: -100% 0
    }

    to {
        translate: 0
    }
}

@keyframes b-anim-card-slide-in-right {
    0% {
        translate: 0
    }

    to {
        translate: -100% 0
    }
}

@keyframes b-anim-card-slide-out-left {
    0% {
        translate: 0
    }

    to {
        translate: -100% 0
    }
}

.b-fit-container {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    overflow: hidden;
    position: relative
}

    .b-fit-container > .b-fit-item {
        flex: 1 0 auto;
        margin: 0;
        max-width: 100%;
        align-self: stretch !important
    }

:root,
:host {
    --b-list-multi-select-gap: 0;
    --b-list-item-gap: .75em;
    --b-list-item-padding: .75em;
    --b-list-multi-select-item-padding: var(--b-list-item-padding);
    --b-list-item-border-radius: 0;
    --b-list-item-group-padding: .75em .75em .75em 2em;
    --b-list-selected-icon-size: 1.25em;
    --b-list-selected-icon-content: var(--b-checkbox-checked-check-content);
    --b-list-checkbox-checked-check-color: var(--b-text-5);
    --b-list-item-group-header-font-weight: calc(var(--b-widget-font-weight) + 200);
    --b-list-background: transparent;
    --b-list-title-background: var(--b-neutral-100);
    --b-list-item-color: var(--b-widget-color);
    --b-list-title-font-weight: 500
}

.b-list {
    display: flex;
    flex-direction: column;
    padding: 0;
    margin: 0;
    background: var(--b-list-background);
    border-radius: var(--b-list-border-radius)
}

    .b-list.b-floating {
        --b-list-border-radius: var(--b-widget-border-radius);
        --b-list-background: var(--b-list-floating-background, var(--b-primary-100))
    }

    .b-list .b-empty-text {
        pointer-events: none
    }

    .b-list .b-select-all-item {
        position: sticky;
        top: 0;
        z-index: 1;
        background: var(--b-list-title-background);
        font-weight: var(--b-list-title-font-weight)
    }

:has(.b-list-title) > :is(.b-list .b-select-all-item) {
    top: 2em
}

.b-list.b-multi-select {
    gap: var(--b-list-multi-select-gap)
}

.b-list-item {
    display: flex;
    cursor: pointer;
    overflow: clip;
    user-select: none;
    -webkit-user-select: none;
    flex-shrink: 0;
    background: var(--b-list-item-background);
    color: var(--b-list-item-color);
    font-weight: var(--b-list-item-font-weight);
    padding: var(--b-list-item-padding);
    border-radius: var(--b-list-item-border-radius)
}

    .b-list-item .b-selected-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all .2s;
        width: var(--b-list-selected-icon-size);
        height: var(--b-list-selected-icon-size);
        border-radius: var(--b-checkbox-border-radius);
        border: var(--b-checkbox-border-width) solid var(--b-checkbox-border-color);
        background: var(--b-checkbox-background)
    }

        .b-list-item .b-selected-icon:before {
            transition: scale .2s ease;
            scale: 0;
            content: var(--b-checkbox-checked-check-content);
            color: var(--b-list-checkbox-checked-check-color);
            font-size: var(--b-checkbox-check-font-size)
        }

.b-multi-select > .b-list-item {
    padding: var(--b-list-multi-select-item-padding)
}

    .b-multi-select > .b-list-item.b-selected {
        --b-checkbox-background: var(--b-list-checkbox-checked-background);
        --b-checkbox-border-color: var(--b-list-checkbox-checked-border-color, var(--b-list-checkbox-checked-background))
    }

        .b-multi-select > .b-list-item.b-selected .b-selected-icon:before {
            scale: 1
        }

.b-list-item:focus {
    outline: none
}

.b-list-item.b-list-item-group-header {
    --b-list-item-font-weight: var(--b-list-item-group-header-font-weight)
}

.b-list-item.b-out-of-view:before {
    content: "..."
}

.b-grouped > .b-list-item:not(.b-list-item-group-header) {
    --b-list-item-padding: var(--b-list-item-group-padding)
}

:is(.b-list-item :not(.b-multi-select), .b-combo-picker>.b-list-item).b-selected {
    --b-list-item-background: var(--b-list-item-selected-background, var(--b-primary-95))
}

:is(.b-list-item.b-active, .b-list-item:focus-visible),
.b-combo-picker > :is(.b-list-item.b-active, .b-list-item:focus-visible) {
    --b-list-item-background: var(--b-list-item-focus-background, var(--b-primary-85))
}

.b-list-title {
    position: sticky;
    top: 0;
    z-index: 1;
    font-weight: var(--b-list-title-font-weight);
    background: var(--b-list-title-background)
}

.b-list-expander-icon {
    pointer-events: all;
    width: 1.1em;
    height: 1em
}

.b-list-item-content {
    display: flex;
    align-items: center;
    flex: 1;
    gap: var(--b-list-item-gap)
}

:root,
:host {
    --b-chip-view-gap: .25em;
    --b-chip-view-padding: 0;
    --b-chip-view-chip-border-radius: 1.5em;
    --b-chip-view-chip-border-width: 1px;
    --b-chip-view-chip-font-size: 1em;
    --b-chip-view-chip-gap: .5em;
    --b-chip-view-chip-padding-block: .25em;
    --b-chip-view-chip-padding-inline: .75em;
    --b-chip-view-chip-border-color: transparent;
    --b-chip-view-chip-color: var(--b-neutral-20)
}

.b-chip-view {
    display: flex;
    flex-flow: row wrap;
    background: transparent;
    align-items: center;
    --b-list-multi-select-gap: var(--b-chip-view-gap);
    padding: var(--b-chip-view-padding)
}

    .b-chip-view.b-transitioning-height {
        transition: height .2s ease-in-out
    }

    .b-chip-view.b-adding-item.b-prevent-scroll {
        overflow: clip !important
    }

.b-chip {
    display: flex;
    cursor: pointer;
    outline: none;
    overflow: clip;
    opacity: 1;
    transition: opacity .2s linear, translate .2s ease-in, max-width .2s, background .2s;
    translate: 0 0;
    max-width: 15em;
    align-items: center;
    line-height: 1.2em;
    border: var(--b-chip-view-chip-border-width) solid var(--b-chip-view-chip-border-color);
    background: var(--b-chip-view-chip-background, var(--b-primary-90));
    font-size: var(--b-chip-view-chip-font-size);
    border-radius: var(--b-chip-view-chip-border-radius);
    padding-block: var(--b-chip-view-chip-padding-block);
    padding-inline: var(--b-chip-view-chip-padding-inline)
}

    .b-chip:hover {
        --b-chip-view-chip-background: var(--b-chip-view-chip-hover-background, var(--b-primary-85))
    }

    .b-chip.b-selected {
        --b-chip-view-chip-background: var(--b-chip-view-chip-selected-background, var(--b-primary-75))
    }

    .b-chip.b-active {
        --b-chip-view-chip-background: var(--b-chip-view-chip-active-background, var(--b-primary-85))
    }

    .b-chip.b-selected.b-active {
        --b-chip-view-chip-background: var(--b-chip-view-chip-active-selected-background, var(--b-primary-75))
    }

    .b-chip:focus-visible {
        --b-chip-view-chip-border-color: var(--b-chip-view-chip-focus-border-color, var(--b-primary-35))
    }

    .b-chip.b-removing.b-anim-collapse {
        transition: opacity .2s linear, max-width .2s ease-out;
        opacity: 0;
        max-width: 0
    }

    .b-chip.b-adding.b-anim-slide-up {
        opacity: 0;
        translate: 0 1em
    }

    .b-chip.b-adding.b-anim-expand {
        max-width: 0;
        opacity: 0
    }

.b-chip-content {
    display: flex;
    overflow: clip;
    white-space: nowrap;
    align-items: center;
    gap: var(--b-chip-view-chip-gap);
    color: var(--b-chip-view-chip-color)
}

:root,
:host {
    --b-color-picker-color-border-radius: var(--b-widget-border-radius);
    --b-color-picker-color-outline-width: 2px;
    --b-color-picker-color-outline: var(--b-color-picker-color-outline-width) solid currentColor;
    --b-color-picker-color-hover-outline: var(--b-color-picker-color-outline-width) solid currentColor;
    --b-color-picker-color-active-outline: var(--b-color-picker-color-outline-width) solid color-mix(in oklab, currentColor, transparent 50%);
    --b-color-picker-color-outline-offset: 2px;
    --b-color-picker-color-size: 2em;
    --b-color-picker-gap: .8em;
    --b-color-picker-padding: var(--b-widget-padding);
    --b-color-picker-color-no-color-color: #ccc;
    --b-color-picker-columns: 5
}

.b-color-picker {
    display: grid;
    overflow: visible;
    --b-menu-padding: var(--b-color-picker-padding);
    grid-gap: var(--b-color-picker-gap);
    grid-template-columns: repeat(var(--b-color-picker-columns), 1fr);
    --b-list-background: transparent
}

    .b-color-picker.b-combo-picker,
    .b-color-picker.b-color-column-picker {
        grid-template-columns: repeat(auto-fill, minmax(var(--b-color-picker-color-size), 1fr));
        min-width: calc(var(--b-color-picker-color-size) * 4 + var(--b-color-picker-gap) * 3)
    }

:is(.b-color-picker.b-combo-picker, .b-color-picker.b-color-column-picker) .b-color-picker-swatch {
    width: 100%
}

.b-color-picker-swatch {
    display: grid;
    aspect-ratio: 1 / 1;
    cursor: pointer;
    background-color: currentColor;
    position: relative;
    place-items: center;
    overflow: clip;
    outline-offset: calc(var(--b-color-picker-color-outline-width) * -1);
    transition: outline-offset .2s;
    outline: var(--b-color-picker-color-hover-outline);
    border-radius: var(--b-color-picker-color-border-radius);
    color: var(--b-primary);
    width: var(--b-color-picker-color-size)
}

    .b-color-picker-swatch.b-color-active {
        outline: var(--b-color-picker-color-active-outline);
        outline-offset: var(--b-color-picker-color-outline-offset)
    }

    .b-color-picker-swatch.b-selected,
    .b-color-picker-swatch:hover {
        outline: var(--b-color-picker-color-hover-outline);
        outline-offset: var(--b-color-picker-color-outline-offset)
    }

    .b-color-picker-swatch.b-no-color {
        background-color: transparent;
        border: 1px solid currentColor;
        color: var(--b-color-picker-color-no-color-color)
    }

        .b-color-picker-swatch.b-no-color:before {
            content: "";
            position: absolute;
            height: 300%;
            border-inline-end: 1px solid currentColor;
            rotate: 135deg
        }

:root,
:host {
    --b-mask-border-radius: var(--b-widget-border-radius);
    --b-mask-padding: var(--b-widget-padding);
    --b-mask-text-background: var(--b-popup-background, var(--b-neutral-100));
    --b-mask-progress-height: .25em;
    --b-mask-background: color-mix(in srgb, var(--b-neutral-0), transparent 85%);
    --b-mask-text-color: var(--b-widget-color);
    --b-mask-progress-color: color-mix(in srgb, var(--b-mask-text-color), transparent 30%);
    --b-mask-color: var(--b-primary);
    --b-mask-transition-duration: .5s
}

.b-mask {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    z-index: 100;
    opacity: 1;
    background: var(--b-mask-background);
    color: var(--b-mask-color);
    transition: opacity var(--b-mask-transition-duration)
}

    .b-mask.b-delayed-show {
        opacity: 0
    }

@starting-style {
    .b-mask {
        opacity: 0
    }
}

.b-mask-rendition-text {
    --b-mask-color: transparent;
    --b-mask-text-color: var(--b-text-2)
}

    .b-mask-rendition-text .b-mask-content {
        box-shadow: none
    }

.b-mask-content {
    position: relative;
    overflow: hidden;
    background: var(--b-mask-text-background);
    box-shadow: var(--b-elevation-1);
    border-radius: var(--b-mask-border-radius)
}

.b-mask-progress-bar {
    height: var(--b-mask-progress-height);
    background: var(--b-mask-progress-color)
}

.b-mask-text {
    display: flex;
    gap: .5em;
    user-select: none;
    -webkit-user-select: none;
    align-items: center;
    color: var(--b-mask-text-color);
    padding: var(--b-mask-padding)
}

.b-masked {
    position: relative
}

:root,
:host {
    --b-menu-item-gap: var(--b-widget-gap);
    --b-menu-item-icon-width: 1em;
    --b-menu-item-min-width: 12em;
    --b-menu-item-padding: var(--b-widget-padding);
    --b-menu-item-font-weight: var(--b-widget-font-weight);
    --b-menu-item-separator-border-color: var(--b-border-6);
    --b-menu-item-color: var(--b-widget-color);
    --b-menu-item-icon-color: var(--b-menu-item-color);
    --b-menu-item-disabled-color: var(--b-widget-disabled-color);
    --b-menu-item-disabled-icon-color: var(--b-neutral-70);
    --b-menu-item-background: transparent;
    --b-menu-item-hover-color: var(--b-widget-color);
    --b-menu-item-focus-color: var(--b-widget-color);
    --b-menu-item-hover-icon-color: var(--b-widget-color);
    --b-menu-item-focus-icon-color: var(--b-widget-color);
    --b-menu-item-border-radius: null;
    --b-menu-item-separator-height: 1px
}

.b-menu-item {
    display: flex;
    align-items: center;
    outline: none;
    overflow: clip;
    flex-shrink: 0;
    background: var(--b-menu-item-background);
    border-radius: var(--b-menu-item-border-radius);
    color: var(--b-menu-item-color);
    font-weight: var(--b-menu-item-font-weight);
    gap: var(--b-menu-item-gap);
    min-width: var(--b-menu-item-min-width);
    padding: var(--b-menu-item-padding)
}

    .b-menu-item.b-separator:not(.b-first-visible-child) {
        overflow: visible;
        margin-top: calc(var(--b-menu-item-separator-height) * 2 - 1px)
    }

        .b-menu-item.b-separator:not(.b-first-visible-child):before {
            content: "";
            display: block;
            position: absolute;
            inset-inline: 0;
            top: calc(var(--b-menu-item-separator-height) * -1);
            border-top: 1px solid var(--b-menu-item-separator-border-color)
        }

    .b-menu-item:not(.b-disabled) {
        cursor: pointer
    }

        .b-menu-item:not(.b-disabled):hover {
            --b-menu-item-color: var(--b-menu-item-hover-color);
            --b-menu-item-background: var(--b-menu-item-hover-background, var(--b-primary-90));
            --b-menu-item-icon-color: var(--b-menu-item-hover-icon-color)
        }

        .b-menu-item:not(.b-disabled):focus-within {
            --b-menu-item-color: var(--b-menu-item-focus-color);
            --b-menu-item-background: var(--b-menu-item-focus-background, var(--b-primary-90));
            --b-menu-item-icon-color: var(--b-menu-item-focus-icon-color)
        }

    .b-menu-item.b-disabled {
        --b-menu-item-color: var(--b-menu-item-disabled-color);
        --b-menu-item-icon-color: var(--b-menu-item-disabled-icon-color)
    }

    .b-menu-item.b-rtl .b-icon-sub-menu:before {
        rotate: 180deg
    }

.b-menu-item-icon {
    justify-self: center;
    color: var(--b-menu-item-icon-color);
    width: var(--b-menu-item-icon-width)
}

.b-menu-text {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-inline-start: calc(var(--b-menu-item-icon-width) + var(--b-menu-item-gap));
    margin-inline-end: var(--bi-menu-item-margin-inline-end)
}

.b-menu:not(.b-menu-with-icon) .b-menu-text,
.b-menu-item-icon ~ .b-menu-text {
    margin-inline-start: 0
}

:root,
:host {
    --b-badge-font-size: .7em;
    --b-badge-height: 1.7em;
    --b-badge-background: var(--b-color-red);
    --b-badge-color: var(--b-neutral-100);
    --b-badge-offset: -.6em
}

.b-widget.b-badge {
    overflow: visible
}

.b-badge:after {
    content: attr(data-badge);
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 5;
    padding-inline: .3em;
    background: var(--b-badge-background);
    border-radius: var(--b-badge-height);
    color: var(--b-badge-color);
    font-size: var(--b-badge-font-size);
    height: var(--b-badge-height);
    min-width: var(--b-badge-height);
    inset-inline-end: var(--b-badge-offset);
    inset-block-start: var(--b-badge-offset)
}

.b-formula-field-list {
    --b-panel-header-padding: var(--b-list-item-padding);
    --b-panel-header-font-size: 1em
}

.b-widget.b-tooltip.b-field-error-tip {
    --b-primary: var(--b-field-error-tip-primary);
    --b-tooltip-plain-background: var(--b-field-error-tip-background);
    --b-tooltip-plain-color: var(--b-field-error-tip-color)
}

.b-rich-text-field {
    overflow: visible;
    height: 10em;
    color: var(--b-text-field-input-color)
}

    .b-rich-text-field .b-field-inner {
        overflow: visible;
        align-items: flex-start
    }

    .b-rich-text-field .b-rich-text-field-container {
        width: 100%;
        height: 100%;
        padding: .5em;
        outline: none
    }

.b-cell-editor .b-rich-text-field {
    height: 100%;
    min-height: 100%
}

:root,
:host {
    --b-slider-thumb-size: 1.5em;
    --b-slider-thumb-elevation: var(--b-elevation-1);
    --b-slider-thumb-border: null;
    --b-slider-track-height: .5em;
    --b-slider-step-size: calc(var(--b-slider-track-height) * .4);
    --b-slider-step-opacity: .5;
    --b-slider-ring-content: none;
    --b-slider-value-border-radius: var(--b-widget-border-radius);
    --b-slider-thumb-value-size: 1.75em;
    --b-slider-thumb-text-color: var(--b-neutral-100);
    --b-slider-step-lesser-color: var(--b-neutral-100);
    --b-slider-value-color: var(--b-neutral-100);
    --b-slider-disabled-color: var(--b-neutral-80);
    --b-slider-disabled-thumb-color: var(--b-neutral-80);
    --b-slider-disabled-track-color: var(--b-neutral-90);
    --b-slider-track-color: var(--b-neutral-85);
    --b-slider-track-border: null;
    --b-slider-thumb-focus-outline-offset: 2px;
    --b-slider-thumb-focus-outline-width: var(--b-widget-focus-outline-width)
}

.b-internal {
    --bi-slider-value-percent: null;
    --bi-slider-value: null;
    --bi-slider-max: null;
    --bi-slider-min: null
}

.b-slider {
    place-items: center;
    gap: .75em;
    display: grid;
    overflow: visible;
    min-height: calc(var(--b-slider-thumb-value-size) + var(--b-slider-thumb-focus-outline-width) * 2 + var(--b-slider-thumb-focus-outline-offset) * 2);
    --bi-slider-value-percent: calc(((var(--bi-slider-value) - var(--bi-slider-min)) / (var(--bi-slider-max) - var(--bi-slider-min))) * 100%)
}

    .b-slider.b-label-above > .b-label.b-align-start {
        justify-self: start
    }

    .b-slider .b-field-inner {
        width: 100%;
        grid-template-areas: "track"
    }

    .b-slider.b-text:not(.b-show-value) .b-field-inner {
        grid-template-areas: "track" "below";
        gap: .5em
    }

    .b-slider input {
        grid-area: track;
        appearance: none;
        opacity: 0;
        cursor: pointer;
        width: 100%;
        height: 100%
    }

    .b-slider:not(.b-disabled) .b-field-inner:hover {
        --bi-checkbox-ring-opacity: var(--b-checkbox-ring-hover-opacity)
    }

    .b-slider:not(.b-disabled) .b-field-inner:has(input:active) {
        --bi-checkbox-ring-opacity: var(--b-checkbox-ring-active-opacity)
    }

    .b-slider:not(.b-disabled) .b-field-inner:has(input:focus) {
        --bi-checkbox-ring-opacity: var(--b-checkbox-ring-focus-opacity)
    }

    .b-slider:not(.b-disabled) .b-field-inner:has(input:focus-visible) .b-slider-thumb {
        outline: var(--b-slider-thumb-focus-outline-width) solid var(--b-slider-thumb-focus-outline-color, var(--b-primary-60));
        outline-offset: var(--b-slider-thumb-focus-outline-offset)
    }

    .b-slider.b-thumb-value {
        --b-slider-thumb-size: var(--b-slider-thumb-value-size)
    }

        .b-slider.b-thumb-value .b-slider-thumb:after {
            display: grid;
            counter-reset: variable var(--bi-slider-value);
            content: counter(variable);
            font-size: .7em;
            width: 100%;
            height: 100%;
            place-items: center;
            line-height: 1em;
            color: var(--b-slider-thumb-text-color)
        }

    .b-slider.b-show-value .b-slider-internal-label {
        grid-column: -1;
        padding: .5em;
        font-size: .9em;
        position: relative;
        z-index: 1;
        min-width: 2.75em;
        text-align: center;
        background: var(--b-slider-value-background, var(--b-primary-30));
        border-radius: var(--b-slider-value-border-radius);
        color: var(--b-slider-value-color)
    }

        .b-slider.b-show-value .b-slider-internal-label:before {
            content: "";
            width: .75em;
            aspect-ratio: 1 / 1;
            background: inherit;
            rotate: 45deg;
            position: absolute;
            inset-inline-start: 0;
            top: 50%;
            translate: calc(-50% * var(--b-rtl-negate)) -50%
        }

    .b-slider.b-widget.b-disabled {
        --b-slider-color: var(--b-slider-disabled-color);
        --b-slider-thumb-color: var(--b-slider-disabled-thumb-color);
        --b-slider-track-color: var(--b-slider-disabled-track-color);
        --b-slider-value-background: var(--b-slider-disabled-thumb-color)
    }

.b-grid-cell .b-slider {
    width: 100%
}

.b-slider-track {
    display: flex;
    align-items: center;
    grid-area: track;
    border-radius: .25em;
    position: relative;
    pointer-events: none;
    transition: background .2s;
    background: var(--b-slider-track-color);
    border: var(--b-slider-track-border);
    height: var(--b-slider-track-height);
    width: calc(100% - var(--b-slider-thumb-size))
}

.b-slider-progress {
    border-radius: inherit;
    height: 100%;
    pointer-events: none;
    transition: background .2s;
    width: var(--bi-slider-value-percent);
    background: var(--b-slider-color, var(--b-primary))
}

.b-slider-thumb {
    position: absolute;
    flex-shrink: 0;
    aspect-ratio: 1/ 1;
    border-radius: 50%;
    translate: calc(-50% * var(--b-rtl-negate));
    background-color: currentColor;
    z-index: 1;
    outline: 0 solid transparent;
    outline-offset: 0;
    transition: color .2s, scale .2s, outline .2s, outline-offset .2s;
    inset-inline-start: var(--bi-slider-value-percent);
    color: var(--b-slider-thumb-color, var(--b-slider-color, var(--b-primary)));
    width: var(--b-slider-thumb-size);
    box-shadow: var(--b-slider-thumb-elevation);
    border: var(--b-slider-thumb-border)
}

    .b-slider-thumb:before {
        content: var(--b-slider-ring-content);
        display: block;
        background: currentColor;
        position: absolute;
        top: 50%;
        left: 50%;
        translate: calc(-50% * var(--b-rtl-negate)) -50%;
        transform-origin: center center;
        border-radius: 50%;
        pointer-events: none;
        transition: opacity .5s ease;
        aspect-ratio: 1 / 1;
        opacity: var(--bi-checkbox-ring-opacity);
        width: calc(var(--b-slider-thumb-size) * 1.75)
    }

.b-slider-steps {
    display: flex;
    position: absolute;
    width: 100%;
    height: 100%;
    justify-content: space-evenly;
    align-items: center
}

.b-slider-step {
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    height: var(--b-slider-step-size);
    background-color: var(--b-slider-step-color, var(--b-slider-color, var(--b-primary)));
    opacity: var(--b-slider-step-opacity)
}

    .b-slider-step.b-less {
        --b-slider-color: var(--b-slider-step-lesser-color)
    }

.b-slider-internal-label {
    color: var(--b-label-color)
}

:root,
:host {
    --b-splitter-size: 4px;
    --b-splitter-hover-size: 8px;
    --b-splitter-touch-hover-size: 16px;
    --b-splitter-disabled-size: 1px;
    --b-splitter-color: var(--b-border-6);
    --b-splitter-hover-color: var(--b-border-7);
    --b-splitter-disabled-color: var(--b-border-7);
    --b-splitter-button-size: 1em;
    --b-splitter-touch-button-size: 1.3em;
    --b-splitter-button-icon-color: var(--b-border-4);
    --b-splitter-button-hover-color: var(--b-border-2);
    --bi-splitter-overflow: visible;
    --bi-splitter-inner-top: 0;
    --bi-splitter-inner-left: 0;
    --bi-splitter-inner-translate: 0 0
}

.b-splitter {
    position: relative;
    touch-action: none;
    background: var(--b-splitter-color);
    flex: 0 0 var(--b-splitter-size);
    overflow: var(--bi-splitter-overflow);
    --bi-splitter-inner-size: var(--b-splitter-size)
}

    .b-splitter.b-disabled {
        pointer-events: none;
        --b-splitter-size: var(--b-splitter-disabled-size);
        --b-splitter-color: var(--b-splitter-disabled-color);
        --bi-splitter-overflow: clip
    }

:is(.b-splitter.b-hover, .b-splitter.b-moving, .b-splitter.b-show-buttons) .b-splitter-buttons {
    display: flex
}

.b-splitter:after {
    content: "";
    position: absolute;
    z-index: 10000;
    transition: all .2s;
    background: var(--b-splitter-color);
    top: var(--bi-splitter-inner-top);
    left: var(--bi-splitter-inner-left);
    width: var(--bi-splitter-inner-width);
    height: var(--bi-splitter-inner-height);
    translate: var(--bi-splitter-inner-translate)
}

.b-splitter.b-horizontal {
    min-height: var(--b-splitter-size)
}

    .b-splitter.b-horizontal:after {
        --bi-splitter-inner-height: var(--bi-splitter-inner-size);
        --bi-splitter-inner-width: 100%
    }

    .b-splitter.b-horizontal:not(.b-drag-disabled) {
        cursor: ns-resize
    }

        .b-splitter.b-horizontal:not(.b-drag-disabled):hover,
        .b-splitter.b-horizontal:not(.b-drag-disabled).b-hover,
        .b-splitter.b-horizontal:not(.b-drag-disabled).b-moving {
            --b-splitter-color: var(--b-splitter-hover-color)
        }

:is(.b-splitter.b-horizontal:not(.b-drag-disabled):hover, .b-splitter.b-horizontal:not(.b-drag-disabled).b-hover, .b-splitter.b-horizontal:not(.b-drag-disabled).b-moving):after {
    --bi-splitter-inner-top: 50%;
    --bi-splitter-inner-translate: 0 -50%;
    --bi-splitter-inner-size: var(--b-splitter-hover-size)
}

.b-splitter.b-horizontal .b-splitter-buttons {
    rotate: 90deg
}

.b-splitter.b-vertical {
    min-width: var(--b-splitter-size)
}

    .b-splitter.b-vertical:after {
        --bi-splitter-inner-height: 100%;
        --bi-splitter-inner-width: var(--bi-splitter-inner-size)
    }

    .b-splitter.b-vertical:not(.b-drag-disabled) {
        cursor: ew-resize
    }

        .b-splitter.b-vertical:not(.b-drag-disabled):hover,
        .b-splitter.b-vertical:not(.b-drag-disabled).b-hover,
        .b-splitter.b-vertical:not(.b-drag-disabled).b-moving {
            --b-splitter-color: var(--b-splitter-hover-color)
        }

:is(.b-splitter.b-vertical:not(.b-drag-disabled):hover, .b-splitter.b-vertical:not(.b-drag-disabled).b-hover, .b-splitter.b-vertical:not(.b-drag-disabled).b-moving):after {
    --bi-splitter-inner-left: 50%;
    --bi-splitter-inner-translate: -50% 0;
    --bi-splitter-inner-size: var(--b-splitter-hover-size)
}

.b-splitter:last-child,
.b-splitter:first-child {
    visibility: hidden;
    flex: 0;
    min-width: 0
}

@media (pointer: coarse) {
    .b-splitter {
        --b-splitter-hover-size: var(--b-splitter-touch-hover-size)
    }
}

.b-splitter.b-rtl .b-splitter-buttons {
    translate: 50% -50%
}

.b-splitter.b-rtl.b-vertical .b-splitter-buttons {
    scale: -1 1
}

.b-splitter.b-rtl .b-splitter-button-expand {
    justify-content: flex-end;
    translate: 100%
}

.b-splitter.b-rtl .b-splitter-button-collapse {
    justify-content: flex-start;
    translate: -100%
}

.b-splitter-buttons {
    display: none;
    position: absolute;
    height: 2.4em;
    width: 2.4em;
    z-index: 10001;
    inset-inline-start: 50%;
    translate: -50% -50%;
    transition: top .2s ease-in-out, inset-inline-start .2s ease-in-out;
    font-size: var(--b-splitter-button-size)
}

    .b-splitter-buttons:has(.b-disabled) {
        pointer-events: none
    }

.b-splitter-button-collapse,
.b-splitter-button-expand {
    flex: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    position: relative;
    padding-top: .1em;
    background: var(--b-splitter-color)
}

:is(.b-splitter-button-collapse, .b-splitter-button-expand):hover .b-splitter-button-icon {
    color: var(--b-splitter-button-hover-color)
}

:is(.b-splitter-button-collapse, .b-splitter-button-expand).b-disabled {
    cursor: default;
    visibility: hidden !important;
    pointer-events: none
}

:is(.b-splitter-button-collapse, .b-splitter-button-expand):not(.b-disabled) {
    pointer-events: auto
}

.b-splitter-button-collapse {
    border-top-left-radius: 100% 50%;
    border-bottom-left-radius: 100% 50%;
    justify-content: flex-end
}

.b-splitter-button-expand {
    border-top-right-radius: 100% 50%;
    border-bottom-right-radius: 100% 50%
}

.b-splitter-button-icon {
    cursor: pointer;
    height: 1.5em;
    font-size: 1.3em;
    font-weight: 400;
    align-content: center;
    color: var(--b-splitter-button-icon-color)
}

.b-splitter-button-touch-area {
    height: 3em;
    top: -.3em;
    width: 2em;
    position: absolute
}

.b-splitter-button-collapse .b-splitter-button-touch-area {
    inset-inline-start: -.9em
}

.b-splitter-button-expand .b-splitter-button-touch-area {
    inset-inline-end: -.9em
}

:root,
:host {
    --b-toast-padding: var(--b-widget-padding);
    --b-toast-border-radius: var(--b-widget-border-radius);
    --b-toast-transition-duration: .25s;
    --b-toast-progress-height: .25em;
    --b-toast-color: var(--b-widget-color)
}

.b-internal {
    --bi-toast-side: null
}

.b-float-root > .b-toast {
    display: block;
    overflow-x: clip;
    overflow-y: auto;
    top: auto;
    inset-inline-end: 2em;
    inset-inline-start: auto;
    max-width: 60%;
    max-height: 60%;
    line-height: 1.4em;
    cursor: pointer;
    transition: var(--bi-toast-side) var(--b-toast-transition-duration) ease-in, translate var(--b-toast-transition-duration) ease-in, background .2s, color .2s;
    background: var(--b-toast-background, var(--b-primary-98));
    color: var(--b-toast-color);
    padding: var(--b-toast-padding);
    border-radius: var(--b-toast-border-radius)
}

    .b-float-root > .b-toast:is(.b-side-top-start, .b-side-top-end) {
        top: 0
    }

    .b-float-root > .b-toast:is(.b-side-top-start, .b-side-bottom-start) {
        inset-inline-start: 2em;
        inset-inline-end: auto
    }

    .b-float-root > .b-toast.b-toast-hide.b-side-bottom-end,
    .b-float-root > .b-toast.b-toast-hide.b-side-bottom-start {
        bottom: 0 !important;
        translate: 0 100% !important
    }

    .b-float-root > .b-toast.b-toast-hide.b-side-top-end,
    .b-float-root > .b-toast.b-toast-hide.b-side-top-start {
        top: 0 !important;
        translate: 0 -100% !important
    }

    .b-float-root > .b-toast.b-icon:before {
        margin-inline-end: .5em
    }

.b-toast-progress {
    position: absolute;
    top: 0;
    inset-inline-start: 0;
    animation-name: b-toast-progress;
    animation-timing-function: linear;
    height: var(--b-toast-progress-height);
    background: var(--b-toast-progress-color, var(--b-primary-50))
}

@keyframes b-toast-progress {
    0% {
        width: 0
    }

    to {
        width: 100%
    }
}

.b-tool {
    display: grid;
    appearance: none;
    background-color: transparent;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    padding: 0;
    width: 1.25em;
    place-items: center;
    transition: color .2s;
    aspect-ratio: 1 / 1;
    color: var(--b-panel-header-color)
}

    .b-tool:focus-visible {
        outline: var(--b-widget-focus-outline-width) solid var(--b-widget-focus-outline-color)
    }

:root,
:host {
    --b-avatar-size: 2.5em;
    --b-avatar-initials-text-transform: uppercase;
    --b-avatar-initials-font-weight: 600;
    --b-avatar-border-radius: 50%;
    --b-avatar-aspect-ratio: 1 / 1;
    --b-avatar-icon-font-size: 1.1em;
    --b-avatar-border: null
}

.b-colorize {
    --b-avatar-background: var(--b-primary-85);
    --b-avatar-icon-color: var(--b-primary-30);
    --b-avatar-initials-color: var(--b-primary-30)
}

.b-resource-avatar {
    touch-action: pan-x pan-y;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: var(--b-avatar-size);
    height: var(--b-avatar-size);
    background: var(--b-avatar-background);
    border-radius: var(--b-avatar-border-radius);
    border: var(--b-avatar-border)
}

    .b-resource-avatar.b-resource-icon:before {
        color: var(--b-avatar-icon-color);
        font-size: var(--b-avatar-icon-font-size)
    }

.b-resource-initials {
    color: var(--b-avatar-initials-color);
    font-weight: var(--b-avatar-initials-font-weight);
    text-transform: var(--b-avatar-initials-text-transform)
}

.b-ripple-clip {
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    overflow: clip;
    pointer-events: none
}

    .b-ripple-clip:before {
        position: absolute;
        content: "";
        width: 0;
        aspect-ratio: 1 / 1;
        border-radius: 50%;
        opacity: 0;
        transition: width .2s linear, opacity .1s linear;
        translate: -50% -50%;
        inset-inline-start: var(--b-click-x);
        inset-block-start: var(--b-click-y);
        background: var(--b-ripple-background);
        mix-blend-mode: var(--b-ripple-blend-mode)
    }

    .b-ripple-clip.b-animate:before {
        opacity: 1;
        width: 200%
    }

:root,
:host {
    --b-grid-column-transition-duration: var(--b-default-transition-duration);
    --b-grid-row-transition-duration: var(--b-default-transition-duration);
    --b-grid-empty-padding: var(--b-widget-padding);
    --b-grid-empty-color: var(--b-text-2);
    --b-grid-panel-header-padding: var(--b-panel-with-header-padding);
    --b-grid-background: var(--b-neutral-100);
    --b-grid-cell-border-width: 1px;
    --b-grid-cell-focused-outline-width: var(--b-widget-focus-outline-width);
    --b-grid-cell-focused-outline-color: var(--b-widget-focus-outline-color);
    --b-grid-cell-gap: .5em;
    --b-grid-cell-padding-block: 0;
    --b-grid-cell-padding-inline: var(--b-widget-padding);
    --b-grid-cell-font-size: 1em;
    --b-grid-cell-font-weight: var(--b-widget-font-weight);
    --b-grid-row-height: 45px;
    --b-grid-row-border-width: 1px;
    --b-grid-row-zindex: 1;
    --b-grid-splitter-width: 1px;
    --b-grid-cell-border-color: var(--b-border-7);
    --b-grid-cell-background: var(--b-neutral-100);
    --b-grid-cell-color: var(--b-widget-color);
    --b-grid-cell-selected-color: var(--b-widget-color);
    --b-grid-row-border-color: var(--b-grid-cell-border-color);
    --b-grid-cell-dirty-color: var(--b-color-red);
    --b-grid-splitter-narrow-color: var(--b-neutral-80);
    --bi-grid-cell-overflow: clip;
    --b-grid-row-placeholder-color: var(--b-neutral-95)
}

.b-grid-base {
    overflow: clip;
    min-width: 0;
    --b-panel-bottom-toolbar-padding: var(--b-grid-header-padding);
    --b-panel-header-padding: var(--b-grid-panel-header-padding);
    --b-panel-background: var(--b-grid-background);
    --b-panel-top-toolbar-margin-inline: 0;
    --b-panel-top-toolbar-border-radius: 0
}

    .b-grid-base:where(.b-outer:not(.b-auto-height)) {
        height: 100%
    }

    .b-grid-base.b-auto-height {
        height: auto;
        flex: none
    }

        .b-grid-base.b-auto-height .b-grid-vertical-scroller {
            position: relative
        }

        .b-grid-base.b-auto-height.b-grid-empty .b-grid-body-container {
            height: unset !important;
            flex: 1
        }

    .b-grid-base .b-empty-text {
        display: none
    }

    .b-grid-base.b-grid-empty .b-empty-text {
        display: block;
        position: relative;
        color: var(--b-grid-empty-color);
        padding: var(--b-grid-empty-padding);
        z-index: 20
    }

    .b-grid-base .b-editing {
        overflow: visible;
        contain: unset;
        z-index: 1
    }

    .b-grid-base.b-splicing-rows-toggle .b-grid-row:is(.b-adding, .b-removing, .b-repositioning),
    .b-grid-base.b-splicing-rows-remove .b-grid-row:is(.b-removing, .b-repositioning),
    .b-grid-base.b-splicing-rows-insert .b-grid-row:is(.b-adding, .b-repositioning) {
        transition: top var(--b-grid-row-transition-duration), left var(--b-grid-row-transition-duration);
        z-index: calc(var(--b-grid-row-zindex) - 1);
        pointer-events: none
    }

    .b-grid-base.b-collapsing-column .b-collapsing,
    .b-grid-base.b-collapsing-column .b-collapsing .b-grid-header:not(:first-child) {
        min-width: 0 !important;
        overflow: clip !important;
        padding: 0
    }

        .b-grid-base.b-collapsing-column .b-collapsing .b-grid-header:not(:first-child) {
            width: 0 !important
        }

    .b-grid-base .b-expanding-start .b-grid-header:not(:first-child) {
        min-width: 0 !important;
        width: 0 !important;
        padding: 0
    }

    .b-grid-base.b-expanding-column .b-expanding .b-grid-header:not(:first-child) {
        min-width: 0 !important
    }

:is(.b-grid-base.b-collapsing-column, .b-grid-base.b-expanding-column, .b-grid-base.b-showing-column, .b-grid-base.b-hiding-column, .b-grid-base.b-toggling-columns) .b-grid-header {
    transition-property: min-width, max-width, width, flex, padding;
    transition-duration: var(--b-grid-column-transition-duration)
}

:is(.b-grid-base.b-collapsing-column, .b-grid-base.b-expanding-column, .b-grid-base.b-showing-column, .b-grid-base.b-hiding-column, .b-grid-base.b-toggling-columns) .b-grid-cell {
    transition-property: padding;
    transition-duration: var(--b-grid-column-transition-duration)
}

.b-grid-base .b-grid-header:is(.b-showing, .b-hiding) {
    min-width: 0 !important;
    padding: 0 !important
}

    .b-grid-base .b-grid-header:is(.b-showing, .b-hiding).b-flex {
        flex: 0 !important
    }

.b-grid-base .b-toggling-all-expand.b-grid-header {
    width: 0 !important
}

.b-fill-last-column .b-grid-footers:not(.b-has-flex, .b-horizontal-overflow) .b-grid-footer:last-child,
.b-fill-last-column .b-grid-headers:not(.b-has-flex, .b-horizontal-overflow) .b-last-parent,
.b-fill-last-column .b-grid-headers:not(.b-has-flex, .b-horizontal-overflow) .b-last-leaf:not(.b-drop-placeholder) {
    flex-grow: 1;
    border-inline-end-color: transparent
}

    .b-fill-last-column .b-grid-headers:not(.b-has-flex, .b-horizontal-overflow) .b-last-parent > .b-grid-header-text {
        border-inline-end-color: transparent
    }

.b-fill-last-column .b-grid-cell:last-child,
.b-fill-last-column .b-row-expander-row-expanded .b-grid-cell:nth-last-child(2) {
    --b-grid-cell-border-width: 0
}

.b-grid-panel-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    position: relative;
    overflow: hidden
}

    .b-grid-panel-body:not(.b-auto-height) > .b-grid-body-container {
        flex: 1 1 0;
        contain: strict
    }

        .b-grid-panel-body:not(.b-auto-height) > .b-grid-body-container > .b-grid-vertical-scroller {
            min-height: 100%
        }

.b-grid-base.b-enable-sticky .b-sticky-cell,
.b-grid-base.b-enable-sticky .b-grid-sub-grid,
.b-grid-base.b-enable-sticky .b-grid-vertical-scroller,
.b-grid-base.b-enable-sticky .b-grid-row {
    overflow: visible !important
}

.b-grid-base > .b-panel-body-wrap {
    --b-toolbar-background: var(--b-grid-toolbar-background)
}

    .b-grid-base > .b-panel-body-wrap > .b-top-toolbar {
        transition: background-color var(--b-default-transition-duration), border var(--b-default-transition-duration);
        border-bottom: var(--b-grid-header-container-border-width) solid var(--b-grid-header-border-color)
    }

.b-grid-base:not(.b-auto-height) > .b-panel-body-wrap > .b-bottom-toolbar {
    border-top: var(--b-grid-header-container-border-width) solid var(--b-grid-header-border-color)
}

.b-grid-body-container {
    position: relative
}

.b-grid-vertical-scroller {
    display: flex;
    overflow: clip
}

.b-grid-base .fa {
    font-family: inherit
}

    .b-grid-base .fa:before {
        font-family: var(--b-widget-icon-font-family)
    }

.b-no-transitions .b-grid-row {
    transition: none !important
}

:root,
:host {
    --b-group-bar-separator-icon: "\f054";
    --b-group-bar-separator-color: var(--b-neutral-50)
}

.b-group-bar {
    display: flex;
    flex-wrap: nowrap;
    flex: 1;
    align-self: center;
    gap: 2.2em;
    min-height: 2em;
    --b-chip-view-chip-padding: .5em 1em;
    --b-chip-view-chip-gap: 1em;
    --b-chip-view-chip-border-radius: var(--b-button-border-radius)
}

    .b-group-bar .b-chip {
        position: relative;
        overflow: visible
    }

        .b-group-bar .b-chip:not(:last-child):after {
            position: absolute;
            inset-inline-end: -1.5em;
            color: var(--b-group-bar-separator-color);
            content: var(--b-group-bar-separator-icon);
            font-family: var(--b-widget-icon-font-family)
        }

.b-rtl :is(.b-group-bar .b-chip):not(:last-child):after {
    scale: -1 0
}

.b-group-bar .b-drop-target {
    opacity: .5
}

    .b-group-bar .b-drop-target .b-chip-content {
        visibility: hidden
    }

.b-grid-reordering-columns-with-group-bar.b-grid-header.b-drag-proxy {
    min-width: 10em !important;
    padding-inline: 1em;
    border-radius: var(--b-button-border-radius)
}

    .b-grid-reordering-columns-with-group-bar.b-grid-header.b-drag-proxy .b-grid-header-text {
        padding: .5em 0
    }

    .b-grid-reordering-columns-with-group-bar.b-grid-header.b-drag-proxy,
    .b-grid-reordering-columns-with-group-bar.b-grid-header.b-drag-proxy .b-grid-header-text-content {
        width: auto !important
    }

.b-grid-base.b-dragging-header:not(.b-tree-group) .b-group-bar .b-drop-target {
    display: none
}

.b-grid-base.b-dragging-header:not(.b-tree-group) .b-group-bar .b-chip:after {
    content: none
}

.b-grid-base.b-dragging-header:not(.b-tree-group) .b-group-bar:hover .b-chip {
    display: none
}

.b-grid-base.b-dragging-header:not(.b-tree-group) .b-group-bar:hover .b-drop-target {
    display: flex
}

.b-sparkline-cell .b-chart {
    background: transparent
}

:root,
:host {
    --b-quick-find-font-weight: var(--b-grid-cell-font-weight);
    --b-quick-find-badge-offset: .4em;
    --b-quick-find-badge-font-size: .7em;
    --b-quick-find-primary: var(--b-secondary);
    --b-quick-find-badge-color: var(--b-grid-header-color)
}

:is(.b-grid-row.b-hover, .b-grid-row.b-selected) .b-colorize {
    --b-quick-find-background: var(--b-quick-find-row-hover-background, var(--b-primary-95))
}

.b-cell-editor {
    --b-widget-floating-box-shadow: none
}

    .b-cell-editor .b-field {
        border-radius: 0;
        background: var(--b-grid-cell-applied-background);
        --b-text-field-input-padding: var(--b-grid-cell-padding-block) var(--b-grid-cell-padding-inline)
    }

.b-grid-cell.b-editing {
    color: transparent
}

    .b-grid-cell.b-editing:not(.b-tree-cell) > :not(.b-editor),
    .b-grid-cell.b-editing.b-tree-cell > .b-tree-cell-value {
        visibility: hidden
    }

.b-chart-designer-popup > .b-popup-body-wrap > .b-popup-content {
    padding-top: 0
}

.b-chart-cell .b-chart {
    background: none
}

:root,
:host {
    --b-column-drag-toolbar-border-radius: var(--b-popup-border-radius);
    --b-column-drag-toolbar-opacity: .6;
    --b-column-drag-toolbar-hover-opacity: .9;
    --b-column-drag-toolbar-button-border-width: 0;
    --b-column-drag-toolbar-box-shadow: var(--b-widget-floating-box-shadow);
    --b-column-drag-toolbar-disabled-icon-color: var(--b-neutral-85);
    --b-column-drag-toolbar-button-box-shadow: none;
    --b-column-drag-toolbar-button-hover-box-shadow: none;
    --b-column-drag-toolbar-button-color: var(--b-neutral-20);
    --b-column-drag-toolbar-button-background: transparent;
    --b-column-drag-toolbar-title-color: var(--b-neutral-20);
    --b-column-drag-toolbar-background: var(--b-neutral-100)
}

.b-column-drag-toolbar {
    position: absolute;
    top: calc(100% - 3em);
    left: 50%;
    z-index: 100;
    animation-name: b-anim-show-column-drag-toolbar;
    animation-duration: .2s;
    translate: -50%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    transition: opacity .2s, top .2s;
    padding: 1em 1em .5em;
    font-size: .8em;
    border: var(--b-popup-border);
    border-radius: var(--b-column-drag-toolbar-border-radius);
    background: var(--b-column-drag-toolbar-background);
    box-shadow: var(--b-column-drag-toolbar-box-shadow);
    opacity: var(--b-column-drag-toolbar-opacity)
}

    .b-column-drag-toolbar.b-closer {
        top: 50%;
        translate: -50% -50%
    }

    .b-column-drag-toolbar.b-hover {
        --b-column-drag-toolbar-opacity: var(--b-column-drag-toolbar-hover-opacity)
    }

    .b-column-drag-toolbar.b-remove {
        animation-name: b-anim-hide-column-drag-toolbar;
        animation-duration: .2s;
        top: 100%;
        --b-column-drag-toolbar-opacity: 0
    }

        .b-column-drag-toolbar.b-remove.b-closer {
            animation-name: b-anim-hide-column-drag-toolbar-closer
        }

    .b-column-drag-toolbar > .b-title {
        flex-basis: 100%;
        margin-bottom: 1em;
        text-align: center;
        color: var(--b-column-drag-toolbar-title-color)
    }

        .b-column-drag-toolbar > .b-title:before {
            content: "Drag header downwards"
        }

    .b-column-drag-toolbar.b-closer > .b-title:before {
        content: "Drop header on a button"
    }

    .b-column-drag-toolbar .b-group {
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        margin-inline-end: 1.5em
    }

        .b-column-drag-toolbar .b-group:last-child {
            margin-inline-end: 0
        }

        .b-column-drag-toolbar .b-group .b-title {
            margin-block: .5em;
            color: var(--b-column-drag-toolbar-title-color)
        }

    .b-column-drag-toolbar .b-buttons {
        display: inline-flex;
        flex-direction: row
    }

    .b-column-drag-toolbar .b-target-button {
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        transition: all .2s;
        padding: 1em 0;
        width: 7.5em;
        margin-inline-end: .5em;
        color: var(--b-column-drag-toolbar-button-color);
        border: var(--b-column-drag-toolbar-button-border-width) solid var(--b-column-drag-toolbar-button-border-color, var(--b-primary-40));
        border-radius: var(--b-column-drag-toolbar-border-radius);
        background: var(--b-column-drag-toolbar-button-background);
        box-shadow: var(--b-column-drag-toolbar-button-box-shadow)
    }

        .b-column-drag-toolbar .b-target-button:last-child {
            margin-inline-end: 0
        }

        .b-column-drag-toolbar .b-target-button i {
            font-size: 2.5em;
            pointer-events: none;
            transition: all .2s;
            color: var(--b-column-drag-toolbar-icon-color, var(--b-primary-60))
        }

        .b-column-drag-toolbar .b-target-button.b-hover:not([data-disabled=true]) {
            --b-column-drag-toolbar-icon-color: var(--b-column-drag-toolbar-default-hover-icon-color, var(--b-primary-60));
            --b-column-drag-toolbar-button-color: var(--b-column-drag-toolbar-default-hover-color, var(--b-primary-60));
            --b-column-drag-toolbar-button-background: var(--b-column-drag-toolbar-default-hover-background, var(--b-primary-95));
            --b-column-drag-toolbar-button-box-shadow: var(--b-column-drag-toolbar-button-hover-box-shadow)
        }

            .b-column-drag-toolbar .b-target-button.b-hover:not([data-disabled=true]) i {
                scale: 1.1
            }

        .b-column-drag-toolbar .b-target-button.b-activate i {
            scale: 1.1;
            rotate: 180deg
        }

        .b-column-drag-toolbar .b-target-button[data-ref^=group] {
            --b-primary: var(--b-secondary)
        }

        .b-column-drag-toolbar .b-target-button[data-disabled=true] {
            --b-column-drag-toolbar-button-color: var(--b-column-drag-toolbar-disabled-icon-color);
            --b-column-drag-toolbar-icon-color: var(--b-column-drag-toolbar-disabled-icon-color)
        }

@keyframes b-anim-show-column-drag-toolbar {
    0% {
        top: 100%;
        opacity: 0
    }

    to {
        top: calc(100% - 3em);
        opacity: .4
    }
}

@keyframes b-anim-hide-column-drag-toolbar {
    0% {
        top: calc(100% - 3em);
        opacity: .4
    }

    to {
        top: 100%;
        opacity: 0
    }
}

@keyframes b-anim-hide-column-drag-toolbar-closer {
    0% {
        top: 50%;
        opacity: .4
    }

    to {
        top: 100%;
        opacity: 0
    }
}

.b-column-rename-editor {
    --b-editor-background: var(--b-grid-header-background);
    --b-text-field-font-weight: var(--b-grid-header-font-weight)
}

:root,
:host {
    --b-column-reorder-invalid-color: var(--b-color-red);
    --b-column-reorder-stretched-background: var(--b-primary-95)
}

.b-grid-header.b-drag-proxy {
    line-height: normal;
    transition: background-color .3s;
    border-inline-end: none;
    font-weight: var(--b-grid-header-font-weight);
    background-color: var(--b-grid-header-background);
    outline: 1px solid var(--b-grid-header-border-color)
}

    .b-grid-header.b-drag-proxy.b-grid-header-parent {
        justify-content: stretch
    }

        .b-grid-header.b-drag-proxy.b-grid-header-parent > .b-grid-header-text {
            border-inline-end: none
        }

    .b-grid-header.b-drag-proxy .b-grid-header:last-child {
        border-inline-end: none
    }

.b-grid-header.b-drop-placeholder {
    opacity: .3
}

.b-grid-header.b-drag-invalid {
    --b-grid-header-color: var(--b-column-reorder-invalid-color);
    outline: 1px solid var(--b-column-reorder-invalid-color)
}

.b-column-reorder-stretched {
    outline: none;
    --b-grid-header-background: var(--b-column-reorder-stretched-background)
}

    .b-column-reorder-stretched > * {
        display: none !important
    }

:root,
:host {
    --b-column-resize-handle-width: 1em;
    --b-column-resize-touch-handle-width: 1.5em;
    --b-column-resize-header-resizing-background: var(--b-grid-header-hover-background);
    --b-column-resize-touch-resizing-icon: "\f07e"
}

.b-column-resize .b-grid-header-parent {
    overflow: visible
}

.b-column-resize .b-grid-header-resizable:not(.b-last-leaf) {
    overflow: visible
}

.b-column-resize .b-grid-header-resizable .b-grid-header-resize-handle {
    position: absolute;
    inset-block: 0;
    background: transparent;
    z-index: 3;
    cursor: col-resize;
    display: block;
    inset-inline-end: calc(-1 * var(--b-column-resize-handle-width) / 2);
    width: var(--b-column-resize-handle-width)
}

.b-column-resize.b-touch {
    --b-column-resize-handle-width: var(--b-column-resize-touch-handle-width)
}

    .b-column-resize.b-touch .b-grid-header.b-resizing {
        overflow: visible;
        z-index: 100
    }

        .b-column-resize.b-touch .b-grid-header.b-resizing:before {
            position: absolute;
            top: 50%;
            inset-inline-end: 0;
            translate: calc(50% * var(--b-rtl-negate)) -50%;
            border-radius: 50%;
            padding: 1em;
            z-index: 1;
            background: var(--b-neutral-90);
            content: var(--b-column-resize-touch-resizing-icon);
            font-family: var(--b-widget-icon-font-family)
        }

.b-grid-header.b-resizing {
    --b-grid-header-background: var(--b-column-resize-header-resizing-background)
}

html.b-export-root,
.b-export-root body {
    margin: 0
}

html.b-print-root,
.b-print-root body {
    margin: 0;
    height: auto;
    overflow: unset;
    display: block;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important
}

html.b-export-root {
    overflow: auto
}

.b-export-root body,
.b-print-root body {
    position: relative
}

body:not(.b-single-page-unscaled) .b-page-wrap {
    contain: strict
}

.b-export .b-time-ranges-canvas {
    display: block;
    contain: strict;
    width: 100%;
    height: 100%;
    position: absolute
}

.b-export .b-grid-base {
    min-height: 0 !important
}

.b-export .b-export-content {
    display: flex;
    flex-direction: column;
    height: 100%
}

.b-export .b-export-body {
    flex: 1;
    contain: strict
}

.b-export .b-grid-header-container {
    margin-inline-end: 0 !important;
    border-inline-end: none !important
}

.b-export .b-grid-body-container.b-widget-scroller {
    overflow-y: hidden !important
}

.b-export .b-grid-footer-container {
    padding-inline-end: 0 !important
}

.b-export .b-virtual-scrollers {
    display: none
}

.b-export.b-visible-scrollbar .b-show-yscroll-padding > .b-yscroll-pad {
    display: none
}

.b-export.b-multi-page .b-export-content {
    width: 100%;
    height: 100%
}

.b-export.b-multi-page .b-export-body {
    overflow: hidden
}

.b-export.b-single-page-unscaled {
    display: flex
}

    .b-export.b-single-page-unscaled .b-export-body {
        contain: content
    }

.b-export-header,
.b-export-header * {
    box-sizing: border-box
}

@media print {
    .b-page-wrap {
        overflow: hidden
    }

    .b-grid-body-container {
        contain: paint !important
    }
}

.b-export-dialog .b-bottom-toolbar .b-button {
    width: 7.5em
}

.b-float-root .b-export-loading-toast {
    display: flex;
    gap: .5em;
    align-items: center
}

html.b-print-root,
.b-print-root body {
    margin: 0;
    height: auto;
    overflow: unset;
    display: block
}

.b-print-root .b-float-root,
.b-print-root .b-scrollbar-measure-element,
.b-print-root .b-grid-header-resize-handle {
    display: none !important
}

.b-print:not(.b-safari) .b-page-wrap {
    page-break-after: always
}

:root,
:host {
    --b-fill-handle-handle-size: .8em
}

.b-fill-handle-handle {
    translate: -50% -50%;
    position: absolute;
    cursor: crosshair;
    z-index: 200;
    background-clip: content-box;
    user-select: none;
    -webkit-user-select: none;
    background: var(--b-grid-cell-focused-outline-color);
    border: 1px solid var(--b-grid-cell-background);
    width: var(--b-fill-handle-handle-size);
    height: var(--b-fill-handle-handle-size)
}

.b-fill-handle-handle-right-edge {
    border-right: 0;
    translate: -100% -50%;
    width: .5em
}

.b-fill-selection-border {
    position: absolute;
    border-radius: .1em;
    pointer-events: none;
    z-index: 2;
    user-select: none;
    -webkit-user-select: none;
    border: var(--b-grid-cell-focused-outline-width) solid var(--b-grid-cell-focused-outline-color)
}

.b-indicate-crop {
    opacity: .4
}

.b-rtl .b-fill-handle-handle {
    translate: 50% -50%
}

    .b-rtl .b-fill-handle-handle.b-fill-handle-handle-left-edge {
        border-right: 0;
        translate: 100% -50%;
        width: .5em
    }

:root,
:host {
    --b-grid-filter-icon: "\f0b0";
    --b-grid-header-filtered-font-weight: var(--b-grid-header-font-weight);
    --b-grid-header-filtered-color: var(--b-grid-header-color);
    --bi-grid-filter-icon-opacity: 0;
    --bi-grid-filter-icon-active-opacity: 1;
    --bi-grid-filter-icon-header-hover-opacity: .5;
    --bi-grid-filter-icon-hover-opacity: .8;
    --bi-grid-filter-icon-size: 0;
    --bi-grid-filter-icon-margin-inline-start: 0
}

.b-filter-icon {
    cursor: pointer;
    transition-property: opacity, font-size;
    font-size: var(--bi-grid-filter-icon-size);
    opacity: var(--bi-grid-filter-icon-opacity);
    margin-inline-start: var(--bi-grid-filter-icon-margin-inline-start);
    transition-duration: var(--b-grid-header-icon-transition-duration)
}

    .b-filter-icon:before {
        content: var(--b-grid-filter-icon);
        font-family: var(--b-widget-icon-font-family)
    }

    .b-filter-icon:hover {
        --bi-grid-filter-icon-opacity: var(--bi-grid-filter-icon-hover-opacity)
    }

.b-grid-header.b-filter {
    --b-grid-header-font-weight: var(--b-grid-header-filtered-font-weight);
    --b-grid-header-color: var(--b-grid-header-filtered-color);
    --bi-grid-filter-icon-opacity: var(--bi-grid-filter-icon-active-opacity)
}

.b-grid-header.b-filter,
.b-grid-base:not(.b-column-resizing, .b-dragging-header) .b-grid-header.b-filterable:hover {
    --bi-grid-filter-icon-size: var(--b-grid-header-icon-font-size);
    --bi-grid-filter-icon-margin-inline-start: var(--b-grid-header-gap)
}

.b-grid-base:not(.b-column-resizing, .b-dragging-header) .b-grid-header.b-filterable:not(.b-filter):hover {
    --bi-grid-filter-icon-opacity: var(--bi-grid-filter-icon-header-hover-opacity)
}

.b-grid-base:not(.b-filter, .b-multifilter) .b-filter-icon {
    pointer-events: none;
    --bi-grid-filter-icon-opacity: .2
}

.b-filter-popup-legacy-mode .b-field {
    width: 16em
}

.b-filter-popup .b-field-filter-picker-group {
    width: 34em
}

.b-filter-popup .b-field-filter-picker-operator {
    grid-column: 1
}

.b-filter-popup .b-field-filter-picker-values {
    grid-column: 2
}

.b-filter-popup .b-field-filter-picker-values-multiple {
    grid-column: 1
}

.b-filter-popup .b-field-filter-picker-property {
    display: none
}

.b-filter-bar-field {
    margin: 0 0 var(--b-grid-header-padding) 0;
    width: 100%
}

.b-filter-bar-compact .b-grid-header.b-filter-bar-enabled {
    flex-direction: row
}

    .b-filter-bar-compact .b-grid-header.b-filter-bar-enabled .b-grid-header-text {
        order: 1;
        min-height: 3.5em
    }

    .b-filter-bar-compact .b-grid-header.b-filter-bar-enabled .b-sort-icon {
        margin-inline-start: 0
    }

    .b-filter-bar-compact .b-grid-header.b-filter-bar-enabled .b-grid-header-text-content {
        display: none
    }

:is(.b-filter-bar-compact .b-grid-header.b-filter-bar-enabled.b-grid-header-align-end, .b-filter-bar-compact .b-grid-header.b-filter-bar-enabled.b-grid-header-align-right) .b-field {
    order: 100000
}

:is(.b-filter-bar-compact .b-grid-header.b-filter-bar-enabled.b-grid-header-align-end, .b-filter-bar-compact .b-grid-header.b-filter-bar-enabled.b-grid-header-align-right) input {
    text-align: end
}

.b-filter-bar-compact .b-grid-header.b-filter-bar-enabled.b-grid-header-align-center input {
    text-align: center
}

.b-filter-bar-compact .b-grid-header.b-filter-bar-enabled.b-grid-header-align-end .b-field {
    order: 100000
}

.b-filter-bar-compact .b-grid-header.b-filter-bar-enabled.b-grid-header-align-end input {
    text-align: end
}

.b-filter-bar-compact .b-grid-header.b-filter-bar-enabled:hover .b-filter-bar-field input,
.b-filter-bar-compact .b-grid-header.b-filter-bar-enabled:hover .b-filter-bar-field input::placeholder {
    color: var(--b-grid-header-hover-color)
}

.b-filter-bar-compact .b-filter-bar-field {
    margin: 0;
    height: 100%;
    flex: 1;
    --b-text-field-input-padding: 0;
    --b-text-field-border-width: 0;
    --b-combo-chip-view-padding-top: 0;
    --b-combo-chip-view-padding: 0;
    --b-text-field-background: transparent;
    --b-field-trigger-color: var(--b-grid-header-icon-color)
}

    .b-filter-bar-compact .b-filter-bar-field input::placeholder {
        color: var(--b-grid-header-color);
        font-size: var(--b-grid-header-font-size);
        font-weight: var(--b-grid-header-font-weight);
        text-transform: var(--b-grid-header-text-transform)
    }

    .b-filter-bar-compact .b-filter-bar-field > .b-field-inner:before {
        transition: none
    }

    .b-filter-bar-compact .b-filter-bar-field:not(:focus-within) .b-field-trigger[data-ref=expand],
    .b-filter-bar-compact .b-filter-bar-field:not(:focus-within) .b-field-trigger[data-ref=clear],
    .b-filter-bar-compact .b-filter-bar-field:not(:focus-within) .b-field-trigger[data-ref=spin],
    .b-filter-bar-compact .b-filter-bar-field:not(:focus-within) .b-field-trigger[data-ref=back],
    .b-filter-bar-compact .b-filter-bar-field:not(:focus-within) .b-field-trigger[data-ref=forward] {
        display: none
    }

    .b-filter-bar-compact .b-filter-bar-field:focus-within:not(.b-empty) .b-icon-remove,
    .b-filter-bar-compact .b-filter-bar-field:focus-within .b-field-trigger:not(.b-step-trigger, .b-icon-remove, .b-spintrigger) {
        display: flex
    }

    .b-filter-bar-compact .b-filter-bar-field:not(.b-empty) input::placeholder {
        color: transparent
    }

.b-filter-bar-compact.b-dragging .b-filter-bar-field {
    display: none
}

:root,
:host {
    --b-group-header-font-weight: 500;
    --b-group-header-border-width: var(--b-grid-row-border-width);
    --b-group-header-zindex: 5;
    --b-group-header-collapsing-zindex: 7;
    --b-group-collapse-icon: "\f107";
    --b-group-header-icon: "\f5fd";
    --b-group-header-background: var(--b-neutral-100);
    --b-group-header-color: var(--b-neutral-20);
    --b-group-header-icon-color: var(--b-neutral-20);
    --b-group-header-border-color: var(--b-grid-row-border-color);
    --b-group-header-stripe-background: var(--b-neutral-97);
    --b-group-count-badge-background: var(--b-neutral-95);
    --b-group-count-badge-color: var(--b-text-2)
}

.b-no-row-lines {
    --b-group-header-border-width: 0
}

.b-grid-header.b-group .b-sort-icon:after {
    font-style: normal;
    content: var(--b-group-header-icon);
    font-family: var(--b-widget-icon-font-family)
}

.b-group-row {
    --b-grid-cell-background: var(--b-group-header-background);
    --b-grid-row-border-width: var(--b-group-header-border-width);
    --b-grid-row-border-color: var(--b-group-header-border-color);
    --b-grid-row-zindex: var(--b-group-header-zindex)
}

    .b-group-row.b-collapsing,
    .b-group-row.b-expanding {
        --b-grid-row-zindex: var(--b-group-header-collapsing-zindex)
    }

    .b-group-row .b-grid-cell {
        --b-grid-cell-border-color: transparent
    }

.b-hide-row-hover .b-group-row {
    --b-grid-cell-hover-background: var(--b-group-header-background);
    --b-grid-cell-selected-background: var(--b-group-header-background);
    --b-grid-cell-hover-selected-background: var(--b-group-header-background)
}

.b-stripe .b-group-row {
    --b-grid-row-border-width: var(--b-stripe-border-width);
    --b-group-header-background: var(--b-group-header-stripe-background)
}

.b-hide-row-hover :is(.b-stripe .b-group-row) {
    --b-grid-cell-hover-background: var(--b-group-header-stripe-background);
    --b-grid-cell-selected-background: var(--b-group-header-stripe-background);
    --b-grid-cell-hover-selected-background: var(--b-group-header-stripe-background)
}

.b-grid-cell.b-group-title {
    contain: size layout style;
    gap: 1em;
    z-index: 1;
    --b-grid-cell-color: var(--b-group-header-color);
    --b-grid-cell-font-weight: var(--b-group-header-font-weight);
    --bi-grid-cell-overflow: visible
}

    .b-grid-cell.b-group-title.b-grid-cell-align-right,
    .b-grid-cell.b-group-title.b-grid-cell-align-end {
        justify-content: flex-end
    }

    .b-grid-cell.b-group-title.b-grid-cell-align-center {
        justify-content: flex-start
    }

.b-group-state-icon {
    display: grid;
    place-items: center;
    font-style: normal;
    cursor: pointer;
    width: 1em;
    transition: rotate .2s;
    color: var(--b-group-header-icon-color)
}

    .b-group-state-icon:before {
        content: var(--b-group-collapse-icon);
        font-family: var(--b-widget-icon-font-family)
    }

.b-grid-group-collapsed .b-group-state-icon {
    rotate: -90deg
}

.b-group-count {
    display: grid;
    place-items: center;
    min-width: 2em;
    width: 2em;
    height: 2em;
    border-radius: 50%;
    font-size: .7em;
    background: var(--b-group-count-badge-background);
    color: var(--b-group-count-badge-color)
}

:root,
:host {
    --b-group-summary-background: var(--b-neutral-99)
}

.b-grid-row.b-group-footer {
    --b-grid-cell-border-color: transparent;
    --b-grid-cell-background: var(--b-group-summary-background)
}

    .b-grid-row.b-group-footer td {
        padding: .25em 0
    }

    .b-grid-row.b-group-footer .b-grid-summary-label {
        padding-inline-end: 1em
    }

    .b-grid-row.b-group-footer .b-grid-summary-value {
        width: 100%
    }

.b-grid-group-collapsed.b-header-summary .b-group-title {
    --bi-grid-cell-overflow: clip
}

:root,
:host {
    --b-locked-rows-separator-width: 1px;
    --b-locked-rows-separator-color: var(--b-grid-splitter-color, var(--b-grid-splitter-narrow-color))
}

.b-locked-rows {
    z-index: 1
}

    .b-locked-rows [aria-rowcount="1"] .b-virtual-scrollers {
        flex-basis: 0
    }

    .b-locked-rows:has(.b-widget-scroller.b-grid-empty) {
        overflow: visible
    }

        .b-locked-rows:has(.b-widget-scroller.b-grid-empty) .b-grid-body-wrap,
        .b-locked-rows:has(.b-widget-scroller.b-grid-empty) .b-grid-panel-body {
            overflow: visible
        }

    .b-locked-rows:has(.b-grid-row) {
        box-shadow: var(--b-grid-header-box-shadow);
        border-bottom: var(--b-locked-rows-separator-width) solid var(--b-locked-rows-separator-color)
    }

    .b-locked-rows .b-widget-scroller.b-grid-empty {
        min-height: 0
    }

    .b-locked-rows .b-grid-row.b-last {
        --b-grid-row-border-width: 0
    }

.b-merge-cells .b-single-child .b-grid-sub-grid:not(.b-grid-sub-grid-collapsed, .b-time-axis-sub-grid, .b-horizontal-overflow) {
    overflow: clip !important
}

.b-merge-cells .b-grid-row:not(.b-selected, .b-hover) .b-merged-cell {
    border-bottom: none
}

.b-merge-cells .b-grid-row:is(.b-selected, .b-hover):has(.b-merged-cell) {
    overflow: visible
}

.b-merge-cells .b-grid-row:is(.b-selected, .b-hover) .b-merged-cell {
    top: -1px;
    height: calc(100% + 1px);
    border-top: var(--b-grid-row-border-width) solid var(--b-grid-row-border-color)
}

.b-grid-merged-cells {
    position: absolute;
    contain: strict;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    border-bottom: var(--b-grid-cell-border-width) solid var(--b-grid-cell-border-color);
    --b-grid-cell-background: transparent;
    --b-grid-row-border-color: transparent;
    --bi-grid-cell-overflow: visible
}

.b-merge-cells-passthrough .b-grid-merged-cells {
    pointer-events: none
}

.b-grid-merged-cells .b-grid-cell {
    position: sticky;
    top: 0;
    flex: 1;
    contain: none
}

.b-grid-merged-cells.b-selected {
    background: var(--b-grid-cell-selected-background)
}

:root,
:host {
    --b-grid-summary-label-font-size: 1em;
    --b-grid-summary-value-font-size: 1em
}

.b-summary-wrap {
    display: grid;
    column-gap: 1em;
    grid-template-columns: min-content auto;
    align-items: center;
    width: 100%
}

    .b-summary-wrap .b-grid-summary-label {
        font-size: var(--b-grid-summary-label-font-size)
    }

    .b-summary-wrap .b-grid-summary-value {
        overflow: clip;
        text-overflow: ellipsis;
        font-size: var(--b-grid-summary-value-font-size)
    }

        .b-summary-wrap .b-grid-summary-value.b-no-label {
            grid-column: span 2
        }

:root,
:host {
    --b-quick-find-header-inset: 0;
    --b-quick-find-hit-padding: .2em 0;
    --b-quick-find-header-badge-color: var(--b-grid-header-color)
}

.b-quick-hit-cell {
    background: var(--b-quick-find-background, var(--b-primary-95))
}

.b-quick-hit-text {
    border-radius: 2px;
    --b-primary: var(--b-quick-find-primary);
    font-weight: var(--b-quick-find-font-weight);
    background: var(--b-quick-find-background, var(--b-primary-95));
    line-height: .8
}

.b-quick-hit-text {
    padding: var(--b-quick-find-hit-padding)
}

.b-quick-hit-header {
    position: absolute;
    z-index: 1;
    display: grid;
    place-items: center;
    --b-primary: var(--b-quick-find-primary);
    inset: var(--b-quick-find-header-inset);
    background: var(--b-quick-find-background, var(--b-primary-95))
}

    .b-quick-hit-cell-badge,
    .b-quick-hit-header .b-quick-hit-badge {
        position: absolute;
        line-height: 1;
        font-size: var(--b-quick-find-badge-font-size);
        inset-inline-end: var(--b-quick-find-badge-offset);
        top: var(--b-quick-find-badge-offset)
    }

    .b-quick-hit-header .b-quick-hit-badge {
        color: var(--b-quick-find-header-badge-color)
    }

.b-quick-hit-cell-badge {
    color: var(--b-quick-find-badge-color)
}

:root,
:host {
    --b-grid-splitter-zindex: 10;
    --b-region-resize-splitter-width: var(--b-splitter-size);
    --b-region-resize-splitter-width-hover: var(--b-splitter-hover-size);
    --b-region-resize-splitter-touch-width-hover: var(--b-splitter-touch-hover-size);
    --b-region-resize-splitter-collapsed-width: var(--b-region-resize-splitter-width);
    --b-region-resize-splitter-color: var(--b-splitter-color);
    --b-region-resize-button-color: var(--b-splitter-button-icon-color);
    --b-region-resize-splitter-hover-color: var(--b-splitter-hover-color);
    --b-region-resize-button-hover-color: var(--b-splitter-button-hover-color);
    --bi-grid-splitter-button-size: 1em;
    --bi-grid-splitter-button-display: flex
}

.b-grid-base.b-split {
    --b-grid-splitter-color: var(--b-region-resize-splitter-color)
}

    .b-grid-base.b-split .b-grid-splitter:not(.b-disabled) {
        --b-grid-splitter-width: var(--b-region-resize-splitter-width)
    }

@media (pointer: coarse) {
    .b-grid-base.b-split {
        --b-region-resize-splitter-width-hover: var(--b-region-resize-splitter-touch-width-hover)
    }
}

.b-grid-splitter {
    position: relative;
    pointer-events: var(--bi-grid-splitter-pointer-events, none);
    z-index: var(--b-grid-splitter-zindex)
}

@media (any-pointer: coarse) {
    .b-grid-splitter {
        --bi-grid-splitter-button-size: 1.3em
    }
}

.b-split .b-grid-splitter {
    --bi-grid-splitter-pointer-events: all
}

.b-grid-splitter.b-disabled {
    --bi-grid-splitter-pointer-events: none
}

.b-grid-base.b-split.b-rtl .b-grid-splitter-inner .b-grid-splitter-buttons .b-grid-splitter-button-collapse,
.b-grid-base.b-split.b-rtl .b-grid-splitter-inner .b-grid-splitter-buttons .b-grid-splitter-button-expand {
    scale: -1
}

.b-grid-base.b-split.b-rtl .b-grid-splitter-inner .b-grid-splitter-buttons .b-grid-splitter-button-expand {
    justify-content: flex-end
}

.b-grid-base.b-split.b-rtl .b-grid-splitter-inner .b-grid-splitter-buttons .b-grid-splitter-button-collapse {
    justify-content: flex-start
}

.b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)) {
    overflow: visible
}

    .b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)) .b-grid-splitter-inner {
        position: absolute;
        inset-block: 0;
        left: 50%;
        translate: -50%;
        background: inherit;
        flex-direction: column;
        align-items: center;
        opacity: 0;
        transition: opacity .2s;
        display: var(--bi-grid-splitter-button-display);
        width: var(--b-region-resize-splitter-width-hover)
    }

    .b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)).b-grid-splitter-collapsed {
        cursor: initial;
        --b-grid-splitter-width: var(--b-region-resize-splitter-collapsed-width);
        --b-grid-splitter-color: var(--b-region-resize-splitter-hover-color)
    }

        .b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)).b-grid-splitter-collapsed .b-grid-splitter-inner {
            opacity: 1
        }

        .b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)).b-grid-splitter-collapsed:not(.b-grid-splitter-allow-collapse) .b-grid-splitter-button-collapse,
        .b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)).b-grid-splitter-collapsed.b-grid-splitter-allow-collapse .b-grid-splitter-button-expand {
            visibility: hidden
        }

        .b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)).b-grid-splitter-collapsed .b-grid-splitter-buttons {
            --bi-grid-splitter-buttons-opacity: 1;
            --bi-grid-splitter-buttons-scale: 1
        }

    .b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)).b-left-only:not(.b-grid-splitter-collapsed) .b-grid-splitter-button-expand,
    .b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)).b-right-only:not(.b-grid-splitter-collapsed) .b-grid-splitter-button-collapse {
        visibility: hidden
    }

    .b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)) .b-grid-splitter-buttons {
        display: flex;
        position: absolute;
        translate: 0 -50%;
        height: 2.4em;
        width: 2.4em;
        transition: scale .1s, opacity .1s;
        opacity: var(--bi-grid-splitter-buttons-opacity, 0);
        scale: var(--bi-grid-splitter-buttons-scale, 0);
        font-size: var(--bi-grid-splitter-button-size)
    }

    .b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)) .b-grid-splitter-button-collapse,
    .b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)) .b-grid-splitter-button-expand {
        flex: 1;
        cursor: pointer;
        display: flex;
        align-items: center;
        background: var(--b-grid-splitter-color)
    }

:is(.b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)) .b-grid-splitter-button-collapse, .b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)) .b-grid-splitter-button-expand):hover {
    --b-region-resize-button-color: var(--b-region-resize-button-hover-color)
}

.b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)) .b-grid-splitter-button-collapse {
    border-top-left-radius: 100% 50%;
    border-bottom-left-radius: 100% 50%;
    justify-content: flex-end;
    padding-right: .1em
}

.b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)) .b-grid-splitter-button-expand {
    border-top-right-radius: 100% 50%;
    border-bottom-right-radius: 100% 50%;
    padding-left: .1em
}

.b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)) .b-grid-splitter-button-icon {
    cursor: pointer;
    height: 1.5em;
    fill: var(--b-region-resize-button-color)
}

.b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)).b-hover,
.b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)).b-partner-splitter-hover,
.b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)).b-touching,
.b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)).b-moving {
    --b-grid-splitter-color: var(--b-region-resize-splitter-hover-color);
    --bi-region-resize-splitter-inner-width: var(--b-region-resize-splitter-width-hover)
}

:is(.b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)).b-hover, .b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)).b-partner-splitter-hover, .b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)).b-touching, .b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)).b-moving) .b-grid-splitter-inner {
    opacity: 1
}

:is(.b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)).b-hover, .b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)).b-partner-splitter-hover, .b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)).b-touching, .b-grid-base.b-split .b-grid-splitter:where(:not(.b-disabled)).b-moving):not(.b-partner-splitter-hover) {
    --bi-grid-splitter-buttons-scale: 1;
    --bi-grid-splitter-buttons-opacity: 1
}

.b-grid-base.b-split:not(.b-grid-splitter-no-drag) .b-grid-splitter:not(.b-disabled, .b-grid-splitter-collapsed) .b-grid-splitter-inner {
    cursor: col-resize
}

.b-grid-header-scroller.b-collapsed,
.b-grid-footer-scroller.b-collapsed,
.b-virtual-scroller.b-collapsed {
    width: 0;
    min-width: 0 !important
}

.b-grid-splitter-button-collapse .b-splitter-button-touch-area {
    left: -.9em
}

.b-grid-splitter-button-expand .b-splitter-button-touch-area {
    right: -.9em
}

.b-drag-helper-active .b-grid-base.b-split .b-grid-splitter {
    pointer-events: none !important
}

.b-hide-splitter-buttons {
    --bi-grid-splitter-button-display: none
}

.b-row-editor .b-bottom-toolbar .b-toolbar-content {
    justify-content: flex-end
}

.b-row-editor.b-read-only [data-ref=save] {
    display: none
}

.b-row-editor :is(.b-panel-overlay-right, .b-panel-overlay-left) .b-toolbar-content > * {
    flex: 1 1 33%;
    max-width: 10em
}

:root,
:host {
    --b-row-expander-border-bottom-width: var(--b-grid-row-border-width);
    --b-row-expander-font-weight: var(--b-grid-cell-font-weight);
    --b-row-expander-border-bottom-color: var(--b-grid-row-border-color);
    --b-row-expander-color: var(--b-grid-cell-color)
}

.b-row-expander-body {
    display: flex;
    inset-inline: 0;
    background: var(--b-row-expander-background);
    color: var(--b-row-expander-color);
    font-weight: var(--b-row-expander-font-weight);
    padding: var(--b-row-expander-padding, 0)
}

    .b-row-expander-body,
    .b-row-expander-body.b-no-resize-observer.b-resize-monitored {
        position: absolute
    }

.b-grid-vertical-scroller > .b-row-expander-body {
    z-index: 100;
    transition: height .3s, top .3s;
    overflow: hidden
}

.b-row-expander-loading {
    justify-content: center;
    align-items: center;
    font-size: 1.2em;
    display: flex;
    width: 100%
}

    .b-row-expander-loading .b-icon-spinner {
        margin-inline-end: .5em
    }

.b-grid-base .b-grid-row [data-column=expanderActionColumn] .b-icon {
    transition: rotate .15s ease-in-out;
    font-size: 1em;
    rotate: 180deg
}

.b-row-expander-disabled [data-column=expanderActionColumn] {
    opacity: .2;
    pointer-events: none
}

.b-row-expander.b-grid-base.b-animating.b-row-expander-animating.b-auto-height .b-grid-body-container,
.b-row-expander.b-grid-base.b-animating.b-row-expander-animating.b-auto-height .b-grid-vertical-scroller {
    transition: height .3s;
    overflow-y: hidden !important
}

.b-row-expander.b-grid-base.b-animating.b-row-expander-animating.b-auto-height .b-yscroll-pad {
    display: none
}

.b-row-expander.b-grid-base.b-animating.b-row-expander-animating .b-grid-row {
    transition: height .3s, top .3s
}

.b-grid-base .b-row-expander-row-expanded:not(.b-row-is-collapsing) [data-column=expanderActionColumn] .b-icon-collapse-left {
    rotate: 270deg
}

.b-grid-base .b-row-expander-row-expanded:not(.b-row-is-collapsing) [data-column=expanderActionColumn] .b-icon-collapse-right {
    rotate: 90deg
}

.b-row-expander-row-expanded {
    border-bottom: var(--b-row-expander-border-bottom-width) solid var(--b-row-expander-border-bottom-color)
}

:root,
:host {
    --b-row-reorder-indicator-size: 2px;
    --b-row-reorder-grip-icon: "\f58e";
    --b-row-reorder-indicator-color: var(--b-secondary);
    --b-row-reorder-indicator-invalid-color: var(--b-color-red);
    --b-row-reorder-box-shadow: var(--b-elevation-1);
    --b-row-reorder-invalid-background: color-mix(in oklab, var(--b-row-reorder-indicator-invalid-color), transparent 80%);
    --b-row-reorder-proxy-opacity: .5
}

.b-row-drop-indicator {
    display: none;
    pointer-events: none
}

.b-row-reordering .b-row-drop-indicator {
    position: absolute;
    display: block;
    left: 0;
    width: 100%;
    z-index: 2000;
    top: calc(var(--b-row-reorder-indicator-size) / -2);
    height: var(--b-row-reorder-indicator-size);
    background-color: var(--b-row-reorder-indicator-color)
}

    .b-row-reordering .b-row-drop-indicator.b-drag-invalid {
        --b-row-reorder-indicator-color: var(--b-row-reorder-indicator-invalid-color)
    }

.b-row-reordering .b-grid-body-container {
    z-index: 4
}

.b-row-reordering .b-drag-original {
    opacity: .3
}

.b-row-reordering .b-grid-group-collapsed.b-row-reordering-target {
    --b-grid-cell-background: var(--b-grid-cell-hover-background)
}

.b-row-reordering .b-row-reordering-target {
    z-index: 9999;
    box-shadow: 0 1px 0 0 var(--b-row-reorder-indicator-color) inset, 0 -1px 0 0 var(--b-row-reorder-indicator-color) inset
}

.b-row-reorder-grip {
    display: grid;
    grid-template-columns: auto 1fr
}

    .b-row-reorder-grip.b-grid-cell-align-end {
        justify-items: end
    }

        .b-row-reorder-grip.b-grid-cell-align-end:before {
            margin-inline-end: auto
        }

    .b-row-reorder-grip.b-grid-cell-align-right {
        justify-items: right
    }

    .b-row-reorder-grip.b-grid-cell-align-center {
        justify-items: center
    }

    .b-row-reorder-grip:before {
        display: inline-flex;
        align-self: stretch;
        align-items: center;
        cursor: move;
        font-size: .8em;
        content: var(--b-row-reorder-grip-icon);
        font-family: var(--b-widget-icon-font-family);
        padding-inline: var(--b-grid-cell-padding-inline);
        margin-inline-start: calc(var(--b-grid-cell-padding-inline) * -1)
    }

:is(.b-show-grip-on-hover.b-row-reordering, .b-show-grip-on-hover .b-grid-row:not(:hover, .b-hover)) .b-row-reorder-grip:before {
    visibility: hidden
}

.b-row-reorder-proxy {
    display: flex;
    flex-direction: column;
    width: auto !important;
    height: auto !important;
    z-index: 10000;
    overflow: visible
}

    .b-row-reorder-proxy .b-grid-row {
        position: relative
    }

    .b-row-reorder-proxy.b-drag-copy .b-row-proxy-copy {
        display: flex
    }

    .b-row-reorder-proxy .b-row-proxy-copy {
        display: none;
        height: 1em;
        width: 1em;
        align-items: center;
        justify-content: center;
        position: absolute;
        inset-inline-start: -.5em;
        top: -.5em;
        border-radius: 50%;
        padding: .75em;
        z-index: 20000;
        background: var(--b-panel-background);
        box-shadow: var(--b-row-reorder-box-shadow)
    }

    .b-row-reorder-proxy .b-grid-row {
        width: 100%;
        position: relative
    }

    .b-row-reorder-proxy.b-dragging {
        transition: margin-top .2s, opacity .2s;
        background: transparent;
        opacity: var(--b-row-reorder-proxy-opacity)
    }

        .b-row-reorder-proxy.b-dragging.b-drag-invalid {
            --b-grid-cell-background: var(--b-row-reorder-invalid-background)
        }

        .b-row-reorder-proxy.b-dragging .b-grid-row {
            transition: transform .2s, background-color .2s
        }

.b-row-drag-count-indicator:before {
    inset-inline-end: -.7em
}

.b-grid-tree-grouped .b-tree-parent-row .b-row-reorder-grip:before {
    content: none
}

.b-row-resize .b-grid-row.b-resize-handle {
    cursor: row-resize !important
}

.b-row-resize .b-grid-row.b-resizing {
    z-index: 2
}

.b-row-resize.b-row-resizing .b-grid-row {
    pointer-events: none
}

.b-row-resize.b-row-resizing * {
    cursor: row-resize !important
}

.b-search-hit-cell {
    background: var(--b-quick-find-background, var(--b-primary-95))
}

.b-search-hit-text {
    padding: .3em 0;
    --b-primary: var(--b-quick-find-primary);
    font-weight: var(--b-quick-find-font-weight);
    background: var(--b-quick-find-background, var(--b-primary-95))
}

.b-search-hit-field {
    position: absolute;
    inset: 0;
    padding: .5em 0;
    background: var(--b-quick-find-background, var(--b-primary-95))
}

.b-search-hit-cell-badge {
    position: absolute;
    line-height: 1;
    color: var(--b-quick-find-badge-color);
    font-size: var(--b-quick-find-badge-font-size);
    inset-inline-end: var(--b-quick-find-badge-offset);
    top: var(--b-quick-find-badge-offset)
}

:root,
:host {
    --b-sort-header-icon: "\f062";
    --b-sort-header-index-font-size: .6em;
    --b-sort-header-index-color: inherit;
    --bi-grid-sort-icon-rotate: 0;
    --bi-grid-sort-icon-opacity: 0;
    --bi-grid-sort-icon-size: 0;
    --bi-grid-sort-icon-margin-inline-start: 0
}

.b-sort-hover-icon .b-grid-header.b-sortable {
    cursor: pointer
}

    .b-sort-hover-icon .b-grid-header.b-sortable:not(.b-sort, .b-resizing):hover {
        --bi-grid-sort-icon-opacity: .5;
        --bi-grid-sort-icon-size: var(--b-grid-header-icon-font-size);
        --bi-grid-sort-icon-margin-inline-start: var(--b-grid-header-gap)
    }

.b-grid-base.b-sort.b-dragging-header .b-grid-header:not(.b-sort) {
    --bi-grid-sort-icon-opacity: 0;
    --bi-grid-sort-icon-size: 0;
    --bi-grid-sort-icon-margin-inline-start: 0
}

.b-sort-icon {
    transition-property: opacity, color, font-size, margin;
    overflow: hidden;
    white-space: nowrap;
    color: var(--b-grid-header-icon-color);
    opacity: var(--bi-grid-sort-icon-opacity);
    font-size: var(--bi-grid-sort-icon-size);
    margin-inline-start: var(--bi-grid-sort-icon-margin-inline-start);
    transition-duration: var(--b-grid-header-icon-transition-duration)
}

    .b-sort-icon:before {
        display: inline-block;
        transition: rotate .2s;
        content: var(--b-sort-header-icon);
        font-family: var(--b-widget-icon-font-family);
        rotate: var(--bi-grid-sort-icon-rotate)
    }

:is(.b-grid-header.b-asc, .b-grid-header.b-desc) .b-sort-icon {
    --bi-grid-sort-icon-opacity: 1;
    --bi-grid-sort-icon-size: var(--b-grid-header-icon-font-size);
    --bi-grid-sort-icon-margin-inline-start: var(--b-grid-header-gap)
}

.b-grid-header.b-desc .b-sort-icon {
    --bi-grid-sort-icon-rotate: 180deg
}

.b-sort .b-grid-header-text[data-sort-index]:before {
    content: attr(data-sort-index);
    position: relative;
    top: 1em;
    z-index: 30;
    order: 1;
    color: var(--b-sort-header-index-color);
    font-size: var(--b-sort-header-index-font-size)
}

.b-split-container {
    display: flex;
    height: 100%;
    position: relative;
    overflow: hidden
}

    .b-split-container.b-split-horizontal,
    .b-split-container.b-split-both {
        flex-direction: column
    }

    .b-split-container.b-split-vertical {
        flex-direction: row
    }

    .b-split-container .b-split-top,
    .b-split-container .b-split-bottom {
        display: flex;
        flex: 1
    }

    .b-split-container > .b-grid-base,
    .b-split-container > div > .b-grid-base {
        flex: 1;
        flex-basis: 0;
        height: unset !important
    }

.b-sticky-cells .b-grid-sticky-row {
    position: absolute;
    top: 0;
    left: 0;
    min-width: auto;
    border: 0 none;
    padding: 0;
    contain: initial
}

    .b-sticky-cells .b-grid-sticky-row .b-grid-cell {
        width: min-content;
        contain: initial;
        padding: 0;
        border: 0 none
    }

.b-sticky-cells .b-sticky-cells-current-top-row .b-sticky-content-el {
    visibility: hidden
}

.b-sticky-cells .b-sticky-cells-current-top-row.b-not-enough-height .b-sticky-content-el {
    visibility: visible;
    align-self: flex-end
}

:root,
:host {
    --b-stripe-odd-color: var(--b-neutral-98);
    --b-stripe-even-color: var(--b-neutral-100);
    --b-stripe-border-width: 0
}

.b-stripe {
    --b-grid-row-border-width: var(--b-stripe-border-width)
}

    .b-stripe .b-grid-row.b-odd {
        --b-grid-cell-background: var(--b-stripe-odd-color)
    }

    .b-stripe .b-grid-row.b-even {
        --b-grid-cell-background: var(--b-stripe-even-color)
    }

    .b-stripe .b-hide-row-hover .b-grid-row.b-odd {
        --b-grid-cell-hover-background: var(--b-stripe-odd-color);
        --b-grid-cell-selected-background: var(--b-stripe-odd-color);
        --b-grid-cell-hover-selected-background: var(--b-stripe-odd-color)
    }

    .b-stripe .b-hide-row-hover .b-grid-row.b-even {
        --b-grid-cell-hover-background: var(--b-stripe-even-color);
        --b-grid-cell-selected-background: var(--b-stripe-even-color);
        --b-grid-cell-hover-selected-background: var(--b-stripe-even-color)
    }

.b-summary-disabled .b-grid-footer-container {
    display: none
}

.b-grid-footer.b-focused:focus-visible {
    outline: var(--b-grid-cell-focused-outline-width) solid var(--b-grid-cell-focused-outline-color);
    outline-offset: var(--b-grid-cell-focused-outline-offset, calc(var(--b-grid-cell-focused-outline-width) * -1))
}

.b-generated-parent .b-grid-cell .b-grid-tree-group-summary {
    display: flex;
    justify-content: inherit
}

:root,
:host {
    --b-grid-footer-outline-width: var(--b-grid-header-border-width);
    --b-grid-footer-outline-color: var(--b-grid-header-border-color);
    --b-grid-footer-box-shadow: none;
    --b-grid-footer-border-width: var(--b-grid-header-border-width);
    --b-grid-footer-padding: var(--b-grid-header-padding);
    --b-grid-footer-background: var(--b-neutral-100);
    --b-grid-footer-border-color: var(--b-grid-header-border-color);
    --b-grid-footer-color: var(--b-grid-header-color)
}

.b-grid-footer-container {
    outline: var(--b-grid-footer-outline-width) solid var(--b-grid-footer-outline-color);
    box-shadow: var(--b-grid-footer-box-shadow)
}

    .b-grid-footer-container.b-hidden {
        display: none
    }

.b-grid-footer-scroller {
    display: flex;
    position: relative;
    overflow: clip;
    flex-shrink: 0;
    min-width: 0
}

.b-grid-footers {
    display: inline-flex;
    align-items: stretch;
    height: 100%;
    white-space: nowrap;
    line-height: initial
}

.b-grid-footer {
    display: flex;
    flex-shrink: 0;
    align-items: stretch;
    transition: background-color .2s;
    color: var(--b-grid-footer-color);
    background: var(--b-grid-footer-background);
    border-inline-end: var(--b-grid-footer-border-width) solid var(--b-grid-footer-border-color);
    font-weight: var(--b-grid-footer-font-weight);
    padding: var(--b-grid-footer-padding);
    text-align: var(--b-grid-footer-text-align)
}

    .b-grid-footer:last-child {
        --b-grid-footer-border-width: 0
    }

.b-grid-footer-align-start,
.b-grid-footer-align-left {
    --b-grid-footer-text-align: start
}

.b-grid-footer-align-center {
    --b-grid-footer-text-align: center
}

.b-grid-footer-align-end,
.b-grid-footer-align-right {
    --b-grid-footer-text-align: end
}

:root,
:host {
    --b-grid-header-font-size: inherit;
    --b-grid-header-font-weight: 500;
    --b-grid-header-padding: var(--b-grid-cell-padding-inline);
    --b-grid-header-text-transform: none;
    --b-grid-header-text-align: start;
    --b-grid-header-gap: .5em;
    --b-grid-header-icon-font-size: 1em;
    --b-grid-header-border-width: var(--b-grid-cell-border-width);
    --b-grid-header-container-border-width: 1px;
    --b-grid-header-zindex: 1;
    --b-grid-header-icon-transition-duration: var(--b-default-transition-duration);
    --b-grid-header-background: var(--b-neutral-100);
    --b-grid-header-box-shadow: var(--b-elevation-0);
    --b-grid-header-color: var(--b-widget-color);
    --b-grid-header-icon-color: var(--b-grid-header-color);
    --b-grid-header-border-color: var(--b-grid-cell-border-color);
    --b-grid-header-hover-color: var(--b-widget-color)
}

.b-grid-headers,
.b-grid-footers {
    contain: paint style layout;
    flex: 1 1 auto;
    z-index: var(--b-grid-header-zindex)
}

div.b-grid-header-container,
.b-grid-footer-container {
    display: flex;
    z-index: var(--b-grid-header-zindex)
}

    div.b-grid-header-container.b-hidden {
        clip-path: inset(0 0 100% 0);
        contain: strict;
        border-bottom: none
    }

    div.b-grid-header-container .b-yscroll-pad {
        border-bottom: var(--b-grid-header-container-border-width) solid var(--b-grid-header-border-color)
    }

.b-grid-header-scroller {
    display: flex;
    position: relative;
    overflow: clip;
    min-width: 0;
    box-shadow: var(--b-grid-header-box-shadow)
}

.b-grid-headers {
    display: flex;
    flex-flow: row nowrap;
    align-items: stretch;
    overflow: clip;
    line-height: initial;
    position: relative
}

.b-grid-header {
    position: relative;
    display: flex;
    user-select: none;
    -webkit-user-select: none;
    flex-direction: column;
    flex-shrink: 0;
    align-items: stretch;
    justify-content: center;
    overflow: clip;
    transition: background-color var(--b-default-transition-duration), border var(--b-default-transition-duration);
    contain: style;
    --b-grid-header-applied-background: var(--b-grid-header-background);
    background: var(--b-grid-header-applied-background);
    border-inline-end: var(--b-grid-header-border-width) solid var(--b-grid-header-border-color);
    color: var(--b-grid-header-color);
    font-size: var(--b-grid-header-font-size);
    font-weight: var(--b-grid-header-font-weight);
    text-transform: var(--b-grid-header-text-transform)
}

    .b-grid-header.b-depth-0:hover {
        color: var(--b-grid-header-hover-color);
        --b-grid-header-applied-background: var(--b-grid-header-hover-background, var(--b-primary-98));
        --b-grid-header-icon-color: var(--b-grid-header-hover-color)
    }

    .b-grid-header.b-focused:focus-visible {
        outline: var(--b-grid-cell-focused-outline-width) solid var(--b-grid-cell-focused-outline-color);
        outline-offset: calc(var(--b-grid-cell-focused-outline-width) * -1)
    }

    .b-grid-header.b-depth-0 {
        width: 0;
        padding-inline: var(--b-grid-header-padding);
        border-block-end: var(--b-grid-header-container-border-width) solid var(--b-grid-header-border-color)
    }

.b-fill-last-column .b-grid-header.b-last-leaf:not(.b-drop-placeholder) {
    border-inline-end: none
}

.b-grid-header:has(.b-widget) .b-grid-header-text-content:empty {
    display: none
}

.b-grid-header-parent {
    border-inline-end: none;
    flex-basis: auto;
    padding-inline: 0
}

    .b-grid-header-parent > .b-grid-header-text {
        flex: 1 1 auto;
        padding: var(--b-grid-header-padding)
    }

    .b-grid-header-parent:where(:not(.b-last-parent)) > .b-grid-header-text {
        transition: background-color var(--b-default-transition-duration), border var(--b-default-transition-duration);
        border-inline-end: var(--b-grid-header-border-width) solid var(--b-grid-header-border-color)
    }

.b-grid-header-children {
    display: flex;
    flex-flow: row nowrap;
    flex: 1 1 auto;
    transition: border var(--b-default-transition-duration);
    border-top: var(--b-grid-header-border-width) solid var(--b-grid-header-border-color)
}

    .b-grid-header-children > * {
        width: inherit
    }

.b-grid-header-text {
    display: flex;
    align-items: center;
    padding-block: var(--b-grid-header-padding)
}

    .b-grid-header-text:has(.b-widget) {
        gap: var(--b-grid-header-gap)
    }

.b-grid-header-text-content {
    flex: 1;
    overflow: clip;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 0;
    text-align: var(--b-grid-header-text-align)
}

    .b-grid-header-text-content.b-has-text > * {
        margin-inline-end: var(--b-grid-header-gap)
    }

.b-grid-header-align-right,
.b-grid-header-align-end {
    --b-grid-header-text-align: end
}

.b-grid-header-align-center {
    --b-grid-header-text-align: center
}

:is(.b-writing-mode-sideways-lr, .b-writing-mode-sideways-rl, .b-writing-mode-vertical-lr, .b-writing-mode-vertical-rl) .b-grid-header-text-content {
    display: flex;
    text-align: start;
    align-items: var(--b-grid-header-text-align)
}

.b-writing-mode-sideways-lr .b-grid-header-text-content {
    writing-mode: sideways-lr
}

.b-writing-mode-sideways-rl .b-grid-header-text-content {
    writing-mode: sideways-rl
}

.b-writing-mode-horizontal-tb .b-grid-header-text-content {
    writing-mode: horizontal-tb
}

.b-writing-mode-vertical-lr .b-grid-header-text-content {
    writing-mode: vertical-lr
}

.b-writing-mode-vertical-rl .b-grid-header-text-content {
    writing-mode: vertical-rl
}

.b-grid-header-collapse-button {
    background: transparent;
    --b-button-height: 1em;
    --b-button-type-text-color: var(--b-neutral-60)
}

    .b-grid-header-collapse-button:hover {
        --b-button-color: var(--b-grid-header-color)
    }

.b-check-header-with-checkbox {
    align-items: center
}

    .b-check-header-with-checkbox .b-grid-header-text {
        display: none
    }

:root {
    --bi-grid-cell-dirty-indicator-clip-path: polygon(0% 50%, 0% 0%, 50% 0%);
    --bi-grid-cell-dirty-indicator-clip-path-rtl: polygon(100% 50%, 50% 0%, 100% 0%);
    --b-grid-cell-auto-height-padding-block: var(--b-grid-cell-padding-inline)
}

.b-no-column-lines,
.b-no-column-lines .b-grid-sub-grid {
    --b-grid-cell-border-width: 0;
    --b-grid-header-border-width: 0
}

.b-no-row-lines {
    --b-grid-row-border-width: 0
}

.b-grid-sub-grid {
    position: relative
}

    .b-grid-sub-grid.b-hidden {
        display: none
    }

.b-grid-sub-grid-collapsed {
    width: 0;
    min-width: 0 !important;
    overflow: hidden !important
}

.b-animating .b-grid-header-scroller,
.b-animating .b-grid-sub-grid {
    transition-property: width, flex, min-width;
    transition-duration: .3s
}

.b-grid-row {
    position: absolute;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    inset-inline-start: 0;
    overflow: clip;
    contain: layout;
    height: var(--b-grid-row-height);
    z-index: var(--b-grid-row-zindex)
}

.b-grid-sub-grid .b-grid-row {
    min-width: 100%
}

.b-grid-row.b-hover .b-grid-cell {
    --b-grid-cell-applied-background: var(--b-grid-cell-hover-background, var(--b-primary-98));
    --b-grid-cell-color: var(--b-grid-cell-selected-color);
    --b-grid-link-color: var(--b-grid-row-hover-link-color, var(--b-primary-30))
}

.b-grid-row.b-selected .b-grid-cell {
    --b-grid-cell-applied-background: var(--b-grid-cell-selected-background, var(--b-primary-96));
    --b-grid-cell-color: var(--b-grid-cell-selected-color);
    --b-grid-link-color: var(--b-grid-row-hover-link-color, var(--b-primary-30))
}

.b-grid-row.b-hover.b-selected .b-grid-cell {
    --b-grid-cell-applied-background: var(--b-grid-cell-hover-selected-background, var(--b-primary-94))
}

.b-grid-row.fa {
    display: flex
}

    .b-grid-row.fa:before {
        content: none
    }

.b-grid-row.b-row-placeholder .b-grid-cell {
    color: transparent;
    clip-path: inset(1em 1em 1em 1em)
}

    .b-grid-row.b-row-placeholder .b-grid-cell > *:not(.b-editor) {
        display: none
    }

    .b-grid-row.b-row-placeholder .b-grid-cell:after {
        content: "";
        position: absolute;
        inset: 1em;
        border-radius: 5px;
        background: var(--b-grid-row-placeholder-color)
    }

.b-hide-row-hover {
    --b-grid-cell-hover-background: var(--b-grid-cell-background);
    --b-grid-cell-selected-background: var(--b-grid-cell-background);
    --b-grid-cell-hover-selected-background: var(--b-grid-cell-background)
}

.b-grid-body-container.b-vertical-overflow .b-grid-row.b-last .b-grid-cell {
    --b-grid-row-border-color: transparent
}

.b-grid-cell {
    position: absolute;
    display: flex;
    flex-shrink: 0;
    contain: strict;
    align-items: center;
    white-space: nowrap;
    height: 100%;
    background: var(--b-grid-cell-applied-background, var(--b-grid-cell-background));
    color: var(--b-grid-cell-color);
    border-inline-end: var(--b-grid-cell-border-width) solid var(--b-grid-cell-border-color);
    border-bottom: var(--b-grid-row-border-width) solid var(--b-grid-row-border-color);
    font-size: var(--b-grid-cell-font-size);
    font-weight: var(--b-grid-cell-font-weight);
    gap: var(--b-grid-cell-gap);
    overflow: var(--bi-grid-cell-overflow);
    padding-inline: var(--b-grid-cell-padding-inline);
    padding-block: var(--b-grid-cell-padding-block)
}

    .b-grid-cell:not(.b-focused) *,
    .b-grid-cell:not(.b-focused) *:before,
    .b-grid-cell:not(.b-focused) *:after {
        transition: none
    }

.b-theme-transition .b-grid-cell {
    transition: background-color var(--b-default-transition-duration), border var(--b-default-transition-duration)
}

.b-windows .b-grid-cell {
    contain: layout
}

.b-grid-cell.b-focused:focus-visible {
    outline: var(--b-grid-cell-focused-outline-width) solid var(--b-grid-cell-focused-outline-color);
    outline-offset: var(--b-grid-cell-focused-outline-offset, calc(var(--b-grid-cell-focused-outline-width) * -1))
}

.b-grid-cell.b-hover {
    --b-grid-cell-applied-background: var(--b-grid-cell-hover-background, var(--b-primary-98));
    --b-grid-cell-color: var(--b-grid-cell-selected-color)
}

.b-grid-cell.b-selected {
    --b-grid-cell-applied-background: var(--b-grid-cell-selected-background, var(--b-primary-96));
    --b-grid-cell-color: var(--b-grid-cell-selected-color)
}

.b-grid-cell.b-auto-height {
    white-space: normal
}

    .b-grid-cell.b-auto-height:not(.b-tree-cell) {
        --b-grid-cell-padding-block: var(--b-grid-cell-auto-height-padding-block)
    }

.b-grid-cell.b-measuring-auto-height {
    contain: paint style layout;
    align-self: baseline;
    height: auto
}

.b-grid-no-text-selection .b-grid-cell {
    user-select: none;
    -webkit-user-select: none
}

.b-grid-cell a {
    color: var(--b-grid-link-color, var(--b-primary-30))
}

.b-supports-has.b-use-ellipsis:not(.b-grid-measuring) .b-grid-row {
    height: var(--b-grid-row-height)
}

    .b-supports-has.b-use-ellipsis:not(.b-grid-measuring) .b-grid-row .b-grid-cell:not(.b-auto-height, .b-row-reorder-grip, :has(*)) {
        display: block;
        text-overflow: ellipsis;
        line-height: var(--b-grid-row-height)
    }

.b-grid-cell-align-right,
.b-grid-cell-align-end {
    justify-content: flex-end;
    text-align: end
}

.b-grid-cell-align-center {
    justify-content: center;
    text-align: center
}

.b-rtl {
    --bi-grid-cell-dirty-indicator-clip-path: var(--bi-grid-cell-dirty-indicator-clip-path-rtl)
}

.b-show-dirty .b-cell-dirty:not(.b-editing):after,
.b-show-dirty-during-edit .b-cell-dirty:after {
    content: "";
    z-index: 2;
    position: absolute;
    top: 0;
    inset-inline-start: 1px;
    width: 1.2em;
    height: 1.2em;
    background-color: var(--b-grid-cell-dirty-color);
    clip-path: var(--bi-grid-cell-dirty-indicator-clip-path)
}

.b-grid-splitter {
    transition: background var(--b-default-transition-duration);
    background: var(--b-grid-splitter-color, var(--b-grid-splitter-narrow-color));
    flex: 0 0 var(--b-grid-splitter-width)
}

    .b-grid-splitter .b-grid-splitter-inner {
        display: none
    }

.b-virtual-scrollers {
    z-index: 3;
    display: flex;
    flex-direction: row;
    contain: paint style layout
}

.b-firefox .b-virtual-scrollers {
    contain: paint layout
}

.b-overlay-scrollbar.b-firefox.b-windows .b-virtual-scrollers,
.b-overlay-scrollbar.b-firefox.b-windows .b-virtual-scrollers .b-virtual-scroller {
    pointer-events: auto
}

.b-overlay-scrollbar .b-virtual-scrollers {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none
}

    .b-overlay-scrollbar .b-virtual-scrollers .b-virtual-scroller {
        height: 16px;
        pointer-events: none
    }

.b-virtual-scrollers .b-virtual-scroller {
    overflow-x: scroll;
    overflow-y: hidden
}

.b-virtual-scrollers .b-virtual-width {
    height: 1px
}

.b-overlay-scrollbar .b-virtual-scroller:hover,
.b-overlay-scrollbar .b-virtual-scroller.b-show-virtual-scroller {
    pointer-events: all;
    opacity: 1;
    transition: opacity .5s
}

:root,
:host {
    --b-action-column-button-size: 1.1em;
    --b-action-column-color: var(--b-widget-color);
    --b-action-column-row-hover-color: var(--b-widget-color);
    --b-action-column-readonly-color: var(--b-widget-disabled-color);
    --b-action-column-hover-color: var(--b-neutral-10)
}

.b-action-ct {
    display: flex;
    flex-flow: row nowrap;
    gap: .5em
}

.b-action-item {
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    font-size: var(--b-action-column-button-size);
    color: var(--b-action-column-color);
    pointer-events: var(--bi-action-column-pointer-events, auto)
}

    .b-action-item:hover {
        --b-action-column-color: var(--b-action-column-hover-color)
    }

    .b-action-item:focus-visible {
        outline-offset: 3px;
        outline: currentColor solid 3px
    }

.b-grid-base.b-read-only.b-action-column-readonly {
    --b-action-column-color: var(--b-action-column-readonly-color);
    --bi-action-column-pointer-events: none
}

.b-grid-row.b-hover,
.b-grid-row.b-selected {
    --b-action-column-color: var(--b-action-column-row-hover-color)
}

:root,
:host {
    --b-color-column-border-width: 0;
    --b-color-column-empty-border-width: 1px;
    --b-color-column-border-color: transparent;
    --b-color-column-empty-border-color: var(--b-border-7);
    --b-color-column-picker-width: 11em
}

.b-color-cell-swatch {
    border-radius: 1em;
    cursor: pointer;
    width: 1.5em;
    height: 1.5em;
    margin-inline: 1em;
    flex-shrink: 0;
    --b-primary: transparent;
    background: var(--b-primary);
    border: var(--b-color-column-border-width) solid var(--b-color-column-border-color)
}

    .b-color-cell-swatch.b-empty {
        --b-color-column-border-width: var(--b-color-column-empty-border-width);
        --b-color-column-border-color: var(--b-color-column-empty-border-color)
    }

    .b-color-cell-swatch.b-show-color-name {
        margin-inline: 0
    }

.b-color-column-picker {
    width: var(--b-color-column-picker-width)
}

:root,
:host {
    --b-percent-column-bar-border-radius: var(--b-widget-border-radius);
    --b-percent-column-bar-max-height: 1.5em;
    --b-percent-column-bar-border: none;
    --b-percent-column-circle-thickness: .5em;
    --b-percent-column-circle-label-font-size: .8em;
    --b-percent-column-bar-background: var(--b-neutral-95);
    --b-percent-column-low-fill-background: var(--b-color-orange);
    --b-percent-column-wide-value-color: var(--b-neutral-100);
    --b-percent-column-low-value-color: var(--b-secondary);
    --b-percent-column-zero-value-color: transparent;
    --b-percent-column-circle-background: var(--b-grid-cell-border-color);
    --b-percent-column-circle-label-color: var(--b-grid-cell-color);
    --bi-percent-column-transition: none
}

.b-percent-bar-outer {
    display: flex;
    height: 100%;
    overflow: hidden;
    width: 100%;
    outline-offset: -1px;
    background: var(--b-percent-column-zero-value-color);
    outline: var(--b-percent-column-bar-border);
    border-radius: var(--b-percent-column-bar-border-radius);
    max-height: var(--b-percent-column-bar-max-height)
}

    .b-percent-bar-outer.b-low {
        --b-percent-column-fill-background: var(--b-percent-column-low-value-color);
        --b-percent-column-value-color: var(--b-percent-column-low-value-color)
    }

    .b-percent-bar-outer.b-zero {
        --b-percent-column-fill-background: var(--b-percent-column-zero-value-color)
    }

    .b-percent-bar-outer.b-over {
        --b-percent-column-fill-background: #FF6961 !important;
    }

    .b-percent-bar-outer.b-full {
        --b-percent-column-fill-background: #77DD77 !important;
    }

    .b-percent-bar-outer .b-percent-bar {
        z-index: 1;
        background: var(--b-percent-column-fill-background, var(--b-primary-50));
        width: var(--bi-percent-bar-value);
        transition: var(--bi-percent-column-transition)
    }

.b-percent-bar-value {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex: 1;
    font-size: 1em;
    container-name: percent-column-value;
    container-type: size;
    z-index: 1;
    height: 100%
}

    .b-percent-bar-value label {
        transition: translate .5s, color .5s;
        margin-inline-start: .5em;
        color: black;
        translate: var(--bi-percent-column-value-translate, 0);
        line-height: 1;
        display: inline-block;
        vertical-align: middle
    }

@property --bi-percent-column-circle-angle {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0turn;
}

.b-percent-done-circle {
    --bi-percent-column-circle-angle: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    max-height: 3em;
    max-width: 3em;
    border-radius: 50%;
    background: conic-gradient(var(--b-percent-column-circle-done-color, var(--b-primary)) 0 var(--bi-percent-column-circle-angle), transparent var(--bi-percent-column-circle-angle) 1turn) var(--b-percent-column-circle-background)
}

    .b-percent-done-circle:after {
        content: attr(data-value);
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        width: calc(100% - var(--b-percent-column-circle-thickness));
        height: calc(100% - var(--b-percent-column-circle-thickness));
        background: var(--b-percent-column-circle-label-background, var(--b-grid-cell-background));
        font-size: var(--b-percent-column-circle-label-font-size);
        color: var(--b-percent-column-circle-label-color)
    }

.b-animating .b-percent-done-circle {
    transition: --bi-percent-column-circle-angle .3s, height .3s, width .3s
}

@container percent-column-value (width < 2em) {
    label {
        margin-inline-start: -.5em !important;
        --b-percent-column-value-color: var(--b-percent-column-wide-value-color);
        --bi-percent-column-value-translate: -100%
    }
}

.b-grid-body-container.b-scrolling .b-percent-bar,
.b-grid-body-container.b-scrolling .b-percent-bar * {
    transition: none
}

.b-animating,
.b-grid-row-updating {
    --bi-percent-column-transition: width .5s, padding .5s, background-color .5s
}

:root,
:host {
    --b-rating-column-icon-size: 1.2em;
    --b-rating-column-empty-color: var(--b-neutral-95);
    --b-rating-column-filled-color: var(--b-color-yellow)
}

.b-rating-cell .b-rating-icon {
    font-size: var(--b-rating-column-icon-size);
    color: var(--bi-rating-column-icon-color);
    opacity: var(--bi-rating-column-icon-opacity, 1);
    transition: var(--bi-rating-column-icon-transition, all var(--b-default-transition-duration) linear)
}

.b-theme-transition :is(.b-rating-cell .b-rating-icon) {
    transition: color var(--b-default-transition-duration)
}

.b-rating-cell .b-empty {
    --bi-rating-column-icon-color: var(--b-rating-column-empty-color);
    --bi-rating-column-icon-opacity: var(--bi-rating-column-empty-opacity, 1)
}

.b-rating-cell .b-filled {
    --bi-rating-column-icon-color: var(--b-rating-column-filled-color)
}

.b-rating-cell-inner {
    display: flex
}

.b-grid-base:not(.b-read-only) .b-rating-cell-inner:not(.b-not-editable) .b-rating-icon {
    cursor: pointer
}

    .b-grid-base:not(.b-read-only) .b-rating-cell-inner:not(.b-not-editable) .b-rating-icon:hover ~ .b-icon {
        --bi-rating-column-icon-color: var(--b-rating-column-empty-color);
        --bi-rating-column-empty-opacity: 1
    }

.b-grid-base:not(.b-read-only) .b-rating-cell-inner:not(.b-not-editable):hover .b-rating-icon {
    --bi-rating-column-icon-color: var(--b-rating-column-filled-color);
    --bi-rating-column-empty-opacity: .4
}

.b-grid-body-container.b-scrolling .b-rating-icon {
    --bi-rating-column-icon-transition: none
}

:root,
:host {
    --b-row-number-column-background: var(--b-neutral-97)
}

.b-grid-base .b-grid-cell.b-row-number-cell {
    --b-grid-cell-background: var(--b-row-number-column-background)
}

:root,
:host {
    --b-tree-loading-icon: "\f110";
    --b-tree-icon-width: 1.25em;
    --b-tree-cell-gap: var(--b-widget-gap);
    --b-tree-parent-font-weight: 500;
    --b-tree-indent-size: 1.7em;
    --b-tree-leaf-icon-font-size: .3em;
    --b-tree-expander-color: var(--b-text-3);
    --b-tree-expander-row-hover-color: var(--b-tree-expander-color);
    --b-tree-parent-color: var(--b-grid-cell-color);
    --b-tree-icon-color: var(--b-tree-expander-color);
    --b-tree-icon-row-hover-color: var(--b-tree-expander-color);
    --b-tree-line-width: 2px;
    --b-tree-line-color: var(--b-neutral-85);
    --b-tree-line-offset: .45em
}

.b-internal {
    --b-tree-level: null
}

.b-tree-expander {
    position: relative;
    top: 1px;
    cursor: pointer;
    display: grid;
    place-items: center
}

.b-loading-children .b-tree-expander.b-icon:before {
    animation: b-anim-rotate 2s infinite linear;
    content: var(--b-tree-loading-icon)
}

.b-grid-cell.b-tree-cell {
    align-items: stretch;
    gap: 0
}

    .b-grid-cell.b-tree-cell.b-selected,
    .b-grid-cell.b-tree-cell.b-hover {
        --b-grid-cell-color: var(--b-grid-cell-selected-color)
    }

.b-tree-cell-inner {
    gap: var(--b-tree-cell-gap)
}

.b-tree-leaf-cell .b-tree-cell-inner:before {
    margin-inline-end: .6em;
    text-align: center;
    font-family: var(--b-widget-icon-font-family);
    color: var(--b-tree-expander-color);
    width: var(--b-tree-icon-width);
    min-width: var(--b-tree-icon-width)
}

.b-tree-icon,
.b-icon-tree-leaf,
.b-icon-tree-folder,
.b-icon-tree-folder-open,
.b-icon-tree-expand,
.b-icon-tree-collapse {
    text-align: center;
    color: var(--b-tree-expander-color);
    width: var(--b-tree-icon-width);
    min-width: var(--b-tree-icon-width)
}

.b-tree-icon {
    color: var(--b-tree-icon-color)
}

.b-icon-tree-leaf:before {
    vertical-align: middle;
    width: 100%;
    font-size: var(--b-tree-leaf-icon-font-size)
}

.b-icon-tree-folder:before,
.b-icon-tree-folder-open:before {
    margin-inline-start: .1em
}

:is(.b-icon-tree-expand, .b-icon-tree-collapse).b-empty-parent {
    visibility: hidden
}

:is(.b-icon-tree-expand, .b-icon-tree-collapse):before {
    font-size: 1.2em
}

.b-tree:not(.b-show-tree-lines) .b-tree-cell-inner {
    padding-inline-start: calc(var(--b-tree-indent-size) * var(--b-tree-level))
}

.b-tree:not(.b-show-tree-lines) .b-tree-leaf-cell .b-tree-parent-has-icon {
    padding-inline-start: calc(var(--b-tree-indent-size) * (var(--b-tree-level) - 1) + var(--b-tree-icon-width) + var(--b-tree-cell-gap))
}

.b-tree-line {
    flex-shrink: 0;
    transition: border-color var(--b-default-transition-duration);
    border-color: var(--b-tree-line-color);
    width: var(--b-tree-indent-size)
}

    .b-tree-line:before {
        content: "";
        display: block;
        border-inline-start-color: inherit;
        border-inline-start-style: solid;
        height: 100%;
        position: relative;
        border-inline-start-width: var(--b-tree-line-width);
        inset-inline-start: var(--b-tree-line-offset)
    }

.b-tree-cell-inner {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    flex-grow: 1;
    padding-block: .5em
}

    .b-tree-cell-inner.b-text-value {
        flex-shrink: 1;
        overflow: hidden
    }

        .b-tree-cell-inner.b-text-value .b-tree-cell-value {
            display: initial;
            overflow: hidden;
            text-overflow: ellipsis
        }

.b-tree-cell.b-auto-height .b-tree-cell-inner,
.b-tree-cell.b-auto-height {
    flex-shrink: 1
}

a.b-tree-cell-inner {
    text-decoration: none
}

    a.b-tree-cell-inner:hover .b-tree-cell-value {
        text-decoration: underline
    }

.b-tree-parent-row .b-grid-cell {
    font-weight: var(--b-tree-parent-font-weight);
    --b-grid-cell-color: var(--b-tree-parent-color)
}

    .b-tree-parent-row .b-grid-cell.b-selected,
    .b-tree-parent-row .b-grid-cell.b-hover {
        --b-grid-cell-color: var(--b-grid-cell-selected-color)
    }

.b-tree-cell-value {
    flex: 1;
    display: flex;
    align-items: center;
    gap: var(--b-grid-cell-gap)
}

.b-touch .b-tree-expander {
    width: 1.1em
}

.b-touch .b-icon-tree-expand:before,
.b-touch .b-icon-tree-collapse:before {
    font-size: 1.8em
}

.b-touch .b-icon-tree-leaf:before {
    font-size: .6em
}

.b-touch .b-tree-icon,
.b-touch .b-tree-leaf-cell:not(.b-tree-parent-cell):before {
    font-size: 1.2em
}

:is(.b-grid-row, .b-grid-cell).b-hover,
:is(.b-grid-row, .b-grid-cell).b-selected {
    --b-tree-expander-color: var(--b-tree-expander-row-hover-color);
    --b-tree-icon-color: var(--b-tree-icon-row-hover-color)
}

.b-widget-cell {
    --b-button-max-height: 80%
}

.b-aifilter-field .b-mask-text {
    padding: .5em
}

.b-aifilter-field-result-popup {
    --b-primary: var(--b-color-yellow);
    --b-popup-background: var(--b-primary-95)
}

.b-checklist-filter-combo-picker.b-panel {
    padding: 0;
    --b-panel-padding: 0;
    --b-list-item-padding: .75em var(--b-widget-padding)
}

    .b-checklist-filter-combo-picker.b-panel [data-ref=searchField] {
        width: 100%
    }

    .b-checklist-filter-combo-picker.b-panel .b-list-item-content {
        display: flex
    }

    .b-checklist-filter-combo-picker.b-panel .b-checklist-filter-combo-item-text {
        flex-grow: 1
    }

    .b-checklist-filter-combo-picker.b-panel .b-bottom-toolbar {
        --b-toolbar-padding: var(--b-widget-padding)
    }

.b-resource-collapse-cell .b-icon {
    background: transparent;
    border: none;
    transition: rotate .2s;
    cursor: pointer
}

    .b-resource-collapse-cell .b-icon.b-flip {
        rotate: 180deg
    }

:root,
:host {
    --b-resource-info-column-name-font-weight: 600;
    --b-resource-info-column-role-font-size: .8em;
    --b-resource-info-column-role-color: var(--b-neutral-65);
    --b-resource-info-column-role-row-hover-color: var(--b-neutral-65)
}

.b-colorize {
    --b-resource-info-column-avatar-background-color: var(--b-primary-85)
}

.b-resource-info {
    flex: 1;
    height: 100%;
    display: grid;
    grid-template-columns: min-content 1fr;
    overflow: clip;
    column-gap: 1em;
    align-items: center;
    --b-primary: var(--b-resource-event-color);
    --b-avatar-background: var(--b-resource-info-column-avatar-background-color)
}

    .b-resource-info div {
        overflow: clip;
        text-overflow: ellipsis
    }

    .b-resource-info .b-resource-avatar {
        grid-column: 1
    }

    .b-resource-info:has(.b-resource-role, .b-resource-events, .b-resource-meta) .b-resource-avatar {
        grid-row: span 2
    }

    .b-resource-info .b-resource-name {
        grid-column: 2;
        align-self: end;
        font-weight: var(--b-resource-info-column-name-font-weight)
    }

    .b-resource-info .b-resource-role,
    .b-resource-info .b-resource-events,
    .b-resource-info .b-resource-meta {
        grid-column: 2;
        align-self: start;
        font-size: var(--b-resource-info-column-role-font-size);
        color: var(--b-resource-info-column-role-color)
    }

    .b-resource-info .b-resource-meta {
        display: flex;
        align-items: center;
        gap: .5em
    }

    .b-resource-info .b-resource-icon {
        display: grid;
        place-items: center
    }

:is(.b-grid-row, .b-grid-cell).b-selected,
:is(.b-grid-row, .b-grid-cell).b-hover {
    --b-resource-info-column-role-color: var(--b-resource-info-column-role-row-hover-color)
}

.b-scale-cell {
    padding-inline: 0 !important
}

    .b-scale-cell .b-scale {
        background-color: transparent;
        font-weight: var(--b-grid-cell-font-weight)
    }

    .b-scale-cell .b-scale-tick-label {
        font-size: 70%
    }

:root,
:host {
    --b-resource-time-range-zindex: 5;
    --b-resource-time-range-font-size: .85em;
    --b-resource-time-range-align-items: flex-end;
    --b-resource-time-range-padding-block: .25em;
    --b-resource-time-range-padding-inline: .5em;
    --b-resource-time-range-background-transparency: 95%
}

.b-resource-time-range-canvas {
    z-index: var(--b-resource-time-range-zindex)
}

.b-sch-canvas.b-interactive .b-sch-resource-time-range {
    pointer-events: auto
}

.b-sch-resource-time-range {
    display: flex;
    position: absolute;
    inset-inline-start: 0;
    justify-content: center;
    align-items: center;
    user-select: none;
    -webkit-user-select: none;
    opacity: 1;
    --b-primary: var(--b-secondary);
    --b-sch-event-padding-block: var(--b-resource-time-range-padding-block);
    --b-sch-event-padding-inline: var(--b-resource-time-range-padding-inline);
    --b-resource-time-range-background: color-mix(in srgb, var(--b-primary), transparent var(--b-resource-time-range-background-transparency));
    --b-resource-time-range-color: var(--b-primary);
    background: var(--b-resource-time-range-background);
    color: var(--b-resource-time-range-color);
    transition: var(--b-sch-event-transition)
}

    .b-sch-resource-time-range [data-task-feature] {
        display: flex;
        height: 100%;
        align-items: center;
        font-size: var(--b-resource-time-range-font-size)
    }

.b-animating .b-sch-resource-time-range {
    transition: var(--b-sch-event-animating-transition)
}

.b-sch-resource-time-range.b-removing {
    transition: opacity .3s;
    opacity: 0
}

.b-sch-resource-time-range.b-remove-remove,
.b-sch-resource-time-range.b-toggle-remove {
    transition: opacity .2s;
    opacity: 0
}

.b-sch-resource-time-range.b-toggle-add {
    animation: b-anim-toggle-add .3s !important
}

.b-sch-resource-time-range .b-sch-event-content {
    align-items: var(--b-resource-time-range-align-items)
}

:root,
:host {
    --b-column-lines-zindex: 2;
    --b-column-lines-tick-style: solid;
    --b-column-lines-major-style: solid;
    --b-column-lines-tick-color: var(--b-neutral-95);
    --b-column-lines-major-color: var(--b-grid-cell-border-color);
    --b-column-lines-resource-color: var(--b-grid-cell-border-color)
}

.b-column-lines-canvas {
    z-index: var(--b-column-lines-zindex)
}

.b-column-line,
.b-column-line-major {
    height: 100%;
    position: absolute;
    border-inline-start-width: 1px
}

.b-theme-transition :is(.b-column-line, .b-column-line-major) {
    transition: border-color var(--b-default-transition-duration)
}

.b-column-line {
    border-color: var(--b-column-lines-tick-color);
    border-inline-start-style: var(--b-column-lines-tick-style)
}

.b-column-line-major {
    z-index: 1;
    border-color: var(--b-column-lines-major-color);
    border-inline-start-style: var(--b-column-lines-major-style)
}

.b-resource-column-line {
    border-color: var(--b-column-lines-resource-color)
}

.b-sch-vertical .b-column-line:not(.b-resource-column-line),
.b-sch-vertical .b-column-line-major {
    height: auto;
    width: 100%;
    position: absolute;
    border-inline-start: none;
    border-top-width: 1px;
    border-top-style: var(--b-column-lines-tick-style)
}

.b-sch-vertical .b-resource-group-divider {
    border-color: var(--b-grid-header-border-color)
}

:root,
:host {
    --b-dependency-zindex: 5;
    --b-dependency-stroke-width: 1;
    --b-dependency-hover-stroke-width: 2;
    --b-dependency-tooltip-terminal-size: .35em;
    --b-dependency-color: var(--b-border-5);
    --b-dependency-selected-color: var(--b-color-red)
}

.b-internal {
    --b-dependency-marker: null
}

.b-sch-dependencies-canvas {
    --bi-dependency-marker: url(#arrowEnd);
    contain: unset;
    overflow: visible;
    z-index: var(--b-dependency-zindex)
}

.b-sch-dependency-arrow {
    fill: var(--b-dependency-color);
    fill: context-stroke
}

.b-sch-dependency {
    pointer-events: visibleStroke;
    fill: transparent;
    transition: stroke-width .2s linear, stroke .2s linear;
    stroke: var(--b-dependency-color);
    stroke-width: var(--b-dependency-stroke-width)
}

    .b-sch-dependency.b-sch-dependency-over {
        stroke-dasharray: 0;
        --b-dependency-stroke-width: var(--b-dependency-hover-stroke-width)
    }

    .b-sch-dependency.b-sch-released {
        display: none
    }

    .b-sch-dependency.b-click-area {
        stroke: transparent;
        stroke-dasharray: none !important;
        marker-end: none
    }

.b-sch-dependency {
    marker-end: var(--b-dependency-marker)
}

    .b-sch-dependency.b-sch-bidirectional-line {
        marker-start: var(--b-dependency-marker)
    }

    .b-sch-dependency.b-sch-dependency-markerless {
        marker-end: none
    }

.b-sch-dependency-tooltip {
    display: grid;
    grid-template-columns: auto auto auto;
    grid-column-gap: .5em;
    align-items: center
}

    .b-sch-dependency-tooltip label {
        font-size: .8em
    }

:is(.b-sch-dependency-creation-tooltip, .b-sch-dependency-tooltip) .b-sch-box {
    width: 1em;
    height: .8em;
    border-radius: 2px;
    display: none;
    position: relative;
    background: var(--b-dependency-tooltip-event-background, var(--b-primary-85))
}

    :is(.b-sch-dependency-creation-tooltip, .b-sch-dependency-tooltip) .b-sch-box.b-start,
    :is(.b-sch-dependency-creation-tooltip, .b-sch-dependency-tooltip) .b-sch-box.b-end,
    :is(.b-sch-dependency-creation-tooltip, .b-sch-dependency-tooltip) .b-sch-box.b-right,
    :is(.b-sch-dependency-creation-tooltip, .b-sch-dependency-tooltip) .b-sch-box.b-left,
    :is(.b-sch-dependency-creation-tooltip, .b-sch-dependency-tooltip) .b-sch-box.b-top,
    :is(.b-sch-dependency-creation-tooltip, .b-sch-dependency-tooltip) .b-sch-box.b-bottom {
        display: block
    }

    :is(.b-sch-dependency-creation-tooltip, .b-sch-dependency-tooltip) .b-sch-box:after {
        content: "";
        border-radius: 50%;
        position: absolute;
        background-color: var(--b-dependency-tooltip-terminal-color, var(--b-primary-50));
        width: var(--b-dependency-tooltip-terminal-size);
        height: var(--b-dependency-tooltip-terminal-size)
    }

    :is(.b-sch-dependency-creation-tooltip, .b-sch-dependency-tooltip) .b-sch-box.b-end:after,
    :is(.b-sch-dependency-creation-tooltip, .b-sch-dependency-tooltip) .b-sch-box.b-right:after {
        inset-inline-end: calc(-.5 * var(--b-dependency-tooltip-terminal-size));
        top: 50%;
        translate: 0 -50%
    }

    :is(.b-sch-dependency-creation-tooltip, .b-sch-dependency-tooltip) .b-sch-box.b-start:after,
    :is(.b-sch-dependency-creation-tooltip, .b-sch-dependency-tooltip) .b-sch-box.b-left:after {
        inset-inline-start: calc(-.5 * var(--b-dependency-tooltip-terminal-size));
        top: 50%;
        translate: 0 -50%
    }

    :is(.b-sch-dependency-creation-tooltip, .b-sch-dependency-tooltip) .b-sch-box.b-top:after {
        top: calc(-.5 * var(--b-dependency-tooltip-terminal-size));
        inset-inline-start: 50%;
        translate: -50%
    }

    :is(.b-sch-dependency-creation-tooltip, .b-sch-dependency-tooltip) .b-sch-box.b-bottom:after {
        bottom: calc(-.5 * var(--b-dependency-tooltip-terminal-size));
        inset-inline-start: 50%;
        translate: -50%
    }

.b-sch-dependency.b-selected {
    stroke: var(--b-dependency-selected-color);
    stroke-width: 2
}

.b-sch-dependency-remove-icon {
    position: absolute;
    height: 1em;
    width: 1em;
    display: flex;
    translate: -50% -50%;
    pointer-events: all;
    cursor: pointer;
    z-index: 1000;
    animation: b-anim-show-dependency-remove-icon .2s ease-in-out 1;
    font-size: 1.1em;
    color: var(--b-dependency-selected-color)
}

    .b-sch-dependency-remove-icon:before {
        border-radius: 50%;
        background: radial-gradient(circle, #fff 0%, #fff 60%, transparent 60%, transparent 100%)
    }

    .b-sch-dependency-remove-icon.b-removing {
        animation: b-anim-hide-dependency-remove-icon .15s linear 1
    }

:is(.b-sch-event, .b-gantt-task).b-sch-terminals-visible {
    z-index: 2
}

@keyframes b-anim-show-dependency-remove-icon {
    0% {
        scale: 0;
        opacity: 0
    }

    to {
        scale: 1;
        opacity: 1
    }
}

@keyframes b-anim-hide-dependency-remove-icon {
    0% {
        scale: 1;
        opacity: 1
    }

    to {
        scale: 0;
        opacity: 0
    }
}

.b-sch-event.b-cut-item {
    opacity: .4
}

.b-timeline-base.b-drag-creating {
    user-select: none;
    -webkit-user-select: none
}

    .b-timeline-base.b-drag-creating .b-sch-time-axis-cell,
    .b-timeline-base.b-drag-creating .b-sch-event-wrap,
    .b-timeline-base.b-drag-creating .b-gantt-task-wrap {
        pointer-events: none
    }

    .b-timeline-base.b-drag-creating * {
        transition: none
    }

.b-sch-drag-creating.b-too-narrow {
    opacity: .25
}

:root,
:host {
    --b-event-drag-select-border-width: 1px;
    --b-event-drag-select-border-style: dashed;
    --b-event-drag-select-border-radius: var(--b-widget-border-radius);
    --b-event-drag-select-border-color: var(--b-neutral-50)
}

.b-drag-select-rect {
    position: absolute;
    left: 0;
    top: 0;
    transform-origin: 0 0;
    pointer-events: none;
    z-index: 100;
    border: var(--b-event-drag-select-border-width) var(--b-event-drag-select-border-style) var(--b-event-drag-select-border-color);
    border-radius: var(--b-event-drag-select-border-radius)
}

.b-event-editor {
    width: 28em
}

    .b-event-editor.b-collapsed .b-panel-collapse-revealer {
        display: none
    }

    .b-event-editor [data-ref=saveButton],
    .b-event-editor [data-ref=cancelButton],
    .b-event-editor [data-ref=deleteButton] {
        min-width: 5.5em
    }

.b-event-editor-content {
    grid-template-columns: minmax(min-content, 1fr) minmax(min-content, 1fr);
    align-items: end
}

    .b-event-editor-content .b-widget {
        grid-column: span 2
    }

    .b-event-editor-content [data-ref=startDateField],
    .b-event-editor-content [data-ref=endDateField] {
        grid-column: span 1;
        min-width: 10em
    }

    .b-event-editor-content [data-ref=startTimeField],
    .b-event-editor-content [data-ref=endTimeField] {
        grid-column: span 1;
        min-width: 12em
    }

:root,
:host {
    --b-event-non-working-time-opacity: .7
}

.b-timeline-base .b-sch-event-wrap .b-sch-non-working-time {
    z-index: 0;
    --b-time-range-opacity: var(--b-event-non-working-time-opacity)
}

.b-dragging-event .b-sch-event-wrap.b-dragging .b-sch-non-working-time {
    display: none
}

.b-animating .b-sch-event-wrap .b-sch-time-range {
    transition: none
}

.b-sch-vertical .b-sch-event-wrap .b-sch-non-working-time {
    inset-inline-start: 0
}

.b-sch-event-tooltip {
    --b-tooltip-text-gap: .5em
}

.b-time-axis-group-summary {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: 100%
}

    .b-time-axis-group-summary .b-time-axis-tick {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: center
    }

    .b-time-axis-group-summary .b-time-axis-summary-value {
        text-align: center
    }

:root,
:host {
    --b-event-label-font-size: .9em;
    --b-event-label-font-weight: var(--b-sch-event-font-weight);
    --b-event-label-gap: .5em;
    --b-event-label-color: var(--b-sch-event-color);
    --b-selected-event-label-color: var(--b-sch-event-color);
    --b-event-label-background: null
}

:is(.b-sch-event-wrap, .b-gantt-task-wrap) .b-sch-label {
    text-align: center;
    white-space: nowrap;
    z-index: 1;
    min-width: 1em;
    pointer-events: all;
    user-select: none;
    -webkit-user-select: none;
    background: var(--b-event-label-background);
    color: var(--b-event-label-color);
    font-size: var(--b-event-label-font-size);
    font-weight: var(--b-event-label-font-weight)
}

:is(.b-sch-event-wrap, .b-gantt-task-wrap).b-sch-event-selected .b-sch-label {
    --b-event-label-color: var(--b-selected-event-label-color)
}

:is(.b-sch-event-wrap, .b-gantt-task-wrap) .b-sch-label-top {
    grid-area: top;
    justify-self: center;
    margin-bottom: .2em
}

:is(.b-sch-event-wrap, .b-gantt-task-wrap) .b-sch-label-bottom {
    grid-area: bottom;
    justify-self: center;
    margin-top: .2em
}

:is(.b-sch-event-wrap, .b-gantt-task-wrap) .b-sch-label-before {
    grid-area: before;
    align-self: center;
    justify-self: end;
    margin-inline-end: var(--b-event-label-gap)
}

:is(.b-sch-event-wrap, .b-gantt-task-wrap) .b-sch-label-after {
    grid-area: after;
    align-self: center;
    justify-self: start;
    margin-inline-start: var(--b-event-label-gap)
}

.b-sch-event-wrap.b-measure-label {
    height: 1em;
    position: fixed;
    top: -10000px;
    inset-inline-start: -10000px;
    visibility: hidden
}

    .b-sch-event-wrap.b-measure-label label {
        padding-inline-start: var(--b-event-label-gap);
        grid-area: none
    }

.b-sch-label-editor {
    background: var(--b-neutral-100)
}

:root,
:host {
    --b-dependency-terminal-size: 14px;
    --b-dependency-terminal-offset: -4px;
    --b-dependency-terminal-z-index: calc(var(--b-event-resize-handle-zindex) + 1);
    --b-dependency-terminal-border-width: 1px;
    --b-dependency-terminal-border-style: solid;
    --b-dependency-terminal-border-color: inherit;
    --b-dependency-valid-color: var(--b-color-green);
    --b-dependency-invalid-color: var(--b-color-red);
    --b-dependency-tooltip-valid-header-color: var(--b-dependency-valid-color);
    --b-dependency-tooltip-valid-header-background: color-mix(in srgb, var(--b-dependency-tooltip-valid-header-color), var(--b-mix) 90%);
    --b-dependency-tooltip-invalid-header-color: var(--b-dependency-invalid-color);
    --b-dependency-tooltip-invalid-header-background: color-mix(in srgb, var(--b-dependency-tooltip-invalid-header-color), var(--b-mix) 90%)
}

.b-dependencies .b-sch-event-wrap.b-hover {
    z-index: calc(var(--b-events-zindex) + 101)
}

.b-dependencies .b-sch-event.b-sch-terminals-visible,
.b-dependencies .b-gantt-task.b-sch-terminals-visible {
    overflow: visible
}

.b-dependencies.b-highlighting .b-sch-event-wrap .b-sch-event:where(:not(.b-sch-event-segment)),
.b-dependencies.b-highlighting .b-sch-dependency {
    opacity: .3
}

:is(.b-dependencies.b-highlighting .b-sch-event-wrap .b-sch-event:where(:not(.b-sch-event-segment)), .b-dependencies.b-highlighting .b-sch-dependency).b-highlight {
    opacity: 1
}

.b-dependencies.b-highlighting .b-sch-resource-time-range {
    opacity: .3
}

.b-sch-terminals-visible .b-sch-terminal {
    border-color: var(--b-dependency-terminal-border-color, inherit)
}

.b-sch-terminal {
    border-style: var(--b-dependency-terminal-border-style);
    border-radius: 50%;
    position: absolute;
    cursor: pointer;
    background-color: var(--b-dependency-terminal-color, var(--b-primary-100));
    border-width: var(--b-dependency-terminal-border-width);
    height: var(--b-dependency-terminal-size);
    width: var(--b-dependency-terminal-size);
    z-index: var(--b-dependency-terminal-z-index);
    --bi-terminal-start-end-offset: 80%
}

@media (pointer: coarse) {
    .b-sch-terminal {
        --bi-terminal-start-end-offset: 115%
    }

        .b-sch-terminal:after {
            content: "";
            height: calc(var(--b-dependency-terminal-size) * 2);
            width: calc(var(--b-dependency-terminal-size) * 2);
            border-radius: 50%;
            position: absolute;
            transform: translate(calc(var(--b-dependency-terminal-size) * -.5 - 1), calc(var(--b-dependency-terminal-size) * -.5 - 1))
        }
}

.b-sch-terminal.b-sch-terminal:hover {
    --b-dependency-terminal-color: var(--b-dependency-terminal-hover-color, var(--b-primary-90))
}

.b-dragging .b-sch-terminal,
.b-sch-event-resizing .b-sch-terminal {
    display: none
}

.b-creating-dependency .b-sch-terminal:hover,
.b-creating-dependency .b-sch-terminal-active {
    --b-dependency-terminal-color: var(--b-dependency-terminal-hover-color, var(--b-primary-90))
}

:is(.b-creating-dependency .b-sch-terminal:hover, .b-creating-dependency .b-sch-terminal-active).b-valid {
    --b-dependency-terminal-border-color: var(--b-dependency-valid-color);
    --b-dependency-terminal-color: var(--b-dependency-terminal-valid-color, color-mix(in oklab, var(--b-color-green), var(--b-mix) 70%))
}

:is(.b-creating-dependency .b-sch-terminal:hover, .b-creating-dependency .b-sch-terminal-active).b-invalid {
    --b-dependency-terminal-border-color: var(--b-dependency-invalid-color);
    --b-dependency-terminal-color: var(--b-dependency-terminal-invalid-color, color-mix(in oklab, var(--b-color-red), var(--b-mix) 70%))
}

.b-creating-dependency * {
    touch-action: none
}

.b-sch-terminal-top {
    top: var(--b-dependency-terminal-offset);
    inset-inline-start: 50%;
    translate: -50% -80%
}

.b-sch-terminal-bottom {
    bottom: var(--b-dependency-terminal-offset);
    inset-inline-start: 50%;
    translate: -50% 80%
}

.b-sch-terminal-start {
    inset-inline-start: var(--b-dependency-terminal-offset);
    top: 50%;
    translate: calc((var(--bi-terminal-start-end-offset) * -1) * var(--b-rtl-negate)) -50%
}

.b-sch-terminal-end {
    inset-inline-end: var(--b-dependency-terminal-offset);
    top: 50%;
    translate: calc(var(--bi-terminal-start-end-offset) * var(--b-rtl-negate)) -50%
}

.b-sch-terminal-hover-area {
    grid-area: body;
    width: calc(100% + var(--b-dependency-terminal-offset) * -2 + var(--b-dependency-terminal-size) * .8);
    height: calc(100% + var(--b-dependency-terminal-offset) * -2 + var(--b-dependency-terminal-size) * .8);
    justify-self: center;
    align-self: center
}

.b-labels-topbottom :is(:is(.b-schedulerbase:not(.b-sch-layout-milestones) .b-milestone:not(.b-sch-event-with-icon), .b-gantt:not(.b-sch-layout-milestones) .b-milestone:not(.b-gantt-task-withicon)) .b-sch-terminal-start) {
    translate: calc(-.35em * var(--b-rtl-negate)) -50%
}

.b-labels-topbottom :is(:is(.b-schedulerbase:not(.b-sch-layout-milestones) .b-milestone:not(.b-sch-event-with-icon), .b-gantt:not(.b-sch-layout-milestones) .b-milestone:not(.b-gantt-task-withicon)) .b-sch-terminal-end) {
    translate: calc(.35em * var(--b-rtl-negate)) -50%
}

.b-sch-dependency-connector {
    position: absolute;
    contain: strict;
    border-top: 2px dashed var(--b-dependency-color);
    z-index: 10;
    transform-origin: 0 0;
    pointer-events: none
}

    .b-sch-dependency-connector.b-removing {
        transition: width .2s ease-out
    }

    .b-sch-dependency-connector.b-valid {
        border-color: var(--b-dependency-valid-color);
        border-top-style: solid
    }

.b-sch-dependency-creation-tooltip {
    --b-panel-header-font-size: .8em;
    --b-panel-with-header-padding: 1em;
    --b-panel-header-gap: .5em
}

    .b-sch-dependency-creation-tooltip.b-popup {
        max-width: none
    }

    .b-sch-dependency-creation-tooltip .b-popup-header {
        padding: .25em;
        color: var(--b-dependency-tooltip-valid-header-color);
        background: var(--b-dependency-tooltip-valid-header-background)
    }

.b-safari :is(.b-sch-dependency-creation-tooltip .b-popup-header),
.b-firefox :is(.b-sch-dependency-creation-tooltip .b-popup-header) {
    width: 1.5em
}

.b-sch-dependency-creation-tooltip .b-popup-header i {
    rotate: 90deg
}

.b-sch-dependency-creation-tooltip .b-header-title {
    justify-content: center
}

.b-sch-dependency-creation-tooltip.b-invalid .b-popup-header {
    color: var(--b-dependency-tooltip-invalid-header-color);
    background: var(--b-dependency-tooltip-invalid-header-background)
}

.b-sch-dependency-creation-tooltip.b-checking .b-popup-header {
    background-color: var(--b-neutral-50)
}

:root,
:host {
    --b-dependency-tooltip-label-font-size: .8em
}

.b-sch-dependency-tooltip,
.b-sch-dependency-creation-tooltip {
    --b-tooltip-content-display: grid;
    --b-tooltip-align-items: center
}

:is(.b-sch-dependency-tooltip, .b-sch-dependency-creation-tooltip) .b-tooltip-content {
    grid-template-columns: auto auto auto
}

    :is(.b-sch-dependency-tooltip, .b-sch-dependency-creation-tooltip) .b-tooltip-content label {
        font-size: var(--b-dependency-tooltip-label-font-size)
    }

.b-colorize {
    --b-header-drag-select-background: color-mix(in srgb, var(--b-primary), transparent 70%)
}

.b-header-drag-selection-rect {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    transform-origin: 0 0;
    pointer-events: none;
    z-index: 100;
    background: var(--b-header-drag-select-background)
}

:root,
:host {
    --b-tick-cell-focused-outline-color: var(--b-grid-cell-focused-outline-color);
    --b-tick-cell-focused-outline-offset: -2px;
    --b-tick-cell-focused-outline-width: 1px;
    --b-active-tick-cell-focused-outline-color: var(--b-grid-cell-focused-outline-color);
    --b-active-tick-cell-focused-outline-offset: -2px;
    --b-active-tick-cell-focused-outline-width: var(--b-grid-cell-focused-outline-width)
}

.b-schedule-selected-tick {
    position: absolute;
    justify-content: center;
    overflow: hidden;
    z-index: 7
}

    .b-schedule-selected-tick.b-widget,
    .b-schedule-selected-tick .b-contains-widget {
        z-index: 7;
        box-shadow: none
    }

    .b-schedule-selected-tick:not(.b-widget, .b-contains-widget) {
        pointer-events: none
    }

.b-schedule-context-navigation-enabled .b-schedule-selected-tick:not(.b-widget, .b-contains-widget) {
    outline: var(--b-tick-cell-focused-outline-width) solid var(--b-tick-cell-focused-outline-color);
    outline-offset: var(--b-tick-cell-focused-outline-offset)
}

    .b-schedule-context-navigation-enabled .b-schedule-selected-tick:not(.b-widget, .b-contains-widget).b-active-tick {
        --b-tick-cell-focused-outline-width: var(--b-active-tick-cell-focused-outline-width);
        --b-active-tick-cell-focused-outline-offset: var(--b-active-tick-cell-focused-outline-offset)
    }

.b-sch-hover-tip-msg {
    margin-top: .5em
}

:root,
:host {
    --b-scroll-button-border-radius: var(--b-widget-border-radius);
    --b-scroll-button-border-width: 1px;
    --b-scroll-button-color: var(--b-text-4);
    --b-scroll-button-background: var(--b-neutral-98);
    --b-scroll-button-hover-color: var(--b-text-3);
    --b-scroll-button-font-size: .9em;
    --b-scroll-buttons-zindex: 9
}

.b-scroll-buttons-canvas {
    z-index: var(--b-scroll-buttons-zindex)
}

.b-scroll-buttons-container {
    position: absolute;
    display: flex;
    width: 100%;
    pointer-events: none;
    align-items: center
}

.b-scroll-button-wrap {
    position: sticky;
    display: flex;
    flex-direction: row;
    align-items: baseline;
    justify-content: center;
    gap: .5em;
    padding: .1em .5em;
    pointer-events: all;
    cursor: pointer;
    transition: color .2s, background-color .2s;
    min-width: 3.1em;
    background: var(--b-scroll-button-background);
    border: var(--b-scroll-button-border-width) solid var(--b-scroll-button-color);
    border-radius: var(--b-scroll-button-border-radius);
    color: var(--b-scroll-button-color);
    font-size: var(--b-scroll-button-font-size)
}

    .b-scroll-button-wrap:hover {
        --b-scroll-button-color: var(--b-scroll-button-hover-color)
    }

    .b-scroll-button-wrap.b-scroll-backward {
        inset-inline-start: 1em
    }

    .b-scroll-button-wrap.b-scroll-forward {
        margin-inline-start: auto;
        inset-inline-end: 1em
    }

.b-simple-event-editor {
    --b-simple-event-edit-editor-background: var(--b-primary-100)
}

.b-simple-event-editor {
    border-radius: inherit;
    z-index: 15;
    --b-widget-floating-box-shadow: none
}

    .b-simple-event-editor.b-target-has-border .b-field {
        --b-text-field-border-width: 0
    }

    .b-simple-event-editor .b-field {
        --b-text-field-background: var(--b-simple-event-edit-editor-background);
        align-items: stretch
    }

    .b-simple-event-editor .b-field-inner {
        border-radius: inherit
    }

.b-sch-horizontal .b-simple-event-editor .b-field {
    height: 100%
}

.b-sticky-events.b-sch-horizontal .b-sch-event-wrap:where(:not(.b-disable-sticky, .b-milestone-wrap)),
.b-sticky-events.b-sch-horizontal .b-sch-resource-time-range {
    --b-sch-event-content-width: auto
}

:is(.b-sticky-events.b-sch-horizontal .b-sch-event-wrap:where(:not(.b-disable-sticky, .b-milestone-wrap)), .b-sticky-events.b-sch-horizontal .b-sch-resource-time-range) .b-sch-event-content {
    position: sticky;
    inset-inline-start: var(--b-sch-event-padding-inline)
}

.b-sticky-events.b-sch-horizontal .b-sch-resource-time-range {
    justify-content: flex-start
}

    .b-sticky-events.b-sch-horizontal .b-sch-resource-time-range > div {
        overflow: clip;
        width: 100%
    }

.b-firefox.b-sticky-events.b-sch-horizontal .b-sch-foreground-canvas {
    contain: none
}

.b-sticky-events.b-sch-vertical .b-sch-event-wrap:where(:not(.b-disable-sticky, .b-milestone-wrap)),
.b-sticky-events.b-sch-vertical .b-sch-resource-time-range {
    --b-sch-event-content-height: auto
}

:is(.b-sticky-events.b-sch-vertical .b-sch-event-wrap:where(:not(.b-disable-sticky, .b-milestone-wrap)), .b-sticky-events.b-sch-vertical .b-sch-resource-time-range) .b-sch-event {
    align-items: flex-start
}

.b-sch-tick-cell {
    position: absolute;
    contain: strict;
    display: grid;
    align-items: center;
    justify-content: center;
    pointer-events: all;
    font-size: 1em
}

.b-sch-time-axis-menu-date-range-popup {
    width: 22em
}

    .b-sch-time-axis-menu-date-range-popup .b-popup-content {
        grid-template-columns: auto 1fr auto
    }

:root,
:host {
    --b-time-axis-footer-cell-border-color: var(--b-grid-cell-border-color)
}

.b-sch-summary-bar {
    padding: 0;
    flex-direction: row;
    justify-content: flex-start;
    flex-grow: unset !important
}

    .b-sch-summary-bar .b-time-axis-tick {
        display: flex;
        flex-direction: column;
        text-align: center;
        overflow: hidden;
        justify-content: center;
        align-items: stretch
    }

    .b-sch-summary-bar:not(.b-sch-vertical) .b-time-axis-tick {
        padding: .5em 0
    }

        .b-sch-summary-bar:not(.b-sch-vertical) .b-time-axis-tick:not(:last-child) {
            border-inline-end: 1px solid var(--b-time-axis-footer-cell-border-color)
        }

.b-sch-vertical .b-sch-summary-bar {
    flex-direction: column;
    align-items: stretch;
    gap: 0
}

    .b-sch-vertical .b-sch-summary-bar .b-time-axis-tick {
        padding: 0 .5em
    }

.b-time-axis-summary-tip {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap
}

    .b-time-axis-summary-tip header {
        width: 100%;
        text-align: center;
        font-weight: 700;
        margin-bottom: 1em
    }

    .b-time-axis-summary-tip label {
        flex: 1 1 50%
    }

    .b-time-axis-summary-tip .b-time-axis-summary-value {
        flex: 0 0 auto
    }

:root,
:host {
    --b-time-range-range-zindex: 4;
    --b-time-range-line-zindex: 10;
    --b-time-range-header-gap: .5em;
    --b-time-range-header-font-size: .9em;
    --b-time-range-header-font-weight: 500;
    --b-time-range-label-offset: .5em;
    --b-time-range-label-font-size: .7em;
    --b-time-range-opacity: .5;
    --b-time-range-line-header-border-radius: .25em;
    --b-time-range-line-header-padding-inline: .5em;
    --b-time-range-line-width: 2px;
    --b-time-range-line-style: solid;
    --b-time-range-line-opacity: 1;
    --b-time-range-line-label-border-radius: var(--b-widget-border-radius);
    --b-time-range-line-label-padding: .5em;
    --b-time-range-line-label-font-size: .7em;
    --b-time-range-line-label-offset: var(--b-time-range-label-offset);
    --b-time-range-color: #fff;
    --b-time-range-background: var(--b-neutral-95);
    --b-time-range-line-primary: var(--b-color-amber);
    --b-time-range-line-label-color: #fff;
    --b-current-time-color: var(--b-color-deep-orange)
}

.b-colorize {
    --b-time-range-header-background: var(--b-primary-75);
    --b-time-range-line-color: var(--b-primary-50);
    --b-time-range-line-header-background: var(--b-time-range-line-color);
    --b-time-range-line-label-background: var(--b-time-range-line-color)
}

.b-time-ranges-canvas {
    display: contents
}

.b-sch-time-range {
    position: absolute;
    z-index: var(--b-time-range-range-zindex);
    transition: var(--b-sch-event-transition, var(--b-gantt-task-transition))
}

.b-animating .b-sch-time-range {
    transition: var(--b-sch-event-animating-transition, var(--b-gantt-task-animating-transition))
}

.b-sch-line {
    margin-inline-start: -1px
}

.b-time-ranges-header-canvas .b-sch-time-range {
    display: flex;
    align-items: center;
    justify-content: center;
    bottom: 0;
    background: var(--b-time-range-header-background);
    color: var(--b-time-range-color);
    font-weight: var(--b-time-range-header-font-weight);
    height: calc(100% / var(--bi-header-levels));
    gap: var(--b-time-range-header-gap)
}

    .b-time-ranges-header-canvas .b-sch-time-range label {
        white-space: nowrap;
        font-size: var(--b-time-range-header-font-size);
        font-weight: var(--b-time-range-header-font-weight)
    }

    .b-time-ranges-header-canvas .b-sch-time-range.b-dragging {
        opacity: 1
    }

.b-time-ranges-header-canvas .b-sch-line {
    --b-primary: var(--b-time-range-line-primary);
    --b-time-range-header-background: var(--b-time-range-line-header-background)
}

.b-time-ranges-header-canvas .b-sch-current-time {
    z-index: calc(var(--b-time-range-range-zindex) + 1);
    --b-primary: var(--b-current-time-color)
}

.b-time-ranges-body-canvas {
    display: contents
}

.b-timeline-sub-grid .b-sch-time-range {
    inset-block: 0;
    background: var(--b-time-range-background);
    opacity: var(--b-time-range-opacity)
}

    .b-timeline-sub-grid .b-sch-time-range label {
        position: relative;
        font-size: var(--b-time-range-label-font-size);
        font-weight: var(--b-time-range-header-font-weight)
    }

    .b-timeline-sub-grid .b-sch-time-range:not(.b-sch-line) {
        display: flex;
        justify-content: center
    }

.b-timeline-sub-grid .b-narrow-range label {
    writing-mode: tb;
    inset-inline-start: var(--b-time-range-label-offset)
}

.b-timeline-sub-grid .b-sch-line {
    --b-primary: var(--b-time-range-line-primary);
    width: 0;
    overflow: visible;
    border-inline-start: var(--b-time-range-line-width) var(--b-time-range-line-style) var(--b-time-range-line-color);
    z-index: var(--b-time-range-line-zindex);
    opacity: var(--b-time-range-line-opacity);
    --b-time-range-label-font-size: var(--b-time-range-line-label-font-size)
}

    .b-timeline-sub-grid .b-sch-line:before {
        display: none
    }

    .b-timeline-sub-grid .b-sch-line label {
        width: fit-content;
        white-space: nowrap;
        color: var(--b-time-range-line-label-color);
        background: var(--b-time-range-line-label-background);
        border-start-end-radius: var(--b-time-range-line-label-border-radius);
        border-end-end-radius: var(--b-time-range-line-label-border-radius);
        inset-block-start: var(--b-time-range-line-label-offset);
        padding: var(--b-time-range-line-label-padding)
    }

.b-timeline-sub-grid .b-sch-current-time {
    --b-primary: var(--b-current-time-color)
}

:is(.b-gantt-base, .b-sch-horizontal) .b-time-ranges-header-canvas .b-sch-line {
    padding-inline: var(--b-time-range-line-header-padding-inline);
    border-start-end-radius: var(--b-time-range-line-header-border-radius);
    border-end-end-radius: var(--b-time-range-line-header-border-radius)
}

.b-sch-vertical .b-time-ranges-header-canvas .b-sch-line {
    padding-block: var(--b-time-range-line-header-padding-inline);
    border-start-start-radius: var(--b-time-range-line-header-border-radius);
    border-end-start-radius: var(--b-time-range-line-header-border-radius)
}

.b-sch-vertical .b-sch-time-range {
    inset-inline-start: auto;
    inset-block-start: 0;
    justify-content: flex-start;
    bottom: auto
}

    .b-sch-vertical .b-sch-time-range label {
        -webkit-writing-mode: vertical-lr;
        writing-mode: vertical-lr;
        -ms-writing-mode: tb-lr;
        rotate: 180deg
    }

    .b-sch-vertical .b-sch-time-range.b-over-resize-handle {
        cursor: ns-resize
    }

.b-sch-vertical .b-timeline-sub-grid .b-sch-time-range {
    height: auto;
    width: inherit
}

.b-sch-vertical .b-timeline-sub-grid .b-sch-line {
    border-top: var(--b-time-range-line-width) var(--b-time-range-line-style) var(--b-time-range-line-color);
    color: #fff;
    padding: 0;
    height: 1px
}

    .b-sch-vertical .b-timeline-sub-grid .b-sch-line label {
        border-radius: 0;
        border-start-start-radius: var(--b-time-range-line-label-border-radius);
        border-end-start-radius: var(--b-time-range-line-label-border-radius)
    }

.b-sch-vertical .b-grid-sub-grid-locked .b-sch-time-range {
    flex-direction: column;
    justify-content: center;
    inset-inline-end: 0;
    width: 2em
}

.b-interaction-tooltip .b-tooltip-content > div {
    display: flex;
    flex-direction: column;
    gap: .5em
}

:root,
:host {
    --b-non-working-time-zindex: 3;
    --b-non-working-time-opacity: .4;
    --b-non-working-time-background: var(--b-neutral-95)
}

.b-colorize {
    --b-non-working-time-header-background: color-mix(in oklab, var(--b-color-red), transparent 95%)
}

.b-timeline-base.b-widget .b-sch-non-working-time {
    --b-time-range-header-background: var(--b-non-working-time-header-background);
    --b-time-range-background: var(--b-non-working-time-background);
    --b-time-range-opacity: var(--b-non-working-time-opacity);
    --b-time-range-range-zindex: var(--b-non-working-time-zindex)
}

.b-time-ranges-header-canvas .b-sch-non-working-time {
    pointer-events: none
}

:root,
:host {
    --b-time-selection-opacity: .2
}

.b-sch-time-axis-column .b-selected-time-span,
.b-vertical-time-axis-column .b-selected-time-span {
    color: #fff;
    justify-content: space-between;
    padding: .4em;
    opacity: 1;
    line-height: 1em;
    background: var(--b-time-selection-header-background, var(--b-primary-60))
}

:is(.b-sch-time-axis-column .b-selected-time-span, .b-vertical-time-axis-column .b-selected-time-span) span {
    white-space: nowrap;
    overflow: hidden
}

:is(.b-sch-time-axis-column .b-selected-time-span, .b-vertical-time-axis-column .b-selected-time-span) .b-selection-start,
:is(.b-sch-time-axis-column .b-selected-time-span, .b-vertical-time-axis-column .b-selected-time-span) .b-selection-end {
    align-self: flex-end
}

:is(.b-sch-time-axis-column .b-selected-time-span, .b-vertical-time-axis-column .b-selected-time-span) .b-icon-close {
    position: absolute;
    top: .2em;
    inset-inline-end: .4em;
    cursor: pointer
}

.b-sch-time-axis-column .b-selected-time-span {
    font-size: .7em
}

.b-vertical-time-axis-column .b-selected-time-span {
    width: calc(100% - 2em)
}

    .b-vertical-time-axis-column .b-selected-time-span span {
        font-size: .7em
    }

    .b-vertical-time-axis-column .b-selected-time-span .b-icon-close {
        inset-inline-start: .4em
    }

:is(.b-grid-header, .b-timeline-sub-grid, .b-vertical-time-axis-column) .b-selected-time-span {
    transition: none;
    z-index: 10
}

.b-timeline-sub-grid .b-selected-time-span {
    --b-time-range-background: var(--b-time-selection-background, var(--b-primary-85));
    --b-time-range-opacity: var(--b-time-selection-opacity)
}

:root,
:host {
    --b-tree-summary-zindex: 4
}

.b-tree-summary .b-tick-cell-canvas {
    z-index: var(--b-tree-summary-zindex)
}

.b-sch-tick-summary-cell {
    display: flex;
    position: absolute;
    contain: strict;
    pointer-events: all
}

.b-animating .b-sch-tick-summary-cell {
    transition: top var(--b-grid-row-transition-duration)
}

.b-tree-summary-cell {
    display: flex;
    flex: 1;
    justify-content: center;
    align-items: center;
    font-weight: 400
}

    .b-tree-summary-cell:empty {
        visibility: hidden
    }

:root,
:host {
    --b-clock-size: 1.5em;
    --b-clock-hand-width: 3
}

.b-sch-clock-wrap svg {
    width: var(--b-clock-size);
    height: var(--b-clock-size)
}

.b-sch-clock-wrap circle {
    stroke: var(--b-clock-hand-color, var(--b-primary-30));
    stroke-width: var(--b-clock-hand-width);
    fill: var(--b-clock-dial-background, var(--b-primary-95))
}

.b-sch-clock-wrap line {
    stroke: var(--b-clock-hand-color, var(--b-primary-30));
    stroke-width: var(--b-clock-hand-width);
    transform-origin: center
}

.b-sch-clock-text {
    white-space: nowrap
}

.b-sch-clock-wrap,
.b-sch-date-wrap {
    display: flex;
    gap: .5em;
    align-items: center
}

.b-sch-date {
    overflow: clip;
    background: color-mix(in srgb, var(--b-primary), transparent 90%);
    border-radius: .25em
}

.b-sch-date-month {
    font-size: .6em;
    background: color-mix(in srgb, var(--b-primary), transparent 70%);
    width: 3em;
    text-align: center
}

.b-sch-date-date {
    font-size: .8em;
    text-align: center
}

:root,
:host {
    --b-horizontal-time-axis-border-width: var(--b-grid-header-border-width);
    --b-horizontal-time-axis-cell-padding-inline: var(--b-sch-event-padding-inline, var(--b-gantt-task-padding-inline));
    --b-horizontal-time-axis-cell-padding-block: 0;
    --b-horizontal-time-axis-lowest-font-size: .9em
}

.b-no-column-lines {
    --b-horizontal-time-axis-border-width: 0
}

.b-sch-time-axis-column.b-grid-header.b-depth-0 {
    border-block-end: none;
    --b-grid-header-padding: 0
}

    .b-sch-time-axis-column.b-grid-header.b-depth-0:hover {
        background: var(--b-grid-header-background);
        color: var(--b-grid-header-color)
    }

.b-horizontal-time-axis {
    flex-direction: column;
    flex: 1 0 100%;
    user-select: none;
    -webkit-user-select: none;
    overflow: clip
}

.b-sch-header-row {
    position: relative;
    flex: 1 0 2em;
    contain: strict;
    overflow: clip
}

    .b-sch-header-row.b-sch-header-row-0.b-lowest {
        flex: 1
    }

    .b-sch-header-row.b-sticky-header .b-sch-header-text {
        position: sticky;
        inset-inline-start: var(--b-horizontal-time-axis-cell-padding-inline)
    }

.b-sch-header-time-axis-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    inset-block: 0;
    cursor: pointer;
    overflow: clip;
    white-space: nowrap;
    contain: strict;
    transition: background-color var(--b-default-transition-duration), border var(--b-default-transition-duration);
    border-block-end: var(--b-horizontal-time-axis-border-width) solid var(--b-grid-header-border-color);
    border-inline-start: var(--b-horizontal-time-axis-border-width) solid var(--b-grid-header-border-color);
    color: var(--b-grid-header-color);
    font-size: var(--b-grid-header-font-size);
    font-weight: var(--b-grid-header-font-weight)
}

    .b-sch-header-time-axis-cell.fa {
        display: flex;
        font-weight: var(--b-grid-header-font-weight)
    }

    .b-sch-header-time-axis-cell.b-align-start {
        justify-content: flex-start;
        padding-inline: var(--b-horizontal-time-axis-cell-padding-inline)
    }

    .b-sch-header-time-axis-cell.b-align-end {
        justify-content: flex-end
    }

.b-horizontal-time-axis .b-sch-header-time-axis-cell:hover {
    background: var(--b-grid-header-hover-background);
    color: var(--b-grid-header-hover-color)
}

.b-sch-header-time-axis-cell.b-last .b-sch-header-text {
    overflow: hidden
}

.b-lowest > .b-sch-header-time-axis-cell {
    border-block-end-width: var(--b-grid-header-container-border-width);
    font-size: var(--b-horizontal-time-axis-lowest-font-size)
}

.b--grid-header-container .b-sch-time-axis-column {
    flex-grow: unset !important;
    background: var(--b-grid-header-background);
    border-inline-end: 0 none
}

.b--sch-timeaxiscolumn-levels-1 {
    min-height: 1.5em
}

.b--sch-timeaxiscolumn-levels-2 {
    min-height: 3em
}

.b--sch-timeaxiscolumn-levels-3 {
    min-height: 4.5em
}

.b--sch-header-time-axis-cell {
    padding-block: var(--b-horizontal-time-axis-cell-padding-block)
}

:is(.b--sch-header-time-axis-cell.b-align-start, .b--sch-header-time-axis-cell.b-align-end) .b-sch-header-text {
    padding-inline: var(--b-horizontal-time-axis-cell-padding-inline)
}

.b--sch-header-time-axis-cell.b-align-start {
    justify-content: flex-start
}

.b--sch-header-time-axis-cell.b-align-end {
    justify-content: flex-end
}

.b--schedulerbase.b-fill-last-column .b-sch-time-axis-column:last-child {
    border-inline-end-color: var(--b-grid-header-border-color)
}

.b--sch-header-time-axis-cell[data-tick-index="0"] {
    border-inline-start: 0
}

.b--timelinebase:not(.b-sch-vertical) .b-grid-header-container {
    border-bottom: 0
}

.b--timelinebase:not(.b-sch-vertical) .b-header:not(.b-grid-header-scroller-normal) .b-grid-headers,
.b--timelinebase:not(.b-sch-vertical) .b-horizontal-time-axis {
    border-bottom: 1px solid var(--b-grid-header-border-color)
}

:root,
:host {
    --b-sch-event-font-weight: 400;
    --b-sch-event-padding-inline: var(--b-widget-padding);
    --b-sch-event-padding-block: 0em;
    --b-sch-event-transition: border .2s, border-radius .2s, background-color .2s, color .2s, padding .2s, opacity .2s;
    --b-sch-event-animating-transition: border .2s, border-radius .2s, background-color .2s, color .2s, padding .2s, opacity .2s, inset .2s, width .2s, height .2s;
    --b-sch-event-cursor: pointer;
    --b-sch-event-opacity: 1;
    --b-sch-event-border-width: 0px;
    --b-sch-event-width-reduction: 1px;
    --b-sch-event-min-size: 6px;
    --b-sch-event-content-width: 100%;
    --b-sch-event-content-height: 100%;
    --b-sch-event-border-radius: null;
    --b-sch-event-border-style: null;
    --b-sch-event-box-shadow: null;
    --b-sch-event-font-size: null;
    --b-sch-milestone-gap: .5em;
    --b-sch-milestone-border-width: var(--b-sch-event-border-width);
    --b-sch-event-border-color: var(--b-sch-event-background)
}

.b-grid-row {
    --b-resource-event-color: var(--b-primary)
}

.b-scrolling {
    --b-sch-event-transition: none
}

.b-sch-event-wrap {
    position: absolute;
    display: grid;
    outline: none;
    contain: layout style;
    align-items: center;
    pointer-events: all;
    z-index: 1;
    grid-template-areas: "top    top    top    top    top" "before start  body   end  after" "bottom bottom bottom bottom bottom";
    grid-template-columns: 0 auto 1fr auto 0;
    grid-template-rows: min-content auto min-content;
    opacity: var(--b-sch-event-opacity);
    transition: var(--b-sch-event-transition)
}

    .b-sch-event-wrap:where(:not(.b-milestone-wrap)) {
        min-width: var(--b-sch-event-min-size)
    }

.b-animating:not(.b-event-buffer-transition, .b-sub-grid-width-transition) .b-sch-event-wrap:not(.b-dragging, .b-sch-event-wrap-resizing, .b-reusing-own) {
    --b-sch-event-transition: var(--b-sch-event-animating-transition)
}

.b-sch-event-wrap:hover,
.b-sch-event-wrap.b-hover,
.b-sch-event-wrap.b-sch-event-wrap-resizing {
    --b-sch-event-background: var(--b-sch-event-hover-background)
}

.b-sch-event-wrap.b-selected {
    --b-sch-event-background: var(--b-sch-event-selected-background)
}

.b-using-keyboard .b-sch-event-wrap.b-active .b-sch-event {
    outline: var(--b-grid-cell-focused-outline-width) solid var(--b-grid-cell-focused-outline-color)
}

.b-sch-event-wrap.b-removing {
    transition: opacity .3s;
    opacity: 0
}

.b-sch-event-wrap.b-remove-remove,
.b-sch-event-wrap.b-toggle-remove {
    transition: opacity .2s, max-height .2s;
    opacity: 0;
    max-height: 0
}

.b-sch-event-wrap.b-toggle-add {
    animation: b-anim-toggle-add .3s !important
}

.b-sch-event-wrap.b-sch-vertical {
    grid-template-areas: "top    top    top" "above  above  above" "start  start  start" "before body   after" "end    end    end" "below  below  below" "bottom bottom bottom";
    grid-template-columns: min-content auto min-content;
    grid-template-rows: 0 auto auto 1fr auto auto 0
}

    .b-sch-event-wrap.b-sch-vertical:where(:not(.b-milestone-wrap)) {
        --b-sch-event-padding-inline: 1em;
        --b-sch-event-padding-block: 1em
    }

        .b-sch-event-wrap.b-sch-vertical:where(:not(.b-milestone-wrap)) .b-sch-event-content {
            white-space: normal;
            line-height: normal;
            align-items: flex-start
        }

        .b-sch-event-wrap.b-sch-vertical:where(:not(.b-milestone-wrap)) .b-sch-event-narrow .b-sch-event-content {
            flex-direction: column;
            align-items: center
        }

    .b-sch-event-wrap.b-sch-vertical .b-sch-event-narrow .b-event-text-wrap {
        white-space: nowrap;
        writing-mode: vertical-rl
    }

.b-grid-body-container.b-scrolling .b-sch-event-wrap {
    pointer-events: none
}

.b-timeline-base:not(.b-sch-vertical.b-event-layout-mixed, .b-dragging-event) .b-sch-event-wrap.b-hover,
.b-timeline-base:not(.b-sch-vertical.b-event-layout-mixed, .b-dragging-event) .b-sch-event-wrap.b-selected,
.b-timeline-base:not(.b-sch-vertical.b-event-layout-mixed, .b-dragging-event) .b-sch-event-wrap:focus {
    z-index: 100 !important
}

.b-sch-vertical.b-event-layout-mixed .b-sch-event-wrap:focus {
    z-index: 100 !important
}

.b-sch-event-wrap:where(:not(.b-sch-vertical)) {
    max-height: calc(var(--b-event-size) * 1px)
}

@keyframes b-anim-toggle-add {
    0% {
        opacity: 0;
        max-height: 0
    }

    to {
        opacity: 1;
        max-height: calc(var(--b-event-size) * 1px)
    }
}

.b-sch-event {
    display: flex;
    align-items: center;
    white-space: nowrap;
    grid-area: body;
    position: relative;
    min-height: 0;
    height: 100%;
    opacity: 1;
    z-index: 1;
    transition: opacity .4s;
    border-color: var(--b-sch-event-border-color);
    min-width: var(--b-sch-event-min-size);
    width: calc(100% - var(--b-sch-event-width-reduction))
}

    .b-sch-event:where(:not(.b-milestone)),
    .b-sch-event.b-milestone .b-sch-event-content:before {
        border-width: var(--b-sch-event-border-width);
        border-style: var(--b-sch-event-border-style);
        border-radius: var(--b-sch-event-border-radius);
        box-shadow: var(--b-sch-event-box-shadow);
        color: var(--b-sch-event-color);
        cursor: var(--b-sch-event-cursor);
        font-weight: var(--b-sch-event-font-weight);
        transition: var(--b-sch-event-transition)
    }

    .b-sch-event:where(:not(.b-milestone)) {
        overflow: clip;
        background: var(--b-sch-event-background)
    }

.b-sch-event-content {
    display: flex;
    overflow: clip;
    text-overflow: ellipsis;
    position: relative;
    line-height: 1.2em;
    align-items: center;
    min-width: 0;
    gap: .5em;
    font-size: var(--b-sch-event-font-size);
    margin-inline: var(--b-sch-event-padding-inline);
    padding-block: var(--b-sch-event-padding-block);
    width: var(--b-sch-event-content-width);
    height: var(--b-sch-event-content-height)
}

    .b-sch-event-content > i {
        line-height: inherit
    }

.b-milestone-wrap:where(.b-sch-vertical) {
    justify-items: center
}

    .b-milestone-wrap:where(.b-sch-vertical) .b-milestone .b-sch-event-content {
        display: grid
    }

    .b-milestone-wrap:where(.b-sch-vertical) .b-milestone label {
        justify-self: center;
        inset-block-start: calc(var(--b-event-size) * .8px + var(--b-sch-milestone-border-width, 0))
    }

.b-milestone-wrap.b-measure {
    height: 1em;
    position: fixed;
    top: -10000px;
    inset-inline-start: -10000px;
    visibility: hidden
}

    .b-milestone-wrap.b-measure label {
        font-weight: 400
    }

.b-sch-layout-milestones .b-milestone-wrap {
    margin: 0;
    min-width: 0;
    flex-direction: row
}

.b-using-keyboard :is(.b-sch-layout-milestones .b-milestone-wrap).b-active {
    outline-offset: 3px
}

.b-sch-layout-milestones .b-milestone-wrap.b-active .b-sch-event.b-milestone,
.b-sch-layout-milestones .b-milestone-wrap.b-active .b-sch-event.b-milestone:before {
    outline: none
}

.b-sch-layout-milestones .b-milestone-wrap .b-sch-event.b-milestone {
    position: relative;
    min-width: 0;
    padding: 0;
    align-self: stretch;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--b-sch-event-background);
    inset-inline-start: calc(.5 * var(--b-milestone-size));
    width: calc(100% - var(--b-milestone-size))
}

    .b-sch-layout-milestones .b-milestone-wrap .b-sch-event.b-milestone .b-sch-event-content {
        justify-content: center;
        z-index: 1
    }

        .b-sch-layout-milestones .b-milestone-wrap .b-sch-event.b-milestone .b-sch-event-content:before {
            content: none
        }

    .b-sch-layout-milestones .b-milestone-wrap .b-sch-event.b-milestone:before,
    .b-sch-layout-milestones .b-milestone-wrap .b-sch-event.b-milestone:after {
        background: inherit;
        position: absolute;
        content: " ";
        height: calc(var(--b-milestone-size) * .707107);
        aspect-ratio: 1 / 1;
        z-index: 0
    }

    .b-sch-layout-milestones .b-milestone-wrap .b-sch-event.b-milestone:before {
        top: 50%;
        inset-inline-start: 0;
        transform-origin: 50% 50%;
        transform: translate(-50%, -50%) rotate(45deg)
    }

    .b-sch-layout-milestones .b-milestone-wrap .b-sch-event.b-milestone:after {
        top: 0;
        inset-inline-end: 0;
        rotate: -45deg;
        transform-origin: 100% 0
    }

.b-sch-layout-milestones .b-milestone-wrap.b-measure .b-sch-event.b-milestone {
    width: calc(100% + var(--b-milestone-size))
}

.b-sch-layout-milestone-text-position-inside .b-milestone-wrap .b-milestone label {
    margin-inline-start: 0;
    inset-inline-start: 50%;
    translate: -50%
}

.b-initial-fade-in .b-sch-dependency,
.b-initial-fade-in .b-sch-event-wrap {
    opacity: 0;
    animation-name: b-anim-initial-fade-in;
    animation-duration: .5s;
    animation-fill-mode: forwards
}

@keyframes b-anim-initial-fade-in {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.b-initial-zoom-in .b-sch-event-wrap {
    animation-name: b-anim-initial-zoom-in;
    animation-duration: .4s;
    animation-timing-function: ease-in
}

@keyframes b-anim-initial-zoom-in {
    0% {
        transform: scale(.01)
    }

    to {
        transform: scale(1)
    }
}

.b-initial-slide-from-left .b-sch-event-wrap {
    transform: translate(-100vw);
    animation-name: b-anim-initial-slide-from-left;
    animation-duration: .7s;
    animation-fill-mode: forwards
}

@keyframes b-anim-initial-slide-from-left {
    to {
        transform: translate(0)
    }
}

.b-initial-slide-from-top .b-sch-event-wrap {
    transform: translateY(-100vh);
    animation-name: b-anim-initial-slide-from-top;
    animation-duration: .7s;
    animation-fill-mode: forwards
}

@keyframes b-anim-initial-slide-from-top {
    to {
        transform: translateY(0)
    }
}

.b-sch-event-wrap.b-aborting,
.b-sch-event-wrap.b-drag-unified-animation {
    transition: var(--b-sch-event-transition), transform .2s, left .2s, top .2s
}

.b-sch-event-wrap.b-dragging {
    z-index: 200 !important
}

    .b-sch-event-wrap.b-dragging.b-drag-main {
        z-index: 201 !important
    }

.b-event-drag-tooltip .b-tooltip-content > div {
    display: flex;
    flex-direction: column;
    gap: .5em
}

.b-sch-tip-message .b-icon:first-child {
    margin-inline-end: .5em;
    justify-content: center;
    color: var(--b-clock-hand-color);
    width: var(--b-clock-size)
}

.b-float-root > .b-tooltip.b-event-drag-tooltip {
    pointer-events: none
}

:root,
:host {
    --b-event-resize-handle-other-size: 3px;
    --b-event-resize-handle-hover-other-size: 3px;
    --b-event-resize-handle-border-radius: 3px;
    --b-event-resize-handle-inset: 7px;
    --b-event-resize-handle-size: 60%;
    --b-event-resize-handle-hover-size: 70%;
    --b-event-resize-handle-max-size: 3em;
    --b-event-resize-handle-zindex: 1;
    --b-event-resize-handle-background: #ffffff70;
    --b-event-resize-handle-hover-background: #ffffffdd;
    --bi-event-resize-handle-content: "";
    --bi-event-resize-handle-start-translate: 0 -50%;
    --bi-event-resize-handle-end-translate: 0 50%;
    --bi-event-resize-handle-inset-inline: var(--b-event-resize-handle-inset);
    --bi-event-resize-handle-inset-block: 50%;
    --bi-event-resize-handle-height: var(--b-event-resize-handle-size);
    --bi-event-resize-handle-width: var(--b-event-resize-handle-other-size);
    --bi-event-resize-handle-hover-height: var(--b-event-resize-handle-hover-size);
    --bi-event-resize-handle-hover-width: var(--b-event-resize-handle-hover-other-size);
    --bi-event-resize-handle-cursor: ew-resize
}

:is(:is(.b-event-resize .b-sch-event-wrap.b-hover, .b-event-resize .b-sch-event-wrap:hover, .b-event-resize .b-sch-event-wrap.b-unhover, .b-event-resize .b-sch-event-wrap-resizing)>.b-sch-event-resizable-true, :is(.b-event-resize .b-sch-event-wrap.b-hover, .b-event-resize .b-sch-event-wrap:hover, .b-event-resize .b-sch-event-wrap.b-unhover, .b-event-resize .b-sch-event-wrap-resizing)>.b-sch-event-resizable-start, :is(.b-event-resize .b-sch-event-wrap.b-hover, .b-event-resize .b-sch-event-wrap:hover, .b-event-resize .b-sch-event-wrap.b-unhover, .b-event-resize .b-sch-event-wrap-resizing)>.b-sch-event-resizable-end):before,
:is(:is(.b-event-resize .b-sch-event-wrap.b-hover, .b-event-resize .b-sch-event-wrap:hover, .b-event-resize .b-sch-event-wrap.b-unhover, .b-event-resize .b-sch-event-wrap-resizing)>.b-sch-event-resizable-true, :is(.b-event-resize .b-sch-event-wrap.b-hover, .b-event-resize .b-sch-event-wrap:hover, .b-event-resize .b-sch-event-wrap.b-unhover, .b-event-resize .b-sch-event-wrap-resizing)>.b-sch-event-resizable-start, :is(.b-event-resize .b-sch-event-wrap.b-hover, .b-event-resize .b-sch-event-wrap:hover, .b-event-resize .b-sch-event-wrap.b-unhover, .b-event-resize .b-sch-event-wrap-resizing)>.b-sch-event-resizable-end):after {
    position: absolute;
    transition: background .2s, height .3s, width .3s, opacity .2s;
    opacity: 1;
    background: var(--b-event-resize-handle-background);
    border-radius: var(--b-event-resize-handle-border-radius);
    height: var(--bi-event-resize-handle-height);
    width: var(--bi-event-resize-handle-width);
    z-index: var(--b-event-resize-handle-zindex)
}

:is(:is(.b-event-resize .b-sch-event-wrap.b-hover, .b-event-resize .b-sch-event-wrap:hover, .b-event-resize .b-sch-event-wrap.b-unhover, .b-event-resize .b-sch-event-wrap-resizing)>.b-sch-event-resizable-true, :is(.b-event-resize .b-sch-event-wrap.b-hover, .b-event-resize .b-sch-event-wrap:hover, .b-event-resize .b-sch-event-wrap.b-unhover, .b-event-resize .b-sch-event-wrap-resizing)>.b-sch-event-resizable-start):before {
    content: var(--bi-event-resize-handle-content);
    inset-inline-start: var(--bi-event-resize-handle-inset-inline);
    inset-block-start: var(--bi-event-resize-handle-inset-block);
    translate: var(--bi-event-resize-handle-start-translate)
}

:is(:is(.b-event-resize .b-sch-event-wrap.b-hover, .b-event-resize .b-sch-event-wrap:hover, .b-event-resize .b-sch-event-wrap.b-unhover, .b-event-resize .b-sch-event-wrap-resizing)>.b-sch-event-resizable-true, :is(.b-event-resize .b-sch-event-wrap.b-hover, .b-event-resize .b-sch-event-wrap:hover, .b-event-resize .b-sch-event-wrap.b-unhover, .b-event-resize .b-sch-event-wrap-resizing)>.b-sch-event-resizable-end):after {
    content: var(--bi-event-resize-handle-content);
    inset-inline-end: var(--bi-event-resize-handle-inset-inline);
    inset-block-end: var(--bi-event-resize-handle-inset-block);
    translate: var(--bi-event-resize-handle-end-translate)
}

:is(.b-event-resize .b-sch-event-wrap.b-hover, .b-event-resize .b-sch-event-wrap:hover, .b-event-resize .b-sch-event-wrap.b-unhover, .b-event-resize .b-sch-event-wrap-resizing).b-over-start-handle {
    --b-sch-event-cursor: var(--bi-event-resize-handle-cursor)
}

    :is(.b-event-resize .b-sch-event-wrap.b-hover, .b-event-resize .b-sch-event-wrap:hover, .b-event-resize .b-sch-event-wrap.b-unhover, .b-event-resize .b-sch-event-wrap-resizing).b-over-start-handle > :before {
        --b-event-resize-handle-background: var(--b-event-resize-handle-hover-background);
        --b-event-resize-handle-width: var(--bi-event-resize-handle-hover-width);
        --b-event-resize-handle-height: var(--bi-event-resize-handle-hover-height)
    }

:is(.b-event-resize .b-sch-event-wrap.b-hover, .b-event-resize .b-sch-event-wrap:hover, .b-event-resize .b-sch-event-wrap.b-unhover, .b-event-resize .b-sch-event-wrap-resizing).b-over-end-handle {
    --b-sch-event-cursor: var(--bi-event-resize-handle-cursor)
}

    :is(.b-event-resize .b-sch-event-wrap.b-hover, .b-event-resize .b-sch-event-wrap:hover, .b-event-resize .b-sch-event-wrap.b-unhover, .b-event-resize .b-sch-event-wrap-resizing).b-over-end-handle > :after {
        --b-event-resize-handle-background: var(--b-event-resize-handle-hover-background);
        --b-event-resize-handle-width: var(--bi-event-resize-handle-hover-width);
        --b-event-resize-handle-height: var(--bi-event-resize-handle-hover-height)
    }

:is(.b-event-resize .b-sch-event-wrap.b-hover, .b-event-resize .b-sch-event-wrap:hover, .b-event-resize .b-sch-event-wrap.b-unhover, .b-event-resize .b-sch-event-wrap-resizing):where(.b-sch-vertical) {
    --bi-event-resize-handle-inset-inline: 50%;
    --bi-event-resize-handle-inset-block: var(--b-event-resize-handle-inset);
    --bi-event-resize-handle-start-translate: -50% 0;
    --bi-event-resize-handle-end-translate: 50% 0;
    --bi-event-resize-handle-height: var(--b-event-resize-handle-other-size);
    --bi-event-resize-handle-width: var(--b-event-resize-handle-size);
    --bi-event-resize-handle-hover-height: var(--b-event-resize-handle-hover-other-size);
    --bi-event-resize-handle-hover-width: var(--b-event-resize-handle-hover-size);
    --bi-event-resize-handle-cursor: ns-resize
}

@starting-style {
    :is(:is(.b-event-resize.b-sch-horizontal .b-sch-event-wrap.b-hover, .b-event-resize.b-sch-horizontal .b-sch-event-wrap: hover, .b-event-resize.b-sch-horizontal .b-sch-event-wrap.b-unhover, .b-event-resize.b-sch-horizontal .b-sch-event-wrap-resizing)>.b-sch-event-resizable-true, :is(.b-event-resize.b-sch-horizontal .b-sch-event-wrap.b-hover, .b-event-resize.b-sch-horizontal .b-sch-event-wrap:hover, .b-event-resize.b-sch-horizontal .b-sch-event-wrap.b-unhover, .b-event-resize.b-sch-horizontal .b-sch-event-wrap-resizing)>.b-sch-event-resizable-start, :is(.b-event-resize.b-sch-horizontal .b-sch-event-wrap.b-hover, .b-event-resize.b-sch-horizontal .b-sch-event-wrap:hover, .b-event-resize.b-sch-horizontal .b-sch-event-wrap.b-unhover, .b-event-resize.b-sch-horizontal .b-sch-event-wrap-resizing)>.b-sch-event-resizable-end):before, :is(:is(.b-event-resize.b-sch-horizontal .b-sch-event-wrap.b-hover, .b-event-resize.b-sch-horizontal .b-sch-event-wrap:hover, .b-event-resize.b-sch-horizontal .b-sch-event-wrap.b-unhover, .b-event-resize.b-sch-horizontal .b-sch-event-wrap-resizing)>.b-sch-event-resizable-true, :is(.b-event-resize.b-sch-horizontal .b-sch-event-wrap.b-hover, .b-event-resize.b-sch-horizontal .b-sch-event-wrap:hover, .b-event-resize.b-sch-horizontal .b-sch-event-wrap.b-unhover, .b-event-resize.b-sch-horizontal .b-sch-event-wrap-resizing)>.b-sch-event-resizable-start, :is(.b-event-resize.b-sch-horizontal .b-sch-event-wrap.b-hover, .b-event-resize.b-sch-horizontal .b-sch-event-wrap:hover, .b-event-resize.b-sch-horizontal .b-sch-event-wrap.b-unhover, .b-event-resize.b-sch-horizontal .b-sch-event-wrap-resizing)>.b-sch-event-resizable-end):after {
        height: 0;
        opacity: 0
    }

    :is(:is(.b-event-resize.b-sch-vertical .b-sch-event-wrap.b-hover, .b-event-resize.b-sch-vertical .b-sch-event-wrap:hover, .b-event-resize.b-sch-vertical .b-sch-event-wrap.b-unhover, .b-event-resize.b-sch-vertical .b-sch-event-wrap-resizing)>.b-sch-event-resizable-true, :is(.b-event-resize.b-sch-vertical .b-sch-event-wrap.b-hover, .b-event-resize.b-sch-vertical .b-sch-event-wrap:hover, .b-event-resize.b-sch-vertical .b-sch-event-wrap.b-unhover, .b-event-resize.b-sch-vertical .b-sch-event-wrap-resizing)>.b-sch-event-resizable-start, :is(.b-event-resize.b-sch-vertical .b-sch-event-wrap.b-hover, .b-event-resize.b-sch-vertical .b-sch-event-wrap:hover, .b-event-resize.b-sch-vertical .b-sch-event-wrap.b-unhover, .b-event-resize.b-sch-vertical .b-sch-event-wrap-resizing)>.b-sch-event-resizable-end):before,
    :is(:is(.b-event-resize.b-sch-vertical .b-sch-event-wrap.b-hover, .b-event-resize.b-sch-vertical .b-sch-event-wrap:hover, .b-event-resize.b-sch-vertical .b-sch-event-wrap.b-unhover, .b-event-resize.b-sch-vertical .b-sch-event-wrap-resizing)>.b-sch-event-resizable-true, :is(.b-event-resize.b-sch-vertical .b-sch-event-wrap.b-hover, .b-event-resize.b-sch-vertical .b-sch-event-wrap:hover, .b-event-resize.b-sch-vertical .b-sch-event-wrap.b-unhover, .b-event-resize.b-sch-vertical .b-sch-event-wrap-resizing)>.b-sch-event-resizable-start, :is(.b-event-resize.b-sch-vertical .b-sch-event-wrap.b-hover, .b-event-resize.b-sch-vertical .b-sch-event-wrap:hover, .b-event-resize.b-sch-vertical .b-sch-event-wrap.b-unhover, .b-event-resize.b-sch-vertical .b-sch-event-wrap-resizing)>.b-sch-event-resizable-end):after {
        width: 0;
        opacity: 0
    }
}

.b-scheduler-base.b-read-only .b-sch-event-wrap {
    --bi-event-resize-handle-content: null
}

:is(.b-sch-event-wrap.b-unhover .b-sch-event-resizable-true, .b-sch-event-wrap.b-unhover .b-sch-event-resizable-start, .b-sch-event-wrap.b-unhover .b-sch-event-resizable-end):before,
:is(.b-sch-event-wrap.b-unhover .b-sch-event-resizable-true, .b-sch-event-wrap.b-unhover .b-sch-event-resizable-start, .b-sch-event-wrap.b-unhover .b-sch-event-resizable-end):after {
    transition: opacity .2s;
    opacity: 0
}

.b-resizing-event {
    cursor: ew-resize
}

    .b-resizing-event .b-sch-time-axis-cell,
    .b-resizing-event .b-sch-event-wrap {
        pointer-events: none
    }

.b-sch-event-wrap-resizing {
    z-index: 2
}

.b-sch-event-resize-tip .b-tooltip-content > div {
    display: flex;
    flex-direction: column;
    gap: .5em
}

.b-sch-event-resize-tip .b-sch-tip-message:empty {
    display: none
}

.b-style-gantt,
.b-style-gantt .b-sch-event-segment {
    --b-sch-event-border-radius: .25em;
    --b-sch-event-color: var(--b-text-5);
    --b-sch-event-background: color-mix(in srgb, var(--b-primary), var(--b-mix) 50%);
    --b-sch-event-hover-background: color-mix(in srgb, var(--b-primary), var(--b-mix) 40%);
    --b-sch-event-selected-background: color-mix(in srgb, var(--b-primary), var(--b-mix) 30%);
    --b-sch-event-border-color: color-mix(in srgb, var(--b-primary), var(--b-mix) 20%)
}

@supports not (color: color-mix(in srgb, red, blue)) {
    .b-style-gantt,
    .b-style-gantt .b-sch-event-segment {
        --b-sch-event-background: var(--b-primary-75);
        --b-sch-event-hover-background: var(--b-primary-70);
        --b-sch-event-selected-background: var(--b-primary-65)
    }
}

.b-style-tonal {
    --b-sch-event-border-radius: .5em;
    --b-sch-event-color: color-mix(in srgb, var(--b-primary), var(--b-opposite) 40%);
    --b-sch-event-background: var(--b-sch-event-tonal-background);
    --b-sch-event-hover-background: var(--b-sch-event-tonal-hover-background);
    --b-sch-event-selected-background: color-mix(in srgb, var(--b-primary), var(--b-mix) 50%);
    --b-sch-event-font-weight: 600;
    --b-sch-event-border-color: color-mix(in srgb, var(--b-primary), var(--b-opposite) 40%)
}

@supports not (color: color-mix(in srgb, red, blue)) {
    .b-style-tonal {
        --b-sch-event-color: var(--b-primary-40);
        --b-sch-event-background: var(--b-primary-93);
        --b-sch-event-hover-background: var(--b-primary-85);
        --b-sch-event-selected-background: var(--b-primary-75)
    }
}

:is(.b-style-filled, .b-style-plain),
:is(.b-style-filled, .b-style-plain) .b-sch-event-segment {
    --b-sch-event-border-radius: .25em;
    --b-sch-event-color: var(--b-text-5);
    --b-sch-event-background: var(--b-primary);
    --b-sch-event-hover-background: color-mix(in srgb, var(--b-primary), var(--b-opposite) 20%);
    --b-sch-event-selected-background: color-mix(in srgb, var(--b-primary), var(--b-opposite) 40%);
    --b-sch-event-border-color: var(--b-sch-event-background)
}

@supports not (color: color-mix(in srgb, red, blue)) {
    :is(.b-style-filled, .b-style-plain),
    :is(.b-style-filled, .b-style-plain) .b-sch-event-segment {
        --b-sch-event-hover-background: var(--b-primary-40);
        --b-sch-event-selected-background: var(--b-primary-30)
    }
}

.b-style-traced,
.b-style-traced .b-sch-event-segment {
    --b-sch-event-border-radius: .75em;
    --b-sch-event-color: color-mix(in srgb, var(--b-primary), var(--b-opposite) 40%);
    --b-sch-event-background: color-mix(in srgb, var(--b-primary), var(--b-mix) 90%);
    --b-sch-event-hover-background: color-mix(in srgb, var(--b-primary), var(--b-mix) 86%);
    --b-sch-event-selected-background: color-mix(in srgb, var(--b-primary), var(--b-mix) 70%);
    --b-sch-event-font-weight: 600;
    --b-sch-event-border-width: 1px;
    --b-sch-event-border-color: color-mix(in srgb, var(--b-primary), var(--b-opposite) 40%);
    --b-sch-event-border-style: solid;
    --b-sch-milestone-border-width: 1px
}

@supports not (color: color-mix(in srgb, red, blue)) {
    .b-style-traced,
    .b-style-traced .b-sch-event-segment {
        --b-sch-event-background: var(--b-primary-95);
        --b-sch-event-hover-background: var(--b-primary-93);
        --b-sch-event-selected-background: var(--b-primary-85)
    }
}

:is(.b-style-bordered, .b-style-border),
:is(.b-style-bordered, .b-style-border) .b-sch-event-segment {
    --b-sch-event-border-radius: .5em;
    --b-sch-event-color: #fff;
    --b-sch-event-background: color-mix(in srgb, var(--b-primary), var(--b-mix) 20%);
    --b-sch-event-hover-background: var(--b-primary);
    --b-sch-event-selected-background: color-mix(in srgb, var(--b-primary), var(--b-opposite) 10%);
    --b-sch-event-font-weight: 600;
    --b-sch-event-border-width: 1px;
    --b-sch-event-border-color: color-mix(in srgb, var(--b-primary), var(--b-opposite) 40%);
    --b-sch-event-border-style: solid;
    --b-sch-milestone-border-width: 1px;
    --b-percent-bar-background: color-mix(in srgb, var(--b-primary), transparent 30%)
}

@supports not (color: color-mix(in srgb, red, blue)) {
    :is(.b-style-bordered, .b-style-border),
    :is(.b-style-bordered, .b-style-border) .b-sch-event-segment {
        --b-sch-event-background: var(--b-primary-60);
        --b-sch-event-selected-background: var(--b-primary-45)
    }
}

.b-style-outlined,
.b-style-hollow {
    --b-sch-event-border-radius: .5em;
    --b-sch-event-color: color-mix(in srgb, var(--b-primary), var(--b-opposite) 20%);
    --b-sch-event-background: transparent;
    --b-sch-event-hover-background: color-mix(in srgb, var(--b-primary), var(--b-mix) 90%);
    --b-sch-event-selected-background: color-mix(in srgb, var(--b-primary), var(--b-mix) 70%);
    --b-sch-event-border-width: 2px;
    --b-sch-event-border-color: color-mix(in srgb, var(--b-primary), var(--b-opposite) 20%);
    --b-sch-event-border-style: solid;
    --b-sch-milestone-border-width: 2px
}

@supports not (color: color-mix(in srgb, red, blue)) {
    .b-style-outlined,
    .b-style-hollow {
        --b-sch-event-hover-background: var(--b-primary-95);
        --b-sch-event-selected-background: var(--b-primary-85)
    }
}

:is(.b-style-outlined, .b-style-hollow) .b-segmented {
    --b-sch-event-background: color-mix(in srgb, var(--b-primary), var(--b-mix) 98%)
}

:is(.b-style-indented, .b-style-colored),
:is(.b-style-indented, .b-style-colored) .b-sch-event-segment {
    --b-sch-event-border-radius: .15em;
    --b-sch-event-color: color-mix(in srgb, var(--b-primary), var(--b-opposite) 40%);
    --b-sch-event-background: var(--b-sch-event-indented-background);
    --b-sch-event-hover-background: var(--b-sch-event-indented-hover-background);
    --b-sch-event-selected-background: var(--b-sch-event-indented-selected-background);
    --b-sch-event-border-width: 0 0 0 6px;
    --b-sch-event-border-color: color-mix(in srgb, var(--b-primary), var(--b-opposite) 40%);
    --b-sch-event-border-style: solid;
    --b-sch-milestone-border-width: 6px
}

.b-sch-vertical :is(:is(.b-style-indented, .b-style-colored), :is(.b-style-indented, .b-style-colored) .b-sch-event-segment) {
    --b-sch-event-border-width: 6px 0 0 0
}

@supports not (color: color-mix(in srgb, red, blue)) {
    :is(.b-style-indented, .b-style-colored),
    :is(.b-style-indented, .b-style-colored) .b-sch-event-segment {
        --b-sch-event-background: var(--b-primary-95);
        --b-sch-event-hover-background: var(--b-primary-91);
        --b-sch-event-selected-background: var(--b-primary-85)
    }
}

.b-style-calendar {
    --b-sch-event-border-radius: var(--b-calendar-event-border-radius, .5em);
    --b-sch-event-color: color-mix(in srgb, var(--b-primary), var(--b-opposite) 40%);
    --b-sch-event-background: color-mix(in srgb, var(--b-primary), var(--b-mix) 90%);
    --b-sch-event-hover-background: color-mix(in srgb, var(--b-primary), var(--b-mix) 80%);
    --b-sch-event-selected-background: var(--b-primary);
    --b-sch-event-border-width: 0 0 0 var(--b-day-view-event-border-inline-start-width, 4px);
    --b-sch-event-border-color: var(--b-primary);
    --b-sch-event-border-style: solid;
    --b-sch-milestone-border-width: 6px;
    --b-sch-event-padding-inline: var(--b-day-view-event-body-padding, .35em);
    --b-sch-event-padding-block: var(--b-day-view-event-body-padding, .35em);
    --b-sch-event-font-weight: var(--b-calendar-event-font-weight, 500);
    --b-sch-event-font-size: var(--b-calendar-event-font-size, .9em)
}

@supports not (color: color-mix(in srgb, red, blue)) {
    .b-style-calendar {
        --b-sch-event-background: var(--b-primary-97);
        --b-sch-event-hover-background: var(--b-primary-95);
        --b-sch-event-selected-background: var(--b-primary-90)
    }
}

.b-sch-vertical .b-style-calendar {
    --b-sch-event-border-width: var(--b-day-view-event-border-inline-start-width, 4px) 0 0 0
}

.b-style-calendar .b-sch-event-content {
    align-items: flex-start
}

.b-style-calendar.b-selected {
    --b-sch-event-color: var(--b-neutral-100)
}

.b-style-interday {
    --b-sch-event-border-radius: .25em;
    --b-sch-event-color: var(--b-primary);
    --b-sch-event-background: color-mix(in srgb, var(--b-primary), var(--b-mix) 80%);
    --b-sch-event-hover-background: color-mix(in srgb, var(--b-primary), var(--b-mix) 80%);
    --b-sch-event-selected-background: color-mix(in srgb, var(--b-primary), var(--b-opposite) 20%);
    --b-sch-event-border-color: var(--b-sch-event-background);
    --b-sch-event-opacity: var(--b-calendar-event-solid-bar-opacity, .8);
    --b-sch-event-font-weight: var(--b-calendar-solid-bar-font-weight, 500);
    --b-sch-event-font-size: var(--b-calendar-solid-bar-font-size, .9em)
}

@supports not (color: color-mix(in srgb, red, blue)) {
    .b-style-interday {
        --b-sch-event-hover-background: var(--b-primary-40);
        --b-sch-event-selected-background: var(--b-primary-30)
    }
}

.b-style-interday.b-selected {
    --b-sch-event-color: var(--b-neutral-100)
}

.b-style-interday:hover {
    --b-sch-event-opacity: 1
}

.b-style-rounded {
    --b-sch-event-border-radius: 1000em;
    --b-sch-event-color: color-mix(in srgb, var(--b-primary), var(--b-opposite) 40%);
    --b-sch-event-background: color-mix(in srgb, var(--b-primary), var(--b-mix) 86%);
    --b-sch-event-hover-background: color-mix(in srgb, var(--b-primary), var(--b-mix) 60%);
    --b-sch-event-selected-background: var(--b-primary);
    --b-sch-event-font-weight: 500;
    --b-percent-bar-background: color-mix(in srgb, var(--b-primary), transparent 70%)
}

@supports not (color: color-mix(in srgb, red, blue)) {
    .b-style-rounded {
        --b-sch-event-background: var(--b-primary-93);
        --b-sch-event-hover-background: var(--b-primary-80)
    }
}

.b-style-rounded.b-selected {
    --b-sch-event-color: color-mix(in srgb, var(--b-primary), var(--b-mix) 90%)
}

.b-style-line {
    --b-sch-event-background: transparent;
    --b-sch-event-padding-inline: 0;
    --b-sch-event-border-width: 5px 0 0 0;
    --b-sch-event-border-color: color-mix(in srgb, var(--b-primary), var(--b-mix) 20%);
    --b-sch-event-border-style: solid;
    --b-sch-event-font-size: .8em;
    --b-sch-milestone-border-width: 5px
}

    .b-style-line.b-hover {
        --b-sch-event-border-color: var(--b-primary)
    }

    .b-style-line.b-selected {
        --b-sch-event-border-color: color-mix(in srgb, var(--b-primary), var(--b-opposite) 30%)
    }

    .b-style-line:not(.b-milestone-wrap) {
        translate: 0 .7em
    }

        .b-style-line:not(.b-milestone-wrap) .b-sch-event {
            justify-content: center;
            height: calc(1.5em + 5px)
        }

.b-sch-vertical .b-style-line {
    --b-sch-event-border-width: 0 0 0 5px
}

    .b-sch-vertical .b-style-line .b-sch-event {
        height: 100%
    }

.b-style-dashed {
    --b-sch-event-background: transparent;
    --b-sch-event-padding-inline: 0;
    --b-sch-event-border-width: 5px 0 0 0;
    --b-sch-event-border-color: color-mix(in srgb, var(--b-primary), var(--b-mix) 20%);
    --b-sch-event-border-style: dashed;
    --b-sch-event-font-size: .8em;
    --b-sch-milestone-border-width: 5px
}

    .b-style-dashed.b-hover {
        --b-sch-event-border-color: var(--b-primary)
    }

    .b-style-dashed.b-selected {
        --b-sch-event-border-color: color-mix(in srgb, var(--b-primary), var(--b-opposite) 30%)
    }

    .b-style-dashed:not(.b-milestone-wrap) {
        translate: 0 .7em
    }

        .b-style-dashed:not(.b-milestone-wrap) .b-sch-event {
            justify-content: center;
            height: calc(1.5em + 5px)
        }

.b-sch-vertical .b-style-dashed {
    --b-sch-event-border-width: 0 0 0 5px
}

    .b-sch-vertical .b-style-dashed .b-sch-event {
        height: 100%
    }

.b-style-minimal {
    --b-sch-event-background: transparent;
    --b-sch-event-padding-inline: 0;
    --b-sch-event-border-width: 0 0 1px 0;
    --b-sch-event-border-color: color-mix(in srgb, var(--b-primary), var(--b-mix) 20%);
    --b-sch-event-border-style: solid;
    --b-sch-event-font-size: .9em;
    --b-sch-milestone-border-width: 1px
}

    .b-style-minimal.b-hover {
        --b-sch-event-border-color: var(--b-primary)
    }

    .b-style-minimal.b-selected {
        --b-sch-event-border-color: color-mix(in srgb, var(--b-primary), var(--b-opposite) 30%)
    }

.b-sch-vertical .b-style-minimal {
    --b-sch-event-border-width: 0 0 0 1px
}

.b-style-minimal > .b-sch-event {
    height: 60%
}

.b-sch-event-wrap,
.b-gantt-task-wrap {
    --b-sch-event-tonal-background: color-mix(in srgb, var(--b-primary), var(--b-mix) 86%);
    --b-sch-event-tonal-hover-background: color-mix(in srgb, var(--b-primary), var(--b-mix) 70%);
    --b-sch-event-indented-background: color-mix(in srgb, var(--b-primary), var(--b-mix) 90%);
    --b-sch-event-indented-hover-background: color-mix(in srgb, var(--b-primary), var(--b-mix) 82%);
    --b-sch-event-indented-selected-background: color-mix(in srgb, var(--b-primary), var(--b-mix) 70%)
}

:is(.b-time-axis-sub-grid.b-is-highlighting .b-sch-canvas>.b-sch-event-wrap, .b-time-axis-sub-grid.b-is-highlighting .b-sch-canvas>.b-gantt-task-wrap):not(.b-highlighted) {
    transition: opacity .4s;
    opacity: .2
}

.b-milestone-wrap {
    justify-content: center;
    --b-milestone-size: calc(var(--b-event-size) * 1px - var(--b-sch-milestone-border-width, 0) * 2)
}

    .b-milestone-wrap.b-sch-event-wrap,
    .b-milestone-wrap.b-sch-event-wrap.b-sch-vertical,
    .b-milestone-wrap.b.gantt-task-wrap {
        --b-sch-event-border-width: var(--b-sch-milestone-border-width)
    }

    .b-milestone-wrap .b-milestone {
        overflow: visible;
        box-shadow: none;
        background-color: transparent;
        width: var(--b-milestone-size)
    }

        .b-milestone-wrap .b-milestone.b-sch-event-with-icon .b-sch-event-content {
            overflow: visible;
            justify-content: center
        }

        .b-milestone-wrap .b-milestone.b-sch-event-with-icon i {
            font-size: var(--b-milestone-size)
        }

        .b-milestone-wrap .b-milestone label {
            position: absolute
        }

.b-labels-topbottom :is(.b-milestone-wrap .b-milestone:not(.b-sch-event-with-icon)) {
    --b-milestone-size: calc(var(--b-event-size) * .4px)
}

.b-milestone-wrap .b-milestone:not(.b-sch-event-with-icon) .b-gantt-task-content:before,
.b-milestone-wrap .b-milestone:not(.b-sch-event-with-icon) .b-sch-event-content:before {
    position: absolute;
    translate: 20%;
    content: "";
    border-radius: 0;
    background: inherit;
    height: calc(var(--b-milestone-size) * .707107);
    aspect-ratio: 1/ 1;
    rotate: 45deg
}

.b-milestone-wrap:where(:not(.b-sch-vertical)) .b-milestone label {
    margin-inline-start: .5em;
    inset-inline-start: var(--b-milestone-size)
}

.b-milestone-wrap .b-gantt-task-content,
.b-milestone-wrap .b-sch-event-content {
    overflow: visible;
    margin: 0;
    height: 0;
    width: 100%;
    display: flex;
    align-items: center;
    background: var(--b-sch-event-background)
}

.b-using-keyboard .b-milestone-wrap.b-active .b-sch-event.b-sch-event-with-icon {
    outline-offset: 3px
}

.b-using-keyboard .b-milestone-wrap.b-active .b-sch-event:not(.b-sch-event-with-icon) .b-sch-event-content:before {
    outline-offset: 3px
}

:root,
:host {
    --b-events-zindex: 6
}

.b-recurrence-editor-panel {
    --b-panel-padding: 0
}

    .b-recurrence-editor-panel > .b-recurrence-editor-panel-body-wrap {
        overflow: visible
    }

        .b-recurrence-editor-panel > .b-recurrence-editor-panel-body-wrap > .b-recurrence-editor-panel-content {
            overflow: visible
        }

:is(.b-recurrence-editor-panel>.b-recurrence-editor-panel-body-wrap>.b-recurrence-editor-panel-content [data-ref=monthDaysNumberRadioField], .b-recurrence-editor-panel>.b-recurrence-editor-panel-body-wrap>.b-recurrence-editor-panel-content [data-ref=monthDaysRadioField], .b-recurrence-editor-panel>.b-recurrence-editor-panel-body-wrap>.b-recurrence-editor-panel-content [data-ref=positionAndDayRadioField]).b-has-label.b-field {
    display: grid
}

.b-recurrence-editor-panel [data-ref=positionsCombo],
.b-recurrence-editor-panel [data-ref=daysCombo] {
    grid-column: 2
}

.b-recurrence-editor-panel .b-button-group {
    gap: 1px;
    width: 100%;
    height: auto;
    overflow: hidden;
    --b-button-focus-outline-offset: -2px
}

    .b-recurrence-editor-panel .b-button-group .b-button {
        border: none;
        min-height: 2.5em;
        border-radius: 0
    }

    .b-recurrence-editor-panel .b-button-group.b-recurrence-days-button-group .b-button {
        flex: 1 1 100%;
        min-width: auto;
        padding-inline: 0
    }

    .b-recurrence-editor-panel .b-button-group.b-recurrence-months-button-group {
        display: grid;
        grid-template-columns: repeat(4, 1fr)
    }

    .b-recurrence-editor-panel .b-button-group.b-recurrence-month-days-button-group {
        display: grid;
        grid-template-columns: repeat(7, 1fr);
        --b-button-padding: .25em
    }

:root,
:host {
    --b-resource-header-avatar-size: 2em;
    --b-resource-header-gap: .5em
}

.b-colorize {
    --b-resource-header-avatar-background-color: var(--b-primary-85)
}

.b-sch-vertical .b-sch-time-axis-column {
    flex-direction: row;
    min-height: 3em
}

.b-resource-header {
    flex: 1;
    position: relative;
    contain: strict
}

    .b-resource-header.b-has-images {
        min-height: 3em
    }

    .b-resource-header.b-grouped {
        height: 6em
    }

    .b-resource-header .b-resource-avatar {
        --b-avatar-size: var(--b-resource-header-avatar-size)
    }

.b-resource-header-group-cell {
    position: absolute;
    display: flex;
    align-items: stretch;
    flex-direction: column;
    height: 100%
}

    .b-resource-header-group-cell > .b-resource-header-group-text-wrap {
        padding: .5em 0;
        display: flex;
        width: 100%;
        justify-content: center;
        align-items: center;
        transition: border var(--b-default-transition-duration);
        border-bottom: 1px solid var(--b-grid-header-border-color);
        border-inline-end: 1px solid var(--b-grid-header-border-color)
    }

        .b-resource-header-group-cell > .b-resource-header-group-text-wrap > span {
            position: sticky;
            inset-inline-start: 0;
            padding-inline: var(--b-horizontal-time-axis-cell-padding-inline)
        }

    .b-resource-header-group-cell .b-resource-header-group-children {
        position: relative;
        height: 100%
    }

.b-resource-header-cell {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    white-space: nowrap;
    contain: strict;
    height: 100%;
    user-select: none;
    -webkit-user-select: none;
    transition: background-color var(--b-default-transition-duration), color var(--b-default-transition-duration), border var(--b-default-transition-duration);
    border-inline-end: 1px solid var(--b-grid-header-border-color);
    border-bottom: 1px solid var(--b-grid-header-border-color);
    color: var(--b-grid-header-color);
    font-size: var(--b-grid-header-font-size);
    font-weight: var(--b-grid-header-font-weight);
    gap: var(--b-resource-header-gap);
    --bi-resource-avatar-color: var(--b-resource-event-color, var(--b-primary))
}

.b-animating .b-resource-header-cell {
    transition: width .2s, left .2s, right .2s
}

.b-resource-header-cell:hover {
    cursor: pointer;
    background: var(--b-grid-header-hover-background)
}

.b-resource-header-cell.b-align-start,
.b-resource-header-cell.b-align-end {
    padding-inline: .3em
}

.b-resource-header-cell.b-align-start {
    justify-content: flex-start
}

.b-resource-header-cell.b-align-end {
    justify-content: flex-end
}

.b-resource-header-cell i {
    margin-inline-end: .5em
}

.b-resource-header-cell .b-resource-name {
    overflow: hidden
}

.b-resource-header-cell .b-resource-avatar {
    transition: background var(--b-default-transition-duration);
    background-color: var(--b-resource-header-avatar-background-color);
    --b-primary: var(--bi-resource-avatar-color)
}

:root,
:host {
    --b-top-canvas-zindex: 1000
}

.b-timeline-base.b-animating .b-grid-row {
    transition: height .2s, translate .2s, inset .2s
}

.b-time-axis-cell {
    --b-grid-cell-padding-inline: 0;
    --b-grid-cell-focused-outline-width: 0
}

.b-sch-canvas {
    position: absolute;
    inset: 0;
    pointer-events: none;
    contain: strict;
    overflow: clip;
    height: max(1px, 100%);
    width: var(--bi-total-column-width)
}

.b-sch-foreground-canvas {
    z-index: var(--b-events-zindex)
}

.b-sch-top-canvas {
    z-index: var(--b-top-canvas-zindex)
}

.b-calculation-progress-wrap,
.b-timeline-loading-indicator-wrap {
    position: absolute;
    bottom: 0;
    display: flex;
    width: 100%;
    height: 2px;
    z-index: 100
}

.b-timeline-loading-indicator-wrap {
    background: color-mix(in srgb, var(--b-color-green), transparent 80%)
}

.b-calculation-progress,
.b-timeline-loading-indicator {
    opacity: .6;
    background: var(--b-color-green)
}

.b-timeline-loading-indicator {
    animation: b-anim-line-loop 3s linear infinite
}

@keyframes b-anim-line-loop {
    0% {
        width: 0;
        margin-inline-start: 0
    }

    50% {
        width: 100%;
        margin-inline-start: 0
    }

    to {
        width: 100%;
        margin-inline-start: 100%
    }
}

.b-timeline-histogram .b-grid-row {
    --b-grid-row-zindex: calc(var(--b-column-lines-zindex) + 2)
}

.b-timeline-histogram .b-timeline-histogram-cell {
    padding: 0;
    border-inline-end-width: 0
}

.b-timeline-histogram .b-timeline-sub-grid .b-grid-cell.b-focused:after {
    display: none
}

.b-timeline-histogram-histogram {
    padding: 0;
    background-color: transparent
}

:root,
:host {
    --b-vertical-time-axis-background: var(--b-neutral-100)
}

.b-vertical-time-axis-column {
    flex-flow: column nowrap;
    align-items: stretch;
    padding: 0;
    border-inline-end: none;
    background-color: var(--b-vertical-time-axis-background) !important
}

    .b-vertical-time-axis-column.b-grid-cell.b-focused:after {
        display: none
    }

.b-vertical-time-axis {
    flex: 1 0 100%;
    contain: strict
}

    .b-vertical-time-axis .b-sch-header-row {
        flex-direction: column;
        flex: 1
    }

    .b-vertical-time-axis .b-sch-header-time-axis-cell {
        width: 100%;
        padding: 0;
        border-inline-start: 0 none;
        overflow: visible;
        text-transform: var(--b-grid-header-text-transform)
    }

    .b-vertical-time-axis .b-sch-header-row.b-lowest .b-sch-header-time-axis-cell {
        border-inline-end: none;
        border-bottom: none;
        justify-content: flex-end;
        align-items: flex-start;
        contain: unset
    }

        .b-vertical-time-axis .b-sch-header-row.b-lowest .b-sch-header-time-axis-cell .b-sch-header-text {
            padding-inline-end: .5em;
            margin-top: -.75em
        }

    .b-vertical-time-axis .b-sch-header-row:not(.b-lowest) {
        --b-grid-header-hover-background: var(--b-vertical-time-axis-background)
    }

    .b-vertical-time-axis .b-sch-header-row:not(.b-lowest) {
        flex: 0 0 2em
    }

        .b-vertical-time-axis .b-sch-header-row:not(.b-lowest) .b-sch-header-time-axis-cell {
            align-items: flex-start;
            border-inline-end: 1px solid var(--b-grid-header-border-color)
        }

        .b-vertical-time-axis .b-sch-header-row:not(.b-lowest) .b-sch-header-text {
            padding-inline: .5em;
            writing-mode: vertical-lr;
            -ms-writing-mode: tb-lr;
            rotate: 180deg
        }

    .b-vertical-time-axis .b-sticky-header .b-sch-header-text {
        inset-inline-start: 0
    }

.b-firefox .b-sticky-headers .b-resource-header {
    contain: style paint layout
}

.b-sch-vertical .b-sticky-headers .b-sch-header-row,
.b-sch-vertical .b-sticky-headers .b-sch-header-time-axis-cell {
    overflow: visible
}

.b-sch-vertical .b-sticky-headers .b-content-element,
.b-sch-vertical .b-sticky-headers .b-grid-sub-grid-locked,
.b-sch-vertical .b-sticky-headers .b-vertical-time-axis-row,
.b-sch-vertical .b-sticky-headers .b-vertical-time-axis-column,
.b-sch-vertical .b-sticky-headers .b-vertical-time-axis,
.b-sch-vertical .b-sticky-headers .b-resource-header,
.b-sch-vertical .b-sticky-headers .b-resource-header-group-cell,
.b-sch-vertical .b-sticky-headers .b-resource-header-group-text-wrap {
    overflow: clip
}

.b-resource-combo .b-resource-icon {
    display: none;
    margin-inline: var(--b-text-field-input-padding) 0
}

.b-resource-combo > .b-field-inner {
    padding-inline-start: 0
}

.b-resource-combo.b-show-event-color:not(.b-uses-chip-view) .b-resource-icon {
    display: block
}

.b-resource-combo-picker .b-icon {
    display: none;
    pointer-events: all
}

:is(.b-resource-combo-picker.b-multi-select, .b-resource-combo-picker.b-show-event-color) .b-icon {
    display: block
}

:is(.b-resource-combo-picker.b-multi-select, .b-resource-combo-picker.b-show-event-color) .b-selected .b-icon-square:before {
    content: "\f14a"
}

.b-resource-combo-picker.b-show-event-color .b-icon {
    color: var(--b-primary)
}

    .b-resource-combo-picker.b-show-event-color .b-icon:before {
        background: radial-gradient(var(--b-neutral-100) 60%, transparent 60%);
        font-size: var(--b-list-selected-icon-size)
    }

:root,
:host {
    --b-date-picker-cell-badge-font-size: .7em;
    --b-date-picker-cell-badge-background: var(--b-color-red);
    --b-date-picker-cell-badge-color: #fff;
    --b-date-picker-cell-badge-size: 1.7em;
    --b-date-picker-1-to-3-events-color: var(--b-color-yellow);
    --b-date-picker-4-to-6-events-color: var(--b-color-orange);
    --b-date-picker-7-or-more-events-color: var(--b-color-red)
}

.b-date-picker .b-cell-events-badge {
    display: grid;
    place-items: center;
    border-radius: 50%;
    aspect-ratio: 1 / 1;
    inset: auto auto -2px;
    font-size: var(--b-date-picker-cell-badge-font-size);
    background: var(--b-date-picker-cell-badge-background);
    color: var(--b-date-picker-cell-badge-color);
    width: var(--b-date-picker-cell-badge-size)
}

.b-date-picker .b-calendar-panel-cell.b-date-picker-1-to-3-events:hover,
.b-date-picker .b-calendar-panel-cell.b-date-picker-4-to-6-events:hover,
.b-date-picker .b-calendar-panel-cell.b-date-picker-7-or-more-events:hover {
    border-radius: 0
}

:is(.b-date-picker .b-calendar-panel-cell.b-date-picker-1-to-3-events:hover, .b-date-picker .b-calendar-panel-cell.b-date-picker-4-to-6-events:hover, .b-date-picker .b-calendar-panel-cell.b-date-picker-7-or-more-events:hover) .b-calendar-cell-inner {
    background-color: var(--b-year-view-heatmap-hover-background, var(--b-primary-75))
}

.b-date-picker .b-calendar-panel-cell.b-has-bullet .b-date-picker-cell-inner {
    justify-content: flex-start;
    padding-top: 2px
}

.b-date-picker .b-calendar-panel-cell.b-has-bullet .b-date-picker-cell-payload {
    bottom: 2px
}

.b-date-picker .b-calendar-panel-cell.b-has-badge .b-date-picker-cell-inner {
    justify-content: flex-start;
    padding-top: 2px
}

.b-date-picker .b-show-events-heatmap .b-calendar-panel-cell:not(:hover) {
    --b-date-picker-heatmap-background: var(--b-neutral-95)
}

    .b-date-picker .b-show-events-heatmap .b-calendar-panel-cell:not(:hover).b-date-picker-1-to-3-events .b-date-picker-cell-inner {
        background: color-mix(in srgb, var(--b-date-picker-1-to-3-events-color), var(--b-date-picker-heatmap-background))
    }

    .b-date-picker .b-show-events-heatmap .b-calendar-panel-cell:not(:hover).b-date-picker-4-to-6-events .b-date-picker-cell-inner {
        background: color-mix(in srgb, var(--b-date-picker-4-to-6-events-color), var(--b-date-picker-heatmap-background))
    }

    .b-date-picker .b-show-events-heatmap .b-calendar-panel-cell:not(:hover).b-date-picker-7-or-more-events .b-date-picker-cell-inner {
        background: color-mix(in srgb, var(--b-date-picker-7-or-more-events-color), var(--b-date-picker-heatmap-background))
    }

.b-date-picker .b-show-events-dots .b-date-picker-cell-payload {
    top: 1.7em;
    overflow: visible
}

.b-chart-content {
    position: absolute;
    width: 100%;
    top: 0;
    bottom: 0
}

.b-chart-show-controls {
    padding-top: 1em
}

.b-chart-controls {
    position: absolute;
    z-index: 1;
    top: 0;
    inset-inline-end: 0;
    gap: 0
}

.b-chart {
    transition: background var(--b-default-transition-duration);
    background: var(--b-neutral-100)
}

:root,
:host {
    --b-chart-designer-labels-list-padding-block: 1em
}

.b-grid-chart-designer-content {
    padding: 0
}

    .b-grid-chart-designer-content .b-chart[data-ref=preview] {
        background: var(--b-primary-100);
        border-radius: var(--b-widget-border-radius)
    }

.b-chart-designer-settings {
    flex: 0 0 22em;
    overflow: clip;
    transition: flex-basis .3s
}

    .b-chart-designer-settings .b-list {
        background: transparent
    }

    .b-chart-designer-settings .b-tab-panel-item {
        padding: 1em .5em .5em;
        --b-panel-header-padding: 0
    }

    .b-chart-designer-settings .b-chart-layout-tab {
        padding-top: 0
    }

    .b-chart-designer-settings .b-chart-appearance-tab {
        padding-block: 0
    }

        .b-chart-designer-settings .b-chart-appearance-tab .b-panel-header {
            background: transparent
        }

    .b-chart-designer-settings [data-ref=labelsSeriesList] {
        padding-block: var(--b-chart-designer-labels-list-padding-block)
    }

    .b-chart-designer-settings [data-ref=seriesList] {
        gap: 1em;
        padding-block: 1em;
        --b-list-item-multi-select-hover-background: transparent;
        --b-list-item-padding: 0
    }

    .b-chart-designer-settings [data-ref=labelsSeriesList],
    .b-chart-designer-settings [data-ref=seriesList] {
        padding-inline: 1em;
        border: 1px solid var(--b-text-field-outlined-border-color);
        border-radius: var(--b-widget-border-radius)
    }

.b-chart-designer-minimal .b-chart-designer-settings {
    flex-basis: 0
}

.b-chart-type-list {
    display: grid;
    grid-template-columns: 4.5em 4.5em 4.5em;
    width: 100%;
    column-gap: 1em;
    overflow: visible;
    --b-list-item-selected-background: var(--b-primary-97);
    --b-list-item-focus-background: var(--b-primary-97);
    --b-list-item-multi-selected-focus-background: var(--b-primary-97)
}

    .b-chart-type-list .b-list-item-group-header {
        font-weight: 500;
        grid-column: 1 / -1
    }

    .b-chart-type-list .b-list-item:not(.b-list-item-group-header) {
        padding: 0;
        border: 1px solid var(--b-text-field-outlined-border-color);
        border-radius: var(--b-widget-border-radius)
    }

        .b-chart-type-list .b-list-item:not(.b-list-item-group-header).b-selected {
            outline: 1px solid var(--b-widget-focus-outline-color);
            outline-offset: 2px
        }

.b-chart-type-thumbnail {
    width: 4em;
    height: 3em
}

.b-chart-appearance-tab {
    gap: 0
}

    .b-chart-appearance-tab .b-multi-section .b-panel {
        --b-panel-header-font-weight: 400
    }

    .b-chart-appearance-tab .b-panel {
        flex-shrink: 0;
        --b-panel-header-font-size: 1em;
        --b-panel-with-header-padding: 0;
        --b-panel-header-padding: 1em 0
    }

.b-slider-with-field.b-hbox {
    margin-top: 1px;
    flex-wrap: wrap
}

    .b-slider-with-field.b-hbox > .b-label {
        min-width: 100%
    }

    .b-slider-with-field.b-hbox .b-slider {
        flex: 1
    }

    .b-slider-with-field.b-hbox .b-number-field {
        gap: 0;
        width: 6em
    }

        .b-slider-with-field.b-hbox .b-number-field .b-label {
            display: none
        }

.b-font-picker [data-ref=family] {
    flex: 1 1 60%
}

.b-font-picker [data-ref=size] {
    flex: 1 0 30%
}

.b-font-picker.b-hbox {
    flex-wrap: wrap
}

.b-font-picker,
.b-font-picker > .b-container {
    gap: .6em
}
