/* SUBSET to the icons this app actually uses: 329 of 2,050.

   The full font is 128 KB and the full sheet 98 KB, for 2,050 glyphs. On a
   1.6 Mbps phone that alone was most of a second, and it is why the page kept
   changing appearance long after it had painted.

   The kept set is deliberately generous, because the failure mode of getting
   this wrong is an invisible icon rather than an error. It is every name used
   as `bi-<name>` in the source, PLUS every icon name that appears anywhere as a
   bare quoted string — which is how the dynamic ones are written:

       `<i class="bi bi-${type === 'success' ? 'check-circle-fill' : ...}">`

   ...where the name never appears next to the bi- prefix at all. That second
   rule pulls in a few harmless false positives ('alt', 'copy', 'app').

   IF AN ICON IS EVER BLANK, its name was not found by either rule. Add it and
   regenerate with scripts/subset-icons.py — do not hand-edit this file.
*/
/* bootstrap-icons 1.11.1, served from our own origin.

   Measured on the live login page over throttled 4G, the icon font was the LAST
   thing to arrive at 1,726ms — a third-party host reached only after its own DNS,
   TCP and TLS handshakes, which is why icon glyphs appeared long after the layout
   had settled.

   Only the url() paths differ from the published file: ./fonts/ -> ../../fonts/
   bootstrap-icons/, relative to this file's location in assets/css/vendor/.
*/
/*!
 * Bootstrap Icons v1.11.1 (https://icons.getbootstrap.com/)
 * Copyright 2019-2023 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/icons/blob/main/LICENSE)
 */

@font-face {
  font-display: block;
  font-family: "bootstrap-icons";
  src: url("../../fonts/bootstrap-icons/bootstrap-icons.woff2?2820a3852bdb9a5832199cc61cec4e65") format("woff2"),
url("../../fonts/bootstrap-icons/bootstrap-icons.woff?2820a3852bdb9a5832199cc61cec4e65") format("woff");
}

