@charset "UTF-8";
@font-face {
  font-family: "lucide";
  src: url("lucide.woff2") format("woff2");
}
[class^=icon-],
[class*=" icon-"] {
  font-family: "lucide" !important;
  font-size: inherit;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-a-arrow-down::before {
  content: "\e585";
}

.icon-a-arrow-up::before {
  content: "\e586";
}

.icon-a-large-small::before {
  content: "\e587";
}

.icon-accessibility::before {
  content: "\e297";
}

.icon-activity-square::before {
  content: "\e4b4";
}

.icon-activity::before {
  content: "\e038";
}

.icon-air-vent::before {
  content: "\e34d";
}

.icon-airplay::before {
  content: "\e039";
}

.icon-alarm-check::before {
  content: "\e1ec";
}

.icon-alarm-clock-check::before {
  content: "\e1ec";
}

.icon-alarm-clock-minus::before {
  content: "\e1ed";
}

.icon-alarm-clock-off::before {
  content: "\e23b";
}

.icon-alarm-clock-plus::before {
  content: "\e1ee";
}

.icon-alarm-clock::before {
  content: "\e03a";
}

.icon-alarm-minus::before {
  content: "\e1ed";
}

.icon-alarm-plus::before {
  content: "\e1ee";
}

.icon-alarm-smoke::before {
  content: "\e57b";
}

.icon-album::before {
  content: "\e03b";
}

.icon-alert-circle::before {
  content: "\e077";
}

.icon-alert-octagon::before {
  content: "\e127";
}

.icon-alert-triangle::before {
  content: "\e193";
}

.icon-align-center-horizontal::before {
  content: "\e26c";
}

.icon-align-center-vertical::before {
  content: "\e26d";
}

.icon-align-center::before {
  content: "\e182";
}

.icon-align-end-horizontal::before {
  content: "\e26e";
}

.icon-align-end-vertical::before {
  content: "\e26f";
}

.icon-align-horizontal-distribute-center::before {
  content: "\e03c";
}

.icon-align-horizontal-distribute-end::before {
  content: "\e03d";
}

.icon-align-horizontal-distribute-start::before {
  content: "\e03e";
}

.icon-align-horizontal-justify-center::before {
  content: "\e272";
}

.icon-align-horizontal-justify-end::before {
  content: "\e273";
}

.icon-align-horizontal-justify-start::before {
  content: "\e274";
}

.icon-align-horizontal-space-around::before {
  content: "\e275";
}

.icon-align-horizontal-space-between::before {
  content: "\e276";
}

.icon-align-justify::before {
  content: "\e184";
}

.icon-align-left::before {
  content: "\e185";
}

.icon-align-right::before {
  content: "\e183";
}

.icon-align-start-horizontal::before {
  content: "\e270";
}

.icon-align-start-vertical::before {
  content: "\e271";
}

.icon-align-vertical-distribute-center::before {
  content: "\e27e";
}

.icon-align-vertical-distribute-end::before {
  content: "\e27f";
}

.icon-align-vertical-distribute-start::before {
  content: "\e280";
}

.icon-align-vertical-justify-center::before {
  content: "\e277";
}

.icon-align-vertical-justify-end::before {
  content: "\e278";
}

.icon-align-vertical-justify-start::before {
  content: "\e279";
}

.icon-align-vertical-space-around::before {
  content: "\e27a";
}

.icon-align-vertical-space-between::before {
  content: "\e27b";
}

.icon-ambulance::before {
  content: "\e5bb";
}

.icon-ampersand::before {
  content: "\e49c";
}

.icon-ampersands::before {
  content: "\e49d";
}

.icon-amphora::before {
  content: "\e61b";
}

.icon-anchor::before {
  content: "\e03f";
}

.icon-angry::before {
  content: "\e2fc";
}

.icon-annoyed::before {
  content: "\e2fd";
}

.icon-antenna::before {
  content: "\e4e2";
}

.icon-anvil::before {
  content: "\e580";
}

.icon-aperture::before {
  content: "\e040";
}

.icon-app-window-mac::before {
  content: "\e5d2";
}

.icon-app-window::before {
  content: "\e426";
}

.icon-apple::before {
  content: "\e34e";
}

.icon-archive-restore::before {
  content: "\e2cd";
}

.icon-archive-x::before {
  content: "\e50c";
}

.icon-archive::before {
  content: "\e041";
}

.icon-area-chart::before {
  content: "\e4d3";
}

.icon-armchair::before {
  content: "\e2c0";
}

.icon-arrow-big-down-dash::before {
  content: "\e41d";
}

.icon-arrow-big-down::before {
  content: "\e1e1";
}

.icon-arrow-big-left-dash::before {
  content: "\e41e";
}

.icon-arrow-big-left::before {
  content: "\e1e2";
}

.icon-arrow-big-right-dash::before {
  content: "\e41f";
}

.icon-arrow-big-right::before {
  content: "\e1e3";
}

.icon-arrow-big-up-dash::before {
  content: "\e420";
}

.icon-arrow-big-up::before {
  content: "\e1e4";
}

.icon-arrow-down-0-1::before {
  content: "\e413";
}

.icon-arrow-down-01::before {
  content: "\e413";
}

.icon-arrow-down-1-0::before {
  content: "\e414";
}

.icon-arrow-down-10::before {
  content: "\e414";
}

.icon-arrow-down-a-z::before {
  content: "\e415";
}

.icon-arrow-down-az::before {
  content: "\e415";
}

.icon-arrow-down-circle::before {
  content: "\e078";
}

.icon-arrow-down-from-line::before {
  content: "\e454";
}

.icon-arrow-down-left-from-circle::before {
  content: "\e3f7";
}

.icon-arrow-down-left-from-square::before {
  content: "\e5a1";
}

.icon-arrow-down-left-square::before {
  content: "\e4b5";
}

.icon-arrow-down-left::before {
  content: "\e043";
}

.icon-arrow-down-narrow-wide::before {
  content: "\e044";
}

.icon-arrow-down-right-from-circle::before {
  content: "\e3f8";
}

.icon-arrow-down-right-from-square::before {
  content: "\e5a2";
}

.icon-arrow-down-right-square::before {
  content: "\e4b6";
}

.icon-arrow-down-right::before {
  content: "\e045";
}

.icon-arrow-down-square::before {
  content: "\e427";
}

.icon-arrow-down-to-dot::before {
  content: "\e44d";
}

.icon-arrow-down-to-line::before {
  content: "\e455";
}

.icon-arrow-down-up::before {
  content: "\e046";
}

.icon-arrow-down-wide-narrow::before {
  content: "\e047";
}

.icon-arrow-down-z-a::before {
  content: "\e416";
}

.icon-arrow-down-za::before {
  content: "\e416";
}

.icon-arrow-down::before {
  content: "\e042";
}

.icon-arrow-left-circle::before {
  content: "\e079";
}

.icon-arrow-left-from-line::before {
  content: "\e456";
}

.icon-arrow-left-right::before {
  content: "\e24a";
}

.icon-arrow-left-square::before {
  content: "\e428";
}

.icon-arrow-left-to-line::before {
  content: "\e457";
}

.icon-arrow-left::before {
  content: "\e048";
}

.icon-arrow-right-circle::before {
  content: "\e07a";
}

.icon-arrow-right-from-line::before {
  content: "\e458";
}

.icon-arrow-right-left::before {
  content: "\e417";
}

.icon-arrow-right-square::before {
  content: "\e429";
}

.icon-arrow-right-to-line::before {
  content: "\e459";
}

.icon-arrow-right::before {
  content: "\e049";
}

.icon-arrow-up-0-1::before {
  content: "\e418";
}

.icon-arrow-up-01::before {
  content: "\e418";
}

.icon-arrow-up-1-0::before {
  content: "\e419";
}

.icon-arrow-up-10::before {
  content: "\e419";
}

.icon-arrow-up-a-z::before {
  content: "\e41a";
}

.icon-arrow-up-az::before {
  content: "\e41a";
}

.icon-arrow-up-circle::before {
  content: "\e07b";
}

.icon-arrow-up-down::before {
  content: "\e37d";
}

.icon-arrow-up-from-dot::before {
  content: "\e44e";
}

.icon-arrow-up-from-line::before {
  content: "\e45a";
}

.icon-arrow-up-left-from-circle::before {
  content: "\e3f9";
}

.icon-arrow-up-left-from-square::before {
  content: "\e5a3";
}

.icon-arrow-up-left-square::before {
  content: "\e4b7";
}

.icon-arrow-up-left::before {
  content: "\e04b";
}

.icon-arrow-up-narrow-wide::before {
  content: "\e04c";
}

.icon-arrow-up-right-from-circle::before {
  content: "\e3fa";
}

.icon-arrow-up-right-from-square::before {
  content: "\e5a4";
}

.icon-arrow-up-right-square::before {
  content: "\e4b8";
}

.icon-arrow-up-right::before {
  content: "\e04d";
}

.icon-arrow-up-square::before {
  content: "\e42a";
}

.icon-arrow-up-to-line::before {
  content: "\e45b";
}

.icon-arrow-up-wide-narrow::before {
  content: "\e41b";
}

.icon-arrow-up-z-a::before {
  content: "\e41c";
}

.icon-arrow-up-za::before {
  content: "\e41c";
}

.icon-arrow-up::before {
  content: "\e04a";
}

.icon-arrows-up-from-line::before {
  content: "\e4d4";
}

.icon-asterisk-square::before {
  content: "\e168";
}

.icon-asterisk::before {
  content: "\e1ef";
}

.icon-at-sign::before {
  content: "\e04e";
}

.icon-atom::before {
  content: "\e3d7";
}

.icon-audio-lines::before {
  content: "\e55a";
}

.icon-audio-waveform::before {
  content: "\e55b";
}

.icon-award::before {
  content: "\e04f";
}

.icon-axe::before {
  content: "\e050";
}

.icon-axis-3-d::before {
  content: "\e2fe";
}

.icon-axis-3d::before {
  content: "\e2fe";
}

.icon-baby::before {
  content: "\e2ce";
}

.icon-backpack::before {
  content: "\e2c8";
}

.icon-badge-alert::before {
  content: "\e475";
}

.icon-badge-cent::before {
  content: "\e50f";
}

.icon-badge-check::before {
  content: "\e241";
}

.icon-badge-dollar-sign::before {
  content: "\e476";
}

.icon-badge-euro::before {
  content: "\e510";
}

.icon-badge-help::before {
  content: "\e47b";
}

.icon-badge-indian-rupee::before {
  content: "\e511";
}

.icon-badge-info::before {
  content: "\e477";
}

.icon-badge-japanese-yen::before {
  content: "\e512";
}

.icon-badge-minus::before {
  content: "\e478";
}

.icon-badge-percent::before {
  content: "\e479";
}

.icon-badge-plus::before {
  content: "\e47a";
}

.icon-badge-pound-sterling::before {
  content: "\e513";
}

.icon-badge-question-mark::before {
  content: "\e47b";
}

.icon-badge-russian-ruble::before {
  content: "\e514";
}

.icon-badge-swiss-franc::before {
  content: "\e515";
}

.icon-badge-turkish-lira::before {
  content: "\e67e";
}

.icon-badge-x::before {
  content: "\e47c";
}

.icon-badge::before {
  content: "\e474";
}

.icon-baggage-claim::before {
  content: "\e2c9";
}

.icon-balloon::before {
  content: "\e6af";
}

.icon-ban::before {
  content: "\e051";
}

.icon-banana::before {
  content: "\e34f";
}

.icon-bandage::before {
  content: "\e61d";
}

.icon-banknote-arrow-down::before {
  content: "\e64c";
}

.icon-banknote-arrow-up::before {
  content: "\e64d";
}

.icon-banknote-x::before {
  content: "\e64e";
}

.icon-banknote::before {
  content: "\e052";
}

.icon-bar-chart-2::before {
  content: "\e068";
}

.icon-bar-chart-3::before {
  content: "\e2a3";
}

.icon-bar-chart-4::before {
  content: "\e2a4";
}

.icon-bar-chart-big::before {
  content: "\e4a9";
}

.icon-bar-chart-horizontal-big::before {
  content: "\e4a7";
}

.icon-bar-chart-horizontal::before {
  content: "\e2a2";
}

.icon-bar-chart::before {
  content: "\e06a";
}

.icon-barcode::before {
  content: "\e533";
}

.icon-barrel::before {
  content: "\e675";
}

.icon-baseline::before {
  content: "\e285";
}

.icon-bath::before {
  content: "\e2ab";
}

.icon-battery-charging::before {
  content: "\e054";
}

.icon-battery-full::before {
  content: "\e055";
}

.icon-battery-low::before {
  content: "\e056";
}

.icon-battery-medium::before {
  content: "\e057";
}

.icon-battery-plus::before {
  content: "\e63e";
}

.icon-battery-warning::before {
  content: "\e3ac";
}

.icon-battery::before {
  content: "\e053";
}

.icon-beaker::before {
  content: "\e058";
}

.icon-bean-off::before {
  content: "\e390";
}

.icon-bean::before {
  content: "\e38f";
}

.icon-bed-double::before {
  content: "\e2c2";
}

.icon-bed-single::before {
  content: "\e2c3";
}

.icon-bed::before {
  content: "\e2c1";
}

.icon-beef::before {
  content: "\e3a5";
}

.icon-beer-off::before {
  content: "\e5d9";
}

.icon-beer::before {
  content: "\e2cf";
}

.icon-bell-dot::before {
  content: "\e42b";
}

.icon-bell-electric::before {
  content: "\e57c";
}

.icon-bell-minus::before {
  content: "\e1f0";
}

.icon-bell-off::before {
  content: "\e05a";
}

.icon-bell-plus::before {
  content: "\e1f1";
}

.icon-bell-ring::before {
  content: "\e224";
}

.icon-bell::before {
  content: "\e059";
}

.icon-between-horizonal-end::before {
  content: "\e591";
}

.icon-between-horizonal-start::before {
  content: "\e592";
}

.icon-between-horizontal-end::before {
  content: "\e591";
}

.icon-between-horizontal-start::before {
  content: "\e592";
}

.icon-between-vertical-end::before {
  content: "\e593";
}

.icon-between-vertical-start::before {
  content: "\e594";
}

.icon-biceps-flexed::before {
  content: "\e5eb";
}

.icon-bike::before {
  content: "\e1d2";
}

.icon-binary::before {
  content: "\e1f2";
}

.icon-binoculars::before {
  content: "\e621";
}

.icon-biohazard::before {
  content: "\e441";
}

.icon-bird::before {
  content: "\e3c5";
}

.icon-birdhouse::before {
  content: "\e69a";
}

.icon-bitcoin::before {
  content: "\e05b";
}

.icon-blend::before {
  content: "\e59c";
}

.icon-blinds::before {
  content: "\e3c0";
}

.icon-blocks::before {
  content: "\e4fa";
}

.icon-bluetooth-connected::before {
  content: "\e1b8";
}

.icon-bluetooth-off::before {
  content: "\e1b9";
}

.icon-bluetooth-searching::before {
  content: "\e1ba";
}

.icon-bluetooth::before {
  content: "\e05c";
}

.icon-bold::before {
  content: "\e05d";
}

.icon-bolt::before {
  content: "\e58c";
}

.icon-bomb::before {
  content: "\e2ff";
}

.icon-bone::before {
  content: "\e358";
}

.icon-book-a::before {
  content: "\e544";
}

.icon-book-alert::before {
  content: "\e672";
}

.icon-book-audio::before {
  content: "\e545";
}

.icon-book-check::before {
  content: "\e546";
}

.icon-book-copy::before {
  content: "\e3ec";
}

.icon-book-dashed::before {
  content: "\e3ed";
}

.icon-book-down::before {
  content: "\e3ee";
}

.icon-book-headphones::before {
  content: "\e547";
}

.icon-book-heart::before {
  content: "\e548";
}

.icon-book-image::before {
  content: "\e549";
}

.icon-book-key::before {
  content: "\e3ef";
}

.icon-book-lock::before {
  content: "\e3f0";
}

.icon-book-marked::before {
  content: "\e3f1";
}

.icon-book-minus::before {
  content: "\e3f2";
}

.icon-book-open-check::before {
  content: "\e381";
}

.icon-book-open-text::before {
  content: "\e54a";
}

.icon-book-open::before {
  content: "\e05f";
}

.icon-book-plus::before {
  content: "\e3f3";
}

.icon-book-search::before {
  content: "\e6ab";
}

.icon-book-template::before {
  content: "\e3ed";
}

.icon-book-text::before {
  content: "\e54b";
}

.icon-book-type::before {
  content: "\e54c";
}

.icon-book-up-2::before {
  content: "\e4a6";
}

.icon-book-up::before {
  content: "\e3f4";
}

.icon-book-user::before {
  content: "\e54d";
}

.icon-book-x::before {
  content: "\e3f5";
}

.icon-book::before {
  content: "\e05e";
}

.icon-bookmark-check::before {
  content: "\e51f";
}

.icon-bookmark-minus::before {
  content: "\e23c";
}

.icon-bookmark-plus::before {
  content: "\e23d";
}

.icon-bookmark-x::before {
  content: "\e520";
}

.icon-bookmark::before {
  content: "\e060";
}

.icon-boom-box::before {
  content: "\e4ee";
}

.icon-bot-message-square::before {
  content: "\e5ce";
}

.icon-bot-off::before {
  content: "\e5e0";
}

.icon-bot::before {
  content: "\e1bb";
}

.icon-bottle-wine::before {
  content: "\e67b";
}

.icon-bow-arrow::before {
  content: "\e65e";
}

.icon-box-select::before {
  content: "\e1cb";
}

.icon-box::before {
  content: "\e061";
}

.icon-boxes::before {
  content: "\e2d0";
}

.icon-braces::before {
  content: "\e36a";
}

.icon-brackets::before {
  content: "\e443";
}

.icon-brain-circuit::before {
  content: "\e3c7";
}

.icon-brain-cog::before {
  content: "\e3c8";
}

.icon-brain::before {
  content: "\e3c6";
}

.icon-brick-wall-fire::before {
  content: "\e653";
}

.icon-brick-wall-shield::before {
  content: "\e690";
}

.icon-brick-wall::before {
  content: "\e581";
}

.icon-briefcase-business::before {
  content: "\e5d5";
}

.icon-briefcase-conveyor-belt::before {
  content: "\e62b";
}

.icon-briefcase-medical::before {
  content: "\e5d6";
}

.icon-briefcase::before {
  content: "\e062";
}

.icon-bring-to-front::before {
  content: "\e4ef";
}

.icon-brush-cleaning::before {
  content: "\e666";
}

.icon-brush::before {
  content: "\e1d3";
}

.icon-bubbles::before {
  content: "\e654";
}

.icon-bug-off::before {
  content: "\e50d";
}

.icon-bug-play::before {
  content: "\e50e";
}

.icon-bug::before {
  content: "\e20c";
}

.icon-building-2::before {
  content: "\e290";
}

.icon-building::before {
  content: "\e1cc";
}

.icon-bus-front::before {
  content: "\e4fb";
}

.icon-bus::before {
  content: "\e1d4";
}

.icon-cable-car::before {
  content: "\e4fc";
}

.icon-cable::before {
  content: "\e4e3";
}

.icon-cake-slice::before {
  content: "\e4b9";
}

.icon-cake::before {
  content: "\e344";
}

.icon-calculator::before {
  content: "\e1bc";
}

.icon-calendar-1::before {
  content: "\e630";
}

.icon-calendar-arrow-down::before {
  content: "\e5fe";
}

.icon-calendar-arrow-up::before {
  content: "\e5ff";
}

.icon-calendar-check-2::before {
  content: "\e2b8";
}

.icon-calendar-check::before {
  content: "\e2b7";
}

.icon-calendar-clock::before {
  content: "\e304";
}

.icon-calendar-cog::before {
  content: "\e5ed";
}

.icon-calendar-days::before {
  content: "\e2b9";
}

.icon-calendar-fold::before {
  content: "\e5b4";
}

.icon-calendar-heart::before {
  content: "\e305";
}

.icon-calendar-minus-2::before {
  content: "\e5b5";
}

.icon-calendar-minus::before {
  content: "\e2ba";
}

.icon-calendar-off::before {
  content: "\e2bb";
}

.icon-calendar-plus-2::before {
  content: "\e5b6";
}

.icon-calendar-plus::before {
  content: "\e2bc";
}

.icon-calendar-range::before {
  content: "\e2bd";
}

.icon-calendar-search::before {
  content: "\e306";
}

.icon-calendar-sync::before {
  content: "\e636";
}

.icon-calendar-x-2::before {
  content: "\e2bf";
}

.icon-calendar-x::before {
  content: "\e2be";
}

.icon-calendar::before {
  content: "\e063";
}

.icon-calendars::before {
  content: "\e6a7";
}

.icon-camera-off::before {
  content: "\e065";
}

.icon-camera::before {
  content: "\e064";
}

.icon-candlestick-chart::before {
  content: "\e4a8";
}

.icon-candy-cane::before {
  content: "\e4ba";
}

.icon-candy-off::before {
  content: "\e392";
}

.icon-candy::before {
  content: "\e391";
}

.icon-cannabis-off::before {
  content: "\e6af";
}

.icon-cannabis::before {
  content: "\e5d4";
}

.icon-captions-off::before {
  content: "\e5c1";
}

.icon-captions::before {
  content: "\e3a4";
}

.icon-car-front::before {
  content: "\e4fd";
}

.icon-car-taxi-front::before {
  content: "\e4fe";
}

.icon-car::before {
  content: "\e1d5";
}

.icon-caravan::before {
  content: "\e539";
}

.icon-card-sim::before {
  content: "\e671";
}

.icon-carrot::before {
  content: "\e25a";
}

.icon-case-lower::before {
  content: "\e3d8";
}

.icon-case-sensitive::before {
  content: "\e3d9";
}

.icon-case-upper::before {
  content: "\e3da";
}

.icon-cassette-tape::before {
  content: "\e4ca";
}

.icon-cast::before {
  content: "\e066";
}

.icon-castle::before {
  content: "\e3e0";
}

.icon-cat::before {
  content: "\e38c";
}

.icon-cctv::before {
  content: "\e57d";
}

.icon-chart-area::before {
  content: "\e4d3";
}

.icon-chart-bar-big::before {
  content: "\e4a7";
}

.icon-chart-bar-decreasing::before {
  content: "\e607";
}

.icon-chart-bar-increasing::before {
  content: "\e608";
}

.icon-chart-bar-stacked::before {
  content: "\e609";
}

.icon-chart-bar::before {
  content: "\e2a2";
}

.icon-chart-candlestick::before {
  content: "\e4a8";
}

.icon-chart-column-big::before {
  content: "\e4a9";
}

.icon-chart-column-decreasing::before {
  content: "\e067";
}

.icon-chart-column-increasing::before {
  content: "\e2a4";
}

.icon-chart-column-stacked::before {
  content: "\e60a";
}

.icon-chart-column::before {
  content: "\e2a3";
}

.icon-chart-gantt::before {
  content: "\e624";
}

.icon-chart-line::before {
  content: "\e2a5";
}

.icon-chart-network::before {
  content: "\e60b";
}

.icon-chart-no-axes-column-decreasing::before {
  content: "\e069";
}

.icon-chart-no-axes-column-increasing::before {
  content: "\e06a";
}

.icon-chart-no-axes-column::before {
  content: "\e068";
}

.icon-chart-no-axes-combined::before {
  content: "\e60c";
}

.icon-chart-no-axes-gantt::before {
  content: "\e4c4";
}

.icon-chart-pie::before {
  content: "\e06b";
}

.icon-chart-scatter::before {
  content: "\e48a";
}

.icon-chart-spline::before {
  content: "\e60d";
}

.icon-check-check::before {
  content: "\e38e";
}

.icon-check-circle-2::before {
  content: "\e226";
}

.icon-check-circle::before {
  content: "\e07c";
}

.icon-check-line::before {
  content: "\e66b";
}

.icon-check-square-2::before {
  content: "\e559";
}

.icon-check-square::before {
  content: "\e16a";
}

.icon-check::before {
  content: "\e06c";
}

.icon-chef-hat::before {
  content: "\e2ac";
}

.icon-cherry::before {
  content: "\e350";
}

.icon-chess-bishop::before {
  content: "\e6a0";
}

.icon-chess-king::before {
  content: "\e6a1";
}

.icon-chess-knight::before {
  content: "\e6a2";
}

.icon-chess-pawn::before {
  content: "\e6a3";
}

.icon-chess-queen::before {
  content: "\e6a4";
}

.icon-chess-rook::before {
  content: "\e6a5";
}

.icon-chevron-down-circle::before {
  content: "\e4dd";
}

.icon-chevron-down-square::before {
  content: "\e3cf";
}

.icon-chevron-down::before {
  content: "\e06d";
}

.icon-chevron-first::before {
  content: "\e243";
}

.icon-chevron-last::before {
  content: "\e244";
}

.icon-chevron-left-circle::before {
  content: "\e4de";
}

.icon-chevron-left-square::before {
  content: "\e3d0";
}

.icon-chevron-left::before {
  content: "\e06e";
}

.icon-chevron-right-circle::before {
  content: "\e4df";
}

.icon-chevron-right-square::before {
  content: "\e3d1";
}

.icon-chevron-right::before {
  content: "\e06f";
}

.icon-chevron-up-circle::before {
  content: "\e4e0";
}

.icon-chevron-up-square::before {
  content: "\e3d2";
}

.icon-chevron-up::before {
  content: "\e070";
}

.icon-chevrons-down-up::before {
  content: "\e228";
}

.icon-chevrons-down::before {
  content: "\e071";
}

.icon-chevrons-left-right-ellipsis::before {
  content: "\e61f";
}

.icon-chevrons-left-right::before {
  content: "\e293";
}

.icon-chevrons-left::before {
  content: "\e072";
}

.icon-chevrons-right-left::before {
  content: "\e294";
}

.icon-chevrons-right::before {
  content: "\e073";
}

.icon-chevrons-up-down::before {
  content: "\e211";
}

.icon-chevrons-up::before {
  content: "\e074";
}

.icon-chrome::before {
  content: "\e075";
}

.icon-chromium::before {
  content: "\e075";
}

.icon-church::before {
  content: "\e3e1";
}

.icon-cigarette-off::before {
  content: "\e2c7";
}

.icon-cigarette::before {
  content: "\e2c6";
}

.icon-circle-alert::before {
  content: "\e077";
}

.icon-circle-arrow-down::before {
  content: "\e078";
}

.icon-circle-arrow-left::before {
  content: "\e079";
}

.icon-circle-arrow-out-down-left::before {
  content: "\e3f7";
}

.icon-circle-arrow-out-down-right::before {
  content: "\e3f8";
}

.icon-circle-arrow-out-up-left::before {
  content: "\e3f9";
}

.icon-circle-arrow-out-up-right::before {
  content: "\e3fa";
}

.icon-circle-arrow-right::before {
  content: "\e07a";
}

.icon-circle-arrow-up::before {
  content: "\e07b";
}

.icon-circle-check-big::before {
  content: "\e07c";
}

.icon-circle-check::before {
  content: "\e226";
}

.icon-circle-chevron-down::before {
  content: "\e4dd";
}

.icon-circle-chevron-left::before {
  content: "\e4de";
}

.icon-circle-chevron-right::before {
  content: "\e4df";
}

.icon-circle-chevron-up::before {
  content: "\e4e0";
}

.icon-circle-dashed::before {
  content: "\e4b0";
}

.icon-circle-divide::before {
  content: "\e07d";
}

.icon-circle-dollar-sign::before {
  content: "\e47d";
}

.icon-circle-dot-dashed::before {
  content: "\e4b1";
}

.icon-circle-dot::before {
  content: "\e345";
}

.icon-circle-ellipsis::before {
  content: "\e346";
}

.icon-circle-equal::before {
  content: "\e400";
}

.icon-circle-fading-arrow-up::before {
  content: "\e618";
}

.icon-circle-fading-plus::before {
  content: "\e5bc";
}

.icon-circle-gauge::before {
  content: "\e4e1";
}

.icon-circle-help::before {
  content: "\e082";
}

.icon-circle-minus::before {
  content: "\e07e";
}

.icon-circle-off::before {
  content: "\e401";
}

.icon-circle-parking-off::before {
  content: "\e3ca";
}

.icon-circle-parking::before {
  content: "\e3c9";
}

.icon-circle-pause::before {
  content: "\e07f";
}

.icon-circle-percent::before {
  content: "\e51a";
}

.icon-circle-pile::before {
  content: "\e6af";
}

.icon-circle-play::before {
  content: "\e080";
}

.icon-circle-plus::before {
  content: "\e081";
}

.icon-circle-pound-sterling::before {
  content: "\e66d";
}

.icon-circle-power::before {
  content: "\e550";
}

.icon-circle-question-mark::before {
  content: "\e082";
}

.icon-circle-slash-2::before {
  content: "\e213";
}

.icon-circle-slash::before {
  content: "\e402";
}

.icon-circle-slashed::before {
  content: "\e213";
}

.icon-circle-small::before {
  content: "\e640";
}

.icon-circle-star::before {
  content: "\e68d";
}

.icon-circle-stop::before {
  content: "\e083";
}

.icon-circle-user-round::before {
  content: "\e462";
}

.icon-circle-user::before {
  content: "\e461";
}

.icon-circle-x::before {
  content: "\e084";
}

.icon-circle::before {
  content: "\e076";
}

.icon-circuit-board::before {
  content: "\e403";
}

.icon-citrus::before {
  content: "\e375";
}

.icon-clapperboard::before {
  content: "\e29b";
}

.icon-clipboard-check::before {
  content: "\e219";
}

.icon-clipboard-clock::before {
  content: "\e688";
}

.icon-clipboard-copy::before {
  content: "\e225";
}

.icon-clipboard-edit::before {
  content: "\e307";
}

.icon-clipboard-list::before {
  content: "\e086";
}

.icon-clipboard-minus::before {
  content: "\e5be";
}

.icon-clipboard-paste::before {
  content: "\e3e8";
}

.icon-clipboard-pen-line::before {
  content: "\e308";
}

.icon-clipboard-pen::before {
  content: "\e307";
}

.icon-clipboard-plus::before {
  content: "\e5bf";
}

.icon-clipboard-signature::before {
  content: "\e308";
}

.icon-clipboard-type::before {
  content: "\e309";
}

.icon-clipboard-x::before {
  content: "\e222";
}

.icon-clipboard::before {
  content: "\e085";
}

.icon-clock-1::before {
  content: "\e24b";
}

.icon-clock-10::before {
  content: "\e24c";
}

.icon-clock-11::before {
  content: "\e24d";
}

.icon-clock-12::before {
  content: "\e24e";
}

.icon-clock-2::before {
  content: "\e24f";
}

.icon-clock-3::before {
  content: "\e250";
}

.icon-clock-4::before {
  content: "\e251";
}

.icon-clock-5::before {
  content: "\e252";
}

.icon-clock-6::before {
  content: "\e253";
}

.icon-clock-7::before {
  content: "\e254";
}

.icon-clock-8::before {
  content: "\e255";
}

.icon-clock-9::before {
  content: "\e256";
}

.icon-clock-alert::before {
  content: "\e62a";
}

.icon-clock-arrow-down::before {
  content: "\e600";
}

.icon-clock-arrow-up::before {
  content: "\e601";
}

.icon-clock-check::before {
  content: "\e69e";
}

.icon-clock-fading::before {
  content: "\e64a";
}

.icon-clock-plus::before {
  content: "\e667";
}

.icon-clock::before {
  content: "\e087";
}

.icon-closed-caption::before {
  content: "\e68a";
}

.icon-cloud-alert::before {
  content: "\e633";
}

.icon-cloud-backup::before {
  content: "\e6af";
}

.icon-cloud-check::before {
  content: "\e66e";
}

.icon-cloud-cog::before {
  content: "\e30a";
}

.icon-cloud-download::before {
  content: "\e089";
}

.icon-cloud-drizzle::before {
  content: "\e08a";
}

.icon-cloud-fog::before {
  content: "\e214";
}

.icon-cloud-hail::before {
  content: "\e08b";
}

.icon-cloud-lightning::before {
  content: "\e08c";
}

.icon-cloud-moon-rain::before {
  content: "\e2fa";
}

.icon-cloud-moon::before {
  content: "\e215";
}

.icon-cloud-off::before {
  content: "\e08d";
}

.icon-cloud-rain-wind::before {
  content: "\e08f";
}

.icon-cloud-rain::before {
  content: "\e08e";
}

.icon-cloud-snow::before {
  content: "\e090";
}

.icon-cloud-sun-rain::before {
  content: "\e2fb";
}

.icon-cloud-sun::before {
  content: "\e216";
}

.icon-cloud-sync::before {
  content: "\e6af";
}

.icon-cloud-upload::before {
  content: "\e091";
}

.icon-cloud::before {
  content: "\e088";
}

.icon-cloudy::before {
  content: "\e217";
}

.icon-clover::before {
  content: "\e092";
}

.icon-club::before {
  content: "\e496";
}

.icon-code-2::before {
  content: "\e206";
}

.icon-code-square::before {
  content: "\e16b";
}

.icon-code-xml::before {
  content: "\e206";
}

.icon-code::before {
  content: "\e093";
}

.icon-codepen::before {
  content: "\e094";
}

.icon-codesandbox::before {
  content: "\e095";
}

.icon-coffee::before {
  content: "\e096";
}

.icon-cog::before {
  content: "\e30b";
}

.icon-coins::before {
  content: "\e097";
}

.icon-columns-2::before {
  content: "\e098";
}

.icon-columns-3-cog::before {
  content: "\e661";
}

.icon-columns-3::before {
  content: "\e099";
}

.icon-columns-4::before {
  content: "\e589";
}

.icon-columns-settings::before {
  content: "\e661";
}

.icon-columns::before {
  content: "\e098";
}

.icon-combine::before {
  content: "\e44c";
}

.icon-command::before {
  content: "\e09a";
}

.icon-compass::before {
  content: "\e09b";
}

.icon-component::before {
  content: "\e2ad";
}

.icon-computer::before {
  content: "\e4e4";
}

.icon-concierge-bell::before {
  content: "\e378";
}

.icon-cone::before {
  content: "\e523";
}

.icon-construction::before {
  content: "\e3b4";
}

.icon-contact-2::before {
  content: "\e463";
}

.icon-contact-round::before {
  content: "\e463";
}

.icon-contact::before {
  content: "\e09c";
}

.icon-container::before {
  content: "\e4d5";
}

.icon-contrast::before {
  content: "\e09d";
}

.icon-cookie::before {
  content: "\e26b";
}

.icon-cooking-pot::before {
  content: "\e584";
}

.icon-copy-check::before {
  content: "\e3fb";
}

.icon-copy-minus::before {
  content: "\e3fc";
}

.icon-copy-plus::before {
  content: "\e3fd";
}

.icon-copy-slash::before {
  content: "\e3fe";
}

.icon-copy-x::before {
  content: "\e3ff";
}

.icon-copy::before {
  content: "\e09e";
}

.icon-copyleft::before {
  content: "\e09f";
}

.icon-copyright::before {
  content: "\e0a0";
}

.icon-corner-down-left::before {
  content: "\e0a1";
}

.icon-corner-down-right::before {
  content: "\e0a2";
}

.icon-corner-left-down::before {
  content: "\e0a3";
}

.icon-corner-left-up::before {
  content: "\e0a4";
}

.icon-corner-right-down::before {
  content: "\e0a5";
}

.icon-corner-right-up::before {
  content: "\e0a6";
}

.icon-corner-up-left::before {
  content: "\e0a7";
}

.icon-corner-up-right::before {
  content: "\e0a8";
}

.icon-cpu::before {
  content: "\e0a9";
}

.icon-creative-commons::before {
  content: "\e3b2";
}

.icon-credit-card::before {
  content: "\e0aa";
}

.icon-croissant::before {
  content: "\e2ae";
}

.icon-crop::before {
  content: "\e0ab";
}

.icon-cross::before {
  content: "\e1e5";
}

.icon-crosshair::before {
  content: "\e0ac";
}

.icon-crown::before {
  content: "\e1d6";
}

.icon-cuboid::before {
  content: "\e524";
}

.icon-cup-soda::before {
  content: "\e2d1";
}

.icon-curly-braces::before {
  content: "\e36a";
}

.icon-currency::before {
  content: "\e230";
}

.icon-cylinder::before {
  content: "\e525";
}

.icon-dam::before {
  content: "\e606";
}

.icon-database-backup::before {
  content: "\e3ab";
}

.icon-database-search::before {
  content: "\e6b1";
}

.icon-database-zap::before {
  content: "\e50b";
}

.icon-database::before {
  content: "\e0ad";
}

.icon-decimals-arrow-left::before {
  content: "\e65c";
}

.icon-decimals-arrow-right::before {
  content: "\e65d";
}

.icon-delete::before {
  content: "\e0ae";
}

.icon-dessert::before {
  content: "\e4bb";
}

.icon-diameter::before {
  content: "\e526";
}

.icon-diamond-minus::before {
  content: "\e5e1";
}

.icon-diamond-percent::before {
  content: "\e51b";
}

.icon-diamond-plus::before {
  content: "\e5e2";
}

.icon-diamond::before {
  content: "\e2d2";
}

.icon-dice-1::before {
  content: "\e287";
}

.icon-dice-2::before {
  content: "\e288";
}

.icon-dice-3::before {
  content: "\e289";
}

.icon-dice-4::before {
  content: "\e28a";
}

.icon-dice-5::before {
  content: "\e28b";
}

.icon-dice-6::before {
  content: "\e28c";
}

.icon-dices::before {
  content: "\e2c5";
}

.icon-diff::before {
  content: "\e30c";
}

.icon-disc-2::before {
  content: "\e3f6";
}

.icon-disc-3::before {
  content: "\e494";
}

.icon-disc-album::before {
  content: "\e55c";
}

.icon-disc::before {
  content: "\e0af";
}

.icon-divide-circle::before {
  content: "\e07d";
}

.icon-divide-square::before {
  content: "\e16d";
}

.icon-divide::before {
  content: "\e0b0";
}

.icon-dna-off::before {
  content: "\e394";
}

.icon-dna::before {
  content: "\e393";
}

.icon-dock::before {
  content: "\e5d3";
}

.icon-dog::before {
  content: "\e38d";
}

.icon-dollar-sign::before {
  content: "\e0b1";
}

.icon-donut::before {
  content: "\e4bc";
}

.icon-door-closed-locked::before {
  content: "\e664";
}

.icon-door-closed::before {
  content: "\e3d5";
}

.icon-door-open::before {
  content: "\e3d6";
}

.icon-dot-square::before {
  content: "\e16e";
}

.icon-dot::before {
  content: "\e44f";
}

.icon-download-cloud::before {
  content: "\e089";
}

.icon-download::before {
  content: "\e0b2";
}

.icon-drafting-compass::before {
  content: "\e527";
}

.icon-drama::before {
  content: "\e521";
}

.icon-dribbble::before {
  content: "\e0b3";
}

.icon-drill::before {
  content: "\e58d";
}

.icon-drone::before {
  content: "\e676";
}

.icon-droplet-off::before {
  content: "\e638";
}

.icon-droplet::before {
  content: "\e0b4";
}

.icon-droplets::before {
  content: "\e0b5";
}

.icon-drum::before {
  content: "\e55d";
}

.icon-drumstick::before {
  content: "\e25b";
}

.icon-dumbbell::before {
  content: "\e3a1";
}

.icon-ear-off::before {
  content: "\e383";
}

.icon-ear::before {
  content: "\e382";
}

.icon-earth-lock::before {
  content: "\e5cc";
}

.icon-earth::before {
  content: "\e1f3";
}

.icon-eclipse::before {
  content: "\e59d";
}

.icon-edit-2::before {
  content: "\e12f";
}

.icon-edit-3::before {
  content: "\e130";
}

.icon-edit::before {
  content: "\e172";
}

.icon-egg-fried::before {
  content: "\e351";
}

.icon-egg-off::before {
  content: "\e395";
}

.icon-egg::before {
  content: "\e25d";
}

.icon-ellipse::before {
  content: "\e6b2";
}

.icon-ellipsis-vertical::before {
  content: "\e0b7";
}

.icon-ellipsis::before {
  content: "\e0b6";
}

.icon-equal-approximately::before {
  content: "\e634";
}

.icon-equal-not::before {
  content: "\e1be";
}

.icon-equal-square::before {
  content: "\e16f";
}

.icon-equal::before {
  content: "\e1bd";
}

.icon-eraser::before {
  content: "\e28f";
}

.icon-ethernet-port::before {
  content: "\e620";
}

.icon-euro::before {
  content: "\e0b8";
}

.icon-ev-charger::before {
  content: "\e697";
}

.icon-expand::before {
  content: "\e21a";
}

.icon-external-link::before {
  content: "\e0b9";
}

.icon-eye-closed::before {
  content: "\e62e";
}

.icon-eye-off::before {
  content: "\e0bb";
}

.icon-eye::before {
  content: "\e0ba";
}

.icon-facebook::before {
  content: "\e0bc";
}

.icon-factory::before {
  content: "\e29f";
}

.icon-fan::before {
  content: "\e379";
}

.icon-fast-forward::before {
  content: "\e0bd";
}

.icon-feather::before {
  content: "\e0be";
}

.icon-fence::before {
  content: "\e582";
}

.icon-ferris-wheel::before {
  content: "\e47f";
}

.icon-figma::before {
  content: "\e0bf";
}

.icon-file-archive::before {
  content: "\e30d";
}

.icon-file-audio-2::before {
  content: "\e31a";
}

.icon-file-audio::before {
  content: "\e31a";
}

.icon-file-axis-3-d::before {
  content: "\e30e";
}

.icon-file-axis-3d::before {
  content: "\e30e";
}

.icon-file-badge-2::before {
  content: "\e30f";
}

.icon-file-badge::before {
  content: "\e30f";
}

.icon-file-bar-chart-2::before {
  content: "\e311";
}

.icon-file-bar-chart::before {
  content: "\e312";
}

.icon-file-box::before {
  content: "\e310";
}

.icon-file-braces-corner::before {
  content: "\e36c";
}

.icon-file-braces::before {
  content: "\e36b";
}

.icon-file-chart-column-increasing::before {
  content: "\e312";
}

.icon-file-chart-column::before {
  content: "\e311";
}

.icon-file-chart-line::before {
  content: "\e313";
}

.icon-file-chart-pie::before {
  content: "\e314";
}

.icon-file-check-2::before {
  content: "\e0c2";
}

.icon-file-check-corner::before {
  content: "\e0c2";
}

.icon-file-check::before {
  content: "\e0c1";
}

.icon-file-clock::before {
  content: "\e315";
}

.icon-file-code-2::before {
  content: "\e45e";
}

.icon-file-code-corner::before {
  content: "\e45e";
}

.icon-file-code::before {
  content: "\e0c3";
}

.icon-file-cog-2::before {
  content: "\e316";
}

.icon-file-cog::before {
  content: "\e316";
}

.icon-file-diff::before {
  content: "\e317";
}

.icon-file-digit::before {
  content: "\e0c4";
}

.icon-file-down::before {
  content: "\e318";
}

.icon-file-edit::before {
  content: "\e31f";
}

.icon-file-exclamation-point::before {
  content: "\e319";
}

.icon-file-headphone::before {
  content: "\e31a";
}

.icon-file-heart::before {
  content: "\e31b";
}

.icon-file-image::before {
  content: "\e31c";
}

.icon-file-input::before {
  content: "\e0c5";
}

.icon-file-json-2::before {
  content: "\e36c";
}

.icon-file-json::before {
  content: "\e36b";
}

.icon-file-key-2::before {
  content: "\e31d";
}

.icon-file-key::before {
  content: "\e31d";
}

.icon-file-line-chart::before {
  content: "\e313";
}

.icon-file-lock-2::before {
  content: "\e31e";
}

.icon-file-lock::before {
  content: "\e31e";
}

.icon-file-minus-2::before {
  content: "\e0c7";
}

.icon-file-minus-corner::before {
  content: "\e0c7";
}

.icon-file-minus::before {
  content: "\e0c6";
}

.icon-file-music::before {
  content: "\e55e";
}

.icon-file-output::before {
  content: "\e0c8";
}

.icon-file-pen-line::before {
  content: "\e320";
}

.icon-file-pen::before {
  content: "\e31f";
}

.icon-file-pie-chart::before {
  content: "\e314";
}

.icon-file-play::before {
  content: "\e321";
}

.icon-file-plus-2::before {
  content: "\e0ca";
}

.icon-file-plus-corner::before {
  content: "\e0ca";
}

.icon-file-plus::before {
  content: "\e0c9";
}

.icon-file-question-mark::before {
  content: "\e322";
}

.icon-file-question::before {
  content: "\e322";
}

.icon-file-scan::before {
  content: "\e323";
}

.icon-file-search-2::before {
  content: "\e324";
}

.icon-file-search-corner::before {
  content: "\e324";
}

.icon-file-search::before {
  content: "\e0cb";
}

.icon-file-signal::before {
  content: "\e325";
}

.icon-file-signature::before {
  content: "\e320";
}

.icon-file-sliders::before {
  content: "\e5a0";
}

.icon-file-spreadsheet::before {
  content: "\e326";
}

.icon-file-stack::before {
  content: "\e4a1";
}

.icon-file-symlink::before {
  content: "\e327";
}

.icon-file-terminal::before {
  content: "\e328";
}

.icon-file-text::before {
  content: "\e0cc";
}

.icon-file-type-2::before {
  content: "\e36d";
}

.icon-file-type-corner::before {
  content: "\e36d";
}

.icon-file-type::before {
  content: "\e329";
}

.icon-file-up::before {
  content: "\e32a";
}

.icon-file-user::before {
  content: "\e62d";
}

.icon-file-video-2::before {
  content: "\e32b";
}

.icon-file-video-camera::before {
  content: "\e32b";
}

.icon-file-video::before {
  content: "\e321";
}

.icon-file-volume-2::before {
  content: "\e325";
}

.icon-file-volume::before {
  content: "\e32c";
}

.icon-file-warning::before {
  content: "\e319";
}

.icon-file-x-2::before {
  content: "\e0ce";
}

.icon-file-x-corner::before {
  content: "\e0ce";
}

.icon-file-x::before {
  content: "\e0cd";
}

.icon-file::before {
  content: "\e0c0";
}

.icon-files::before {
  content: "\e0cf";
}

.icon-film::before {
  content: "\e0d0";
}

.icon-filter-x::before {
  content: "\e3b5";
}

.icon-filter::before {
  content: "\e0dc";
}

.icon-fingerprint-pattern::before {
  content: "\e2cb";
}

.icon-fingerprint::before {
  content: "\e2cb";
}

.icon-fire-extinguisher::before {
  content: "\e57e";
}

.icon-fish-off::before {
  content: "\e3b0";
}

.icon-fish-symbol::before {
  content: "\e4f4";
}

.icon-fish::before {
  content: "\e3a6";
}

.icon-fishing-hook::before {
  content: "\e6af";
}

.icon-fishing-rod::before {
  content: "\e6b3";
}

.icon-flag-off::before {
  content: "\e292";
}

.icon-flag-triangle-left::before {
  content: "\e237";
}

.icon-flag-triangle-right::before {
  content: "\e238";
}

.icon-flag::before {
  content: "\e0d1";
}

.icon-flame-kindling::before {
  content: "\e53a";
}

.icon-flame::before {
  content: "\e0d2";
}

.icon-flashlight-off::before {
  content: "\e0d4";
}

.icon-flashlight::before {
  content: "\e0d3";
}

.icon-flask-conical-off::before {
  content: "\e396";
}

.icon-flask-conical::before {
  content: "\e0d5";
}

.icon-flask-round::before {
  content: "\e0d6";
}

.icon-flip-horizontal-2::before {
  content: "\e35e";
}

.icon-flip-horizontal::before {
  content: "\e35d";
}

.icon-flip-vertical-2::before {
  content: "\e360";
}

.icon-flip-vertical::before {
  content: "\e35f";
}

.icon-flower-2::before {
  content: "\e2d4";
}

.icon-flower::before {
  content: "\e2d3";
}

.icon-focus::before {
  content: "\e29e";
}

.icon-fold-horizontal::before {
  content: "\e43b";
}

.icon-fold-vertical::before {
  content: "\e43c";
}

.icon-folder-archive::before {
  content: "\e32d";
}

.icon-folder-check::before {
  content: "\e32e";
}

.icon-folder-clock::before {
  content: "\e32f";
}

.icon-folder-closed::before {
  content: "\e330";
}

.icon-folder-code::before {
  content: "\e5fb";
}

.icon-folder-cog-2::before {
  content: "\e331";
}

.icon-folder-cog::before {
  content: "\e331";
}

.icon-folder-dot::before {
  content: "\e4c5";
}

.icon-folder-down::before {
  content: "\e332";
}

.icon-folder-edit::before {
  content: "\e338";
}

.icon-folder-git-2::before {
  content: "\e40a";
}

.icon-folder-git::before {
  content: "\e409";
}

.icon-folder-heart::before {
  content: "\e333";
}

.icon-folder-input::before {
  content: "\e334";
}

.icon-folder-kanban::before {
  content: "\e4c6";
}

.icon-folder-key::before {
  content: "\e335";
}

.icon-folder-lock::before {
  content: "\e336";
}

.icon-folder-minus::before {
  content: "\e0d8";
}

.icon-folder-open-dot::before {
  content: "\e4c7";
}

.icon-folder-open::before {
  content: "\e247";
}

.icon-folder-output::before {
  content: "\e337";
}

.icon-folder-pen::before {
  content: "\e338";
}

.icon-folder-plus::before {
  content: "\e0d9";
}

.icon-folder-root::before {
  content: "\e4c8";
}

.icon-folder-search-2::before {
  content: "\e33a";
}

.icon-folder-search::before {
  content: "\e339";
}

.icon-folder-symlink::before {
  content: "\e33b";
}

.icon-folder-sync::before {
  content: "\e4c9";
}

.icon-folder-tree::before {
  content: "\e33c";
}

.icon-folder-up::before {
  content: "\e33d";
}

.icon-folder-x::before {
  content: "\e33e";
}

.icon-folder::before {
  content: "\e0d7";
}

.icon-folders::before {
  content: "\e33f";
}

.icon-footprints::before {
  content: "\e3b9";
}

.icon-fork-knife-crossed::before {
  content: "\e2f7";
}

.icon-fork-knife::before {
  content: "\e2f6";
}

.icon-forklift::before {
  content: "\e3c1";
}

.icon-form-input::before {
  content: "\e21f";
}

.icon-form::before {
  content: "\e6a8";
}

.icon-forward::before {
  content: "\e229";
}

.icon-frame::before {
  content: "\e291";
}

.icon-framer::before {
  content: "\e0da";
}

.icon-frown::before {
  content: "\e0db";
}

.icon-fuel::before {
  content: "\e2af";
}

.icon-fullscreen::before {
  content: "\e534";
}

.icon-function-square::before {
  content: "\e22d";
}

.icon-funnel-plus::before {
  content: "\e0dd";
}

.icon-funnel-x::before {
  content: "\e3b5";
}

.icon-funnel::before {
  content: "\e0dc";
}

.icon-gallery-horizontal-end::before {
  content: "\e4cf";
}

.icon-gallery-horizontal::before {
  content: "\e4ce";
}

.icon-gallery-thumbnails::before {
  content: "\e4d0";
}

.icon-gallery-vertical-end::before {
  content: "\e4d2";
}

.icon-gallery-vertical::before {
  content: "\e4d1";
}

.icon-gamepad-2::before {
  content: "\e0df";
}

.icon-gamepad-directional::before {
  content: "\e69b";
}

.icon-gamepad::before {
  content: "\e0de";
}

.icon-gantt-chart-square::before {
  content: "\e624";
}

.icon-gantt-chart::before {
  content: "\e4c4";
}

.icon-gauge-circle::before {
  content: "\e4e1";
}

.icon-gauge::before {
  content: "\e1bf";
}

.icon-gavel::before {
  content: "\e0e0";
}

.icon-gem::before {
  content: "\e242";
}

.icon-georgian-lari::before {
  content: "\e678";
}

.icon-ghost::before {
  content: "\e20e";
}

.icon-gift::before {
  content: "\e0e1";
}

.icon-git-branch-minus::before {
  content: "\e69c";
}

.icon-git-branch-plus::before {
  content: "\e1f4";
}

.icon-git-branch::before {
  content: "\e0e2";
}

.icon-git-commit-horizontal::before {
  content: "\e0e3";
}

.icon-git-commit-vertical::before {
  content: "\e552";
}

.icon-git-commit::before {
  content: "\e0e3";
}

.icon-git-compare-arrows::before {
  content: "\e553";
}

.icon-git-compare::before {
  content: "\e359";
}

.icon-git-fork::before {
  content: "\e28d";
}

.icon-git-graph::before {
  content: "\e554";
}

.icon-git-merge-conflict::before {
  content: "\e6b4";
}

.icon-git-merge::before {
  content: "\e0e4";
}

.icon-git-pull-request-arrow::before {
  content: "\e555";
}

.icon-git-pull-request-closed::before {
  content: "\e35a";
}

.icon-git-pull-request-create-arrow::before {
  content: "\e557";
}

.icon-git-pull-request-create::before {
  content: "\e556";
}

.icon-git-pull-request-draft::before {
  content: "\e35b";
}

.icon-git-pull-request::before {
  content: "\e0e5";
}

.icon-github::before {
  content: "\e0e6";
}

.icon-gitlab::before {
  content: "\e0e7";
}

.icon-glass-water::before {
  content: "\e2d5";
}

.icon-glasses::before {
  content: "\e20d";
}

.icon-globe-2::before {
  content: "\e1f3";
}

.icon-globe-lock::before {
  content: "\e5cd";
}

.icon-globe-off::before {
  content: "\e6b5";
}

.icon-globe-x::before {
  content: "\e6b6";
}

.icon-globe::before {
  content: "\e0e8";
}

.icon-goal::before {
  content: "\e4a5";
}

.icon-gpu::before {
  content: "\e66a";
}

.icon-grab::before {
  content: "\e1e6";
}

.icon-graduation-cap::before {
  content: "\e234";
}

.icon-grape::before {
  content: "\e352";
}

.icon-grid-2-x-2-check::before {
  content: "\e5e4";
}

.icon-grid-2-x-2-plus::before {
  content: "\e628";
}

.icon-grid-2-x-2-x::before {
  content: "\e5e5";
}

.icon-grid-2-x-2::before {
  content: "\e4ff";
}

.icon-grid-2x2-check::before {
  content: "\e5e4";
}

.icon-grid-2x2-plus::before {
  content: "\e628";
}

.icon-grid-2x2-x::before {
  content: "\e5e5";
}

.icon-grid-2x2::before {
  content: "\e4ff";
}

.icon-grid-3-x-3::before {
  content: "\e0e9";
}

.icon-grid-3x2::before {
  content: "\e66f";
}

.icon-grid-3x3::before {
  content: "\e0e9";
}

.icon-grid::before {
  content: "\e0e9";
}

.icon-grip-horizontal::before {
  content: "\e0ea";
}

.icon-grip-vertical::before {
  content: "\e0eb";
}

.icon-grip::before {
  content: "\e3b1";
}

.icon-group::before {
  content: "\e464";
}

.icon-guitar::before {
  content: "\e55f";
}

.icon-ham::before {
  content: "\e5d7";
}

.icon-hamburger::before {
  content: "\e665";
}

.icon-hammer::before {
  content: "\e0ec";
}

.icon-hand-coins::before {
  content: "\e5b8";
}

.icon-hand-fist::before {
  content: "\e68b";
}

.icon-hand-grab::before {
  content: "\e1e6";
}

.icon-hand-heart::before {
  content: "\e5b9";
}

.icon-hand-helping::before {
  content: "\e3b8";
}

.icon-hand-metal::before {
  content: "\e22c";
}

.icon-hand-platter::before {
  content: "\e5ba";
}

.icon-hand::before {
  content: "\e1d7";
}

.icon-handbag::before {
  content: "\e689";
}

.icon-handshake::before {
  content: "\e5c0";
}

.icon-hard-drive-download::before {
  content: "\e4e5";
}

.icon-hard-drive-upload::before {
  content: "\e4e6";
}

.icon-hard-drive::before {
  content: "\e0ed";
}

.icon-hard-hat::before {
  content: "\e0ee";
}

.icon-hash::before {
  content: "\e0ef";
}

.icon-hat-glasses::before {
  content: "\e683";
}

.icon-haze::before {
  content: "\e0f0";
}

.icon-hd::before {
  content: "\e6af";
}

.icon-hdmi-port::before {
  content: "\e4e7";
}

.icon-heading-1::before {
  content: "\e385";
}

.icon-heading-2::before {
  content: "\e386";
}

.icon-heading-3::before {
  content: "\e387";
}

.icon-heading-4::before {
  content: "\e388";
}

.icon-heading-5::before {
  content: "\e389";
}

.icon-heading-6::before {
  content: "\e38a";
}

.icon-heading::before {
  content: "\e384";
}

.icon-headphone-off::before {
  content: "\e629";
}

.icon-headphones::before {
  content: "\e0f1";
}

.icon-headset::before {
  content: "\e5bd";
}

.icon-heart-crack::before {
  content: "\e2d6";
}

.icon-heart-handshake::before {
  content: "\e2d7";
}

.icon-heart-minus::before {
  content: "\e651";
}

.icon-heart-off::before {
  content: "\e295";
}

.icon-heart-plus::before {
  content: "\e652";
}

.icon-heart-pulse::before {
  content: "\e36e";
}

.icon-heart::before {
  content: "\e0f2";
}

.icon-heater::before {
  content: "\e58e";
}

.icon-helicopter::before {
  content: "\e69d";
}

.icon-help-circle::before {
  content: "\e082";
}

.icon-helping-hand::before {
  content: "\e3b8";
}

.icon-hexagon::before {
  content: "\e0f3";
}

.icon-highlighter::before {
  content: "\e0f4";
}

.icon-history::before {
  content: "\e1f5";
}

.icon-home::before {
  content: "\e0f5";
}

.icon-hop-off::before {
  content: "\e398";
}

.icon-hop::before {
  content: "\e397";
}

.icon-hospital::before {
  content: "\e5d8";
}

.icon-hotel::before {
  content: "\e3e2";
}

.icon-hourglass::before {
  content: "\e296";
}

.icon-house-heart::before {
  content: "\e695";
}

.icon-house-plug::before {
  content: "\e5f0";
}

.icon-house-plus::before {
  content: "\e5f1";
}

.icon-house-wifi::before {
  content: "\e63c";
}

.icon-house::before {
  content: "\e0f5";
}

.icon-ice-cream-2::before {
  content: "\e3a7";
}

.icon-ice-cream-bowl::before {
  content: "\e3a7";
}

.icon-ice-cream-cone::before {
  content: "\e353";
}

.icon-ice-cream::before {
  content: "\e353";
}

.icon-id-card-lanyard::before {
  content: "\e670";
}

.icon-id-card::before {
  content: "\e617";
}

.icon-image-down::before {
  content: "\e53c";
}

.icon-image-minus::before {
  content: "\e1f6";
}

.icon-image-off::before {
  content: "\e1c0";
}

.icon-image-play::before {
  content: "\e5df";
}

.icon-image-plus::before {
  content: "\e1f7";
}

.icon-image-up::before {
  content: "\e5cb";
}

.icon-image-upscale::before {
  content: "\e637";
}

.icon-image::before {
  content: "\e0f6";
}

.icon-images::before {
  content: "\e5c4";
}

.icon-import::before {
  content: "\e22f";
}

.icon-inbox::before {
  content: "\e0f7";
}

.icon-indent-decrease::before {
  content: "\e107";
}

.icon-indent-increase::before {
  content: "\e108";
}

.icon-indent::before {
  content: "\e108";
}

.icon-indian-rupee::before {
  content: "\e0f8";
}

.icon-infinity::before {
  content: "\e1e7";
}

.icon-info::before {
  content: "\e0f9";
}

.icon-inspect::before {
  content: "\e202";
}

.icon-inspection-panel::before {
  content: "\e583";
}

.icon-instagram::before {
  content: "\e0fa";
}

.icon-italic::before {
  content: "\e0fb";
}

.icon-iteration-ccw::before {
  content: "\e423";
}

.icon-iteration-cw::before {
  content: "\e424";
}

.icon-japanese-yen::before {
  content: "\e0fc";
}

.icon-joystick::before {
  content: "\e355";
}

.icon-kanban-square-dashed::before {
  content: "\e16c";
}

.icon-kanban-square::before {
  content: "\e170";
}

.icon-kanban::before {
  content: "\e4dc";
}

.icon-kayak::before {
  content: "\e68f";
}

.icon-key-round::before {
  content: "\e4a3";
}

.icon-key-square::before {
  content: "\e4a4";
}

.icon-key::before {
  content: "\e0fd";
}

.icon-keyboard-music::before {
  content: "\e560";
}

.icon-keyboard-off::before {
  content: "\e5de";
}

.icon-keyboard::before {
  content: "\e284";
}

.icon-lamp-ceiling::before {
  content: "\e2d9";
}

.icon-lamp-desk::before {
  content: "\e2da";
}

.icon-lamp-floor::before {
  content: "\e2db";
}

.icon-lamp-wall-down::before {
  content: "\e2dc";
}

.icon-lamp-wall-up::before {
  content: "\e2dd";
}

.icon-lamp::before {
  content: "\e2d8";
}

.icon-land-plot::before {
  content: "\e528";
}

.icon-landmark::before {
  content: "\e23a";
}

.icon-languages::before {
  content: "\e0fe";
}

.icon-laptop-2::before {
  content: "\e1d8";
}

.icon-laptop-minimal-check::before {
  content: "\e632";
}

.icon-laptop-minimal::before {
  content: "\e1d8";
}

.icon-laptop::before {
  content: "\e1cd";
}

.icon-lasso-select::before {
  content: "\e1cf";
}

.icon-lasso::before {
  content: "\e1ce";
}

.icon-laugh::before {
  content: "\e300";
}

.icon-layers-2::before {
  content: "\e52a";
}

.icon-layers-3::before {
  content: "\e529";
}

.icon-layers-plus::before {
  content: "\e6af";
}

.icon-layers::before {
  content: "\e529";
}

.icon-layout-dashboard::before {
  content: "\e1c1";
}

.icon-layout-grid::before {
  content: "\e0ff";
}

.icon-layout-list::before {
  content: "\e1d9";
}

.icon-layout-panel-left::before {
  content: "\e470";
}

.icon-layout-panel-top::before {
  content: "\e471";
}

.icon-layout-template::before {
  content: "\e207";
}

.icon-layout::before {
  content: "\e12c";
}

.icon-leaf::before {
  content: "\e2de";
}

.icon-leafy-green::before {
  content: "\e46f";
}

.icon-lectern::before {
  content: "\e5e9";
}

.icon-lens-concave::before {
  content: "\e6b7";
}

.icon-lens-convex::before {
  content: "\e6b8";
}

.icon-letter-text::before {
  content: "\e605";
}

.icon-library-big::before {
  content: "\e54e";
}

.icon-library-square::before {
  content: "\e54f";
}

.icon-library::before {
  content: "\e100";
}

.icon-life-buoy::before {
  content: "\e101";
}

.icon-ligature::before {
  content: "\e43a";
}

.icon-lightbulb-off::before {
  content: "\e208";
}

.icon-lightbulb::before {
  content: "\e1c2";
}

.icon-line-chart::before {
  content: "\e2a5";
}

.icon-line-dot-right-horizontal::before {
  content: "\e6b9";
}

.icon-line-squiggle::before {
  content: "\e67a";
}

.icon-link-2-off::before {
  content: "\e104";
}

.icon-link-2::before {
  content: "\e103";
}

.icon-link::before {
  content: "\e102";
}

.icon-linkedin::before {
  content: "\e105";
}

.icon-list-check::before {
  content: "\e5fa";
}

.icon-list-checks::before {
  content: "\e1d0";
}

.icon-list-chevrons-down-up::before {
  content: "\e694";
}

.icon-list-chevrons-up-down::before {
  content: "\e696";
}

.icon-list-collapse::before {
  content: "\e59b";
}

.icon-list-end::before {
  content: "\e2df";
}

.icon-list-filter-plus::before {
  content: "\e639";
}

.icon-list-filter::before {
  content: "\e460";
}

.icon-list-indent-decrease::before {
  content: "\e107";
}

.icon-list-indent-increase::before {
  content: "\e108";
}

.icon-list-minus::before {
  content: "\e23e";
}

.icon-list-music::before {
  content: "\e2e0";
}

.icon-list-ordered::before {
  content: "\e1d1";
}

.icon-list-plus::before {
  content: "\e23f";
}

.icon-list-restart::before {
  content: "\e452";
}

.icon-list-start::before {
  content: "\e2e1";
}

.icon-list-todo::before {
  content: "\e4c3";
}

.icon-list-tree::before {
  content: "\e408";
}

.icon-list-video::before {
  content: "\e2e2";
}

.icon-list-x::before {
  content: "\e240";
}

.icon-list::before {
  content: "\e106";
}

.icon-loader-2::before {
  content: "\e10a";
}

.icon-loader-circle::before {
  content: "\e10a";
}

.icon-loader-pinwheel::before {
  content: "\e5e6";
}

.icon-loader::before {
  content: "\e109";
}

.icon-locate-fixed::before {
  content: "\e1db";
}

.icon-locate-off::before {
  content: "\e282";
}

.icon-locate::before {
  content: "\e1da";
}

.icon-location-edit::before {
  content: "\e655";
}

.icon-lock-keyhole-open::before {
  content: "\e532";
}

.icon-lock-keyhole::before {
  content: "\e531";
}

.icon-lock-open::before {
  content: "\e10c";
}

.icon-lock::before {
  content: "\e10b";
}

.icon-log-in::before {
  content: "\e10d";
}

.icon-log-out::before {
  content: "\e10e";
}

.icon-logs::before {
  content: "\e5f4";
}

.icon-lollipop::before {
  content: "\e4bd";
}

.icon-luggage::before {
  content: "\e2ca";
}

.icon-m-square::before {
  content: "\e503";
}

.icon-magnet::before {
  content: "\e2b5";
}

.icon-mail-check::before {
  content: "\e361";
}

.icon-mail-minus::before {
  content: "\e362";
}

.icon-mail-open::before {
  content: "\e363";
}

.icon-mail-plus::before {
  content: "\e364";
}

.icon-mail-question-mark::before {
  content: "\e365";
}

.icon-mail-question::before {
  content: "\e365";
}

.icon-mail-search::before {
  content: "\e366";
}

.icon-mail-warning::before {
  content: "\e367";
}

.icon-mail-x::before {
  content: "\e368";
}

.icon-mail::before {
  content: "\e10f";
}

.icon-mailbox::before {
  content: "\e3d4";
}

.icon-mails::before {
  content: "\e369";
}

.icon-map-minus::before {
  content: "\e686";
}

.icon-map-pin-check-inside::before {
  content: "\e610";
}

.icon-map-pin-check::before {
  content: "\e60f";
}

.icon-map-pin-house::before {
  content: "\e61c";
}

.icon-map-pin-minus-inside::before {
  content: "\e612";
}

.icon-map-pin-minus::before {
  content: "\e611";
}

.icon-map-pin-off::before {
  content: "\e2a6";
}

.icon-map-pin-pen::before {
  content: "\e655";
}

.icon-map-pin-plus-inside::before {
  content: "\e614";
}

.icon-map-pin-plus::before {
  content: "\e613";
}

.icon-map-pin-x-inside::before {
  content: "\e616";
}

.icon-map-pin-x::before {
  content: "\e615";
}

.icon-map-pin::before {
  content: "\e111";
}

.icon-map-pinned::before {
  content: "\e53d";
}

.icon-map-plus::before {
  content: "\e63f";
}

.icon-map::before {
  content: "\e110";
}

.icon-mars-stroke::before {
  content: "\e642";
}

.icon-mars::before {
  content: "\e641";
}

.icon-martini::before {
  content: "\e2e3";
}

.icon-maximize-2::before {
  content: "\e113";
}

.icon-maximize::before {
  content: "\e112";
}

.icon-medal::before {
  content: "\e36f";
}

.icon-megaphone-off::before {
  content: "\e370";
}

.icon-megaphone::before {
  content: "\e235";
}

.icon-meh::before {
  content: "\e114";
}

.icon-memory-stick::before {
  content: "\e445";
}

.icon-menu-square::before {
  content: "\e453";
}

.icon-menu::before {
  content: "\e115";
}

.icon-merge::before {
  content: "\e43f";
}

.icon-message-circle-check::before {
  content: "\e6ba";
}

.icon-message-circle-code::before {
  content: "\e562";
}

.icon-message-circle-dashed::before {
  content: "\e563";
}

.icon-message-circle-heart::before {
  content: "\e564";
}

.icon-message-circle-more::before {
  content: "\e565";
}

.icon-message-circle-off::before {
  content: "\e566";
}

.icon-message-circle-plus::before {
  content: "\e567";
}

.icon-message-circle-question-mark::before {
  content: "\e568";
}

.icon-message-circle-question::before {
  content: "\e568";
}

.icon-message-circle-reply::before {
  content: "\e569";
}

.icon-message-circle-warning::before {
  content: "\e56a";
}

.icon-message-circle-x::before {
  content: "\e56b";
}

.icon-message-circle::before {
  content: "\e116";
}

.icon-message-square-check::before {
  content: "\e6bb";
}

.icon-message-square-code::before {
  content: "\e56c";
}

.icon-message-square-dashed::before {
  content: "\e40b";
}

.icon-message-square-diff::before {
  content: "\e56d";
}

.icon-message-square-dot::before {
  content: "\e56e";
}

.icon-message-square-heart::before {
  content: "\e56f";
}

.icon-message-square-lock::before {
  content: "\e62c";
}

.icon-message-square-more::before {
  content: "\e570";
}

.icon-message-square-off::before {
  content: "\e571";
}

.icon-message-square-plus::before {
  content: "\e40c";
}

.icon-message-square-quote::before {
  content: "\e572";
}

.icon-message-square-reply::before {
  content: "\e573";
}

.icon-message-square-share::before {
  content: "\e574";
}

.icon-message-square-text::before {
  content: "\e575";
}

.icon-message-square-warning::before {
  content: "\e576";
}

.icon-message-square-x::before {
  content: "\e577";
}

.icon-message-square::before {
  content: "\e117";
}

.icon-messages-square::before {
  content: "\e40d";
}

.icon-metronome::before {
  content: "\e6bc";
}

.icon-mic-2::before {
  content: "\e349";
}

.icon-mic-off::before {
  content: "\e119";
}

.icon-mic-vocal::before {
  content: "\e349";
}

.icon-mic::before {
  content: "\e118";
}

.icon-microchip::before {
  content: "\e61a";
}

.icon-microscope::before {
  content: "\e2e4";
}

.icon-microwave::before {
  content: "\e37a";
}

.icon-milestone::before {
  content: "\e298";
}

.icon-milk-off::before {
  content: "\e39a";
}

.icon-milk::before {
  content: "\e399";
}

.icon-minimize-2::before {
  content: "\e11b";
}

.icon-minimize::before {
  content: "\e11a";
}

.icon-minus-circle::before {
  content: "\e07e";
}

.icon-minus-square::before {
  content: "\e171";
}

.icon-minus::before {
  content: "\e11c";
}

.icon-mirror-rectangular::before {
  content: "\e6bd";
}

.icon-mirror-round::before {
  content: "\e6be";
}

.icon-monitor-check::before {
  content: "\e482";
}

.icon-monitor-cloud::before {
  content: "\e699";
}

.icon-monitor-cog::before {
  content: "\e603";
}

.icon-monitor-dot::before {
  content: "\e483";
}

.icon-monitor-down::before {
  content: "\e421";
}

.icon-monitor-off::before {
  content: "\e1dc";
}

.icon-monitor-pause::before {
  content: "\e484";
}

.icon-monitor-play::before {
  content: "\e485";
}

.icon-monitor-smartphone::before {
  content: "\e3a2";
}

.icon-monitor-speaker::before {
  content: "\e210";
}

.icon-monitor-stop::before {
  content: "\e486";
}

.icon-monitor-up::before {
  content: "\e422";
}

.icon-monitor-x::before {
  content: "\e487";
}

.icon-monitor::before {
  content: "\e11d";
}

.icon-moon-star::before {
  content: "\e410";
}

.icon-moon::before {
  content: "\e11e";
}

.icon-more-horizontal::before {
  content: "\e0b6";
}

.icon-more-vertical::before {
  content: "\e0b7";
}

.icon-motorbike::before {
  content: "\e698";
}

.icon-mountain-snow::before {
  content: "\e232";
}

.icon-mountain::before {
  content: "\e231";
}

.icon-mouse-left::before {
  content: "\e6bf";
}

.icon-mouse-off::before {
  content: "\e5db";
}

.icon-mouse-pointer-2-off::before {
  content: "\e6a6";
}

.icon-mouse-pointer-2::before {
  content: "\e1c3";
}

.icon-mouse-pointer-ban::before {
  content: "\e5e7";
}

.icon-mouse-pointer-click::before {
  content: "\e120";
}

.icon-mouse-pointer-square-dashed::before {
  content: "\e509";
}

.icon-mouse-pointer::before {
  content: "\e11f";
}

.icon-mouse-right::before {
  content: "\e6c0";
}

.icon-mouse::before {
  content: "\e28e";
}

.icon-move-3-d::before {
  content: "\e2e5";
}

.icon-move-3d::before {
  content: "\e2e5";
}

.icon-move-diagonal-2::before {
  content: "\e1c5";
}

.icon-move-diagonal::before {
  content: "\e1c4";
}

.icon-move-down-left::before {
  content: "\e48d";
}

.icon-move-down-right::before {
  content: "\e48e";
}

.icon-move-down::before {
  content: "\e48c";
}

.icon-move-horizontal::before {
  content: "\e1c6";
}

.icon-move-left::before {
  content: "\e48f";
}

.icon-move-right::before {
  content: "\e490";
}

.icon-move-up-left::before {
  content: "\e492";
}

.icon-move-up-right::before {
  content: "\e493";
}

.icon-move-up::before {
  content: "\e491";
}

.icon-move-vertical::before {
  content: "\e1c7";
}

.icon-move::before {
  content: "\e121";
}

.icon-music-2::before {
  content: "\e34a";
}

.icon-music-3::before {
  content: "\e34b";
}

.icon-music-4::before {
  content: "\e34c";
}

.icon-music::before {
  content: "\e122";
}

.icon-navigation-2-off::before {
  content: "\e2a7";
}

.icon-navigation-2::before {
  content: "\e124";
}

.icon-navigation-off::before {
  content: "\e2a8";
}

.icon-navigation::before {
  content: "\e123";
}

.icon-network::before {
  content: "\e125";
}

.icon-newspaper::before {
  content: "\e348";
}

.icon-nfc::before {
  content: "\e3c3";
}

.icon-non-binary::before {
  content: "\e643";
}

.icon-notebook-pen::before {
  content: "\e596";
}

.icon-notebook-tabs::before {
  content: "\e597";
}

.icon-notebook-text::before {
  content: "\e598";
}

.icon-notebook::before {
  content: "\e595";
}

.icon-notepad-text-dashed::before {
  content: "\e59a";
}

.icon-notepad-text::before {
  content: "\e599";
}

.icon-nut-off::before {
  content: "\e39c";
}

.icon-nut::before {
  content: "\e39b";
}

.icon-octagon-alert::before {
  content: "\e127";
}

.icon-octagon-minus::before {
  content: "\e627";
}

.icon-octagon-pause::before {
  content: "\e21b";
}

.icon-octagon-x::before {
  content: "\e128";
}

.icon-octagon::before {
  content: "\e126";
}

.icon-omega::before {
  content: "\e619";
}

.icon-option::before {
  content: "\e1f8";
}

.icon-orbit::before {
  content: "\e3e7";
}

.icon-origami::before {
  content: "\e5e3";
}

.icon-outdent::before {
  content: "\e107";
}

.icon-package-2::before {
  content: "\e340";
}

.icon-package-check::before {
  content: "\e266";
}

.icon-package-minus::before {
  content: "\e267";
}

.icon-package-open::before {
  content: "\e2cc";
}

.icon-package-plus::before {
  content: "\e268";
}

.icon-package-search::before {
  content: "\e269";
}

.icon-package-x::before {
  content: "\e26a";
}

.icon-package::before {
  content: "\e129";
}

.icon-paint-bucket::before {
  content: "\e2e6";
}

.icon-paint-roller::before {
  content: "\e59e";
}

.icon-paintbrush-2::before {
  content: "\e2e8";
}

.icon-paintbrush-vertical::before {
  content: "\e2e8";
}

.icon-paintbrush::before {
  content: "\e2e7";
}

.icon-palette::before {
  content: "\e1dd";
}

.icon-palmtree::before {
  content: "\e281";
}

.icon-panda::before {
  content: "\e668";
}

.icon-panel-bottom-close::before {
  content: "\e42d";
}

.icon-panel-bottom-dashed::before {
  content: "\e42e";
}

.icon-panel-bottom-inactive::before {
  content: "\e42e";
}

.icon-panel-bottom-open::before {
  content: "\e42f";
}

.icon-panel-bottom::before {
  content: "\e42c";
}

.icon-panel-left-close::before {
  content: "\e21c";
}

.icon-panel-left-dashed::before {
  content: "\e430";
}

.icon-panel-left-inactive::before {
  content: "\e430";
}

.icon-panel-left-open::before {
  content: "\e21d";
}

.icon-panel-left-right-dashed::before {
  content: "\e692";
}

.icon-panel-left::before {
  content: "\e12a";
}

.icon-panel-right-close::before {
  content: "\e432";
}

.icon-panel-right-dashed::before {
  content: "\e433";
}

.icon-panel-right-inactive::before {
  content: "\e433";
}

.icon-panel-right-open::before {
  content: "\e434";
}

.icon-panel-right::before {
  content: "\e431";
}

.icon-panel-top-bottom-dashed::before {
  content: "\e693";
}

.icon-panel-top-close::before {
  content: "\e436";
}

.icon-panel-top-dashed::before {
  content: "\e437";
}

.icon-panel-top-inactive::before {
  content: "\e437";
}

.icon-panel-top-open::before {
  content: "\e438";
}

.icon-panel-top::before {
  content: "\e435";
}

.icon-panels-left-bottom::before {
  content: "\e12b";
}

.icon-panels-left-right::before {
  content: "\e099";
}

.icon-panels-right-bottom::before {
  content: "\e588";
}

.icon-panels-top-bottom::before {
  content: "\e58a";
}

.icon-panels-top-left::before {
  content: "\e12c";
}

.icon-paperclip::before {
  content: "\e12d";
}

.icon-parentheses::before {
  content: "\e444";
}

.icon-parking-circle-off::before {
  content: "\e3ca";
}

.icon-parking-circle::before {
  content: "\e3c9";
}

.icon-parking-meter::before {
  content: "\e500";
}

.icon-parking-square-off::before {
  content: "\e3cc";
}

.icon-parking-square::before {
  content: "\e3cb";
}

.icon-party-popper::before {
  content: "\e343";
}

.icon-pause-circle::before {
  content: "\e07f";
}

.icon-pause-octagon::before {
  content: "\e21b";
}

.icon-pause::before {
  content: "\e12e";
}

.icon-paw-print::before {
  content: "\e4f5";
}

.icon-pc-case::before {
  content: "\e446";
}

.icon-pen-box::before {
  content: "\e172";
}

.icon-pen-line::before {
  content: "\e130";
}

.icon-pen-off::before {
  content: "\e5ee";
}

.icon-pen-square::before {
  content: "\e172";
}

.icon-pen-tool::before {
  content: "\e131";
}

.icon-pen::before {
  content: "\e12f";
}

.icon-pencil-line::before {
  content: "\e4f0";
}

.icon-pencil-off::before {
  content: "\e5ef";
}

.icon-pencil-ruler::before {
  content: "\e4f1";
}

.icon-pencil::before {
  content: "\e1f9";
}

.icon-pentagon::before {
  content: "\e52b";
}

.icon-percent-circle::before {
  content: "\e51a";
}

.icon-percent-diamond::before {
  content: "\e51b";
}

.icon-percent-square::before {
  content: "\e51c";
}

.icon-percent::before {
  content: "\e132";
}

.icon-person-standing::before {
  content: "\e21e";
}

.icon-philippine-peso::before {
  content: "\e604";
}

.icon-phone-call::before {
  content: "\e134";
}

.icon-phone-forwarded::before {
  content: "\e135";
}

.icon-phone-incoming::before {
  content: "\e136";
}

.icon-phone-missed::before {
  content: "\e137";
}

.icon-phone-off::before {
  content: "\e138";
}

.icon-phone-outgoing::before {
  content: "\e139";
}

.icon-phone::before {
  content: "\e133";
}

.icon-pi-square::before {
  content: "\e488";
}

.icon-pi::before {
  content: "\e472";
}

.icon-piano::before {
  content: "\e561";
}

.icon-pickaxe::before {
  content: "\e5c6";
}

.icon-picture-in-picture-2::before {
  content: "\e3af";
}

.icon-picture-in-picture::before {
  content: "\e3ae";
}

.icon-pie-chart::before {
  content: "\e06b";
}

.icon-piggy-bank::before {
  content: "\e13a";
}

.icon-pilcrow-left::before {
  content: "\e5dc";
}

.icon-pilcrow-right::before {
  content: "\e5dd";
}

.icon-pilcrow-square::before {
  content: "\e48b";
}

.icon-pilcrow::before {
  content: "\e3a3";
}

.icon-pill-bottle::before {
  content: "\e5ea";
}

.icon-pill::before {
  content: "\e3bd";
}

.icon-pin-off::before {
  content: "\e2b6";
}

.icon-pin::before {
  content: "\e259";
}

.icon-pipette::before {
  content: "\e13b";
}

.icon-pizza::before {
  content: "\e354";
}

.icon-plane-landing::before {
  content: "\e3cd";
}

.icon-plane-takeoff::before {
  content: "\e3ce";
}

.icon-plane::before {
  content: "\e1de";
}

.icon-play-circle::before {
  content: "\e080";
}

.icon-play-square::before {
  content: "\e481";
}

.icon-play::before {
  content: "\e13c";
}

.icon-plug-2::before {
  content: "\e380";
}

.icon-plug-zap-2::before {
  content: "\e45c";
}

.icon-plug-zap::before {
  content: "\e45c";
}

.icon-plug::before {
  content: "\e37f";
}

.icon-plus-circle::before {
  content: "\e081";
}

.icon-plus-square::before {
  content: "\e173";
}

.icon-plus::before {
  content: "\e13d";
}

.icon-pocket-knife::before {
  content: "\e4a0";
}

.icon-pocket::before {
  content: "\e13e";
}

.icon-podcast::before {
  content: "\e1fa";
}

.icon-pointer-off::before {
  content: "\e57f";
}

.icon-pointer::before {
  content: "\e1e8";
}

.icon-popcorn::before {
  content: "\e4be";
}

.icon-popsicle::before {
  content: "\e4bf";
}

.icon-pound-sterling::before {
  content: "\e13f";
}

.icon-power-circle::before {
  content: "\e550";
}

.icon-power-off::before {
  content: "\e209";
}

.icon-power-square::before {
  content: "\e551";
}

.icon-power::before {
  content: "\e140";
}

.icon-presentation::before {
  content: "\e4ae";
}

.icon-printer-check::before {
  content: "\e5f5";
}

.icon-printer-x::before {
  content: "\e6c1";
}

.icon-printer::before {
  content: "\e141";
}

.icon-projector::before {
  content: "\e4af";
}

.icon-proportions::before {
  content: "\e5cf";
}

.icon-puzzle::before {
  content: "\e29c";
}

.icon-pyramid::before {
  content: "\e52c";
}

.icon-qr-code::before {
  content: "\e1df";
}

.icon-quote::before {
  content: "\e239";
}

.icon-rabbit::before {
  content: "\e4f6";
}

.icon-radar::before {
  content: "\e497";
}

.icon-radiation::before {
  content: "\e442";
}

.icon-radical::before {
  content: "\e5c2";
}

.icon-radio-receiver::before {
  content: "\e1fb";
}

.icon-radio-tower::before {
  content: "\e404";
}

.icon-radio::before {
  content: "\e142";
}

.icon-radius::before {
  content: "\e52d";
}

.icon-rail-symbol::before {
  content: "\e501";
}

.icon-rainbow::before {
  content: "\e4c2";
}

.icon-rat::before {
  content: "\e3eb";
}

.icon-ratio::before {
  content: "\e4e8";
}

.icon-receipt-cent::before {
  content: "\e5a5";
}

.icon-receipt-euro::before {
  content: "\e5a6";
}

.icon-receipt-indian-rupee::before {
  content: "\e5a7";
}

.icon-receipt-japanese-yen::before {
  content: "\e5a8";
}

.icon-receipt-pound-sterling::before {
  content: "\e5a9";
}

.icon-receipt-russian-ruble::before {
  content: "\e5aa";
}

.icon-receipt-swiss-franc::before {
  content: "\e5ab";
}

.icon-receipt-text::before {
  content: "\e5ac";
}

.icon-receipt-turkish-lira::before {
  content: "\e67f";
}

.icon-receipt::before {
  content: "\e3d3";
}

.icon-rectangle-circle::before {
  content: "\e673";
}

.icon-rectangle-ellipsis::before {
  content: "\e21f";
}

.icon-rectangle-goggles::before {
  content: "\e656";
}

.icon-rectangle-horizontal::before {
  content: "\e376";
}

.icon-rectangle-vertical::before {
  content: "\e377";
}

.icon-recycle::before {
  content: "\e2e9";
}

.icon-redo-2::before {
  content: "\e2a0";
}

.icon-redo-dot::before {
  content: "\e450";
}

.icon-redo::before {
  content: "\e143";
}

.icon-refresh-ccw-dot::before {
  content: "\e4b2";
}

.icon-refresh-ccw::before {
  content: "\e144";
}

.icon-refresh-cw-off::before {
  content: "\e498";
}

.icon-refresh-cw::before {
  content: "\e145";
}

.icon-refrigerator::before {
  content: "\e37b";
}

.icon-regex::before {
  content: "\e1fc";
}

.icon-remove-formatting::before {
  content: "\e3b3";
}

.icon-repeat-1::before {
  content: "\e1fd";
}

.icon-repeat-2::before {
  content: "\e411";
}

.icon-repeat::before {
  content: "\e146";
}

.icon-replace-all::before {
  content: "\e3dc";
}

.icon-replace::before {
  content: "\e3db";
}

.icon-reply-all::before {
  content: "\e22b";
}

.icon-reply::before {
  content: "\e22a";
}

.icon-rewind::before {
  content: "\e147";
}

.icon-ribbon::before {
  content: "\e558";
}

.icon-rocket::before {
  content: "\e286";
}

.icon-rocking-chair::before {
  content: "\e233";
}

.icon-roller-coaster::before {
  content: "\e480";
}

.icon-rose::before {
  content: "\e691";
}

.icon-rotate-3-d::before {
  content: "\e2ea";
}

.icon-rotate-3d::before {
  content: "\e2ea";
}

.icon-rotate-ccw-key::before {
  content: "\e650";
}

.icon-rotate-ccw-square::before {
  content: "\e5d0";
}

.icon-rotate-ccw::before {
  content: "\e148";
}

.icon-rotate-cw-square::before {
  content: "\e5d1";
}

.icon-rotate-cw::before {
  content: "\e149";
}

.icon-route-off::before {
  content: "\e53f";
}

.icon-route::before {
  content: "\e53e";
}

.icon-router::before {
  content: "\e3bf";
}

.icon-rows-2::before {
  content: "\e439";
}

.icon-rows-3::before {
  content: "\e58a";
}

.icon-rows-4::before {
  content: "\e58b";
}

.icon-rows::before {
  content: "\e439";
}

.icon-rss::before {
  content: "\e14a";
}

.icon-ruler-dimension-line::before {
  content: "\e662";
}

.icon-ruler::before {
  content: "\e14b";
}

.icon-russian-ruble::before {
  content: "\e14c";
}

.icon-sailboat::before {
  content: "\e37e";
}

.icon-salad::before {
  content: "\e3a8";
}

.icon-sandwich::before {
  content: "\e3a9";
}

.icon-satellite-dish::before {
  content: "\e448";
}

.icon-satellite::before {
  content: "\e447";
}

.icon-saudi-riyal::before {
  content: "\e64b";
}

.icon-save-all::before {
  content: "\e40f";
}

.icon-save-off::before {
  content: "\e5f3";
}

.icon-save::before {
  content: "\e14d";
}

.icon-scale-3-d::before {
  content: "\e2eb";
}

.icon-scale-3d::before {
  content: "\e2eb";
}

.icon-scale::before {
  content: "\e212";
}

.icon-scaling::before {
  content: "\e2ec";
}

.icon-scan-barcode::before {
  content: "\e535";
}

.icon-scan-eye::before {
  content: "\e536";
}

.icon-scan-face::before {
  content: "\e371";
}

.icon-scan-heart::before {
  content: "\e63a";
}

.icon-scan-line::before {
  content: "\e258";
}

.icon-scan-qr-code::before {
  content: "\e5f6";
}

.icon-scan-search::before {
  content: "\e537";
}

.icon-scan-text::before {
  content: "\e538";
}

.icon-scan::before {
  content: "\e257";
}

.icon-scatter-chart::before {
  content: "\e48a";
}

.icon-school-2::before {
  content: "\e3e5";
}

.icon-school::before {
  content: "\e3e3";
}

.icon-scissors-line-dashed::before {
  content: "\e4e9";
}

.icon-scissors-square-dashed-bottom::before {
  content: "\e4eb";
}

.icon-scissors-square::before {
  content: "\e4ec";
}

.icon-scissors::before {
  content: "\e14e";
}

.icon-scooter::before {
  content: "\e6ac";
}

.icon-screen-share-off::before {
  content: "\e150";
}

.icon-screen-share::before {
  content: "\e14f";
}

.icon-scroll-text::before {
  content: "\e45f";
}

.icon-scroll::before {
  content: "\e2ed";
}

.icon-search-alert::before {
  content: "\e6af";
}

.icon-search-check::before {
  content: "\e4aa";
}

.icon-search-code::before {
  content: "\e4ab";
}

.icon-search-slash::before {
  content: "\e4ac";
}

.icon-search-x::before {
  content: "\e4ad";
}

.icon-search::before {
  content: "\e151";
}

.icon-section::before {
  content: "\e5e8";
}

.icon-send-horizonal::before {
  content: "\e4f2";
}

.icon-send-horizontal::before {
  content: "\e4f2";
}

.icon-send-to-back::before {
  content: "\e4f3";
}

.icon-send::before {
  content: "\e152";
}

.icon-separator-horizontal::before {
  content: "\e1c8";
}

.icon-separator-vertical::before {
  content: "\e1c9";
}

.icon-server-cog::before {
  content: "\e341";
}

.icon-server-crash::before {
  content: "\e1e9";
}

.icon-server-off::before {
  content: "\e1ea";
}

.icon-server::before {
  content: "\e153";
}

.icon-settings-2::before {
  content: "\e245";
}

.icon-settings::before {
  content: "\e154";
}

.icon-shapes::before {
  content: "\e4b3";
}

.icon-share-2::before {
  content: "\e156";
}

.icon-share::before {
  content: "\e155";
}

.icon-sheet::before {
  content: "\e157";
}

.icon-shell::before {
  content: "\e4f7";
}

.icon-shelving-unit::before {
  content: "\e6c2";
}

.icon-shield-alert::before {
  content: "\e1fe";
}

.icon-shield-ban::before {
  content: "\e159";
}

.icon-shield-check::before {
  content: "\e1ff";
}

.icon-shield-close::before {
  content: "\e200";
}

.icon-shield-ellipsis::before {
  content: "\e516";
}

.icon-shield-half::before {
  content: "\e517";
}

.icon-shield-minus::before {
  content: "\e518";
}

.icon-shield-off::before {
  content: "\e15a";
}

.icon-shield-plus::before {
  content: "\e519";
}

.icon-shield-question-mark::before {
  content: "\e40e";
}

.icon-shield-question::before {
  content: "\e40e";
}

.icon-shield-user::before {
  content: "\e647";
}

.icon-shield-x::before {
  content: "\e200";
}

.icon-shield::before {
  content: "\e158";
}

.icon-ship-wheel::before {
  content: "\e502";
}

.icon-ship::before {
  content: "\e3ba";
}

.icon-shirt::before {
  content: "\e1ca";
}

.icon-shopping-bag::before {
  content: "\e15b";
}

.icon-shopping-basket::before {
  content: "\e4ea";
}

.icon-shopping-cart::before {
  content: "\e15c";
}

.icon-shovel::before {
  content: "\e15d";
}

.icon-shower-head::before {
  content: "\e37c";
}

.icon-shredder::before {
  content: "\e65b";
}

.icon-shrimp::before {
  content: "\e649";
}

.icon-shrink::before {
  content: "\e220";
}

.icon-shrub::before {
  content: "\e2ee";
}

.icon-shuffle::before {
  content: "\e15e";
}

.icon-sidebar-close::before {
  content: "\e21c";
}

.icon-sidebar-open::before {
  content: "\e21d";
}

.icon-sidebar::before {
  content: "\e12a";
}

.icon-sigma-square::before {
  content: "\e489";
}

.icon-sigma::before {
  content: "\e201";
}

.icon-signal-high::before {
  content: "\e260";
}

.icon-signal-low::before {
  content: "\e261";
}

.icon-signal-medium::before {
  content: "\e262";
}

.icon-signal-zero::before {
  content: "\e263";
}

.icon-signal::before {
  content: "\e25f";
}

.icon-signature::before {
  content: "\e5f2";
}

.icon-signpost-big::before {
  content: "\e541";
}

.icon-signpost::before {
  content: "\e540";
}

.icon-siren::before {
  content: "\e2ef";
}

.icon-skip-back::before {
  content: "\e15f";
}

.icon-skip-forward::before {
  content: "\e160";
}

.icon-skull::before {
  content: "\e221";
}

.icon-slack::before {
  content: "\e161";
}

.icon-slash-square::before {
  content: "\e174";
}

.icon-slash::before {
  content: "\e51d";
}

.icon-slice::before {
  content: "\e2f0";
}

.icon-sliders-horizontal::before {
  content: "\e29a";
}

.icon-sliders-vertical::before {
  content: "\e162";
}

.icon-sliders::before {
  content: "\e162";
}

.icon-smartphone-charging::before {
  content: "\e22e";
}

.icon-smartphone-nfc::before {
  content: "\e3c4";
}

.icon-smartphone::before {
  content: "\e163";
}

.icon-smile-plus::before {
  content: "\e301";
}

.icon-smile::before {
  content: "\e164";
}

.icon-snail::before {
  content: "\e4f8";
}

.icon-snowflake::before {
  content: "\e165";
}

.icon-soap-dispenser-droplet::before {
  content: "\e669";
}

.icon-sofa::before {
  content: "\e2c4";
}

.icon-solar-panel::before {
  content: "\e69f";
}

.icon-sort-asc::before {
  content: "\e04c";
}

.icon-sort-desc::before {
  content: "\e047";
}

.icon-soup::before {
  content: "\e3aa";
}

.icon-space::before {
  content: "\e3dd";
}

.icon-spade::before {
  content: "\e499";
}

.icon-sparkle::before {
  content: "\e47e";
}

.icon-sparkles::before {
  content: "\e412";
}

.icon-speaker::before {
  content: "\e166";
}

.icon-speech::before {
  content: "\e51e";
}

.icon-spell-check-2::before {
  content: "\e49b";
}

.icon-spell-check::before {
  content: "\e49a";
}

.icon-spline-pointer::before {
  content: "\e64f";
}

.icon-spline::before {
  content: "\e38b";
}

.icon-split-square-horizontal::before {
  content: "\e3b6";
}

.icon-split-square-vertical::before {
  content: "\e3b7";
}

.icon-split::before {
  content: "\e440";
}

.icon-spool::before {
  content: "\e677";
}

.icon-spotlight::before {
  content: "\e682";
}

.icon-spray-can::before {
  content: "\e495";
}

.icon-sprout::before {
  content: "\e1eb";
}

.icon-square-activity::before {
  content: "\e4b4";
}

.icon-square-arrow-down-left::before {
  content: "\e4b5";
}

.icon-square-arrow-down-right::before {
  content: "\e4b6";
}

.icon-square-arrow-down::before {
  content: "\e427";
}

.icon-square-arrow-left::before {
  content: "\e428";
}

.icon-square-arrow-out-down-left::before {
  content: "\e5a1";
}

.icon-square-arrow-out-down-right::before {
  content: "\e5a2";
}

.icon-square-arrow-out-up-left::before {
  content: "\e5a3";
}

.icon-square-arrow-out-up-right::before {
  content: "\e5a4";
}

.icon-square-arrow-right-enter::before {
  content: "\e6c3";
}

.icon-square-arrow-right-exit::before {
  content: "\e6c4";
}

.icon-square-arrow-right::before {
  content: "\e429";
}

.icon-square-arrow-up-left::before {
  content: "\e4b7";
}

.icon-square-arrow-up-right::before {
  content: "\e4b8";
}

.icon-square-arrow-up::before {
  content: "\e42a";
}

.icon-square-asterisk::before {
  content: "\e168";
}

.icon-square-bottom-dashed-scissors::before {
  content: "\e4eb";
}

.icon-square-centerline-dashed-horizontal::before {
  content: "\e6c5";
}

.icon-square-centerline-dashed-vertical::before {
  content: "\e6c6";
}

.icon-square-chart-gantt::before {
  content: "\e169";
}

.icon-square-check-big::before {
  content: "\e16a";
}

.icon-square-check::before {
  content: "\e559";
}

.icon-square-chevron-down::before {
  content: "\e3cf";
}

.icon-square-chevron-left::before {
  content: "\e3d0";
}

.icon-square-chevron-right::before {
  content: "\e3d1";
}

.icon-square-chevron-up::before {
  content: "\e3d2";
}

.icon-square-code::before {
  content: "\e16b";
}

.icon-square-dashed-bottom-code::before {
  content: "\e4c1";
}

.icon-square-dashed-bottom::before {
  content: "\e4c0";
}

.icon-square-dashed-kanban::before {
  content: "\e16c";
}

.icon-square-dashed-mouse-pointer::before {
  content: "\e509";
}

.icon-square-dashed-top-solid::before {
  content: "\e66c";
}

.icon-square-dashed::before {
  content: "\e1cb";
}

.icon-square-divide::before {
  content: "\e16d";
}

.icon-square-dot::before {
  content: "\e16e";
}

.icon-square-equal::before {
  content: "\e16f";
}

.icon-square-function::before {
  content: "\e22d";
}

.icon-square-gantt-chart::before {
  content: "\e169";
}

.icon-square-kanban::before {
  content: "\e170";
}

.icon-square-library::before {
  content: "\e54f";
}

.icon-square-m::before {
  content: "\e503";
}

.icon-square-menu::before {
  content: "\e453";
}

.icon-square-minus::before {
  content: "\e171";
}

.icon-square-mouse-pointer::before {
  content: "\e202";
}

.icon-square-parking-off::before {
  content: "\e3cc";
}

.icon-square-parking::before {
  content: "\e3cb";
}

.icon-square-pause::before {
  content: "\e684";
}

.icon-square-pen::before {
  content: "\e172";
}

.icon-square-percent::before {
  content: "\e51c";
}

.icon-square-pi::before {
  content: "\e488";
}

.icon-square-pilcrow::before {
  content: "\e48b";
}

.icon-square-play::before {
  content: "\e481";
}

.icon-square-plus::before {
  content: "\e173";
}

.icon-square-power::before {
  content: "\e551";
}

.icon-square-radical::before {
  content: "\e5c3";
}

.icon-square-round-corner::before {
  content: "\e648";
}

.icon-square-scissors::before {
  content: "\e4ec";
}

.icon-square-sigma::before {
  content: "\e489";
}

.icon-square-slash::before {
  content: "\e174";
}

.icon-square-split-horizontal::before {
  content: "\e3b6";
}

.icon-square-split-vertical::before {
  content: "\e3b7";
}

.icon-square-square::before {
  content: "\e60e";
}

.icon-square-stack::before {
  content: "\e4a2";
}

.icon-square-star::before {
  content: "\e68e";
}

.icon-square-stop::before {
  content: "\e685";
}

.icon-square-terminal::before {
  content: "\e20a";
}

.icon-square-user-round::before {
  content: "\e466";
}

.icon-square-user::before {
  content: "\e465";
}

.icon-square-x::before {
  content: "\e175";
}

.icon-square::before {
  content: "\e167";
}

.icon-squares-exclude::before {
  content: "\e657";
}

.icon-squares-intersect::before {
  content: "\e658";
}

.icon-squares-subtract::before {
  content: "\e659";
}

.icon-squares-unite::before {
  content: "\e65a";
}

.icon-squircle-dashed::before {
  content: "\e679";
}

.icon-squircle::before {
  content: "\e57a";
}

.icon-squirrel::before {
  content: "\e49f";
}

.icon-stamp::before {
  content: "\e3bb";
}

.icon-star-half::before {
  content: "\e20b";
}

.icon-star-off::before {
  content: "\e2b0";
}

.icon-star::before {
  content: "\e176";
}

.icon-stars::before {
  content: "\e412";
}

.icon-step-back::before {
  content: "\e3e9";
}

.icon-step-forward::before {
  content: "\e3ea";
}

.icon-stethoscope::before {
  content: "\e2f1";
}

.icon-sticker::before {
  content: "\e302";
}

.icon-sticky-note::before {
  content: "\e303";
}

.icon-stone::before {
  content: "\e6af";
}

.icon-stop-circle::before {
  content: "\e083";
}

.icon-store::before {
  content: "\e3e4";
}

.icon-stretch-horizontal::before {
  content: "\e27c";
}

.icon-stretch-vertical::before {
  content: "\e27d";
}

.icon-strikethrough::before {
  content: "\e177";
}

.icon-subscript::before {
  content: "\e25c";
}

.icon-subtitles::before {
  content: "\e3a4";
}

.icon-sun-dim::before {
  content: "\e299";
}

.icon-sun-medium::before {
  content: "\e2b1";
}

.icon-sun-moon::before {
  content: "\e2b2";
}

.icon-sun-snow::before {
  content: "\e372";
}

.icon-sun::before {
  content: "\e178";
}

.icon-sunrise::before {
  content: "\e179";
}

.icon-sunset::before {
  content: "\e17a";
}

.icon-superscript::before {
  content: "\e25e";
}

.icon-swatch-book::before {
  content: "\e59f";
}

.icon-swiss-franc::before {
  content: "\e17b";
}

.icon-switch-camera::before {
  content: "\e17c";
}

.icon-sword::before {
  content: "\e2b3";
}

.icon-swords::before {
  content: "\e2b4";
}

.icon-syringe::before {
  content: "\e2f2";
}

.icon-table-2::before {
  content: "\e2f9";
}

.icon-table-cells-merge::before {
  content: "\e5c7";
}

.icon-table-cells-split::before {
  content: "\e5c8";
}

.icon-table-columns-split::before {
  content: "\e5c9";
}

.icon-table-config::before {
  content: "\e661";
}

.icon-table-of-contents::before {
  content: "\e61e";
}

.icon-table-properties::before {
  content: "\e4db";
}

.icon-table-rows-split::before {
  content: "\e5ca";
}

.icon-table::before {
  content: "\e17d";
}

.icon-tablet-smartphone::before {
  content: "\e50a";
}

.icon-tablet::before {
  content: "\e17e";
}

.icon-tablets::before {
  content: "\e3be";
}

.icon-tag::before {
  content: "\e17f";
}

.icon-tags::before {
  content: "\e35c";
}

.icon-tally-1::before {
  content: "\e4d6";
}

.icon-tally-2::before {
  content: "\e4d7";
}

.icon-tally-3::before {
  content: "\e4d8";
}

.icon-tally-4::before {
  content: "\e4d9";
}

.icon-tally-5::before {
  content: "\e4da";
}

.icon-tangent::before {
  content: "\e52e";
}

.icon-target::before {
  content: "\e180";
}

.icon-telescope::before {
  content: "\e5c5";
}

.icon-tent-tree::before {
  content: "\e53b";
}

.icon-tent::before {
  content: "\e227";
}

.icon-terminal-square::before {
  content: "\e20a";
}

.icon-terminal::before {
  content: "\e181";
}

.icon-test-tube-2::before {
  content: "\e406";
}

.icon-test-tube-diagonal::before {
  content: "\e406";
}

.icon-test-tube::before {
  content: "\e405";
}

.icon-test-tubes::before {
  content: "\e407";
}

.icon-text-align-center::before {
  content: "\e182";
}

.icon-text-align-end::before {
  content: "\e183";
}

.icon-text-align-justify::before {
  content: "\e184";
}

.icon-text-align-start::before {
  content: "\e185";
}

.icon-text-cursor-input::before {
  content: "\e265";
}

.icon-text-cursor::before {
  content: "\e264";
}

.icon-text-initial::before {
  content: "\e605";
}

.icon-text-quote::before {
  content: "\e49e";
}

.icon-text-search::before {
  content: "\e5ad";
}

.icon-text-select::before {
  content: "\e3de";
}

.icon-text-selection::before {
  content: "\e3de";
}

.icon-text-wrap::before {
  content: "\e248";
}

.icon-text::before {
  content: "\e185";
}

.icon-theater::before {
  content: "\e522";
}

.icon-thermometer-snowflake::before {
  content: "\e187";
}

.icon-thermometer-sun::before {
  content: "\e188";
}

.icon-thermometer::before {
  content: "\e186";
}

.icon-thumbs-down::before {
  content: "\e189";
}

.icon-thumbs-up::before {
  content: "\e18a";
}

.icon-ticket-check::before {
  content: "\e5ae";
}

.icon-ticket-minus::before {
  content: "\e5af";
}

.icon-ticket-percent::before {
  content: "\e5b0";
}

.icon-ticket-plus::before {
  content: "\e5b1";
}

.icon-ticket-slash::before {
  content: "\e5b2";
}

.icon-ticket-x::before {
  content: "\e5b3";
}

.icon-ticket::before {
  content: "\e20f";
}

.icon-tickets-plane::before {
  content: "\e623";
}

.icon-tickets::before {
  content: "\e622";
}

.icon-timer-off::before {
  content: "\e249";
}

.icon-timer-reset::before {
  content: "\e236";
}

.icon-timer::before {
  content: "\e1e0";
}

.icon-toggle-left::before {
  content: "\e18b";
}

.icon-toggle-right::before {
  content: "\e18c";
}

.icon-toilet::before {
  content: "\e635";
}

.icon-tool-case::before {
  content: "\e67d";
}

.icon-toolbox::before {
  content: "\e6b0";
}

.icon-tornado::before {
  content: "\e218";
}

.icon-torus::before {
  content: "\e52f";
}

.icon-touchpad-off::before {
  content: "\e44a";
}

.icon-touchpad::before {
  content: "\e449";
}

.icon-towel-rack::before {
  content: "\e6c7";
}

.icon-tower-control::before {
  content: "\e3bc";
}

.icon-toy-brick::before {
  content: "\e347";
}

.icon-tractor::before {
  content: "\e504";
}

.icon-traffic-cone::before {
  content: "\e505";
}

.icon-train-front-tunnel::before {
  content: "\e507";
}

.icon-train-front::before {
  content: "\e506";
}

.icon-train-track::before {
  content: "\e508";
}

.icon-train::before {
  content: "\e2a9";
}

.icon-tram-front::before {
  content: "\e2a9";
}

.icon-transgender::before {
  content: "\e644";
}

.icon-trash-2::before {
  content: "\e18e";
}

.icon-trash::before {
  content: "\e18d";
}

.icon-tree-deciduous::before {
  content: "\e2f3";
}

.icon-tree-palm::before {
  content: "\e281";
}

.icon-tree-pine::before {
  content: "\e2f4";
}

.icon-trees::before {
  content: "\e2f5";
}

.icon-trello::before {
  content: "\e18f";
}

.icon-trending-down::before {
  content: "\e190";
}

.icon-trending-up-down::before {
  content: "\e625";
}

.icon-trending-up::before {
  content: "\e191";
}

.icon-triangle-alert::before {
  content: "\e193";
}

.icon-triangle-dashed::before {
  content: "\e63d";
}

.icon-triangle-right::before {
  content: "\e4ed";
}

.icon-triangle::before {
  content: "\e192";
}

.icon-trophy::before {
  content: "\e373";
}

.icon-truck-electric::before {
  content: "\e65f";
}

.icon-truck::before {
  content: "\e194";
}

.icon-turkish-lira::before {
  content: "\e680";
}

.icon-turntable::before {
  content: "\e68c";
}

.icon-turtle::before {
  content: "\e4f9";
}

.icon-tv-2::before {
  content: "\e203";
}

.icon-tv-minimal-play::before {
  content: "\e5ec";
}

.icon-tv-minimal::before {
  content: "\e203";
}

.icon-tv::before {
  content: "\e195";
}

.icon-twitch::before {
  content: "\e196";
}

.icon-twitter::before {
  content: "\e197";
}

.icon-type-outline::before {
  content: "\e602";
}

.icon-type::before {
  content: "\e198";
}

.icon-umbrella-off::before {
  content: "\e543";
}

.icon-umbrella::before {
  content: "\e199";
}

.icon-underline::before {
  content: "\e19a";
}

.icon-undo-2::before {
  content: "\e2a1";
}

.icon-undo-dot::before {
  content: "\e451";
}

.icon-undo::before {
  content: "\e19b";
}

.icon-unfold-horizontal::before {
  content: "\e43d";
}

.icon-unfold-vertical::before {
  content: "\e43e";
}

.icon-ungroup::before {
  content: "\e467";
}

.icon-university::before {
  content: "\e3e5";
}

.icon-unlink-2::before {
  content: "\e19d";
}

.icon-unlink::before {
  content: "\e19c";
}

.icon-unlock-keyhole::before {
  content: "\e532";
}

.icon-unlock::before {
  content: "\e10c";
}

.icon-unplug::before {
  content: "\e45d";
}

.icon-upload-cloud::before {
  content: "\e091";
}

.icon-upload::before {
  content: "\e19e";
}

.icon-usb::before {
  content: "\e356";
}

.icon-user-2::before {
  content: "\e468";
}

.icon-user-check-2::before {
  content: "\e469";
}

.icon-user-check::before {
  content: "\e1a0";
}

.icon-user-circle-2::before {
  content: "\e462";
}

.icon-user-circle::before {
  content: "\e461";
}

.icon-user-cog-2::before {
  content: "\e46a";
}

.icon-user-cog::before {
  content: "\e342";
}

.icon-user-key::before {
  content: "\e6c8";
}

.icon-user-lock::before {
  content: "\e660";
}

.icon-user-minus-2::before {
  content: "\e46b";
}

.icon-user-minus::before {
  content: "\e1a1";
}

.icon-user-pen::before {
  content: "\e5fc";
}

.icon-user-plus-2::before {
  content: "\e46c";
}

.icon-user-plus::before {
  content: "\e1a2";
}

.icon-user-round-check::before {
  content: "\e469";
}

.icon-user-round-cog::before {
  content: "\e46a";
}

.icon-user-round-key::before {
  content: "\e6c9";
}

.icon-user-round-minus::before {
  content: "\e46b";
}

.icon-user-round-pen::before {
  content: "\e5fd";
}

.icon-user-round-plus::before {
  content: "\e46c";
}

.icon-user-round-search::before {
  content: "\e578";
}

.icon-user-round-x::before {
  content: "\e46d";
}

.icon-user-round::before {
  content: "\e468";
}

.icon-user-search::before {
  content: "\e579";
}

.icon-user-square-2::before {
  content: "\e466";
}

.icon-user-square::before {
  content: "\e465";
}

.icon-user-star::before {
  content: "\e687";
}

.icon-user-x-2::before {
  content: "\e46d";
}

.icon-user-x::before {
  content: "\e1a3";
}

.icon-user::before {
  content: "\e19f";
}

.icon-users-2::before {
  content: "\e46e";
}

.icon-users-round::before {
  content: "\e46e";
}

.icon-users::before {
  content: "\e1a4";
}

.icon-utensils-crossed::before {
  content: "\e2f7";
}

.icon-utensils::before {
  content: "\e2f6";
}

.icon-utility-pole::before {
  content: "\e3c2";
}

.icon-van::before {
  content: "\e6ad";
}

.icon-variable::before {
  content: "\e473";
}

.icon-vault::before {
  content: "\e58f";
}

.icon-vector-square::before {
  content: "\e67c";
}

.icon-vegan::before {
  content: "\e39d";
}

.icon-venetian-mask::before {
  content: "\e2aa";
}

.icon-venus-and-mars::before {
  content: "\e646";
}

.icon-venus::before {
  content: "\e645";
}

.icon-verified::before {
  content: "\e241";
}

.icon-vibrate-off::before {
  content: "\e29d";
}

.icon-vibrate::before {
  content: "\e223";
}

.icon-video-off::before {
  content: "\e1a6";
}

.icon-video::before {
  content: "\e1a5";
}

.icon-videotape::before {
  content: "\e4cb";
}

.icon-view::before {
  content: "\e1a7";
}

.icon-voicemail::before {
  content: "\e1a8";
}

.icon-volleyball::before {
  content: "\e62f";
}

.icon-volume-1::before {
  content: "\e1aa";
}

.icon-volume-2::before {
  content: "\e1ab";
}

.icon-volume-off::before {
  content: "\e626";
}

.icon-volume-x::before {
  content: "\e1ac";
}

.icon-volume::before {
  content: "\e1a9";
}

.icon-vote::before {
  content: "\e3ad";
}

.icon-wallet-2::before {
  content: "\e4cd";
}

.icon-wallet-cards::before {
  content: "\e4cc";
}

.icon-wallet-minimal::before {
  content: "\e4cd";
}

.icon-wallet::before {
  content: "\e204";
}

.icon-wallpaper::before {
  content: "\e44b";
}

.icon-wand-2::before {
  content: "\e357";
}

.icon-wand-sparkles::before {
  content: "\e357";
}

.icon-wand::before {
  content: "\e246";
}

.icon-warehouse::before {
  content: "\e3e6";
}

.icon-washing-machine::before {
  content: "\e590";
}

.icon-watch::before {
  content: "\e1ad";
}

.icon-waves-arrow-down::before {
  content: "\e6a9";
}

.icon-waves-arrow-up::before {
  content: "\e6aa";
}

.icon-waves-ladder::before {
  content: "\e63b";
}

.icon-waves::before {
  content: "\e283";
}

.icon-waypoints::before {
  content: "\e542";
}

.icon-webcam::before {
  content: "\e205";
}

.icon-webhook-off::before {
  content: "\e5b7";
}

.icon-webhook::before {
  content: "\e374";
}

.icon-weight-tilde::before {
  content: "\e6ae";
}

.icon-weight::before {
  content: "\e530";
}

.icon-wheat-off::before {
  content: "\e39f";
}

.icon-wheat::before {
  content: "\e39e";
}

.icon-whole-word::before {
  content: "\e3df";
}

.icon-wifi-cog::before {
  content: "\e674";
}

.icon-wifi-high::before {
  content: "\e5f7";
}

.icon-wifi-low::before {
  content: "\e5f8";
}

.icon-wifi-off::before {
  content: "\e1af";
}

.icon-wifi-pen::before {
  content: "\e663";
}

.icon-wifi-sync::before {
  content: "\e681";
}

.icon-wifi-zero::before {
  content: "\e5f9";
}

.icon-wifi::before {
  content: "\e1ae";
}

.icon-wind-arrow-down::before {
  content: "\e631";
}

.icon-wind::before {
  content: "\e1b0";
}

.icon-wine-off::before {
  content: "\e3a0";
}

.icon-wine::before {
  content: "\e2f8";
}

.icon-workflow::before {
  content: "\e425";
}

.icon-worm::before {
  content: "\e5da";
}

.icon-wrap-text::before {
  content: "\e248";
}

.icon-wrench::before {
  content: "\e1b1";
}

.icon-x-circle::before {
  content: "\e084";
}

.icon-x-line-top::before {
  content: "\e6ca";
}

.icon-x-octagon::before {
  content: "\e128";
}

.icon-x-square::before {
  content: "\e175";
}

.icon-x::before {
  content: "\e1b2";
}

.icon-youtube::before {
  content: "\e1b3";
}

.icon-zap-off::before {
  content: "\e1b5";
}

.icon-zap::before {
  content: "\e1b4";
}

.icon-zodiac-aquarius::before {
  content: "\e6cb";
}

.icon-zodiac-aries::before {
  content: "\e6cc";
}

.icon-zodiac-cancer::before {
  content: "\e6cd";
}

.icon-zodiac-capricorn::before {
  content: "\e6ce";
}

.icon-zodiac-gemini::before {
  content: "\e6cf";
}

.icon-zodiac-leo::before {
  content: "\e6d0";
}

.icon-zodiac-libra::before {
  content: "\e6d1";
}

.icon-zodiac-ophiuchus::before {
  content: "\e6d2";
}

.icon-zodiac-pisces::before {
  content: "\e6d3";
}

.icon-zodiac-sagittarius::before {
  content: "\e6d4";
}

.icon-zodiac-scorpio::before {
  content: "\e6d5";
}

.icon-zodiac-taurus::before {
  content: "\e6d6";
}

.icon-zodiac-virgo::before {
  content: "\e6d7";
}

.icon-zoom-in::before {
  content: "\e1b6";
}

.icon-zoom-out::before {
  content: "\e1b7";
}

@font-face {
  font-family: "Instrument Sans";
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 75% 125%;
  src: url("InstrumentSans-VariableFont_wdth,wght.woff2") format("woff2");
}
@font-face {
  font-family: "Instrument Sans";
  font-style: italic;
  font-weight: 400 700;
  font-stretch: 75% 125%;
  src: url("InstrumentSans-Italic-VariableFont_wdth,wght.woff2") format("woff2");
}
:root {
  --birei-primary-50: #eef5f6;
  --birei-primary-100: #d5e6e8;
  --birei-primary-200: #aaccd0;
  --birei-primary-300: #7fb3b8;
  --birei-primary-400: #5499a0;
  --birei-primary-500: #3a7a80;
  --birei-primary-600: #2e6569;
  --birei-primary-700: #255459;
  --birei-primary-800: #1d4347;
  --birei-primary-900: #153235;
  --birei-primary-950: #0d2123;
  --birei-secondary-50: #f3f6f6;
  --birei-secondary-100: #e2e8e9;
  --birei-secondary-200: #c5d1d2;
  --birei-secondary-300: #a3b4b6;
  --birei-secondary-400: #8a9fa1;
  --birei-secondary-500: #728a8c;
  --birei-secondary-600: #5e7274;
  --birei-secondary-700: #4d5d5f;
  --birei-secondary-800: #3f4c4d;
  --birei-secondary-900: #333e3f;
  --birei-secondary-950: #242c2d;
  --birei-accent-50: #faf5f5;
  --birei-accent-100: #f2e4e4;
  --birei-accent-200: #e5c9c9;
  --birei-accent-300: #d4a8a8;
  --birei-accent-400: #c08888;
  --birei-accent-500: #a67676;
  --birei-accent-600: #8e5f5f;
  --birei-accent-700: #744d4d;
  --birei-accent-800: #5c3e3e;
  --birei-accent-900: #463030;
  --birei-accent-950: #2e1f1f;
  --birei-neutral-50: #f5f7f7;
  --birei-neutral-100: #e8ecec;
  --birei-neutral-200: #d1d9da;
  --birei-neutral-300: #b8c4c5;
  --birei-neutral-400: #96a7a9;
  --birei-neutral-500: #728a8c;
  --birei-neutral-600: #5c7173;
  --birei-neutral-700: #4a5b5d;
  --birei-neutral-800: #3a4849;
  --birei-neutral-900: #2c3637;
  --birei-neutral-950: #1f2a2b;
  --birei-success-50: #f0f7f4;
  --birei-success-100: #d9ede4;
  --birei-success-200: #b3dbc9;
  --birei-success-300: #86c5aa;
  --birei-success-400: #5faa8a;
  --birei-success-500: #438f70;
  --birei-success-600: #35735a;
  --birei-success-700: #2c5d49;
  --birei-success-800: #244a3b;
  --birei-success-900: #1d3a2f;
  --birei-success-950: #122620;
  --birei-warning-50: #fdf8f0;
  --birei-warning-100: #f9edd8;
  --birei-warning-200: #f2d9b0;
  --birei-warning-300: #e9c083;
  --birei-warning-400: #dea55a;
  --birei-warning-500: #d18d3a;
  --birei-warning-600: #b4742e;
  --birei-warning-700: #935d27;
  --birei-warning-800: #764a21;
  --birei-warning-900: #5c3a1b;
  --birei-warning-950: #3d2612;
  --birei-error-50: #fdf2f2;
  --birei-error-100: #fbe1e1;
  --birei-error-200: #f5c4c4;
  --birei-error-300: #eda0a0;
  --birei-error-400: #e17a7a;
  --birei-error-500: #c45c5c;
  --birei-error-600: #a94a4a;
  --birei-error-700: #8b3c3c;
  --birei-error-800: #6e3030;
  --birei-error-900: #562727;
  --birei-error-950: #381919;
  --birei-info-50: #f0f4f8;
  --birei-info-100: #d9e3ee;
  --birei-info-200: #b3c7dd;
  --birei-info-300: #86a7c8;
  --birei-info-400: #6089b0;
  --birei-info-500: #476f96;
  --birei-info-600: #385a7a;
  --birei-info-700: #2e4963;
  --birei-info-800: #253b4f;
  --birei-info-900: #1d2e3d;
  --birei-info-950: #131f29;
  --birei-chart-1: #3a8388;
  --birei-chart-2: #3e845e;
  --birei-chart-3: #8c9343;
  --birei-chart-4: #8b822f;
  --birei-chart-5: #c89522;
  --birei-chart-6: #cf662c;
  --birei-chart-7: #c95f4a;
  --birei-chart-8: #844158;
  --birei-chart-9: #794d65;
  --birei-chart-10: #454c87;
  --birei-chart-11: #4c5b65;
  --birei-chart-12: #2c3138;
  --birei-radius-small: 0.125rem;
  --birei-radius-base: 0.25rem;
  --birei-radius-large: 0.3rem;
  --birei-radius-huge: 1rem;
  --birei-radius-full: 999px;
  --birei-font-family: "Instrument Sans", sans-serif;
  font-family: var(--birei-font-family);
  --birei-font-size-small: 0.75rem;
  --birei-font-size: 1rem;
  --birei-font-size-h6: 1.125rem;
  --birei-font-size-h5: 1.25rem;
  --birei-font-size-h4: 1.5rem;
  --birei-font-size-h3: 2rem;
  --birei-font-size-h2: 2.5rem;
  --birei-font-size-h1: 3rem;
  --birei-font-weight-small: 300;
  --birei-font-weight: 400;
  --birei-font-weight-h6: 450;
  --birei-font-weight-h5: 500;
  --birei-font-weight-h4: 550;
  --birei-font-weight-h3: 600;
  --birei-font-weight-h2: 650;
  --birei-font-weight-h1: 700;
  --birei-z-app-chrome: 1200;
  --birei-z-modal-backdrop: 1400;
  --birei-z-popover: 1500;
  --birei-z-tooltip: 1600;
  --birei-z-notification: 9999;
  color-scheme: light;
  --birei-surface: #ffffff;
  --birei-surface-muted: var(--birei-neutral-50);
  --birei-surface-sunken: var(--birei-neutral-100);
  --birei-surface-elevated: #ffffff;
  --birei-surface-overlay: rgba(31, 42, 43, 0.5);
  --birei-surface-inverse: var(--birei-neutral-950);
  --birei-text: var(--birei-neutral-950);
  --birei-text-muted: color-mix(in srgb, var(--birei-text) 72%, transparent);
  --birei-text-subtle: color-mix(in srgb, var(--birei-text) 48%, transparent);
  --birei-text-inverse: var(--birei-neutral-50);
  --birei-accent: var(--birei-primary-700);
  --birei-accent-hover: var(--birei-primary-600);
  --birei-accent-active: var(--birei-primary-800);
  --birei-accent-contrast: #ffffff;
  --birei-accent-text: var(--birei-primary-700);
  --birei-accent-subtle: var(--birei-primary-100);
  --birei-secondary: var(--birei-secondary-500);
  --birei-secondary-text: var(--birei-secondary-600);
  --birei-border-subtle: color-mix(in srgb, var(--birei-primary-700) 12%, transparent);
  --birei-border: color-mix(in srgb, var(--birei-primary-700) 18%, transparent);
  --birei-border-strong: color-mix(in srgb, var(--birei-primary-700) 28%, transparent);
  --birei-focus-ring: color-mix(in srgb, var(--birei-primary-700) 30%, transparent);
  --birei-disabled-surface: #eef3f3;
  --birei-disabled-border: #d7e0e0;
  --birei-disabled-text: var(--birei-secondary-500);
  --birei-success: var(--birei-success-500);
  --birei-success-subtle: var(--birei-success-100);
  --birei-success-text: var(--birei-success-800);
  --birei-warning: var(--birei-warning-500);
  --birei-warning-subtle: var(--birei-warning-100);
  --birei-warning-text: var(--birei-warning-800);
  --birei-error: var(--birei-error-500);
  --birei-error-subtle: var(--birei-error-100);
  --birei-error-text: var(--birei-error-800);
  --birei-info: var(--birei-info-500);
  --birei-info-subtle: var(--birei-info-100);
  --birei-info-text: var(--birei-info-800);
  --birei-ripple: color-mix(in srgb, var(--birei-primary-700) 24%, transparent);
  --birei-ripple-on-accent: rgba(255, 255, 255, 0.28);
  --birei-logo-filter: none;
  --birei-highlight-strength: 100%;
  --birei-scrollbar-thumb: color-mix(in srgb, var(--birei-primary-700) 26%, transparent);
  --birei-scrollbar-thumb-hover: color-mix(in srgb, var(--birei-primary-700) 38%, transparent);
  --birei-shadow-soft: 0 0.35rem 0.9rem rgba(37, 84, 89, 0.08);
  --birei-shadow: 0 0.75rem 1.5rem rgba(37, 84, 89, 0.1);
  --birei-shadow-strong: 0 0.75rem 1.5rem rgba(37, 84, 89, 0.18);
  --birei-syntax-comment: #7c8b7f;
  --birei-syntax-tag: #8a4a17;
  --birei-syntax-attribute: #4c5f9e;
  --birei-syntax-string: #0b6b58;
  --birei-syntax-punctuation: #7b5c3d;
  --birei-chart-1-light: #cfe8ea;
  --birei-chart-2-light: #cfeadc;
  --birei-chart-3-light: #e8edcd;
  --birei-chart-4-light: #ece6c0;
  --birei-chart-5-light: #f6e3b2;
  --birei-chart-6-light: #f5d2b8;
  --birei-chart-7-light: #f4d3ca;
  --birei-chart-8-light: #e8cdd5;
  --birei-chart-9-light: #e2d2dc;
  --birei-chart-10-light: #d0d3e8;
  --birei-chart-11-light: #d6dde2;
  --birei-chart-12-light: #d4d6dc;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) {
    color-scheme: dark;
    --birei-surface: var(--birei-neutral-900);
    --birei-surface-muted: var(--birei-neutral-950);
    --birei-surface-sunken: var(--birei-neutral-800);
    --birei-surface-elevated: var(--birei-neutral-800);
    --birei-surface-overlay: rgba(0, 0, 0, 0.6);
    --birei-surface-inverse: var(--birei-neutral-50);
    --birei-text: var(--birei-neutral-50);
    --birei-text-inverse: var(--birei-neutral-950);
    --birei-accent: var(--birei-primary-500);
    --birei-accent-hover: var(--birei-primary-400);
    --birei-accent-active: var(--birei-primary-600);
    --birei-accent-text: var(--birei-primary-300);
    --birei-accent-subtle: var(--birei-primary-900);
    --birei-secondary: var(--birei-neutral-400);
    --birei-secondary-text: var(--birei-neutral-300);
    --birei-border-subtle: color-mix(in srgb, var(--birei-neutral-300) 12%, transparent);
    --birei-border: color-mix(in srgb, var(--birei-neutral-300) 20%, transparent);
    --birei-border-strong: color-mix(in srgb, var(--birei-neutral-300) 32%, transparent);
    --birei-focus-ring: color-mix(in srgb, var(--birei-primary-300) 40%, transparent);
    --birei-disabled-surface: var(--birei-neutral-800);
    --birei-disabled-border: var(--birei-neutral-700);
    --birei-disabled-text: var(--birei-neutral-500);
    --birei-success: var(--birei-success-400);
    --birei-success-subtle: var(--birei-success-900);
    --birei-success-text: var(--birei-success-200);
    --birei-warning: var(--birei-warning-400);
    --birei-warning-subtle: var(--birei-warning-900);
    --birei-warning-text: var(--birei-warning-200);
    --birei-error: var(--birei-error-400);
    --birei-error-subtle: var(--birei-error-900);
    --birei-error-text: var(--birei-error-200);
    --birei-info: var(--birei-info-400);
    --birei-info-subtle: var(--birei-info-900);
    --birei-info-text: var(--birei-info-200);
    --birei-ripple: color-mix(in srgb, var(--birei-primary-300) 24%, transparent);
    --birei-highlight-strength: 40%;
    --birei-chart-12: #7c8390;
    --birei-logo-filter: brightness(0) invert(0.92);
    --birei-scrollbar-thumb: color-mix(in srgb, var(--birei-neutral-300) 26%, transparent);
    --birei-scrollbar-thumb-hover: color-mix(in srgb, var(--birei-neutral-300) 40%, transparent);
    --birei-shadow-soft: 0 0.35rem 0.9rem rgba(0, 0, 0, 0.25);
    --birei-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.3);
    --birei-shadow-strong: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.4);
    --birei-syntax-comment: #8fa093;
    --birei-syntax-tag: #e0a46e;
    --birei-syntax-attribute: #9fb0e8;
    --birei-syntax-string: #6fcfb5;
    --birei-syntax-punctuation: #c9a882;
    --birei-chart-1-light: #193436;
    --birei-chart-2-light: #1c3726;
    --birei-chart-3-light: #3a401e;
    --birei-chart-4-light: #393614;
    --birei-chart-5-light: #463310;
    --birei-chart-6-light: #4b2410;
    --birei-chart-7-light: #481f17;
    --birei-chart-8-light: #381d25;
    --birei-chart-9-light: #34212b;
    --birei-chart-10-light: #1e213a;
    --birei-chart-11-light: #21262b;
    --birei-chart-12-light: #1c1f23;
  }
}
:root[data-theme=dark] {
  color-scheme: dark;
  --birei-surface: var(--birei-neutral-900);
  --birei-surface-muted: var(--birei-neutral-950);
  --birei-surface-sunken: var(--birei-neutral-800);
  --birei-surface-elevated: var(--birei-neutral-800);
  --birei-surface-overlay: rgba(0, 0, 0, 0.6);
  --birei-surface-inverse: var(--birei-neutral-50);
  --birei-text: var(--birei-neutral-50);
  --birei-text-inverse: var(--birei-neutral-950);
  --birei-accent: var(--birei-primary-500);
  --birei-accent-hover: var(--birei-primary-400);
  --birei-accent-active: var(--birei-primary-600);
  --birei-accent-text: var(--birei-primary-300);
  --birei-accent-subtle: var(--birei-primary-900);
  --birei-secondary: var(--birei-neutral-400);
  --birei-secondary-text: var(--birei-neutral-300);
  --birei-border-subtle: color-mix(in srgb, var(--birei-neutral-300) 12%, transparent);
  --birei-border: color-mix(in srgb, var(--birei-neutral-300) 20%, transparent);
  --birei-border-strong: color-mix(in srgb, var(--birei-neutral-300) 32%, transparent);
  --birei-focus-ring: color-mix(in srgb, var(--birei-primary-300) 40%, transparent);
  --birei-disabled-surface: var(--birei-neutral-800);
  --birei-disabled-border: var(--birei-neutral-700);
  --birei-disabled-text: var(--birei-neutral-500);
  --birei-success: var(--birei-success-400);
  --birei-success-subtle: var(--birei-success-900);
  --birei-success-text: var(--birei-success-200);
  --birei-warning: var(--birei-warning-400);
  --birei-warning-subtle: var(--birei-warning-900);
  --birei-warning-text: var(--birei-warning-200);
  --birei-error: var(--birei-error-400);
  --birei-error-subtle: var(--birei-error-900);
  --birei-error-text: var(--birei-error-200);
  --birei-info: var(--birei-info-400);
  --birei-info-subtle: var(--birei-info-900);
  --birei-info-text: var(--birei-info-200);
  --birei-ripple: color-mix(in srgb, var(--birei-primary-300) 24%, transparent);
  --birei-highlight-strength: 40%;
  --birei-chart-12: #7c8390;
  --birei-logo-filter: brightness(0) invert(0.92);
  --birei-scrollbar-thumb: color-mix(in srgb, var(--birei-neutral-300) 26%, transparent);
  --birei-scrollbar-thumb-hover: color-mix(in srgb, var(--birei-neutral-300) 40%, transparent);
  --birei-shadow-soft: 0 0.35rem 0.9rem rgba(0, 0, 0, 0.25);
  --birei-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.3);
  --birei-shadow-strong: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.4);
  --birei-syntax-comment: #8fa093;
  --birei-syntax-tag: #e0a46e;
  --birei-syntax-attribute: #9fb0e8;
  --birei-syntax-string: #6fcfb5;
  --birei-syntax-punctuation: #c9a882;
  --birei-chart-1-light: #193436;
  --birei-chart-2-light: #1c3726;
  --birei-chart-3-light: #3a401e;
  --birei-chart-4-light: #393614;
  --birei-chart-5-light: #463310;
  --birei-chart-6-light: #4b2410;
  --birei-chart-7-light: #481f17;
  --birei-chart-8-light: #381d25;
  --birei-chart-9-light: #34212b;
  --birei-chart-10-light: #1e213a;
  --birei-chart-11-light: #21262b;
  --birei-chart-12-light: #1c1f23;
}

