/* Bootstrap Icons v1.11.3 — self-hosted SUBSET (Phase 2).
   Only the 376 glyphs used in this app, served same-origin so the icon
   CSS no longer render-blocks from jsDelivr. Markup unchanged.
   Regenerate: scripts/build_icons_subset.py. MIT — (c) Bootstrap Authors. */
@font-face{font-display:swap;font-family:"bootstrap-icons";src:url("../fonts/bootstrap-icons-subset.woff2") format("woff2");}
.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-1-circle::before{content:"\f797";}
.bi-2-circle::before{content:"\f79d";}
.bi-3-circle::before{content:"\f7a3";}
.bi-4-circle::before{content:"\f7a9";}
.bi-5-circle::before{content:"\f7af";}
.bi-6-circle::before{content:"\f7b5";}
.bi-7-circle::before{content:"\f7bb";}
.bi-8-circle::before{content:"\f7c1";}
.bi-activity::before{content:"\f66b";}
.bi-alarm::before{content:"\f102";}
.bi-arrow-clockwise::before{content:"\f116";}
.bi-arrow-counterclockwise::before{content:"\f117";}
.bi-arrow-down::before{content:"\f128";}
.bi-arrow-down-circle::before{content:"\f119";}
.bi-arrow-down-circle-fill::before{content:"\f118";}
.bi-arrow-down-left-circle::before{content:"\f11b";}
.bi-arrow-down-up::before{content:"\f127";}
.bi-arrow-left::before{content:"\f12f";}
.bi-arrow-left-right::before{content:"\f12b";}
.bi-arrow-repeat::before{content:"\f130";}
.bi-arrow-return-left::before{content:"\f131";}
.bi-arrow-right::before{content:"\f138";}
.bi-arrow-right-circle::before{content:"\f134";}
.bi-arrow-up::before{content:"\f148";}
.bi-arrow-up-circle::before{content:"\f13a";}
.bi-arrow-up-circle-fill::before{content:"\f139";}
.bi-arrow-up-right::before{content:"\f144";}
.bi-arrow-up-right-circle::before{content:"\f141";}
.bi-arrows-fullscreen::before{content:"\f14d";}
.bi-award::before{content:"\f154";}
.bi-bag-check::before{content:"\f171";}
.bi-bag-plus::before{content:"\f176";}
.bi-bag-x::before{content:"\f178";}
.bi-bank::before{content:"\f62e";}
.bi-bank2::before{content:"\f62f";}
.bi-bar-chart::before{content:"\f17e";}
.bi-bar-chart-fill::before{content:"\f17a";}
.bi-bar-chart-line::before{content:"\f17c";}
.bi-bell::before{content:"\f18a";}
.bi-bell-fill::before{content:"\f189";}
.bi-bezier2::before{content:"\f18c";}
.bi-book::before{content:"\f194";}
.bi-bookmark::before{content:"\f1a2";}
.bi-bookmark-fill::before{content:"\f199";}
.bi-bookmark-star::before{content:"\f19f";}
.bi-box::before{content:"\f1c8";}
.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::before{content:"\f1c6";}
.bi-box-arrow-up-right::before{content:"\f1c5";}
.bi-box-seam::before{content:"\f1c7";}
.bi-boxes::before{content:"\f685";}
.bi-braces-asterisk::before{content:"\f70e";}
.bi-broadcast::before{content:"\f1d6";}
.bi-broadcast-pin::before{content:"\f1d5";}
.bi-browser-chrome::before{content:"\f7d4";}
.bi-building::before{content:"\f1dd";}
.bi-buildings::before{content:"\f87d";}
.bi-bullseye::before{content:"\f1de";}
.bi-calculator::before{content:"\f1e0";}
.bi-calendar-event::before{content:"\f1e8";}
.bi-calendar3::before{content:"\f214";}
.bi-camera::before{content:"\f220";}
.bi-camera-video::before{content:"\f21f";}
.bi-camera-video-fill::before{content:"\f21c";}
.bi-cart::before{content:"\f242";}
.bi-cart-check::before{content:"\f23a";}
.bi-cart-fill::before{content:"\f23d";}
.bi-cart-x::before{content:"\f241";}
.bi-cash::before{content:"\f247";}
.bi-cash-coin::before{content:"\f632";}
.bi-cash-stack::before{content:"\f246";}
.bi-chat::before{content:"\f268";}
.bi-chat-dots::before{content:"\f24a";}
.bi-chat-dots-fill::before{content:"\f249";}
.bi-chat-heart::before{content:"\f714";}
.bi-chat-left::before{content:"\f253";}
.bi-chat-left-dots::before{content:"\f24d";}
.bi-chat-left-dots-fill::before{content:"\f24c";}
.bi-chat-left-text::before{content:"\f252";}
.bi-chat-left-text-fill::before{content:"\f251";}
.bi-check::before{content:"\f26e";}
.bi-check-all::before{content:"\f269";}
.bi-check-circle::before{content:"\f26b";}
.bi-check-circle-fill::before{content:"\f26a";}
.bi-check-lg::before{content:"\f633";}
.bi-check2::before{content:"\f272";}
.bi-check2-all::before{content:"\f26f";}
.bi-check2-circle::before{content:"\f270";}
.bi-chevron-down::before{content:"\f282";}
.bi-chevron-left::before{content:"\f284";}
.bi-chevron-right::before{content:"\f285";}
.bi-chevron-up::before{content:"\f286";}
.bi-circle::before{content:"\f28a";}
.bi-circle-fill::before{content:"\f287";}
.bi-clipboard::before{content:"\f290";}
.bi-clipboard-check::before{content:"\f28b";}
.bi-clipboard-data::before{content:"\f28c";}
.bi-clock::before{content:"\f293";}
.bi-clock-fill::before{content:"\f291";}
.bi-clock-history::before{content:"\f292";}
.bi-cloud-arrow-up::before{content:"\f297";}
.bi-cloud-arrow-up-fill::before{content:"\f296";}
.bi-cloud-check::before{content:"\f299";}
.bi-cloud-upload::before{content:"\f2c0";}
.bi-code-slash::before{content:"\f2c6";}
.bi-coin::before{content:"\f634";}
.bi-collection::before{content:"\f2cc";}
.bi-collection-fill::before{content:"\f2c9";}
.bi-command::before{content:"\f2cf";}
.bi-compass::before{content:"\f2d1";}
.bi-controller::before{content:"\f2d4";}
.bi-cpu::before{content:"\f2d6";}
.bi-credit-card::before{content:"\f2dc";}
.bi-credit-card-2-back::before{content:"\f2d8";}
.bi-credit-card-2-front::before{content:"\f2da";}
.bi-currency-bitcoin::before{content:"\f635";}
.bi-currency-exchange::before{content:"\f638";}
.bi-dash-circle::before{content:"\f2e6";}
.bi-dash-square::before{content:"\f2e9";}
.bi-database::before{content:"\f8c4";}
.bi-database-check::before{content:"\f8b0";}
.bi-database-fill-gear::before{content:"\f8b9";}
.bi-database-gear::before{content:"\f8bf";}
.bi-diagram-2::before{content:"\f2ec";}
.bi-diagram-2-fill::before{content:"\f2eb";}
.bi-diagram-3::before{content:"\f2ee";}
.bi-diamond::before{content:"\f2f1";}
.bi-diamond-fill::before{content:"\f2ef";}
.bi-dice-5::before{content:"\f2fb";}
.bi-dice-6::before{content:"\f2fd";}
.bi-disc::before{content:"\f2ff";}
.bi-discord::before{content:"\f300";}
.bi-display::before{content:"\f302";}
.bi-door-closed::before{content:"\f306";}
.bi-download::before{content:"\f30a";}
.bi-dribbble::before{content:"\f65f";}
.bi-droplet-fill::before{content:"\f30b";}
.bi-droplet-half::before{content:"\f30c";}
.bi-emoji-smile::before{content:"\f327";}
.bi-emoji-sunglasses::before{content:"\f329";}
.bi-envelope::before{content:"\f32f";}
.bi-envelope-fill::before{content:"\f32c";}
.bi-envelope-open::before{content:"\f32e";}
.bi-eraser::before{content:"\f331";}
.bi-exclamation-circle::before{content:"\f333";}
.bi-exclamation-circle-fill::before{content:"\f332";}
.bi-exclamation-diamond::before{content:"\f335";}
.bi-exclamation-triangle::before{content:"\f33b";}
.bi-exclamation-triangle-fill::before{content:"\f33a";}
.bi-eye::before{content:"\f341";}
.bi-eye-fill::before{content:"\f33e";}
.bi-eye-slash::before{content:"\f340";}
.bi-eyedropper::before{content:"\f342";}
.bi-file-earmark-arrow-down::before{content:"\f356";}
.bi-file-earmark-arrow-up::before{content:"\f358";}
.bi-file-earmark-check::before{content:"\f360";}
.bi-file-earmark-plus::before{content:"\f37d";}
.bi-file-earmark-text::before{content:"\f38b";}
.bi-file-earmark-x::before{content:"\f38f";}
.bi-file-earmark-zip::before{content:"\f391";}
.bi-file-text::before{content:"\f3b9";}
.bi-filetype-json::before{content:"\f791";}
.bi-filter-circle::before{content:"\f3c5";}
.bi-fingerprint::before{content:"\f671";}
.bi-fire::before{content:"\f7f6";}
.bi-flag::before{content:"\f3cc";}
.bi-flower2::before{content:"\f3ce";}
.bi-folder::before{content:"\f3d7";}
.bi-folder-symlink::before{content:"\f3d5";}
.bi-folder2-open::before{content:"\f3d8";}
.bi-fuel-pump-fill::before{content:"\f83d";}
.bi-funnel::before{content:"\f3e1";}
.bi-funnel-fill::before{content:"\f3e0";}
.bi-gear::before{content:"\f3e5";}
.bi-gear-wide-connected::before{content:"\f3e3";}
.bi-gem::before{content:"\f3e6";}
.bi-geo-alt::before{content:"\f3e8";}
.bi-gift::before{content:"\f3ec";}
.bi-globe::before{content:"\f3ee";}
.bi-globe2::before{content:"\f3ef";}
.bi-google::before{content:"\f3f0";}
.bi-graph-down-arrow::before{content:"\f672";}
.bi-graph-up::before{content:"\f3f2";}
.bi-graph-up-arrow::before{content:"\f673";}
.bi-grid::before{content:"\f3fc";}
.bi-grid-1x2::before{content:"\f3f4";}
.bi-grid-1x2-fill::before{content:"\f3f3";}
.bi-grid-3x3::before{content:"\f3fa";}
.bi-grid-3x3-gap::before{content:"\f3f9";}
.bi-grid-3x3-gap-fill::before{content:"\f3f8";}
.bi-grip-vertical::before{content:"\f3fe";}
.bi-hammer::before{content:"\f3ff";}
.bi-hand-index::before{content:"\f403";}
.bi-hand-index-thumb::before{content:"\f402";}
.bi-hand-thumbs-up::before{content:"\f407";}
.bi-hash::before{content:"\f40a";}
.bi-hdd-network::before{content:"\f40d";}
.bi-hdd-network-fill::before{content:"\f40c";}
.bi-hdd-rack::before{content:"\f40f";}
.bi-hdd-stack::before{content:"\f411";}
.bi-heart::before{content:"\f417";}
.bi-heart-fill::before{content:"\f415";}
.bi-hexagon::before{content:"\f41d";}
.bi-hexagon-fill::before{content:"\f41b";}
.bi-hexagon-half::before{content:"\f41c";}
.bi-hourglass::before{content:"\f421";}
.bi-hourglass-split::before{content:"\f41f";}
.bi-house::before{content:"\f425";}
.bi-house-door::before{content:"\f423";}
.bi-house-fill::before{content:"\f424";}
.bi-image::before{content:"\f42a";}
.bi-images::before{content:"\f42b";}
.bi-inbox::before{content:"\f42d";}
.bi-incognito::before{content:"\f777";}
.bi-info-circle::before{content:"\f431";}
.bi-info-circle-fill::before{content:"\f430";}
.bi-journal::before{content:"\f446";}
.bi-journal-bookmark::before{content:"\f43d";}
.bi-journal-text::before{content:"\f444";}
.bi-joystick::before{content:"\f448";}
.bi-key::before{content:"\f44f";}
.bi-key-fill::before{content:"\f44e";}
.bi-keyboard::before{content:"\f451";}
.bi-layers::before{content:"\f45b";}
.bi-layout-sidebar-inset::before{content:"\f45d";}
.bi-layout-text-window::before{content:"\f464";}
.bi-layout-text-window-reverse::before{content:"\f463";}
.bi-life-preserver::before{content:"\f467";}
.bi-lightbulb::before{content:"\f46b";}
.bi-lightning::before{content:"\f46f";}
.bi-lightning-charge::before{content:"\f46d";}
.bi-lightning-charge-fill::before{content:"\f46c";}
.bi-lightning-fill::before{content:"\f46e";}
.bi-link-45deg::before{content:"\f470";}
.bi-list::before{content:"\f479";}
.bi-list-check::before{content:"\f473";}
.bi-list-stars::before{content:"\f476";}
.bi-list-ul::before{content:"\f478";}
.bi-lock::before{content:"\f47b";}
.bi-lock-fill::before{content:"\f47a";}
.bi-magic::before{content:"\f675";}
.bi-mailbox::before{content:"\f47c";}
.bi-map::before{content:"\f47f";}
.bi-moon-fill::before{content:"\f494";}
.bi-mortarboard::before{content:"\f6fe";}
.bi-mortarboard-fill::before{content:"\f6fd";}
.bi-motherboard::before{content:"\f6e7";}
.bi-node-plus::before{content:"\f4a7";}
.bi-palette::before{content:"\f4b1";}
.bi-palette-fill::before{content:"\f4b0";}
.bi-patch-check::before{content:"\f4b6";}
.bi-patch-check-fill::before{content:"\f4b5";}
.bi-patch-question::before{content:"\f4be";}
.bi-pause-circle-fill::before{content:"\f4c1";}
.bi-pause-fill::before{content:"\f4c3";}
.bi-paypal::before{content:"\f662";}
.bi-pencil::before{content:"\f4cb";}
.bi-pencil-square::before{content:"\f4ca";}
.bi-people::before{content:"\f4d0";}
.bi-people-fill::before{content:"\f4cf";}
.bi-percent::before{content:"\f4d1";}
.bi-person::before{content:"\f4e1";}
.bi-person-arms-up::before{content:"\f8f6";}
.bi-person-badge::before{content:"\f4d3";}
.bi-person-check::before{content:"\f4d6";}
.bi-person-check-fill::before{content:"\f4d5";}
.bi-person-circle::before{content:"\f4d7";}
.bi-person-fill::before{content:"\f4da";}
.bi-person-gear::before{content:"\f8a7";}
.bi-person-plus::before{content:"\f4dd";}
.bi-person-plus-fill::before{content:"\f4dc";}
.bi-person-vcard::before{content:"\f8c9";}
.bi-person-x::before{content:"\f4e0";}
.bi-phone::before{content:"\f4e7";}
.bi-phone-vibrate::before{content:"\f4e6";}
.bi-pie-chart::before{content:"\f4e9";}
.bi-pie-chart-fill::before{content:"\f4e8";}
.bi-piggy-bank::before{content:"\f64a";}
.bi-play-btn::before{content:"\f4f1";}
.bi-play-circle::before{content:"\f4f3";}
.bi-play-circle-fill::before{content:"\f4f2";}
.bi-play-fill::before{content:"\f4f4";}
.bi-plug::before{content:"\f4f7";}
.bi-plus::before{content:"\f4fe";}
.bi-plus-circle::before{content:"\f4fa";}
.bi-plus-circle-fill::before{content:"\f4f9";}
.bi-plus-lg::before{content:"\f64d";}
.bi-plus-square::before{content:"\f4fd";}
.bi-puzzle::before{content:"\f503";}
.bi-puzzle-fill::before{content:"\f502";}
.bi-qr-code::before{content:"\f6ae";}
.bi-qr-code-scan::before{content:"\f6ad";}
.bi-question-circle::before{content:"\f505";}
.bi-question-lg::before{content:"\f64e";}
.bi-question-square::before{content:"\f50b";}
.bi-receipt::before{content:"\f50f";}
.bi-recycle::before{content:"\f64f";}
.bi-repeat::before{content:"\f813";}
.bi-robot::before{content:"\f6b1";}
.bi-rocket-fill::before{content:"\f843";}
.bi-rocket-takeoff::before{content:"\f845";}
.bi-rocket-takeoff-fill::before{content:"\f844";}
.bi-rulers::before{content:"\f523";}
.bi-safe::before{content:"\f65a";}
.bi-safe2::before{content:"\f653";}
.bi-save::before{content:"\f525";}
.bi-search::before{content:"\f52a";}
.bi-send::before{content:"\f6c0";}
.bi-send-check::before{content:"\f6b3";}
.bi-send-fill::before{content:"\f6b9";}
.bi-server::before{content:"\f52c";}
.bi-share::before{content:"\f52e";}
.bi-share-fill::before{content:"\f52d";}
.bi-shield-check::before{content:"\f52f";}
.bi-shield-exclamation::before{content:"\f530";}
.bi-shield-lock::before{content:"\f538";}
.bi-shield-lock-fill::before{content:"\f537";}
.bi-shield-plus::before{content:"\f53a";}
.bi-shield-shaded::before{content:"\f53b";}
.bi-shield-slash::before{content:"\f53d";}
.bi-shield-x::before{content:"\f53e";}
.bi-shop::before{content:"\f543";}
.bi-shop-window::before{content:"\f542";}
.bi-shuffle::before{content:"\f544";}
.bi-sliders::before{content:"\f56b";}
.bi-sliders2::before{content:"\f789";}
.bi-snow::before{content:"\f56d";}
.bi-sort-down::before{content:"\f575";}
.bi-speedometer::before{content:"\f57f";}
.bi-speedometer2::before{content:"\f580";}
.bi-spellcheck::before{content:"\f581";}
.bi-stack::before{content:"\f585";}
.bi-star::before{content:"\f588";}
.bi-star-fill::before{content:"\f586";}
.bi-star-half::before{content:"\f587";}
.bi-stars::before{content:"\f589";}
.bi-stop-circle::before{content:"\f591";}
.bi-stop-fill::before{content:"\f592";}
.bi-sun-fill::before{content:"\f5a1";}
.bi-table::before{content:"\f5aa";}
.bi-tag::before{content:"\f5b0";}
.bi-tag-fill::before{content:"\f5af";}
.bi-tags::before{content:"\f5b2";}
.bi-tags-fill::before{content:"\f5b1";}
.bi-telegram::before{content:"\f5b3";}
.bi-terminal::before{content:"\f5c3";}
.bi-three-dots::before{content:"\f5d4";}
.bi-toggle-off::before{content:"\f5d5";}
.bi-toggle-on::before{content:"\f5d6";}
.bi-tools::before{content:"\f5db";}
.bi-translate::before{content:"\f658";}
.bi-trash::before{content:"\f5de";}
.bi-trash3::before{content:"\f78b";}
.bi-trash3-fill::before{content:"\f78a";}
.bi-trophy::before{content:"\f5e7";}
.bi-twitter::before{content:"\f5ef";}
.bi-twitter-x::before{content:"\f8db";}
.bi-unlock::before{content:"\f600";}
.bi-unlock-fill::before{content:"\f5ff";}
.bi-upload::before{content:"\f603";}
.bi-usb::before{content:"\f6de";}
.bi-usb-drive::before{content:"\f6f2";}
.bi-vector-pen::before{content:"\f604";}
.bi-wallet::before{content:"\f614";}
.bi-wallet-fill::before{content:"\f613";}
.bi-wallet2::before{content:"\f615";}
.bi-wifi-off::before{content:"\f61b";}
.bi-wrench-adjustable::before{content:"\f790";}
.bi-x::before{content:"\f62a";}
.bi-x-circle::before{content:"\f623";}
.bi-x-circle-fill::before{content:"\f622";}
.bi-x-lg::before{content:"\f659";}
.bi-x-octagon::before{content:"\f627";}
.bi-x-square::before{content:"\f629";}