.bi::before,
[class^="bi-"]::before,
[class*=" bi-"]::before {
  display: inline-block;
  font-family: bootstrap-icons !important;
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  vertical-align: -.125em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.bi-123::before { content: "\f67f"; }
.bi-alt::before { content: "\f109"; }
.bi-app::before { content: "\f10b"; }
.bi-archive::before { content: "\f10d"; }
.bi-arrow-clockwise::before { content: "\f116"; }
.bi-arrow-counterclockwise::before { content: "\f117"; }
.bi-arrow-down-circle-fill::before { content: "\f118"; }
.bi-arrow-down-circle::before { content: "\f119"; }
.bi-arrow-down-right::before { content: "\f123"; }
.bi-arrow-down-short::before { content: "\f124"; }
.bi-arrow-down-up::before { content: "\f127"; }
.bi-arrow-down::before { content: "\f128"; }
.bi-arrow-left-right::before { content: "\f12b"; }
.bi-arrow-left::before { content: "\f12f"; }
.bi-arrow-repeat::before { content: "\f130"; }
.bi-arrow-return-left::before { content: "\f131"; }
.bi-arrow-right-circle::before { content: "\f134"; }
.bi-arrow-right::before { content: "\f138"; }
.bi-arrow-up-circle-fill::before { content: "\f139"; }
.bi-arrow-up-circle::before { content: "\f13a"; }
.bi-arrow-up-right::before { content: "\f144"; }
.bi-arrow-up-short::before { content: "\f145"; }
.bi-arrow-up::before { content: "\f148"; }
.bi-arrows-collapse::before { content: "\f14b"; }
.bi-arrows-expand::before { content: "\f14c"; }
.bi-award::before { content: "\f154"; }
.bi-backspace::before { content: "\f159"; }
.bi-bag-check-fill::before { content: "\f170"; }
.bi-bag-check::before { content: "\f171"; }
.bi-bag-plus::before { content: "\f176"; }
.bi-bag::before { content: "\f179"; }
.bi-bar-chart-fill::before { content: "\f17a"; }
.bi-bar-chart-line::before { content: "\f17c"; }
.bi-bar-chart::before { content: "\f17e"; }
.bi-bell-fill::before { content: "\f189"; }
.bi-bell::before { content: "\f18a"; }
.bi-bookmark-plus::before { content: "\f19d"; }
.bi-bookmark-star::before { content: "\f19f"; }
.bi-bookmark::before { content: "\f1a2"; }
.bi-border::before { content: "\f1b4"; }
.bi-box-arrow-down::before { content: "\f1b9"; }
.bi-box-arrow-in-down::before { content: "\f1bc"; }
.bi-box-arrow-in-right::before { content: "\f1be"; }
.bi-box-arrow-right::before { content: "\f1c3"; }
.bi-box-arrow-up-right::before { content: "\f1c5"; }
.bi-box-arrow-up::before { content: "\f1c6"; }
.bi-box-seam::before { content: "\f1c7"; }
.bi-box::before { content: "\f1c8"; }
.bi-briefcase-fill::before { content: "\f1cb"; }
.bi-briefcase::before { content: "\f1cc"; }
.bi-bug::before { content: "\f1dc"; }
.bi-building::before { content: "\f1dd"; }
.bi-calendar-check::before { content: "\f1e2"; }
.bi-calendar-event::before { content: "\f1e8"; }
.bi-calendar-plus::before { content: "\f1ef"; }
.bi-calendar-range::before { content: "\f1f1"; }
.bi-calendar-x::before { content: "\f1f5"; }
.bi-calendar::before { content: "\f1f6"; }
.bi-calendar3::before { content: "\f214"; }
.bi-camera-fill::before { content: "\f219"; }
.bi-camera::before { content: "\f220"; }
.bi-card-image::before { content: "\f226"; }
.bi-caret-down-fill::before { content: "\f229"; }
.bi-caret-down::before { content: "\f22c"; }
.bi-caret-up-fill::before { content: "\f235"; }
.bi-caret-up::before { content: "\f238"; }
.bi-cart-check-fill::before { content: "\f239"; }
.bi-cart-check::before { content: "\f23a"; }
.bi-cart-plus::before { content: "\f23f"; }
.bi-cart::before { content: "\f242"; }
.bi-cart3::before { content: "\f244"; }
.bi-cash-stack::before { content: "\f246"; }
.bi-cash::before { content: "\f247"; }
.bi-chat-dots::before { content: "\f24a"; }
.bi-chat-left-dots::before { content: "\f24d"; }
.bi-chat-left-text::before { content: "\f252"; }
.bi-chat-left::before { content: "\f253"; }
.bi-chat::before { content: "\f268"; }
.bi-check-all::before { content: "\f269"; }
.bi-check-circle-fill::before { content: "\f26a"; }
.bi-check-circle::before { content: "\f26b"; }
.bi-check::before { content: "\f26e"; }
.bi-check2-all::before { content: "\f26f"; }
.bi-check2-circle::before { content: "\f270"; }
.bi-check2-square::before { content: "\f271"; }
.bi-check2::before { content: "\f272"; }
.bi-chevron-double-left::before { content: "\f27f"; }
.bi-chevron-down::before { content: "\f282"; }
.bi-chevron-expand::before { content: "\f283"; }
.bi-chevron-left::before { content: "\f284"; }
.bi-chevron-right::before { content: "\f285"; }
.bi-circle-fill::before { content: "\f287"; }
.bi-circle::before { content: "\f28a"; }
.bi-clipboard-check::before { content: "\f28b"; }
.bi-clipboard-data::before { content: "\f28c"; }
.bi-clipboard::before { content: "\f290"; }
.bi-clock-history::before { content: "\f292"; }
.bi-clock::before { content: "\f293"; }
.bi-cloud-arrow-down::before { content: "\f295"; }
.bi-cloud-arrow-up::before { content: "\f297"; }
.bi-cloud-download::before { content: "\f29b"; }
.bi-cloud-upload::before { content: "\f2c0"; }
.bi-cloud::before { content: "\f2c1"; }
.bi-code-slash::before { content: "\f2c6"; }
.bi-code::before { content: "\f2c8"; }
.bi-collection::before { content: "\f2cc"; }
.bi-columns-gap::before { content: "\f2cd"; }
.bi-columns::before { content: "\f2ce"; }
.bi-cone-striped::before { content: "\f2d2"; }
.bi-cone::before { content: "\f2d3"; }
.bi-cpu::before { content: "\f2d6"; }
.bi-credit-card::before { content: "\f2dc"; }
.bi-dash::before { content: "\f2ea"; }
.bi-diagram-3-fill::before { content: "\f2ed"; }
.bi-diagram-3::before { content: "\f2ee"; }
.bi-display::before { content: "\f302"; }
.bi-dot::before { content: "\f309"; }
.bi-download::before { content: "\f30a"; }
.bi-envelope::before { content: "\f32f"; }
.bi-eraser::before { content: "\f331"; }
.bi-exclamation-circle-fill::before { content: "\f332"; }
.bi-exclamation-circle::before { content: "\f333"; }
.bi-exclamation-octagon::before { content: "\f337"; }
.bi-exclamation-triangle-fill::before { content: "\f33a"; }
.bi-exclamation-triangle::before { content: "\f33b"; }
.bi-exclamation::before { content: "\f33c"; }
.bi-eye-fill::before { content: "\f33e"; }
.bi-eye-slash::before { content: "\f340"; }
.bi-eye::before { content: "\f341"; }
.bi-file-earmark-code::before { content: "\f362"; }
.bi-file-earmark-text::before { content: "\f38b"; }
.bi-file-earmark-zip::before { content: "\f391"; }
.bi-file-earmark::before { content: "\f392"; }
.bi-file::before { content: "\f3c0"; }
.bi-files::before { content: "\f3c2"; }
.bi-fonts::before { content: "\f3da"; }
.bi-funnel-fill::before { content: "\f3e0"; }
.bi-funnel::before { content: "\f3e1"; }
.bi-gear-fill::before { content: "\f3e2"; }
.bi-gear::before { content: "\f3e5"; }
.bi-geo-alt::before { content: "\f3e8"; }
.bi-geo::before { content: "\f3ea"; }
.bi-gift-fill::before { content: "\f3eb"; }
.bi-gift::before { content: "\f3ec"; }
.bi-globe::before { content: "\f3ee"; }
.bi-globe2::before { content: "\f3ef"; }
.bi-graph-down::before { content: "\f3f1"; }
.bi-graph-up::before { content: "\f3f2"; }
.bi-grid-1x2-fill::before { content: "\f3f3"; }
.bi-grid-1x2::before { content: "\f3f4"; }
.bi-grid-3x3-gap-fill::before { content: "\f3f8"; }
.bi-grid-3x3-gap::before { content: "\f3f9"; }
.bi-grid-3x3::before { content: "\f3fa"; }
.bi-grid-fill::before { content: "\f3fb"; }
.bi-grid::before { content: "\f3fc"; }
.bi-grip-vertical::before { content: "\f3fe"; }
.bi-hash::before { content: "\f40a"; }
.bi-hdd::before { content: "\f412"; }
.bi-headset::before { content: "\f414"; }
.bi-heart::before { content: "\f417"; }
.bi-hourglass-split::before { content: "\f41f"; }
.bi-hourglass::before { content: "\f421"; }
.bi-image::before { content: "\f42a"; }
.bi-inbox::before { content: "\f42d"; }
.bi-info-circle-fill::before { content: "\f430"; }
.bi-info-circle::before { content: "\f431"; }
.bi-info::before { content: "\f434"; }
.bi-journal-arrow-down::before { content: "\f43a"; }
.bi-journal-x::before { content: "\f445"; }
.bi-journal::before { content: "\f446"; }
.bi-key::before { content: "\f44f"; }
.bi-layers::before { content: "\f45b"; }
.bi-layout-text-window-reverse::before { content: "\f463"; }
.bi-layout-text-window::before { content: "\f464"; }
.bi-life-preserver::before { content: "\f467"; }
.bi-lightbulb::before { content: "\f46b"; }
.bi-lightning-charge-fill::before { content: "\f46c"; }
.bi-lightning-charge::before { content: "\f46d"; }
.bi-lightning-fill::before { content: "\f46e"; }
.bi-lightning::before { content: "\f46f"; }
.bi-link-45deg::before { content: "\f470"; }
.bi-link::before { content: "\f471"; }
.bi-list-check::before { content: "\f473"; }
.bi-list-ul::before { content: "\f478"; }
.bi-list::before { content: "\f479"; }
.bi-lock-fill::before { content: "\f47a"; }
.bi-lock::before { content: "\f47b"; }
.bi-option::before { content: "\f4ad"; }
.bi-palette::before { content: "\f4b1"; }
.bi-pause-circle::before { content: "\f4c2"; }
.bi-pause-fill::before { content: "\f4c3"; }
.bi-pause::before { content: "\f4c4"; }
.bi-pencil-fill::before { content: "\f4c9"; }
.bi-pencil-square::before { content: "\f4ca"; }
.bi-pencil::before { content: "\f4cb"; }
.bi-people-fill::before { content: "\f4cf"; }
.bi-people::before { content: "\f4d0"; }
.bi-person-badge-fill::before { content: "\f4d2"; }
.bi-person-badge::before { content: "\f4d3"; }
.bi-person-check-fill::before { content: "\f4d5"; }
.bi-person-check::before { content: "\f4d6"; }
.bi-person-circle::before { content: "\f4d7"; }
.bi-person-fill::before { content: "\f4da"; }
.bi-person-lines-fill::before { content: "\f4db"; }
.bi-person-plus-fill::before { content: "\f4dc"; }
.bi-person-plus::before { content: "\f4dd"; }
.bi-person-x-fill::before { content: "\f4df"; }
.bi-person-x::before { content: "\f4e0"; }
.bi-person::before { content: "\f4e1"; }
.bi-phone::before { content: "\f4e7"; }
.bi-pie-chart::before { content: "\f4e9"; }
.bi-play-circle::before { content: "\f4f3"; }
.bi-play-fill::before { content: "\f4f4"; }
.bi-play::before { content: "\f4f5"; }
.bi-plus-circle-fill::before { content: "\f4f9"; }
.bi-plus-circle::before { content: "\f4fa"; }
.bi-plus-square::before { content: "\f4fd"; }
.bi-plus::before { content: "\f4fe"; }
.bi-power::before { content: "\f4ff"; }
.bi-printer::before { content: "\f501"; }
.bi-question-circle::before { content: "\f505"; }
.bi-question::before { content: "\f50c"; }
.bi-record-circle::before { content: "\f518"; }
.bi-record::before { content: "\f51a"; }
.bi-reply::before { content: "\f520"; }
.bi-save::before { content: "\f525"; }
.bi-search::before { content: "\f52a"; }
.bi-share::before { content: "\f52e"; }
.bi-shield-check::before { content: "\f52f"; }
.bi-shield-exclamation::before { content: "\f530"; }
.bi-shield-fill-check::before { content: "\f531"; }
.bi-shield-fill::before { content: "\f536"; }
.bi-shield-lock-fill::before { content: "\f537"; }
.bi-shield-lock::before { content: "\f538"; }
.bi-shield-slash::before { content: "\f53d"; }
.bi-shield-x::before { content: "\f53e"; }
.bi-shield::before { content: "\f53f"; }
.bi-shop-window::before { content: "\f542"; }
.bi-shop::before { content: "\f543"; }
.bi-slash-circle::before { content: "\f567"; }
.bi-slash::before { content: "\f56a"; }
.bi-sliders::before { content: "\f56b"; }
.bi-speedometer::before { content: "\f57f"; }
.bi-speedometer2::before { content: "\f580"; }
.bi-stack::before { content: "\f585"; }
.bi-star-fill::before { content: "\f586"; }
.bi-star::before { content: "\f588"; }
.bi-table::before { content: "\f5aa"; }
.bi-tablet::before { content: "\f5ae"; }
.bi-tag-fill::before { content: "\f5af"; }
.bi-tag::before { content: "\f5b0"; }
.bi-tags-fill::before { content: "\f5b1"; }
.bi-tags::before { content: "\f5b2"; }
.bi-telephone::before { content: "\f5c1"; }
.bi-text-center::before { content: "\f5c4"; }
.bi-textarea::before { content: "\f5cc"; }
.bi-three-dots::before { content: "\f5d4"; }
.bi-toggle-off::before { content: "\f5d5"; }
.bi-toggle-on::before { content: "\f5d6"; }
.bi-toggles::before { content: "\f5d9"; }
.bi-tools::before { content: "\f5db"; }
.bi-trash::before { content: "\f5de"; }
.bi-trophy::before { content: "\f5e7"; }
.bi-truck::before { content: "\f5ea"; }
.bi-type::before { content: "\f5f7"; }
.bi-upc-scan::before { content: "\f601"; }
.bi-upc::before { content: "\f602"; }
.bi-upload::before { content: "\f603"; }
.bi-wifi-off::before { content: "\f61b"; }
.bi-wifi::before { content: "\f61c"; }
.bi-wrench::before { content: "\f621"; }
.bi-x-circle-fill::before { content: "\f622"; }
.bi-x-circle::before { content: "\f623"; }
.bi-x-octagon-fill::before { content: "\f626"; }
.bi-x-octagon::before { content: "\f627"; }
.bi-x::before { content: "\f62a"; }
.bi-bell-slash::before { content: "\f631"; }
.bi-cash-coin::before { content: "\f632"; }
.bi-check-lg::before { content: "\f633"; }
.bi-currency-dollar::before { content: "\f636"; }
.bi-currency-exchange::before { content: "\f638"; }
.bi-dash-lg::before { content: "\f63b"; }
.bi-file-earmark-pdf::before { content: "\f63e"; }
.bi-plus-lg::before { content: "\f64d"; }
.bi-x-lg::before { content: "\f659"; }
.bi-line::before { content: "\f660"; }
.bi-medium::before { content: "\f661"; }
.bi-activity::before { content: "\f66b"; }
.bi-fingerprint::before { content: "\f671"; }
.bi-graph-down-arrow::before { content: "\f672"; }
.bi-graph-up-arrow::before { content: "\f673"; }
.bi-boxes::before { content: "\f685"; }
.bi-envelope-check::before { content: "\f68c"; }
.bi-meta::before { content: "\f6a1"; }
.bi-send-fill::before { content: "\f6b9"; }
.bi-send::before { content: "\f6c0"; }
.bi-ticket-perforated::before { content: "\f6ca"; }
.bi-ticket::before { content: "\f6cb"; }
.bi-clipboard2-pulse::before { content: "\f730"; }
.bi-clipboard2::before { content: "\f733"; }
.bi-envelope-paper::before { content: "\f73d"; }
.bi-filetype-csv::before { content: "\f743"; }
.bi-heart-pulse::before { content: "\f76f"; }
.bi-sliders2::before { content: "\f789"; }
.bi-trash3-fill::before { content: "\f78a"; }
.bi-trash3::before { content: "\f78b"; }
.bi-box-seam-fill::before { content: "\f7d3"; }
.bi-pass::before { content: "\f809"; }
.bi-rocket-fill::before { content: "\f843"; }
.bi-rocket-takeoff::before { content: "\f845"; }
.bi-rocket::before { content: "\f846"; }
.bi-envelope-at-fill::before { content: "\f84b"; }
.bi-envelope-at::before { content: "\f84c"; }
.bi-building-add::before { content: "\f867"; }
.bi-building-check::before { content: "\f868"; }
.bi-building-fill::before { content: "\f876"; }
.bi-building-gear::before { content: "\f877"; }
.bi-building-x::before { content: "\f87b"; }
.bi-buildings::before { content: "\f87d"; }
.bi-person-fill-gear::before { content: "\f8a2"; }
.bi-person-gear::before { content: "\f8a7"; }
.bi-database-add::before { content: "\f8af"; }
.bi-database-dash::before { content: "\f8b1"; }
.bi-database-gear::before { content: "\f8bf"; }
.bi-database::before { content: "\f8c4"; }
.bi-arrows::before { content: "\f6a2"; }
.bi-copy::before { content: "\f759"; }
.bi-floppy-fill::before { content: "\f7c5"; }
.bi-floppy::before { content: "\f7d8"; }