/* Base button element. Colors derive from the tone, the variant decides how it is used. */
.birei-button {
  --birei-tone: var(--birei-accent);
  --birei-tone-hover: var(--birei-accent-hover);
  --birei-tone-active: var(--birei-accent-active);
  --birei-tone-contrast: var(--birei-accent-contrast);
  --birei-tone-text: var(--birei-accent-text);
  --birei-tone-ghost: var(--birei-text);
  --birei-tone-outline: var(--birei-secondary);
  --birei-button-bg: var(--birei-tone);
  --birei-button-bg-hover: var(--birei-tone-hover);
  --birei-button-bg-active: var(--birei-tone-active);
  --birei-button-border: var(--birei-tone);
  --birei-button-color: var(--birei-tone-contrast);
  --birei-button-color-hover: var(--birei-button-color);
  --birei-button-color-active: var(--birei-button-color);
  --birei-button-color-current: var(--birei-button-color);
  --birei-button-ripple-color: var(--birei-ripple-on-accent);
  --birei-button-text-shadow: none;
  --birei-button-text-shadow-hover: var(--birei-button-text-shadow);
  --birei-button-text-shadow-active: var(--birei-button-text-shadow);
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  justify-content: center;
  gap: 0.5rem;
  height: 2rem;
  border: 1px solid var(--birei-button-border);
  border-radius: var(--birei-radius-base);
  background-color: var(--birei-button-bg);
  color: var(--birei-button-color-current);
  cursor: pointer;
  font: inherit;
  font-weight: 600;
  line-height: 1;
  max-inline-size: 100%;
  min-inline-size: 0;
  overflow: hidden;
  padding: 0 1rem;
  position: relative;
  isolation: isolate;
  text-decoration: none;
  transition: background-color 160ms ease, color 120ms ease, text-shadow 160ms ease;
  text-shadow: var(--birei-button-text-shadow);
  user-select: none;
  white-space: nowrap;
}

/* Text children shrink before affixes so icons/carets keep their space. */
.birei-button > :where(:not(.birei-icon,
.birei-dropdown-button__divider,
.birei-dropdown-button__caret)) {
  min-inline-size: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Ripple layer for filled button variants. */
.birei-button::after {
  background: var(--birei-button-ripple-color);
  border-radius: 999px;
  content: "";
  height: var(--birei-ripple-size);
  left: var(--birei-ripple-x);
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: var(--birei-ripple-y);
  transform: translate(-50%, -50%) scale(0);
  width: var(--birei-ripple-size);
  z-index: 0;
}

/* Hover styles are limited to devices with real hover support. */
@media (hover: hover) and (pointer: fine) {
  .birei-button:hover:not(:disabled) {
    background-color: var(--birei-button-bg-hover);
    --birei-button-color-current: var(--birei-button-color-hover);
    text-shadow: var(--birei-button-text-shadow-hover);
  }
}
/* Pressed state shared by all button variants. */
.birei-button:active:not(:disabled) {
  background-color: var(--birei-button-bg-active);
  --birei-button-color-current: var(--birei-button-color-active);
  text-shadow: var(--birei-button-text-shadow-active);
}

.birei-button:focus {
  outline: none;
}

.birei-button:focus-visible {
  background-color: var(--birei-button-bg-hover);
  --birei-button-color-current: var(--birei-button-color-hover);
  text-shadow: var(--birei-button-text-shadow-hover);
}

/* Disabled buttons suppress interaction feedback. */
.birei-button:disabled,
.birei-button--disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

/* Tones other than the accent derive hover and pressed shades by mixing. */
.birei-button--neutral,
.birei-button--success,
.birei-button--warning,
.birei-button--danger {
  --birei-tone-hover: color-mix(in srgb, var(--birei-tone) 88%, var(--birei-text));
  --birei-tone-active: color-mix(in srgb, var(--birei-tone) 76%, var(--birei-text));
  --birei-tone-contrast: var(--birei-surface);
  --birei-tone-text: var(--birei-tone);
  --birei-tone-ghost: var(--birei-tone);
  --birei-tone-outline: color-mix(in srgb, var(--birei-tone) 60%, transparent);
}

/* Neutral tone for secondary actions. */
.birei-button--neutral {
  --birei-tone: var(--birei-secondary);
  --birei-tone-text: var(--birei-text);
  --birei-tone-ghost: var(--birei-text-muted);
  --birei-tone-outline: var(--birei-border-strong);
}

/* Positive tone. */
.birei-button--success {
  --birei-tone: var(--birei-success);
}

/* Attention tone. */
.birei-button--warning {
  --birei-tone: var(--birei-warning);
}

/* Destructive tone. */
.birei-button--danger {
  --birei-tone: var(--birei-error);
}

/* Filled button in the tone color. */
.birei-button--solid {
  --birei-button-bg: var(--birei-tone);
  --birei-button-bg-hover: var(--birei-tone-hover);
  --birei-button-bg-active: var(--birei-tone-active);
  --birei-button-border: var(--birei-tone);
  --birei-button-color: var(--birei-tone-contrast);
  --birei-button-ripple-color: var(--birei-ripple-on-accent);
}

/* Surface button with a border and tone-colored text. */
.birei-button--outline {
  --birei-button-bg: var(--birei-surface);
  --birei-button-bg-hover: var(--birei-surface-muted);
  --birei-button-bg-active: var(--birei-surface-sunken);
  --birei-button-border: var(--birei-tone-outline);
  --birei-button-color: var(--birei-tone-text);
  --birei-button-ripple-color: var(--birei-ripple);
}

/* Text-only button in the tone color. */
.birei-button--ghost {
  --birei-button-bg: transparent;
  --birei-button-bg-hover: transparent;
  --birei-button-bg-active: transparent;
  --birei-button-border: transparent;
  --birei-button-color: var(--birei-tone-ghost);
  --birei-button-color-hover: var(--birei-tone-text);
  --birei-button-color-active: var(--birei-secondary);
  --birei-button-text-shadow-hover: 0 0 0.65rem
      color-mix(in srgb, var(--birei-tone-text) 28%, transparent);
  --birei-button-text-shadow-active: var(--birei-button-text-shadow-hover);
}

/* Ghost buttons skip the surface ripple layer. */
.birei-button--ghost::after {
  content: none;
}

/* Ghost buttons keep a clear background while interacting. */
.birei-button--ghost:hover:not(:disabled),
.birei-button--ghost:active:not(:disabled) {
  background-color: transparent;
}

/* Small size variant. */
.birei-button:where(.birei-size--small) {
  height: 1.5rem;
  border-radius: var(--birei-radius-small);
  font-size: 0.875rem;
  padding: 0 0.75rem;
}

/* Default medium size variant. */
.birei-button:where(.birei-size--medium) {
  font-size: 0.95rem;
}

/* Large size variant. */
.birei-button:where(.birei-size--large) {
  height: 2.5rem;
  border-radius: var(--birei-radius-large);
  font-size: 1rem;
  padding: 0 1.25rem;
}

/* Full-width button layout. */
.birei-button--block {
  display: flex;
  width: 100%;
}

/* Pill-shaped button corners. */
.birei-button--round {
  border-radius: var(--birei-radius-full);
}

/* Circular icon-style button layout. */
.birei-button--circle {
  aspect-ratio: 1;
  border-radius: var(--birei-radius-full);
  padding-inline: 0;
  width: 2rem;
}

/* Small circular button diameter. */
.birei-button--circle.birei-button:where(.birei-size--small) {
  width: 1.5rem;
}

/* Large circular button diameter. */
.birei-button--circle.birei-button:where(.birei-size--large) {
  width: 2.5rem;
}

/* First surface ripple animation slot. */
.birei-button--ripple-a::after {
  animation: birei-button-surface-ripple-a 420ms ease-out;
}

/* Second surface ripple animation slot. */
.birei-button--ripple-b::after {
  animation: birei-button-surface-ripple-b 420ms ease-out;
}

/* Expanding surface ripple animation. */
@keyframes birei-button-surface-ripple-a {
  0% {
    opacity: 0.28;
    transform: translate(-50%, -50%) scale(0);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1);
  }
}
/* Duplicate surface ripple keyframes so the effect can restart cleanly. */
@keyframes birei-button-surface-ripple-b {
  0% {
    opacity: 0.28;
    transform: translate(-50%, -50%) scale(0);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1);
  }
}
.birei-action-card {
  align-items: center;
  background: var(--birei-surface-elevated);
  border: 1px solid var(--birei-border-subtle);
  border-radius: var(--birei-radius-large);
  box-shadow: var(--birei-shadow-soft);
  color: var(--birei-text);
  display: flex;
  flex-direction: column;
  justify-items: center;
  height: 6.875rem;
  padding: 0.5rem;
  text-align: center;
  width: 10rem;
}

.birei-action-card-upload {
  display: inline-grid;
  width: 10rem;
}

.birei-action-card-upload__card {
  width: 100%;
}

.birei-action-card-upload__card--dragging {
  background-color: var(--birei-surface-muted);
  box-shadow: var(--birei-shadow);
}

.birei-action-card-upload__card--disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.birei-action-card-upload__input {
  display: none;
}

.birei-action-card--interactive {
  --birei-action-card-ripple-color: var(--birei-ripple);
  cursor: pointer;
  isolation: isolate;
  overflow: hidden;
  position: relative;
  transition: background-color 160ms ease, border-color 120ms ease, box-shadow 160ms ease;
}

.birei-action-card--interactive::after {
  background: var(--birei-action-card-ripple-color);
  border-radius: 999px;
  content: "";
  height: var(--birei-ripple-size);
  left: var(--birei-ripple-x);
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: var(--birei-ripple-y);
  transform: translate(-50%, -50%) scale(0);
  width: var(--birei-ripple-size);
  z-index: 0;
}

@media (hover: hover) and (pointer: fine) {
  .birei-action-card--interactive:hover {
    background-color: var(--birei-surface-muted);
    box-shadow: var(--birei-shadow);
  }
}
.birei-action-card--interactive:active {
  background-color: var(--birei-surface-sunken);
}

.birei-action-card--interactive:focus-visible {
  outline: 2px solid var(--birei-accent-text);
  outline-offset: 2px;
}

.birei-action-card--ripple-a::after {
  animation: birei-action-card-ripple-a 420ms ease-out;
}

.birei-action-card--ripple-b::after {
  animation: birei-action-card-ripple-b 420ms ease-out;
}

.birei-action-card__hero {
  align-items: center;
  display: grid;
  justify-items: center;
  height: 3rem;
  min-height: 3rem;
}

.birei-action-card__icon {
  align-items: center;
  color: var(--birei-accent-text);
  display: inline-flex;
  height: 3rem;
  justify-content: center;
  width: 3rem;
}

.birei-action-card__number {
  color: var(--birei-accent-text);
  font-weight: var(--birei-font-weight-h2);
  letter-spacing: -0.03em;
  line-height: 1;
  white-space: nowrap;
}

.birei-action-card__copy {
  display: grid;
  gap: 0.18rem;
  position: relative;
  z-index: 1;
  line-height: 1.25rem;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  width: 100%;
}

.birei-action-card__title {
  color: var(--birei-text);
  font-size: var(--birei-font-size);
  font-weight: var(--birei-font-weight-h6);
  line-height: 1.15;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.birei-action-card__subtitle {
  color: var(--birei-text-muted);
  font-size: var(--birei-font-size-small);
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@keyframes birei-action-card-ripple-a {
  0% {
    opacity: 0.28;
    transform: translate(-50%, -50%) scale(0);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1);
  }
}
@keyframes birei-action-card-ripple-b {
  0% {
    opacity: 0.28;
    transform: translate(-50%, -50%) scale(0);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1);
  }
}
/* Horizontal button group container. */
.birei-button-group {
  display: inline-flex;
  align-items: stretch;
  isolation: isolate;
}

/* Reset inner button radii so adjacent buttons connect cleanly. */
.birei-button-group > .birei-button {
  border-radius: 0;
}

/* Restore the leading edge radius for the first button. */
.birei-button-group > .birei-button:first-child {
  border-bottom-left-radius: var(--birei-radius-base);
  border-top-left-radius: var(--birei-radius-base);
}

/* Restore the trailing edge radius for the last button. */
.birei-button-group > .birei-button:last-child {
  border-bottom-right-radius: var(--birei-radius-base);
  border-top-right-radius: var(--birei-radius-base);
}

/* Collapse shared borders between horizontal group items. */
.birei-button-group > .birei-button:not(:first-child) {
  margin-left: -1px;
}

/* Vertical button group layout. */
.birei-button-group--vertical {
  display: inline-flex;
  flex-direction: column;
}

/* Restore the top radius for the first vertical item. */
.birei-button-group--vertical > .birei-button:first-child {
  border-radius: var(--birei-radius-base) var(--birei-radius-base) 0 0;
}

/* Restore the bottom radius for the last vertical item. */
.birei-button-group--vertical > .birei-button:last-child {
  border-radius: 0 0 var(--birei-radius-base) var(--birei-radius-base);
}

/* Collapse shared borders between vertical group items. */
.birei-button-group--vertical > .birei-button:not(:first-child) {
  margin-left: 0;
  margin-top: -1px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.26), inset 0 2px 0 color-mix(in srgb, var(--birei-accent-text) 8%, transparent);
}

.birei-button-bar {
  align-items: center;
  display: flex;
  gap: 1rem;
  inline-size: 100%;
  min-inline-size: 0;
  overflow: hidden;
}

.birei-button-bar__button {
  flex: 0 0 auto;
  min-inline-size: 0;
}

.birei-button-bar__button.birei-button--ghost {
  border-radius: 0;
  font-weight: 500;
  gap: 0.35rem;
  height: auto;
  min-height: 1.5rem;
  padding-block: 0.21rem;
  padding-inline: 0;
}

.birei-button-bar__icon {
  flex: 0 0 auto;
}

.birei-button-bar__overflow {
  flex: 0 0 auto;
}

.birei-button-bar__overflow .birei-dropdown-button__trigger {
  gap: 0.35rem;
}

.birei-button-bar__overflow .birei-dropdown-button__trigger.birei-button--ghost {
  border-radius: 0;
  font-weight: 500;
  height: auto;
  min-height: 1.5rem;
  padding-block: 0.21rem;
  padding-inline: 0;
}

.birei-button-bar__measure {
  left: -9999px;
  pointer-events: none;
  position: absolute;
  top: 0;
  visibility: hidden;
}

/* Surface card with optional collapsible header. */
.birei-card {
  --birei-card-radius: var(--birei-radius-huge);
  --birei-card-bg: color-mix(
      in srgb,
      var(--birei-surface-elevated) 96%,
      var(--birei-surface) 4%
  );
  --birei-card-border: var(--birei-border-subtle);
  --birei-card-shadow: var(--birei-shadow);
  --birei-card-header-color: var(--birei-text);
  --birei-card-header-hover: color-mix(
      in srgb,
      var(--birei-accent-text) 5%,
      transparent
  );
  --birei-card-header-icon: var(--birei-secondary);
  --birei-card-header-padding: 1.35rem 1.35rem 0.95rem;
  --birei-card-body-padding: 0.3rem 1.35rem 1.35rem;
  --birei-card-body-padding-plain: 1.35rem;
  background: var(--birei-card-bg);
  border: 1px solid var(--birei-card-border);
  border-radius: var(--birei-card-radius);
  box-sizing: border-box;
  box-shadow: var(--birei-card-shadow);
  display: grid;
  margin-block-end: 1rem;
  min-inline-size: 0;
  overflow: hidden;
  padding: 0;
}

.birei-card__header {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: var(--birei-card-radius);
  color: var(--birei-card-header-color);
  cursor: pointer;
  display: flex;
  font: inherit;
  justify-content: space-between;
  margin: 0;
  min-height: 2rem;
  min-inline-size: 0;
  box-sizing: border-box;
  padding: var(--birei-card-header-padding);
  text-align: left;
  width: 100%;
}

.birei-card__header-main {
  align-items: center;
  display: inline-flex;
  gap: 0.5rem;
  min-width: 0;
}

.birei-card__header-icon {
  color: var(--birei-card-header-icon);
  transition: transform 180ms ease;
}

.birei-card__header-icon--open {
  transform: rotate(90deg);
}

.birei-card__header-title {
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.05;
}

.birei-card__body-wrap {
  display: block;
  height: auto;
  margin: 0;
  min-height: 0;
  min-inline-size: 0;
  overflow: visible;
  opacity: 1;
  transition: height 220ms ease, opacity 160ms ease;
}

.birei-card__body {
  display: grid;
  gap: var(--birei-card-body-gap, 0);
  margin: 0;
  min-height: 0;
  min-inline-size: 0;
  overflow: visible;
  padding: var(--birei-card-body-padding);
}

.birei-card:not(.birei-card--collapsible) .birei-card__body {
  padding: var(--birei-card-body-padding-plain);
}

@media (hover: hover) and (pointer: fine) {
  .birei-card__header:hover {
    background: var(--birei-card-header-hover);
  }
}
.birei-chart {
  --birei-chart-height: 20rem;
  --birei-chart-radius: var(--birei-radius-huge);
  --birei-chart-bar-radius: 4;
  --birei-chart-bg: color-mix(
      in srgb,
      var(--birei-surface) 94%,
      var(--birei-surface) 6%
  );
  --birei-chart-border: color-mix(
      in srgb,
      var(--birei-border) 78%,
      transparent
  );
  --birei-chart-axis: color-mix(
      in srgb,
      var(--birei-text) 32%,
      transparent
  );
  --birei-chart-grid: color-mix(
      in srgb,
      var(--birei-text) 12%,
      transparent
  );
  --birei-chart-label: color-mix(
      in srgb,
      var(--birei-text) 68%,
      transparent
  );
  --birei-chart-text: var(--birei-text);
  --birei-chart-surface-shadow: 0 16px 36px rgba(17, 24, 39, 0.08);
  --birei-chart-accent: var(--birei-accent-text);
  --birei-chart-line-length: 1;
  background: radial-gradient(circle at top left, color-mix(in srgb, var(--birei-surface) 22%, transparent), transparent 38%), linear-gradient(180deg, color-mix(in srgb, var(--birei-chart-bg) 86%, var(--birei-surface) 14%) 0%, var(--birei-chart-bg) 100%);
  border: 1px solid var(--birei-chart-border);
  border-radius: var(--birei-chart-radius);
  box-shadow: var(--birei-chart-surface-shadow);
  color: var(--birei-chart-text);
  display: grid;
  gap: 1rem;
  min-width: 0;
  overflow: hidden;
  padding: 1rem;
}

.birei-chart--legend-top-left {
  align-items: start;
}

.birei-chart--legend-top .birei-chart__legend,
.birei-chart--legend-top-left .birei-chart__legend {
  justify-content: flex-start;
  order: -1;
}

.birei-chart--legend-top .birei-chart__legend {
  justify-content: center;
}

.birei-chart--legend-top-right .birei-chart__legend {
  justify-content: flex-end;
  order: -1;
}

.birei-chart--legend-left,
.birei-chart--legend-right {
  align-items: center;
  column-gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) auto;
}

.birei-chart--legend-left {
  grid-template-columns: auto minmax(0, 1fr);
}

.birei-chart--legend-left .birei-chart__legend,
.birei-chart--legend-right .birei-chart__legend {
  align-content: center;
  flex-direction: column;
  justify-content: center;
  min-width: 9rem;
}

.birei-chart--legend-left .birei-chart__legend {
  order: -1;
}

.birei-chart--legend-bottom-left .birei-chart__legend,
.birei-chart--legend-bottom .birei-chart__legend {
  justify-content: flex-start;
}

.birei-chart--legend-bottom .birei-chart__legend {
  justify-content: center;
}

.birei-chart--legend-bottom-right .birei-chart__legend {
  justify-content: flex-end;
}

.birei-chart--legend-none {
  gap: 0;
}

.birei-chart__svg {
  display: block;
  height: var(--birei-chart-height);
  overflow: visible;
  width: 100%;
}

.birei-chart__svg--pie {
  margin-inline: auto;
  max-width: min(100%, 20rem);
}

.birei-chart__grid-line {
  stroke: var(--birei-chart-grid);
  stroke-dasharray: 6 10;
  stroke-width: 1;
}

.birei-chart__axis {
  stroke: var(--birei-chart-axis);
  stroke-width: 1.25;
}

.birei-chart__axis-label {
  fill: var(--birei-chart-label);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.birei-chart__bar {
  fill: var(--birei-chart-series-color);
  opacity: 0.95;
  transform: scaleY(0);
  transform-box: fill-box;
  transform-origin: center bottom;
  transition: transform 620ms cubic-bezier(0.2, 0.78, 0.2, 1);
}

.birei-chart__bar-sheen {
  fill: url(#birei-chart-bar-gradient);
  opacity: 0.65;
  pointer-events: none;
  transform: scaleY(0);
  transform-box: fill-box;
  transform-origin: center bottom;
  transition: transform 620ms cubic-bezier(0.2, 0.78, 0.2, 1);
}

.birei-chart__line {
  fill: none;
  stroke: var(--birei-chart-series-color);
  stroke-dasharray: var(--birei-chart-line-length);
  stroke-dashoffset: var(--birei-chart-line-length);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 4;
  transition: stroke-dashoffset 720ms cubic-bezier(0.2, 0.78, 0.2, 1);
}

.birei-chart__point {
  fill: var(--birei-chart-series-color);
  stroke: none;
  transform: scale(0);
  transform-box: fill-box;
  transform-origin: center;
  transition: transform 420ms cubic-bezier(0.18, 0.89, 0.32, 1.28);
}

.birei-chart__slice {
  fill: var(--birei-chart-series-color);
  stroke: color-mix(in srgb, var(--birei-surface) 82%, transparent);
  stroke-width: 2.5;
  transform: scale(0.78);
  transform-box: fill-box;
  transform-origin: center;
  transition: transform 640ms cubic-bezier(0.18, 0.89, 0.32, 1.18);
}

.birei-chart--entered .birei-chart__bar,
.birei-chart--entered .birei-chart__bar-sheen,
.birei-chart--entered .birei-chart__slice {
  transform: scale(1);
}

.birei-chart--entered .birei-chart__line {
  stroke-dashoffset: 0;
}

.birei-chart--entered .birei-chart__point {
  transform: scale(1);
}

.birei-chart__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 1rem;
}

.birei-chart__legend-item {
  align-items: center;
  display: inline-flex;
  gap: 0.5rem;
  min-width: 0;
}

.birei-chart__legend-swatch {
  background: var(--birei-chart-series-color);
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
  display: inline-block;
  flex: 0 0 auto;
  height: 0.7rem;
  width: 0.7rem;
}

.birei-chart__legend-swatch--line {
  border-radius: 999px;
  height: 0.22rem;
  width: 1.25rem;
}

.birei-chart__legend-label {
  color: var(--birei-chart-text);
  font-size: var(--birei-font-size-small);
  font-weight: var(--birei-font-weight-h6);
  line-height: 1.2;
}

.birei-chart__pie-wrap {
  display: grid;
  place-items: center;
  position: relative;
}

.birei-chart__center {
  align-items: center;
  display: grid;
  inset: 50% auto auto 50%;
  justify-items: center;
  pointer-events: none;
  position: absolute;
  transform: translate(-50%, -50%);
}

.birei-chart__center-label {
  color: var(--birei-chart-label);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.birei-chart__center-value {
  color: var(--birei-chart-text);
  font-size: 1.75rem;
  line-height: 1;
}

.birei-chart__popup {
  --birei-chart-popup-bg: color-mix(in srgb, var(--birei-surface-inverse) 96%, transparent);
  --birei-chart-popup-border: color-mix(in srgb, var(--birei-text-inverse) 8%, transparent);
  --birei-chart-popup-color: var(--birei-text-inverse);
  background: var(--birei-chart-popup-bg);
  border: 1px solid var(--birei-chart-popup-border);
  border-radius: 0.85rem;
  box-shadow: var(--birei-shadow-strong);
  color: var(--birei-chart-popup-color);
  display: grid;
  gap: 0.22rem;
  max-width: min(18rem, 100vw - 1rem);
  padding: 0.55rem 0.7rem;
  pointer-events: none;
  position: fixed;
  z-index: var(--birei-z-tooltip, 1600);
}

.birei-chart__popup-title {
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.25;
}

.birei-chart__popup-row {
  align-items: center;
  display: flex;
  gap: 0.55rem;
  justify-content: space-between;
  line-height: 1.35;
}

.birei-chart__popup-label {
  color: color-mix(in srgb, var(--birei-text-inverse) 72%, transparent);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1;
  text-transform: uppercase;
}

.birei-chart__popup-value {
  line-height: 1;
}

@media (prefers-reduced-motion: reduce) {
  .birei-chart__bar,
  .birei-chart__bar-sheen,
  .birei-chart__line,
  .birei-chart__point,
  .birei-chart__slice {
    transition: none;
  }
  .birei-chart__bar,
  .birei-chart__bar-sheen,
  .birei-chart__point,
  .birei-chart__slice {
    transform: none;
  }
  .birei-chart__line {
    stroke-dasharray: none;
    stroke-dashoffset: 0;
  }
}
@media (max-width: 640px) {
  .birei-chart {
    padding: 0.85rem;
  }
  .birei-chart__svg {
    height: min(var(--birei-chart-height), 18rem);
  }
  .birei-chart__legend {
    gap: 0.55rem 0.85rem;
  }
}
/* Native checkbox styled to match the existing input system. */
.birei-checkbox {
  --birei-checkbox-border-invalid: var(--birei-error);
  --birei-checkbox-bg-disabled: color-mix(
      in srgb,
      var(--birei-disabled-surface) 90%,
      var(--birei-surface) 10%
  );
  --birei-checkbox-label-color-disabled: var(--birei-disabled-text);
  --birei-checkbox-border: color-mix(in srgb, var(--birei-accent-text) 26%, transparent);
  --birei-checkbox-border-hover: color-mix(in srgb, var(--birei-accent-text) 54%, transparent);
  --birei-checkbox-border-focus: var(--birei-accent-text);
  --birei-checkbox-bg: var(--birei-surface);
  --birei-checkbox-bg-checked: var(--birei-accent);
  --birei-checkbox-check-color: var(--birei-accent-contrast);
  --birei-checkbox-label-color: var(--birei-text);
  --birei-checkbox-box-size: 1rem;
  align-items: start;
  color: var(--birei-checkbox-label-color);
  display: inline-grid;
  gap: 0.8rem;
  grid-template-columns: var(--birei-checkbox-box-size) minmax(0, 1fr);
  line-height: 1.35;
  position: relative;
  width: 100%;
}

.birei-checkbox__native {
  appearance: none;
  align-self: start;
  cursor: pointer;
  grid-column: 1;
  grid-row: 1;
  height: var(--birei-checkbox-box-size);
  margin: 0;
  opacity: 0;
  outline: none;
  width: var(--birei-checkbox-box-size);
}

.birei-checkbox__control {
  align-self: start;
  background: var(--birei-checkbox-bg);
  border: 1px solid var(--birei-checkbox-border);
  border-radius: var(--birei-radius-base);
  display: grid;
  grid-column: 1;
  grid-row: 1;
  height: var(--birei-checkbox-box-size);
  place-items: center;
  pointer-events: none;
  margin-top: 0.12rem;
  transform: scale(1);
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 180ms ease, transform 180ms ease, opacity 160ms ease;
  width: var(--birei-checkbox-box-size);
}

.birei-checkbox__check {
  display: block;
  height: calc(var(--birei-checkbox-box-size) * 0.72);
  overflow: visible;
  transform: scale(0.82);
  transform-origin: center;
  transition: transform 180ms ease;
  width: calc(var(--birei-checkbox-box-size) * 0.72);
}

.birei-checkbox__check path {
  stroke: var(--birei-checkbox-check-color);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.1;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  opacity: 0;
  transition: stroke-dashoffset 170ms ease, opacity 120ms ease;
}

.birei-checkbox__label {
  align-self: start;
  color: inherit;
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  padding-top: 0.02rem;
}

.birei-checkbox__label strong {
  color: var(--birei-accent-text);
}

.birei-checkbox__label p {
  margin: 0;
}

@media (hover: hover) and (pointer: fine) {
  .birei-checkbox:hover:not(.birei-checkbox--disabled):not(.birei-checkbox--readonly) .birei-checkbox__control,
  .birei-checkbox:not(.birei-checkbox--readonly) .birei-checkbox__native:hover:not(:disabled) + .birei-checkbox__control {
    border-color: var(--birei-checkbox-border-hover);
  }
}
.birei-checkbox:focus-within .birei-checkbox__control {
  border-color: var(--birei-checkbox-border-focus);
}

.birei-checkbox__native:active + .birei-checkbox__control,
.birei-checkbox:has(.birei-checkbox__native:checked) .birei-checkbox__control {
  transform: scale(1.02);
}

.birei-checkbox:has(.birei-checkbox__native:checked) .birei-checkbox__control {
  background: var(--birei-checkbox-bg-checked);
  border-color: var(--birei-checkbox-bg-checked);
}

.birei-checkbox:has(.birei-checkbox__native:checked) .birei-checkbox__check path {
  opacity: 1;
  stroke-dashoffset: 0;
}

.birei-checkbox:has(.birei-checkbox__native:checked) .birei-checkbox__check {
  transform: scale(1);
}

.birei-checkbox--invalid {
  --birei-checkbox-border: var(--birei-checkbox-border-invalid);
  --birei-checkbox-border-hover: var(--birei-checkbox-border-invalid);
  --birei-checkbox-border-focus: var(--birei-checkbox-border-invalid);
  --birei-checkbox-bg-checked: var(--birei-error);
}

.birei-checkbox--disabled {
  --birei-checkbox-bg: var(--birei-checkbox-bg-disabled);
  --birei-checkbox-label-color: var(--birei-checkbox-label-color-disabled);
}

.birei-checkbox--readonly {
  --birei-checkbox-border: var(--birei-border-strong);
  --birei-checkbox-border-hover: var(--birei-border-strong);
}

.birei-checkbox--readonly .birei-checkbox__native {
  cursor: default;
}

.birei-checkbox--disabled .birei-checkbox__native {
  cursor: not-allowed;
}

.birei-checkbox--disabled .birei-checkbox__control {
  box-shadow: none;
  opacity: 0.9;
}

.birei-checkbox:where(.birei-size--small) {
  --birei-checkbox-box-size: 0.875rem;
  gap: 0.65rem;
  font-size: 0.875rem;
}

.birei-checkbox:where(.birei-size--medium) {
  font-size: 0.95rem;
}

.birei-checkbox:where(.birei-size--large) {
  --birei-checkbox-box-size: 1.125rem;
  gap: 0.9rem;
  font-size: 1rem;
}

.birei-color-input {
  position: relative;
  width: 100%;
}

.birei-color-input__native {
  appearance: none;
  block-size: 100%;
  border: 0;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  pointer-events: none;
}

.birei-color-input__native--preview {
  inset-block: 0;
  inset-inline-start: 0;
  inline-size: 3rem;
}

.birei-color-input__native--trigger {
  inset-block: 0;
  inset-inline-end: 0;
  inline-size: 3rem;
}

.birei-color-input__field {
  min-width: 0;
}

.birei-input__affix:has(> .birei-color-input__preview) {
  align-self: stretch;
  color: inherit;
  gap: 0;
  position: relative;
}

.birei-input__affix--prefix:has(> .birei-color-input__preview) {
  border-right: 1px solid var(--birei-border-subtle);
  margin-left: calc(var(--birei-input-inline-padding) * -1);
}

.birei-color-input__preview {
  --birei-color-input-preview: var(--birei-surface);
  appearance: none;
  background: transparent;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  height: auto;
  min-height: 100%;
  margin: 0;
  padding: 0;
  width: 2.5rem;
}

.birei-color-input__preview:disabled {
  cursor: not-allowed;
}

.birei-color-input__preview-swatch {
  background: linear-gradient(45deg, color-mix(in srgb, var(--birei-accent-text) 8%, transparent) 25%, transparent 25%) -0.25rem 0/0.5rem 0.5rem, linear-gradient(-45deg, color-mix(in srgb, var(--birei-accent-text) 8%, transparent) 25%, transparent 25%) -0.25rem 0/0.5rem 0.5rem, linear-gradient(45deg, transparent 75%, color-mix(in srgb, var(--birei-accent-text) 8%, transparent) 75%) -0.25rem 0/0.5rem 0.5rem, linear-gradient(-45deg, transparent 75%, color-mix(in srgb, var(--birei-accent-text) 8%, transparent) 75%) -0.25rem 0/0.5rem 0.5rem;
  border: 1px solid var(--birei-border);
  border-radius: 0;
  border-width: 0 1px 0 0;
  display: block;
  flex: 1 1 auto;
  min-height: 100%;
  overflow: hidden;
  position: relative;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
  width: 100%;
}

.birei-color-input__preview-swatch::before {
  background: var(--birei-color-input-preview);
  content: "";
  inset: 0;
  position: absolute;
}

@media (hover: hover) and (pointer: fine) {
  .birei-color-input__preview:hover:not(:disabled) .birei-color-input__preview-swatch {
    border-color: color-mix(in srgb, var(--birei-accent-text) 34%, transparent);
    transform: scale(1.04);
  }
}
.birei-color-input__preview:focus-visible {
  outline: none;
}

.birei-color-input__preview:focus-visible .birei-color-input__preview-swatch,
.birei-input:focus-within .birei-color-input__preview-swatch {
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.18);
}

.birei-color-input__trigger .birei-icon {
  color: var(--birei-secondary);
}

.birei-input:where(.birei-size--small) .birei-color-input__preview {
  width: 2rem;
}

.birei-input:where(.birei-size--large) .birei-color-input__preview {
  width: 3rem;
}

.birei-input:where(.birei-size--small) .birei-color-input__native--preview,
.birei-input:where(.birei-size--small) .birei-color-input__native--trigger {
  inline-size: 2.5rem;
}

.birei-input:where(.birei-size--large) .birei-color-input__native--preview,
.birei-input:where(.birei-size--large) .birei-color-input__native--trigger {
  inline-size: 3.75rem;
}

.birei-command {
  align-self: center;
  position: relative;
  vertical-align: middle;
  --birei-command-bg: var(--birei-surface);
  --birei-command-border: var(--birei-border);
  --birei-command-color: var(--birei-text);
  --birei-command-muted: var(--birei-secondary);
  --birei-command-placeholder: var(--birei-text-subtle);
  --birei-command-line-color: var(--birei-accent-text);
  --birei-command-line-resting: var(--birei-text-muted);
  --birei-command-ripple: color-mix(
      in srgb,
      var(--birei-accent-text) 16%,
      transparent
  );
  --birei-command-item-hover: color-mix(
      in srgb,
      var(--birei-accent-text) 8%,
      transparent
  );
  --birei-command-item-active: color-mix(
      in srgb,
      var(--birei-accent-text) 14%,
      transparent
  );
  --birei-command-line-origin: 50%;
  --birei-ripple-x: 50%;
  --birei-ripple-y: 50%;
  --birei-ripple-size: 0px;
  display: inline-flex;
  min-inline-size: min(22rem, 100%);
}

.birei-command__trigger {
  align-items: center;
  appearance: none;
  background: var(--birei-command-bg);
  border: 1px solid var(--birei-command-border);
  border-radius: var(--birei-radius-full);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--birei-surface) 72%, transparent);
  color: var(--birei-command-color);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  gap: 0.6rem;
  height: 2rem;
  min-inline-size: 100%;
  overflow: hidden;
  padding: 0 0.45rem 0 0.75rem;
  position: relative;
  text-align: left;
  transition: border-color 140ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.birei-command__trigger::after {
  background: var(--birei-command-ripple);
  border-radius: 999px;
  content: "";
  height: var(--birei-ripple-size);
  left: var(--birei-ripple-x);
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: var(--birei-ripple-y);
  transform: translate(-50%, -50%) scale(0);
  width: var(--birei-ripple-size);
  z-index: 0;
}

.birei-command__trigger > * {
  position: relative;
  z-index: 1;
}

.birei-command__trigger-line {
  background: var(--birei-command-line-resting);
  block-size: 1px;
  border-radius: 999px;
  bottom: 0;
  content: "";
  inline-size: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

.birei-command__trigger-line::after {
  background: var(--birei-command-line-color);
  block-size: 2px;
  border-radius: inherit;
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  transform: scaleX(0);
  transform-origin: var(--birei-command-line-origin) center;
  transition: transform 210ms ease-out;
}

.birei-command__trigger:focus-visible {
  outline: none;
}

.birei-command__trigger:focus-visible .birei-command__trigger-line::after,
.birei-command__trigger--active .birei-command__trigger-line::after {
  transform: scaleX(1);
}

.birei-command__shortcut,
.birei-command__dialog-shortcut,
.birei-command__item-shortcut {
  --birei-tag-bg: color-mix(
      in srgb,
      var(--birei-surface-muted) 70%,
      transparent
  );
  --birei-tag-color: var(--birei-command-muted);
  border: 1px solid var(--birei-border-subtle);
  border-radius: 0.45rem;
  font: inherit;
  font-size: 0.75em;
  font-weight: 700;
  line-height: 1;
  min-block-size: 1.25rem;
  padding: 0 0.4rem;
  white-space: nowrap;
}

.birei-command__item-icon .birei-command__item-shortcut--leading {
  display: none;
}

.birei-command__prompt-tag {
  flex: 0 0 auto;
  font-weight: 650;
}

.birei-command__trigger--ripple-a::after {
  animation: birei-command-trigger-ripple-a 420ms ease-out;
}

.birei-command__trigger--ripple-b::after {
  animation: birei-command-trigger-ripple-b 420ms ease-out;
}

.birei-command__dropdown {
  background: var(--birei-surface-elevated);
  border: 1px solid var(--birei-border-subtle);
  border-radius: var(--birei-radius-huge);
  box-shadow: var(--birei-shadow-strong);
  color: inherit;
  display: grid;
  inline-size: 100%;
  inset-block-start: 100%;
  inset-inline-start: 0;
  margin-block-start: 0.25rem;
  max-block-size: min(34rem, 100vh - 100% - 2rem);
  overflow: hidden;
  position: absolute;
  z-index: var(--birei-z-popover, 1500);
}

.birei-command__field-wrapper {
  align-items: stretch;
  align-self: stretch;
  display: flex;
  flex: 1 1 0%;
  min-inline-size: 4rem;
  position: relative;
}

.birei-command__field {
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--birei-command-color);
  flex: 1 1 auto;
  font: inherit;
  font-size: 0.95rem;
  min-inline-size: 0;
  outline: none;
  padding: 0;
  position: relative;
  width: 100%;
  z-index: 1;
}

.birei-command__suggestion {
  align-items: center;
  color: var(--birei-command-placeholder);
  display: flex;
  font: inherit;
  font-size: 0.95rem;
  inset: 0;
  padding: 0;
  pointer-events: none;
  position: absolute;
  white-space: pre;
  z-index: 0;
}

.birei-command__suggestion-prefix {
  visibility: hidden;
}

.birei-command__field::placeholder {
  color: var(--birei-command-placeholder);
}

.birei-command__list {
  scrollbar-color: var(--birei-scrollbar-thumb) transparent;
  scrollbar-width: thin;
}
.birei-command__list::-webkit-scrollbar {
  height: 0.7rem;
  width: 0.7rem;
}
.birei-command__list::-webkit-scrollbar-track {
  background: transparent;
}
.birei-command__list::-webkit-scrollbar-thumb {
  background: var(--birei-scrollbar-thumb);
  background-clip: padding-box;
  border: 0.15rem solid transparent;
  border-radius: 999px;
}
@media (hover: hover) and (pointer: fine) {
  .birei-command__list::-webkit-scrollbar-thumb:hover {
    background: var(--birei-scrollbar-thumb-hover);
    background-clip: padding-box;
    border: 0.15rem solid transparent;
  }
}
.birei-command__list {
  display: grid;
  gap: 0.15rem;
  max-block-size: 26rem;
  overflow-x: clip;
  overflow-y: auto;
  padding: 0.35rem;
}

.birei-command__section {
  display: grid;
  gap: 0.2rem;
}

.birei-command__section + .birei-command__section {
  margin-block-start: 0.15rem;
}

.birei-command__section-title {
  color: var(--birei-command-muted);
  font-size: 0.68rem;
  font-weight: 700;
  padding: 0.25rem 0.6rem 0.15rem;
  text-transform: uppercase;
}

.birei-command__item {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: calc(var(--birei-radius-huge) - 0.25rem);
  color: inherit;
  cursor: pointer;
  display: grid;
  font: inherit;
  gap: 0.75rem;
  grid-template-columns: 1.25rem minmax(0, 1fr) auto;
  min-block-size: 2.25rem;
  padding: 0.4rem 0.6rem;
  position: relative;
  text-align: left;
  transition: background-color 120ms ease, box-shadow 120ms ease, color 120ms ease;
  width: 100%;
}

.birei-command__item-icon {
  align-items: center;
  color: var(--birei-command-muted);
  display: inline-flex;
  justify-content: center;
}

.birei-command__item-icon-glyph {
  align-items: center;
  display: inline-flex;
  justify-content: center;
}

.birei-command__item-body {
  align-items: baseline;
  display: grid;
  gap: 0.5rem;
  grid-template-columns: max-content minmax(0, 1fr);
  min-inline-size: 0;
}

.birei-command__item-name,
.birei-command__item-description {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.birei-command__item-name {
  font-weight: 650;
  line-height: 1.2;
  max-inline-size: 100%;
  white-space: nowrap;
}

.birei-command__item-description {
  color: var(--birei-command-muted);
  font-size: 0.82rem;
  line-height: 1.2;
}

.birei-command__empty,
.birei-command__loading {
  color: var(--birei-command-muted);
  font-size: 0.88rem;
}

.birei-command__item--active {
  background: var(--birei-command-item-hover);
}

.birei-command__item:active:not(:disabled) {
  background: var(--birei-command-item-active);
}

.birei-command__item--disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.birei-command__empty,
.birei-command__loading {
  padding: 1.35rem;
  text-align: center;
}

@media (max-width: 640px) {
  .birei-command__dropdown {
    inline-size: min(42rem, 100vw - 1.5rem);
    inset-inline-start: 50%;
    margin-block-start: 0.4rem;
    max-block-size: calc(100vh - 1.5rem);
    transform: translateX(-50%);
    width: min(42rem, 100vw - 1.5rem);
  }
}
.birei-command--small {
  font-size: 0.875rem;
}

.birei-command--small .birei-command__trigger {
  height: 1.5rem;
  padding-inline: 0.55rem 0.35rem;
}

.birei-command--large {
  font-size: 1rem;
}

.birei-command--large .birei-command__trigger {
  height: 2.5rem;
  padding-inline: 0.95rem 0.5rem;
}

.birei-command--disabled {
  opacity: 0.6;
}

.birei-command--disabled .birei-command__trigger {
  cursor: not-allowed;
}

@media (hover: hover) and (pointer: fine) {
  .birei-command__trigger:hover:not(:disabled) {
    border-color: color-mix(in srgb, var(--birei-accent-text) 50%, transparent);
  }
  .birei-command__item:hover:not(:disabled) {
    background: var(--birei-command-item-hover);
  }
}
.birei-command--small .birei-command__trigger {
  height: 1.5rem;
  padding-inline: 0.55rem 0.35rem;
}

.birei-command--large {
  font-size: 1rem;
}

.birei-command--large .birei-command__trigger {
  height: 2.5rem;
  padding-inline: 0.95rem 0.5rem;
}

@keyframes birei-command-trigger-ripple-a {
  0% {
    opacity: 0.3;
    transform: translate(-50%, -50%) scale(0);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1);
  }
}
@keyframes birei-command-trigger-ripple-b {
  0% {
    opacity: 0.3;
    transform: translate(-50%, -50%) scale(0);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1);
  }
}
@media (max-width: 40rem) {
  .birei-command {
    min-inline-size: 100%;
  }
  .birei-command__item {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.55rem;
  }
  .birei-command__item-body {
    grid-column: 2;
    grid-row: 1;
    min-inline-size: 0;
  }
  .birei-command__item-shortcut {
    display: none;
  }
  .birei-command__item-icon .birei-command__item-shortcut--leading {
    align-self: center;
    display: inline-flex;
    min-block-size: 1.2rem;
    padding: 0 0.35rem;
  }
  .birei-command__item-icon--has-shortcut .birei-command__item-icon-glyph {
    display: none;
  }
}
.birei-code-editor {
  --birei-code-editor-bg: var(--birei-surface);
  --birei-code-editor-border: var(--birei-border);
  --birei-code-editor-border-invalid: var(--birei-error);
  --birei-code-editor-color: var(--birei-text);
  --birei-code-editor-placeholder: var(--birei-text-subtle);
  --birei-code-editor-line-color: var(--birei-accent-text);
  --birei-code-editor-line-color-current: var(--birei-code-editor-line-color);
  --birei-code-editor-line-resting-current: var(--birei-text-muted);
  --birei-code-editor-line-origin: 50%;
  --birei-code-editor-muted: color-mix(
      in srgb,
      var(--birei-code-editor-color) 45%,
      transparent
  );
  --birei-code-editor-panel: color-mix(
      in srgb,
      var(--birei-code-editor-bg) 92%,
      var(--birei-text) 8%
  );
  --birei-code-editor-popup-bg: color-mix(
      in srgb,
      var(--birei-code-editor-bg) 98%,
      var(--birei-surface) 2%
  );
  --birei-code-editor-popup-border: color-mix(
      in srgb,
      var(--birei-code-editor-border) 88%,
      var(--birei-border)
  );
  --birei-code-editor-font:
      ui-monospace, "SFMono-Regular", "SF Mono", Consolas, "Liberation Mono",
      Menlo, monospace;
  --birei-code-editor-line-height: 1.55;
  --birei-code-editor-inline-padding: 0.85rem;
  --birei-code-editor-block-padding: 0.75rem;
  --birei-code-editor-gutter-width: 3rem;
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--birei-surface) 72%, transparent);
  border: 1px solid var(--birei-code-editor-border);
  border-radius: var(--birei-radius-base);
  box-sizing: border-box;
  color: var(--birei-code-editor-color);
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  height: 100%;
  max-height: 100%;
  max-width: 100%;
  min-height: var(--birei-code-editor-content-height, 6rem);
  min-width: 0;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.birei-code-editor::after {
  background: var(--birei-code-editor-line-color-current);
  border-radius: 999px;
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  transform: scaleX(0);
  transform-origin: var(--birei-code-editor-line-origin) center;
  transition: transform 210ms ease-out;
  z-index: 3;
}

.birei-code-editor::before {
  background: var(--birei-code-editor-line-resting-current);
  border-radius: 999px;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  z-index: 2;
}

.birei-code-editor:focus-within {
  border-color: var(--birei-code-editor-border);
}

.birei-code-editor:focus-within:not(.birei-code-editor--readonly):not(.birei-code-editor--disabled)::after {
  transform: scaleX(1);
}

.birei-code-editor--invalid {
  --birei-code-editor-line-resting-current: var(
      --birei-code-editor-border-invalid
  );
  --birei-code-editor-line-color-current: var(
      --birei-code-editor-border-invalid
  );
  border-color: var(--birei-code-editor-border-invalid);
}

.birei-code-editor__surface {
  align-self: stretch;
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  max-width: 100%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.birei-code-editor__surface--with-gutter {
  grid-template-columns: var(--birei-code-editor-gutter-width) minmax(0, 1fr);
}

.birei-code-editor__gutter {
  align-self: stretch;
  background: color-mix(in srgb, var(--birei-code-editor-bg) 95%, var(--birei-text) 5%);
  border-inline-end: 1px solid color-mix(in srgb, var(--birei-code-editor-border) 70%, transparent);
  box-sizing: border-box;
  color: var(--birei-code-editor-muted);
  font-family: var(--birei-code-editor-font);
  font-size: 0.92rem;
  height: 100%;
  contain: strict;
  line-height: var(--birei-code-editor-line-height);
  max-height: 100%;
  min-height: 0;
  min-width: var(--birei-code-editor-gutter-width);
  overflow: hidden;
  padding: var(--birei-code-editor-block-padding) 0.5rem;
  text-align: end;
  user-select: none;
}

.birei-code-editor__line-number {
  display: block;
}

/* One overlay row per text line; empty lines keep their height. */
.birei-code-editor__line {
  min-height: calc(var(--birei-code-editor-line-height) * 1em);
}

.birei-code-editor__viewport {
  align-self: stretch;
  display: grid;
  grid-column: 1/-1;
  grid-template-rows: minmax(0, 1fr);
  max-height: 100%;
  max-width: 100%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.birei-code-editor__surface--with-gutter .birei-code-editor__viewport {
  grid-column: 2;
}

.birei-code-editor__highlight,
.birei-code-editor__diagnostics,
.birei-code-editor__input,
.birei-code-editor__measure,
.birei-code-editor__highlight-content,
.birei-code-editor__diagnostics-content,
.birei-code-editor__measure-content {
  box-sizing: border-box;
  font-family: var(--birei-code-editor-font);
  font-size: 0.92rem;
  line-height: var(--birei-code-editor-line-height);
  min-height: 0;
  tab-size: 2;
}

.birei-code-editor__input,
.birei-code-editor__highlight-content,
.birei-code-editor__diagnostics-content,
.birei-code-editor__measure-content {
  padding: var(--birei-code-editor-block-padding) var(--birei-code-editor-inline-padding);
}

.birei-code-editor__highlight,
.birei-code-editor__diagnostics,
.birei-code-editor__measure {
  height: 100%;
  inset: 0;
  max-height: 100%;
  max-width: 100%;
  position: absolute;
  width: 100%;
}

.birei-code-editor__highlight {
  background: var(--birei-code-editor-bg);
  color: var(--birei-code-editor-color);
  overflow: hidden;
  pointer-events: none;
}

.birei-code-editor__measure {
  overflow: hidden;
  pointer-events: none;
  visibility: hidden;
}

/* Transparent copy of the text that only draws the diagnostic underlines. */
.birei-code-editor__diagnostics {
  color: transparent;
  overflow: hidden;
  pointer-events: none;
}

.birei-code-editor__diagnostic {
  text-decoration-line: underline;
  text-decoration-skip-ink: none;
  text-decoration-style: wavy;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.birei-code-editor__diagnostic--error {
  text-decoration-color: var(--birei-error);
}

.birei-code-editor__diagnostic--warning {
  text-decoration-color: var(--birei-warning);
}

.birei-code-editor__diagnostic--info {
  text-decoration-color: var(--birei-info);
}

.birei-code-editor__highlight-content,
.birei-code-editor__diagnostics-content,
.birei-code-editor__measure-content {
  min-width: 100%;
  transform: translate(0, 0);
  white-space: pre;
  width: max-content;
  will-change: transform;
  word-break: normal;
}

.birei-code-editor__measure-caret {
  display: inline-block;
  height: 1em;
  vertical-align: top;
  width: 1px;
}

.birei-code-editor__input {
  scrollbar-color: var(--birei-scrollbar-thumb) transparent;
  scrollbar-width: thin;
}
.birei-code-editor__input::-webkit-scrollbar {
  height: 0.7rem;
  width: 0.7rem;
}
.birei-code-editor__input::-webkit-scrollbar-track {
  background: transparent;
}
.birei-code-editor__input::-webkit-scrollbar-thumb {
  background: var(--birei-scrollbar-thumb);
  background-clip: padding-box;
  border: 0.15rem solid transparent;
  border-radius: 999px;
}
@media (hover: hover) and (pointer: fine) {
  .birei-code-editor__input::-webkit-scrollbar-thumb:hover {
    background: var(--birei-scrollbar-thumb-hover);
    background-clip: padding-box;
    border: 0.15rem solid transparent;
  }
}
.birei-code-editor__input {
  background: transparent;
  border: 0;
  caret-color: var(--birei-code-editor-color);
  color: transparent;
  display: block;
  grid-area: 1/1;
  height: 100%;
  max-height: 100%;
  max-width: 100%;
  outline: none;
  overflow: auto;
  resize: none;
  min-height: 0;
  position: relative;
  width: 100%;
  white-space: pre;
  word-break: normal;
  -webkit-text-fill-color: transparent;
  z-index: 1;
}

.birei-code-editor__input::selection {
  background: color-mix(in srgb, var(--birei-code-editor-color) 22%, transparent);
}

.birei-code-editor__input::placeholder {
  color: var(--birei-code-editor-placeholder);
}

.birei-code-editor__completions {
  /* The completion popup is portaled out of the editor and resolves tokens directly. */
  --birei-code-editor-popup-bg: var(--birei-surface-elevated);
  --birei-code-editor-popup-border: var(--birei-border);
  --birei-code-editor-color: var(--birei-text);
  --birei-code-editor-muted: color-mix(in srgb, var(--birei-text) 45%, transparent);
  scrollbar-color: var(--birei-scrollbar-thumb) transparent;
  scrollbar-width: thin;
}
.birei-code-editor__completions::-webkit-scrollbar {
  height: 0.7rem;
  width: 0.7rem;
}
.birei-code-editor__completions::-webkit-scrollbar-track {
  background: transparent;
}
.birei-code-editor__completions::-webkit-scrollbar-thumb {
  background: var(--birei-scrollbar-thumb);
  background-clip: padding-box;
  border: 0.15rem solid transparent;
  border-radius: 999px;
}
@media (hover: hover) and (pointer: fine) {
  .birei-code-editor__completions::-webkit-scrollbar-thumb:hover {
    background: var(--birei-scrollbar-thumb-hover);
    background-clip: padding-box;
    border: 0.15rem solid transparent;
  }
}
.birei-code-editor__completions {
  background: var(--birei-code-editor-popup-bg);
  border: 1px solid var(--birei-code-editor-popup-border);
  border-radius: 0.85rem;
  box-shadow: var(--birei-shadow);
  display: grid;
  gap: 0.2rem;
  max-height: 12rem;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0.35rem;
  position: absolute;
  scroll-padding-block: 0.35rem;
  width: min(22rem, 100% - 1.7rem);
  z-index: 2;
}

.birei-code-editor__completions--portal {
  position: fixed;
  width: 22rem;
  z-index: var(--birei-z-popover, 1500);
}

.birei-code-editor__completion-popups {
  align-items: flex-end;
  display: flex;
  gap: 0.5rem;
  position: fixed;
  z-index: var(--birei-z-popover, 1500);
}

.birei-code-editor__completion-popups--upward {
  transform: translateY(-100%);
}

.birei-code-editor__completion-popups--documentation-left {
  flex-direction: row-reverse;
}

.birei-code-editor__completion-popups--documentation-stacked {
  align-items: stretch;
  flex-direction: column;
}

.birei-code-editor__completion-popups--documentation-stacked.birei-code-editor__completion-popups--upward {
  flex-direction: column-reverse;
}

.birei-code-editor__completion-popups .birei-code-editor__completions--portal {
  position: static;
}

.birei-code-editor__completions--upward {
  transform: translateY(-100%);
}

.birei-code-editor__completion {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0.65rem;
  color: inherit;
  cursor: pointer;
  display: flex;
  font: inherit;
  gap: 0.75rem;
  justify-content: space-between;
  max-width: 100%;
  min-width: 0;
  padding: 0.55rem 0.7rem;
  text-align: left;
}

.birei-code-editor__completion--active {
  background: color-mix(in srgb, var(--birei-code-editor-color) 10%, transparent);
}

.birei-code-editor__completion-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
}

.birei-code-editor__completion-detail {
  color: var(--birei-code-editor-muted);
  font-size: 0.82rem;
  flex: 0 0 auto;
  max-width: 14rem;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.birei-code-editor__completion-documentation {
  background: var(--birei-code-editor-popup-bg);
  border: 1px solid var(--birei-code-editor-popup-border);
  border-radius: 0.85rem;
  box-shadow: var(--birei-shadow);
  color: var(--birei-code-editor-color);
  display: grid;
  gap: 0.35rem;
  overflow: auto;
  padding: 0.8rem 0.9rem;
  scrollbar-color: var(--birei-scrollbar-thumb) transparent;
  scrollbar-width: thin;
  box-sizing: border-box;
  width: 22rem;
}

.birei-code-editor__completion-documentation-detail {
  color: var(--birei-code-editor-muted);
  font-family: var(--birei-code-editor-font);
  font-size: 0.82rem;
}

.birei-code-editor__completion-documentation p {
  line-height: 1.45;
  margin: 0.2rem 0 0;
  white-space: pre-wrap;
}

/* Messages of the hovered underline, styled like the completion documentation. */
.birei-code-editor__diagnostic-popup {
  --birei-code-editor-popup-bg: var(--birei-surface-elevated);
  --birei-code-editor-popup-border: var(--birei-border);
  background: var(--birei-code-editor-popup-bg);
  border: 1px solid var(--birei-code-editor-popup-border);
  border-radius: 0.85rem;
  box-shadow: var(--birei-shadow);
  box-sizing: border-box;
  color: var(--birei-text);
  display: grid;
  gap: 0.4rem;
  max-width: min(28rem, 100vw - 1rem);
  padding: 0.6rem 0.8rem;
  pointer-events: none;
  position: fixed;
  z-index: var(--birei-z-popover, 1500);
}

.birei-code-editor__diagnostic-message {
  border-inline-start: 3px solid var(--birei-error);
  font-size: 0.85rem;
  line-height: 1.4;
  margin: 0;
  padding-inline-start: 0.5rem;
  white-space: pre-wrap;
}

.birei-code-editor__description {
  display: grid;
  gap: 0.25rem;
}

.birei-code-editor__description-title {
  font-family: var(--birei-code-editor-font);
  font-size: 0.8rem;
  margin: 0;
  white-space: pre-wrap;
}

.birei-code-editor__description-text {
  color: var(--birei-text-muted);
  font-size: 0.85rem;
  line-height: 1.4;
  margin: 0;
  max-height: 16rem;
  overflow: hidden;
  white-space: pre-wrap;
}

.birei-code-editor__diagnostic-message--warning {
  border-inline-start-color: var(--birei-warning);
}

.birei-code-editor__diagnostic-message--info {
  border-inline-start-color: var(--birei-info);
}

.birei-code-editor--disabled .birei-code-editor__highlight,
.birei-code-editor--disabled .birei-code-editor__input {
  color: color-mix(in srgb, var(--birei-code-editor-color) 55%, transparent);
}

.birei-code-editor--disabled {
  --birei-code-editor-color: var(--birei-disabled-text);
  --birei-code-editor-muted: var(--birei-disabled-text);
  --birei-code-editor-placeholder: var(--birei-disabled-text);
  border-color: var(--birei-disabled-border);
  cursor: not-allowed;
}

.birei-code-editor--disabled::before,
.birei-code-editor--disabled::after {
  content: none;
}

.birei-code-editor--readonly {
  border-color: var(--birei-disabled-border);
  --birei-code-editor-line-resting-current: color-mix(in srgb, var(--birei-secondary) 52%, transparent);
}

.birei-code-editor__token--comment {
  color: var(--birei-syntax-comment);
}

.birei-code-editor__token--tag {
  color: var(--birei-syntax-tag);
}

.birei-code-editor__token--attribute {
  color: var(--birei-syntax-attribute);
}

.birei-code-editor__token--string {
  color: var(--birei-syntax-string);
}

.birei-code-editor__token--operator,
.birei-code-editor__token--punctuation {
  color: var(--birei-syntax-punctuation);
}

.birei-datetime-input {
  --birei-datetime-input-inline-padding: 0.75rem;
  --birei-datetime-input-trigger-width: 1.5rem;
  position: relative;
  width: 100%;
}

.birei-datetime-input__native {
  appearance: none;
  background: transparent;
  block-size: calc(100% - 2px);
  border: 0;
  color: inherit;
  font: inherit;
  inset-block: 1px;
  inset-inline-start: var(--birei-datetime-input-inline-padding);
  inset-inline-end: calc(var(--birei-datetime-input-trigger-width) + var(--birei-datetime-input-inline-padding));
  min-width: 0;
  outline: none;
  padding: 0;
  position: absolute;
  width: auto;
  z-index: 2;
}

.birei-datetime-input__field {
  min-width: 0;
}

.birei-datetime-input .birei-input__control {
  position: relative;
}

.birei-datetime-input .birei-input__field {
  color: transparent;
  pointer-events: none;
  user-select: none;
}

.birei-datetime-input .birei-input__field::placeholder {
  color: transparent;
}

.birei-datetime-input .birei-input__affix--suffix {
  align-items: center;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  position: relative;
  z-index: 3;
}

.birei-datetime-input__trigger {
  align-items: center;
  display: inline-flex;
  height: 100%;
  justify-content: center;
  width: 100%;
}

.birei-datetime-input__trigger .birei-icon {
  color: var(--birei-secondary);
}

.birei-datetime-input__native::-webkit-calendar-picker-indicator {
  opacity: 0;
}

.birei-datetime-input--small {
  --birei-datetime-input-inline-padding: 0.55rem;
  --birei-datetime-input-trigger-width: 0.25rem;
}

.birei-datetime-input--medium {
  --birei-datetime-input-inline-padding: 0.75rem;
  --birei-datetime-input-trigger-width: 0.25rem;
}

.birei-datetime-input--large {
  --birei-datetime-input-inline-padding: 0.95rem;
  --birei-datetime-input-trigger-width: 0.25rem;
}

/* Responsive label/control field wrapper for existing form controls. */
.birei-field {
  --birei-field-label-width: 10rem;
  --birei-field-column-gap: 1rem;
  --birei-field-row-gap: 0.45rem;
  box-sizing: border-box;
  container-type: inline-size;
  width: 100%;
}

.birei-field__layout {
  align-items: center;
  display: grid;
  gap: var(--birei-field-row-gap) var(--birei-field-column-gap);
  grid-template-columns: minmax(0, var(--birei-field-label-width)) minmax(0, 1fr);
  width: 100%;
}

.birei-field__label {
  min-width: 0;
}

.birei-field__label .birei-label {
  max-width: 100%;
}

.birei-field__label .birei-label > span:first-child {
  min-width: 0;
  overflow-wrap: anywhere;
}

.birei-field__control {
  min-width: 0;
}

.birei-field__control > * {
  max-width: 100%;
}

.birei-field--label-break .birei-field__layout {
  align-items: stretch;
  grid-template-columns: minmax(0, 1fr);
}

@container (max-width: 640px) {
  .birei-field__layout {
    align-items: stretch;
    grid-template-columns: minmax(0, 1fr);
  }
}
.birei-flex-columns {
  --birei-flex-divider-line: var(--birei-border-subtle);
  --birei-flex-divider-line-hover: var(--birei-border-strong);
  align-items: stretch;
  display: grid;
  gap: 0;
  inline-size: 100%;
  min-block-size: 20rem;
  overflow: hidden;
  position: relative;
  transition: grid-template-columns 300ms cubic-bezier(0.2, 0.9, 0.2, 1);
}

.birei-flex-columns--dragging {
  cursor: col-resize;
  transition: none;
  user-select: none;
}

.birei-flex-columns--dragging .birei-flex-columns__panel,
.birei-flex-columns--dragging .birei-flex-columns__divider::before,
.birei-flex-columns--dragging .birei-flex-columns__divider-rail {
  transition: none;
}

.birei-flex-columns__panel {
  min-inline-size: 0;
  overflow: hidden;
  transition: opacity 220ms ease, filter 280ms ease;
}

.birei-flex-columns__panel-body {
  scrollbar-color: var(--birei-scrollbar-thumb) transparent;
  scrollbar-width: thin;
}
.birei-flex-columns__panel-body::-webkit-scrollbar {
  height: 0.7rem;
  width: 0.7rem;
}
.birei-flex-columns__panel-body::-webkit-scrollbar-track {
  background: transparent;
}
.birei-flex-columns__panel-body::-webkit-scrollbar-thumb {
  background: var(--birei-scrollbar-thumb);
  background-clip: padding-box;
  border: 0.15rem solid transparent;
  border-radius: 999px;
}
@media (hover: hover) and (pointer: fine) {
  .birei-flex-columns__panel-body::-webkit-scrollbar-thumb:hover {
    background: var(--birei-scrollbar-thumb-hover);
    background-clip: padding-box;
    border: 0.15rem solid transparent;
  }
}
.birei-flex-columns__panel-body {
  block-size: 100%;
  min-block-size: 100%;
  min-inline-size: 0;
  overflow: auto;
}

.birei-flex-columns__panel--focused .birei-flex-columns__panel-body {
  outline: none;
}

.birei-flex-columns__divider {
  align-items: center;
  cursor: col-resize;
  display: grid;
  justify-items: center;
  position: relative;
}

.birei-flex-columns__divider::before {
  background: var(--birei-flex-divider-line-hover);
  border-radius: 999px;
  content: "";
  height: 100%;
  transition: background 180ms ease, transform 180ms ease;
  width: 2px;
}

.birei-flex-columns__divider-rail {
  align-items: center;
  background: color-mix(in srgb, var(--birei-disabled-surface) 94%, var(--birei-surface) 6%);
  border-radius: 999px;
  display: grid;
  gap: 0.12rem;
  justify-items: center;
  left: 50%;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%) scale(0.92);
  transition: opacity 180ms ease, transform 220ms cubic-bezier(0.2, 0.9, 0.2, 1);
  padding-block: 0.15rem;
  padding-inline: 0.05rem;
  z-index: 2;
}

.birei-flex-columns__divider:hover::before,
.birei-flex-columns__divider:focus-within::before,
.birei-flex-columns--dragging .birei-flex-columns__divider::before {
  background: color-mix(in srgb, var(--birei-accent-text) 34%, transparent);
  transform: scaleY(1.02);
}

.birei-flex-columns__divider:hover .birei-flex-columns__divider-rail,
.birei-flex-columns__divider:focus-within .birei-flex-columns__divider-rail,
.birei-flex-columns--dragging .birei-flex-columns__divider-rail {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, -50%) scale(1);
}

.birei-flex-columns__divider-action {
  align-items: center;
  color: var(--birei-accent-text);
  display: inline-flex;
  justify-content: center;
}

.birei-flex-columns__divider-handle {
  align-items: center;
  color: color-mix(in srgb, var(--birei-accent-text) 45%, transparent);
  display: inline-flex;
  justify-content: center;
  min-height: 1.1rem;
  width: 100%;
}

.birei-flex-columns__divider-action {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: color-mix(in srgb, var(--birei-accent-text) 70%, transparent);
  cursor: pointer;
  min-height: 1.5rem;
  min-width: 1.5rem;
  padding: 0;
  transition: background-color 140ms ease, color 140ms ease, transform 140ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .birei-flex-columns__divider-action:hover {
    color: var(--birei-secondary);
    transform: scale(1.08);
  }
}
.birei-flex-columns__divider-action:active {
  transform: scale(0.94);
}

/* Shared icon wrapper that composes with the Lucide font classes. */
.birei-icon {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 1rem;
  justify-content: center;
  line-height: 1;
  vertical-align: middle;
}

.birei-icon::before {
  display: block;
}

.birei-icon:where(.birei-size--small) {
  font-size: 0.875rem;
}

.birei-icon:where(.birei-size--medium) {
  font-size: 1rem;
}

.birei-icon:where(.birei-size--large) {
  font-size: 1.25rem;
}

.birei-icon--spinning {
  animation: birei-icon-spin var(--birei-icon-spin-duration) linear infinite;
}

@keyframes birei-icon-spin {
  to {
    transform: rotate(1turn);
  }
}
/* Input shell with shared sizing and theme tokens. */
.birei-input {
  --birei-input-bg-disabled: var(--birei-disabled-surface);
  --birei-input-border-readonly: var(--birei-border-strong);
  --birei-input-color-disabled: var(--birei-disabled-text);
  --birei-input-line-resting: var(--birei-text-muted);
  --birei-input-line-readonly: color-mix(in srgb, var(--birei-secondary) 52%, transparent);
  --birei-input-bg: var(--birei-surface);
  --birei-input-border: var(--birei-border);
  --birei-input-border-hover: color-mix(
      in srgb,
      var(--birei-accent-text) 50%,
      transparent
  );
  --birei-input-border-focus: var(--birei-accent-text);
  --birei-input-border-invalid: var(--birei-error);
  --birei-input-color: var(--birei-text);
  --birei-input-placeholder: var(--birei-text-subtle);
  --birei-input-affix-color: var(--birei-secondary);
  --birei-input-line-color: var(--birei-accent-text);
  --birei-input-line-color-current: var(--birei-input-line-color);
  --birei-input-line-resting-current: var(--birei-input-line-resting);
  --birei-input-line-origin: 50%;
  --birei-input-inline-padding: 0.75rem;
  --birei-input-affix-button-padding: 0.75rem;
  align-items: center;
  background: var(--birei-input-bg);
  border: 1px solid var(--birei-input-border);
  border-radius: var(--birei-radius-base);
  box-sizing: border-box;
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--birei-surface) 72%, transparent);
  color: var(--birei-input-color);
  display: inline-flex;
  gap: 0.65rem;
  height: 2rem;
  max-inline-size: 100%;
  min-inline-size: min(16rem, 100%);
  overflow: hidden;
  padding: 0 var(--birei-input-inline-padding);
  position: relative;
  transition: border-color 140ms ease, box-shadow 160ms ease, background-color 160ms ease;
  width: 100%;
}

.birei-input::after {
  background: var(--birei-input-line-color-current);
  border-radius: 999px;
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  transform: scaleX(0);
  transform-origin: var(--birei-input-line-origin) center;
  transition: transform 210ms ease-out;
  z-index: 3;
}

.birei-input::before {
  background: var(--birei-input-line-resting-current);
  border-radius: 999px;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  z-index: 2;
}

/* Prefix and suffix align arbitrary text, icons, or buttons around the field. */
.birei-input__affix {
  align-items: center;
  color: var(--birei-input-affix-color);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.9em;
  gap: 0.45rem;
  white-space: nowrap;
}

.birei-input__affix:has(> .birei-button) {
  align-self: stretch;
  color: inherit;
  gap: 0;
  position: relative;
}

.birei-input__affix--prefix:has(> .birei-button) {
  border-right: 1px solid var(--birei-border-subtle);
  margin-left: calc(var(--birei-input-inline-padding) * -1);
}

.birei-input__affix--suffix:has(> .birei-button) {
  border-left: 1px solid var(--birei-border-subtle);
  margin-right: calc(var(--birei-input-inline-padding) * -1);
}

.birei-input__control {
  align-items: stretch;
  align-self: stretch;
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
}

.birei-input__field {
  appearance: none;
  background: transparent;
  border: 0;
  color: inherit;
  flex: 1 1 auto;
  font: inherit;
  min-width: 0;
  outline: none;
  padding: 0;
  width: 100%;
}

.birei-input__field::placeholder {
  color: var(--birei-input-placeholder);
}

/* Keep the line element out of layout; underline is rendered by the root. */
.birei-input__line {
  display: none;
}

.birei-input:focus-within {
  border-color: var(--birei-input-border);
}

.birei-input:focus-within:not(.birei-input--readonly):not(.birei-input--disabled)::after {
  transform: scaleX(1);
}

.birei-input--invalid,
.birei-input:has(.birei-input__field:invalid) {
  --birei-input-line-resting-current: var(--birei-input-border-invalid);
  --birei-input-line-color-current: var(--birei-input-border-invalid);
}

.birei-input--disabled {
  --birei-input-affix-color: var(--birei-input-color-disabled);
  --birei-input-color: var(--birei-input-color-disabled);
  --birei-input-placeholder: var(--birei-input-color-disabled);
  border-color: var(--birei-input-border-readonly);
  cursor: not-allowed;
}

.birei-input--disabled::before,
.birei-input--disabled::after {
  content: none;
}

.birei-input--readonly {
  border-color: var(--birei-input-border-readonly);
  --birei-input-line-resting-current: var(--birei-input-line-readonly);
}

/* Prevent nested suffix buttons from stretching with the input shell. */
.birei-input__affix > .birei-button {
  align-self: stretch;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  flex: 0 0 auto;
  height: auto;
}

.birei-input__affix--prefix > .birei-button {
  padding-left: var(--birei-input-inline-padding);
  padding-right: var(--birei-input-affix-button-padding);
}

.birei-input__affix--suffix > .birei-button {
  padding-left: var(--birei-input-affix-button-padding);
  padding-right: var(--birei-input-inline-padding);
}

.birei-input:where(.birei-size--small) {
  --birei-input-inline-padding: 0.55rem;
  --birei-input-affix-button-padding: 0.55rem;
  border-radius: var(--birei-radius-small);
  font-size: 0.875rem;
  gap: 0.5rem;
  height: 1.5rem;
}

.birei-input:where(.birei-size--medium) {
  font-size: 0.95rem;
}

.birei-input:where(.birei-size--large) {
  --birei-input-inline-padding: 0.95rem;
  --birei-input-affix-button-padding: 1.25rem;
  border-radius: var(--birei-radius-large);
  font-size: 1rem;
  gap: 0.75rem;
  height: 2.5rem;
}

.birei-illustration {
  --exo-illustration-primary: var(--birei-chart-1);
  --exo-illustration-primary-soft: #a3d2d5;
  --exo-illustration-surface: color-mix(in srgb, var(--birei-chart-1) 10%, var(--birei-surface));
  --exo-illustration-outline: var(--birei-text);
  --exo-illustration-thread: #2e6c70;
  --exo-illustration-muted: var(--birei-neutral-300);
  --exo-illustration-highlight: #ffffff;
  --exo-illustration-logo: var(--birei-accent-text);
  --exo-illustration-accent: var(--birei-accent-500);
  align-items: center;
  display: grid;
  gap: clamp(1.5rem, 4vw, 4rem);
  max-width: 100%;
}
.birei-illustration__art {
  display: grid;
  min-width: 0;
  place-items: center;
}
.birei-illustration__art > svg {
  display: block;
  height: auto;
  max-width: 100%;
  width: min(100%, 20rem);
}
.birei-illustration__copy {
  min-width: 0;
}
.birei-illustration__label {
  color: var(--exo-illustration-primary);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.4;
  text-transform: uppercase;
}
.birei-illustration__title {
  color: var(--exo-illustration-outline);
  font-size: 1.875rem;
  font-weight: 650;
  line-height: 1.25;
  margin: 0.625rem 0 0.75rem;
}
.birei-illustration__description {
  color: color-mix(in srgb, var(--exo-illustration-outline) 68%, transparent);
  font-size: 1rem;
  line-height: 1.65;
  margin: 0;
  max-width: 44ch;
}
.birei-illustration__actions {
  margin-top: 0.5rem;
}
.birei-illustration--top, .birei-illustration--bottom, .birei-illustration--auto {
  grid-template-columns: minmax(0, 1fr);
}
.birei-illustration--top .birei-illustration__copy, .birei-illustration--left .birei-illustration__copy {
  order: -1;
}
.birei-illustration--left, .birei-illustration--right {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
@media (min-aspect-ratio: 1/1) {
  .birei-illustration--auto {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
@media (max-width: 40rem) {
  .birei-illustration--left, .birei-illustration--right {
    grid-template-columns: minmax(0, 1fr);
  }
  .birei-illustration--left .birei-illustration__copy {
    order: initial;
  }
}

/* Shared field label styling used by form controls. */
.birei-label {
  align-items: center;
  color: var(--birei-text);
  display: inline-flex;
  font-size: 0.9rem;
  font-weight: var(--birei-font-weight-small);
  font-style: italic;
  gap: 0.2rem;
  line-height: 1.2;
}

.birei-label__required {
  color: var(--birei-error);
}

.birei-link {
  display: inline;
  max-inline-size: 100%;
  min-inline-size: 0;
  border-radius: var(--birei-radius-small);
  color: var(--birei-accent-text);
  cursor: pointer;
  font: inherit;
  font-weight: 500;
  line-height: 1.25;
  padding: 0.0625rem 0.125rem;
  text-align: start;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.15em;
  transition: color 120ms ease, text-shadow 160ms ease, background-color 120ms ease;
}

.birei-link__inner {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  max-inline-size: 100%;
  min-inline-size: 0;
  vertical-align: text-bottom;
}

.birei-link__content {
  min-inline-size: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (hover: hover) and (pointer: fine) {
  .birei-link:hover:not([aria-disabled=true]) {
    color: var(--birei-accent-hover);
    text-shadow: 0 0 0.55rem color-mix(in srgb, var(--birei-accent-text) 20%, transparent);
  }
}
.birei-link:active:not([aria-disabled=true]) {
  color: var(--birei-accent-active);
}

.birei-link:focus {
  outline: none;
}

.birei-link:focus-visible {
  background-color: var(--birei-ripple);
  color: var(--birei-accent-hover);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.birei-link--disabled {
  cursor: not-allowed;
  opacity: 0.55;
  text-decoration-style: dotted;
}

.birei-list {
  --birei-list-bg: var(--birei-surface);
  --birei-list-hover: color-mix(
      in srgb,
      var(--birei-accent-text) 8%,
      transparent
  );
  --birei-list-selected: color-mix(
      in srgb,
      var(--birei-accent-text) 14%,
      transparent
  );
  --birei-list-divider: var(--birei-border-subtle);
  --birei-list-title: var(--birei-text);
  --birei-list-description: var(--birei-text-muted);
  --birei-list-meta: color-mix(
      in srgb,
      var(--birei-accent-text) 72%,
      transparent
  );
  --birei-list-scrollbar-thumb: var(--birei-scrollbar-thumb);
  --birei-list-scrollbar-thumb-hover: var(
      --birei-scrollbar-thumb-hover
  );
  background: var(--birei-list-bg);
  color: var(--birei-list-title);
  align-content: start;
  box-sizing: border-box;
  display: grid;
  height: 100%;
  inline-size: 100%;
  min-height: 10rem;
  overflow: auto;
  overflow-anchor: none;
  position: relative;
  scrollbar-color: var(--birei-list-scrollbar-thumb) transparent;
  scrollbar-width: thin;
}
.birei-list::-webkit-scrollbar {
  height: 0.7rem;
  width: 0.7rem;
}
.birei-list::-webkit-scrollbar-track {
  background: transparent;
}
.birei-list::-webkit-scrollbar-thumb {
  background: var(--birei-list-scrollbar-thumb);
  background-clip: padding-box;
  border: 0.15rem solid transparent;
  border-radius: 999px;
}
@media (hover: hover) and (pointer: fine) {
  .birei-list::-webkit-scrollbar-thumb:hover {
    background: var(--birei-list-scrollbar-thumb-hover);
    background-clip: padding-box;
    border: 0.15rem solid transparent;
  }
}

.birei-list:focus,
.birei-list:focus-visible {
  outline: none;
}

.birei-list__spacer {
  flex: 0 0 auto;
}

.birei-list__rows {
  align-content: start;
  box-sizing: border-box;
  display: grid;
  grid-auto-rows: max-content;
  inline-size: 100%;
  min-inline-size: 0;
  overflow-anchor: none;
}

.birei-list__row {
  align-items: center;
  appearance: none;
  background: var(--birei-list-row-highlight, transparent);
  border: 0;
  box-sizing: border-box;
  box-shadow: inset 0 1px 0 var(--birei-list-divider);
  color: inherit;
  cursor: pointer;
  display: grid;
  font: inherit;
  gap: 0.75rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  inline-size: 100%;
  min-width: 0;
  outline: none;
  padding: 0.45rem 0.7rem;
  place-self: start stretch;
  text-align: left;
  transition: background-color 120ms ease;
}

.birei-list__rows > :first-child .birei-list__row,
.birei-list__rows > .birei-list__row:first-child {
  box-shadow: none;
}

.birei-list--compact .birei-list__row {
  block-size: 42px;
}

.birei-list--detailed .birei-list__row {
  block-size: 58px;
}

.birei-list__row--active {
  background: color-mix(in srgb, var(--birei-list-row-highlight, var(--birei-list-hover)) 72%, var(--birei-list-hover));
}

.birei-list__row--selected {
  background: color-mix(in srgb, var(--birei-list-row-highlight, var(--birei-list-selected)) 64%, var(--birei-list-selected));
}

@media (hover: hover) and (pointer: fine) {
  .birei-list:not(.birei-list--keyboard) .birei-list__row:hover {
    background: color-mix(in srgb, var(--birei-list-row-highlight, var(--birei-list-hover)) 72%, var(--birei-list-hover));
  }
}
.birei-list__icon {
  align-items: center;
  color: var(--birei-list-meta);
  display: inline-flex;
  justify-content: center;
}

.birei-list__body {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.birei-list__title {
  font-weight: 600;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.birei-list__description {
  color: var(--birei-list-description);
  font-size: 0.86rem;
  line-height: 1.35;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.birei-list__meta {
  color: var(--birei-list-meta);
  font-size: 0.84rem;
  font-weight: 500;
  white-space: nowrap;
}

.birei-list__status {
  color: var(--birei-list-description);
  display: grid;
  justify-items: center;
  padding: 0.9rem 0.95rem 1rem;
  text-align: center;
}

/* Theme-aligned loading spinner based on the existing app ring. */
.birei-loading {
  --birei-loading-size: 3rem;
  --birei-loading-ring-size: calc(var(--birei-loading-size) * 0.8);
  --birei-loading-ring-offset: calc(var(--birei-loading-size) * 0.1);
  --birei-loading-ring-width: max(
      2px,
      calc(var(--birei-loading-size) * 0.12)
  );
  --birei-loading-color: var(--birei-accent-text);
  --birei-loading-label-color: var(--birei-text-muted);
  align-items: center;
  color: var(--birei-loading-label-color);
  display: inline-flex;
  flex-direction: column;
  gap: 0.8rem;
  justify-content: center;
  min-inline-size: 0;
}

.birei-loading--block {
  display: flex;
  inline-size: 100%;
  min-block-size: var(--birei-loading-block-size, 12rem);
}

.birei-loading__spinner {
  block-size: var(--birei-loading-size);
  display: inline-block;
  inline-size: var(--birei-loading-size);
  position: relative;
}

.birei-loading__spinner > span {
  animation: birei-loading-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  block-size: var(--birei-loading-ring-size);
  border: var(--birei-loading-ring-width) solid var(--birei-loading-color);
  border-color: var(--birei-loading-color) transparent transparent transparent;
  border-radius: var(--birei-radius-full);
  box-sizing: border-box;
  display: block;
  inline-size: var(--birei-loading-ring-size);
  inset-block-start: var(--birei-loading-ring-offset);
  inset-inline-start: var(--birei-loading-ring-offset);
  position: absolute;
}

.birei-loading__spinner > span:nth-child(1) {
  animation-delay: -0.45s;
}

.birei-loading__spinner > span:nth-child(2) {
  animation-delay: -0.3s;
}

.birei-loading__spinner > span:nth-child(3) {
  animation-delay: -0.15s;
}

.birei-loading__label {
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.3;
  max-inline-size: 24rem;
  overflow-wrap: anywhere;
  text-align: center;
}

.birei-loading--small {
  --birei-loading-size: 1rem;
  gap: 0.45rem;
}

.birei-loading--small .birei-loading__label {
  font-size: 0.8rem;
}

.birei-loading--large {
  --birei-loading-size: 15rem;
  gap: 1.2rem;
}

.birei-loading--large .birei-loading__label {
  font-size: 1.05rem;
}

@media (prefers-reduced-motion: reduce) {
  .birei-loading__spinner > span {
    animation-duration: 2.4s;
  }
}
@keyframes birei-loading-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.birei-map-picker {
  position: relative;
  width: 100%;
  height: var(--birei-map-picker-height, 360px);
  min-height: 240px;
  border: 1px solid var(--birei-border-subtle);
  border-radius: 1.25rem;
  overflow: hidden;
  background: radial-gradient(circle at top left, color-mix(in srgb, var(--birei-primary-200) 70%, transparent), transparent 48%), linear-gradient(180deg, var(--birei-surface-muted), var(--birei-surface-sunken));
  box-shadow: 0 16px 40px rgba(34, 54, 56, 0.12);
}

.birei-map-picker--disabled {
  opacity: 0.72;
}

.birei-map-picker__surface {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  cursor: grab;
  touch-action: none;
  user-select: none;
}

.birei-map-picker__surface:active {
  cursor: grabbing;
}

.birei-map-picker--disabled .birei-map-picker__surface {
  cursor: not-allowed;
}

.birei-map-picker__tile {
  position: absolute;
  width: 256px;
  height: 256px;
  max-width: none;
  pointer-events: none;
}

.birei-map-picker__marker {
  position: absolute;
  width: 30px;
  height: 42px;
  margin-left: -15px;
  margin-top: -42px;
  border: 0;
  padding: 0;
  background: transparent;
  pointer-events: none;
}

.birei-map-picker__marker[role=button] {
  pointer-events: auto;
  cursor: grab;
}

.birei-map-picker__marker[role=button]:active {
  cursor: grabbing;
}

.birei-map-picker__marker-pin {
  position: absolute;
  left: 3px;
  top: 0;
  width: 24px;
  height: 24px;
  border-radius: 50% 50% 50% 0;
  background: var(--birei-accent);
  transform: rotate(-45deg);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--birei-surface) 92%, transparent), 0 10px 18px rgba(20, 35, 37, 0.22);
}

.birei-map-picker__marker-pin::after {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  background: var(--birei-surface);
}

.birei-map-picker__marker-shadow {
  position: absolute;
  left: 6px;
  right: 6px;
  bottom: 0;
  height: 7px;
  border-radius: 999px;
  background: rgba(12, 22, 24, 0.18);
  filter: blur(3px);
}

.birei-map-picker__controls {
  position: absolute;
  top: 0.875rem;
  right: 0.875rem;
  display: grid;
  gap: 0.5rem;
  z-index: 1;
}

.birei-map-picker__zoom-button {
  width: 2.25rem;
  height: 2.25rem;
  min-width: 2.25rem;
  font-size: 1.25rem;
  line-height: 1;
  padding: 0;
}

.birei-map-picker__attribution {
  position: absolute;
  right: 0.875rem;
  bottom: 0.875rem;
  z-index: 1;
  padding: 0.4rem 0.6rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--birei-surface) 92%, transparent);
  color: var(--birei-text-muted);
  text-decoration: none;
  font-size: 0.76rem;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(28, 46, 49, 0.1);
}

.birei-map-picker__attribution:hover {
  color: var(--birei-text);
}

.birei-map-picker__sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 720px) {
  .birei-map-picker {
    min-height: 280px;
  }
}
.birei-markdown {
  --birei-markdown-editor-height: 14rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  position: relative;
}

.birei-markdown--render-only {
  display: block;
}

.birei-markdown__toolbar {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.birei-markdown__toolbar-group {
  display: flex;
  flex-wrap: wrap;
  row-gap: 0.5rem;
}

.birei-markdown__editor-shell {
  --birei-markdown-line-color-current: var(--birei-accent-text);
  --birei-markdown-line-resting-current: var(--birei-text-muted);
  --birei-markdown-line-origin: 50%;
  background: var(--birei-surface);
  box-sizing: border-box;
  border: 1px solid var(--birei-border);
  border-radius: var(--birei-radius-base);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--birei-surface) 35%, transparent);
  color: var(--birei-text);
  height: var(--birei-markdown-editor-height);
  min-width: 0;
  position: relative;
  transition: border-color 120ms ease, box-shadow 120ms ease;
  width: 100%;
}

.birei-markdown__editor-shell::after {
  background: var(--birei-markdown-line-color-current);
  border-radius: 999px;
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  transform: scaleX(0);
  transform-origin: var(--birei-markdown-line-origin) center;
  transition: transform 210ms ease-out;
  z-index: 3;
}

.birei-markdown__editor-shell::before {
  background: var(--birei-markdown-line-resting-current);
  border-radius: 999px;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  z-index: 2;
}

.birei-markdown__editor-shell:focus-within {
  border-color: var(--birei-accent-text);
}

.birei-markdown__editor-shell:focus-within:not(.birei-markdown__editor-shell--readonly):not(.birei-markdown__editor-shell--disabled)::after {
  transform: scaleX(1);
}

.birei-markdown__editor {
  scrollbar-color: var(--birei-scrollbar-thumb) transparent;
  scrollbar-width: thin;
}
.birei-markdown__editor::-webkit-scrollbar {
  height: 0.7rem;
  width: 0.7rem;
}
.birei-markdown__editor::-webkit-scrollbar-track {
  background: transparent;
}
.birei-markdown__editor::-webkit-scrollbar-thumb {
  background: var(--birei-scrollbar-thumb);
  background-clip: padding-box;
  border: 0.15rem solid transparent;
  border-radius: 999px;
}
@media (hover: hover) and (pointer: fine) {
  .birei-markdown__editor::-webkit-scrollbar-thumb:hover {
    background: var(--birei-scrollbar-thumb-hover);
    background-clip: padding-box;
    border: 0.15rem solid transparent;
  }
}
.birei-markdown__editor {
  box-sizing: border-box;
  color: inherit;
  height: 100%;
  line-height: 1.6;
  min-width: 0;
  outline: none;
  overflow: auto;
  padding: 1rem 1.1rem;
  width: 100%;
}

.birei-markdown__editor:empty::before {
  color: var(--birei-text-subtle);
  content: attr(data-placeholder);
  pointer-events: none;
}

.birei-markdown__editor > :first-child {
  margin-top: 0;
}

.birei-markdown__editor > :last-child {
  margin-bottom: 0;
}

.birei-markdown__editor h1,
.birei-markdown__editor h2,
.birei-markdown__editor h3,
.birei-markdown__editor h4,
.birei-markdown__editor h5,
.birei-markdown__editor h6 {
  color: var(--birei-accent-text);
  line-height: 1.2;
  margin: 1.15em 0 0.45em;
}

.birei-markdown__editor p,
.birei-markdown__editor ul,
.birei-markdown__editor ol,
.birei-markdown__editor table {
  margin: 0.8rem 0;
}

.birei-markdown__editor a {
  color: var(--birei-accent-text);
}

.birei-markdown__editor ul,
.birei-markdown__editor ol {
  padding-left: 1.4rem;
}

.birei-markdown__editor table {
  border-collapse: collapse;
  width: 100%;
}

.birei-markdown__editor th,
.birei-markdown__editor td {
  border: 1px solid var(--birei-disabled-border);
  height: 2.6rem;
  padding: 0.55rem 0.7rem;
  vertical-align: top;
}

.birei-markdown__editor th:focus,
.birei-markdown__editor td:focus {
  background: color-mix(in srgb, var(--birei-accent-text) 5%, transparent);
}

.birei-markdown__editor th:empty::before,
.birei-markdown__editor td:empty::before {
  content: " ";
}

.birei-markdown__editor th {
  background: var(--birei-surface-muted);
  color: var(--birei-accent-text);
  text-align: left;
}

.birei-markdown__editor img {
  border-radius: var(--birei-radius-base);
  display: block;
  height: auto;
  margin: 0.8rem 0;
  max-width: 100%;
}

.birei-markdown__editor hr {
  border: 0;
  border-top: 1px solid var(--birei-disabled-border);
  margin: 1.2rem 0;
}

.birei-markdown__file-input {
  display: none;
}

.birei-markdown__source.birei-textarea {
  --birei-textarea-min-height: var(--birei-markdown-editor-height);
  height: var(--birei-markdown-editor-height);
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--birei-surface) 35%, transparent);
  padding: 0;
}

.birei-markdown__source-shell {
  min-width: 0;
  width: 100%;
}

.birei-markdown__source .birei-textarea__field {
  box-sizing: border-box;
  height: 100%;
  line-height: 1.6;
  min-height: 0;
  padding: 1rem 1.1rem;
  resize: none;
}

.birei-markdown__link-popup {
  background: var(--birei-surface-elevated);
  border: 1px solid var(--birei-border);
  border-radius: calc(var(--birei-radius-base) * 2);
  box-shadow: var(--birei-shadow-strong);
  color: var(--birei-text);
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  max-width: min(22rem, 100vw - 1rem);
  padding: 0.85rem;
  position: absolute;
  width: 20rem;
  z-index: 40;
}

.birei-markdown__menu-popup.birei-dropdown-button__menu {
  --birei-dropdown-menu-bg: var(--birei-surface-elevated);
  --birei-dropdown-menu-border: var(--birei-border-subtle);
  --birei-dropdown-item-hover: color-mix(
      in srgb,
      var(--birei-accent-text) 8%,
      transparent
  );
  --birei-dropdown-item-active: color-mix(
      in srgb,
      var(--birei-accent-text) 14%,
      transparent
  );
  --birei-dropdown-scrollbar-thumb: var(--birei-scrollbar-thumb);
  --birei-dropdown-scrollbar-thumb-hover: var(
      --birei-scrollbar-thumb-hover
  );
  background: var(--birei-dropdown-menu-bg);
  border: 1px solid var(--birei-dropdown-menu-border);
  border-radius: var(--birei-radius-huge);
  box-shadow: var(--birei-shadow-strong);
  color: var(--birei-text);
  position: absolute;
  z-index: 40;
}

.birei-markdown__link-popup--upward {
  transform: translateY(calc(-100% - 0.4rem));
}

.birei-markdown__link-label {
  color: var(--birei-accent-text);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.birei-markdown__link-input {
  appearance: none;
  background: var(--birei-surface);
  border: 1px solid var(--birei-border);
  border-radius: var(--birei-radius-base);
  color: var(--birei-text);
  font: inherit;
  min-height: 2.25rem;
  outline: none;
  padding: 0.6rem 0.75rem;
  width: 100%;
}

.birei-markdown__link-input:focus {
  border-color: var(--birei-accent-text);
}

.birei-markdown__link-actions {
  display: flex;
  gap: 0.5rem;
  justify-content: flex-end;
}

.birei-markdown__status {
  color: var(--birei-error);
  font-size: 0.875rem;
  margin: 0;
}

.birei-markdown__editor-shell--disabled,
.birei-markdown__editor-shell--readonly {
  background: var(--birei-disabled-surface);
  color: var(--birei-disabled-text);
}

.birei-markdown__editor-shell--invalid {
  --birei-markdown-line-resting-current: var(--birei-error);
  --birei-markdown-line-color-current: var(--birei-error);
  border-color: var(--birei-error);
}

.birei-markdown--render-only .birei-markdown__editor-shell {
  background: transparent;
  border: 0;
  box-shadow: none;
  height: auto;
}

.birei-markdown--render-only .birei-markdown__editor-shell::before,
.birei-markdown--render-only .birei-markdown__editor-shell::after {
  display: none;
}

.birei-markdown--render-only .birei-markdown__editor {
  height: auto;
  overflow: visible;
  padding: 0;
}

.birei-markdown-renderer {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.5;
}
.birei-markdown-renderer p, .birei-markdown-renderer ul, .birei-markdown-renderer ol, .birei-markdown-renderer blockquote, .birei-markdown-renderer pre, .birei-markdown-renderer table {
  margin: 0.5rem 0;
}
.birei-markdown-renderer h1, .birei-markdown-renderer h2, .birei-markdown-renderer h3, .birei-markdown-renderer h4, .birei-markdown-renderer h5, .birei-markdown-renderer h6 {
  font-size: 1rem;
  margin: 0.75rem 0 0.35rem;
}
.birei-markdown-renderer ul, .birei-markdown-renderer ol {
  padding-left: 1.5rem;
}
.birei-markdown-renderer pre {
  overflow-x: auto;
  padding: 0.5rem;
  border: 1px solid var(--birei-border);
}
.birei-markdown-renderer code {
  font-size: 0.85em;
  white-space: pre-wrap;
}
.birei-markdown-renderer pre code {
  white-space: pre;
}
.birei-markdown-renderer table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
}
.birei-markdown-renderer th, .birei-markdown-renderer td {
  padding: 0.35rem 0.5rem;
  border: 1px solid var(--birei-border);
}
.birei-markdown-renderer blockquote {
  margin-left: 0;
  padding-left: 0.75rem;
  border-left: 2px solid var(--birei-border);
}

:root {
  --birei-notification-width: min(26rem, calc(100vw - 2rem));
  --birei-notification-shadow: var(--birei-shadow-strong);
  --birei-notification-info-bg: color-mix(
      in srgb,
      var(--birei-info-subtle) 72%,
      var(--birei-surface) 28%
  );
  --birei-notification-info-border: color-mix(
      in srgb,
      var(--birei-info) 36%,
      transparent
  );
  --birei-notification-success-bg: color-mix(
      in srgb,
      var(--birei-success-subtle) 76%,
      var(--birei-surface) 24%
  );
  --birei-notification-success-border: color-mix(
      in srgb,
      var(--birei-success) 36%,
      transparent
  );
  --birei-notification-warning-bg: color-mix(
      in srgb,
      var(--birei-warning-subtle) 80%,
      var(--birei-surface) 20%
  );
  --birei-notification-warning-border: color-mix(
      in srgb,
      var(--birei-warning) 40%,
      transparent
  );
  --birei-notification-error-bg: color-mix(
      in srgb,
      var(--birei-error-subtle) 80%,
      var(--birei-surface) 20%
  );
  --birei-notification-error-border: color-mix(
      in srgb,
      var(--birei-error) 40%,
      transparent
  );
}

.birei-notification-stack {
  bottom: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-height: 50vh;
  overflow: hidden;
  pointer-events: none;
  position: fixed;
  right: 1rem;
  width: var(--birei-notification-width);
  z-index: var(--birei-z-notification, 9999);
}

.birei-notification-toast {
  opacity: 0;
  pointer-events: auto;
  transform: translateX(calc(100% + 1rem));
  transition: opacity 180ms ease, transform 220ms ease;
}

.birei-notification-toast--entered {
  opacity: 1;
  transform: translateX(0);
}

.birei-notification-toast--exiting {
  opacity: 0;
  transform: translateX(calc(100% + 1rem));
}

.birei-notification {
  --birei-notification-bg: var(--birei-notification-info-bg);
  --birei-notification-border: var(--birei-notification-info-border);
  --birei-notification-accent: var(--birei-info);
  align-items: start;
  backdrop-filter: blur(14px);
  background: var(--birei-notification-bg);
  border: 1px solid var(--birei-notification-border);
  border-radius: var(--birei-radius-base);
  box-shadow: var(--birei-notification-shadow);
  color: var(--birei-text);
  display: grid;
  gap: 0.75rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 0.85rem 0.95rem;
}

.birei-notification--info {
  --birei-notification-bg: var(--birei-notification-info-bg);
  --birei-notification-border: var(--birei-notification-info-border);
  --birei-notification-accent: var(--birei-info);
}

.birei-notification--success {
  --birei-notification-bg: var(--birei-notification-success-bg);
  --birei-notification-border: var(--birei-notification-success-border);
  --birei-notification-accent: var(--birei-success);
}

.birei-notification--warning {
  --birei-notification-bg: var(--birei-notification-warning-bg);
  --birei-notification-border: var(--birei-notification-warning-border);
  --birei-notification-accent: var(--birei-warning);
}

.birei-notification--error {
  --birei-notification-bg: var(--birei-notification-error-bg);
  --birei-notification-border: var(--birei-notification-error-border);
  --birei-notification-accent: var(--birei-error);
}

.birei-notification__icon {
  align-items: center;
  align-self: start;
  color: var(--birei-notification-accent);
  display: inline-flex;
  justify-content: center;
  margin-top: 0.22rem;
}

.birei-notification__text {
  line-height: 1.5;
  min-width: 0;
}

.birei-notification__dismiss {
  color: color-mix(in srgb, var(--birei-notification-accent) 88%, var(--birei-text) 12%);
  justify-self: end;
  margin-right: -0.15rem;
  margin-top: -0.15rem;
}

.birei-popup-backdrop {
  align-items: center;
  background: var(--birei-surface-overlay);
  backdrop-filter: blur(3px);
  display: grid;
  inset: 0;
  justify-items: center;
  padding: 1.25rem;
  position: fixed;
  z-index: var(--birei-z-modal-backdrop, 1400);
}

.birei-popup {
  background: var(--birei-surface);
  border: 1px solid var(--birei-border);
  border-radius: var(--birei-radius-huge);
  box-shadow: var(--birei-shadow-strong);
  color: var(--birei-text);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  max-height: min(42rem, 100vh - 2.5rem);
  max-width: min(42rem, 100vw - 2.5rem);
  min-width: min(32rem, 100vw - 2.5rem);
  overflow: hidden;
  width: 100%;
}

.birei-popup__header {
  align-items: center;
  background: var(--birei-surface-muted);
  border-bottom: 1px solid var(--birei-border-subtle);
  display: grid;
  gap: 0.75rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 1rem 1rem 0.95rem;
}

.birei-popup__header-copy {
  min-width: 0;
}

.birei-popup__title {
  color: var(--birei-text);
  font-size: var(--birei-font-size-h5);
  font-weight: var(--birei-font-weight-h5);
  line-height: 1.15;
  margin: 0;
}

.birei-popup__close {
  justify-self: end;
}

.birei-popup__body {
  min-height: 0;
  overflow: auto;
  padding: 1rem;
}

.birei-popup__actions {
  align-items: center;
  background: var(--birei-surface-muted);
  border-top: 1px solid var(--birei-border-subtle);
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  justify-content: flex-end;
  padding: 0.9rem 1rem 1rem;
}

@media (max-width: 640px) {
  .birei-popup-backdrop {
    padding: 0;
  }
  .birei-popup {
    border-radius: 0;
    height: 100vh;
    max-height: 100vh;
    max-width: 100vw;
    min-width: 100vw;
  }
}
.birei-qr-code {
  background: transparent;
  border: 0;
  display: inline-block;
  line-height: 0;
  margin: 0;
  max-width: 100%;
  padding: 0;
}

.birei-qr-code__svg {
  /* The code lies on the surrounding surface: dark modules in light mode, light modules in
     dark mode, which scanners read as an inverted code. */
  background: transparent;
  color: light-dark(var(--birei-qr-code-color, #000000), var(--birei-qr-code-dark-color, #ffffff));
  display: block;
  height: auto;
  max-width: 100%;
}

.birei-qr-code__image-backdrop {
  fill: var(--birei-surface);
}

.birei-qr-code--interactive {
  cursor: pointer;
}

.birei-qr-code--interactive:focus-visible {
  border-radius: var(--birei-radius-small);
  box-shadow: 0 0 0 3px var(--birei-focus-ring);
  outline: none;
}

.birei-relation-graph {
  --birei-relation-graph-bg: var(--birei-surface);
  --birei-relation-graph-surface: var(--birei-surface-elevated);
  --birei-relation-graph-border: var(--birei-border);
  --birei-relation-graph-node-border: var(--birei-border-subtle);
  --birei-relation-graph-node-shadow: var(--birei-shadow-soft);
  --birei-relation-graph-line: var(--birei-accent-text);
  --birei-relation-graph-line-hover: var(--birei-accent-hover);
  display: block;
  height: var(--birei-relation-graph-height, 20rem);
  min-width: 0;
}

.birei-relation-graph__viewport {
  background: var(--birei-relation-graph-bg);
  border: 1px solid var(--birei-relation-graph-border);
  border-radius: var(--birei-radius-huge);
  cursor: grab;
  height: 100%;
  overflow: hidden;
  position: relative;
  touch-action: none;
  user-select: none;
}

.birei-relation-graph__controls {
  position: absolute;
  top: 0.875rem;
  right: 0.875rem;
  display: grid;
  gap: 0.5rem;
  z-index: 2;
}

.birei-relation-graph__zoom-button {
  width: 2.25rem;
  height: 2.25rem;
  min-width: 2.25rem;
  border-radius: var(--birei-radius-full);
  font-size: 1.25rem;
  line-height: 1;
  padding: 0;
}

.birei-relation-graph--dragging .birei-relation-graph__viewport {
  cursor: grabbing;
}

.birei-relation-graph__scene {
  left: 0;
  overflow: visible;
  position: absolute;
  top: 0;
  transform-origin: 0 0;
  will-change: transform;
}

.birei-relation-graph__edges,
.birei-relation-graph__nodes {
  inset: 0;
  overflow: visible;
  position: absolute;
}

.birei-relation-graph__nodes {
  pointer-events: none;
}

.birei-relation-graph__node {
  background: var(--birei-relation-graph-surface);
  border: 1px solid var(--birei-relation-graph-node-border);
  border-radius: var(--birei-radius-huge);
  box-sizing: border-box;
  box-shadow: var(--birei-relation-graph-node-shadow);
  display: grid;
  overflow: hidden;
  pointer-events: auto;
  position: absolute;
}

.birei-relation-graph__node-main {
  align-items: center;
  box-sizing: border-box;
  display: grid;
  gap: 0.45rem;
  grid-template-columns: auto minmax(0, 1fr) auto;
  height: 40.5px;
  padding: 0.3rem 0.6rem;
}

.birei-relation-graph__node-icon {
  align-items: center;
  color: var(--birei-accent-text);
  display: inline-flex;
  justify-content: center;
}

.birei-relation-graph__node-copy {
  min-width: 0;
}

.birei-relation-graph__node-name {
  color: var(--birei-text);
  font-size: 0.95rem;
  font-weight: var(--birei-font-weight-h5);
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.birei-relation-graph__load {
  align-items: center;
  background: var(--birei-accent);
  border: 1px solid var(--birei-accent-text);
  border-radius: var(--birei-radius-base);
  color: var(--birei-accent-contrast);
  cursor: pointer;
  display: inline-flex;
  height: 1.4rem;
  justify-content: center;
  line-height: 1;
  justify-self: end;
  transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease;
  width: 1.4rem;
}

.birei-relation-graph__load:hover {
  background: var(--birei-accent-hover);
  border-color: var(--birei-accent-hover);
}

.birei-relation-graph__load:focus-visible {
  outline: 2px solid var(--birei-accent-text);
  outline-offset: 2px;
}

.birei-relation-graph__node-fields {
  border-top: 1px solid var(--birei-border-subtle);
  display: grid;
}

.birei-relation-graph__node-field {
  align-items: center;
  box-sizing: border-box;
  color: var(--birei-text-muted);
  display: grid;
  font-size: 0.75rem;
  gap: 0.5rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 0 0.6rem;
}

.birei-relation-graph__node-field + .birei-relation-graph__node-field {
  box-shadow: inset 0 1px 0 var(--birei-border-subtle);
}

.birei-relation-graph__node-field--highlighted {
  color: var(--birei-text);
}

.birei-relation-graph__node-field-copy {
  align-items: baseline;
  display: flex;
  gap: 0.35rem;
  min-width: 0;
}

.birei-relation-graph__node-field-ident {
  color: var(--birei-text-muted);
  flex: 0 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.birei-relation-graph__node-field-name {
  color: var(--birei-text);
  flex: 1 1 auto;
  font-weight: 500;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.birei-relation-graph__node-field-type {
  color: var(--birei-text-subtle);
  font-size: 0.7rem;
}

.birei-relation-graph__edge {
  fill: none;
  pointer-events: none;
  stroke: var(--birei-relation-graph-line);
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke 120ms ease, stroke-width 120ms ease, filter 120ms ease;
  stroke-width: 2.25;
}

.birei-relation-graph__edge-hit {
  fill: none;
  pointer-events: stroke;
  stroke: transparent;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 16;
}

.birei-relation-graph__edge-group:hover .birei-relation-graph__edge {
  stroke: var(--birei-relation-graph-line-hover);
  stroke-width: 3.75;
  filter: drop-shadow(0 0 3px color-mix(in srgb, var(--birei-relation-graph-line-hover) 55%, transparent));
}

.birei-relation-graph__arrow {
  fill: var(--birei-relation-graph-line);
}

.birei-relation-graph__edge-group:hover .birei-relation-graph__arrow {
  fill: var(--birei-relation-graph-line-hover);
  filter: drop-shadow(0 0 3px color-mix(in srgb, var(--birei-relation-graph-line-hover) 55%, transparent));
}

.birei-relation-graph__popup {
  --birei-relation-graph-popup-bg: color-mix(in srgb, var(--birei-surface-inverse) 96%, transparent);
  --birei-relation-graph-popup-border: color-mix(in srgb, var(--birei-text-inverse) 8%, transparent);
  --birei-relation-graph-popup-color: var(--birei-text-inverse);
  background: var(--birei-relation-graph-popup-bg);
  border: 1px solid var(--birei-relation-graph-popup-border);
  border-radius: var(--birei-radius-base);
  box-shadow: var(--birei-shadow-strong);
  color: var(--birei-relation-graph-popup-color);
  display: grid;
  gap: 0.28rem;
  max-width: min(20rem, 100vw - 1rem);
  padding: 0.6rem 0.75rem;
  pointer-events: none;
  position: fixed;
  z-index: var(--birei-z-tooltip, 1600);
}

.birei-relation-graph__popup-title {
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.25;
}

.birei-relation-graph__popup-body {
  color: var(--birei-text-inverse);
  font-size: 0.8rem;
  line-height: 1.35;
}

.birei-relation-graph__empty {
  align-items: center;
  color: var(--birei-text-muted);
  display: grid;
  height: 100%;
  inset: 0;
  justify-items: center;
  position: absolute;
}

.birei-dropdown-button {
  --birei-dropdown-menu-bg: var(--birei-surface-elevated);
  --birei-dropdown-menu-border: var(--birei-border-subtle);
  --birei-dropdown-item-hover: color-mix(
      in srgb,
      var(--birei-accent-text) 8%,
      transparent
  );
  --birei-dropdown-item-active: color-mix(
      in srgb,
      var(--birei-accent-text) 14%,
      transparent
  );
  --birei-dropdown-scrollbar-thumb: var(--birei-scrollbar-thumb);
  --birei-dropdown-scrollbar-thumb-hover: var(
      --birei-scrollbar-thumb-hover
  );
  display: inline-flex;
  position: relative;
}

.birei-dropdown-button__trigger {
  padding-right: 0.7rem;
}

.birei-dropdown-button__trigger[aria-expanded=true] .birei-dropdown-button__caret {
  transform: rotate(180deg);
}

.birei-dropdown-button__divider {
  align-self: stretch;
  background: currentColor;
  inline-size: 1px;
  opacity: 0.18;
}

.birei-dropdown-button__caret {
  display: inline-flex;
  transition: transform 140ms ease;
}

.birei-dropdown-button__menu {
  --birei-dropdown-menu-bg: var(--birei-surface-elevated);
  --birei-dropdown-menu-border: var(--birei-border-subtle);
  --birei-dropdown-item-hover: color-mix(
      in srgb,
      var(--birei-accent-text) 8%,
      transparent
  );
  --birei-dropdown-item-active: color-mix(
      in srgb,
      var(--birei-accent-text) 14%,
      transparent
  );
  --birei-dropdown-scrollbar-thumb: var(--birei-scrollbar-thumb);
  --birei-dropdown-scrollbar-thumb-hover: var(
      --birei-scrollbar-thumb-hover
  );
  background: var(--birei-dropdown-menu-bg);
  border: 1px solid var(--birei-dropdown-menu-border);
  border-radius: var(--birei-radius-huge);
  box-shadow: var(--birei-shadow-strong);
  color: inherit;
  scrollbar-color: var(--birei-dropdown-scrollbar-thumb) transparent;
  scrollbar-width: thin;
}
.birei-dropdown-button__menu::-webkit-scrollbar {
  height: 0.7rem;
  width: 0.7rem;
}
.birei-dropdown-button__menu::-webkit-scrollbar-track {
  background: transparent;
}
.birei-dropdown-button__menu::-webkit-scrollbar-thumb {
  background: var(--birei-dropdown-scrollbar-thumb);
  background-clip: padding-box;
  border: 0.15rem solid transparent;
  border-radius: 999px;
}
@media (hover: hover) and (pointer: fine) {
  .birei-dropdown-button__menu::-webkit-scrollbar-thumb:hover {
    background: var(--birei-dropdown-scrollbar-thumb-hover);
    background-clip: padding-box;
    border: 0.15rem solid transparent;
  }
}
.birei-dropdown-button__menu {
  display: grid;
  box-sizing: border-box;
  gap: 0.25rem;
  max-height: 16rem;
  overflow-x: clip;
  overflow-y: auto;
  padding: 0.45rem;
  position: fixed;
  z-index: var(--birei-z-popover, 1500);
}

.birei-dropdown-button__menu--content-width {
  inline-size: max-content;
  max-inline-size: min(24rem, 100vw - 1rem);
}

.birei-dropdown-button__menu--upward {
  transform: translateY(-100%);
}

.birei-dropdown-button__item {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: calc(var(--birei-radius-huge) - 0.2rem);
  color: inherit;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-weight: 500;
  gap: 0.6rem;
  justify-content: space-between;
  min-height: 2.5rem;
  padding: 0.7rem 0.85rem;
  text-align: left;
  width: 100%;
}

.birei-dropdown-button__item-content {
  align-items: center;
  display: inline-flex;
  gap: 0.65rem;
  min-width: 0;
}

.birei-dropdown-button__item--active {
  background: var(--birei-dropdown-item-hover);
}

.birei-dropdown-button__item--selected {
  background: var(--birei-dropdown-item-active);
}

.birei-dropdown-button__item--disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

@media (hover: hover) and (pointer: fine) {
  .birei-dropdown-button__item:hover:not(:disabled) {
    background: var(--birei-dropdown-item-hover);
  }
}
/* Shared select shell with integrated search field and dropdown surface. */
.birei-select {
  --birei-select-clear-bg-hover: color-mix(
      in srgb,
      var(--birei-accent-text) 8%,
      transparent
  );
  --birei-select-bg: var(--birei-surface);
  --birei-select-border: var(--birei-border);
  --birei-select-border-hover: color-mix(
      in srgb,
      var(--birei-accent-text) 50%,
      transparent
  );
  --birei-select-border-invalid: var(--birei-error);
  --birei-select-color: var(--birei-text);
  --birei-select-placeholder: var(--birei-text-subtle);
  --birei-select-affix-color: var(--birei-secondary);
  --birei-select-indicator-color: var(--birei-secondary);
  --birei-select-line-color: var(--birei-accent-text);
  --birei-select-line-color-current: var(--birei-select-line-color);
  --birei-select-line-resting-current: var(--birei-text-muted);
  --birei-select-tag-bg: color-mix(
      in srgb,
      var(--birei-accent-text) 8%,
      transparent
  );
  --birei-select-tag-color: var(--birei-accent-text);
  --birei-select-menu-bg: var(--birei-surface-elevated);
  --birei-select-menu-border: var(--birei-border-subtle);
  --birei-select-option-hover: color-mix(
      in srgb,
      var(--birei-accent-text) 8%,
      transparent
  );
  --birei-select-option-selected: color-mix(
      in srgb,
      var(--birei-accent-text) 14%,
      transparent
  );
  --birei-select-scrollbar-thumb: var(--birei-scrollbar-thumb);
  --birei-select-scrollbar-thumb-hover: var(
      --birei-scrollbar-thumb-hover
  );
  --birei-select-line-origin: 50%;
  --birei-select-inline-padding: 0.75rem;
  --birei-select-affix-button-padding: 0.75rem;
  --birei-select-clear-size: 1.2rem;
  --birei-select-height: 2rem;
  --birei-select-option-height: 2.5rem;
  --birei-tag-bg: var(--birei-select-tag-bg);
  --birei-tag-color: var(--birei-select-tag-color);
  --birei-tag-remove-hover: var(
      --birei-select-clear-bg-hover,
      color-mix(in srgb, var(--birei-accent-text) 8%, transparent)
  );
  box-sizing: border-box;
  max-inline-size: 100%;
  min-inline-size: min(16rem, 100%);
  position: relative;
  width: 100%;
}

/* Prefix and suffix mirror input affixes while keeping select actions inside the field. */
.birei-select__affix {
  align-items: center;
  align-self: stretch;
  color: var(--birei-select-affix-color);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.9em;
  gap: 0.45rem;
  white-space: nowrap;
}

.birei-select__affix:has(> .birei-button) {
  color: inherit;
  gap: 0;
  position: relative;
}

.birei-select__affix--prefix:has(> .birei-button) {
  border-right: 1px solid var(--birei-border-subtle);
  margin-left: calc(var(--birei-select-inline-padding) * -1);
}

.birei-select__affix--suffix:has(> .birei-button) {
  border-left: 1px solid var(--birei-border-subtle);
  margin-right: calc(var(--birei-select-inline-padding) * -1);
}

.birei-select__affix > .birei-button {
  align-self: stretch;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  flex: 0 0 auto;
  height: auto;
}

.birei-select__affix--prefix > .birei-button {
  padding-left: var(--birei-select-inline-padding);
  padding-right: var(--birei-select-affix-button-padding);
}

.birei-select__affix--suffix > .birei-button {
  padding-left: var(--birei-select-affix-button-padding);
  padding-right: var(--birei-select-inline-padding);
}

.birei-select__surface {
  align-items: center;
  background: var(--birei-select-bg);
  border: 1px solid var(--birei-select-border);
  border-radius: var(--birei-radius-base);
  box-sizing: border-box;
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--birei-surface) 72%, transparent);
  color: var(--birei-select-color);
  cursor: text;
  display: inline-flex;
  gap: 0.65rem;
  min-height: var(--birei-select-height);
  padding: 0 var(--birei-select-inline-padding);
  position: relative;
  text-align: left;
  transition: border-color 140ms ease, box-shadow 160ms ease, background-color 160ms ease;
  min-width: 0;
  width: 100%;
}

.birei-select__surface[aria-expanded=true] .birei-select__indicator {
  transform: rotate(225deg);
}

.birei-select__surface::after {
  background: var(--birei-select-line-color-current);
  border-radius: 999px;
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  transform: scaleX(0);
  transform-origin: var(--birei-select-line-origin) center;
  transition: transform 210ms ease-out;
  z-index: 3;
}

.birei-select__surface::before {
  background: var(--birei-select-line-resting-current);
  border-radius: 999px;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  z-index: 2;
}

.birei-select__control {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  gap: 0.4rem;
  min-width: 0;
  padding-block: 0.3rem;
}

.birei-select__field {
  appearance: none;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: text;
  flex: 1 1 0;
  font: inherit;
  min-height: calc(var(--birei-select-height) - 0.6rem);
  min-width: 4rem;
  outline: none;
  padding: 0;
}

/* Selected tags that do not fit on a single line are counted in the `+N` chip. */
.birei-select__control > .birei-tag[hidden] {
  display: none;
}

.birei-select__more {
  background: var(--birei-tag-bg);
  border-radius: var(--birei-radius-full);
  color: var(--birei-tag-color);
  flex: 0 0 auto;
  padding: 0.18rem 0.45rem;
  white-space: nowrap;
}

/* An affix without content takes no space and no gap. */
.birei-select__affix:empty {
  display: none;
}

/* In table cells a multi-select keeps one line: tags do not wrap, long labels end in an
   ellipsis, and the filter field and the remove buttons only take space while the select is
   being edited. */
.birei-table__cell .birei-select {
  --birei-select-inline-padding: 0.5rem;
}

.birei-table__cell .birei-select:not(:focus-within) .birei-tag__remove {
  display: none;
}

.birei-table__cell .birei-select__control {
  flex-wrap: nowrap;
  overflow: hidden;
}

.birei-table__cell .birei-select__control > .birei-tag {
  flex: 0 0 auto;
  max-width: 10rem;
  min-width: 0;
  white-space: nowrap;
}

/* Only the first tag shrinks; further tags keep their width or move into the `+N` chip. */
.birei-table__cell .birei-select__control > .birei-tag:first-child {
  flex-shrink: 1;
}

/* Tags are measured at their natural width to decide which move into the `+N` chip. */
.birei-table__cell .birei-select__control[data-measuring] > .birei-tag:first-child,
.birei-select__control[data-measuring] > .birei-tag {
  flex-shrink: 0;
}

.birei-table__cell .birei-select__control > .birei-tag > span:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
}

.birei-table__cell .birei-select:not(:focus-within) .birei-select__control:has(> .birei-tag) > .birei-select__field {
  flex: 0 0 0;
  min-width: 0;
  opacity: 0;
  width: 0;
}

.birei-select__field::placeholder {
  color: var(--birei-select-placeholder);
}

.birei-select__actions {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 0.35rem;
  position: relative;
  z-index: 4;
}

.birei-select__toggle {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: var(--birei-radius-full);
  color: var(--birei-select-indicator-color);
  cursor: pointer;
  display: inline-flex;
  height: var(--birei-select-clear-size);
  justify-content: center;
  padding: 0;
  width: var(--birei-select-clear-size);
}

.birei-select__indicator {
  border-bottom: 2px solid var(--birei-select-indicator-color);
  border-right: 2px solid var(--birei-select-indicator-color);
  display: inline-block;
  height: 0.5rem;
  transform: rotate(45deg);
  transition: transform 140ms ease;
  width: 0.5rem;
}

.birei-select__clear {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: var(--birei-radius-full);
  color: inherit;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  justify-content: center;
  line-height: 1;
  padding: 0;
}

.birei-select__clear {
  color: var(--birei-select-indicator-color);
  font-size: 0.8rem;
  height: var(--birei-select-clear-size);
  width: var(--birei-select-clear-size);
}

.birei-select__menu {
  scrollbar-color: var(--birei-select-scrollbar-thumb) transparent;
  scrollbar-width: thin;
}
.birei-select__menu::-webkit-scrollbar {
  height: 0.7rem;
  width: 0.7rem;
}
.birei-select__menu::-webkit-scrollbar-track {
  background: transparent;
}
.birei-select__menu::-webkit-scrollbar-thumb {
  background: var(--birei-select-scrollbar-thumb);
  background-clip: padding-box;
  border: 0.15rem solid transparent;
  border-radius: 999px;
}
@media (hover: hover) and (pointer: fine) {
  .birei-select__menu::-webkit-scrollbar-thumb:hover {
    background: var(--birei-select-scrollbar-thumb-hover);
    background-clip: padding-box;
    border: 0.15rem solid transparent;
  }
}
.birei-select__menu {
  background: var(--birei-select-menu-bg);
  border: 1px solid var(--birei-select-menu-border);
  border-radius: var(--birei-radius-huge);
  box-shadow: var(--birei-shadow-strong);
  display: grid;
  gap: 0;
  left: 0;
  margin-top: 0.45rem;
  max-height: 16rem;
  overflow-x: clip;
  overflow-y: auto;
  overflow-anchor: none;
  padding: 0.45rem;
  position: absolute;
  right: 0;
  scroll-padding-block: 0.45rem;
  top: 100%;
  z-index: 20;
}

.birei-select__menu--portal {
  /* Portaled menus live outside the select and resolve the same tokens directly. */
  --birei-select-menu-bg: var(--birei-surface-elevated);
  --birei-select-menu-border: var(--birei-border-subtle);
  --birei-select-option-hover: color-mix(in srgb, var(--birei-accent-text) 8%, transparent);
  --birei-select-option-selected: color-mix(
      in srgb,
      var(--birei-accent-text) 14%,
      transparent
  );
  --birei-select-placeholder: var(--birei-text-subtle);
  --birei-select-scrollbar-thumb: var(--birei-scrollbar-thumb);
  --birei-select-scrollbar-thumb-hover: var(--birei-scrollbar-thumb-hover);
  margin-top: 0;
  position: fixed;
  right: auto;
  top: 0;
  left: 0;
  z-index: var(--birei-z-popover, 1500);
}

.birei-select__menu--upward {
  transform: translateY(-100%);
}

.birei-select__option {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: calc(var(--birei-radius-huge) - 0.2rem);
  box-sizing: border-box;
  color: inherit;
  cursor: pointer;
  display: flex;
  gap: 0.75rem;
  height: var(--birei-select-option-height);
  justify-content: space-between;
  overflow-anchor: none;
  padding: 0.65rem 0.75rem;
  text-align: left;
  width: 100%;
}

.birei-select__menu-spacer {
  flex: 0 0 auto;
  overflow-anchor: none;
}

.birei-select__option-content {
  align-items: center;
  display: inline-flex;
  gap: 0.55rem;
  min-width: 0;
}

.birei-select__option-mark {
  color: var(--birei-accent-text);
  min-width: 1rem;
  text-align: center;
}

.birei-select__option--selected {
  background: var(--birei-select-option-selected);
}

.birei-select__option--active {
  background: var(--birei-select-option-hover);
}

.birei-select__option--disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.birei-select__empty {
  color: var(--birei-select-placeholder);
  padding: 0.65rem 0.75rem;
}

@media (hover: hover) and (pointer: fine) {
  .birei-select:not(.birei-select--disabled):not(.birei-select--readonly) .birei-select__surface:hover {
    border-color: var(--birei-select-border-hover);
  }
  .birei-select__clear:hover,
  .birei-select__toggle:hover {
    background: var(--birei-select-clear-bg-hover);
  }
  .birei-select__option:hover:not(:disabled) {
    background: var(--birei-select-option-hover);
  }
}
.birei-select:focus-within:not(.birei-select--readonly):not(.birei-select--disabled) .birei-select__surface::after {
  transform: scaleX(1);
}

.birei-select__surface:focus-visible,
.birei-select__field:focus-visible,
.birei-select__clear:focus-visible,
.birei-select__option:focus-visible {
  outline: none;
}

.birei-select--invalid {
  --birei-select-line-resting-current: var(--birei-select-border-invalid);
  --birei-select-line-color-current: var(--birei-select-border-invalid);
}

.birei-select--disabled .birei-select__surface {
  --birei-select-affix-color: var(--birei-disabled-text);
  border-color: var(--birei-disabled-border);
  color: var(--birei-disabled-text);
  cursor: not-allowed;
}

.birei-select--disabled .birei-select__surface::before,
.birei-select--disabled .birei-select__surface::after {
  content: none;
}

.birei-select--disabled .birei-select__field {
  cursor: not-allowed;
}

.birei-select--readonly .birei-select__surface {
  border-color: var(--birei-disabled-border);
}

.birei-select--readonly .birei-select__surface::before {
  background: color-mix(in srgb, var(--birei-secondary) 52%, transparent);
}

.birei-select--readonly .birei-select__field {
  cursor: default;
}

.birei-select:where(.birei-size--small) {
  --birei-select-inline-padding: 0.55rem;
  --birei-select-affix-button-padding: 0.55rem;
  --birei-select-clear-size: 1rem;
  --birei-select-height: 1.5rem;
  font-size: 0.875rem;
}

.birei-select:where(.birei-size--small) .birei-select__surface {
  border-radius: var(--birei-radius-small);
}

.birei-select:where(.birei-size--medium) {
  font-size: 0.95rem;
}

.birei-select:where(.birei-size--large) {
  --birei-select-inline-padding: 0.95rem;
  --birei-select-affix-button-padding: 1.25rem;
  --birei-select-clear-size: 1.35rem;
  --birei-select-height: 2.5rem;
  font-size: 1rem;
}

.birei-select:where(.birei-size--large) .birei-select__surface {
  border-radius: var(--birei-radius-large);
}

:root {
  --birei-sign-pad-bg: var(--birei-surface);
  --birei-sign-pad-border: var(--birei-border);
  --birei-sign-pad-border-hover: var(--birei-border-strong);
  --birei-sign-pad-border-disabled: var(--birei-disabled-border);
  --birei-sign-pad-ink: var(--birei-text);
  /* Exported signatures keep dark ink independent of the theme, they end up on paper. */
  --birei-sign-pad-export-ink: var(--birei-neutral-950);
  --birei-sign-pad-placeholder: var(--birei-text-subtle);
  --birei-sign-pad-grid: color-mix(
      in srgb,
      var(--birei-accent-text) 10%,
      transparent
  );
  --birei-sign-pad-shadow: var(--birei-shadow-soft);
}

.birei-sign-pad {
  color: var(--birei-text);
  display: grid;
  gap: 0.5rem;
  position: relative;
  width: var(--birei-sign-pad-width, 420px);
}

.birei-sign-pad__toolbar {
  display: flex;
  justify-content: flex-end;
  left: 0.75rem;
  pointer-events: none;
  position: absolute;
  right: 0.75rem;
  top: 0.75rem;
  z-index: 1;
}

.birei-sign-pad__clear {
  background: color-mix(in srgb, var(--birei-sign-pad-bg) 86%, var(--birei-accent-text) 14%);
  backdrop-filter: blur(8px);
  border: 1px solid var(--birei-border);
  pointer-events: auto;
}

.birei-sign-pad__surface {
  align-items: center;
  background: var(--birei-sign-pad-bg);
  border: 1px solid var(--birei-sign-pad-border);
  border-radius: var(--birei-radius-base);
  box-shadow: var(--birei-sign-pad-shadow);
  cursor: crosshair;
  display: grid;
  height: var(--birei-sign-pad-height, 180px);
  isolation: isolate;
  overflow: hidden;
  place-items: center;
  position: relative;
  touch-action: none;
  transition: border-color 120ms ease, box-shadow 120ms ease, background-color 120ms ease;
  user-select: none;
  width: var(--birei-sign-pad-width, 420px);
}

.birei-sign-pad__surface::before {
  background-image: linear-gradient(180deg, transparent 0, transparent calc(66.666% - 0.5px), var(--birei-sign-pad-grid) calc(66.666% - 0.5px), var(--birei-sign-pad-grid) calc(66.666% + 0.5px), transparent calc(66.666% + 0.5px));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.birei-sign-pad:not(.birei-sign-pad--disabled):not(.birei-sign-pad--readonly) .birei-sign-pad__surface:hover {
  border-color: var(--birei-sign-pad-border-hover);
}

.birei-sign-pad__canvas {
  display: block;
  height: 100%;
  position: relative;
  width: 100%;
  z-index: 1;
}

.birei-sign-pad__segment,
.birei-sign-pad__point {
  fill: var(--birei-sign-pad-ink);
  stroke: var(--birei-sign-pad-ink);
}

.birei-sign-pad__placeholder {
  color: var(--birei-sign-pad-placeholder);
  font-size: var(--birei-font-size-h6);
  font-weight: var(--birei-font-weight-h6);
  left: 50%;
  letter-spacing: -0.02em;
  pointer-events: none;
  position: absolute;
  text-align: center;
  top: 81%;
  transform: translate(-50%, -50%);
  z-index: 0;
}

.birei-sign-pad--disabled .birei-sign-pad__surface,
.birei-sign-pad--readonly .birei-sign-pad__surface {
  background: var(--birei-disabled-surface);
  border-color: var(--birei-sign-pad-border-disabled);
  box-shadow: none;
  cursor: default;
}

.birei-sign-pad--disabled,
.birei-sign-pad--readonly {
  color: var(--birei-disabled-text);
}

.birei-sign-pad--disabled .birei-sign-pad__segment,
.birei-sign-pad--disabled .birei-sign-pad__point,
.birei-sign-pad--readonly .birei-sign-pad__segment,
.birei-sign-pad--readonly .birei-sign-pad__point {
  fill: color-mix(in srgb, var(--birei-text) 64%, var(--birei-disabled-text) 36%);
  stroke: color-mix(in srgb, var(--birei-text) 64%, var(--birei-disabled-text) 36%);
}

/* Native range slider with custom Birei track, fill, and step labels. */
.birei-slider {
  --birei-slider-track-bg-disabled: color-mix(in srgb, var(--birei-secondary) 12%, transparent);
  --birei-slider-track-fill-disabled: color-mix(in srgb, var(--birei-secondary) 32%, transparent);
  --birei-slider-thumb-shadow-active: 0 0.5rem 1.15rem color-mix(in srgb, var(--birei-accent-text) 22%, transparent);
  --birei-slider-ripple-color: rgba(255, 255, 255, 0.34);
  --birei-slider-label-color: var(--birei-text);
  --birei-slider-label-color-muted: color-mix(
      in srgb,
      var(--birei-text) 62%,
      transparent
  );
  --birei-slider-label-color-active: var(--birei-accent-text);
  --birei-slider-track-bg: color-mix(in srgb, var(--birei-secondary) 18%, transparent);
  --birei-slider-track-fill: var(--birei-accent);
  --birei-slider-thumb-bg: var(--birei-surface);
  --birei-slider-thumb-border: color-mix(
      in srgb,
      var(--birei-border) 88%,
      transparent
  );
  --birei-slider-thumb-shadow: 0 0.35rem 0.85rem
      color-mix(in srgb, var(--birei-accent-text) 18%, transparent);
  --birei-slider-thumb-ring: var(--birei-border-subtle);
  --birei-slider-step-label-color: var(--birei-slider-label-color-muted);
  --birei-slider-step-label-color-active: var(
      --birei-slider-label-color-active
  );
  --birei-slider-ripple-origin: 50%;
  --birei-slider-ripple-size: 0px;
  --birei-slider-fill-ratio: 0;
  --birei-slider-fill-percent: 0%;
  --birei-slider-thumb-size: 1.1rem;
  --birei-slider-track-height: 0.42rem;
  --birei-slider-step-top: 1rem;
  --birei-slider-track-inset: calc(var(--birei-slider-thumb-size) / 3);
  --birei-slider-track-usable-width: calc(
      100% - (var(--birei-slider-track-inset) * 2)
  );
  color: var(--birei-slider-label-color);
  display: grid;
  gap: 0.36rem;
  width: 100%;
}

.birei-slider__control {
  display: grid;
  min-height: var(--birei-slider-thumb-size);
  position: relative;
}

.birei-slider__track {
  display: block;
  height: var(--birei-slider-track-height);
  inset: 50% var(--birei-slider-track-inset) auto;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  border-radius: 999px;
  transform: translateY(-50%);
}

.birei-slider__thumb {
  background: var(--birei-slider-thumb-bg);
  border: 1px solid var(--birei-slider-thumb-border);
  border-radius: 999px;
  box-shadow: var(--birei-slider-thumb-shadow);
  height: var(--birei-slider-thumb-size);
  left: calc(var(--birei-slider-track-inset) + var(--birei-slider-fill-ratio) * var(--birei-slider-track-usable-width));
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: box-shadow 160ms ease, transform 160ms ease, border-color 160ms ease;
  width: var(--birei-slider-thumb-size);
  z-index: 1;
}

.birei-slider__track-base,
.birei-slider__track-fill,
.birei-slider__track-ripple {
  display: block;
  position: absolute;
  top: 0;
}

.birei-slider__track-base {
  background: var(--birei-slider-track-bg);
  border-radius: inherit;
  inset: 0;
  right: 0;
}

.birei-slider__track-fill {
  background: linear-gradient(90deg, color-mix(in srgb, var(--birei-slider-track-fill) 88%, var(--birei-surface) 12%) 0%, var(--birei-slider-track-fill) 100%);
  border-radius: inherit;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08);
  overflow: hidden;
  left: 0;
  inset-block: 0;
  width: var(--birei-slider-fill-percent);
}

.birei-slider__track-ripple {
  background: var(--birei-slider-ripple-color);
  height: var(--birei-slider-ripple-size);
  left: var(--birei-slider-ripple-origin);
  opacity: 0;
  top: 50%;
  width: var(--birei-slider-ripple-size);
  transform: translate(-50%, -50%) scale(0);
}

.birei-slider__native {
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  cursor: pointer;
  height: var(--birei-slider-thumb-size);
  margin: 0 var(--birei-slider-track-inset);
  outline: none;
  position: relative;
  width: var(--birei-slider-track-usable-width);
  z-index: 1;
}

.birei-slider__native::-webkit-slider-runnable-track {
  -webkit-appearance: none;
  background: transparent;
  height: var(--birei-slider-track-height);
}

.birei-slider__native::-moz-range-track {
  background: transparent;
  border: 0;
  height: var(--birei-slider-track-height);
}

.birei-slider__native::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: 999px;
  box-shadow: none;
  height: var(--birei-slider-thumb-size);
  margin-top: calc((var(--birei-slider-track-height) - var(--birei-slider-thumb-size)) * 0.5);
  transition: box-shadow 160ms ease, transform 160ms ease, border-color 160ms ease;
  width: var(--birei-slider-thumb-size);
}

.birei-slider__native::-moz-range-thumb {
  background: transparent;
  border: 0;
  border-radius: 999px;
  box-shadow: none;
  height: var(--birei-slider-thumb-size);
  margin-top: 0;
  transition: box-shadow 160ms ease, transform 160ms ease, border-color 160ms ease;
  width: var(--birei-slider-thumb-size);
}

.birei-slider:focus-within .birei-slider__thumb,
.birei-slider__native:active ~ .birei-slider__thumb {
  box-shadow: var(--birei-slider-thumb-shadow-active);
  transform: translate(-50%, -50%) scale(1.03);
}

.birei-slider__steps {
  min-height: 1.55rem;
  position: relative;
}

.birei-slider__step {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--birei-slider-step-label-color);
  cursor: pointer;
  display: grid;
  gap: 0.16rem;
  justify-items: center;
  left: 0;
  min-width: 3.2rem;
  padding: 0;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
}

.birei-slider__step:first-child {
  justify-items: start;
  text-align: left;
  transform: none;
}

.birei-slider__step:last-child {
  justify-items: end;
  text-align: right;
  transform: translateX(-100%);
}

.birei-slider__step-mark {
  background: color-mix(in srgb, var(--birei-secondary) 32%, transparent);
  border-radius: 999px;
  height: 0.34rem;
  transition: background-color 140ms ease, transform 140ms ease;
  width: 0.34rem;
}

.birei-slider__step-label {
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.2;
  white-space: nowrap;
}

.birei-slider__step[aria-pressed=true] {
  color: var(--birei-slider-step-label-color-active);
}

.birei-slider__step[aria-pressed=true] .birei-slider__step-mark {
  background: var(--birei-slider-track-fill);
  transform: scale(1.15);
}

@media (hover: hover) and (pointer: fine) {
  .birei-slider__step:hover:not(:disabled) {
    color: var(--birei-slider-step-label-color-active);
  }
  .birei-slider__step:hover:not(:disabled) .birei-slider__step-mark {
    background: var(--birei-slider-track-fill);
  }
}
.birei-slider--ripple-a .birei-slider__track-ripple {
  animation: birei-slider-ripple-a 640ms ease-out;
}

.birei-slider--ripple-b .birei-slider__track-ripple {
  animation: birei-slider-ripple-b 640ms ease-out;
}

.birei-slider--invalid {
  --birei-slider-track-fill: var(--birei-error);
  --birei-slider-thumb-border: color-mix(
      in srgb,
      var(--birei-error) 72%,
      var(--birei-surface) 28%
  );
}

.birei-slider--disabled {
  --birei-slider-track-bg: var(--birei-slider-track-bg-disabled);
  --birei-slider-track-fill: var(--birei-slider-track-fill-disabled);
  --birei-slider-step-label-color: color-mix(in srgb, var(--birei-secondary) 50%, transparent);
}

.birei-slider--disabled .birei-slider__native,
.birei-slider--disabled .birei-slider__step {
  cursor: not-allowed;
}

.birei-slider--disabled .birei-slider__track-ripple {
  display: none;
}

.birei-slider:where(.birei-size--small) {
  --birei-slider-thumb-size: 0.95rem;
  --birei-slider-track-height: 0.3rem;
  gap: 0.3rem;
}

.birei-slider:where(.birei-size--small) .birei-slider__step-label {
  font-size: 0.72rem;
}

.birei-slider:where(.birei-size--medium) {
  --birei-slider-thumb-size: 1.1rem;
}

.birei-slider:where(.birei-size--large) {
  --birei-slider-thumb-size: 1.3rem;
  --birei-slider-track-height: 0.5rem;
  gap: 0.44rem;
}

.birei-slider:where(.birei-size--large) .birei-slider__step-label {
  font-size: 0.82rem;
}

@keyframes birei-slider-ripple-a {
  0% {
    opacity: 0.72;
    transform: translate(-50%, -50%) scale(0);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.35);
  }
}
@keyframes birei-slider-ripple-b {
  0% {
    opacity: 0.72;
    transform: translate(-50%, -50%) scale(0);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.35);
  }
}
.birei-table {
  --birei-table-bg: var(--birei-surface);
  --birei-table-hover: color-mix(
      in srgb,
      var(--birei-accent-text) 8%,
      transparent
  );
  --birei-table-selected: color-mix(
      in srgb,
      var(--birei-accent-text) 14%,
      transparent
  );
  --birei-table-divider: var(--birei-border-subtle);
  --birei-table-header-bg: var(--birei-surface-muted);
  --birei-table-text: var(--birei-text);
  --birei-table-muted: color-mix(
      in srgb,
      var(--birei-accent-text) 72%,
      transparent
  );
  --birei-table-thumb: var(--birei-scrollbar-thumb);
  --birei-table-thumb-hover: var(--birei-scrollbar-thumb-hover);
  background: var(--birei-table-bg);
  align-content: start;
  color: var(--birei-table-text);
  display: grid;
  height: 100%;
  inline-size: 100%;
  min-height: 0;
  overflow: auto;
  overflow-anchor: none;
  position: relative;
  scrollbar-color: var(--birei-table-thumb) transparent;
  scrollbar-width: thin;
}
.birei-table::-webkit-scrollbar {
  height: 0.7rem;
  width: 0.7rem;
}
.birei-table::-webkit-scrollbar-track {
  background: transparent;
}
.birei-table::-webkit-scrollbar-thumb {
  background: var(--birei-table-thumb);
  background-clip: padding-box;
  border: 0.15rem solid transparent;
  border-radius: 999px;
}
@media (hover: hover) and (pointer: fine) {
  .birei-table::-webkit-scrollbar-thumb:hover {
    background: var(--birei-table-thumb-hover);
    background-clip: padding-box;
    border: 0.15rem solid transparent;
  }
}

.birei-table:focus,
.birei-table:focus-visible {
  outline: none;
}

.birei-table__header,
.birei-table__row {
  box-sizing: border-box;
  display: grid;
  grid-column: 1/-1;
  grid-template-columns: subgrid;
  min-width: max-content;
}

.birei-table__header {
  background: var(--birei-table-header-bg);
  border-bottom: 1px solid var(--birei-table-divider);
  height: var(--birei-table-header-height);
  z-index: 2;
}

.birei-table__header--sticky {
  position: sticky;
  top: 0;
}

.birei-table__body,
.birei-table__rows {
  display: grid;
  grid-column: 1/-1;
  grid-template-columns: subgrid;
  overflow-anchor: none;
}

.birei-table__row {
  background: var(--birei-table-row-background, transparent);
  border-bottom: 1px solid var(--birei-table-divider);
  height: var(--birei-table-row-height);
  position: relative;
  transition: background-color 120ms ease, opacity 120ms ease;
}

.birei-table__row--active {
  background: color-mix(in srgb, var(--birei-table-row-background, var(--birei-table-hover)) 72%, var(--birei-table-hover));
}

.birei-table__row--selected {
  background: color-mix(in srgb, var(--birei-table-row-background, var(--birei-table-selected)) 64%, var(--birei-table-selected));
}

.birei-table__row--disabled {
  color: color-mix(in srgb, var(--birei-secondary) 52%, transparent);
  cursor: not-allowed;
  opacity: 1;
}

.birei-table__row--disabled::after {
  content: "";
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, var(--birei-disabled-surface) 58%, transparent);
  pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
  .birei-table:not(.birei-table--keyboard) .birei-table__row:hover {
    background: color-mix(in srgb, var(--birei-table-row-background, var(--birei-table-hover)) 72%, var(--birei-table-hover));
  }
}
.birei-table__cell {
  align-items: center;
  block-size: 100%;
  box-sizing: border-box;
  display: flex;
  gap: 0.5rem;
  min-width: 0;
  overflow: hidden;
  padding: 0 0.95rem;
}

.birei-table__cell > * {
  min-width: 0;
}

.birei-table__cell--text > :is(span, div) {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}

.birei-table__cell--header {
  background: transparent;
  border: 0;
  color: var(--birei-table-text);
  font: inherit;
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: left;
}

.birei-table__cell--clickable {
  cursor: pointer;
}

.birei-table__cell--start {
  justify-content: flex-start;
  text-align: left;
}

.birei-table__cell--center {
  justify-content: center;
  text-align: center;
}

.birei-table__cell--end {
  justify-content: flex-end;
  text-align: right;
}

.birei-table__spacer {
  flex: 0 0 auto;
  grid-column: 1/-1;
}

.birei-table__status {
  color: var(--birei-table-muted);
  display: grid;
  grid-column: 1/-1;
  justify-items: center;
  padding: 0.95rem 1rem 1.05rem;
  text-align: center;
}

.birei-tab-list {
  --birei-tab-color: var(--birei-text);
  --birei-tab-color-hover: var(--birei-accent-text);
  --birei-tab-color-selected: var(--birei-accent-text);
  --birei-tab-line-hover: color-mix(in srgb, var(--birei-secondary) 48%, transparent);
  --birei-tab-line-selected: var(--birei-accent-text);
  --birei-tab-line-height: 0.16rem;
  --birei-tab-line-offset: 0rem;
  --birei-tab-gap: 1rem;
  --birei-tab-list-indicator-x: 0px;
  --birei-tab-list-indicator-y: 0px;
  --birei-tab-list-indicator-width: 0px;
  align-items: flex-start;
  display: flex;
  gap: var(--birei-tab-gap);
  inline-size: 100%;
  min-inline-size: 0;
  overflow: hidden;
  position: relative;
}

.birei-tab-list--line-below {
  padding-block-end: calc(var(--birei-tab-line-offset) + var(--birei-tab-line-height));
}

.birei-tab-list--line-above {
  padding-block-start: calc(var(--birei-tab-line-offset) + var(--birei-tab-line-height));
}

.birei-tab-list__tab {
  align-items: center;
  background: transparent;
  border: 0;
  box-sizing: border-box;
  color: var(--birei-tab-color);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-weight: 500;
  justify-content: center;
  min-height: 1.5rem;
  padding-block: 0.21rem;
  padding-inline: 0;
  position: relative;
  z-index: 1;
  transition: color 140ms ease, text-shadow 140ms ease;
  white-space: nowrap;
}

.birei-tab-list__tab--overflow {
  gap: 0.3rem;
}

.birei-tab-list__tab::after {
  background: var(--birei-tab-line-hover);
  border-radius: var(--birei-radius-full);
  content: "";
  height: var(--birei-tab-line-height);
  left: 0;
  opacity: 0;
  position: absolute;
  transform: scaleX(0.7);
  transform-origin: center;
  transition: opacity 150ms ease, transform 180ms ease;
  width: 100%;
  z-index: 1;
}

.birei-tab-list--line-below .birei-tab-list__tab::after {
  top: calc(100% + var(--birei-tab-line-offset));
}

.birei-tab-list--line-above .birei-tab-list__tab::after {
  bottom: calc(100% + var(--birei-tab-line-offset));
}

@media (hover: hover) and (pointer: fine) {
  .birei-tab-list__tab:hover:not(:disabled) {
    color: var(--birei-tab-color-hover);
  }
  .birei-tab-list__tab:hover:not(:disabled)::after {
    opacity: 1;
    transform: scaleX(1);
  }
}
.birei-tab-list__tab[aria-selected=true] {
  color: var(--birei-tab-color-selected);
  text-shadow: 0 0 0 currentColor, 0.02em 0 0 currentColor, -0.02em 0 0 currentColor;
}

.birei-tab-list__tab[aria-selected=true]::after {
  opacity: 0;
}

.birei-tab-list__tab:disabled {
  color: var(--birei-disabled-text);
  cursor: not-allowed;
}

.birei-tab-list__overflow {
  flex: 0 0 auto;
}

.birei-tab-list__overflow .birei-dropdown-button__trigger {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-sizing: border-box;
  box-shadow: none;
  color: var(--birei-tab-color);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-weight: 500;
  gap: 0.3rem;
  height: auto;
  justify-content: center;
  line-height: inherit;
  min-height: 0;
  padding-block: 0.21rem;
  padding-inline: 0;
  position: relative;
  z-index: 1;
}

.birei-tab-list__overflow .birei-dropdown-button__divider {
  display: none;
}

.birei-tab-list__overflow .birei-dropdown-button__caret {
  color: inherit;
  display: inline-flex;
}

@media (hover: hover) and (pointer: fine) {
  .birei-tab-list__overflow .birei-dropdown-button__trigger:hover:not(:disabled) {
    color: var(--birei-tab-color-hover);
  }
}
.birei-tab-list__indicator {
  background: var(--birei-tab-line-selected);
  border-radius: var(--birei-radius-full);
  height: var(--birei-tab-line-height);
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  transform: translate(var(--birei-tab-list-indicator-x), var(--birei-tab-list-indicator-y));
  transition: transform 220ms ease, width 220ms ease, opacity 160ms ease;
  width: var(--birei-tab-list-indicator-width);
  z-index: 2;
}

.birei-tab-list__measure {
  left: -9999px;
  pointer-events: none;
  position: absolute;
  top: 0;
  visibility: hidden;
}

.birei-tab-list__overflow-caret {
  display: inline-flex;
}

/* Small inline tag used by multi-select and standalone tag displays. */
.birei-tag {
  --birei-tag-bg: color-mix(in srgb, var(--birei-accent-text) 8%, transparent);
  --birei-tag-color: var(--birei-accent-text);
  align-items: center;
  background: var(--birei-tag-bg);
  border-radius: var(--birei-radius-full);
  color: var(--birei-tag-color);
  display: inline-flex;
  gap: 0.35rem;
  max-width: 100%;
  padding: 0.18rem 0.45rem;
}

.birei-tag__remove {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: var(--birei-radius-full);
  color: currentColor;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 0.75rem;
  height: 0.95rem;
  justify-content: center;
  line-height: 1;
  padding: 0;
  width: 0.95rem;
}

@media (hover: hover) and (pointer: fine) {
  .birei-tag__remove:hover {
    background: var(--birei-tag-remove-hover, color-mix(in srgb, var(--birei-accent-text) 8%, transparent));
  }
}
/* Multiline text field aligned with input sizing and underline treatment. */
.birei-textarea {
  --birei-textarea-bg: var(--birei-surface);
  --birei-textarea-border: var(--birei-border);
  --birei-textarea-border-invalid: var(--birei-error);
  --birei-textarea-color: var(--birei-text);
  --birei-textarea-placeholder: var(--birei-text-subtle);
  --birei-textarea-line-color: var(--birei-accent-text);
  --birei-textarea-line-color-current: var(--birei-textarea-line-color);
  --birei-textarea-line-resting-current: var(--birei-text-muted);
  --birei-textarea-line-origin: 50%;
  --birei-textarea-inline-padding: 0.75rem;
  --birei-textarea-block-padding: 0.65rem;
  --birei-textarea-min-height: 6.25rem;
  background: var(--birei-textarea-bg);
  border: 1px solid var(--birei-textarea-border);
  border-radius: var(--birei-radius-base);
  box-sizing: border-box;
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--birei-surface) 72%, transparent);
  color: var(--birei-textarea-color);
  display: inline-flex;
  min-height: var(--birei-textarea-min-height);
  min-width: 0;
  overflow: hidden;
  padding: var(--birei-textarea-block-padding) var(--birei-textarea-inline-padding);
  position: relative;
  transition: border-color 140ms ease, box-shadow 160ms ease, background-color 160ms ease;
  width: 100%;
}

.birei-textarea::after {
  background: var(--birei-textarea-line-color-current);
  border-radius: 999px;
  bottom: 0;
  content: "";
  height: 2px;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  transform: scaleX(0);
  transform-origin: var(--birei-textarea-line-origin) center;
  transition: transform 210ms ease-out;
  z-index: 3;
}

.birei-textarea::before {
  background: var(--birei-textarea-line-resting-current);
  border-radius: 999px;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  z-index: 2;
}

.birei-textarea__field {
  appearance: none;
  background: transparent;
  border: 0;
  color: inherit;
  flex: 1 1 auto;
  font: inherit;
  line-height: 1.45;
  min-height: calc(var(--birei-textarea-min-height) - var(--birei-textarea-block-padding) * 2);
  min-width: 0;
  outline: none;
  padding: 0;
  resize: vertical;
  width: 100%;
}

.birei-textarea__field::placeholder {
  color: var(--birei-textarea-placeholder);
}

.birei-textarea:focus-within {
  border-color: var(--birei-textarea-border);
}

.birei-textarea:focus-within:not(.birei-textarea--readonly):not(.birei-textarea--disabled)::after {
  transform: scaleX(1);
}

.birei-textarea--invalid,
.birei-textarea:has(.birei-textarea__field:invalid) {
  --birei-textarea-line-resting-current: var(--birei-textarea-border-invalid);
  --birei-textarea-line-color-current: var(--birei-textarea-border-invalid);
}

.birei-textarea--disabled {
  --birei-textarea-color: var(--birei-disabled-text);
  --birei-textarea-placeholder: var(--birei-disabled-text);
  border-color: var(--birei-disabled-border);
  cursor: not-allowed;
}

.birei-textarea--disabled::before,
.birei-textarea--disabled::after {
  content: none;
}

.birei-textarea--disabled .birei-textarea__field {
  cursor: not-allowed;
  resize: none;
}

.birei-textarea--readonly {
  border-color: var(--birei-disabled-border);
  --birei-textarea-line-resting-current: color-mix(in srgb, var(--birei-secondary) 52%, transparent);
}

.birei-textarea--readonly .birei-textarea__field {
  resize: none;
}

.birei-textarea:where(.birei-size--small) {
  --birei-textarea-inline-padding: 0.55rem;
  --birei-textarea-block-padding: 0.45rem;
  --birei-textarea-min-height: 5rem;
  border-radius: var(--birei-radius-small);
  font-size: 0.875rem;
}

.birei-textarea:where(.birei-size--medium) {
  font-size: 0.95rem;
}

.birei-textarea:where(.birei-size--large) {
  --birei-textarea-inline-padding: 0.95rem;
  --birei-textarea-block-padding: 0.8rem;
  --birei-textarea-min-height: 7rem;
  border-radius: var(--birei-radius-large);
  font-size: 1rem;
}

.birei-timeline {
  display: grid;
  gap: 1rem;
}

.birei-timeline--horizontal {
  align-items: start;
  grid-auto-columns: minmax(17rem, 24rem);
  grid-auto-flow: column;
  grid-template-columns: none;
  overflow-x: auto;
  padding-bottom: 0.75rem;
}

.birei-timeline__item {
  display: grid;
  gap: 1rem;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  min-width: 0;
}

.birei-timeline__rail {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  justify-items: center;
  min-height: 100%;
  padding-top: 0.1rem;
  position: relative;
}

.birei-timeline__rail::after {
  background: color-mix(in srgb, var(--birei-accent-text) 16%, transparent);
  content: "";
  margin-top: 0.55rem;
  min-height: 100%;
  width: 1px;
}

.birei-timeline__item:last-child .birei-timeline__rail::after {
  content: none;
}

.birei-timeline__icon-shell {
  align-items: center;
  background: color-mix(in srgb, var(--birei-surface) 92%, var(--birei-accent-text) 8%);
  border: 1px solid color-mix(in srgb, var(--birei-accent-text) 18%, transparent);
  border-radius: var(--birei-radius-full);
  box-shadow: var(--birei-shadow-soft);
  color: var(--birei-accent-text);
  display: inline-flex;
  height: 2.1rem;
  justify-content: center;
  position: relative;
  width: 2.1rem;
  z-index: 1;
}

.birei-timeline__card {
  min-width: 0;
}

.birei-timeline__header {
  display: grid;
  gap: 0.35rem;
}

.birei-timeline__headline {
  align-items: baseline;
  column-gap: 0.5rem;
  display: flex;
  flex-wrap: wrap;
  row-gap: 0.25rem;
}

.birei-timeline__name,
.birei-timeline__title {
  color: var(--birei-text);
  font-size: var(--birei-font-size-h6);
  font-weight: var(--birei-font-weight-h5);
  letter-spacing: -0.01em;
}

.birei-timeline__name {
  color: var(--birei-text);
}

.birei-timeline__name--clickable {
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--birei-accent-text);
  cursor: pointer;
  font: inherit;
  padding: 0;
  text-align: left;
}

.birei-timeline__name--clickable:hover {
  color: var(--birei-accent-hover);
}

.birei-timeline__name--clickable:active {
  color: var(--birei-accent-active);
}

.birei-timeline__subtitle {
  color: var(--birei-text-muted);
  font-size: var(--birei-font-size-small);
  line-height: 1.45;
}

.birei-timeline__content {
  color: var(--birei-text);
  display: grid;
  gap: 0.85rem;
  line-height: 1.65;
}

.birei-timeline__content > :where(p, ul, ol) {
  margin: 0;
}

.birei-timeline--horizontal .birei-timeline__item {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 2.75rem auto;
}

.birei-timeline--horizontal .birei-timeline__rail {
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: none;
  justify-items: start;
  padding-top: 0;
}

.birei-timeline--horizontal .birei-timeline__rail::after {
  align-self: center;
  height: 1px;
  margin-left: 0.55rem;
  margin-top: 0;
  min-height: 0;
  min-width: 100%;
  width: auto;
}

.birei-top-menu-shell {
  --birei-top-menu-height: 3rem;
  height: var(--birei-top-menu-height);
  width: 100%;
}

.birei-top-menu-shell--sticky {
  position: sticky;
  top: 0;
  z-index: var(--birei-z-app-chrome, 1200);
}

.birei-top-menu {
  align-items: center;
  background: var(--birei-surface-muted);
  border-bottom: 1px solid var(--birei-border-subtle);
  box-sizing: border-box;
  display: grid;
  gap: 0.85rem;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) auto;
  height: var(--birei-top-menu-height);
  min-height: var(--birei-top-menu-height);
  padding: 0 0.7rem;
}

.birei-top-menu__left {
  align-items: center;
  display: flex;
  gap: 0.55rem;
  height: 100%;
  min-width: 0;
  overflow: hidden;
}

.birei-top-menu__logo {
  align-items: center;
  display: inline-flex;
  flex: none;
  height: 2rem;
  justify-content: center;
  max-height: 2rem;
  overflow: hidden;
}

/* Logos are drawn for light surfaces; the theme adapts them, also inside a <picture>. */
.birei-top-menu__logo img,
.birei-top-menu__logo svg {
  filter: var(--birei-logo-filter);
}

.birei-top-menu__logo > img,
.birei-top-menu__logo > svg {
  display: block;
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
}

.birei-top-menu__title {
  align-items: center;
  display: inline-flex;
  height: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.birei-top-menu__center {
  align-items: center;
  display: flex;
  height: 100%;
  min-width: 0;
  overflow: visible;
}

.birei-top-menu__right {
  align-items: center;
  display: flex;
  gap: 0.35rem;
  height: 100%;
  justify-content: flex-end;
  overflow: hidden;
}

.birei-top-menu__actions {
  align-items: center;
  display: inline-flex;
  flex: none;
  gap: 0.35rem;
  min-width: 0;
}

.birei-top-menu__trigger {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: var(--birei-radius-full);
  color: var(--birei-text);
  display: inline-flex;
  height: 2rem;
  justify-content: center;
  min-width: 2rem;
  padding: 0.25rem;
  transition: background 160ms ease, border-color 160ms ease;
}

.birei-top-menu__trigger:hover {
  background: color-mix(in srgb, var(--birei-surface-muted) 82%, var(--birei-accent-text));
}

.birei-top-menu__trigger:focus-visible {
  box-shadow: 0 0 0 3px var(--birei-focus-ring);
  outline: none;
}

.birei-top-menu__popup {
  max-width: min(30rem, 100vw - 2.5rem);
  min-width: min(22rem, 100vw - 2.5rem);
}

.birei-top-menu__desktop-popup {
  background: var(--birei-surface);
  border: 1px solid var(--birei-border-subtle);
  border-radius: var(--birei-radius-huge);
  box-sizing: border-box;
  box-shadow: var(--birei-shadow-strong);
  overflow: auto;
  padding: 0.75rem;
  position: fixed;
  width: fit-content;
  z-index: var(--birei-z-popover, 1500);
}

.birei-top-menu__action-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(var(--birei-top-menu-action-columns, 1), minmax(10rem, 1fr));
  max-width: calc(100vw - 2.5rem);
  width: fit-content;
}

.birei-top-menu__empty-actions {
  min-height: 1rem;
}

@media (max-width: 640px) {
  .birei-top-menu {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .birei-top-menu__center {
    display: none;
  }
  .birei-top-menu__left {
    display: flex;
  }
  .birei-popup-backdrop:has(.birei-top-menu__popup) {
    padding: 0;
  }
  .birei-popup.birei-top-menu__popup {
    border-radius: 0;
    height: 100vh;
    max-height: 100vh;
    max-width: 100vw;
    min-width: 100vw;
    width: 100vw;
  }
  .birei-top-menu__action-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(10rem, 100%), 1fr));
    max-width: none;
    width: 100%;
  }
}
.birei-tree {
  --birei-tree-bg: var(--birei-surface);
  --birei-tree-hover: color-mix(in srgb, var(--birei-accent-text) 8%, transparent);
  --birei-tree-selected: color-mix(in srgb, var(--birei-accent-text) 14%, transparent);
  --birei-tree-divider: var(--birei-border-subtle);
  --birei-tree-text: var(--birei-text);
  --birei-tree-muted: var(--birei-text-muted);
  background: var(--birei-tree-bg);
  box-sizing: border-box;
  color: var(--birei-tree-text);
  height: 100%;
  inline-size: 100%;
  min-height: 0;
  overflow: auto;
  overflow-anchor: none;
  scrollbar-color: var(--birei-scrollbar-thumb) transparent;
  scrollbar-width: thin;
}
.birei-tree::-webkit-scrollbar {
  height: 0.7rem;
  width: 0.7rem;
}
.birei-tree::-webkit-scrollbar-track {
  background: transparent;
}
.birei-tree::-webkit-scrollbar-thumb {
  background: var(--birei-scrollbar-thumb);
  background-clip: padding-box;
  border: 0.15rem solid transparent;
  border-radius: 999px;
}
@media (hover: hover) and (pointer: fine) {
  .birei-tree::-webkit-scrollbar-thumb:hover {
    background: var(--birei-scrollbar-thumb-hover);
    background-clip: padding-box;
    border: 0.15rem solid transparent;
  }
}

.birei-tree:focus,
.birei-tree:focus-visible {
  outline: none;
}

.birei-tree__row {
  align-items: center;
  background: var(--birei-tree-row-highlight, transparent);
  border-bottom: 1px solid var(--birei-tree-divider);
  box-sizing: border-box;
  cursor: pointer;
  display: flex;
  height: 48px;
  inline-size: 100%;
  min-inline-size: 0;
  padding-inline-end: 0.95rem;
  transition: background-color 120ms ease;
}

.birei-tree__row--active {
  background: color-mix(in srgb, var(--birei-tree-row-highlight, var(--birei-tree-hover)) 72%, var(--birei-tree-hover));
}

.birei-tree__row--selected {
  background: color-mix(in srgb, var(--birei-tree-row-highlight, var(--birei-tree-selected)) 64%, var(--birei-tree-selected));
}

@media (hover: hover) and (pointer: fine) {
  .birei-tree:not(.birei-tree--keyboard) .birei-tree__row:hover {
    background: color-mix(in srgb, var(--birei-tree-row-highlight, var(--birei-tree-hover)) 72%, var(--birei-tree-hover));
  }
}
.birei-tree__indent {
  flex: 0 0 calc(0.95rem + var(--birei-tree-depth) * 1.25rem);
}

.birei-tree__toggle,
.birei-tree__toggle-spacer {
  align-items: center;
  flex: 0 0 1.75rem;
  height: 1.75rem;
  justify-content: center;
  margin-inline-end: 0.35rem;
}

.birei-tree__toggle {
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--birei-tree-muted);
  cursor: pointer;
  display: inline-flex;
  padding: 0;
}

.birei-tree__toggle:focus-visible {
  outline: 2px solid var(--birei-accent-text);
  outline-offset: 1px;
}

.birei-tree__title {
  flex: 1 1 auto;
  min-inline-size: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.birei-tree__icon {
  color: var(--birei-tree-muted);
  flex: 0 0 auto;
  margin-inline-end: 0.5rem;
}

.birei-tree__meta {
  color: var(--birei-tree-muted);
  flex: 0 0 auto;
  font-size: 0.84rem;
  margin-inline-start: 0.75rem;
  white-space: nowrap;
}

.birei-tree__status {
  color: var(--birei-tree-muted);
  padding: 0.95rem 1rem;
  text-align: center;
}

.birei-tooltip {
  display: inline-flex;
  max-width: fit-content;
  position: relative;
}

.birei-tooltip__popup {
  --birei-tooltip-bg: color-mix(in srgb, var(--birei-surface-inverse) 96%, transparent);
  --birei-tooltip-border: color-mix(in srgb, var(--birei-text-inverse) 8%, transparent);
  --birei-tooltip-color: var(--birei-text-inverse);
  background: var(--birei-tooltip-bg);
  border: 1px solid var(--birei-tooltip-border);
  border-radius: calc(var(--birei-radius-huge) - 0.15rem);
  box-shadow: var(--birei-shadow-strong);
  color: var(--birei-tooltip-color);
  font-size: 0.84rem;
  line-height: 1.45;
  max-width: min(20rem, 100vw - 1rem);
  padding: 0.55rem 0.7rem;
  pointer-events: none;
  position: fixed;
  text-wrap: pretty;
  z-index: var(--birei-z-tooltip, 1600);
}

.birei-tooltip__popup::after {
  background: inherit;
  border-bottom: 1px solid var(--birei-tooltip-border);
  border-right: 1px solid var(--birei-tooltip-border);
  content: "";
  height: 0.6rem;
  position: absolute;
  width: 0.6rem;
}

.birei-tooltip__popup--top::after {
  bottom: -0.35rem;
  left: calc(50% - 0.3rem);
  transform: rotate(45deg);
}

.birei-tooltip__popup--bottom::after {
  left: calc(50% - 0.3rem);
  top: -0.35rem;
  transform: rotate(225deg);
}

.birei-tooltip__popup--left::after {
  right: -0.35rem;
  top: calc(50% - 0.3rem);
  transform: rotate(315deg);
}

.birei-tooltip__popup--right::after {
  left: -0.35rem;
  top: calc(50% - 0.3rem);
  transform: rotate(135deg);
}
