/*
 * ONE STYLE AUTHORITY.
 *
 * Four layers, in cascade order, and nothing else styles the portal:
 *
 *   1. ow_foundation    tokens + typography + base element rules
 *   2. ow_components    the shared component layer (the design deliverable),
 *                       with the shared table (layer 3) folded into it
 *   3. billing          composed ON ow_components, namespaced .billing-page
 *   4. kept third-party sheets (see KEPT, below)
 *
 * Bootstrap is gone. This is the decision that makes the rest possible: its
 * global selectors (`.btn`, `.form-control`, `.nav`, `.table`, the grid, the
 * `.navbar`) fought the token layer on every screen, and every one of the
 * removed page sheets below existed largely to win that fight back.
 *
 * The page-by-page retirement sequencing is deliberately NOT followed here.
 * That rule protected screens still running on legacy CSS in production — and
 * this branch does not ship until every screen is redesigned on the design
 * system, so there is nothing to protect and a half-retired cascade is worse
 * than a fully retired one. An unmigrated screen renders unstyled until it is
 * rebuilt. That is the intended, visible signal of what is left to do.
 *
 * KEPT, and each for a stated reason — none of these style the portal chrome:
 *   fontawesome/solid/regular/brands/v4-shims  the icon set the design uses
 *   lightbox, flatpickr                        third-party widget CSS, still
 *                                              mounted by live screens
 *   billing                                    layer 4, own contract, composed
 *











 */

/*!
 * Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license (Commercial License)
 * Copyright 2024 Fonticons, Inc.
 */

.fa{font-family:var(--fa-style-family,"Font Awesome 6 Pro");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-duotone,.fa-light,.fa-regular,.fa-sharp,.fa-sharp-solid,.fa-solid,.fa-thin,.fab,.fad,.fal,.far,.fas,.fasl,.fasr,.fass,.fast,.fat{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-classic,.fa-light,.fa-regular,.fa-solid,.fa-thin,.fal,.far,.fas,.fat{font-family:"Font Awesome 6 Pro"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-classic.fa-duotone,.fa-duotone,.fad{font-family:"Font Awesome 6 Duotone"}.fa-sharp,.fasl,.fasr,.fass,.fast{font-family:"Font Awesome 6 Sharp"}.fa-sharp,.fass{font-weight:900}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,0));transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}

.fa-0:before{content:"\30"}.fa-1:before{content:"\31"}.fa-2:before{content:"\32"}.fa-3:before{content:"\33"}.fa-4:before{content:"\34"}.fa-5:before{content:"\35"}.fa-6:before{content:"\36"}.fa-7:before{content:"\37"}.fa-8:before{content:"\38"}.fa-9:before{content:"\39"}.fa-fill-drip:before{content:"\f576"}.fa-arrows-to-circle:before{content:"\e4bd"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-wagon-covered:before{content:"\f8ee"}.fa-line-height:before{content:"\f871"}.fa-bagel:before{content:"\e3d7"}.fa-transporter-7:before{content:"\e2a8"}.fa-at:before{content:"\40"}.fa-rectangles-mixed:before{content:"\e323"}.fa-phone-arrow-up-right:before,.fa-phone-arrow-up:before,.fa-phone-outgoing:before{content:"\e224"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-circle-l:before{content:"\e114"}.fa-head-side-goggles:before,.fa-head-vr:before{content:"\f6ea"}.fa-text-height:before{content:"\f034"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-face-hand-yawn:before{content:"\e379"}.fa-gauge-simple-min:before,.fa-tachometer-slowest:before{content:"\f62d"}.fa-stethoscope:before{content:"\f0f1"}.fa-coffin:before{content:"\f6c6"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-bowl-salad:before,.fa-salad:before{content:"\f81e"}.fa-info:before{content:"\f129"}.fa-robot-astromech:before{content:"\e2d2"}.fa-ring-diamond:before{content:"\e5ab"}.fa-fondue-pot:before{content:"\e40d"}.fa-theta:before{content:"\f69e"}.fa-face-hand-peeking:before{content:"\e481"}.fa-square-user:before{content:"\e283"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-explosion:before{content:"\e4e9"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-wave-square:before{content:"\f83e"}.fa-ring:before{content:"\f70b"}.fa-building-un:before{content:"\e4d9"}.fa-dice-three:before{content:"\f527"}.fa-tire-pressure-warning:before{content:"\f633"}.fa-wifi-2:before,.fa-wifi-fair:before{content:"\f6ab"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-mp3-player:before{content:"\f8ce"}.fa-anchor-circle-check:before{content:"\e4aa"}.fa-tally-4:before{content:"\e297"}.fa-rectangle-history:before{content:"\e4a2"}.fa-building-circle-arrow-right:before{content:"\e4d1"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-sun-haze:before{content:"\f765"}.fa-text-size:before{content:"\f894"}.fa-ufo:before{content:"\e047"}.fa-fork:before,.fa-utensil-fork:before{content:"\f2e3"}.fa-arrows-up-to-line:before{content:"\e4c2"}.fa-mobile-signal:before{content:"\e1ef"}.fa-barcode-scan:before{content:"\f465"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-folder-arrow-down:before,.fa-folder-download:before{content:"\e053"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-face-icicles:before{content:"\e37c"}.fa-shovel:before{content:"\f713"}.fa-door-open:before{content:"\f52b"}.fa-films:before{content:"\e17a"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-face-glasses:before{content:"\e377"}.fa-nfc:before{content:"\e1f7"}.fa-atom:before{content:"\f5d2"}.fa-soap:before{content:"\e06e"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-closed-captioning-slash:before{content:"\e135"}.fa-calculator-alt:before,.fa-calculator-simple:before{content:"\f64c"}.fa-bridge-circle-check:before{content:"\e4c9"}.fa-sliders-up:before,.fa-sliders-v:before{content:"\f3f1"}.fa-location-minus:before,.fa-map-marker-minus:before{content:"\f609"}.fa-pump-medical:before{content:"\e06a"}.fa-fingerprint:before{content:"\f577"}.fa-ski-boot:before{content:"\e3cc"}.fa-rectangle-sd:before,.fa-standard-definition:before{content:"\e28a"}.fa-h1:before{content:"\f313"}.fa-hand-point-right:before{content:"\f0a4"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-message-bot:before{content:"\e3b8"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-light-ceiling:before{content:"\e016"}.fa-comment-alt-exclamation:before,.fa-message-exclamation:before{content:"\f4a5"}.fa-bowl-scoop:before,.fa-bowl-shaved-ice:before{content:"\e3de"}.fa-square-x:before{content:"\e286"}.fa-building-memo:before{content:"\e61e"}.fa-utility-pole-double:before{content:"\e2c4"}.fa-flag-checkered:before{content:"\f11e"}.fa-chevron-double-up:before,.fa-chevrons-up:before{content:"\f325"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-user-vneck:before{content:"\e461"}.fa-school-circle-exclamation:before{content:"\e56c"}.fa-crop:before{content:"\f125"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-users-rectangle:before{content:"\e594"}.fa-people-roof:before{content:"\e537"}.fa-arrow-square-right:before,.fa-square-arrow-right:before{content:"\f33b"}.fa-location-plus:before,.fa-map-marker-plus:before{content:"\f60a"}.fa-lightbulb-exclamation-on:before{content:"\e1ca"}.fa-people-line:before{content:"\e534"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-crate-empty:before{content:"\e151"}.fa-diagram-predecessor:before{content:"\e477"}.fa-transporter:before{content:"\e042"}.fa-calendar-circle-user:before{content:"\e471"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-person-carry-box:before,.fa-person-carry:before{content:"\f4cf"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-laptop:before{content:"\f109"}.fa-file-csv:before{content:"\f6dd"}.fa-menorah:before{content:"\f676"}.fa-union:before{content:"\f6a2"}.fa-chevron-double-left:before,.fa-chevrons-left:before{content:"\f323"}.fa-circle-heart:before,.fa-heart-circle:before{content:"\f4c7"}.fa-truck-plane:before{content:"\e58f"}.fa-record-vinyl:before{content:"\f8d9"}.fa-bring-forward:before{content:"\f856"}.fa-square-p:before{content:"\e279"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-sigma:before{content:"\f68b"}.fa-camera-movie:before{content:"\f8a9"}.fa-bong:before{content:"\f55c"}.fa-clarinet:before{content:"\f8ad"}.fa-truck-flatbed:before{content:"\e2b6"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-arrow-down-up-across-line:before{content:"\e4af"}.fa-arrows-rotate-reverse:before{content:"\e630"}.fa-leaf-heart:before{content:"\f4cb"}.fa-house-building:before{content:"\e1b1"}.fa-cheese-swiss:before{content:"\f7f0"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-jar-wheat:before{content:"\e517"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-file-circle-exclamation:before{content:"\e4eb"}.fa-bow-arrow:before{content:"\f6b9"}.fa-cart-xmark:before{content:"\e0dd"}.fa-hexagon-xmark:before,.fa-times-hexagon:before,.fa-xmark-hexagon:before{content:"\f2ee"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-merge:before{content:"\e526"}.fa-pager:before{content:"\f815"}.fa-cart-minus:before{content:"\e0db"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-pan-frying:before{content:"\e42c"}.fa-grid-3:before,.fa-grid:before{content:"\e195"}.fa-football-helmet:before{content:"\f44f"}.fa-hand-love:before{content:"\e1a5"}.fa-trees:before{content:"\f724"}.fa-strikethrough:before{content:"\f0cc"}.fa-page:before{content:"\e428"}.fa-k:before{content:"\4b"}.fa-diagram-previous:before{content:"\e478"}.fa-gauge-min:before,.fa-tachometer-alt-slowest:before{content:"\f628"}.fa-folder-grid:before{content:"\e188"}.fa-eggplant:before{content:"\e16c"}.fa-excavator:before{content:"\e656"}.fa-ram:before{content:"\f70a"}.fa-landmark-flag:before{content:"\e51c"}.fa-lips:before{content:"\f600"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-backward:before{content:"\f04a"}.fa-caret-right:before{content:"\f0da"}.fa-comments:before{content:"\f086"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-desktop-arrow-down:before{content:"\e155"}.fa-code-pull-request:before{content:"\e13c"}.fa-pumpkin:before{content:"\f707"}.fa-clipboard-list:before{content:"\f46d"}.fa-pen-field:before{content:"\e211"}.fa-blueberries:before{content:"\e2e8"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-note:before{content:"\e1ff"}.fa-arrow-down-to-square:before{content:"\e096"}.fa-user-check:before{content:"\f4fc"}.fa-cloud-xmark:before{content:"\e35f"}.fa-vial-virus:before{content:"\e597"}.fa-book-alt:before,.fa-book-blank:before{content:"\f5d9"}.fa-golf-flag-hole:before{content:"\e3ac"}.fa-comment-alt-arrow-down:before,.fa-message-arrow-down:before{content:"\e1db"}.fa-face-unamused:before{content:"\e39f"}.fa-sheet-plastic:before{content:"\e571"}.fa-circle-9:before{content:"\e0f6"}.fa-blog:before{content:"\f781"}.fa-user-ninja:before{content:"\f504"}.fa-pencil-slash:before{content:"\e215"}.fa-bowling-pins:before{content:"\f437"}.fa-person-arrow-up-from-line:before{content:"\e539"}.fa-down-right:before{content:"\e16b"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-webhook:before{content:"\e5d5"}.fa-blinds-open:before{content:"\f8fc"}.fa-fence:before{content:"\e303"}.fa-arrow-alt-up:before,.fa-up:before{content:"\f357"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-drumstick:before{content:"\f6d6"}.fa-square-v:before{content:"\e284"}.fa-face-awesome:before,.fa-gave-dandy:before{content:"\e409"}.fa-dial-off:before{content:"\e162"}.fa-toggle-off:before{content:"\f204"}.fa-face-smile-horns:before{content:"\e391"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-grapes:before{content:"\e306"}.fa-person-drowning:before{content:"\e545"}.fa-dial-max:before{content:"\e15e"}.fa-circle-m:before{content:"\e115"}.fa-calendar-image:before{content:"\e0d4"}.fa-caret-circle-down:before,.fa-circle-caret-down:before{content:"\f32d"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-shish-kebab:before{content:"\f821"}.fa-spray-can:before{content:"\f5bd"}.fa-alarm-snooze:before{content:"\f845"}.fa-scarecrow:before{content:"\f70d"}.fa-truck-monster:before{content:"\f63b"}.fa-gift-card:before{content:"\f663"}.fa-w:before{content:"\57"}.fa-code-pull-request-draft:before{content:"\e3fa"}.fa-square-b:before{content:"\e264"}.fa-elephant:before{content:"\f6da"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f57c"}.fa-rainbow:before{content:"\f75b"}.fa-circle-notch:before{content:"\f1ce"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:"\f3fa"}.fa-paw:before{content:"\f1b0"}.fa-message-question:before{content:"\e1e3"}.fa-cloud:before{content:"\f0c2"}.fa-trowel-bricks:before{content:"\e58a"}.fa-square-3:before{content:"\e258"}.fa-face-flushed:before,.fa-flushed:before{content:"\f579"}.fa-hospital-user:before{content:"\f80d"}.fa-microwave:before{content:"\e01b"}.fa-chf-sign:before{content:"\e602"}.fa-tent-arrow-left-right:before{content:"\e57f"}.fa-cart-circle-arrow-up:before{content:"\e3f0"}.fa-trash-clock:before{content:"\e2b0"}.fa-reflect-both:before{content:"\e66f"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-sprinkler-ceiling:before{content:"\e44c"}.fa-browsers:before{content:"\e0cb"}.fa-trillium:before{content:"\e588"}.fa-music-slash:before{content:"\f8d1"}.fa-truck-ramp:before{content:"\f4e0"}.fa-binoculars:before{content:"\f1e5"}.fa-microphone-slash:before{content:"\f131"}.fa-box-tissue:before{content:"\e05b"}.fa-circle-c:before{content:"\e101"}.fa-star-christmas:before{content:"\f7d4"}.fa-chart-bullet:before{content:"\e0e1"}.fa-motorcycle:before{content:"\f21c"}.fa-tree-christmas:before{content:"\f7db"}.fa-tire-flat:before{content:"\f632"}.fa-sunglasses:before{content:"\f892"}.fa-badge:before{content:"\f335"}.fa-comment-alt-edit:before,.fa-message-edit:before,.fa-message-pen:before{content:"\f4a4"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:"\f562"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:"\f5ae"}.fa-file-mp3:before{content:"\e648"}.fa-arrow-progress:before{content:"\e5df"}.fa-chess-rook-alt:before,.fa-chess-rook-piece:before{content:"\f448"}.fa-square-root:before{content:"\f697"}.fa-album-collection-circle-plus:before{content:"\e48e"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:"\e068"}.fa-sign-post:before{content:"\e624"}.fa-face-angry-horns:before{content:"\e368"}.fa-mars-and-venus-burst:before{content:"\e523"}.fa-tombstone:before{content:"\f720"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:"\f152"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-list-music:before{content:"\f8c9"}.fa-sun-plant-wilt:before{content:"\e57a"}.fa-toilets-portable:before{content:"\e584"}.fa-hockey-puck:before{content:"\f453"}.fa-mustache:before{content:"\e5bc"}.fa-hyphen:before{content:"\2d"}.fa-table:before{content:"\f0ce"}.fa-user-chef:before{content:"\e3d2"}.fa-comment-alt-image:before,.fa-message-image:before{content:"\e1e0"}.fa-users-medical:before{content:"\f830"}.fa-sensor-alert:before,.fa-sensor-triangle-exclamation:before{content:"\e029"}.fa-magnifying-glass-arrow-right:before{content:"\e521"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:"\f566"}.fa-face-mask:before{content:"\e37f"}.fa-pickleball:before{content:"\e435"}.fa-star-sharp-half:before{content:"\e28c"}.fa-users-slash:before{content:"\e073"}.fa-clover:before{content:"\e139"}.fa-meat:before{content:"\f814"}.fa-mail-reply:before,.fa-reply:before{content:"\f3e5"}.fa-star-and-crescent:before{content:"\f699"}.fa-empty-set:before{content:"\f656"}.fa-house-fire:before{content:"\e50c"}.fa-minus-square:before,.fa-square-minus:before{content:"\f146"}.fa-helicopter:before{content:"\f533"}.fa-bird:before{content:"\e469"}.fa-compass:before{content:"\f14e"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:"\f150"}.fa-heart-half-alt:before,.fa-heart-half-stroke:before{content:"\e1ac"}.fa-file-circle-question:before{content:"\e4ef"}.fa-truck-utensils:before{content:"\e628"}.fa-laptop-code:before{content:"\f5fc"}.fa-joystick:before{content:"\f8c5"}.fa-grill-fire:before{content:"\e5a4"}.fa-rectangle-vertical-history:before{content:"\e237"}.fa-swatchbook:before{content:"\f5c3"}.fa-prescription-bottle:before{content:"\f485"}.fa-bars:before,.fa-navicon:before{content:"\f0c9"}.fa-keyboard-left:before{content:"\e1c3"}.fa-people-group:before{content:"\e533"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-heart-broken:before,.fa-heart-crack:before{content:"\f7a9"}.fa-face-beam-hand-over-mouth:before{content:"\e47c"}.fa-droplet-percent:before,.fa-humidity:before{content:"\f750"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:"\f360"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:"\f597"}.fa-corn:before{content:"\f6c7"}.fa-roller-coaster:before{content:"\e324"}.fa-photo-film-music:before{content:"\e228"}.fa-radar:before{content:"\e024"}.fa-sickle:before{content:"\f822"}.fa-film:before{content:"\f008"}.fa-coconut:before{content:"\e2f6"}.fa-ruler-horizontal:before{content:"\f547"}.fa-shield-cross:before{content:"\f712"}.fa-cassette-tape:before{content:"\f8ab"}.fa-square-terminal:before{content:"\e32a"}.fa-people-robbery:before{content:"\e536"}.fa-lightbulb:before{content:"\f0eb"}.fa-caret-left:before{content:"\f0d9"}.fa-comment-middle:before{content:"\e149"}.fa-trash-can-list:before{content:"\e2ab"}.fa-block:before{content:"\e46a"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\f06a"}.fa-school-circle-xmark:before{content:"\e56d"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:"\f08b"}.fa-face-frown-slight:before{content:"\e376"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:"\f13a"}.fa-sidebar-flip:before{content:"\e24f"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:"\f13e"}.fa-temperature-list:before{content:"\e299"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:"\f58f"}.fa-sitemap:before{content:"\f0e8"}.fa-pipe-section:before{content:"\e438"}.fa-space-station-moon-alt:before,.fa-space-station-moon-construction:before{content:"\e034"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:"\f4b9"}.fa-memory:before{content:"\f538"}.fa-face-sleeping:before{content:"\e38d"}.fa-road-spikes:before{content:"\e568"}.fa-fire-burner:before{content:"\e4f1"}.fa-squirrel:before{content:"\f71a"}.fa-arrow-to-top:before,.fa-arrow-up-to-line:before{content:"\f341"}.fa-flag:before{content:"\f024"}.fa-face-cowboy-hat:before{content:"\e36e"}.fa-hanukiah:before{content:"\f6e6"}.fa-chart-scatter-3d:before{content:"\e0e8"}.fa-display-chart-up:before{content:"\e5e3"}.fa-square-code:before{content:"\e267"}.fa-feather:before{content:"\f52d"}.fa-volume-down:before,.fa-volume-low:before{content:"\f027"}.fa-times-to-slot:before,.fa-vote-nay:before,.fa-xmark-to-slot:before{content:"\f771"}.fa-box-alt:before,.fa-box-taped:before{content:"\f49a"}.fa-comment-slash:before{content:"\f4b3"}.fa-swords:before{content:"\f71d"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-album:before{content:"\f89f"}.fa-circle-n:before{content:"\e118"}.fa-compress:before{content:"\f066"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:"\e2cd"}.fa-ankh:before{content:"\f644"}.fa-hands-holding-child:before{content:"\e4fa"}.fa-asterisk:before{content:"\2a"}.fa-key-skeleton-left-right:before{content:"\e3b4"}.fa-comment-lines:before{content:"\f4b0"}.fa-luchador-mask:before,.fa-luchador:before,.fa-mask-luchador:before{content:"\f455"}.fa-check-square:before,.fa-square-check:before{content:"\f14a"}.fa-shredder:before{content:"\f68a"}.fa-book-open-alt:before,.fa-book-open-cover:before{content:"\e0c0"}.fa-sandwich:before{content:"\f81f"}.fa-peseta-sign:before{content:"\e221"}.fa-parking-slash:before,.fa-square-parking-slash:before{content:"\f617"}.fa-train-tunnel:before{content:"\e454"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-ghost:before{content:"\f6e2"}.fa-face-anguished:before{content:"\e369"}.fa-hockey-sticks:before{content:"\f454"}.fa-abacus:before{content:"\f640"}.fa-film-alt:before,.fa-film-simple:before{content:"\f3a0"}.fa-list-squares:before,.fa-list:before{content:"\f03a"}.fa-tree-palm:before{content:"\f82b"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:"\f87b"}.fa-cart-plus:before{content:"\f217"}.fa-gamepad:before{content:"\f11b"}.fa-border-center-v:before{content:"\f89d"}.fa-circle-dot:before,.fa-dot-circle:before{content:"\f192"}.fa-clipboard-medical:before{content:"\e133"}.fa-dizzy:before,.fa-face-dizzy:before{content:"\f567"}.fa-egg:before{content:"\f7fb"}.fa-arrow-alt-to-top:before,.fa-up-to-line:before{content:"\f34d"}.fa-house-medical-circle-xmark:before{content:"\e513"}.fa-watch-fitness:before{content:"\f63e"}.fa-clock-nine-thirty:before{content:"\e34d"}.fa-campground:before{content:"\f6bb"}.fa-folder-plus:before{content:"\f65e"}.fa-jug:before{content:"\f8c6"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:"\f1e3"}.fa-snow-blowing:before{content:"\f761"}.fa-paint-brush:before,.fa-paintbrush:before{content:"\f1fc"}.fa-lock:before{content:"\f023"}.fa-arrow-down-from-line:before,.fa-arrow-from-top:before{content:"\f345"}.fa-gas-pump:before{content:"\f52f"}.fa-signal-alt-slash:before,.fa-signal-bars-slash:before{content:"\f694"}.fa-monkey:before{content:"\f6fb"}.fa-pro:before,.fa-rectangle-pro:before{content:"\e235"}.fa-house-night:before{content:"\e010"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:"\f593"}.fa-globe-pointer:before{content:"\e60e"}.fa-blanket:before{content:"\f498"}.fa-map-location:before,.fa-map-marked:before{content:"\f59f"}.fa-house-flood-water:before{content:"\e50e"}.fa-comments-question-check:before{content:"\e14f"}.fa-tree:before{content:"\f1bb"}.fa-arrows-cross:before{content:"\e0a2"}.fa-backpack:before{content:"\f5d4"}.fa-square-small:before{content:"\e27e"}.fa-folder-arrow-up:before,.fa-folder-upload:before{content:"\e054"}.fa-bridge-lock:before{content:"\e4cc"}.fa-crosshairs-simple:before{content:"\e59f"}.fa-sack-dollar:before{content:"\f81d"}.fa-edit:before,.fa-pen-to-square:before{content:"\f044"}.fa-sliders-h-square:before,.fa-square-sliders:before{content:"\f3f0"}.fa-car-side:before{content:"\f5e4"}.fa-comment-middle-top-alt:before,.fa-message-middle-top:before{content:"\e1e2"}.fa-lightbulb-on:before{content:"\f672"}.fa-knife:before,.fa-utensil-knife:before{content:"\f2e4"}.fa-share-alt:before,.fa-share-nodes:before{content:"\f1e0"}.fa-display-chart-up-circle-dollar:before{content:"\e5e6"}.fa-wave-sine:before{content:"\f899"}.fa-heart-circle-minus:before{content:"\e4ff"}.fa-circle-w:before{content:"\e12c"}.fa-calendar-circle:before,.fa-circle-calendar:before{content:"\e102"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-microscope:before{content:"\f610"}.fa-sunset:before{content:"\f767"}.fa-sink:before{content:"\e06d"}.fa-calendar-exclamation:before{content:"\f334"}.fa-truck-container-empty:before{content:"\e2b5"}.fa-hand-heart:before{content:"\f4bc"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:"\f290"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-mitten:before{content:"\f7b5"}.fa-reply-clock:before,.fa-reply-time:before{content:"\e239"}.fa-person-rays:before{content:"\e54d"}.fa-arrow-alt-right:before,.fa-right:before{content:"\f356"}.fa-circle-f:before{content:"\e10e"}.fa-users:before{content:"\f0c0"}.fa-face-pleading:before{content:"\e386"}.fa-eye-slash:before{content:"\f070"}.fa-flask-vial:before{content:"\e4f3"}.fa-police-box:before{content:"\e021"}.fa-cucumber:before{content:"\e401"}.fa-head-side-brain:before{content:"\f808"}.fa-hand-paper:before,.fa-hand:before{content:"\f256"}.fa-biking-mountain:before,.fa-person-biking-mountain:before{content:"\f84b"}.fa-utensils-slash:before{content:"\e464"}.fa-print-magnifying-glass:before,.fa-print-search:before{content:"\f81a"}.fa-turn-right:before{content:"\e639"}.fa-folder-bookmark:before{content:"\e186"}.fa-arrow-turn-left-down:before{content:"\e633"}.fa-om:before{content:"\f679"}.fa-pi:before{content:"\f67e"}.fa-flask-potion:before,.fa-flask-round-potion:before{content:"\f6e1"}.fa-face-shush:before{content:"\e38c"}.fa-worm:before{content:"\e599"}.fa-house-circle-xmark:before{content:"\e50b"}.fa-plug:before{content:"\f1e6"}.fa-calendar-circle-exclamation:before{content:"\e46e"}.fa-square-i:before{content:"\e272"}.fa-chevron-up:before{content:"\f077"}.fa-face-saluting:before{content:"\e484"}.fa-gauge-simple-low:before,.fa-tachometer-slow:before{content:"\f62c"}.fa-face-persevering:before{content:"\e385"}.fa-camera-circle:before,.fa-circle-camera:before{content:"\e103"}.fa-hand-spock:before{content:"\f259"}.fa-spider-web:before{content:"\f719"}.fa-circle-microphone:before,.fa-microphone-circle:before{content:"\e116"}.fa-book-arrow-up:before{content:"\e0ba"}.fa-popsicle:before{content:"\e43e"}.fa-command:before{content:"\e142"}.fa-blinds:before{content:"\f8fb"}.fa-stopwatch:before{content:"\f2f2"}.fa-saxophone:before{content:"\f8dc"}.fa-square-2:before{content:"\e257"}.fa-field-hockey-stick-ball:before,.fa-field-hockey:before{content:"\f44c"}.fa-arrow-up-square-triangle:before,.fa-sort-shapes-up-alt:before{content:"\f88b"}.fa-face-scream:before{content:"\e38b"}.fa-square-m:before{content:"\e276"}.fa-camera-web:before,.fa-webcam:before{content:"\f832"}.fa-comment-arrow-down:before{content:"\e143"}.fa-lightbulb-cfl:before{content:"\e5a6"}.fa-window-frame-open:before{content:"\e050"}.fa-face-kiss:before,.fa-kiss:before{content:"\f596"}.fa-bridge-circle-xmark:before{content:"\e4cb"}.fa-period:before{content:"\2e"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:"\f589"}.fa-up-to-dotted-line:before{content:"\e457"}.fa-thought-bubble:before{content:"\e32e"}.fa-skeleton-ribs:before{content:"\e5cb"}.fa-raygun:before{content:"\e025"}.fa-flute:before{content:"\f8b9"}.fa-acorn:before{content:"\f6ae"}.fa-video-arrow-up-right:before{content:"\e2c9"}.fa-grate-droplet:before{content:"\e194"}.fa-seal-exclamation:before{content:"\e242"}.fa-chess-bishop:before{content:"\f43a"}.fa-message-sms:before{content:"\e1e5"}.fa-coffee-beans:before{content:"\e13f"}.fa-hat-witch:before{content:"\f6e7"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:"\f58c"}.fa-clock-three-thirty:before{content:"\e357"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-alarm-clock:before{content:"\f34e"}.fa-eclipse:before{content:"\f749"}.fa-face-relieved:before{content:"\e389"}.fa-road-circle-check:before{content:"\e564"}.fa-dice-five:before{content:"\f523"}.fa-minus-octagon:before,.fa-octagon-minus:before{content:"\f308"}.fa-rss-square:before,.fa-square-rss:before{content:"\f143"}.fa-face-zany:before{content:"\e3a4"}.fa-tricycle:before{content:"\e5c3"}.fa-land-mine-on:before{content:"\e51b"}.fa-square-arrow-up-left:before{content:"\e263"}.fa-i-cursor:before{content:"\f246"}.fa-chart-mixed-up-circle-dollar:before{content:"\e5d9"}.fa-salt-shaker:before{content:"\e446"}.fa-stamp:before{content:"\f5bf"}.fa-file-plus:before{content:"\f319"}.fa-draw-square:before{content:"\f5ef"}.fa-toilet-paper-reverse-slash:before,.fa-toilet-paper-under-slash:before{content:"\e2a1"}.fa-stairs:before{content:"\e289"}.fa-drone-alt:before,.fa-drone-front:before{content:"\f860"}.fa-glass-empty:before{content:"\e191"}.fa-dial-high:before{content:"\e15c"}.fa-user-construction:before,.fa-user-hard-hat:before,.fa-user-helmet-safety:before{content:"\f82c"}.fa-i:before{content:"\49"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:"\f6f2"}.fa-arrow-down-left-and-arrow-up-right-to-center:before{content:"\e092"}.fa-pills:before{content:"\f484"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:"\f581"}.fa-tooth:before{content:"\f5c9"}.fa-basketball-hoop:before{content:"\f435"}.fa-objects-align-bottom:before{content:"\e3bb"}.fa-v:before{content:"\56"}.fa-sparkles:before{content:"\f890"}.fa-squid:before{content:"\e450"}.fa-leafy-green:before{content:"\e41d"}.fa-circle-arrow-up-right:before{content:"\e0fc"}.fa-calendars:before{content:"\e0d7"}.fa-bangladeshi-taka-sign:before{content:"\e2e6"}.fa-bicycle:before{content:"\f206"}.fa-hammer-war:before{content:"\f6e4"}.fa-circle-d:before{content:"\e104"}.fa-spider-black-widow:before{content:"\f718"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:"\e579"}.fa-pear:before{content:"\e20c"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-file-mov:before{content:"\e647"}.fa-triangle:before{content:"\f2ec"}.fa-apartment:before{content:"\e468"}.fa-ambulance:before,.fa-truck-medical:before{content:"\f0f9"}.fa-pepper:before{content:"\e432"}.fa-piano:before{content:"\f8d4"}.fa-gun-squirt:before{content:"\e19d"}.fa-wheat-awn-circle-exclamation:before{content:"\e598"}.fa-snowman:before{content:"\f7d0"}.fa-user-alien:before{content:"\e04a"}.fa-shield-check:before{content:"\f2f7"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-road-barrier:before{content:"\e562"}.fa-chart-candlestick:before{content:"\e0e2"}.fa-briefcase-blank:before{content:"\e0c8"}.fa-school:before{content:"\f549"}.fa-igloo:before{content:"\f7ae"}.fa-bracket-round:before,.fa-parenthesis:before{content:"\28"}.fa-joint:before{content:"\f595"}.fa-horse-saddle:before{content:"\f8c3"}.fa-mug-marshmallows:before{content:"\f7b7"}.fa-filters:before{content:"\e17e"}.fa-bell-on:before{content:"\f8fa"}.fa-angle-right:before{content:"\f105"}.fa-dial-med:before{content:"\e15f"}.fa-horse:before{content:"\f6f0"}.fa-q:before{content:"\51"}.fa-monitor-heart-rate:before,.fa-monitor-waveform:before{content:"\f611"}.fa-link-simple:before{content:"\e1cd"}.fa-whistle:before{content:"\f460"}.fa-g:before{content:"\47"}.fa-fragile:before,.fa-wine-glass-crack:before{content:"\f4bb"}.fa-slot-machine:before{content:"\e3ce"}.fa-notes-medical:before{content:"\f481"}.fa-car-wash:before{content:"\f5e6"}.fa-escalator:before{content:"\e171"}.fa-comment-image:before{content:"\e148"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-dong-sign:before{content:"\e169"}.fa-donut:before,.fa-doughnut:before{content:"\e406"}.fa-capsules:before{content:"\f46b"}.fa-poo-bolt:before,.fa-poo-storm:before{content:"\f75a"}.fa-tally-1:before{content:"\e294"}.fa-file-vector:before{content:"\e64c"}.fa-face-frown-open:before,.fa-frown-open:before{content:"\f57a"}.fa-square-dashed:before{content:"\e269"}.fa-bag-shopping-plus:before{content:"\e651"}.fa-square-j:before{content:"\e273"}.fa-hand-point-up:before{content:"\f0a6"}.fa-money-bill:before{content:"\f0d6"}.fa-arrow-up-big-small:before,.fa-sort-size-up:before{content:"\f88e"}.fa-barcode-read:before{content:"\f464"}.fa-baguette:before{content:"\e3d8"}.fa-bowl-soft-serve:before{content:"\e46b"}.fa-face-holding-back-tears:before{content:"\e482"}.fa-arrow-alt-square-up:before,.fa-square-up:before{content:"\f353"}.fa-subway-tunnel:before,.fa-train-subway-tunnel:before{content:"\e2a3"}.fa-exclamation-square:before,.fa-square-exclamation:before{content:"\f321"}.fa-semicolon:before{content:"\3b"}.fa-bookmark:before{content:"\f02e"}.fa-fan-table:before{content:"\e004"}.fa-align-justify:before{content:"\f039"}.fa-battery-1:before,.fa-battery-low:before{content:"\e0b1"}.fa-credit-card-front:before{content:"\f38a"}.fa-brain-arrow-curved-right:before,.fa-mind-share:before{content:"\f677"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-helmet-un:before{content:"\e503"}.fa-location-smile:before,.fa-map-marker-smile:before{content:"\f60d"}.fa-arrow-left-to-line:before,.fa-arrow-to-left:before{content:"\f33e"}.fa-bullseye:before{content:"\f140"}.fa-nigiri:before,.fa-sushi:before{content:"\e48a"}.fa-comment-alt-captions:before,.fa-message-captions:before{content:"\e1de"}.fa-trash-list:before{content:"\e2b1"}.fa-bacon:before{content:"\f7e5"}.fa-option:before{content:"\e318"}.fa-raccoon:before{content:"\e613"}.fa-hand-point-down:before{content:"\f0a7"}.fa-arrow-up-from-bracket:before{content:"\e09a"}.fa-head-side-gear:before{content:"\e611"}.fa-trash-plus:before{content:"\e2b2"}.fa-file-cad:before{content:"\e672"}.fa-objects-align-top:before{content:"\e3c0"}.fa-folder-blank:before,.fa-folder:before{content:"\f07b"}.fa-face-anxious-sweat:before{content:"\e36a"}.fa-credit-card-blank:before{content:"\f389"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:"\f478"}.fa-microchip-ai:before{content:"\e1ec"}.fa-mug:before{content:"\f874"}.fa-plane-up-slash:before{content:"\e22e"}.fa-radiation:before{content:"\f7b9"}.fa-pen-circle:before{content:"\e20e"}.fa-bag-seedling:before{content:"\e5f2"}.fa-chart-simple:before{content:"\e473"}.fa-crutches:before{content:"\f7f8"}.fa-circle-parking:before,.fa-parking-circle:before{content:"\f615"}.fa-mars-stroke:before{content:"\f229"}.fa-leaf-oak:before{content:"\f6f7"}.fa-square-bolt:before{content:"\e265"}.fa-vial:before{content:"\f492"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:"\f624"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-lambda:before{content:"\f66e"}.fa-e:before{content:"\45"}.fa-pizza:before{content:"\f817"}.fa-bowl-chopsticks-noodles:before{content:"\e2ea"}.fa-h3:before{content:"\f315"}.fa-pen-alt:before,.fa-pen-clip:before{content:"\f305"}.fa-bridge-circle-exclamation:before{content:"\e4ca"}.fa-badge-percent:before{content:"\f646"}.fa-rotate-reverse:before{content:"\e631"}.fa-user:before{content:"\f007"}.fa-sensor:before{content:"\e028"}.fa-comma:before{content:"\2c"}.fa-school-circle-check:before{content:"\e56b"}.fa-toilet-paper-reverse:before,.fa-toilet-paper-under:before{content:"\e2a0"}.fa-light-emergency:before{content:"\e41f"}.fa-arrow-down-to-arc:before{content:"\e4ae"}.fa-dumpster:before{content:"\f793"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-building-user:before{content:"\e4da"}.fa-light-switch:before{content:"\e017"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:"\f191"}.fa-highlighter:before{content:"\f591"}.fa-heart-rate:before,.fa-wave-pulse:before{content:"\f5f8"}.fa-key:before{content:"\f084"}.fa-arrow-left-to-bracket:before{content:"\e669"}.fa-hat-santa:before{content:"\f7a7"}.fa-tamale:before{content:"\e451"}.fa-box-check:before{content:"\f467"}.fa-bullhorn:before{content:"\f0a1"}.fa-steak:before{content:"\f824"}.fa-location-crosshairs-slash:before,.fa-location-slash:before{content:"\f603"}.fa-person-dolly:before{content:"\f4d0"}.fa-globe:before{content:"\f0ac"}.fa-synagogue:before{content:"\f69b"}.fa-file-chart-column:before,.fa-file-chart-line:before{content:"\f659"}.fa-person-half-dress:before{content:"\e548"}.fa-folder-image:before{content:"\e18a"}.fa-calendar-edit:before,.fa-calendar-pen:before{content:"\f333"}.fa-road-bridge:before{content:"\e563"}.fa-face-smile-tear:before{content:"\e393"}.fa-comment-alt-plus:before,.fa-message-plus:before{content:"\f4a8"}.fa-location-arrow:before{content:"\f124"}.fa-c:before{content:"\43"}.fa-tablet-button:before{content:"\f10a"}.fa-person-dress-fairy:before{content:"\e607"}.fa-rectangle-history-circle-user:before{content:"\e4a4"}.fa-building-lock:before{content:"\e4d6"}.fa-chart-line-up:before{content:"\e0e5"}.fa-mailbox:before{content:"\f813"}.fa-sign-posts:before{content:"\e625"}.fa-truck-bolt:before{content:"\e3d0"}.fa-pizza-slice:before{content:"\f818"}.fa-money-bill-wave:before{content:"\f53a"}.fa-area-chart:before,.fa-chart-area:before{content:"\f1fe"}.fa-house-flag:before{content:"\e50d"}.fa-circle-three-quarters-stroke:before{content:"\e5d4"}.fa-person-circle-minus:before{content:"\e540"}.fa-scalpel:before{content:"\f61d"}.fa-ban:before,.fa-cancel:before{content:"\f05e"}.fa-bell-exclamation:before{content:"\f848"}.fa-bookmark-circle:before,.fa-circle-bookmark:before{content:"\e100"}.fa-egg-fried:before{content:"\f7fc"}.fa-face-weary:before{content:"\e3a1"}.fa-uniform-martial-arts:before{content:"\e3d1"}.fa-camera-rotate:before{content:"\e0d8"}.fa-sun-dust:before{content:"\f764"}.fa-comment-text:before{content:"\e14d"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:"\f5d0"}.fa-signal-alt-4:before,.fa-signal-alt:before,.fa-signal-bars-strong:before,.fa-signal-bars:before{content:"\f690"}.fa-diamond-exclamation:before{content:"\e405"}.fa-star:before{content:"\f005"}.fa-dial-min:before{content:"\e161"}.fa-repeat:before{content:"\f363"}.fa-cross:before{content:"\f654"}.fa-file-caret-down:before,.fa-page-caret-down:before{content:"\e429"}.fa-box:before{content:"\f466"}.fa-venus-mars:before{content:"\f228"}.fa-clock-seven-thirty:before{content:"\e351"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-clock-four-thirty:before{content:"\e34b"}.fa-signal-alt-3:before,.fa-signal-bars-good:before{content:"\f693"}.fa-cactus:before{content:"\f8a7"}.fa-lightbulb-gear:before{content:"\e5fd"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:"\f31e"}.fa-charging-station:before{content:"\f5e7"}.fa-shapes:before,.fa-triangle-circle-square:before{content:"\f61f"}.fa-plane-tail:before{content:"\e22c"}.fa-gauge-simple-max:before,.fa-tachometer-fastest:before{content:"\f62b"}.fa-circle-u:before{content:"\e127"}.fa-shield-slash:before{content:"\e24b"}.fa-phone-square-down:before,.fa-square-phone-hangup:before{content:"\e27a"}.fa-arrow-up-left:before{content:"\e09d"}.fa-transporter-1:before{content:"\e043"}.fa-peanuts:before{content:"\e431"}.fa-random:before,.fa-shuffle:before{content:"\f074"}.fa-person-running:before,.fa-running:before{content:"\f70c"}.fa-mobile-retro:before{content:"\e527"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-bin-bottles-recycle:before{content:"\e5f6"}.fa-arrow-up-from-square:before{content:"\e09c"}.fa-file-dashed-line:before,.fa-page-break:before{content:"\f877"}.fa-bracket-curly-right:before{content:"\7d"}.fa-spider:before{content:"\f717"}.fa-clock-three:before{content:"\e356"}.fa-hands-bound:before{content:"\e4f9"}.fa-scalpel-line-dashed:before,.fa-scalpel-path:before{content:"\f61e"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-pipe-smoking:before{content:"\e3c4"}.fa-face-astonished:before{content:"\e36b"}.fa-window:before{content:"\f40e"}.fa-plane-circle-exclamation:before{content:"\e556"}.fa-ear:before{content:"\f5f0"}.fa-file-lock:before{content:"\e3a6"}.fa-diagram-venn:before{content:"\e15a"}.fa-arrow-down-from-bracket:before{content:"\e667"}.fa-x-ray:before{content:"\f497"}.fa-goal-net:before{content:"\e3ab"}.fa-coffin-cross:before{content:"\e051"}.fa-spell-check:before{content:"\f891"}.fa-location-xmark:before,.fa-map-marker-times:before,.fa-map-marker-xmark:before{content:"\f60e"}.fa-circle-quarter-stroke:before{content:"\e5d3"}.fa-lasso:before{content:"\f8c8"}.fa-slash:before{content:"\f715"}.fa-person-to-portal:before,.fa-portal-enter:before{content:"\e022"}.fa-calendar-star:before{content:"\f736"}.fa-computer-mouse:before,.fa-mouse:before{content:"\f8cc"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:"\f090"}.fa-pegasus:before{content:"\f703"}.fa-files-medical:before{content:"\f7fd"}.fa-cannon:before{content:"\e642"}.fa-nfc-lock:before{content:"\e1f8"}.fa-person-ski-lift:before,.fa-ski-lift:before{content:"\f7c8"}.fa-square-6:before{content:"\e25b"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:"\e070"}.fa-wind-turbine:before{content:"\f89b"}.fa-sliders-simple:before{content:"\e253"}.fa-grid-round:before{content:"\e5da"}.fa-badge-sheriff:before{content:"\f8a2"}.fa-server:before{content:"\f233"}.fa-virus-covid-slash:before{content:"\e4a9"}.fa-intersection:before{content:"\f668"}.fa-shop-lock:before{content:"\e4a5"}.fa-family:before{content:"\e300"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-user-hair-buns:before{content:"\e3d3"}.fa-blender-phone:before{content:"\f6b6"}.fa-hourglass-clock:before{content:"\e41b"}.fa-person-seat-reclined:before{content:"\e21f"}.fa-paper-plane-alt:before,.fa-paper-plane-top:before,.fa-send:before{content:"\e20a"}.fa-comment-alt-arrow-up:before,.fa-message-arrow-up:before{content:"\e1dc"}.fa-lightbulb-exclamation:before{content:"\f671"}.fa-layer-group-minus:before,.fa-layer-minus:before{content:"\f5fe"}.fa-chart-pie-simple-circle-currency:before{content:"\e604"}.fa-circle-e:before{content:"\e109"}.fa-building-wheat:before{content:"\e4db"}.fa-gauge-max:before,.fa-tachometer-alt-fastest:before{content:"\f626"}.fa-person-breastfeeding:before{content:"\e53a"}.fa-apostrophe:before{content:"\27"}.fa-file-png:before{content:"\e666"}.fa-fire-hydrant:before{content:"\e17f"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:"\f2f6"}.fa-video-plus:before{content:"\f4e1"}.fa-arrow-alt-square-right:before,.fa-square-right:before{content:"\f352"}.fa-comment-smile:before{content:"\f4b4"}.fa-venus:before{content:"\f221"}.fa-passport:before{content:"\f5ab"}.fa-inbox-arrow-down:before,.fa-inbox-in:before{content:"\f310"}.fa-heart-pulse:before,.fa-heartbeat:before{content:"\f21e"}.fa-circle-8:before{content:"\e0f5"}.fa-clouds-moon:before{content:"\f745"}.fa-clock-ten-thirty:before{content:"\e355"}.fa-people-carry-box:before,.fa-people-carry:before{content:"\f4ce"}.fa-folder-user:before{content:"\e18e"}.fa-trash-can-xmark:before{content:"\e2ae"}.fa-temperature-high:before{content:"\f769"}.fa-microchip:before{content:"\f2db"}.fa-left-long-to-line:before{content:"\e41e"}.fa-crown:before{content:"\f521"}.fa-weight-hanging:before{content:"\f5cd"}.fa-xmarks-lines:before{content:"\e59a"}.fa-file-prescription:before{content:"\f572"}.fa-table-cells-lock:before{content:"\e679"}.fa-calendar-range:before{content:"\e0d6"}.fa-flower-daffodil:before{content:"\f800"}.fa-hand-back-point-up:before{content:"\e1a2"}.fa-weight-scale:before,.fa-weight:before{content:"\f496"}.fa-arrow-up-to-arc:before{content:"\e617"}.fa-star-exclamation:before{content:"\f2f3"}.fa-books:before{content:"\f5db"}.fa-user-friends:before,.fa-user-group:before{content:"\f500"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-layer-group-plus:before,.fa-layer-plus:before{content:"\f5ff"}.fa-play-pause:before{content:"\e22f"}.fa-block-question:before{content:"\e3dd"}.fa-snooze:before,.fa-zzz:before{content:"\f880"}.fa-scanner-image:before{content:"\f8f3"}.fa-tv-retro:before{content:"\f401"}.fa-square-t:before{content:"\e280"}.fa-barn-silo:before,.fa-farm:before{content:"\f864"}.fa-chess-knight:before{content:"\f441"}.fa-bars-sort:before{content:"\e0ae"}.fa-palette-boxes:before,.fa-pallet-alt:before,.fa-pallet-boxes:before{content:"\f483"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:"\f59b"}.fa-code-simple:before{content:"\e13d"}.fa-bolt-slash:before{content:"\e0b8"}.fa-panel-fire:before{content:"\e42f"}.fa-binary-circle-check:before{content:"\e33c"}.fa-comment-minus:before{content:"\f4b1"}.fa-burrito:before{content:"\f7ed"}.fa-violin:before{content:"\f8ed"}.fa-objects-column:before{content:"\e3c1"}.fa-chevron-square-down:before,.fa-square-chevron-down:before{content:"\f329"}.fa-comment-plus:before{content:"\f4b2"}.fa-triangle-instrument:before,.fa-triangle-music:before{content:"\f8e2"}.fa-wheelchair:before{content:"\f193"}.fa-user-pilot-tie:before{content:"\e2c1"}.fa-piano-keyboard:before{content:"\f8d5"}.fa-bed-empty:before{content:"\f8f9"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:"\f0aa"}.fa-toggle-on:before{content:"\f205"}.fa-rectangle-portrait:before,.fa-rectangle-vertical:before{content:"\f2fb"}.fa-person-walking:before,.fa-walking:before{content:"\f554"}.fa-l:before{content:"\4c"}.fa-signal-stream:before{content:"\f8dd"}.fa-down-to-bracket:before{content:"\e4e7"}.fa-circle-z:before{content:"\e130"}.fa-stars:before{content:"\f762"}.fa-fire:before{content:"\f06d"}.fa-bed-pulse:before,.fa-procedures:before{content:"\f487"}.fa-house-day:before{content:"\e00e"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:"\f197"}.fa-shirt-long-sleeve:before{content:"\e3c7"}.fa-chart-pie-alt:before,.fa-chart-pie-simple:before{content:"\f64e"}.fa-face-laugh:before,.fa-laugh:before{content:"\f599"}.fa-folder-open:before{content:"\f07c"}.fa-album-collection-circle-user:before{content:"\e48f"}.fa-candy:before{content:"\e3e7"}.fa-bowl-hot:before,.fa-soup:before{content:"\f823"}.fa-flatbread:before{content:"\e40b"}.fa-heart-circle-plus:before{content:"\e500"}.fa-code-fork:before{content:"\e13b"}.fa-city:before{content:"\f64f"}.fa-signal-alt-1:before,.fa-signal-bars-weak:before{content:"\f691"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:"\f3c9"}.fa-clock-twelve:before{content:"\e358"}.fa-pepper-hot:before{content:"\f816"}.fa-citrus-slice:before{content:"\e2f5"}.fa-sheep:before{content:"\f711"}.fa-unlock:before{content:"\f09c"}.fa-colon-sign:before{content:"\e140"}.fa-headset:before{content:"\f590"}.fa-badger-honey:before{content:"\f6b4"}.fa-h4:before{content:"\f86a"}.fa-store-slash:before{content:"\e071"}.fa-road-circle-xmark:before{content:"\e566"}.fa-signal-slash:before{content:"\f695"}.fa-user-minus:before{content:"\f503"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:"\f22a"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:"\f79f"}.fa-taco:before{content:"\f826"}.fa-hexagon-plus:before,.fa-plus-hexagon:before{content:"\f300"}.fa-clipboard:before{content:"\f328"}.fa-house-circle-exclamation:before{content:"\e50a"}.fa-file-arrow-up:before,.fa-file-upload:before{content:"\f574"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:"\f1eb"}.fa-comments-alt:before,.fa-messages:before{content:"\f4b6"}.fa-bath:before,.fa-bathtub:before{content:"\f2cd"}.fa-umbrella-alt:before,.fa-umbrella-simple:before{content:"\e2bc"}.fa-rectangle-history-circle-plus:before{content:"\e4a3"}.fa-underline:before{content:"\f0cd"}.fa-prescription-bottle-pill:before{content:"\e5c0"}.fa-user-edit:before,.fa-user-pen:before{content:"\f4ff"}.fa-binary-slash:before{content:"\e33e"}.fa-square-o:before{content:"\e278"}.fa-caduceus:before{content:"\e681"}.fa-signature:before{content:"\f5b7"}.fa-stroopwafel:before{content:"\f551"}.fa-bold:before{content:"\f032"}.fa-anchor-lock:before{content:"\e4ad"}.fa-building-ngo:before{content:"\e4d7"}.fa-transporter-3:before{content:"\e045"}.fa-engine-exclamation:before,.fa-engine-warning:before{content:"\f5f2"}.fa-circle-down-right:before{content:"\e108"}.fa-square-k:before{content:"\e274"}.fa-manat-sign:before{content:"\e1d5"}.fa-money-check-edit:before,.fa-money-check-pen:before{content:"\f872"}.fa-not-equal:before{content:"\f53e"}.fa-border-style:before,.fa-border-top-left:before{content:"\f853"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:"\f5a0"}.fa-tilde:before{content:"\7e"}.fa-jedi:before{content:"\f669"}.fa-poll:before,.fa-square-poll-vertical:before{content:"\f681"}.fa-arrow-down-square-triangle:before,.fa-sort-shapes-down-alt:before{content:"\f889"}.fa-mug-hot:before{content:"\f7b6"}.fa-dog-leashed:before{content:"\f6d4"}.fa-battery-car:before,.fa-car-battery:before{content:"\f5df"}.fa-face-downcast-sweat:before{content:"\e371"}.fa-mailbox-flag-up:before{content:"\e5bb"}.fa-memo-circle-info:before{content:"\e49a"}.fa-gift:before{content:"\f06b"}.fa-dice-two:before{content:"\f528"}.fa-volume-medium:before,.fa-volume:before{content:"\f6a8"}.fa-transporter-5:before{content:"\e2a6"}.fa-gauge-circle-bolt:before{content:"\e496"}.fa-coin-front:before{content:"\e3fc"}.fa-file-slash:before{content:"\e3a7"}.fa-message-arrow-up-right:before{content:"\e1dd"}.fa-treasure-chest:before{content:"\f723"}.fa-chess-queen:before{content:"\f445"}.fa-paint-brush-alt:before,.fa-paint-brush-fine:before,.fa-paintbrush-alt:before,.fa-paintbrush-fine:before{content:"\f5a9"}.fa-glasses:before{content:"\f530"}.fa-hood-cloak:before{content:"\f6ef"}.fa-square-quote:before{content:"\e329"}.fa-up-left:before{content:"\e2bd"}.fa-bring-front:before{content:"\f857"}.fa-chess-board:before{content:"\f43c"}.fa-burger-cheese:before,.fa-cheeseburger:before{content:"\f7f1"}.fa-building-circle-check:before{content:"\e4d2"}.fa-repeat-1:before{content:"\f365"}.fa-arrow-down-to-line:before,.fa-arrow-to-bottom:before{content:"\f33d"}.fa-grid-5:before{content:"\e199"}.fa-swap-arrows:before{content:"\e60a"}.fa-right-long-to-line:before{content:"\e444"}.fa-person-chalkboard:before{content:"\e53d"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:"\f22b"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:"\f255"}.fa-grid-round-5:before{content:"\e5de"}.fa-tally-5:before,.fa-tally:before{content:"\f69c"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:"\f151"}.fa-cloud-showers-water:before{content:"\e4e4"}.fa-bar-chart:before,.fa-chart-bar:before{content:"\f080"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:"\e05e"}.fa-less-than-equal:before{content:"\f537"}.fa-train:before{content:"\f238"}.fa-up-from-dotted-line:before{content:"\e456"}.fa-eye-low-vision:before,.fa-low-vision:before{content:"\f2a8"}.fa-traffic-light-go:before{content:"\f638"}.fa-face-exhaling:before{content:"\e480"}.fa-sensor-fire:before{content:"\e02a"}.fa-user-unlock:before{content:"\e058"}.fa-hexagon-divide:before{content:"\e1ad"}.fa-00:before{content:"\e467"}.fa-crow:before{content:"\f520"}.fa-betamax:before,.fa-cassette-betamax:before{content:"\f8a4"}.fa-sailboat:before{content:"\e445"}.fa-window-restore:before{content:"\f2d2"}.fa-nfc-magnifying-glass:before{content:"\e1f9"}.fa-file-binary:before{content:"\e175"}.fa-circle-v:before{content:"\e12a"}.fa-plus-square:before,.fa-square-plus:before{content:"\f0fe"}.fa-bowl-scoops:before{content:"\e3df"}.fa-mistletoe:before{content:"\f7b4"}.fa-custard:before{content:"\e403"}.fa-lacrosse-stick:before{content:"\e3b5"}.fa-hockey-mask:before{content:"\f6ee"}.fa-sunrise:before{content:"\f766"}.fa-subtitles:before{content:"\e60f"}.fa-panel-ews:before{content:"\e42e"}.fa-torii-gate:before{content:"\f6a1"}.fa-cloud-exclamation:before{content:"\e491"}.fa-comment-alt-lines:before,.fa-message-lines:before{content:"\f4a6"}.fa-frog:before{content:"\f52e"}.fa-bucket:before{content:"\e4cf"}.fa-floppy-disk-pen:before{content:"\e182"}.fa-image:before{content:"\f03e"}.fa-window-frame:before{content:"\e04f"}.fa-microphone:before{content:"\f130"}.fa-cow:before{content:"\f6c8"}.fa-file-zip:before{content:"\e5ee"}.fa-square-ring:before{content:"\e44f"}.fa-arrow-alt-from-top:before,.fa-down-from-line:before{content:"\f349"}.fa-caret-up:before{content:"\f0d8"}.fa-shield-times:before,.fa-shield-xmark:before{content:"\e24c"}.fa-screwdriver:before{content:"\f54a"}.fa-circle-sort-down:before,.fa-sort-circle-down:before{content:"\e031"}.fa-folder-closed:before{content:"\e185"}.fa-house-tsunami:before{content:"\e515"}.fa-square-nfi:before{content:"\e576"}.fa-forklift:before{content:"\f47a"}.fa-arrow-up-from-ground-water:before{content:"\e4b5"}.fa-bracket-square-right:before{content:"\5d"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:"\f57b"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:"\f2ea"}.fa-columns:before,.fa-table-columns:before{content:"\f0db"}.fa-square-a:before{content:"\e25f"}.fa-tick:before{content:"\e32f"}.fa-lemon:before{content:"\f094"}.fa-head-side-mask:before{content:"\e063"}.fa-handshake:before{content:"\f2b5"}.fa-gem:before{content:"\f3a5"}.fa-dolly-box:before,.fa-dolly:before{content:"\f472"}.fa-smoking:before{content:"\f48d"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:"\f78c"}.fa-refrigerator:before{content:"\e026"}.fa-monument:before{content:"\f5a6"}.fa-octagon-xmark:before,.fa-times-octagon:before,.fa-xmark-octagon:before{content:"\f2f0"}.fa-align-slash:before{content:"\f846"}.fa-snowplow:before{content:"\f7d2"}.fa-angle-double-right:before,.fa-angles-right:before{content:"\f101"}.fa-truck-couch:before,.fa-truck-ramp-couch:before{content:"\f4dd"}.fa-cannabis:before{content:"\f55f"}.fa-circle-play:before,.fa-play-circle:before{content:"\f144"}.fa-arrow-up-right-and-arrow-down-left-from-center:before{content:"\e0a0"}.fa-location-arrow-up:before{content:"\e63a"}.fa-tablets:before{content:"\f490"}.fa-360-degrees:before{content:"\e2dc"}.fa-ethernet:before{content:"\f796"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:"\f153"}.fa-chair:before{content:"\f6c0"}.fa-check-circle:before,.fa-circle-check:before{content:"\f058"}.fa-square-dashed-circle-plus:before{content:"\e5c2"}.fa-hand-holding-circle-dollar:before{content:"\e621"}.fa-money-simple-from-bracket:before{content:"\e313"}.fa-bat:before{content:"\f6b5"}.fa-circle-stop:before,.fa-stop-circle:before{content:"\f28d"}.fa-head-side-headphones:before{content:"\f8c2"}.fa-phone-rotary:before{content:"\f8d3"}.fa-arrow-up-to-bracket:before{content:"\e66a"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:"\f568"}.fa-plate-wheat:before{content:"\e55a"}.fa-calendar-circle-minus:before{content:"\e46f"}.fa-chopsticks:before{content:"\e3f7"}.fa-car-mechanic:before,.fa-car-wrench:before{content:"\f5e3"}.fa-icicles:before{content:"\f7ad"}.fa-person-shelter:before{content:"\e54f"}.fa-neuter:before{content:"\f22c"}.fa-id-badge:before{content:"\f2c1"}.fa-kazoo:before{content:"\f8c7"}.fa-marker:before{content:"\f5a1"}.fa-bin-bottles:before{content:"\e5f5"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:"\f59a"}.fa-square-arrow-down-left:before{content:"\e261"}.fa-battery-bolt:before{content:"\f376"}.fa-tree-large:before{content:"\f7dd"}.fa-helicopter-symbol:before{content:"\e502"}.fa-aperture:before{content:"\e2df"}.fa-universal-access:before{content:"\f29a"}.fa-gear-complex:before{content:"\e5e9"}.fa-file-magnifying-glass:before,.fa-file-search:before{content:"\f865"}.fa-up-right:before{content:"\e2be"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:"\f139"}.fa-user-police:before{content:"\e333"}.fa-lari-sign:before{content:"\e1c8"}.fa-volcano:before{content:"\f770"}.fa-teddy-bear:before{content:"\e3cf"}.fa-stocking:before{content:"\f7d5"}.fa-person-walking-dashed-line-arrow-right:before{content:"\e553"}.fa-image-slash:before{content:"\e1b7"}.fa-mask-snorkel:before{content:"\e3b7"}.fa-smoke:before{content:"\f760"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:"\f154"}.fa-battery-exclamation:before{content:"\e0b0"}.fa-viruses:before{content:"\e076"}.fa-square-person-confined:before{content:"\e577"}.fa-user-tie:before{content:"\f508"}.fa-up-to-bracket:before{content:"\e66e"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:"\f175"}.fa-tent-arrow-down-to-line:before{content:"\e57e"}.fa-certificate:before{content:"\f0a3"}.fa-crystal-ball:before{content:"\e362"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-suitcase:before{content:"\f0f2"}.fa-person-skating:before,.fa-skating:before{content:"\f7c5"}.fa-star-shooting:before{content:"\e036"}.fa-binary-lock:before{content:"\e33d"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:"\f662"}.fa-camera-retro:before{content:"\f083"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:"\f0ab"}.fa-comment-edit:before,.fa-comment-pen:before{content:"\f4ae"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:"\f56f"}.fa-banjo:before{content:"\f8a3"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:"\f14c"}.fa-light-emergency-on:before{content:"\e420"}.fa-kerning:before{content:"\f86f"}.fa-box-open:before{content:"\f49e"}.fa-square-f:before{content:"\e270"}.fa-scroll:before{content:"\f70e"}.fa-spa:before{content:"\f5bb"}.fa-arrow-from-right:before,.fa-arrow-left-from-line:before{content:"\f344"}.fa-strawberry:before{content:"\e32b"}.fa-location-pin-lock:before{content:"\e51f"}.fa-pause:before{content:"\f04c"}.fa-clock-eight-thirty:before{content:"\e346"}.fa-plane-alt:before,.fa-plane-engines:before{content:"\f3de"}.fa-hill-avalanche:before{content:"\e507"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-bomb:before{content:"\f1e2"}.fa-gauge-low:before,.fa-tachometer-alt-slow:before{content:"\f627"}.fa-registered:before{content:"\f25d"}.fa-trash-can-plus:before{content:"\e2ac"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:"\f2bb"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:"\f516"}.fa-globe-snow:before{content:"\f7a3"}.fa-subscript:before{content:"\f12c"}.fa-diamond-turn-right:before,.fa-directions:before{content:"\f5eb"}.fa-integral:before{content:"\f667"}.fa-burst:before{content:"\e4dc"}.fa-house-laptop:before,.fa-laptop-house:before{content:"\e066"}.fa-face-tired:before,.fa-tired:before{content:"\f5c8"}.fa-money-bills:before{content:"\e1f3"}.fa-blinds-raised:before{content:"\f8fd"}.fa-smog:before{content:"\f75f"}.fa-ufo-beam:before{content:"\e048"}.fa-caret-circle-up:before,.fa-circle-caret-up:before{content:"\f331"}.fa-user-vneck-hair-long:before{content:"\e463"}.fa-square-a-lock:before{content:"\e44d"}.fa-crutch:before{content:"\f7f7"}.fa-gas-pump-slash:before{content:"\f5f4"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:"\f0ee"}.fa-palette:before{content:"\f53f"}.fa-transporter-4:before{content:"\e2a5"}.fa-chart-mixed-up-circle-currency:before{content:"\e5d8"}.fa-objects-align-right:before{content:"\e3bf"}.fa-arrows-turn-right:before{content:"\e4c0"}.fa-vest:before{content:"\e085"}.fa-pig:before{content:"\f706"}.fa-inbox-full:before{content:"\e1ba"}.fa-circle-envelope:before,.fa-envelope-circle:before{content:"\e10c"}.fa-construction:before,.fa-triangle-person-digging:before{content:"\f85d"}.fa-ferry:before{content:"\e4ea"}.fa-bullseye-arrow:before{content:"\f648"}.fa-arrows-down-to-people:before{content:"\e4b9"}.fa-seedling:before,.fa-sprout:before{content:"\f4d8"}.fa-clock-seven:before{content:"\e350"}.fa-arrows-alt-h:before,.fa-left-right:before{content:"\f337"}.fa-boxes-packing:before{content:"\e4c7"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:"\f0a8"}.fa-flashlight:before{content:"\f8b8"}.fa-file-jpg:before{content:"\e646"}.fa-group-arrows-rotate:before{content:"\e4f6"}.fa-bowl-food:before{content:"\e4c6"}.fa-square-9:before{content:"\e25e"}.fa-candy-cane:before{content:"\f786"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-dollar-square:before,.fa-square-dollar:before,.fa-usd-square:before{content:"\f2e9"}.fa-phone-arrow-right:before{content:"\e5be"}.fa-hand-holding-seedling:before{content:"\f4bf"}.fa-comment-alt-check:before,.fa-message-check:before{content:"\f4a2"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:"\f76c"}.fa-chart-line-up-down:before{content:"\e5d7"}.fa-remove-format:before,.fa-text-slash:before{content:"\f87d"}.fa-watch:before{content:"\f2e1"}.fa-circle-down-left:before{content:"\e107"}.fa-text:before{content:"\f893"}.fa-projector:before{content:"\f8d6"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:"\f4da"}.fa-tombstone-alt:before,.fa-tombstone-blank:before{content:"\f721"}.fa-chess-king-alt:before,.fa-chess-king-piece:before{content:"\f440"}.fa-circle-6:before{content:"\e0f3"}.fa-waves-sine:before{content:"\e65d"}.fa-arrow-alt-left:before,.fa-left:before{content:"\f355"}.fa-file-word:before{content:"\f1c2"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-arrow-alt-square-down:before,.fa-square-down:before{content:"\f350"}.fa-objects-align-center-vertical:before{content:"\e3bd"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:"\f07e"}.fa-house-lock:before{content:"\e510"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:"\f0ed"}.fa-wreath:before{content:"\f7e2"}.fa-children:before{content:"\e4e1"}.fa-meter-droplet:before{content:"\e1ea"}.fa-blackboard:before,.fa-chalkboard:before{content:"\f51b"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:"\f4fa"}.fa-signal-4:before,.fa-signal-strong:before{content:"\f68f"}.fa-lollipop:before,.fa-lollypop:before{content:"\e424"}.fa-list-tree:before{content:"\e1d2"}.fa-envelope-open:before{content:"\f2b6"}.fa-draw-circle:before{content:"\f5ed"}.fa-cat-space:before{content:"\e001"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:"\e05f"}.fa-rabbit-fast:before,.fa-rabbit-running:before{content:"\f709"}.fa-memo-pad:before{content:"\e1da"}.fa-mattress-pillow:before{content:"\e525"}.fa-alarm-plus:before{content:"\f844"}.fa-alicorn:before{content:"\f6b0"}.fa-comment-question:before{content:"\e14b"}.fa-gingerbread-man:before{content:"\f79d"}.fa-guarani-sign:before{content:"\e19a"}.fa-burger-fries:before{content:"\e0cd"}.fa-mug-tea:before{content:"\f875"}.fa-border-top:before{content:"\f855"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-book-circle:before,.fa-circle-book-open:before{content:"\e0ff"}.fa-arrows-to-dotted-line:before{content:"\e0a6"}.fa-fire-extinguisher:before{content:"\f134"}.fa-magnifying-glass-arrows-rotate:before{content:"\e65e"}.fa-garage-open:before{content:"\e00b"}.fa-shelves-empty:before{content:"\e246"}.fa-cruzeiro-sign:before{content:"\e152"}.fa-watch-apple:before{content:"\e2cb"}.fa-watch-calculator:before{content:"\f8f0"}.fa-list-dropdown:before{content:"\e1cf"}.fa-cabinet-filing:before{content:"\f64b"}.fa-burger-soda:before{content:"\f858"}.fa-arrow-square-up:before,.fa-square-arrow-up:before{content:"\f33c"}.fa-greater-than-equal:before{content:"\f532"}.fa-pallet-box:before{content:"\e208"}.fa-face-confounded:before{content:"\e36c"}.fa-shield-alt:before,.fa-shield-halved:before{content:"\f3ed"}.fa-truck-plow:before{content:"\f7de"}.fa-atlas:before,.fa-book-atlas:before{content:"\f558"}.fa-virus:before{content:"\e074"}.fa-grid-round-2:before{content:"\e5db"}.fa-comment-middle-top:before{content:"\e14a"}.fa-wave:before{content:"\e65b"}.fa-envelope-circle-check:before{content:"\e4e8"}.fa-layer-group:before{content:"\f5fd"}.fa-restroom-simple:before{content:"\e23a"}.fa-arrows-to-dot:before{content:"\e4be"}.fa-border-outer:before{content:"\f851"}.fa-hashtag-lock:before{content:"\e415"}.fa-clock-two-thirty:before{content:"\e35b"}.fa-archway:before{content:"\f557"}.fa-heart-circle-check:before{content:"\e4fd"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:"\f6f1"}.fa-file-archive:before,.fa-file-zipper:before{content:"\f1c6"}.fa-ticket-perforated:before{content:"\e63e"}.fa-heart-half:before{content:"\e1ab"}.fa-comment-check:before{content:"\f4ac"}.fa-square:before{content:"\f0c8"}.fa-memo:before{content:"\e1d8"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:"\f000"}.fa-couch:before{content:"\f4b8"}.fa-cedi-sign:before{content:"\e0df"}.fa-italic:before{content:"\f033"}.fa-glass-citrus:before{content:"\f869"}.fa-calendar-lines-pen:before{content:"\e472"}.fa-table-cells-column-lock:before{content:"\e678"}.fa-church:before{content:"\f51d"}.fa-person-snowmobiling:before,.fa-snowmobile:before{content:"\f7d1"}.fa-face-hushed:before{content:"\e37b"}.fa-comments-dollar:before{content:"\f653"}.fa-tickets-simple:before{content:"\e659"}.fa-pickaxe:before{content:"\e5bf"}.fa-link-simple-slash:before{content:"\e1ce"}.fa-democrat:before{content:"\f747"}.fa-face-confused:before{content:"\e36d"}.fa-pinball:before{content:"\e229"}.fa-z:before{content:"\5a"}.fa-person-skiing:before,.fa-skiing:before{content:"\f7c9"}.fa-deer:before{content:"\f78e"}.fa-input-pipe:before{content:"\e1be"}.fa-road-lock:before{content:"\e567"}.fa-a:before{content:"\41"}.fa-bookmark-slash:before{content:"\e0c2"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:"\e03f"}.fa-mace:before{content:"\f6f8"}.fa-feather-alt:before,.fa-feather-pointed:before{content:"\f56b"}.fa-sausage:before{content:"\f820"}.fa-trash-can-clock:before{content:"\e2aa"}.fa-p:before{content:"\50"}.fa-broom-wide:before{content:"\e5d1"}.fa-snowflake:before{content:"\f2dc"}.fa-stomach:before{content:"\f623"}.fa-newspaper:before{content:"\f1ea"}.fa-ad:before,.fa-rectangle-ad:before{content:"\f641"}.fa-guitar-electric:before{content:"\f8be"}.fa-arrow-turn-down-right:before{content:"\e3d6"}.fa-moon-cloud:before{content:"\f754"}.fa-bread-slice-butter:before{content:"\e3e1"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:"\f0a9"}.fa-user-group-crown:before,.fa-users-crown:before{content:"\f6a5"}.fa-circle-i:before{content:"\e111"}.fa-toilet-paper-check:before{content:"\e5b2"}.fa-filter-circle-xmark:before{content:"\e17b"}.fa-locust:before{content:"\e520"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:"\f0cb"}.fa-chart-waterfall:before{content:"\e0eb"}.fa-sparkle:before{content:"\e5d6"}.fa-face-party:before{content:"\e383"}.fa-kidneys:before{content:"\f5fb"}.fa-wifi-exclamation:before{content:"\e2cf"}.fa-chart-network:before{content:"\f78a"}.fa-person-dress-burst:before{content:"\e544"}.fa-dice-d4:before{content:"\f6d0"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:"\f53d"}.fa-vector-square:before{content:"\f5cb"}.fa-bread-slice:before{content:"\f7ec"}.fa-language:before{content:"\f1ab"}.fa-wheat-awn-slash:before{content:"\e338"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:"\f598"}.fa-dagger:before{content:"\f6cb"}.fa-podium:before{content:"\f680"}.fa-memo-circle-check:before{content:"\e1d9"}.fa-route-highway:before{content:"\f61a"}.fa-arrow-alt-to-bottom:before,.fa-down-to-line:before{content:"\f34a"}.fa-filter:before{content:"\f0b0"}.fa-square-g:before{content:"\e271"}.fa-circle-phone:before,.fa-phone-circle:before{content:"\e11b"}.fa-clipboard-prescription:before{content:"\f5e8"}.fa-user-nurse-hair:before{content:"\e45d"}.fa-question:before{content:"\3f"}.fa-file-signature:before{content:"\f573"}.fa-toggle-large-on:before{content:"\e5b1"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:"\f0b2"}.fa-dryer-alt:before,.fa-dryer-heat:before{content:"\f862"}.fa-house-chimney-user:before{content:"\e065"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-arrow-up-small-big:before,.fa-sort-size-up-alt:before{content:"\f88f"}.fa-train-track:before{content:"\e453"}.fa-puzzle-piece:before{content:"\f12e"}.fa-money-check:before{content:"\f53c"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:"\f5c0"}.fa-file-exclamation:before{content:"\f31a"}.fa-code:before{content:"\f121"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:"\f7a0"}.fa-moon-stars:before{content:"\f755"}.fa-building-circle-exclamation:before{content:"\e4d3"}.fa-clothes-hanger:before{content:"\e136"}.fa-mobile-iphone:before,.fa-mobile-notch:before{content:"\e1ee"}.fa-magnifying-glass-chart:before{content:"\e522"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:"\f08e"}.fa-cubes-stacked:before{content:"\e4e6"}.fa-images-user:before{content:"\e1b9"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:"\f159"}.fa-image-polaroid-user:before{content:"\e1b6"}.fa-virus-covid:before{content:"\e4a8"}.fa-square-ellipsis:before{content:"\e26e"}.fa-pie:before{content:"\f705"}.fa-chess-knight-alt:before,.fa-chess-knight-piece:before{content:"\f442"}.fa-austral-sign:before{content:"\e0a9"}.fa-cloud-plus:before{content:"\e35e"}.fa-f:before{content:"\46"}.fa-leaf:before{content:"\f06c"}.fa-bed-bunk:before{content:"\f8f8"}.fa-road:before{content:"\f018"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-person-circle-plus:before{content:"\e541"}.fa-chart-pie:before,.fa-pie-chart:before{content:"\f200"}.fa-bolt-lightning:before{content:"\e0b7"}.fa-clock-eight:before{content:"\e345"}.fa-sack-xmark:before{content:"\e56a"}.fa-file-xls:before{content:"\e64d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-contract:before{content:"\f56c"}.fa-fish-fins:before{content:"\e4f2"}.fa-circle-q:before{content:"\e11e"}.fa-building-flag:before{content:"\e4d5"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:"\f582"}.fa-object-ungroup:before{content:"\f248"}.fa-face-disguise:before{content:"\e370"}.fa-circle-arrow-down-right:before{content:"\e0fa"}.fa-alien-8bit:before,.fa-alien-monster:before{content:"\f8f6"}.fa-hand-point-ribbon:before{content:"\e1a6"}.fa-poop:before{content:"\f619"}.fa-object-exclude:before{content:"\e49c"}.fa-telescope:before{content:"\e03e"}.fa-location-pin:before,.fa-map-marker:before{content:"\f041"}.fa-square-list:before{content:"\e489"}.fa-kaaba:before{content:"\f66b"}.fa-toilet-paper:before{content:"\f71e"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:"\f807"}.fa-comment-code:before{content:"\e147"}.fa-sim-cards:before{content:"\e251"}.fa-starship:before{content:"\e039"}.fa-eject:before{content:"\f052"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:"\f35a"}.fa-plane-circle-check:before{content:"\e555"}.fa-seal:before{content:"\e241"}.fa-user-cowboy:before{content:"\f8ea"}.fa-hexagon-vertical-nft:before{content:"\e505"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-bread-loaf:before{content:"\f7eb"}.fa-rings-wedding:before{content:"\f81b"}.fa-object-group:before{content:"\f247"}.fa-french-fries:before{content:"\f803"}.fa-chart-line:before,.fa-line-chart:before{content:"\f201"}.fa-calendar-arrow-down:before,.fa-calendar-download:before{content:"\e0d0"}.fa-send-back:before{content:"\f87e"}.fa-mask-ventilator:before{content:"\e524"}.fa-tickets:before{content:"\e658"}.fa-signature-lock:before{content:"\e3ca"}.fa-arrow-right:before{content:"\f061"}.fa-map-signs:before,.fa-signs-post:before{content:"\f277"}.fa-octagon-plus:before,.fa-plus-octagon:before{content:"\f301"}.fa-cash-register:before{content:"\f788"}.fa-person-circle-question:before{content:"\e542"}.fa-melon-slice:before{content:"\e311"}.fa-space-station-moon:before{content:"\e033"}.fa-comment-alt-smile:before,.fa-message-smile:before{content:"\f4aa"}.fa-cup-straw:before{content:"\e363"}.fa-arrow-alt-from-right:before,.fa-left-from-line:before{content:"\f348"}.fa-h:before{content:"\48"}.fa-basket-shopping-simple:before,.fa-shopping-basket-alt:before{content:"\e0af"}.fa-hands-heart:before,.fa-hands-holding-heart:before{content:"\f4c3"}.fa-clock-nine:before{content:"\e34c"}.fa-hammer-brush:before{content:"\e620"}.fa-tarp:before{content:"\e57b"}.fa-face-sleepy:before{content:"\e38e"}.fa-hand-horns:before{content:"\e1a9"}.fa-screwdriver-wrench:before,.fa-tools:before{content:"\f7d9"}.fa-arrows-to-eye:before{content:"\e4bf"}.fa-circle-three-quarters:before{content:"\e125"}.fa-trophy-alt:before,.fa-trophy-star:before{content:"\f2eb"}.fa-plug-circle-bolt:before{content:"\e55b"}.fa-face-thermometer:before{content:"\e39a"}.fa-grid-round-4:before{content:"\e5dd"}.fa-sign-posts-wrench:before{content:"\e626"}.fa-shirt-running:before{content:"\e3c8"}.fa-book-circle-arrow-up:before{content:"\e0bd"}.fa-face-nauseated:before{content:"\e381"}.fa-heart:before{content:"\f004"}.fa-file-chart-pie:before{content:"\f65a"}.fa-mars-and-venus:before{content:"\f224"}.fa-home-user:before,.fa-house-user:before{content:"\e1b0"}.fa-circle-arrow-down-left:before{content:"\e0f9"}.fa-dumpster-fire:before{content:"\f794"}.fa-hexagon-minus:before,.fa-minus-hexagon:before{content:"\f307"}.fa-arrow-alt-to-left:before,.fa-left-to-line:before{content:"\f34b"}.fa-house-crack:before{content:"\e3b1"}.fa-paw-alt:before,.fa-paw-simple:before{content:"\f701"}.fa-arrow-left-long-to-line:before{content:"\e3d4"}.fa-brackets-round:before,.fa-parentheses:before{content:"\e0c5"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-user-shakespeare:before{content:"\e2c2"}.fa-arrow-right-to-arc:before{content:"\e4b2"}.fa-face-surprise:before,.fa-surprise:before{content:"\f5c2"}.fa-bottle-water:before{content:"\e4c5"}.fa-circle-pause:before,.fa-pause-circle:before{content:"\f28b"}.fa-gauge-circle-plus:before{content:"\e498"}.fa-folders:before{content:"\f660"}.fa-angel:before{content:"\f779"}.fa-value-absolute:before{content:"\f6a6"}.fa-rabbit:before{content:"\f708"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-circle-euro:before{content:"\e5ce"}.fa-apple-alt:before,.fa-apple-whole:before{content:"\f5d1"}.fa-kitchen-set:before{content:"\e51a"}.fa-diamond-half:before{content:"\e5b7"}.fa-lock-alt:before,.fa-lock-keyhole:before{content:"\f30d"}.fa-r:before{content:"\52"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-info-square:before,.fa-square-info:before{content:"\f30f"}.fa-wifi-slash:before{content:"\f6ac"}.fa-toilet-paper-xmark:before{content:"\e5b3"}.fa-hands-holding-dollar:before,.fa-hands-usd:before{content:"\f4c5"}.fa-cube:before{content:"\f1b2"}.fa-arrow-down-triangle-square:before,.fa-sort-shapes-down:before{content:"\f888"}.fa-bitcoin-sign:before{content:"\e0b4"}.fa-shutters:before{content:"\e449"}.fa-shield-dog:before{content:"\e573"}.fa-solar-panel:before{content:"\f5ba"}.fa-lock-open:before{content:"\f3c1"}.fa-table-tree:before{content:"\e293"}.fa-house-chimney-heart:before{content:"\e1b2"}.fa-tally-3:before{content:"\e296"}.fa-elevator:before{content:"\e16d"}.fa-money-bill-transfer:before{content:"\e528"}.fa-money-bill-trend-up:before{content:"\e529"}.fa-house-flood-water-circle-arrow-right:before{content:"\e50f"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:"\f682"}.fa-circle:before{content:"\f111"}.fa-left-to-bracket:before{content:"\e66d"}.fa-cart-circle-exclamation:before{content:"\e3f2"}.fa-sword:before{content:"\f71c"}.fa-backward-fast:before,.fa-fast-backward:before{content:"\f049"}.fa-recycle:before{content:"\f1b8"}.fa-user-astronaut:before{content:"\f4fb"}.fa-interrobang:before{content:"\e5ba"}.fa-plane-slash:before{content:"\e069"}.fa-circle-dashed:before{content:"\e105"}.fa-trademark:before{content:"\f25c"}.fa-basketball-ball:before,.fa-basketball:before{content:"\f434"}.fa-fork-knife:before,.fa-utensils-alt:before{content:"\f2e6"}.fa-satellite-dish:before{content:"\f7c0"}.fa-badge-check:before{content:"\f336"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:"\f35b"}.fa-slider:before{content:"\e252"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:"\f3cd"}.fa-clock-one-thirty:before{content:"\e34f"}.fa-inbox-arrow-up:before,.fa-inbox-out:before{content:"\f311"}.fa-cloud-slash:before{content:"\e137"}.fa-volume-high:before,.fa-volume-up:before{content:"\f028"}.fa-users-rays:before{content:"\e593"}.fa-wallet:before{content:"\f555"}.fa-octagon-check:before{content:"\e426"}.fa-flatbread-stuffed:before{content:"\e40c"}.fa-clipboard-check:before{content:"\f46c"}.fa-cart-circle-plus:before{content:"\e3f3"}.fa-shipping-timed:before,.fa-truck-clock:before{content:"\f48c"}.fa-pool-8-ball:before{content:"\e3c5"}.fa-file-audio:before{content:"\f1c7"}.fa-turn-down-left:before{content:"\e331"}.fa-lock-hashtag:before{content:"\e423"}.fa-chart-radar:before{content:"\e0e7"}.fa-staff:before{content:"\f71b"}.fa-burger:before,.fa-hamburger:before{content:"\f805"}.fa-utility-pole:before{content:"\e2c3"}.fa-transporter-6:before{content:"\e2a7"}.fa-arrow-turn-left:before{content:"\e632"}.fa-wrench:before{content:"\f0ad"}.fa-bugs:before{content:"\e4d0"}.fa-vector-polygon:before{content:"\e2c7"}.fa-diagram-nested:before{content:"\e157"}.fa-rupee-sign:before,.fa-rupee:before{content:"\f156"}.fa-file-image:before{content:"\f1c5"}.fa-circle-question:before,.fa-question-circle:before{content:"\f059"}.fa-tickets-perforated:before{content:"\e63f"}.fa-image-user:before{content:"\e1b8"}.fa-buoy:before{content:"\e5b5"}.fa-plane-departure:before{content:"\f5b0"}.fa-handshake-slash:before{content:"\e060"}.fa-book-bookmark:before{content:"\e0bb"}.fa-border-center-h:before{content:"\f89c"}.fa-can-food:before{content:"\e3e6"}.fa-typewriter:before{content:"\f8e7"}.fa-arrow-right-from-arc:before{content:"\e4b1"}.fa-circle-k:before{content:"\e113"}.fa-face-hand-over-mouth:before{content:"\e378"}.fa-popcorn:before{content:"\f819"}.fa-house-flood:before,.fa-house-water:before{content:"\f74f"}.fa-object-subtract:before{content:"\e49e"}.fa-code-branch:before{content:"\f126"}.fa-warehouse-alt:before,.fa-warehouse-full:before{content:"\f495"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-bridge:before{content:"\e4c8"}.fa-phone-alt:before,.fa-phone-flip:before{content:"\f879"}.fa-arrow-down-from-dotted-line:before{content:"\e090"}.fa-file-doc:before{content:"\e5ed"}.fa-square-quarters:before{content:"\e44e"}.fa-truck-front:before{content:"\e2b7"}.fa-cat:before{content:"\f6be"}.fa-trash-xmark:before{content:"\e2b4"}.fa-caret-circle-left:before,.fa-circle-caret-left:before{content:"\f32e"}.fa-files:before{content:"\e178"}.fa-anchor-circle-exclamation:before{content:"\e4ab"}.fa-face-clouds:before{content:"\e47d"}.fa-user-crown:before{content:"\f6a4"}.fa-basket-shopping-plus:before{content:"\e653"}.fa-truck-field:before{content:"\e58d"}.fa-route:before{content:"\f4d7"}.fa-cart-circle-check:before{content:"\e3f1"}.fa-clipboard-question:before{content:"\e4e3"}.fa-panorama:before{content:"\e209"}.fa-comment-medical:before{content:"\f7f5"}.fa-teeth-open:before{content:"\f62f"}.fa-user-tie-hair-long:before{content:"\e460"}.fa-file-circle-minus:before{content:"\e4ed"}.fa-head-side-medical:before{content:"\f809"}.fa-arrow-turn-right:before{content:"\e635"}.fa-tags:before{content:"\f02c"}.fa-wine-glass:before{content:"\f4e3"}.fa-fast-forward:before,.fa-forward-fast:before{content:"\f050"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:"\f5a4"}.fa-user-robot:before{content:"\e04b"}.fa-parking:before,.fa-square-parking:before{content:"\f540"}.fa-card-diamond:before{content:"\e3ea"}.fa-face-zipper:before{content:"\e3a5"}.fa-face-raised-eyebrow:before{content:"\e388"}.fa-house-signal:before{content:"\e012"}.fa-chevron-square-up:before,.fa-square-chevron-up:before{content:"\f32c"}.fa-bars-progress:before,.fa-tasks-alt:before{content:"\f828"}.fa-faucet-drip:before{content:"\e006"}.fa-arrows-to-line:before{content:"\e0a7"}.fa-dolphin:before{content:"\e168"}.fa-arrow-up-right:before{content:"\e09f"}.fa-circle-r:before{content:"\e120"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:"\f474"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:"\f54d"}.fa-circle-sort-up:before,.fa-sort-circle-up:before{content:"\e032"}.fa-terminal:before{content:"\f120"}.fa-mobile-button:before{content:"\f10b"}.fa-house-medical-flag:before{content:"\e514"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:"\f291"}.fa-tape:before{content:"\f4db"}.fa-chestnut:before{content:"\e3f6"}.fa-bus-alt:before,.fa-bus-simple:before{content:"\f55e"}.fa-eye:before{content:"\f06e"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:"\f5b3"}.fa-heat:before{content:"\e00c"}.fa-ticket-airline:before,.fa-ticket-perforated-plane:before,.fa-ticket-plane:before{content:"\e29a"}.fa-boot-heeled:before{content:"\e33f"}.fa-arrows-minimize:before,.fa-compress-arrows:before{content:"\e0a5"}.fa-audio-description:before{content:"\f29e"}.fa-person-military-to-person:before{content:"\e54c"}.fa-file-shield:before{content:"\e4f0"}.fa-hexagon:before{content:"\f312"}.fa-manhole:before{content:"\e1d6"}.fa-user-slash:before{content:"\f506"}.fa-pen:before{content:"\f304"}.fa-tower-observation:before{content:"\e586"}.fa-floppy-disks:before{content:"\e183"}.fa-toilet-paper-blank-under:before,.fa-toilet-paper-reverse-alt:before{content:"\e29f"}.fa-file-code:before{content:"\f1c9"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:"\f012"}.fa-pump:before{content:"\e442"}.fa-bus:before{content:"\f207"}.fa-heart-circle-xmark:before{content:"\e501"}.fa-arrow-up-left-from-circle:before{content:"\e09e"}.fa-home-lg:before,.fa-house-chimney:before{content:"\e3af"}.fa-window-maximize:before{content:"\f2d0"}.fa-dryer:before{content:"\f861"}.fa-face-frown:before,.fa-frown:before{content:"\f119"}.fa-chess-bishop-alt:before,.fa-chess-bishop-piece:before{content:"\f43b"}.fa-shirt-tank-top:before{content:"\e3c9"}.fa-diploma:before,.fa-scroll-ribbon:before{content:"\f5ea"}.fa-screencast:before{content:"\e23e"}.fa-walker:before{content:"\f831"}.fa-prescription:before{content:"\f5b1"}.fa-shop:before,.fa-store-alt:before{content:"\f54f"}.fa-floppy-disk:before,.fa-save:before{content:"\f0c7"}.fa-vihara:before{content:"\f6a7"}.fa-face-kiss-closed-eyes:before{content:"\e37d"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:"\f515"}.fa-file-user:before{content:"\f65c"}.fa-user-police-tie:before{content:"\e334"}.fa-face-tongue-money:before{content:"\e39d"}.fa-tennis-ball:before{content:"\f45e"}.fa-square-l:before{content:"\e275"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-calendar-arrow-up:before,.fa-calendar-upload:before{content:"\e0d1"}.fa-comment-dots:before,.fa-commenting:before{content:"\f4ad"}.fa-plant-wilt:before{content:"\e5aa"}.fa-scarf:before{content:"\f7c1"}.fa-album-circle-plus:before{content:"\e48c"}.fa-user-nurse-hair-long:before{content:"\e45e"}.fa-diamond:before{content:"\f219"}.fa-arrow-alt-square-left:before,.fa-square-left:before{content:"\f351"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:"\f585"}.fa-circle-ellipsis-vertical:before{content:"\e10b"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:"\f4c0"}.fa-grid-dividers:before{content:"\e3ad"}.fa-bacterium:before{content:"\e05a"}.fa-hand-pointer:before{content:"\f25a"}.fa-drum-steelpan:before{content:"\f56a"}.fa-hand-scissors:before{content:"\f257"}.fa-hands-praying:before,.fa-praying-hands:before{content:"\f684"}.fa-face-pensive:before{content:"\e384"}.fa-user-music:before{content:"\f8eb"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:"\f01e"}.fa-comments-alt-dollar:before,.fa-messages-dollar:before{content:"\f652"}.fa-sensor-on:before{content:"\e02b"}.fa-balloon:before{content:"\e2e3"}.fa-biohazard:before{content:"\f780"}.fa-chess-queen-alt:before,.fa-chess-queen-piece:before{content:"\f446"}.fa-location-crosshairs:before,.fa-location:before{content:"\f601"}.fa-mars-double:before{content:"\f227"}.fa-left-from-bracket:before{content:"\e66c"}.fa-house-leave:before,.fa-house-person-depart:before,.fa-house-person-leave:before{content:"\e00f"}.fa-ruler-triangle:before{content:"\f61c"}.fa-card-club:before{content:"\e3e9"}.fa-child-dress:before{content:"\e59c"}.fa-users-between-lines:before{content:"\e591"}.fa-lungs-virus:before{content:"\e067"}.fa-spinner-third:before{content:"\f3f4"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:"\f588"}.fa-phone:before{content:"\f095"}.fa-computer-mouse-scrollwheel:before,.fa-mouse-alt:before{content:"\f8cd"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:"\f273"}.fa-child-reaching:before{content:"\e59d"}.fa-table-layout:before{content:"\e290"}.fa-narwhal:before{content:"\f6fe"}.fa-ramp-loading:before{content:"\f4d4"}.fa-calendar-circle-plus:before{content:"\e470"}.fa-toothbrush:before{content:"\f635"}.fa-border-inner:before{content:"\f84e"}.fa-paw-claws:before{content:"\f702"}.fa-kiwi-fruit:before{content:"\e30c"}.fa-traffic-light-slow:before{content:"\f639"}.fa-rectangle-code:before{content:"\e322"}.fa-head-side-virus:before{content:"\e064"}.fa-keyboard-brightness:before{content:"\e1c0"}.fa-books-medical:before{content:"\f7e8"}.fa-lightbulb-slash:before{content:"\f673"}.fa-home-blank:before,.fa-house-blank:before{content:"\e487"}.fa-square-5:before{content:"\e25a"}.fa-heart-square:before,.fa-square-heart:before{content:"\f4c8"}.fa-puzzle:before{content:"\e443"}.fa-user-cog:before,.fa-user-gear:before{content:"\f4fe"}.fa-pipe-circle-check:before{content:"\e436"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-octagon-exclamation:before{content:"\e204"}.fa-dial-low:before{content:"\e15d"}.fa-door-closed:before{content:"\f52a"}.fa-laptop-mobile:before,.fa-phone-laptop:before{content:"\f87a"}.fa-conveyor-belt-alt:before,.fa-conveyor-belt-boxes:before{content:"\f46f"}.fa-shield-virus:before{content:"\e06c"}.fa-starfighter-alt-advanced:before,.fa-starfighter-twin-ion-engine-advanced:before{content:"\e28e"}.fa-dice-six:before{content:"\f526"}.fa-starfighter-alt:before,.fa-starfighter-twin-ion-engine:before{content:"\e038"}.fa-rocket-launch:before{content:"\e027"}.fa-mosquito-net:before{content:"\e52c"}.fa-vent-damper:before{content:"\e465"}.fa-bridge-water:before{content:"\e4ce"}.fa-ban-bug:before,.fa-debug:before{content:"\f7f9"}.fa-person-booth:before{content:"\f756"}.fa-text-width:before{content:"\f035"}.fa-garage-car:before{content:"\e00a"}.fa-square-kanban:before{content:"\e488"}.fa-hat-wizard:before{content:"\f6e8"}.fa-chart-kanban:before{content:"\e64f"}.fa-pen-fancy:before{content:"\f5ac"}.fa-coffee-pot:before{content:"\e002"}.fa-mouse-field:before{content:"\e5a8"}.fa-digging:before,.fa-person-digging:before{content:"\f85e"}.fa-shower-alt:before,.fa-shower-down:before{content:"\e24d"}.fa-box-circle-check:before{content:"\e0c4"}.fa-brightness:before{content:"\e0c9"}.fa-car-side-bolt:before{content:"\e344"}.fa-file-xml:before{content:"\e654"}.fa-ornament:before{content:"\f7b8"}.fa-phone-arrow-down-left:before,.fa-phone-arrow-down:before,.fa-phone-incoming:before{content:"\e223"}.fa-cloud-word:before{content:"\e138"}.fa-hand-fingers-crossed:before{content:"\e1a3"}.fa-trash:before{content:"\f1f8"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:"\f629"}.fa-arrow-down-small-big:before,.fa-sort-size-down-alt:before{content:"\f88d"}.fa-book-medical:before{content:"\f7e6"}.fa-face-melting:before{content:"\e483"}.fa-poo:before{content:"\f2fe"}.fa-pen-alt-slash:before,.fa-pen-clip-slash:before{content:"\e20f"}.fa-quote-right-alt:before,.fa-quote-right:before{content:"\f10e"}.fa-scroll-old:before{content:"\f70f"}.fa-guitars:before{content:"\f8bf"}.fa-phone-xmark:before{content:"\e227"}.fa-hose:before{content:"\e419"}.fa-clock-six:before{content:"\e352"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:"\f553"}.fa-billboard:before{content:"\e5cd"}.fa-square-r:before{content:"\e27c"}.fa-cubes:before{content:"\f1b3"}.fa-envelope-open-dollar:before{content:"\f657"}.fa-divide:before{content:"\f529"}.fa-sun-cloud:before{content:"\f763"}.fa-lamp-floor:before{content:"\e015"}.fa-square-7:before{content:"\e25c"}.fa-tenge-sign:before,.fa-tenge:before{content:"\f7d7"}.fa-headphones:before{content:"\f025"}.fa-hands-holding:before{content:"\f4c2"}.fa-campfire:before{content:"\f6ba"}.fa-circle-ampersand:before{content:"\e0f8"}.fa-snowflakes:before{content:"\f7cf"}.fa-hands-clapping:before{content:"\e1a8"}.fa-republican:before{content:"\f75e"}.fa-leaf-maple:before{content:"\f6f6"}.fa-arrow-left:before{content:"\f060"}.fa-person-circle-xmark:before{content:"\e543"}.fa-ruler:before{content:"\f545"}.fa-arrow-left-from-bracket:before{content:"\e668"}.fa-cup-straw-swoosh:before{content:"\e364"}.fa-temperature-hot:before,.fa-temperature-sun:before{content:"\f76a"}.fa-align-left:before{content:"\f036"}.fa-dice-d6:before{content:"\f6d1"}.fa-restroom:before{content:"\f7bd"}.fa-high-definition:before,.fa-rectangle-hd:before{content:"\e1ae"}.fa-j:before{content:"\4a"}.fa-galaxy:before{content:"\e008"}.fa-users-viewfinder:before{content:"\e595"}.fa-file-video:before{content:"\f1c8"}.fa-cherries:before{content:"\e0ec"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:"\f35d"}.fa-circle-sort:before,.fa-sort-circle:before{content:"\e030"}.fa-table-cells:before,.fa-th:before{content:"\f00a"}.fa-bag-shopping-minus:before{content:"\e650"}.fa-file-pdf:before{content:"\f1c1"}.fa-siren:before{content:"\e02d"}.fa-arrow-up-to-dotted-line:before{content:"\e0a1"}.fa-image-landscape:before,.fa-landscape:before{content:"\e1b5"}.fa-tank-water:before{content:"\e452"}.fa-curling-stone:before,.fa-curling:before{content:"\f44a"}.fa-gamepad-alt:before,.fa-gamepad-modern:before{content:"\e5a2"}.fa-messages-question:before{content:"\e1e7"}.fa-bible:before,.fa-book-bible:before{content:"\f647"}.fa-o:before{content:"\4f"}.fa-medkit:before,.fa-suitcase-medical:before{content:"\f0fa"}.fa-briefcase-arrow-right:before{content:"\e2f2"}.fa-expand-wide:before{content:"\f320"}.fa-clock-eleven-thirty:before{content:"\e348"}.fa-rv:before{content:"\f7be"}.fa-user-secret:before{content:"\f21b"}.fa-otter:before{content:"\f700"}.fa-dreidel:before{content:"\f792"}.fa-female:before,.fa-person-dress:before{content:"\f182"}.fa-comment-dollar:before{content:"\f651"}.fa-briefcase-clock:before,.fa-business-time:before{content:"\f64a"}.fa-flower-tulip:before{content:"\f801"}.fa-people-pants-simple:before{content:"\e21a"}.fa-cloud-drizzle:before{content:"\f738"}.fa-table-cells-large:before,.fa-th-large:before{content:"\f009"}.fa-book-tanakh:before,.fa-tanakh:before{content:"\f827"}.fa-solar-system:before{content:"\e02f"}.fa-seal-question:before{content:"\e243"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-disc-drive:before{content:"\f8b5"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-rows:before,.fa-table-rows:before{content:"\e292"}.fa-location-exclamation:before,.fa-map-marker-exclamation:before{content:"\f608"}.fa-face-fearful:before{content:"\e375"}.fa-clipboard-user:before{content:"\f7f3"}.fa-bus-school:before{content:"\f5dd"}.fa-film-slash:before{content:"\e179"}.fa-square-arrow-down-right:before{content:"\e262"}.fa-book-sparkles:before,.fa-book-spells:before{content:"\f6b8"}.fa-washer:before,.fa-washing-machine:before{content:"\f898"}.fa-child:before{content:"\f1ae"}.fa-lira-sign:before{content:"\f195"}.fa-user-visor:before{content:"\e04c"}.fa-file-plus-minus:before{content:"\e177"}.fa-chess-clock-alt:before,.fa-chess-clock-flip:before{content:"\f43e"}.fa-satellite:before{content:"\f7bf"}.fa-truck-fire:before{content:"\e65a"}.fa-plane-lock:before{content:"\e558"}.fa-steering-wheel:before{content:"\f622"}.fa-tag:before{content:"\f02b"}.fa-stretcher:before{content:"\f825"}.fa-book-law:before,.fa-book-section:before{content:"\e0c1"}.fa-inboxes:before{content:"\e1bb"}.fa-coffee-bean:before{content:"\e13e"}.fa-circle-yen:before{content:"\e5d0"}.fa-brackets-curly:before{content:"\f7ea"}.fa-ellipsis-stroke-vertical:before,.fa-ellipsis-v-alt:before{content:"\f39c"}.fa-comment:before{content:"\f075"}.fa-square-1:before{content:"\e256"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:"\f1fd"}.fa-head-side:before{content:"\f6e9"}.fa-truck-ladder:before{content:"\e657"}.fa-envelope:before{content:"\f0e0"}.fa-dolly-empty:before{content:"\f473"}.fa-face-tissue:before{content:"\e39c"}.fa-angle-double-up:before,.fa-angles-up:before{content:"\f102"}.fa-bin-recycle:before{content:"\e5f7"}.fa-paperclip:before{content:"\f0c6"}.fa-chart-line-down:before{content:"\f64d"}.fa-arrow-right-to-city:before{content:"\e4b3"}.fa-lock-a:before{content:"\e422"}.fa-ribbon:before{content:"\f4d6"}.fa-lungs:before{content:"\f604"}.fa-person-pinball:before{content:"\e21d"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-apple-core:before{content:"\e08f"}.fa-circle-y:before{content:"\e12f"}.fa-h6:before{content:"\e413"}.fa-litecoin-sign:before{content:"\e1d3"}.fa-bottle-baby:before{content:"\e673"}.fa-circle-small:before{content:"\e122"}.fa-border-none:before{content:"\f850"}.fa-arrow-turn-down-left:before{content:"\e2e1"}.fa-circle-wifi-circle-wifi:before,.fa-circle-wifi-group:before{content:"\e67e"}.fa-circle-nodes:before{content:"\e4e2"}.fa-parachute-box:before{content:"\f4cd"}.fa-reflect-horizontal:before{content:"\e664"}.fa-comment-alt-medical:before,.fa-message-medical:before{content:"\f7f4"}.fa-rugby-ball:before{content:"\e3c6"}.fa-comment-music:before{content:"\f8b0"}.fa-indent:before{content:"\f03c"}.fa-tree-alt:before,.fa-tree-deciduous:before{content:"\f400"}.fa-puzzle-piece-alt:before,.fa-puzzle-piece-simple:before{content:"\e231"}.fa-truck-field-un:before{content:"\e58e"}.fa-nfc-trash:before{content:"\e1fd"}.fa-hourglass-empty:before,.fa-hourglass:before{content:"\f254"}.fa-mountain:before{content:"\f6fc"}.fa-file-times:before,.fa-file-xmark:before{content:"\f317"}.fa-home-heart:before,.fa-house-heart:before{content:"\f4c9"}.fa-house-chimney-blank:before{content:"\e3b0"}.fa-meter-bolt:before{content:"\e1e9"}.fa-user-doctor:before,.fa-user-md:before{content:"\f0f0"}.fa-slash-back:before{content:"\5c"}.fa-circle-info:before,.fa-info-circle:before{content:"\f05a"}.fa-fishing-rod:before{content:"\e3a8"}.fa-hammer-crash:before{content:"\e414"}.fa-message-heart:before{content:"\e5c9"}.fa-cloud-meatball:before{content:"\f73b"}.fa-camera-polaroid:before{content:"\f8aa"}.fa-camera-alt:before,.fa-camera:before{content:"\f030"}.fa-square-virus:before{content:"\e578"}.fa-cart-arrow-up:before{content:"\e3ee"}.fa-meteor:before{content:"\f753"}.fa-car-on:before{content:"\e4dd"}.fa-sleigh:before{content:"\f7cc"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-buoy-mooring:before{content:"\e5b6"}.fa-square-4:before{content:"\e259"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:"\f4c1"}.fa-file-eps:before{content:"\e644"}.fa-tricycle-adult:before{content:"\e5c4"}.fa-waveform:before{content:"\f8f1"}.fa-water:before{content:"\f773"}.fa-star-sharp-half-alt:before,.fa-star-sharp-half-stroke:before{content:"\e28d"}.fa-nfc-signal:before{content:"\e1fb"}.fa-plane-prop:before{content:"\e22b"}.fa-calendar-check:before{content:"\f274"}.fa-clock-desk:before{content:"\e134"}.fa-calendar-clock:before,.fa-calendar-time:before{content:"\e0d2"}.fa-braille:before{content:"\f2a1"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:"\f486"}.fa-plate-utensils:before{content:"\e43b"}.fa-family-pants:before{content:"\e302"}.fa-hose-reel:before{content:"\e41a"}.fa-house-window:before{content:"\e3b3"}.fa-landmark:before{content:"\f66f"}.fa-truck:before{content:"\f0d1"}.fa-music-magnifying-glass:before{content:"\e662"}.fa-crosshairs:before{content:"\f05b"}.fa-cloud-rainbow:before{content:"\f73e"}.fa-person-cane:before{content:"\e53c"}.fa-alien:before{content:"\f8f5"}.fa-tent:before{content:"\e57d"}.fa-laptop-binary:before{content:"\e5e7"}.fa-vest-patches:before{content:"\e086"}.fa-people-dress-simple:before{content:"\e218"}.fa-check-double:before{content:"\f560"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-bowling-ball-pin:before{content:"\e0c3"}.fa-bell-school-slash:before{content:"\f5d6"}.fa-plus-large:before{content:"\e59e"}.fa-money-bill-wheat:before{content:"\e52a"}.fa-camera-viewfinder:before,.fa-screenshot:before{content:"\e0da"}.fa-comment-alt-music:before,.fa-message-music:before{content:"\f8af"}.fa-car-building:before{content:"\f859"}.fa-border-bottom-right:before,.fa-border-style-alt:before{content:"\f854"}.fa-octagon:before{content:"\f306"}.fa-comment-arrow-up-right:before{content:"\e145"}.fa-octagon-divide:before{content:"\e203"}.fa-cookie:before{content:"\f563"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-tv-music:before{content:"\f8e6"}.fa-hard-drive:before,.fa-hdd:before{content:"\f0a0"}.fa-reel:before{content:"\e238"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:"\f586"}.fa-dumbbell:before{content:"\f44b"}.fa-list-alt:before,.fa-rectangle-list:before{content:"\f022"}.fa-tarp-droplet:before{content:"\e57c"}.fa-alarm-exclamation:before{content:"\f843"}.fa-house-medical-circle-check:before{content:"\e511"}.fa-traffic-cone:before{content:"\f636"}.fa-grate:before{content:"\e193"}.fa-arrow-down-right:before{content:"\e093"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:"\f7ca"}.fa-calendar-plus:before{content:"\f271"}.fa-person-from-portal:before,.fa-portal-exit:before{content:"\e023"}.fa-plane-arrival:before{content:"\f5af"}.fa-cowbell-circle-plus:before,.fa-cowbell-more:before{content:"\f8b4"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:"\f359"}.fa-distribute-spacing-vertical:before{content:"\e366"}.fa-signal-alt-2:before,.fa-signal-bars-fair:before{content:"\f692"}.fa-sportsball:before{content:"\e44b"}.fa-game-console-handheld-crank:before{content:"\e5b9"}.fa-subway:before,.fa-train-subway:before{content:"\f239"}.fa-chart-gantt:before{content:"\e0e4"}.fa-face-smile-upside-down:before{content:"\e395"}.fa-ball-pile:before{content:"\f77e"}.fa-badge-dollar:before{content:"\f645"}.fa-money-bills-alt:before,.fa-money-bills-simple:before{content:"\e1f4"}.fa-list-timeline:before{content:"\e1d1"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:"\e1bc"}.fa-crop-alt:before,.fa-crop-simple:before{content:"\f565"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:"\f3d1"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-keyboard-down:before{content:"\e1c2"}.fa-circle-up-right:before{content:"\e129"}.fa-cloud-bolt-moon:before,.fa-thunderstorm-moon:before{content:"\f76d"}.fa-turn-left-up:before{content:"\e638"}.fa-dna:before{content:"\f471"}.fa-virus-slash:before{content:"\e075"}.fa-bracket-round-right:before{content:"\29"}.fa-circle-sterling:before{content:"\e5cf"}.fa-circle-5:before{content:"\e0f2"}.fa-minus:before,.fa-subtract:before{content:"\f068"}.fa-fire-flame:before,.fa-flame:before{content:"\f6df"}.fa-arrow-alt-to-right:before,.fa-right-to-line:before{content:"\f34c"}.fa-gif:before{content:"\e190"}.fa-chess:before{content:"\f439"}.fa-trash-slash:before{content:"\e2b3"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:"\f177"}.fa-plug-circle-check:before{content:"\e55c"}.fa-font-case:before{content:"\f866"}.fa-street-view:before{content:"\f21d"}.fa-arrow-down-left:before{content:"\e091"}.fa-franc-sign:before{content:"\e18f"}.fa-flask-poison:before,.fa-flask-round-poison:before{content:"\f6e0"}.fa-volume-off:before{content:"\f026"}.fa-book-circle-arrow-right:before{content:"\e0bc"}.fa-chart-user:before,.fa-user-chart:before{content:"\f6a3"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:"\f2a3"}.fa-presentation-screen:before,.fa-presentation:before{content:"\f685"}.fa-circle-bolt:before{content:"\e0fe"}.fa-face-smile-halo:before{content:"\e38f"}.fa-cart-circle-arrow-down:before{content:"\e3ef"}.fa-house-person-arrive:before,.fa-house-person-return:before,.fa-house-return:before{content:"\e011"}.fa-comment-alt-times:before,.fa-message-times:before,.fa-message-xmark:before{content:"\f4ab"}.fa-file-award:before,.fa-file-certificate:before{content:"\f5f3"}.fa-user-doctor-hair-long:before{content:"\e459"}.fa-camera-home:before,.fa-camera-security:before{content:"\f8fe"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-droplet-slash:before,.fa-tint-slash:before{content:"\f5c7"}.fa-book-heart:before{content:"\f499"}.fa-mosque:before{content:"\f678"}.fa-duck:before{content:"\f6d8"}.fa-mosquito:before{content:"\e52b"}.fa-star-of-david:before{content:"\f69a"}.fa-flag-alt:before,.fa-flag-swallowtail:before{content:"\f74c"}.fa-person-military-rifle:before{content:"\e54b"}.fa-car-garage:before{content:"\f5e2"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:"\f07a"}.fa-book-font:before{content:"\e0bf"}.fa-shield-plus:before{content:"\e24a"}.fa-vials:before{content:"\f493"}.fa-eye-dropper-full:before{content:"\e172"}.fa-distribute-spacing-horizontal:before{content:"\e365"}.fa-tablet-rugged:before{content:"\f48f"}.fa-temperature-frigid:before,.fa-temperature-snow:before{content:"\f768"}.fa-moped:before{content:"\e3b9"}.fa-face-smile-plus:before,.fa-smile-plus:before{content:"\f5b9"}.fa-radio-alt:before,.fa-radio-tuner:before{content:"\f8d8"}.fa-face-swear:before{content:"\e399"}.fa-water-arrow-down:before,.fa-water-lower:before{content:"\f774"}.fa-scanner-touchscreen:before{content:"\f48a"}.fa-circle-7:before{content:"\e0f4"}.fa-plug-circle-plus:before{content:"\e55f"}.fa-person-ski-jumping:before,.fa-ski-jump:before{content:"\f7c7"}.fa-place-of-worship:before{content:"\f67f"}.fa-water-arrow-up:before,.fa-water-rise:before{content:"\f775"}.fa-waveform-lines:before,.fa-waveform-path:before{content:"\f8f2"}.fa-split:before{content:"\e254"}.fa-film-canister:before,.fa-film-cannister:before{content:"\f8b7"}.fa-folder-times:before,.fa-folder-xmark:before{content:"\f65f"}.fa-toilet-paper-alt:before,.fa-toilet-paper-blank:before{content:"\f71f"}.fa-tablet-android-alt:before,.fa-tablet-screen:before{content:"\f3fc"}.fa-hexagon-vertical-nft-slanted:before{content:"\e506"}.fa-folder-music:before{content:"\e18d"}.fa-desktop-medical:before,.fa-display-medical:before{content:"\e166"}.fa-share-all:before{content:"\f367"}.fa-peapod:before{content:"\e31c"}.fa-chess-clock:before{content:"\f43d"}.fa-axe:before{content:"\f6b2"}.fa-square-d:before{content:"\e268"}.fa-grip-vertical:before{content:"\f58e"}.fa-mobile-signal-out:before{content:"\e1f0"}.fa-arrow-turn-up:before,.fa-level-up:before{content:"\f148"}.fa-u:before{content:"\55"}.fa-arrow-up-from-dotted-line:before{content:"\e09b"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:"\f698"}.fa-light-switch-on:before{content:"\e019"}.fa-arrow-down-arrow-up:before,.fa-sort-alt:before{content:"\f883"}.fa-raindrops:before{content:"\f75c"}.fa-dash:before,.fa-minus-large:before{content:"\e404"}.fa-clock-four:before,.fa-clock:before{content:"\f017"}.fa-input-numeric:before{content:"\e1bd"}.fa-truck-tow:before{content:"\e2b8"}.fa-backward-step:before,.fa-step-backward:before{content:"\f048"}.fa-pallet:before{content:"\f482"}.fa-car-bolt:before{content:"\e341"}.fa-arrows-maximize:before,.fa-expand-arrows:before{content:"\f31d"}.fa-faucet:before{content:"\e005"}.fa-cloud-sleet:before{content:"\f741"}.fa-lamp-street:before{content:"\e1c5"}.fa-list-radio:before{content:"\e1d0"}.fa-pen-nib-slash:before{content:"\e4a1"}.fa-baseball-bat-ball:before{content:"\f432"}.fa-square-up-left:before{content:"\e282"}.fa-overline:before{content:"\f876"}.fa-s:before{content:"\53"}.fa-timeline:before{content:"\e29c"}.fa-keyboard:before{content:"\f11c"}.fa-arrows-from-dotted-line:before{content:"\e0a3"}.fa-usb-drive:before{content:"\f8e9"}.fa-ballot:before{content:"\f732"}.fa-caret-down:before{content:"\f0d7"}.fa-location-dot-slash:before,.fa-map-marker-alt-slash:before{content:"\f605"}.fa-cards:before{content:"\e3ed"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:"\f7f2"}.fa-boxing-glove:before,.fa-glove-boxing:before{content:"\f438"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-bell-school:before{content:"\f5d5"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:"\f3cf"}.fa-plane-up:before{content:"\e22d"}.fa-folder-heart:before{content:"\e189"}.fa-circle-location-arrow:before,.fa-location-circle:before{content:"\f602"}.fa-face-head-bandage:before{content:"\e37a"}.fa-maki-roll:before,.fa-makizushi:before,.fa-sushi-roll:before{content:"\e48b"}.fa-car-bump:before{content:"\f5e0"}.fa-piggy-bank:before{content:"\f4d3"}.fa-racquet:before{content:"\f45a"}.fa-car-mirrors:before{content:"\e343"}.fa-industry-alt:before,.fa-industry-windows:before{content:"\f3b3"}.fa-bolt-auto:before{content:"\e0b6"}.fa-battery-3:before,.fa-battery-half:before{content:"\f242"}.fa-flux-capacitor:before{content:"\f8ba"}.fa-mountain-city:before{content:"\e52e"}.fa-coins:before{content:"\f51e"}.fa-honey-pot:before{content:"\e418"}.fa-olive:before{content:"\e316"}.fa-khanda:before{content:"\f66d"}.fa-filter-list:before{content:"\e17c"}.fa-outlet:before{content:"\e01c"}.fa-sliders-h:before,.fa-sliders:before{content:"\f1de"}.fa-cauldron:before{content:"\f6bf"}.fa-people:before{content:"\e216"}.fa-folder-tree:before{content:"\f802"}.fa-network-wired:before{content:"\f6ff"}.fa-croissant:before{content:"\f7f6"}.fa-map-pin:before{content:"\f276"}.fa-hamsa:before{content:"\f665"}.fa-cent-sign:before{content:"\e3f5"}.fa-swords-laser:before{content:"\e03d"}.fa-flask:before{content:"\f0c3"}.fa-person-pregnant:before{content:"\e31e"}.fa-square-u:before{content:"\e281"}.fa-wand-sparkles:before{content:"\f72b"}.fa-router:before{content:"\f8da"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:"\f142"}.fa-sword-laser-alt:before{content:"\e03c"}.fa-ticket:before{content:"\f145"}.fa-power-off:before{content:"\f011"}.fa-coin:before{content:"\f85c"}.fa-laptop-slash:before{content:"\e1c7"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:"\f30b"}.fa-circle-b:before{content:"\e0fd"}.fa-person-dress-simple:before{content:"\e21c"}.fa-pipe-collar:before{content:"\e437"}.fa-lights-holiday:before{content:"\f7b2"}.fa-citrus:before{content:"\e2f4"}.fa-flag-usa:before{content:"\f74d"}.fa-laptop-file:before{content:"\e51d"}.fa-teletype:before,.fa-tty:before{content:"\f1e4"}.fa-chart-tree-map:before{content:"\e0ea"}.fa-diagram-next:before{content:"\e476"}.fa-person-rifle:before{content:"\e54e"}.fa-clock-five-thirty:before{content:"\e34a"}.fa-pipe-valve:before{content:"\e439"}.fa-arrow-up-from-arc:before{content:"\e4b4"}.fa-face-spiral-eyes:before{content:"\e485"}.fa-compress-wide:before{content:"\f326"}.fa-circle-phone-hangup:before,.fa-phone-circle-down:before{content:"\e11d"}.fa-gear-complex-code:before{content:"\e5eb"}.fa-house-medical-circle-exclamation:before{content:"\e512"}.fa-badminton:before{content:"\e33a"}.fa-closed-captioning:before{content:"\f20a"}.fa-hiking:before,.fa-person-hiking:before{content:"\f6ec"}.fa-arrow-alt-from-left:before,.fa-right-from-line:before{content:"\f347"}.fa-venus-double:before{content:"\f226"}.fa-images:before{content:"\f302"}.fa-calculator:before{content:"\f1ec"}.fa-shuttlecock:before{content:"\f45b"}.fa-user-hair:before{content:"\e45a"}.fa-eye-evil:before{content:"\f6db"}.fa-people-pulling:before{content:"\e535"}.fa-n:before{content:"\4e"}.fa-swap:before{content:"\e609"}.fa-garage:before{content:"\e009"}.fa-cable-car:before,.fa-tram:before{content:"\f7da"}.fa-shovel-snow:before{content:"\f7c3"}.fa-cloud-rain:before{content:"\f73d"}.fa-face-lying:before{content:"\e37e"}.fa-sprinkler:before{content:"\e035"}.fa-building-circle-xmark:before{content:"\e4d4"}.fa-person-sledding:before,.fa-sledding:before{content:"\f7cb"}.fa-game-console-handheld:before{content:"\f8bb"}.fa-ship:before{content:"\f21a"}.fa-clock-six-thirty:before{content:"\e353"}.fa-battery-slash:before{content:"\f377"}.fa-tugrik-sign:before{content:"\e2ba"}.fa-arrows-down-to-line:before{content:"\e4b8"}.fa-download:before{content:"\f019"}.fa-angles-up-down:before{content:"\e60d"}.fa-inventory:before,.fa-shelves:before{content:"\f480"}.fa-cloud-snow:before{content:"\f742"}.fa-face-grin:before,.fa-grin:before{content:"\f580"}.fa-backspace:before,.fa-delete-left:before{content:"\f55a"}.fa-oven:before{content:"\e01d"}.fa-cloud-binary:before{content:"\e601"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:"\f1fb"}.fa-comment-captions:before{content:"\e146"}.fa-comments-question:before{content:"\e14e"}.fa-scribble:before{content:"\e23f"}.fa-rotate-exclamation:before{content:"\e23c"}.fa-file-circle-check:before{content:"\e5a0"}.fa-glass:before{content:"\f804"}.fa-loader:before{content:"\e1d4"}.fa-forward:before{content:"\f04e"}.fa-user-pilot:before{content:"\e2c0"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:"\f3ce"}.fa-code-pull-request-closed:before{content:"\e3f9"}.fa-face-meh:before,.fa-meh:before{content:"\f11a"}.fa-align-center:before{content:"\f037"}.fa-book-dead:before,.fa-book-skull:before{content:"\f6b7"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-face-dotted:before{content:"\e47f"}.fa-face-worried:before{content:"\e3a3"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-court-sport:before{content:"\e643"}.fa-heart-circle-exclamation:before{content:"\e4fe"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:"\f015"}.fa-vector-circle:before{content:"\e2c6"}.fa-car-circle-bolt:before{content:"\e342"}.fa-calendar-week:before{content:"\f784"}.fa-flying-disc:before{content:"\e3a9"}.fa-laptop-medical:before{content:"\f812"}.fa-square-down-right:before{content:"\e26c"}.fa-b:before{content:"\42"}.fa-seat-airline:before{content:"\e244"}.fa-eclipse-alt:before,.fa-moon-over-sun:before{content:"\f74a"}.fa-pipe:before{content:"\7c"}.fa-file-medical:before{content:"\f477"}.fa-potato:before{content:"\e440"}.fa-dice-one:before{content:"\f525"}.fa-circle-a:before{content:"\e0f7"}.fa-helmet-battle:before{content:"\f6eb"}.fa-butter:before{content:"\e3e4"}.fa-blanket-fire:before{content:"\e3da"}.fa-kiwi-bird:before{content:"\f535"}.fa-castle:before{content:"\e0de"}.fa-golf-club:before{content:"\f451"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:"\f0ec"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:"\f2f9"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:"\f161"}.fa-chart-pie-simple-circle-dollar:before{content:"\e605"}.fa-balloons:before{content:"\e2e4"}.fa-mill-sign:before{content:"\e1ed"}.fa-bowl-rice:before{content:"\e2eb"}.fa-timeline-arrow:before{content:"\e29d"}.fa-skull:before{content:"\f54c"}.fa-game-board-alt:before,.fa-game-board-simple:before{content:"\f868"}.fa-circle-video:before,.fa-video-circle:before{content:"\e12b"}.fa-chart-scatter-bubble:before{content:"\e0e9"}.fa-house-turret:before{content:"\e1b4"}.fa-banana:before{content:"\e2e5"}.fa-hand-holding-skull:before{content:"\e1a4"}.fa-people-dress:before{content:"\e217"}.fa-couch-small:before,.fa-loveseat:before{content:"\f4cc"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:"\f519"}.fa-truck-pickup:before{content:"\f63c"}.fa-block-quote:before{content:"\e0b5"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:"\f30c"}.fa-stop:before{content:"\f04d"}.fa-code-merge:before{content:"\f387"}.fa-money-check-dollar-pen:before,.fa-money-check-edit-alt:before{content:"\f873"}.fa-arrow-alt-from-bottom:before,.fa-up-from-line:before{content:"\f346"}.fa-upload:before{content:"\f093"}.fa-hurricane:before{content:"\f751"}.fa-grid-round-2-plus:before{content:"\e5dc"}.fa-people-pants:before{content:"\e219"}.fa-mound:before{content:"\e52d"}.fa-windsock:before{content:"\f777"}.fa-circle-half:before{content:"\e110"}.fa-brake-warning:before{content:"\e0c7"}.fa-toilet-portable:before{content:"\e583"}.fa-compact-disc:before{content:"\f51f"}.fa-file-arrow-down:before,.fa-file-download:before{content:"\f56d"}.fa-sax-hot:before,.fa-saxophone-fire:before{content:"\f8db"}.fa-camera-web-slash:before,.fa-webcam-slash:before{content:"\f833"}.fa-folder-medical:before{content:"\e18c"}.fa-folder-cog:before,.fa-folder-gear:before{content:"\e187"}.fa-hand-wave:before{content:"\e1a7"}.fa-arrow-up-arrow-down:before,.fa-sort-up-down:before{content:"\e099"}.fa-caravan:before{content:"\f8ff"}.fa-shield-cat:before{content:"\e572"}.fa-comment-alt-slash:before,.fa-message-slash:before{content:"\f4a9"}.fa-bolt:before,.fa-zap:before{content:"\f0e7"}.fa-trash-can-check:before{content:"\e2a9"}.fa-glass-water:before{content:"\e4f4"}.fa-oil-well:before{content:"\e532"}.fa-person-simple:before{content:"\e220"}.fa-arrow-turn-left-up:before{content:"\e634"}.fa-vault:before{content:"\e2c5"}.fa-mars:before{content:"\f222"}.fa-toilet:before{content:"\f7d8"}.fa-plane-circle-xmark:before{content:"\e557"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:"\f157"}.fa-gear-code:before{content:"\e5e8"}.fa-notes:before{content:"\e202"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:"\f158"}.fa-trash-arrow-turn-left:before,.fa-trash-undo:before{content:"\f895"}.fa-champagne-glass:before,.fa-glass-champagne:before{content:"\f79e"}.fa-objects-align-center-horizontal:before{content:"\e3bc"}.fa-sun:before{content:"\f185"}.fa-trash-alt-slash:before,.fa-trash-can-slash:before{content:"\e2ad"}.fa-screen-users:before,.fa-users-class:before{content:"\f63d"}.fa-guitar:before{content:"\f7a6"}.fa-arrow-square-left:before,.fa-square-arrow-left:before{content:"\f33a"}.fa-square-8:before{content:"\e25d"}.fa-face-smile-hearts:before{content:"\e390"}.fa-brackets-square:before,.fa-brackets:before{content:"\f7e9"}.fa-laptop-arrow-down:before{content:"\e1c6"}.fa-hockey-stick-puck:before{content:"\e3ae"}.fa-house-tree:before{content:"\e1b3"}.fa-signal-2:before,.fa-signal-fair:before{content:"\f68d"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:"\f59c"}.fa-circle-dollar:before,.fa-dollar-circle:before,.fa-usd-circle:before{content:"\f2e8"}.fa-horse-head:before{content:"\f7ab"}.fa-arrows-repeat:before,.fa-repeat-alt:before{content:"\f364"}.fa-bore-hole:before{content:"\e4c3"}.fa-industry:before{content:"\f275"}.fa-image-polaroid:before{content:"\f8c4"}.fa-wave-triangle:before{content:"\f89a"}.fa-turn-left-down:before{content:"\e637"}.fa-person-running-fast:before{content:"\e5ff"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:"\f358"}.fa-grill:before{content:"\e5a3"}.fa-arrows-turn-to-dots:before{content:"\e4c1"}.fa-analytics:before,.fa-chart-mixed:before{content:"\f643"}.fa-florin-sign:before{content:"\e184"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:"\f884"}.fa-less-than:before{content:"\3c"}.fa-desktop-code:before,.fa-display-code:before{content:"\e165"}.fa-face-drooling:before{content:"\e372"}.fa-oil-temp:before,.fa-oil-temperature:before{content:"\f614"}.fa-question-square:before,.fa-square-question:before{content:"\f2fd"}.fa-air-conditioner:before{content:"\f8f4"}.fa-angle-down:before{content:"\f107"}.fa-mountains:before{content:"\f6fd"}.fa-omega:before{content:"\f67a"}.fa-car-tunnel:before{content:"\e4de"}.fa-person-dolly-empty:before{content:"\f4d1"}.fa-pan-food:before{content:"\e42b"}.fa-head-side-cough:before{content:"\e061"}.fa-grip-lines:before{content:"\f7a4"}.fa-thumbs-down:before{content:"\f165"}.fa-user-lock:before{content:"\f502"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:"\f178"}.fa-tickets-airline:before,.fa-tickets-perforated-plane:before,.fa-tickets-plane:before{content:"\e29b"}.fa-tent-double-peak:before{content:"\e627"}.fa-anchor-circle-xmark:before{content:"\e4ac"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:"\f141"}.fa-nfc-slash:before{content:"\e1fc"}.fa-chess-pawn:before{content:"\f443"}.fa-first-aid:before,.fa-kit-medical:before{content:"\f479"}.fa-grid-2-plus:before{content:"\e197"}.fa-bells:before{content:"\f77f"}.fa-person-through-window:before{content:"\e5a9"}.fa-toolbox:before{content:"\f552"}.fa-envelope-badge:before,.fa-envelope-dot:before{content:"\e16f"}.fa-magnifying-glass-waveform:before{content:"\e661"}.fa-hands-holding-circle:before{content:"\e4fb"}.fa-bug:before{content:"\f188"}.fa-bowl-chopsticks:before{content:"\e2e9"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-circle-s:before{content:"\e121"}.fa-box-ballot:before{content:"\f735"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-hand-holding-hand:before{content:"\e4f7"}.fa-user-tie-hair:before{content:"\e45f"}.fa-podium-star:before{content:"\f758"}.fa-business-front:before,.fa-party-back:before,.fa-trian-balbot:before,.fa-user-hair-mullet:before{content:"\e45c"}.fa-microphone-stand:before{content:"\f8cb"}.fa-book-open-reader:before,.fa-book-reader:before{content:"\f5da"}.fa-family-dress:before{content:"\e301"}.fa-circle-x:before{content:"\e12e"}.fa-cabin:before{content:"\e46d"}.fa-mountain-sun:before{content:"\e52f"}.fa-chart-simple-horizontal:before{content:"\e474"}.fa-arrows-left-right-to-line:before{content:"\e4ba"}.fa-hand-back-point-left:before{content:"\e19f"}.fa-comment-alt-dots:before,.fa-message-dots:before,.fa-messaging:before{content:"\f4a3"}.fa-file-heart:before{content:"\e176"}.fa-beer-foam:before,.fa-beer-mug:before{content:"\e0b3"}.fa-dice-d20:before{content:"\f6cf"}.fa-drone:before{content:"\f85f"}.fa-truck-droplet:before{content:"\e58c"}.fa-file-circle-xmark:before{content:"\e5a1"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:"\e040"}.fa-medal:before{content:"\f5a2"}.fa-person-fairy:before{content:"\e608"}.fa-bed:before{content:"\f236"}.fa-book-copy:before{content:"\e0be"}.fa-h-square:before,.fa-square-h:before{content:"\f0fd"}.fa-square-c:before{content:"\e266"}.fa-clock-two:before{content:"\e35a"}.fa-square-ellipsis-vertical:before{content:"\e26f"}.fa-calendar-users:before{content:"\e5e2"}.fa-podcast:before{content:"\f2ce"}.fa-bee:before{content:"\e0b2"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-bell:before{content:"\f0f3"}.fa-candy-bar:before,.fa-chocolate-bar:before{content:"\e3e8"}.fa-xmark-large:before{content:"\e59b"}.fa-pinata:before{content:"\e3c3"}.fa-file-ppt:before{content:"\e64a"}.fa-arrows-from-line:before{content:"\e0a4"}.fa-superscript:before{content:"\f12b"}.fa-bowl-spoon:before{content:"\e3e0"}.fa-hexagon-check:before{content:"\e416"}.fa-plug-circle-xmark:before{content:"\e560"}.fa-star-of-life:before{content:"\f621"}.fa-phone-slash:before{content:"\f3dd"}.fa-traffic-light-stop:before{content:"\f63a"}.fa-paint-roller:before{content:"\f5aa"}.fa-accent-grave:before{content:"\60"}.fa-hands-helping:before,.fa-handshake-angle:before{content:"\f4c4"}.fa-circle-0:before{content:"\e0ed"}.fa-dial-med-low:before{content:"\e160"}.fa-location-dot:before,.fa-map-marker-alt:before{content:"\f3c5"}.fa-crab:before{content:"\e3ff"}.fa-box-full:before,.fa-box-open-full:before{content:"\f49c"}.fa-file:before{content:"\f15b"}.fa-greater-than:before{content:"\3e"}.fa-quotes:before{content:"\e234"}.fa-pretzel:before{content:"\e441"}.fa-t-rex:before{content:"\e629"}.fa-person-swimming:before,.fa-swimmer:before{content:"\f5c4"}.fa-arrow-down:before{content:"\f063"}.fa-user-robot-xmarks:before{content:"\e4a7"}.fa-comment-alt-quote:before,.fa-message-quote:before{content:"\e1e4"}.fa-candy-corn:before{content:"\f6bd"}.fa-folder-magnifying-glass:before,.fa-folder-search:before{content:"\e18b"}.fa-notebook:before{content:"\e201"}.fa-circle-wifi:before{content:"\e67d"}.fa-droplet:before,.fa-tint:before{content:"\f043"}.fa-bullseye-pointer:before{content:"\f649"}.fa-eraser:before{content:"\f12d"}.fa-hexagon-image:before{content:"\e504"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:"\f57d"}.fa-file-svg:before{content:"\e64b"}.fa-crate-apple:before{content:"\f6b1"}.fa-apple-crate:before{content:"\f6b1"}.fa-person-burst:before{content:"\e53b"}.fa-game-board:before{content:"\f867"}.fa-hat-chef:before{content:"\f86b"}.fa-hand-back-point-right:before{content:"\e1a1"}.fa-dove:before{content:"\f4ba"}.fa-snowflake-droplets:before{content:"\e5c1"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-grid-4:before{content:"\e198"}.fa-socks:before{content:"\f696"}.fa-face-sunglasses:before{content:"\e398"}.fa-inbox:before{content:"\f01c"}.fa-square-0:before{content:"\e255"}.fa-section:before{content:"\e447"}.fa-box-up:before,.fa-square-this-way-up:before{content:"\f49f"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:"\f625"}.fa-square-ampersand:before{content:"\e260"}.fa-envelope-open-text:before{content:"\f658"}.fa-lamp-desk:before{content:"\e014"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:"\f0f8"}.fa-poll-people:before{content:"\f759"}.fa-glass-whiskey-rocks:before,.fa-whiskey-glass-ice:before{content:"\f7a1"}.fa-wine-bottle:before{content:"\f72f"}.fa-chess-rook:before{content:"\f447"}.fa-user-bounty-hunter:before{content:"\e2bf"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:"\f550"}.fa-diagram-sankey:before{content:"\e158"}.fa-cloud-hail-mixed:before{content:"\f73a"}.fa-circle-up-left:before{content:"\e128"}.fa-dharmachakra:before{content:"\f655"}.fa-objects-align-left:before{content:"\e3be"}.fa-oil-can-drip:before{content:"\e205"}.fa-face-smiling-hands:before{content:"\e396"}.fa-broccoli:before{content:"\e3e2"}.fa-route-interstate:before{content:"\f61b"}.fa-ear-muffs:before{content:"\f795"}.fa-hotdog:before{content:"\f80f"}.fa-transporter-empty:before{content:"\e046"}.fa-blind:before,.fa-person-walking-with-cane:before{content:"\f29d"}.fa-angle-90:before{content:"\e08d"}.fa-rectangle-terminal:before{content:"\e236"}.fa-kite:before{content:"\f6f4"}.fa-drum:before{content:"\f569"}.fa-scrubber:before{content:"\f2f8"}.fa-ice-cream:before{content:"\f810"}.fa-heart-circle-bolt:before{content:"\e4fc"}.fa-fish-bones:before{content:"\e304"}.fa-deer-rudolph:before{content:"\f78f"}.fa-fax:before{content:"\f1ac"}.fa-paragraph:before{content:"\f1dd"}.fa-head-side-heart:before{content:"\e1aa"}.fa-square-e:before{content:"\e26d"}.fa-meter-fire:before{content:"\e1eb"}.fa-cloud-hail:before{content:"\f739"}.fa-check-to-slot:before,.fa-vote-yea:before{content:"\f772"}.fa-money-from-bracket:before{content:"\e312"}.fa-star-half:before{content:"\f089"}.fa-car-bus:before{content:"\f85a"}.fa-speaker:before{content:"\f8df"}.fa-timer:before{content:"\e29e"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:"\f468"}.fa-landmark-magnifying-glass:before{content:"\e622"}.fa-grill-hot:before{content:"\e5a5"}.fa-ballot-check:before{content:"\f733"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:"\f2a2"}.fa-file-minus:before{content:"\f318"}.fa-tree-city:before{content:"\e587"}.fa-play:before{content:"\f04b"}.fa-font:before{content:"\f031"}.fa-coffee-togo:before,.fa-cup-togo:before{content:"\f6c5"}.fa-square-down-left:before{content:"\e26b"}.fa-burger-lettuce:before{content:"\e3e3"}.fa-table-cells-row-lock:before{content:"\e67a"}.fa-rupiah-sign:before{content:"\e23d"}.fa-magnifying-glass:before,.fa-search:before{content:"\f002"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:"\f45d"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:"\f470"}.fa-chevron-double-down:before,.fa-chevrons-down:before{content:"\f322"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:"\f82a"}.fa-signal-3:before,.fa-signal-good:before{content:"\f68e"}.fa-location-question:before,.fa-map-marker-question:before{content:"\f60b"}.fa-floppy-disk-circle-xmark:before,.fa-floppy-disk-times:before,.fa-save-circle-xmark:before,.fa-save-times:before{content:"\e181"}.fa-naira-sign:before{content:"\e1f6"}.fa-peach:before{content:"\e20b"}.fa-taxi-bus:before{content:"\e298"}.fa-bracket-curly-left:before,.fa-bracket-curly:before{content:"\7b"}.fa-lobster:before{content:"\e421"}.fa-cart-flatbed-empty:before,.fa-dolly-flatbed-empty:before{content:"\f476"}.fa-colon:before{content:"\3a"}.fa-cart-arrow-down:before{content:"\f218"}.fa-wand:before{content:"\f72a"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-file-edit:before,.fa-file-pen:before{content:"\f31c"}.fa-receipt:before{content:"\f543"}.fa-table-picnic:before{content:"\e32d"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:"\f14b"}.fa-circle-microphone-lines:before,.fa-microphone-circle-alt:before{content:"\e117"}.fa-desktop-slash:before,.fa-display-slash:before{content:"\e2fa"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-person-circle-exclamation:before{content:"\e53f"}.fa-transporter-2:before{content:"\e044"}.fa-hand-receiving:before,.fa-hands-holding-diamond:before{content:"\f47c"}.fa-money-bill-simple-wave:before{content:"\e1f2"}.fa-chevron-down:before{content:"\f078"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-bell-plus:before{content:"\f849"}.fa-book-arrow-right:before{content:"\e0b9"}.fa-hospitals:before{content:"\f80e"}.fa-club:before{content:"\f327"}.fa-skull-crossbones:before{content:"\f714"}.fa-dewpoint:before,.fa-droplet-degree:before{content:"\f748"}.fa-code-compare:before{content:"\e13a"}.fa-list-dots:before,.fa-list-ul:before{content:"\f0ca"}.fa-hand-holding-magic:before{content:"\f6e5"}.fa-watermelon-slice:before{content:"\e337"}.fa-circle-ellipsis:before{content:"\e10a"}.fa-school-lock:before{content:"\e56f"}.fa-tower-cell:before{content:"\e585"}.fa-sd-cards:before{content:"\e240"}.fa-jug-bottle:before{content:"\e5fb"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:"\f309"}.fa-envelopes:before{content:"\e170"}.fa-phone-office:before{content:"\f67d"}.fa-ranking-star:before{content:"\e561"}.fa-chess-king:before{content:"\f43f"}.fa-nfc-pen:before{content:"\e1fa"}.fa-person-harassing:before{content:"\e549"}.fa-magnifying-glass-play:before{content:"\e660"}.fa-hat-winter:before{content:"\f7a8"}.fa-brazilian-real-sign:before{content:"\e46c"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:"\f752"}.fa-bone-break:before{content:"\f5d8"}.fa-arrow-up:before{content:"\f062"}.fa-down-from-dotted-line:before{content:"\e407"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:"\f26c"}.fa-border-left:before{content:"\f84f"}.fa-circle-divide:before{content:"\e106"}.fa-shrimp:before{content:"\e448"}.fa-list-check:before,.fa-tasks:before{content:"\f0ae"}.fa-diagram-subtask:before{content:"\e479"}.fa-jug-detergent:before{content:"\e519"}.fa-circle-user:before,.fa-user-circle:before{content:"\f2bd"}.fa-square-y:before{content:"\e287"}.fa-user-doctor-hair:before{content:"\e458"}.fa-planet-ringed:before{content:"\e020"}.fa-mushroom:before{content:"\e425"}.fa-user-shield:before{content:"\f505"}.fa-megaphone:before{content:"\f675"}.fa-wreath-laurel:before{content:"\e5d2"}.fa-circle-exclamation-check:before{content:"\e10d"}.fa-wind:before{content:"\f72e"}.fa-box-dollar:before,.fa-box-usd:before{content:"\f4a0"}.fa-car-burst:before,.fa-car-crash:before{content:"\f5e1"}.fa-y:before{content:"\59"}.fa-user-headset:before{content:"\f82d"}.fa-arrows-retweet:before,.fa-retweet-alt:before{content:"\f361"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:"\f7ce"}.fa-chevron-square-right:before,.fa-square-chevron-right:before{content:"\f32b"}.fa-lacrosse-stick-ball:before{content:"\e3b6"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-user-magnifying-glass:before{content:"\e5c5"}.fa-star-sharp:before{content:"\e28b"}.fa-comment-heart:before{content:"\e5c8"}.fa-circle-1:before{content:"\e0ee"}.fa-circle-star:before,.fa-star-circle:before{content:"\e123"}.fa-fish:before{content:"\f578"}.fa-cloud-fog:before,.fa-fog:before{content:"\f74e"}.fa-waffle:before{content:"\e466"}.fa-music-alt:before,.fa-music-note:before{content:"\f8cf"}.fa-hexagon-exclamation:before{content:"\e417"}.fa-cart-shopping-fast:before{content:"\e0dc"}.fa-object-union:before{content:"\e49f"}.fa-user-graduate:before{content:"\f501"}.fa-starfighter:before{content:"\e037"}.fa-adjust:before,.fa-circle-half-stroke:before{content:"\f042"}.fa-arrow-right-long-to-line:before{content:"\e3d5"}.fa-arrow-square-down:before,.fa-square-arrow-down:before{content:"\f339"}.fa-diamond-half-stroke:before{content:"\e5b8"}.fa-clapperboard:before{content:"\e131"}.fa-chevron-square-left:before,.fa-square-chevron-left:before{content:"\f32a"}.fa-phone-intercom:before{content:"\e434"}.fa-chain-horizontal:before,.fa-link-horizontal:before{content:"\e1cb"}.fa-mango:before{content:"\e30f"}.fa-music-alt-slash:before,.fa-music-note-slash:before{content:"\f8d0"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:"\f7ba"}.fa-face-tongue-sweat:before{content:"\e39e"}.fa-globe-stand:before{content:"\f5f6"}.fa-baseball-ball:before,.fa-baseball:before{content:"\f433"}.fa-circle-p:before{content:"\e11a"}.fa-award-simple:before{content:"\e0ab"}.fa-jet-fighter-up:before{content:"\e518"}.fa-diagram-project:before,.fa-project-diagram:before{content:"\f542"}.fa-pedestal:before{content:"\e20d"}.fa-chart-pyramid:before{content:"\e0e6"}.fa-sidebar:before{content:"\e24e"}.fa-frosty-head:before,.fa-snowman-head:before{content:"\f79b"}.fa-copy:before{content:"\f0c5"}.fa-burger-glass:before{content:"\e0ce"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:"\f6a9"}.fa-hand-sparkles:before{content:"\e05d"}.fa-bars-filter:before{content:"\e0ad"}.fa-paintbrush-pencil:before{content:"\e206"}.fa-party-bell:before{content:"\e31a"}.fa-user-vneck-hair:before{content:"\e462"}.fa-jack-o-lantern:before{content:"\f30e"}.fa-grip-horizontal:before,.fa-grip:before{content:"\f58d"}.fa-share-from-square:before,.fa-share-square:before{content:"\f14d"}.fa-keynote:before{content:"\f66c"}.fa-child-combatant:before,.fa-child-rifle:before{content:"\e4e0"}.fa-gun:before{content:"\e19b"}.fa-phone-square:before,.fa-square-phone:before{content:"\f098"}.fa-hat-beach:before{content:"\e606"}.fa-add:before,.fa-plus:before{content:"\2b"}.fa-expand:before{content:"\f065"}.fa-computer:before{content:"\e4e5"}.fa-fort:before{content:"\e486"}.fa-cloud-check:before{content:"\e35c"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:"\f00d"}.fa-face-smirking:before{content:"\e397"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:"\f047"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:"\f51c"}.fa-rhombus:before{content:"\e23b"}.fa-claw-marks:before{content:"\f6c2"}.fa-peso-sign:before{content:"\e222"}.fa-face-smile-tongue:before{content:"\e394"}.fa-cart-circle-xmark:before{content:"\e3f4"}.fa-building-shield:before{content:"\e4d8"}.fa-circle-phone-flip:before,.fa-phone-circle-alt:before{content:"\e11c"}.fa-baby:before{content:"\f77c"}.fa-users-line:before{content:"\e592"}.fa-quote-left-alt:before,.fa-quote-left:before{content:"\f10d"}.fa-tractor:before{content:"\f722"}.fa-down-from-bracket:before{content:"\e66b"}.fa-key-skeleton:before{content:"\f6f3"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:"\f829"}.fa-arrow-down-up-lock:before{content:"\e4b0"}.fa-arrow-down-to-bracket:before{content:"\e094"}.fa-lines-leaning:before{content:"\e51e"}.fa-square-q:before{content:"\e27b"}.fa-ruler-combined:before{content:"\f546"}.fa-icons-alt:before,.fa-symbols:before{content:"\f86e"}.fa-copyright:before{content:"\f1f9"}.fa-flask-gear:before{content:"\e5f1"}.fa-highlighter-line:before{content:"\e1af"}.fa-bracket-left:before,.fa-bracket-square:before,.fa-bracket:before{content:"\5b"}.fa-island-tree-palm:before,.fa-island-tropical:before{content:"\f811"}.fa-arrow-from-left:before,.fa-arrow-right-from-line:before{content:"\f343"}.fa-h2:before{content:"\f314"}.fa-equals:before{content:"\3d"}.fa-cake-slice:before,.fa-shortcake:before{content:"\e3e5"}.fa-building-magnifying-glass:before{content:"\e61c"}.fa-peanut:before{content:"\e430"}.fa-wrench-simple:before{content:"\e2d1"}.fa-blender:before{content:"\f517"}.fa-teeth:before{content:"\f62e"}.fa-tally-2:before{content:"\e295"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:"\f20b"}.fa-cars:before{content:"\f85b"}.fa-axe-battle:before{content:"\f6b3"}.fa-user-hair-long:before{content:"\e45b"}.fa-map:before{content:"\f279"}.fa-arrow-left-from-arc:before{content:"\e615"}.fa-file-circle-info:before{content:"\e493"}.fa-face-disappointed:before{content:"\e36f"}.fa-lasso-sparkles:before{content:"\e1c9"}.fa-clock-eleven:before{content:"\e347"}.fa-rocket:before{content:"\f135"}.fa-siren-on:before{content:"\e02e"}.fa-clock-ten:before{content:"\e354"}.fa-candle-holder:before{content:"\f6bc"}.fa-video-arrow-down-left:before{content:"\e2c8"}.fa-photo-film:before,.fa-photo-video:before{content:"\f87c"}.fa-floppy-disk-circle-arrow-right:before,.fa-save-circle-arrow-right:before{content:"\e180"}.fa-folder-minus:before{content:"\f65d"}.fa-planet-moon:before{content:"\e01f"}.fa-face-eyes-xmarks:before{content:"\e374"}.fa-chart-scatter:before{content:"\f7ee"}.fa-circle-gf:before{content:"\e67f"}.fa-display-arrow-down:before{content:"\e164"}.fa-store:before{content:"\f54e"}.fa-arrow-trend-up:before{content:"\e098"}.fa-plug-circle-minus:before{content:"\e55e"}.fa-olive-branch:before{content:"\e317"}.fa-angle:before{content:"\e08c"}.fa-vacuum-robot:before{content:"\e04e"}.fa-sign-hanging:before,.fa-sign:before{content:"\f4d9"}.fa-square-divide:before{content:"\e26a"}.fa-folder-check:before{content:"\e64e"}.fa-signal-stream-slash:before{content:"\e250"}.fa-bezier-curve:before{content:"\f55b"}.fa-eye-dropper-half:before{content:"\e173"}.fa-store-lock:before{content:"\e4a6"}.fa-bell-slash:before{content:"\f1f6"}.fa-cloud-bolt-sun:before,.fa-thunderstorm-sun:before{content:"\f76e"}.fa-camera-slash:before{content:"\e0d9"}.fa-comment-quote:before{content:"\e14c"}.fa-tablet-android:before,.fa-tablet:before{content:"\f3fb"}.fa-school-flag:before{content:"\e56e"}.fa-message-code:before{content:"\e1df"}.fa-glass-half-empty:before,.fa-glass-half-full:before,.fa-glass-half:before{content:"\e192"}.fa-fill:before{content:"\f575"}.fa-comment-alt-minus:before,.fa-message-minus:before{content:"\f4a7"}.fa-angle-up:before{content:"\f106"}.fa-dinosaur:before{content:"\e5fe"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-chain-horizontal-slash:before,.fa-link-horizontal-slash:before{content:"\e1cc"}.fa-holly-berry:before{content:"\f7aa"}.fa-nose:before{content:"\e5bd"}.fa-arrow-left-to-arc:before{content:"\e616"}.fa-chevron-left:before{content:"\f053"}.fa-bacteria:before{content:"\e059"}.fa-clouds:before{content:"\f744"}.fa-money-bill-simple:before{content:"\e1f1"}.fa-hand-lizard:before{content:"\f258"}.fa-table-pivot:before{content:"\e291"}.fa-filter-slash:before{content:"\e17d"}.fa-trash-can-arrow-turn-left:before,.fa-trash-can-undo:before,.fa-trash-undo-alt:before{content:"\f896"}.fa-notdef:before{content:"\e1fe"}.fa-disease:before{content:"\f7fa"}.fa-person-to-door:before{content:"\e433"}.fa-turntable:before{content:"\f8e4"}.fa-briefcase-medical:before{content:"\f469"}.fa-genderless:before{content:"\f22d"}.fa-chevron-right:before{content:"\f054"}.fa-signal-1:before,.fa-signal-weak:before{content:"\f68c"}.fa-clock-five:before{content:"\e349"}.fa-retweet:before{content:"\f079"}.fa-car-alt:before,.fa-car-rear:before{content:"\f5de"}.fa-pump-soap:before{content:"\e06b"}.fa-computer-classic:before{content:"\f8b1"}.fa-frame:before{content:"\e495"}.fa-video-slash:before{content:"\f4e2"}.fa-battery-2:before,.fa-battery-quarter:before{content:"\f243"}.fa-ellipsis-h-alt:before,.fa-ellipsis-stroke:before{content:"\f39b"}.fa-radio:before{content:"\f8d7"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:"\f77d"}.fa-face-expressionless:before{content:"\e373"}.fa-down-to-dotted-line:before{content:"\e408"}.fa-cloud-music:before{content:"\f8ae"}.fa-traffic-light:before{content:"\f637"}.fa-cloud-minus:before{content:"\e35d"}.fa-thermometer:before{content:"\f491"}.fa-shield-minus:before{content:"\e249"}.fa-vr-cardboard:before{content:"\f729"}.fa-car-tilt:before{content:"\f5e5"}.fa-gauge-circle-minus:before{content:"\e497"}.fa-brightness-low:before{content:"\e0ca"}.fa-hand-middle-finger:before{content:"\f806"}.fa-percent:before,.fa-percentage:before{content:"\25"}.fa-truck-moving:before{content:"\f4df"}.fa-glass-water-droplet:before{content:"\e4f5"}.fa-conveyor-belt:before{content:"\f46e"}.fa-location-check:before,.fa-map-marker-check:before{content:"\f606"}.fa-coin-vertical:before{content:"\e3fd"}.fa-display:before{content:"\e163"}.fa-person-sign:before{content:"\f757"}.fa-face-smile:before,.fa-smile:before{content:"\f118"}.fa-phone-hangup:before{content:"\e225"}.fa-signature-slash:before{content:"\e3cb"}.fa-thumb-tack:before,.fa-thumbtack:before{content:"\f08d"}.fa-wheat-slash:before{content:"\e339"}.fa-trophy:before{content:"\f091"}.fa-clouds-sun:before{content:"\f746"}.fa-person-praying:before,.fa-pray:before{content:"\f683"}.fa-hammer:before{content:"\f6e3"}.fa-face-vomit:before{content:"\e3a0"}.fa-speakers:before{content:"\f8e0"}.fa-teletype-answer:before,.fa-tty-answer:before{content:"\e2b9"}.fa-mug-tea-saucer:before{content:"\e1f5"}.fa-diagram-lean-canvas:before{content:"\e156"}.fa-alt:before{content:"\e08a"}.fa-dial-med-high:before,.fa-dial:before{content:"\e15b"}.fa-hand-peace:before{content:"\f25b"}.fa-circle-trash:before,.fa-trash-circle:before{content:"\e126"}.fa-rotate:before,.fa-sync-alt:before{content:"\f2f1"}.fa-circle-quarters:before{content:"\e3f8"}.fa-spinner:before{content:"\f110"}.fa-tower-control:before{content:"\e2a2"}.fa-arrow-up-triangle-square:before,.fa-sort-shapes-up:before{content:"\f88a"}.fa-whale:before{content:"\f72c"}.fa-robot:before{content:"\f544"}.fa-peace:before{content:"\f67c"}.fa-party-horn:before{content:"\e31b"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-sun-alt:before,.fa-sun-bright:before{content:"\e28f"}.fa-warehouse:before{content:"\f494"}.fa-conveyor-belt-arm:before{content:"\e5f8"}.fa-lock-keyhole-open:before,.fa-lock-open-alt:before{content:"\f3c2"}.fa-box-fragile:before,.fa-square-fragile:before,.fa-square-wine-glass-crack:before{content:"\f49b"}.fa-arrow-up-right-dots:before{content:"\e4b7"}.fa-square-n:before{content:"\e277"}.fa-splotch:before{content:"\f5bc"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:"\f584"}.fa-meter:before{content:"\e1e8"}.fa-mandolin:before{content:"\f6f9"}.fa-dice-four:before{content:"\f524"}.fa-sim-card:before{content:"\f7c4"}.fa-transgender-alt:before,.fa-transgender:before{content:"\f225"}.fa-mercury:before{content:"\f223"}.fa-up-from-bracket:before{content:"\e590"}.fa-knife-kitchen:before{content:"\f6f5"}.fa-border-right:before{content:"\f852"}.fa-arrow-turn-down:before,.fa-level-down:before{content:"\f149"}.fa-spade:before{content:"\f2f4"}.fa-card-spade:before{content:"\e3ec"}.fa-line-columns:before{content:"\f870"}.fa-ant:before{content:"\e680"}.fa-arrow-right-to-line:before,.fa-arrow-to-right:before{content:"\f340"}.fa-person-falling-burst:before{content:"\e547"}.fa-flag-pennant:before,.fa-pennant:before{content:"\f456"}.fa-conveyor-belt-empty:before{content:"\e150"}.fa-user-group-simple:before{content:"\e603"}.fa-award:before{content:"\f559"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:"\f3ff"}.fa-building:before{content:"\f1ad"}.fa-angle-double-left:before,.fa-angles-left:before{content:"\f100"}.fa-camcorder:before,.fa-video-handheld:before{content:"\f8a8"}.fa-pancakes:before{content:"\e42d"}.fa-album-circle-user:before{content:"\e48d"}.fa-subtitles-slash:before{content:"\e610"}.fa-qrcode:before{content:"\f029"}.fa-dice-d10:before{content:"\f6cd"}.fa-fireplace:before{content:"\f79a"}.fa-browser:before{content:"\f37e"}.fa-pen-paintbrush:before,.fa-pencil-paintbrush:before{content:"\f618"}.fa-fish-cooked:before{content:"\f7fe"}.fa-chair-office:before{content:"\f6c1"}.fa-magnifying-glass-music:before{content:"\e65f"}.fa-nesting-dolls:before{content:"\e3ba"}.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}.fa-trumpet:before{content:"\f8e3"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:"\f583"}.fa-fire-smoke:before{content:"\f74b"}.fa-phone-missed:before{content:"\e226"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:"\f56e"}.fa-shield-blank:before,.fa-shield:before{content:"\f132"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:"\f885"}.fa-arrows-repeat-1:before,.fa-repeat-1-alt:before{content:"\f366"}.fa-gun-slash:before{content:"\e19c"}.fa-avocado:before{content:"\e0aa"}.fa-binary:before{content:"\e33b"}.fa-glasses-alt:before,.fa-glasses-round:before{content:"\f5f5"}.fa-phone-plus:before{content:"\f4d2"}.fa-ditto:before{content:"\22"}.fa-person-seat:before{content:"\e21e"}.fa-house-medical:before{content:"\e3b2"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:"\f450"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:"\f137"}.fa-house-chimney-window:before{content:"\e00d"}.fa-scythe:before{content:"\f710"}.fa-pen-nib:before{content:"\f5ad"}.fa-ban-parking:before,.fa-parking-circle-slash:before{content:"\f616"}.fa-tent-arrow-turn-left:before{content:"\e580"}.fa-face-diagonal-mouth:before{content:"\e47e"}.fa-diagram-cells:before{content:"\e475"}.fa-cricket-bat-ball:before,.fa-cricket:before{content:"\f449"}.fa-tents:before{content:"\e582"}.fa-magic:before,.fa-wand-magic:before{content:"\f0d0"}.fa-dog:before{content:"\f6d3"}.fa-pen-line:before{content:"\e212"}.fa-atom-alt:before,.fa-atom-simple:before{content:"\f5d3"}.fa-ampersand:before{content:"\26"}.fa-carrot:before{content:"\f787"}.fa-arrow-from-bottom:before,.fa-arrow-up-from-line:before{content:"\f342"}.fa-moon:before{content:"\f186"}.fa-pen-slash:before{content:"\e213"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:"\f5ce"}.fa-square-star:before{content:"\e27f"}.fa-cheese:before{content:"\f7ef"}.fa-send-backward:before{content:"\f87f"}.fa-yin-yang:before{content:"\f6ad"}.fa-music:before{content:"\f001"}.fa-compass-slash:before{content:"\f5e9"}.fa-clock-one:before{content:"\e34e"}.fa-file-music:before{content:"\f8b6"}.fa-code-commit:before{content:"\f386"}.fa-temperature-low:before{content:"\f76b"}.fa-biking:before,.fa-person-biking:before{content:"\f84a"}.fa-display-chart-up-circle-currency:before{content:"\e5e5"}.fa-skeleton:before{content:"\f620"}.fa-circle-g:before{content:"\e10f"}.fa-circle-arrow-up-left:before{content:"\e0fb"}.fa-coin-blank:before{content:"\e3fb"}.fa-broom:before{content:"\f51a"}.fa-vacuum:before{content:"\e04d"}.fa-shield-heart:before{content:"\e574"}.fa-card-heart:before{content:"\e3eb"}.fa-lightbulb-cfl-on:before{content:"\e5a7"}.fa-melon:before{content:"\e310"}.fa-gopuram:before{content:"\f664"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:"\e47b"}.fa-container-storage:before{content:"\f4b7"}.fa-face-pouting:before{content:"\e387"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:"\f2d3"}.fa-exploding-head:before,.fa-face-explode:before{content:"\e2fe"}.fa-hashtag:before{content:"\23"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:"\f424"}.fa-oil-can:before{content:"\f613"}.fa-t:before{content:"\54"}.fa-transformer-bolt:before{content:"\e2a4"}.fa-hippo:before{content:"\f6ed"}.fa-chart-column:before{content:"\e0e3"}.fa-cassette-vhs:before,.fa-vhs:before{content:"\f8ec"}.fa-infinity:before{content:"\f534"}.fa-vial-circle-check:before{content:"\e596"}.fa-chimney:before{content:"\f78b"}.fa-object-intersect:before{content:"\e49d"}.fa-person-arrow-down-to-line:before{content:"\e538"}.fa-voicemail:before{content:"\f897"}.fa-block-brick:before,.fa-wall-brick:before{content:"\e3db"}.fa-fan:before{content:"\f863"}.fa-bags-shopping:before{content:"\f847"}.fa-paragraph-left:before,.fa-paragraph-rtl:before{content:"\f878"}.fa-person-walking-luggage:before{content:"\e554"}.fa-caravan-alt:before,.fa-caravan-simple:before{content:"\e000"}.fa-turtle:before{content:"\f726"}.fa-pencil-mechanical:before{content:"\e5ca"}.fa-arrows-alt-v:before,.fa-up-down:before{content:"\f338"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-booth-curtain:before{content:"\f734"}.fa-calendar:before{content:"\f133"}.fa-box-heart:before{content:"\f49d"}.fa-trailer:before{content:"\e041"}.fa-user-doctor-message:before,.fa-user-md-chat:before{content:"\f82e"}.fa-bahai:before,.fa-haykal:before{content:"\f666"}.fa-lighthouse:before{content:"\e612"}.fa-amp-guitar:before{content:"\f8a1"}.fa-sd-card:before{content:"\f7c2"}.fa-volume-slash:before{content:"\f2e2"}.fa-border-bottom:before{content:"\f84d"}.fa-wifi-1:before,.fa-wifi-weak:before{content:"\f6aa"}.fa-dragon:before{content:"\f6d5"}.fa-shoe-prints:before{content:"\f54b"}.fa-circle-plus:before,.fa-plus-circle:before{content:"\f055"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:"\f58b"}.fa-hand-holding:before{content:"\f4bd"}.fa-plug-circle-exclamation:before{content:"\e55d"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:"\f127"}.fa-clone:before{content:"\f24d"}.fa-person-walking-arrow-loop-left:before{content:"\e551"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:"\f7e4"}.fa-tornado:before{content:"\f76f"}.fa-file-circle-plus:before{content:"\e494"}.fa-delete-right:before{content:"\e154"}.fa-book-quran:before,.fa-quran:before{content:"\f687"}.fa-circle-quarter:before{content:"\e11f"}.fa-anchor:before{content:"\f13d"}.fa-border-all:before{content:"\f84c"}.fa-function:before{content:"\f661"}.fa-angry:before,.fa-face-angry:before{content:"\f556"}.fa-people-simple:before{content:"\e21b"}.fa-cookie-bite:before{content:"\f564"}.fa-arrow-trend-down:before{content:"\e097"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-face-monocle:before{content:"\e380"}.fa-draw-polygon:before{content:"\f5ee"}.fa-balance-scale:before,.fa-scale-balanced:before{content:"\f24e"}.fa-calendar-lines:before,.fa-calendar-note:before{content:"\e0d5"}.fa-arrow-down-big-small:before,.fa-sort-size-down:before{content:"\f88c"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:"\f62a"}.fa-do-not-enter:before{content:"\f5ec"}.fa-shower:before{content:"\f2cc"}.fa-dice-d8:before{content:"\f6d2"}.fa-desktop-alt:before,.fa-desktop:before{content:"\f390"}.fa-m:before{content:"\4d"}.fa-spinner-scale:before{content:"\e62a"}.fa-grip-dots-vertical:before{content:"\e411"}.fa-face-viewfinder:before{content:"\e2ff"}.fa-creemee:before,.fa-soft-serve:before{content:"\e400"}.fa-h5:before{content:"\e412"}.fa-hand-back-point-down:before{content:"\e19e"}.fa-table-list:before,.fa-th-list:before{content:"\f00b"}.fa-basket-shopping-minus:before{content:"\e652"}.fa-comment-sms:before,.fa-sms:before{content:"\f7cd"}.fa-rectangle-landscape:before,.fa-rectangle:before{content:"\f2fa"}.fa-clipboard-list-check:before{content:"\f737"}.fa-turkey:before{content:"\f725"}.fa-book:before{content:"\f02d"}.fa-user-plus:before{content:"\f234"}.fa-ice-skate:before{content:"\f7ac"}.fa-check:before{content:"\f00c"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-tomato:before{content:"\e330"}.fa-sword-laser:before{content:"\e03b"}.fa-house-circle-check:before{content:"\e509"}.fa-buildings:before{content:"\e0cc"}.fa-angle-left:before{content:"\f104"}.fa-cart-flatbed-boxes:before,.fa-dolly-flatbed-alt:before{content:"\f475"}.fa-diagram-successor:before{content:"\e47a"}.fa-truck-arrow-right:before{content:"\e58b"}.fa-square-w:before{content:"\e285"}.fa-arrows-split-up-and-left:before{content:"\e4bc"}.fa-lamp:before{content:"\f4ca"}.fa-airplay:before{content:"\e089"}.fa-fist-raised:before,.fa-hand-fist:before{content:"\f6de"}.fa-shield-quartered:before{content:"\e575"}.fa-slash-forward:before{content:"\2f"}.fa-location-pen:before,.fa-map-marker-edit:before{content:"\f607"}.fa-cloud-moon:before{content:"\f6c3"}.fa-pot-food:before{content:"\e43f"}.fa-briefcase:before{content:"\f0b1"}.fa-person-falling:before{content:"\e546"}.fa-image-portrait:before,.fa-portrait:before{content:"\f3e0"}.fa-user-tag:before{content:"\f507"}.fa-rug:before{content:"\e569"}.fa-print-slash:before{content:"\f686"}.fa-earth-europe:before,.fa-globe-europe:before{content:"\f7a2"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:"\f59d"}.fa-hand-back-point-ribbon:before{content:"\e1a0"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:"\f410"}.fa-tire-rugged:before{content:"\f634"}.fa-lightbulb-dollar:before{content:"\f670"}.fa-cowbell:before{content:"\f8b3"}.fa-baht-sign:before{content:"\e0ac"}.fa-corner:before{content:"\e3fe"}.fa-chevron-double-right:before,.fa-chevrons-right:before{content:"\f324"}.fa-book-open:before{content:"\f518"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:"\f66a"}.fa-inhaler:before{content:"\f5f9"}.fa-handcuffs:before{content:"\e4f8"}.fa-snake:before{content:"\f716"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:"\f071"}.fa-note-medical:before{content:"\e200"}.fa-database:before{content:"\f1c0"}.fa-down-left:before{content:"\e16a"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-face-thinking:before{content:"\e39b"}.fa-turn-down-right:before{content:"\e455"}.fa-bottle-droplet:before{content:"\e4c4"}.fa-mask-face:before{content:"\e1d7"}.fa-hill-rockslide:before{content:"\e508"}.fa-scanner-keyboard:before{content:"\f489"}.fa-circle-o:before{content:"\e119"}.fa-grid-horizontal:before{content:"\e307"}.fa-comment-alt-dollar:before,.fa-message-dollar:before{content:"\f650"}.fa-exchange-alt:before,.fa-right-left:before{content:"\f362"}.fa-columns-3:before{content:"\e361"}.fa-paper-plane:before{content:"\f1d8"}.fa-road-circle-exclamation:before{content:"\e565"}.fa-dungeon:before{content:"\f6d9"}.fa-hand-holding-box:before{content:"\f47b"}.fa-input-text:before{content:"\e1bf"}.fa-window-alt:before,.fa-window-flip:before{content:"\f40f"}.fa-align-right:before{content:"\f038"}.fa-scanner-gun:before,.fa-scanner:before{content:"\f488"}.fa-tire:before{content:"\f631"}.fa-engine:before{content:"\e16e"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-life-ring:before{content:"\f1cd"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-caret-circle-right:before,.fa-circle-caret-right:before{content:"\f330"}.fa-turn-left:before{content:"\e636"}.fa-wheat:before{content:"\f72d"}.fa-file-spreadsheet:before{content:"\f65b"}.fa-audio-description-slash:before{content:"\e0a8"}.fa-bell-ring:before{content:"\e62c"}.fa-calendar-day:before{content:"\f783"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:"\f5c5"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:"\f07d"}.fa-chess-pawn-alt:before,.fa-chess-pawn-piece:before{content:"\f444"}.fa-face-grimace:before,.fa-grimace:before{content:"\f57f"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:"\e2ce"}.fa-level-down-alt:before,.fa-turn-down:before{content:"\f3be"}.fa-square-s:before{content:"\e27d"}.fa-barcode-alt:before,.fa-rectangle-barcode:before{content:"\f463"}.fa-person-walking-arrow-right:before{content:"\e552"}.fa-envelope-square:before,.fa-square-envelope:before{content:"\f199"}.fa-dice:before{content:"\f522"}.fa-unicorn:before{content:"\f727"}.fa-bowling-ball:before{content:"\f436"}.fa-pompebled:before{content:"\e43d"}.fa-brain:before{content:"\f5dc"}.fa-watch-smart:before{content:"\e2cc"}.fa-book-user:before{content:"\f7e7"}.fa-sensor-cloud:before,.fa-sensor-smoke:before{content:"\e02c"}.fa-clapperboard-play:before{content:"\e132"}.fa-band-aid:before,.fa-bandage:before{content:"\f462"}.fa-calendar-minus:before{content:"\f272"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:"\f057"}.fa-circle-4:before{content:"\e0f1"}.fa-gifts:before{content:"\f79c"}.fa-album-collection:before{content:"\f8a0"}.fa-hotel:before{content:"\f594"}.fa-earth-asia:before,.fa-globe-asia:before{content:"\f57e"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:"\f47f"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:"\f00e"}.fa-thumbs-up:before{content:"\f164"}.fa-cloud-showers:before{content:"\f73f"}.fa-user-clock:before{content:"\f4fd"}.fa-onion:before{content:"\e427"}.fa-clock-twelve-thirty:before{content:"\e359"}.fa-arrow-down-to-dotted-line:before{content:"\e095"}.fa-allergies:before,.fa-hand-dots:before{content:"\f461"}.fa-file-invoice:before{content:"\f570"}.fa-window-minimize:before{content:"\f2d1"}.fa-rectangle-wide:before{content:"\f2fc"}.fa-comment-arrow-up:before{content:"\e144"}.fa-garlic:before{content:"\e40e"}.fa-coffee:before,.fa-mug-saucer:before{content:"\f0f4"}.fa-brush:before{content:"\f55d"}.fa-tree-decorated:before{content:"\f7dc"}.fa-mask:before{content:"\f6fa"}.fa-calendar-heart:before{content:"\e0d3"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:"\f010"}.fa-flower:before{content:"\f7ff"}.fa-arrow-down-from-arc:before{content:"\e614"}.fa-right-left-large:before{content:"\e5e1"}.fa-ruler-vertical:before{content:"\f548"}.fa-circles-overlap:before{content:"\e600"}.fa-user-alt:before,.fa-user-large:before{content:"\f406"}.fa-starship-freighter:before{content:"\e03a"}.fa-train-tram:before{content:"\e5b4"}.fa-bridge-suspension:before{content:"\e4cd"}.fa-trash-check:before{content:"\e2af"}.fa-user-nurse:before{content:"\f82f"}.fa-boombox:before{content:"\f8a5"}.fa-syringe:before{content:"\f48e"}.fa-cloud-sun:before{content:"\f6c4"}.fa-shield-exclamation:before{content:"\e247"}.fa-stopwatch-20:before{content:"\e06f"}.fa-square-full:before{content:"\f45c"}.fa-grip-dots:before{content:"\e410"}.fa-comment-exclamation:before{content:"\f4af"}.fa-pen-swirl:before{content:"\e214"}.fa-falafel:before{content:"\e40a"}.fa-circle-2:before{content:"\e0ef"}.fa-magnet:before{content:"\f076"}.fa-jar:before{content:"\e516"}.fa-gramophone:before{content:"\f8bd"}.fa-dice-d12:before{content:"\f6ce"}.fa-note-sticky:before,.fa-sticky-note:before{content:"\f249"}.fa-arrow-alt-down:before,.fa-down:before{content:"\f354"}.fa-100:before,.fa-hundred-points:before{content:"\e41c"}.fa-paperclip-vertical:before{content:"\e3c2"}.fa-wind-circle-exclamation:before,.fa-wind-warning:before{content:"\f776"}.fa-location-pin-slash:before,.fa-map-marker-slash:before{content:"\f60c"}.fa-face-sad-sweat:before{content:"\e38a"}.fa-bug-slash:before{content:"\e490"}.fa-cupcake:before{content:"\e402"}.fa-light-switch-off:before{content:"\e018"}.fa-toggle-large-off:before{content:"\e5b0"}.fa-pen-fancy-slash:before{content:"\e210"}.fa-truck-container:before{content:"\f4dc"}.fa-boot:before{content:"\f782"}.fa-arrow-up-from-water-pump:before{content:"\e4b6"}.fa-file-check:before{content:"\f316"}.fa-bone:before{content:"\f5d7"}.fa-cards-blank:before{content:"\e4df"}.fa-circle-3:before{content:"\e0f0"}.fa-bench-tree:before{content:"\e2e7"}.fa-keyboard-brightness-low:before{content:"\e1c1"}.fa-ski-boot-ski:before{content:"\e3cd"}.fa-brain-circuit:before{content:"\e0c6"}.fa-user-injured:before{content:"\f728"}.fa-block-brick-fire:before,.fa-firewall:before{content:"\e3dc"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:"\f5b4"}.fa-plane:before{content:"\f072"}.fa-tent-arrows-down:before{content:"\e581"}.fa-exclamation:before{content:"\21"}.fa-arrows-spin:before{content:"\e4bb"}.fa-face-smile-relaxed:before{content:"\e392"}.fa-comment-times:before,.fa-comment-xmark:before{content:"\f4b5"}.fa-print:before{content:"\f02f"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:"\e2bb"}.fa-face-nose-steam:before{content:"\e382"}.fa-circle-waveform-lines:before,.fa-waveform-circle:before{content:"\e12d"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"\24"}.fa-ferris-wheel:before{content:"\e174"}.fa-computer-speaker:before{content:"\f8b2"}.fa-skull-cow:before{content:"\f8de"}.fa-x:before{content:"\58"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:"\f688"}.fa-users-cog:before,.fa-users-gear:before{content:"\f509"}.fa-person-military-pointing:before{content:"\e54a"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:"\f19c"}.fa-circle-t:before{content:"\e124"}.fa-sack:before{content:"\f81c"}.fa-grid-2:before{content:"\e196"}.fa-camera-cctv:before,.fa-cctv:before{content:"\f8ac"}.fa-umbrella:before{content:"\f0e9"}.fa-trowel:before{content:"\e589"}.fa-horizontal-rule:before{content:"\f86c"}.fa-bed-alt:before,.fa-bed-front:before{content:"\f8f7"}.fa-d:before{content:"\44"}.fa-stapler:before{content:"\e5af"}.fa-masks-theater:before,.fa-theater-masks:before{content:"\f630"}.fa-file-gif:before{content:"\e645"}.fa-kip-sign:before{content:"\e1c4"}.fa-face-woozy:before{content:"\e3a2"}.fa-cloud-question:before{content:"\e492"}.fa-pineapple:before{content:"\e31f"}.fa-hand-point-left:before{content:"\f0a5"}.fa-gallery-thumbnails:before{content:"\e3aa"}.fa-circle-j:before{content:"\e112"}.fa-eyes:before{content:"\e367"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:"\f4c6"}.fa-file-caret-up:before,.fa-page-caret-up:before{content:"\e42a"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:"\f0fb"}.fa-comet:before{content:"\e003"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:"\f1e1"}.fa-reflect-vertical:before{content:"\e665"}.fa-shield-keyhole:before{content:"\e248"}.fa-file-mp4:before{content:"\e649"}.fa-barcode:before{content:"\f02a"}.fa-bulldozer:before{content:"\e655"}.fa-plus-minus:before{content:"\e43c"}.fa-sliders-v-square:before,.fa-square-sliders-vertical:before{content:"\f3f2"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-comment-middle-alt:before,.fa-message-middle:before{content:"\e1e1"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-person-circle-check:before{content:"\e53e"}.fa-square-z:before{content:"\e288"}.fa-comment-alt-text:before,.fa-message-text:before{content:"\e1e6"}.fa-level-up-alt:before,.fa-turn-up:before{content:"\f3bf"}
.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
/*!
 * Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license (Commercial License)
 * Copyright 2024 Fonticons, Inc.
 */

:host,:root{--fa-style-family-classic:"Font Awesome 6 Pro";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Pro"}@font-face{font-family:"Font Awesome 6 Pro";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}.fa-solid,.fas{font-weight:900}
/*!
 * Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license (Commercial License)
 * Copyright 2024 Fonticons, Inc.
 */

:host,:root{--fa-style-family-classic:"Font Awesome 6 Pro";--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Pro"}@font-face{font-family:"Font Awesome 6 Pro";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}.fa-regular,.far{font-weight:400}
/*!
 * Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license (Commercial License)
 * Copyright 2024 Fonticons, Inc.
 */

:host,:root{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}.fa-brands,.fab{font-weight:400}.fa-monero:before{content:"\f3d0"}.fa-hooli:before{content:"\f427"}.fa-yelp:before{content:"\f1e9"}.fa-cc-visa:before{content:"\f1f0"}.fa-lastfm:before{content:"\f202"}.fa-shopware:before{content:"\f5b5"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-aws:before{content:"\f375"}.fa-redhat:before{content:"\f7bc"}.fa-yoast:before{content:"\f2b1"}.fa-cloudflare:before{content:"\e07d"}.fa-ups:before{content:"\f7e0"}.fa-pixiv:before{content:"\e640"}.fa-wpexplorer:before{content:"\f2de"}.fa-dyalog:before{content:"\f399"}.fa-bity:before{content:"\f37a"}.fa-stackpath:before{content:"\f842"}.fa-buysellads:before{content:"\f20d"}.fa-first-order:before{content:"\f2b0"}.fa-modx:before{content:"\f285"}.fa-guilded:before{content:"\e07e"}.fa-vnv:before{content:"\f40b"}.fa-js-square:before,.fa-square-js:before{content:"\f3b9"}.fa-microsoft:before{content:"\f3ca"}.fa-qq:before{content:"\f1d6"}.fa-orcid:before{content:"\f8d2"}.fa-java:before{content:"\f4e4"}.fa-invision:before{content:"\f7b0"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-centercode:before{content:"\f380"}.fa-glide-g:before{content:"\f2a6"}.fa-drupal:before{content:"\f1a9"}.fa-jxl:before{content:"\e67b"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-unity:before{content:"\e049"}.fa-whmcs:before{content:"\f40d"}.fa-rocketchat:before{content:"\f3e8"}.fa-vk:before{content:"\f189"}.fa-untappd:before{content:"\f405"}.fa-mailchimp:before{content:"\f59e"}.fa-css3-alt:before{content:"\f38b"}.fa-reddit-square:before,.fa-square-reddit:before{content:"\f1a2"}.fa-vimeo-v:before{content:"\f27d"}.fa-contao:before{content:"\f26d"}.fa-square-font-awesome:before{content:"\e5ad"}.fa-deskpro:before{content:"\f38f"}.fa-brave:before{content:"\e63c"}.fa-sistrix:before{content:"\f3ee"}.fa-instagram-square:before,.fa-square-instagram:before{content:"\e055"}.fa-battle-net:before{content:"\f835"}.fa-the-red-yeti:before{content:"\f69d"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:"\f3af"}.fa-edge:before{content:"\f282"}.fa-threads:before{content:"\e618"}.fa-napster:before{content:"\f3d2"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:"\f2ad"}.fa-google-plus-g:before{content:"\f0d5"}.fa-artstation:before{content:"\f77a"}.fa-markdown:before{content:"\f60f"}.fa-sourcetree:before{content:"\f7d3"}.fa-google-plus:before{content:"\f2b3"}.fa-diaspora:before{content:"\f791"}.fa-foursquare:before{content:"\f180"}.fa-stack-overflow:before{content:"\f16c"}.fa-github-alt:before{content:"\f113"}.fa-phoenix-squadron:before{content:"\f511"}.fa-pagelines:before{content:"\f18c"}.fa-algolia:before{content:"\f36c"}.fa-red-river:before{content:"\f3e3"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-safari:before{content:"\f267"}.fa-google:before{content:"\f1a0"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:"\f35c"}.fa-atlassian:before{content:"\f77b"}.fa-linkedin-in:before{content:"\f0e1"}.fa-digital-ocean:before{content:"\f391"}.fa-nimblr:before{content:"\f5a8"}.fa-chromecast:before{content:"\f838"}.fa-evernote:before{content:"\f839"}.fa-hacker-news:before{content:"\f1d4"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-adversal:before{content:"\f36a"}.fa-creative-commons:before{content:"\f25e"}.fa-watchman-monitoring:before{content:"\e087"}.fa-fonticons:before{content:"\f280"}.fa-weixin:before{content:"\f1d7"}.fa-shirtsinbulk:before{content:"\f214"}.fa-codepen:before{content:"\f1cb"}.fa-git-alt:before{content:"\f841"}.fa-lyft:before{content:"\f3c3"}.fa-rev:before{content:"\f5b2"}.fa-windows:before{content:"\f17a"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:"\f2aa"}.fa-meetup:before{content:"\f2e0"}.fa-centos:before{content:"\f789"}.fa-adn:before{content:"\f170"}.fa-cloudsmith:before{content:"\f384"}.fa-opensuse:before{content:"\e62b"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:"\f397"}.fa-codiepie:before{content:"\f284"}.fa-node:before{content:"\f419"}.fa-mix:before{content:"\f3cb"}.fa-steam:before{content:"\f1b6"}.fa-cc-apple-pay:before{content:"\f416"}.fa-scribd:before{content:"\f28a"}.fa-debian:before{content:"\e60b"}.fa-openid:before{content:"\f19b"}.fa-instalod:before{content:"\e081"}.fa-expeditedssl:before{content:"\f23e"}.fa-sellcast:before{content:"\f2da"}.fa-square-twitter:before,.fa-twitter-square:before{content:"\f081"}.fa-r-project:before{content:"\f4f7"}.fa-delicious:before{content:"\f1a5"}.fa-freebsd:before{content:"\f3a4"}.fa-vuejs:before{content:"\f41f"}.fa-accusoft:before{content:"\f369"}.fa-ioxhost:before{content:"\f208"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-app-store:before{content:"\f36f"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-itunes-note:before{content:"\f3b5"}.fa-golang:before{content:"\e40f"}.fa-kickstarter:before,.fa-square-kickstarter:before{content:"\f3bb"}.fa-grav:before{content:"\f2d6"}.fa-weibo:before{content:"\f18a"}.fa-uncharted:before{content:"\e084"}.fa-firstdraft:before{content:"\f3a1"}.fa-square-youtube:before,.fa-youtube-square:before{content:"\f431"}.fa-wikipedia-w:before{content:"\f266"}.fa-rendact:before,.fa-wpressr:before{content:"\f3e4"}.fa-angellist:before{content:"\f209"}.fa-galactic-republic:before{content:"\f50c"}.fa-nfc-directional:before{content:"\e530"}.fa-skype:before{content:"\f17e"}.fa-joget:before{content:"\f3b7"}.fa-fedora:before{content:"\f798"}.fa-stripe-s:before{content:"\f42a"}.fa-meta:before{content:"\e49b"}.fa-laravel:before{content:"\f3bd"}.fa-hotjar:before{content:"\f3b1"}.fa-bluetooth-b:before{content:"\f294"}.fa-square-letterboxd:before{content:"\e62e"}.fa-sticker-mule:before{content:"\f3f7"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-hips:before{content:"\f452"}.fa-behance:before{content:"\f1b4"}.fa-reddit:before{content:"\f1a1"}.fa-discord:before{content:"\f392"}.fa-chrome:before{content:"\f268"}.fa-app-store-ios:before{content:"\f370"}.fa-cc-discover:before{content:"\f1f2"}.fa-wpbeginner:before{content:"\f297"}.fa-confluence:before{content:"\f78d"}.fa-shoelace:before{content:"\e60c"}.fa-mdb:before{content:"\f8ca"}.fa-dochub:before{content:"\f394"}.fa-accessible-icon:before{content:"\f368"}.fa-ebay:before{content:"\f4f4"}.fa-amazon:before{content:"\f270"}.fa-unsplash:before{content:"\e07c"}.fa-yarn:before{content:"\f7e3"}.fa-square-steam:before,.fa-steam-square:before{content:"\f1b7"}.fa-500px:before{content:"\f26e"}.fa-square-vimeo:before,.fa-vimeo-square:before{content:"\f194"}.fa-asymmetrik:before{content:"\f372"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:"\f2b4"}.fa-gratipay:before{content:"\f184"}.fa-apple:before{content:"\f179"}.fa-hive:before{content:"\e07f"}.fa-gitkraken:before{content:"\f3a6"}.fa-keybase:before{content:"\f4f5"}.fa-apple-pay:before{content:"\f415"}.fa-padlet:before{content:"\e4a0"}.fa-amazon-pay:before{content:"\f42c"}.fa-github-square:before,.fa-square-github:before{content:"\f092"}.fa-stumbleupon:before{content:"\f1a4"}.fa-fedex:before{content:"\f797"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-shopify:before{content:"\e057"}.fa-neos:before{content:"\f612"}.fa-square-threads:before{content:"\e619"}.fa-hackerrank:before{content:"\f5f7"}.fa-researchgate:before{content:"\f4f8"}.fa-swift:before{content:"\f8e1"}.fa-angular:before{content:"\f420"}.fa-speakap:before{content:"\f3f3"}.fa-angrycreative:before{content:"\f36e"}.fa-y-combinator:before{content:"\f23b"}.fa-empire:before{content:"\f1d1"}.fa-envira:before{content:"\f299"}.fa-google-scholar:before{content:"\e63b"}.fa-gitlab-square:before,.fa-square-gitlab:before{content:"\e5ae"}.fa-studiovinari:before{content:"\f3f8"}.fa-pied-piper:before{content:"\f2ae"}.fa-wordpress:before{content:"\f19a"}.fa-product-hunt:before{content:"\f288"}.fa-firefox:before{content:"\f269"}.fa-linode:before{content:"\f2b8"}.fa-goodreads:before{content:"\f3a8"}.fa-odnoklassniki-square:before,.fa-square-odnoklassniki:before{content:"\f264"}.fa-jsfiddle:before{content:"\f1cc"}.fa-sith:before{content:"\f512"}.fa-themeisle:before{content:"\f2b2"}.fa-page4:before{content:"\f3d7"}.fa-hashnode:before{content:"\e499"}.fa-react:before{content:"\f41b"}.fa-cc-paypal:before{content:"\f1f4"}.fa-squarespace:before{content:"\f5be"}.fa-cc-stripe:before{content:"\f1f5"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-bitcoin:before{content:"\f379"}.fa-keycdn:before{content:"\f3ba"}.fa-opera:before{content:"\f26a"}.fa-itch-io:before{content:"\f83a"}.fa-umbraco:before{content:"\f8e8"}.fa-galactic-senate:before{content:"\f50d"}.fa-ubuntu:before{content:"\f7df"}.fa-draft2digital:before{content:"\f396"}.fa-stripe:before{content:"\f429"}.fa-houzz:before{content:"\f27c"}.fa-gg:before{content:"\f260"}.fa-dhl:before{content:"\f790"}.fa-pinterest-square:before,.fa-square-pinterest:before{content:"\f0d3"}.fa-xing:before{content:"\f168"}.fa-blackberry:before{content:"\f37b"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-playstation:before{content:"\f3df"}.fa-quinscape:before{content:"\f459"}.fa-less:before{content:"\f41d"}.fa-blogger-b:before{content:"\f37d"}.fa-opencart:before{content:"\f23d"}.fa-vine:before{content:"\f1ca"}.fa-signal-messenger:before{content:"\e663"}.fa-paypal:before{content:"\f1ed"}.fa-gitlab:before{content:"\f296"}.fa-typo3:before{content:"\f42b"}.fa-reddit-alien:before{content:"\f281"}.fa-yahoo:before{content:"\f19e"}.fa-dailymotion:before{content:"\e052"}.fa-affiliatetheme:before{content:"\f36b"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-bootstrap:before{content:"\f836"}.fa-odnoklassniki:before{content:"\f263"}.fa-nfc-symbol:before{content:"\e531"}.fa-mintbit:before{content:"\e62f"}.fa-ethereum:before{content:"\f42e"}.fa-speaker-deck:before{content:"\f83c"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-patreon:before{content:"\f3d9"}.fa-avianex:before{content:"\f374"}.fa-ello:before{content:"\f5f1"}.fa-gofore:before{content:"\f3a7"}.fa-bimobject:before{content:"\f378"}.fa-brave-reverse:before{content:"\e63d"}.fa-facebook-f:before{content:"\f39e"}.fa-google-plus-square:before,.fa-square-google-plus:before{content:"\f0d4"}.fa-web-awesome:before{content:"\e682"}.fa-mandalorian:before{content:"\f50f"}.fa-first-order-alt:before{content:"\f50a"}.fa-osi:before{content:"\f41a"}.fa-google-wallet:before{content:"\f1ee"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-periscope:before{content:"\f3da"}.fa-fulcrum:before{content:"\f50b"}.fa-cloudscale:before{content:"\f383"}.fa-forumbee:before{content:"\f211"}.fa-mizuni:before{content:"\f3cc"}.fa-schlix:before{content:"\f3ea"}.fa-square-xing:before,.fa-xing-square:before{content:"\f169"}.fa-bandcamp:before{content:"\f2d5"}.fa-wpforms:before{content:"\f298"}.fa-cloudversify:before{content:"\f385"}.fa-usps:before{content:"\f7e1"}.fa-megaport:before{content:"\f5a3"}.fa-magento:before{content:"\f3c4"}.fa-spotify:before{content:"\f1bc"}.fa-optin-monster:before{content:"\f23c"}.fa-fly:before{content:"\f417"}.fa-aviato:before{content:"\f421"}.fa-itunes:before{content:"\f3b4"}.fa-cuttlefish:before{content:"\f38c"}.fa-blogger:before{content:"\f37c"}.fa-flickr:before{content:"\f16e"}.fa-viber:before{content:"\f409"}.fa-soundcloud:before{content:"\f1be"}.fa-digg:before{content:"\f1a6"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-letterboxd:before{content:"\e62d"}.fa-symfony:before{content:"\f83d"}.fa-maxcdn:before{content:"\f136"}.fa-etsy:before{content:"\f2d7"}.fa-facebook-messenger:before{content:"\f39f"}.fa-audible:before{content:"\f373"}.fa-think-peaks:before{content:"\f731"}.fa-bilibili:before{content:"\e3d9"}.fa-erlang:before{content:"\f39d"}.fa-x-twitter:before{content:"\e61b"}.fa-cotton-bureau:before{content:"\f89e"}.fa-dashcube:before{content:"\f210"}.fa-42-group:before,.fa-innosoft:before{content:"\e080"}.fa-stack-exchange:before{content:"\f18d"}.fa-elementor:before{content:"\f430"}.fa-pied-piper-square:before,.fa-square-pied-piper:before{content:"\e01e"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-palfed:before{content:"\f3d8"}.fa-superpowers:before{content:"\f2dd"}.fa-resolving:before{content:"\f3e7"}.fa-xbox:before{content:"\f412"}.fa-square-web-awesome-stroke:before{content:"\e684"}.fa-searchengin:before{content:"\f3eb"}.fa-tiktok:before{content:"\e07b"}.fa-facebook-square:before,.fa-square-facebook:before{content:"\f082"}.fa-renren:before{content:"\f18b"}.fa-linux:before{content:"\f17c"}.fa-glide:before{content:"\f2a5"}.fa-linkedin:before{content:"\f08c"}.fa-hubspot:before{content:"\f3b2"}.fa-deploydog:before{content:"\f38e"}.fa-twitch:before{content:"\f1e8"}.fa-ravelry:before{content:"\f2d9"}.fa-mixer:before{content:"\e056"}.fa-lastfm-square:before,.fa-square-lastfm:before{content:"\f203"}.fa-vimeo:before{content:"\f40a"}.fa-mendeley:before{content:"\f7b3"}.fa-uniregistry:before{content:"\f404"}.fa-figma:before{content:"\f799"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-dropbox:before{content:"\f16b"}.fa-instagram:before{content:"\f16d"}.fa-cmplid:before{content:"\e360"}.fa-upwork:before{content:"\e641"}.fa-facebook:before{content:"\f09a"}.fa-gripfire:before{content:"\f3ac"}.fa-jedi-order:before{content:"\f50e"}.fa-uikit:before{content:"\f403"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-phabricator:before{content:"\f3db"}.fa-ussunnah:before{content:"\f407"}.fa-earlybirds:before{content:"\f39a"}.fa-trade-federation:before{content:"\f513"}.fa-autoprefixer:before{content:"\f41c"}.fa-whatsapp:before{content:"\f232"}.fa-square-upwork:before{content:"\e67c"}.fa-slideshare:before{content:"\f1e7"}.fa-google-play:before{content:"\f3ab"}.fa-viadeo:before{content:"\f2a9"}.fa-line:before{content:"\f3c0"}.fa-google-drive:before{content:"\f3aa"}.fa-servicestack:before{content:"\f3ec"}.fa-simplybuilt:before{content:"\f215"}.fa-bitbucket:before{content:"\f171"}.fa-imdb:before{content:"\f2d8"}.fa-deezer:before{content:"\e077"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-jira:before{content:"\f7b1"}.fa-docker:before{content:"\f395"}.fa-screenpal:before{content:"\e570"}.fa-bluetooth:before{content:"\f293"}.fa-gitter:before{content:"\f426"}.fa-d-and-d:before{content:"\f38d"}.fa-microblog:before{content:"\e01a"}.fa-cc-diners-club:before{content:"\f24c"}.fa-gg-circle:before{content:"\f261"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-yandex:before{content:"\f413"}.fa-readme:before{content:"\f4d5"}.fa-html5:before{content:"\f13b"}.fa-sellsy:before{content:"\f213"}.fa-square-web-awesome:before{content:"\e683"}.fa-sass:before{content:"\f41e"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:"\e2d0"}.fa-buromobelexperte:before{content:"\f37f"}.fa-salesforce:before{content:"\f83b"}.fa-octopus-deploy:before{content:"\e082"}.fa-medapps:before{content:"\f3c6"}.fa-ns8:before{content:"\f3d5"}.fa-pinterest-p:before{content:"\f231"}.fa-apper:before{content:"\f371"}.fa-fort-awesome:before{content:"\f286"}.fa-waze:before{content:"\f83f"}.fa-bluesky:before{content:"\e671"}.fa-cc-jcb:before{content:"\f24b"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:"\f2ab"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-rust:before{content:"\e07a"}.fa-wix:before{content:"\f5cf"}.fa-behance-square:before,.fa-square-behance:before{content:"\f1b5"}.fa-supple:before{content:"\f3f9"}.fa-webflow:before{content:"\e65c"}.fa-rebel:before{content:"\f1d0"}.fa-css3:before{content:"\f13c"}.fa-staylinked:before{content:"\f3f5"}.fa-kaggle:before{content:"\f5fa"}.fa-space-awesome:before{content:"\e5ac"}.fa-deviantart:before{content:"\f1bd"}.fa-cpanel:before{content:"\f388"}.fa-goodreads-g:before{content:"\f3a9"}.fa-git-square:before,.fa-square-git:before{content:"\f1d2"}.fa-square-tumblr:before,.fa-tumblr-square:before{content:"\f174"}.fa-trello:before{content:"\f181"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-get-pocket:before{content:"\f265"}.fa-perbyte:before{content:"\e083"}.fa-grunt:before{content:"\f3ad"}.fa-weebly:before{content:"\f5cc"}.fa-connectdevelop:before{content:"\f20e"}.fa-leanpub:before{content:"\f212"}.fa-black-tie:before{content:"\f27e"}.fa-themeco:before{content:"\f5c6"}.fa-python:before{content:"\f3e2"}.fa-android:before{content:"\f17b"}.fa-bots:before{content:"\e340"}.fa-free-code-camp:before{content:"\f2c5"}.fa-hornbill:before{content:"\f592"}.fa-js:before{content:"\f3b8"}.fa-ideal:before{content:"\e013"}.fa-git:before{content:"\f1d3"}.fa-dev:before{content:"\f6cc"}.fa-sketch:before{content:"\f7c6"}.fa-yandex-international:before{content:"\f414"}.fa-cc-amex:before{content:"\f1f3"}.fa-uber:before{content:"\f402"}.fa-github:before{content:"\f09b"}.fa-php:before{content:"\f457"}.fa-alipay:before{content:"\f642"}.fa-youtube:before{content:"\f167"}.fa-skyatlas:before{content:"\f216"}.fa-firefox-browser:before{content:"\e007"}.fa-replyd:before{content:"\f3e6"}.fa-suse:before{content:"\f7d6"}.fa-jenkins:before{content:"\f3b6"}.fa-twitter:before{content:"\f099"}.fa-rockrms:before{content:"\f3e9"}.fa-pinterest:before{content:"\f0d2"}.fa-buffer:before{content:"\f837"}.fa-npm:before{content:"\f3d4"}.fa-yammer:before{content:"\f840"}.fa-btc:before{content:"\f15a"}.fa-dribbble:before{content:"\f17d"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-internet-explorer:before{content:"\f26b"}.fa-stubber:before{content:"\e5c7"}.fa-telegram-plane:before,.fa-telegram:before{content:"\f2c6"}.fa-old-republic:before{content:"\f510"}.fa-odysee:before{content:"\e5c6"}.fa-square-whatsapp:before,.fa-whatsapp-square:before{content:"\f40c"}.fa-node-js:before{content:"\f3d3"}.fa-edge-legacy:before{content:"\e078"}.fa-slack-hash:before,.fa-slack:before{content:"\f198"}.fa-medrt:before{content:"\f3c8"}.fa-usb:before{content:"\f287"}.fa-tumblr:before{content:"\f173"}.fa-vaadin:before{content:"\f408"}.fa-quora:before{content:"\f2c4"}.fa-square-x-twitter:before{content:"\e61a"}.fa-reacteurope:before{content:"\f75d"}.fa-medium-m:before,.fa-medium:before{content:"\f23a"}.fa-amilia:before{content:"\f36d"}.fa-mixcloud:before{content:"\f289"}.fa-flipboard:before{content:"\f44d"}.fa-viacoin:before{content:"\f237"}.fa-critical-role:before{content:"\f6c9"}.fa-sitrox:before{content:"\e44a"}.fa-discourse:before{content:"\f393"}.fa-joomla:before{content:"\f1aa"}.fa-mastodon:before{content:"\f4f6"}.fa-airbnb:before{content:"\f834"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-buy-n-large:before{content:"\f8a6"}.fa-gulp:before{content:"\f3ae"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-strava:before{content:"\f428"}.fa-ember:before{content:"\f423"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-teamspeak:before{content:"\f4f9"}.fa-pushed:before{content:"\f3e1"}.fa-wordpress-simple:before{content:"\f411"}.fa-nutritionix:before{content:"\f3d6"}.fa-wodu:before{content:"\e088"}.fa-google-pay:before{content:"\e079"}.fa-intercom:before{content:"\f7af"}.fa-zhihu:before{content:"\f63f"}.fa-korvue:before{content:"\f42f"}.fa-pix:before{content:"\e43a"}.fa-steam-symbol:before{content:"\f3f6"}
/*!
 * Font Awesome Pro 6.5.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license (Commercial License)
 * Copyright 2024 Fonticons, Inc.
 */

.fa.fa-glass:before{content:"\f000"}.fa.fa-envelope-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-star-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-star-o:before{content:"\f005"}.fa.fa-close:before,.fa.fa-remove:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-home:before{content:"\f015"}.fa.fa-file-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before,.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-list-alt{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-list-alt:before{content:"\f022"}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-image:before{content:"\f03e"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-edit{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-edit:before{content:"\f044"}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-expand:before{content:"\f424"}.fa.fa-compress:before{content:"\f422"}.fa.fa-eye,.fa.fa-eye-slash{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart-o:before,.fa.fa-bar-chart:before{content:"\e0e3"}.fa.fa-twitter-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-twitter-square:before{content:"\f081"}.fa.fa-facebook-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-square:before{content:"\f082"}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-github-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-github-square:before{content:"\f092"}.fa.fa-lemon-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-facebook,.fa.fa-twitter{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-github{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-credit-card{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-globe:before{content:"\f57d"}.fa.fa-tasks:before{content:"\f828"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-cut:before{content:"\f0c4"}.fa.fa-files-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-save{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-save:before{content:"\f0c7"}.fa.fa-navicon:before,.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-magic:before{content:"\e2ca"}.fa.fa-pinterest,.fa.fa-pinterest-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-pinterest-square:before{content:"\f0d3"}.fa.fa-google-plus-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-square:before{content:"\f0d4"}.fa.fa-google-plus{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-dashboard:before,.fa.fa-tachometer:before{content:"\f625"}.fa.fa-comment-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-clipboard:before{content:"\f0ea"}.fa.fa-lightbulb-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f0ed"}.fa.fa-cloud-upload:before{content:"\f0ee"}.fa.fa-bell-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile-phone:before,.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-circle-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-github-alt{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-folder-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-star-half-o:before{content:"\f5c0"}.fa.fa-star-half-empty{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-star-half-empty:before{content:"\f5c0"}.fa.fa-star-half-full{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-star-half-full:before{content:"\f5c0"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before,.fa.fa-unlink:before{content:"\f127"}.fa.fa-calendar-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-css3,.fa.fa-html5,.fa.fa-maxcdn{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-unlock-alt:before{content:"\f09c"}.fa.fa-minus-square-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-compass{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-caret-square-o-down{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before,.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-dollar:before,.fa.fa-usd:before{content:"\24"}.fa.fa-inr:before,.fa.fa-rupee:before{content:"\e1bc"}.fa.fa-cny:before,.fa.fa-jpy:before,.fa.fa-rmb:before,.fa.fa-yen:before{content:"\f157"}.fa.fa-rouble:before,.fa.fa-rub:before,.fa.fa-ruble:before{content:"\f158"}.fa.fa-krw:before,.fa.fa-won:before{content:"\f159"}.fa.fa-bitcoin,.fa.fa-btc{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f881"}.fa.fa-sort-amount-asc:before{content:"\f884"}.fa.fa-sort-amount-desc:before{content:"\f160"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f886"}.fa.fa-youtube-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-youtube-square:before{content:"\f431"}.fa.fa-xing,.fa.fa-xing-square,.fa.fa-youtube{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-xing-square:before{content:"\f169"}.fa.fa-youtube-play{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-adn,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-dropbox,.fa.fa-flickr,.fa.fa-instagram,.fa.fa-stack-overflow{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-tumblr,.fa.fa-tumblr-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-tumblr-square:before{content:"\f174"}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-android,.fa.fa-apple,.fa.fa-dribbble,.fa.fa-foursquare,.fa.fa-gittip,.fa.fa-gratipay,.fa.fa-linux,.fa.fa-skype,.fa.fa-trello,.fa.fa-windows{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-pagelines,.fa.fa-renren,.fa.fa-stack-exchange,.fa.fa-vk,.fa.fa-weibo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-arrow-circle-o-right{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-vimeo-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-vimeo-square:before{content:"\f194"}.fa.fa-try:before,.fa.fa-turkish-lira:before{content:"\e2bb"}.fa.fa-plus-square-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-openid,.fa.fa-slack,.fa.fa-wordpress{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bank:before,.fa.fa-institution:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-google,.fa.fa-reddit,.fa.fa-reddit-square,.fa.fa-yahoo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-reddit-square:before{content:"\f1a2"}.fa.fa-behance,.fa.fa-behance-square,.fa.fa-delicious,.fa.fa-digg,.fa.fa-drupal,.fa.fa-joomla,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-behance-square:before{content:"\f1b5"}.fa.fa-steam,.fa.fa-steam-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-steam-square:before{content:"\f1b7"}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-cab:before{content:"\f1ba"}.fa.fa-deviantart,.fa.fa-soundcloud,.fa.fa-spotify{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-file-pdf-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-codepen,.fa.fa-jsfiddle,.fa.fa-vine{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-life-bouy:before,.fa.fa-life-buoy:before,.fa.fa-life-saver:before,.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-ra,.fa.fa-rebel{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-empire,.fa.fa-ge{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-git-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-git-square:before{content:"\f1d2"}.fa.fa-git,.fa.fa-hacker-news,.fa.fa-y-combinator-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-qq,.fa.fa-tencent-weibo,.fa.fa-wechat,.fa.fa-weixin{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-futbol-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-slideshare,.fa.fa-twitch,.fa.fa-yelp{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-newspaper-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-cc-amex,.fa.fa-cc-discover,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-google-wallet,.fa.fa-paypal{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bell-slash-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-copyright{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-lastfm,.fa.fa-lastfm-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-lastfm-square:before{content:"\f203"}.fa.fa-angellist,.fa.fa-ioxhost{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-cc{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before,.fa.fa-shekel:before,.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-buysellads,.fa.fa-connectdevelop,.fa.fa-dashcube,.fa.fa-forumbee,.fa.fa-leanpub,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-diamond{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before,.fa.fa-transgender:before{content:"\f224"}.fa.fa-transgender-alt:before{content:"\f225"}.fa.fa-facebook-official{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-pinterest-p,.fa.fa-whatsapp{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-hotel:before{content:"\f236"}.fa.fa-medium,.fa.fa-viacoin,.fa.fa-y-combinator,.fa.fa-yc{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-yc:before{content:"\f23b"}.fa.fa-expeditedssl,.fa.fa-opencart,.fa.fa-optin-monster{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-battery-4:before,.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-cc-diners-club,.fa.fa-cc-jcb{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-clone{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-registered{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-creative-commons,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-odnoklassniki-square:before{content:"\f264"}.fa.fa-chrome,.fa.fa-firefox,.fa.fa-get-pocket,.fa.fa-internet-explorer,.fa.fa-opera,.fa.fa-safari,.fa.fa-wikipedia-w{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-television:before{content:"\f26c"}.fa.fa-500px,.fa.fa-amazon,.fa.fa-contao{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-calendar-plus-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-houzz,.fa.fa-vimeo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-black-tie,.fa.fa-edge,.fa.fa-fonticons,.fa.fa-reddit-alien{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-codiepie,.fa.fa-fort-awesome,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-product-hunt,.fa.fa-scribd,.fa.fa-usb{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-pause-circle-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-envira,.fa.fa-gitlab,.fa.fa-wheelchair-alt,.fa.fa-wpbeginner,.fa.fa-wpforms{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before,.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-glide,.fa.fa-glide-g{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-viadeo,.fa.fa-viadeo-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-viadeo-square:before{content:"\f2aa"}.fa.fa-snapchat,.fa.fa-snapchat-ghost{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-snapchat-ghost:before{content:"\f2ab"}.fa.fa-snapchat-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-snapchat-square:before{content:"\f2ad"}.fa.fa-first-order,.fa.fa-google-plus-official,.fa.fa-pied-piper,.fa.fa-themeisle,.fa.fa-yoast{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-fa,.fa.fa-font-awesome{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-linode{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-address-book-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-user-o:before{content:"\f007"}.fa.fa-id-badge{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-free-code-camp,.fa.fa-quora,.fa.fa-telegram{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-thermometer-4:before,.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before,.fa.fa-s15:before{content:"\f2cd"}.fa.fa-window-maximize,.fa.fa-window-restore{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-bandcamp,.fa.fa-eercast,.fa.fa-etsy,.fa.fa-grav,.fa.fa-imdb,.fa.fa-ravelry{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o{font-family:"Font Awesome 6 Pro";font-weight:400}.fa.fa-snowflake-o:before{content:"\f2dc"}.fa.fa-meetup,.fa.fa-superpowers,.fa.fa-wpexplorer{font-family:"Font Awesome 6 Brands";font-weight:400}
@charset "UTF-8";
/*
 * LAYER 1 — tokens, typography, base.
 *
 * Loads before layer 2
 * (`ow_components.css.scss`), which reads every custom property declared here.
 *
 * The reset below is not decoration. Bootstrap supplied `box-sizing: border-box`
 * globally and painted the page background; both left with it, and every width
 * and padding in the design layer is written assuming border-box.
 */
/*
 * THE TOKEN LAYER — layer 1, and the only place a value is decided.
 *
 * Every colour, radius, spacing,
 * control height, duration and easing in the portal resolves to a custom
 * property declared here. A literal in a component sheet or a view is a
 * defect, not a shortcut.
 *
 * Dark mode is a redeclaration of these same properties on `.theme-dark`,
 * never a second rule set and never a per-component dark rule. A component
 * that needs one is reading a literal. `color-scheme` is declared beside the
 * tokens in both themes so scrollbars, form-control chrome and the caret
 * follow too.
 *
 * The theme class is server-rendered on <html> from the `ow_theme` cookie, so
 * the first paint is already correct; see `layouts/application.html.erb`.
 *
 * Typography lives in `_ow_typography.scss`, which is the only file in the app
 * that names a font file. One family: Geist, plus Geist Mono for strings a
 * person transcribes or compares character by character.
 */
/* line 23, app/assets/stylesheets/_ow_tokens.scss */
:root {
  color-scheme: light;
  /* Surfaces, text and chrome */
  --ow-color-page-bg: #f8fafc;
  --ow-color-surface: #ffffff;
  --ow-color-surface-alt: #fafbfc;
  --ow-color-border: #e5e7eb;
  --ow-color-border-soft: #f1f5f9;
  --ow-color-text: #111827;
  --ow-color-muted: #6b7280;
  --ow-color-faint: #94a3b8;
  --ow-color-heading: #111827;
  /* Links keep the design system's blue — a link should not look like a
   * button in a system whose only accent is orange. */
  --ow-color-link: #0b63ce;
  --ow-color-link-hover: #074fa4;
  --ow-color-nav: #404040;
  --ow-color-nav-dark: #1d2633;
  --ow-color-nav-text: #c8d0da;
  --ow-color-nav-label: #7c8798;
  --ow-color-thead-bg: #f1f5f9;
  --ow-color-row-hover: #f9fafb;
  --ow-color-selected-bg: #fffaf6;
  --ow-color-selected-row: #fff7ed;
  /* Brand — orange is the single accent */
  --ow-color-brand: #f58220;
  --ow-color-brand-strong: #f45b20;
  --ow-color-brand-deep: #d9480f;
  --ow-color-brand-tint: rgba(245, 130, 32, 0.1);
  --ow-color-brand-tint-strong: rgba(245, 130, 32, 0.14);
  --ow-orange: var(--ow-color-brand);
  /* Legacy accent — defined for unmigrated screens, not for new work. */
  --ow-legacy-red: #b20305;
  --ow-legacy-blue: #428bca;
  /* Status */
  --ow-color-success: #28a745;
  --ow-color-warning: #ffb703;
  --ow-color-danger: #d9534f;
  /* Info / On Contract — the one non-brand hue in the system. */
  --ow-color-info: #2463ff;
  --ow-status-pass-bg: #ecfdf5;
  --ow-status-pass-fg: #047857;
  --ow-status-due-bg: #fffbeb;
  --ow-status-due-fg: #b45309;
  --ow-status-fail-bg: #fef2f2;
  --ow-status-fail-fg: #dc2626;
  --ow-status-warning-bg: #fef3c7;
  --ow-status-warning-fg: #92400e;
  --ow-status-info-bg: #dbeafe;
  --ow-status-info-fg: #1e40af;
  --ow-color-confirm: #1a7a37;
  --ow-color-confirm-bg: #e7f6ec;
  /* Worksheet status hues — the five families every one of the 12 statuses
   * maps to, as upstream defines them. */
  --ow-wsstatus-blocked: #d9534f;
  --ow-wsstatus-waiting: #f0ad4e;
  --ow-wsstatus-active: #5bc0de;
  --ow-wsstatus-done: #5cb85c;
  --ow-wsstatus-neutral: #6b7280;
  --ow-wsstatus-parts: #6366f1;
  /* Spacing — 4px base scale */
  --ow-space-1: 4px;
  --ow-space-2: 8px;
  --ow-space-3: 12px;
  --ow-space-4: 16px;
  --ow-space-5: 20px;
  --ow-space-6: 24px;
  --ow-space-7: 32px;
  --ow-space-8: 48px;
  --ow-gutter-page: 24px;
  --ow-gutter-page-mobile: 12px;
  --ow-page-max: 1440px;
  --ow-page-max-wide: 1520px;
  --ow-mobile-max: 430px;
  /* Radii */
  --ow-radius-sm: 6px;
  --ow-radius-md: 8px;
  --ow-radius-lg: 12px;
  --ow-radius-xl: 16px;
  --ow-radius-2xl: 20px;
  --ow-radius-card: 14px;
  --ow-radius-pill: 999px;
  /* Control sizing and chrome heights */
  --ow-tap-min: 44px;
  --ow-tap-min-touch: 56px;
  --ow-control-h: 36px;
  --ow-control-h-lg: 40px;
  --ow-control-h-cta: 42px;
  --ow-control-h-touch: 56px;
  --ow-icon-tile: 40px;
  --ow-nav-height: 60px;
  --ow-nav-height-compact: 52px;
  --ow-nav-height-app: 64px;
  /* Elevation */
  --ow-shadow-card: 0 1px 2px rgba(15, 23, 42, 0.04), 0 8px 24px rgba(15, 23, 42, 0.05);
  --ow-shadow-table: 0 1px 2px rgba(15, 23, 42, 0.04), 0 12px 32px rgba(15, 23, 42, 0.06);
  --ow-shadow-mobile-card: 0 4px 14px rgba(33, 52, 79, 0.08);
  --ow-shadow-raise: 0 12px 26px rgba(15, 23, 42, 0.09);
  --ow-shadow-menu: 0 12px 30px rgba(0, 0, 0, 0.22);
  --ow-shadow-modal: 0 24px 60px rgba(15, 23, 42, 0.28), 0 2px 8px rgba(15, 23, 42, 0.08);
  --ow-shadow-brand: 0 4px 12px rgba(245, 130, 32, 0.3);
  --ow-shadow-brand-lg: 0 14px 24px rgba(244, 91, 32, 0.28);
  --ow-seam-sticky: -6px 0 10px rgba(15, 23, 42, 0.05);
  /* Three roles the screens had been writing out longhand. Everything else
   * snaps to card / table / raise / menu / modal / brand above. */
  --ow-shadow-contact: 0 1px 2px rgba(15, 23, 42, 0.04);
  --ow-shadow-dot: 0 1px 3px rgba(15, 23, 42, 0.25);
  --ow-shadow-drawer: -24px 0 60px rgba(15, 23, 42, 0.25);
  /* Weighing console: the anthracite deck on the ticket capture screen.
   * Named so the console's translucent whites are tokens, not literals. */
  --ow-console-bg: var(--ow-color-nav-dark);
  --ow-console-surface: rgba(255, 255, 255, 0.05);
  --ow-console-surface-soft: rgba(255, 255, 255, 0.03);
  --ow-console-surface-strong: rgba(255, 255, 255, 0.08);
  --ow-console-border: rgba(255, 255, 255, 0.1);
  --ow-console-border-soft: rgba(255, 255, 255, 0.07);
  --ow-console-border-strong: rgba(255, 255, 255, 0.18);
  --ow-console-text: #ffffff;
  --ow-console-muted: var(--ow-color-nav-text);
  --ow-console-faint: var(--ow-color-nav-label);
  --ow-console-detail-bg: rgba(0, 0, 0, 0.16);
  --ow-console-brand-edge: rgba(245, 130, 32, 0.4);
  --ow-console-brand-tint: rgba(245, 130, 32, 0.12);
  --ow-console-brand-tint-strong: rgba(245, 130, 32, 0.22);
  --ow-console-ok: #6ee7a0;
  --ow-console-ok-bg: rgba(47, 158, 68, 0.18);
  --ow-console-ok-seg: #3fbf6f;
  --ow-console-warn: #fbbf24;
  --ow-console-warn-bg: rgba(245, 158, 11, 0.18);
  --ow-console-motion: #ffb37a;
  --ow-console-rest: rgba(255, 255, 255, 0.2);
  --ow-console-figure: 32px;
  --ow-console-figure-sm: 28px;
  /* THE INSTRUMENT DECK — the one-device pages under Hardware (a weighbridge,
   * an agent PC): a near-black command console with an amber accent, a teal
   * link tone and a green ready tone. It is its own family because it is
   * darker and warmer than the ticket console and does not swap with the
   * theme: the deck is dark in both. */
  --ow-deck-bg: #0b0d10;
  --ow-deck-surface: #12151a;
  --ow-deck-surface-deep: #0f1115;
  --ow-deck-surface-log: #0a0b0d;
  --ow-deck-chip: #1a1d23;
  --ow-deck-border: #242832;
  --ow-deck-border-soft: #202329;
  --ow-deck-border-chip: #2a2e36;
  --ow-deck-border-strong: #3a3f47;
  --ow-deck-text: #f4f1ec;
  --ow-deck-text-soft: #dcdde0;
  --ow-deck-mono: #c7c8cb;
  --ow-deck-muted: #9b9c9f;
  --ow-deck-label: #8b8d92;
  --ow-deck-faint: #6f7278;
  --ow-deck-accent: #e1a94c;
  --ow-deck-accent-soft: #f0c583;
  --ow-deck-accent-ink: #1a1408;
  --ow-deck-accent-tint: rgba(225, 169, 76, 0.12);
  --ow-deck-accent-edge: rgba(225, 169, 76, 0.35);
  --ow-deck-accent-glow: rgba(225, 169, 76, 0.3);
  --ow-deck-link: #2dd4bf;
  --ow-deck-link-tint: rgba(45, 212, 191, 0.12);
  --ow-deck-link-glow: rgba(45, 212, 191, 0.22);
  --ow-deck-ok: #4ade80;
  --ow-deck-ok-dim: #2f9e64;
  --ow-deck-ok-tint: rgba(74, 222, 128, 0.12);
  --ow-deck-ok-edge: rgba(74, 222, 128, 0.35);
  --ow-deck-warn: #fbbf24;
  --ow-deck-warn-tint: rgba(251, 191, 36, 0.12);
  --ow-deck-warn-edge: rgba(251, 191, 36, 0.35);
  --ow-deck-danger: #f87171;
  --ow-deck-danger-tint: rgba(248, 113, 113, 0.12);
  --ow-deck-danger-edge: rgba(248, 113, 113, 0.35);
  --ow-deck-orb: radial-gradient(circle at 35% 30%, #232016, #0f0d09);
  --ow-deck-grid-line: rgba(255, 255, 255, 0.015);
  --ow-deck-inset: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  --ow-deck-radius: 16px;
  --ow-deck-radius-panel: 10px;
  --ow-deck-title: 42px;
  --ow-deck-figure: 26px;
  --ow-deck-orb-size: 112px;
  --ow-deck-max: 1180px;
  /* Scrim and blur */
  --ow-scrim: rgba(15, 23, 42, 0.45);
  --ow-scrim-strong: rgba(17, 24, 39, 0.55);
  --ow-scrim-nav: rgba(9, 14, 23, 0.5);
  --ow-blur-modal: blur(8px);
  --ow-blur-nav: blur(14px);
  --ow-scrim-modal: radial-gradient(120% 90% at 50% 40%, rgba(15, 23, 42, 0.42) 0%, rgba(9, 14, 23, 0.72) 100%);
  --ow-scrim-blur: blur(18px) saturate(0.85);
  /* Motion */
  --ow-ease: ease;
  --ow-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ow-dur-hover: 0.18s;
  --ow-dur-state: 0.2s;
  --ow-dur-panel: 0.3s;
  /* The 3px gradient hairline above the app header and dialogs */
  --ow-brand-rule: linear-gradient(90deg, #f58220, #f45b20 60%, #d9480f);
  --ow-brand-rule-height: 3px;
  /* One focus ring everywhere: a brand border plus this colour at 2px */
  --ow-focus-ring: rgba(245, 130, 32, 0.25);
  /* Type */
  --ow-font-family: "Geist", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --ow-font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --ow-type-page-title: 26px;
  --ow-type-page-title-weight: 800;
  --ow-type-view-title: 22px;
  --ow-type-view-title-weight: 800;
  --ow-type-section-title: 20px;
  --ow-type-section-title-weight: 700;
  --ow-type-card-title: 16px;
  --ow-type-card-title-weight: 600;
  --ow-type-body: 14px;
  --ow-type-body-weight: 400;
  --ow-type-meta: 13px;
  --ow-type-label: 12px;
  --ow-type-label-weight: 700;
  --ow-type-micro: 11px;
  /* One step below micro, for the smallest badge and glyph type. The screens
   * had been drawing this at 9, 9.5, 10 and 10.5px; 10px is the decision. */
  --ow-type-nano: 10px;
  --ow-type-data: 17px;
  --ow-type-data-weight: 800;
  --ow-type-touch-input: 24px;
  --ow-type-touch-input-weight: 600;
  --ow-tracking-tight: -0.01em;
  /* Titles and big figures were tracked at -0.015, -0.02 and -0.03em; one step. */
  --ow-tracking-tighter: -0.02em;
  --ow-tracking-label: 0.04em;
  /* Sentence-case type that still wants air (buttons, tabs) — was 0.02/0.03em. */
  --ow-tracking-wide: 0.02em;
  --ow-line-height: 1.5;
  /* Table header tracking, and the family numeric cells set in. Both are
   * tokens so a typeface swap can buy back set width without touching a
   * component: --ow-font-numeric stays `inherit` while the UI face has real
   * tabular figures, and points at the mono face when it doesn't. */
  --ow-thead-tracking: var(--ow-tracking-label);
  --ow-font-numeric: inherit;
  /* Semantic aliases the design system ships */
  --surface-page: var(--ow-color-page-bg);
  --surface-card: var(--ow-color-surface);
  --surface-sunken: var(--ow-color-surface-alt);
  --text-body: var(--ow-color-text);
  --text-meta: var(--ow-color-muted);
  --text-label: var(--ow-color-faint);
  --text-link: var(--ow-color-link);
  --text-link-hover: var(--ow-color-link-hover);
  --border-default: var(--ow-color-border);
  --border-hairline: var(--ow-color-border-soft);
  --accent: var(--ow-color-brand);
  --font-core: var(--ow-font-family);
  --text-title: var(--ow-type-page-title);
  --text-size-body: var(--ow-type-body);
  /* Previous CardiffCC names, kept alive as references for unmigrated screens */
  --ow-primary: var(--ow-color-brand);
  --ow-primary-strong: var(--ow-color-brand-strong);
  --ow-secondary: var(--ow-color-nav-dark);
  --ow-shell-sidebar-bg: var(--ow-color-nav-dark);
  --ow-shell-sidebar-bg-strong: var(--ow-color-nav-dark);
  --ow-shell-sidebar-text: var(--ow-color-nav-text);
  --ow-shell-sidebar-muted: var(--ow-color-nav-label);
  --ow-shell-sidebar-active-bg: var(--ow-color-brand);
  --ow-shell-sidebar-active-text: var(--ow-color-surface);
  --ow-shell-header-bg: rgba(255, 255, 255, 0.92);
  --ow-shell-page-bg: var(--ow-color-page-bg);
  --ow-shell-surface-bg: var(--ow-color-surface);
  --ow-shell-background: var(--ow-color-surface);
  --ow-shell-border: var(--ow-color-border);
  --ow-text-primary: var(--ow-color-heading);
  --ow-text-strong: var(--ow-color-heading);
  --ow-text-body: var(--ow-color-text);
  --ow-text-muted: var(--ow-color-muted);
  --ow-text-secondary: var(--ow-color-muted);
  --ow-success: var(--ow-color-success);
  --ow-danger: var(--ow-color-danger);
  --ow-shadow-soft: var(--ow-shadow-card);
  --ow-shadow-shell: var(--ow-shadow-raise);
  --ow-shadow-dialog: var(--ow-shadow-modal);
  --ow-shadow: var(--ow-shadow-card);
  --ow-transition-fast: var(--ow-dur-hover) var(--ow-ease);
  --ow-transition-base: var(--ow-dur-state) var(--ow-ease);
  --ow-navbar-height: 72px;
  --ow-sidebar-width: 248px;
  --ow-sidebar-width-wide: 280px;
  --ow-control-height: var(--ow-control-h-lg);
  --ow-card-padding: var(--ow-space-5);
  --ow-z-sidebar: 1030;
  --ow-z-overlay: 1020;
  --ow-z-header: 1040;
  --ow-z-dropdown: 1050;
  --ow-breakpoint-xs: 480px;
  --ow-breakpoint-sm: 768px;
  --ow-breakpoint-md: 992px;
  --ow-breakpoint-lg: 1200px;
  --ow-font-family-sans: var(--ow-font-family);
  --ow-font-family-heading: var(--ow-font-family);
  --ow-font-family-sidebar: var(--ow-font-family);
  --ow-font-family-nav: var(--ow-font-family);
  --ow-type-page-title-size: var(--ow-type-page-title);
  --ow-type-page-title-line: 32px;
  --ow-type-page-title-tracking: var(--ow-tracking-tight);
  --ow-type-section-title-size: var(--ow-type-section-title);
  --ow-type-section-title-line: 26px;
  --ow-type-section-title-tracking: var(--ow-tracking-tight);
  --ow-type-body-size: var(--ow-type-body);
  --ow-type-body-line: 20px;
  --ow-type-body-strong-size: var(--ow-type-body);
  --ow-type-body-strong-line: 20px;
  --ow-type-body-strong-weight: 600;
  --ow-type-small-size: var(--ow-type-meta);
  --ow-type-small-line: 18px;
  --ow-type-small-weight: 400;
  --ow-type-caption-size: var(--ow-type-label);
  --ow-type-caption-line: 16px;
  --ow-type-caption-weight: 400;
  --ow-font-size-page-title: var(--ow-type-page-title);
  --ow-font-line-page-title: var(--ow-type-page-title-line);
  --ow-font-weight-page-title: var(--ow-type-page-title-weight);
  --ow-font-size-sidebar: var(--ow-type-body);
  --ow-font-line-sidebar: var(--ow-type-body-line);
  --ow-font-weight-sidebar: 500;
  --ow-font-weight-sidebar-active: 600;
  --ow-font-size-breadcrumb: var(--ow-type-meta);
  --ow-font-line-breadcrumb: var(--ow-type-small-line);
  --ow-font-weight-breadcrumb: 400;
  --ow-font-size-account: var(--ow-type-meta);
  --ow-font-line-account: var(--ow-type-small-line);
  --ow-font-weight-account: 600;
  --ow-font-weight-medium: 500;
  --ow-font-weight-semibold: 600;
  --ow-font-weight-bold: 700;
  --ow-font-header: var(--ow-type-body);
  --ow-font-body: var(--ow-type-body);
  --ow-row-height: 48px;
  --ow-padding-x: var(--ow-space-4);
  --ow-padding-y: var(--ow-space-3);
  --ow-bg-light: var(--ow-color-surface);
  --ow-bg-dark: var(--ow-color-nav-dark);
  --ow-header-light: var(--ow-color-thead-bg);
  --ow-header-dark: var(--ow-color-nav);
  --ow-border-light: var(--ow-color-border);
  --ow-border-dark: var(--ow-color-nav);
  --ow-border-strong: var(--ow-color-border);
  --ow-hover-light: var(--ow-color-row-hover);
  --ow-hover-dark: var(--ow-color-nav);
  --ow-selected-light: var(--ow-color-selected-row);
  --ow-selected-dark: var(--ow-color-brand-strong);
  --ow-selected-bg: var(--ow-color-selected-bg);
  --ow-selected-bg-strong: var(--ow-color-selected-row);
  --ow-surface-sunken: var(--ow-color-surface-alt);
  --ow-radius: var(--ow-radius-md);
  --ow-input-surface: var(--ow-color-surface);
  --ow-input-border: var(--ow-color-border);
  --ow-period-surface: var(--ow-color-brand-tint-strong);
  --ow-toolbar-divider: var(--ow-color-border);
  --ow-pill-unselected-bg: var(--ow-color-brand-tint);
  --ow-pill-unselected-hover-bg: var(--ow-color-brand-tint-strong);
  --ow-pill-selected-bg: var(--ow-color-brand);
  --ow-pill-selected-border: var(--ow-color-brand);
  --ow-pill-border: var(--ow-color-brand-tint-strong);
  --ow-pill-hover-border: var(--ow-color-brand);
  --ow-pill-unselected-text: var(--ow-color-muted);
  --ow-pill-unselected-hover-text: var(--ow-color-text);
  --ow-pill-selected-text: var(--ow-color-surface);
  --ow-button-secondary-bg: var(--ow-color-surface);
  --ow-button-secondary-border: var(--ow-color-border);
  --ow-button-secondary-hover-bg: var(--ow-color-page-bg);
  --ow-button-filter-bg: var(--ow-color-brand-tint);
  --ow-button-filter-border: var(--ow-color-brand-tint-strong);
  --ow-button-danger-hover-bg: #b62626;
  /* Names the screens invented for values the token layer already carried.
   * Kept as references, never literals, so there is one source per value:
   * glass = the translucent header, card-shadow = the table/card elevation,
   * selected-* = the warm selection tints, hover-glyph = brand deep.
   * --ow-hover-tint is the only genuinely new value (the warm row-icon wash). */
  --ow-glass: var(--ow-shell-header-bg);
  --ow-card-shadow: var(--ow-shadow-table);
  --ow-selected-row: var(--ow-color-selected-row);
  --ow-selected-card: var(--ow-color-selected-bg);
  --ow-hover-tint: #fff2e6;
  --ow-hover-glyph: var(--ow-color-brand-deep);
  /* Slate body copy one step darker than muted — annotation and artboard voice.
   * The screens had been writing #475569 out longhand. */
  --ow-color-text-soft: #475569;
  /* Live device: the online dot, its label colour and its tint */
  --ow-color-online: #22c55e;
  --ow-color-online-fg: #0f7a4a;
  --ow-color-online-bg: #f5fbf7;
  /* Outlined destructive: a softer red than --ow-color-danger, plus its edge */
  --ow-color-danger-solid: #c53b37;
  --ow-color-danger-edge: rgba(217, 83, 79, 0.5);
  /* Brand at the strength a selected surface's border and lift need */
  --ow-color-brand-edge: rgba(245, 130, 32, 0.35);
  --ow-shadow-brand-soft: 0 6px 18px rgba(245, 130, 32, 0.18);
  /* Two steps above --ow-space-8, for specimen and artboard rhythm */
  --ow-space-9: 56px;
  --ow-space-10: 64px;
  /* Style-reference page: its own title role and measure */
  --ow-type-doc-title: 34px;
  --ow-doc-max: 1200px;
  /* Artboard canvas: desk ground, prose measures, frame chrome, breakpoints */
  --ow-canvas-bg: #eceff3;
  --ow-canvas-prose: 900px;
  --ow-canvas-prose-narrow: 820px;
  --ow-frame-gap: 40px;
  --ow-frame-sidebar: var(--ow-sidebar-width);
  --ow-frame-sidebar-collapsed: 76px;
  --ow-frame-rail: 236px;
  --ow-frame-band-label: 210px;
  --ow-type-frame-title: 18px;
  --ow-type-frame-page-title: 24px;
  --ow-type-canvas-title: 32px;
  --ow-icon-tile-sm: 38px;
  --ow-icon-tile-xs: 34px;
  --ow-kind-min-h: 132px;
  --ow-kind-min-h-touch: 104px;
  --ow-choice-min-h: 72px;
  --ow-choice-min-h-touch: 64px;
  --ow-bp-desktop-w: 1440px;
  --ow-bp-desktop-h: 1024px;
  --ow-bp-tablet-w: 768px;
  --ow-bp-tablet-h: 1024px;
  --ow-bp-mobile-w: 390px;
  --ow-bp-mobile-h: 844px;
  /* Simulated scroll offsets the `.ow-frame__col--scroll-*` mock-shell rules
   * read. They are artboard values, but the
   * rules that consume them were ported into layer 2, so the tokens have to
   * come with them: without a definition `calc(var(...) * -1)` is invalid at
   * computed-value time and the declaration drops silently. */
  --ow-frame-scroll-installer: 820px;
  --ow-frame-scroll-fact: 940px;
  --ow-frame-scroll-nudge: 60px;
  /* Four values that were literals in the design layer, tokenised on the port.
   * A literal colour anywhere is a defect. Two of them are
   * the always-dark chrome (the `.ow-nav--dark` rail, the sign-in hero panel),
   * which is why they have no `.theme-dark` counterpart below — they are dark
   * in both themes by design. `--ow-color-border-strong` does: as a literal it
   * painted a light-grey hover border on a dark input. */
  --ow-color-border-strong: #cbd5e1;
  --ow-color-nav-surface: #11151c;
  --ow-color-nav-heading: #ffffff;
  --ow-color-on-dark: #e6e6e6;
}

/* Dark mode is a token swap only — no per-component rules.
 *
 * `color-scheme` is declared with the tokens rather than left out: it is what
 * makes the things CSS does not own follow the theme — form control chrome,
 * scrollbars, the caret, spellcheck underlines, and the canvas behind an
 * overscroll. Without it a dark page keeps light scrollbars. */
/* line 489, app/assets/stylesheets/_ow_tokens.scss */
.theme-dark {
  color-scheme: dark;
  --ow-color-page-bg: #121417;
  --ow-color-surface: #1a1d21;
  --ow-color-surface-alt: #1f2327;
  --ow-color-border: #3a3f45;
  --ow-color-border-soft: #2a2e33;
  --ow-color-border-strong: #4b525a;
  --ow-color-text: #e6e6e6;
  --ow-color-muted: #aab2bb;
  --ow-color-heading: #ffffff;
  --ow-color-row-hover: rgba(255, 255, 255, 0.06);
  --ow-color-thead-bg: #1f2327;
  --ow-color-selected-bg: rgba(245, 130, 32, 0.10);
  --ow-color-selected-row: rgba(245, 130, 32, 0.14);
  --ow-shell-header-bg: rgba(20, 24, 31, 0.9);
  --ow-shadow-table: 0 1px 2px rgba(0, 0, 0, 0.5), 0 14px 34px rgba(0, 0, 0, 0.42);
  --ow-shadow-card: 0 1px 2px rgba(0, 0, 0, 0.5), 0 10px 26px rgba(0, 0, 0, 0.4);
  --ow-shadow-contact: 0 1px 2px rgba(0, 0, 0, 0.45);
  --ow-shadow-dot: 0 1px 3px rgba(0, 0, 0, 0.5);
  --ow-shadow-drawer: -24px 0 60px rgba(0, 0, 0, 0.5);
  --ow-hover-tint: rgba(245, 130, 32, 0.18);
  --ow-hover-glyph: var(--ow-color-brand);
  --ow-color-text-soft: #c3ccd6;
  --ow-color-online: #22c55e;
  --ow-color-online-fg: #4ade80;
  --ow-color-online-bg: rgba(34, 197, 94, 0.12);
  --ow-color-brand-edge: rgba(245, 130, 32, 0.45);
  --ow-canvas-bg: #0f1114;
  --ow-color-link: #7fb2f0;
  --ow-color-link-hover: #a8cbf7;
  --ow-status-info-bg: rgba(36, 99, 255, 0.16);
  --ow-status-info-fg: #a8cbf7;
}

/*
 * ONE FAMILY, ONE PLACE.
 *
 * This is the only file in the app that names a font file. Geist for the whole
 * UI, Geist Mono for strings a person transcribes or compares character by
 * character (API keys, endpoints, enrolment links, EWC codes). Both OFL 1.1,
 * both self-hosted from app/assets/fonts/geist/.
 *
 * Inter is gone entirely — not kept as a fallback. Two families loaded for one
 * UI compete for the same weights, double the font payload on a weighbridge
 * tablet, and make `document.fonts.check` meaningless. If a screen looks wrong
 * without Inter, that screen has a hardcoded font stack and the stack is the
 * defect.
 *
 * VENDOR THESE FOUR FILES (from vercel/geist-font, releases → assets):
 *   app/assets/fonts/geist/Geist-Variable.woff2     (upstream Geist[wght].woff2)
 *   app/assets/fonts/geist/GeistMono-Variable.woff2 (upstream GeistMono[wght].woff2)
 * Renamed on vendoring: sassc's `font-url()` rejects the square brackets in
 * the released filenames as an invalid URI, so the asset pipeline cannot
 * resolve them under their upstream names.
 * Both are variable, so five static weights become one request each. The
 * `font-weight: 100 900` range is what lets 800 — the weight the data and
 * title roles ask for — actually resolve, which is the bug the old Google
 * Fonts pull had.
 *
 * TWO THINGS TO STRIP FROM THE TOKEN LAYER when folding `ow-globals.css` into
 * `ow_foundation`, or this file's "one family" claim is only half true:
 *   1. `"Inter"` in `--ow-font-family`'s stack — no Inter face is declared
 *      here, so the entry falls through to Segoe/Helvetica rather than Inter.
 *   2. the `.theme-inter` rule — a design-time migration-comparison theme that
 *      cannot work downstream for the same reason. Both are marked
 *      design-time-only at their definitions.
 *
 * `font-display: swap` so text paints immediately in the fallback rather than
 * sitting invisible while the file loads.
 */
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/geist/Geist-Variable-2ffebe993e969069a9789d15164b7715d42491b5835516c5e3b935d5f81b05f1.woff2) format("woff2-variations");
}

@font-face {
  font-family: "Geist Mono";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/geist/GeistMono-Variable-afaacc4c5fbba89d2ebf7a02dc4070208540874592a5504d57175782fe893101.woff2) format("woff2-variations");
}

/* Base ------------------------------------------------------------------- */
/* line 56, app/assets/stylesheets/_ow_typography.scss */
body,
input,
select,
textarea,
button {
  font-family: var(--ow-font-family);
}

/* line 64, app/assets/stylesheets/_ow_typography.scss */
body {
  color: var(--ow-color-text);
  font-size: var(--ow-type-body);
  font-weight: var(--ow-type-body-weight);
  line-height: var(--ow-line-height);
}

/* With Bootstrap gone these are the whole heading treatment, not a partial
 * statement layered over its sizes. Size and weight come from the type roles
 * below; a heading with neither is a body-sized heading, which is a markup bug
 * worth being able to see. */
/* line 75, app/assets/stylesheets/_ow_typography.scss */
h1, h2, h3, h4, h5, h6 {
  color: var(--ow-color-heading);
  font-family: var(--ow-font-family);
  letter-spacing: var(--ow-tracking-tight);
  margin: 0;
}

/* `text-decoration: none` is part of the contract, not a preference.
 * Nearly every link in this design is a
 * control - a filter pill, a nav row, a table action - and the UA underline
 * drew a line under all of them. `.ow-linklike` puts the underline back on
 * hover for the few links that are genuinely prose links. */
/* line 87, app/assets/stylesheets/_ow_typography.scss */
a {
  color: var(--ow-color-link);
  text-decoration: none;
}

/* line 92, app/assets/stylesheets/_ow_typography.scss */
a:hover,
a:focus {
  color: var(--ow-color-link-hover);
}

/* One focus ring everywhere, stated once. Deliberately not scoped to `.ow-*`:
 * a focus indicator missing from a control is an accessibility defect, not a
 * styling preference. */
/* line 100, app/assets/stylesheets/_ow_typography.scss */
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus,
[tabindex]:focus {
  border-color: var(--ow-color-brand);
  box-shadow: 0 0 0 2px var(--ow-focus-ring);
  outline: 0;
}

/* A mouse click focuses a link or button too, and ringing every clicked
 * control is noise. Keyboard focus keeps the ring; pointer focus drops it.
 * Text inputs are excluded — a caret alone is a weak indicator of which field
 * is live on a bright weighbridge screen. */
/* line 115, app/assets/stylesheets/_ow_typography.scss */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
[tabindex]:focus:not(:focus-visible) {
  box-shadow: none;
}

/* Type roles -------------------------------------------------------------- */
/* line 123, app/assets/stylesheets/_ow_typography.scss */
.ow-type-page-title {
  font-size: var(--ow-type-page-title);
  font-weight: var(--ow-type-page-title-weight);
  letter-spacing: var(--ow-tracking-tight);
  line-height: var(--ow-type-page-title-line);
}

/* line 130, app/assets/stylesheets/_ow_typography.scss */
.ow-type-view-title {
  font-size: var(--ow-type-view-title);
  font-weight: var(--ow-type-view-title-weight);
  letter-spacing: var(--ow-tracking-tight);
  line-height: 28px;
}

/* line 137, app/assets/stylesheets/_ow_typography.scss */
.ow-type-section-title {
  font-size: var(--ow-type-section-title);
  font-weight: var(--ow-type-section-title-weight);
  letter-spacing: var(--ow-tracking-tight);
  line-height: var(--ow-type-section-title-line);
}

/* line 144, app/assets/stylesheets/_ow_typography.scss */
.ow-type-card-title {
  font-size: var(--ow-type-card-title);
  font-weight: var(--ow-type-card-title-weight);
  line-height: 22px;
}

/* line 150, app/assets/stylesheets/_ow_typography.scss */
.ow-type-body {
  font-size: var(--ow-type-body);
  font-weight: var(--ow-type-body-weight);
  line-height: var(--ow-type-body-line);
}

/* line 156, app/assets/stylesheets/_ow_typography.scss */
.ow-type-body-strong {
  font-size: var(--ow-type-body);
  font-weight: var(--ow-type-body-strong-weight);
  line-height: var(--ow-type-body-line);
}

/* line 162, app/assets/stylesheets/_ow_typography.scss */
.ow-type-small,
.ow-type-meta {
  font-size: var(--ow-type-meta);
  font-weight: var(--ow-type-small-weight);
  line-height: var(--ow-type-small-line);
}

/* line 169, app/assets/stylesheets/_ow_typography.scss */
.ow-type-caption {
  font-size: var(--ow-type-caption-size);
  font-weight: var(--ow-type-caption-weight);
  line-height: var(--ow-type-caption-line);
}

/* line 175, app/assets/stylesheets/_ow_typography.scss */
.ow-type-micro {
  font-size: var(--ow-type-micro);
  line-height: 14px;
}

/* An eyebrow or a table header is structural, so it is uppercase, heavy and
 * tracked out. Sentence case everywhere else. */
/* line 182, app/assets/stylesheets/_ow_typography.scss */
.ow-type-label {
  font-size: var(--ow-type-label);
  font-weight: var(--ow-type-label-weight);
  letter-spacing: var(--ow-tracking-label);
  line-height: 16px;
  text-transform: uppercase;
}

/* A figure the operator reads at a glance — a weight, a total, a KPI. Tabular
 * figures so digits do not shift column as they change. Deliberately NO
 * family of its own: it inherits `--ow-font-family` (Geist), which is what the
 * design layer defines. Mono is reserved for strings a person transcribes or
 * compares character by character — setting it here would put every weight,
 * total, KPI tile and console readout in Geist Mono. */
/* line 196, app/assets/stylesheets/_ow_typography.scss */
.ow-type-data {
  font-feature-settings: "tnum" 1;
  font-size: var(--ow-type-data);
  font-variant-numeric: tabular-nums;
  font-weight: var(--ow-type-data-weight);
  line-height: 22px;
}

/* Tabular figures WITHOUT the data role's size and weight, for a number that
 * sits in running text or a table cell: a quantity column, a price, a count.
 * `ow-globals.css` §6 declares it beside `.ow-type-data`; the port kept the
 * role and dropped the alias, so five artboards' number columns lost their
 * tabular figures and digits shifted column as values changed. */
/* line 209, app/assets/stylesheets/_ow_typography.scss */
.ow-numeric {
  font-feature-settings: "tnum" 1;
  font-variant-numeric: tabular-nums;
}

/* Below 768px every real input is a touch target: 56px tall with 24px/600
 * text. Global, not per-screen — the same form is used on a weighbridge tablet
 * as on a desk. Type-restricted so it cannot catch checkboxes, radios, hidden
 * fields or file pickers. */
@media (max-width: 767px) {
  /* line 219, app/assets/stylesheets/_ow_typography.scss */
  input[type="text"],
input[type="search"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="date"],
input[type="datetime-local"],
select,
textarea {
    font-size: var(--ow-type-touch-input);
    font-weight: var(--ow-type-touch-input-weight);
    min-height: var(--ow-control-h-touch);
  }
  /* line 235, app/assets/stylesheets/_ow_typography.scss */
  textarea {
    min-height: calc(var(--ow-control-h-touch) * 2);
  }
}

/* Base reset ------------------------------------------------------------- */
/* line 18, app/assets/stylesheets/ow_foundation.css.scss */
* {
  box-sizing: border-box;
}

/* line 20, app/assets/stylesheets/ow_foundation.css.scss */
html, body {
  background: var(--ow-color-page-bg);
  margin: 0;
  padding: 0;
}

/*
  `hidden` must actually hide.

  The UA rule behind the attribute is `[hidden] { display: none }` at zero
  specificity, so ANY class that sets `display` beats it - and layer 2 is full
  of them. The drawer host is `.ow-overlay`, which is `display: flex`, so a
  `hidden` host rendered as a full-screen scrim over every page until this rule
  existed. Found in the browser, invisibly to the tests.

  This belongs in the base layer rather than beside any one component: the next
  thing built on a `display`-setting primitive would hit exactly the same trap.
*/
/* line 38, app/assets/stylesheets/ow_foundation.css.scss */
[hidden] {
  display: none !important;
}

/* ── 4. Shared primitives the screens had each re-declared ─────────────── */
/* line 42, app/assets/stylesheets/ow_foundation.css.scss */
.ow-surface {
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-card);
  box-shadow: var(--ow-shadow-table);
}

/* line 49, app/assets/stylesheets/ow_foundation.css.scss */
.ow-input {
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-md);
  color: var(--ow-color-text);
  font-family: inherit;
  font-size: var(--ow-type-body);
  height: var(--ow-control-h-lg);
  padding: 0 var(--ow-space-3);
  transition: border-color var(--ow-dur-hover) var(--ow-ease), box-shadow var(--ow-dur-hover) var(--ow-ease);
  width: 100%;
}

/* line 61, app/assets/stylesheets/ow_foundation.css.scss */
.ow-input:hover {
  border-color: var(--ow-color-border-strong);
}

/* line 62, app/assets/stylesheets/ow_foundation.css.scss */
.ow-input:disabled {
  background: var(--ow-color-surface-alt);
  color: var(--ow-color-faint);
  cursor: not-allowed;
}

/* line 68, app/assets/stylesheets/ow_foundation.css.scss */
.ow-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

/* line 69, app/assets/stylesheets/ow_foundation.css.scss */
.ow-field__label {
  color: var(--ow-color-faint);
  font-size: var(--ow-type-micro);
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* line 76, app/assets/stylesheets/ow_foundation.css.scss */
.ow-field__hint {
  color: var(--ow-color-muted);
  font-size: var(--ow-type-meta);
  line-height: var(--ow-line-height);
}

/* ── Status vocabulary ─────────────────────────────────────────────────────
 * The canonical tone set. These seven names are the ONLY status words in the
 * project; every screen, every fixture tone map and the design-system
 * `Badge` component's `tone` prop use exactly these, and nothing else is
 * defined. Reaching for a name that is not on this list renders unstyled.
 *
 *   --pass     a good, settled state: Active, Approved, Valid, Closed, In list,
 *              Connected, Enabled, seen recently, presence confirmed
 *   --warning  attention, still fine: Open, Awaiting Pair, Expiring, Invited,
 *              Tipping, direction/weight warnings
 *   --fail     wrong or absent when it should not be: Archived-with-cause,
 *              Check failed, Expired, Offline, Never seen, Suspended
 *   --due      an action is owed, nothing is broken yet: Unverified,
 *              Revalidation due, override in force
 *   --info     a classification, not a state: role names, Primary, Partial Pair
 *   --neutral  no state, or a deliberately weightless one: Archived, Disabled,
 *              Cancelled, Unlinked, codes, "None needed", absence of presence
 *   --brand    the one configured default per owning role — nothing else
 *
 * Two rules that outrank the styling. Status is icon-only in dense table
 * cells, carrying its label in a tooltip. Derived states (expired, expiring,
 * stale) are computed at read time and never persisted.
 *
 * Layer note for the Rails port: this whole block is layer 1. Keep it here —
 * a tone declared per screen or per page stylesheet is the defect this set
 * exists to remove. --fixed is the only modifier that is not a tone. */
/* line 104, app/assets/stylesheets/ow_foundation.css.scss */
.ow-badge {
  align-items: center;
  border-radius: var(--ow-radius-pill);
  display: inline-flex;
  font-size: var(--ow-type-micro);
  font-weight: 700;
  gap: 6px;
  line-height: 22px;
  min-height: 22px;
  padding: 0 var(--ow-space-2);
  white-space: nowrap;
}

/* line 116, app/assets/stylesheets/ow_foundation.css.scss */
.ow-badge i {
  font-size: 10px;
}

/* line 117, app/assets/stylesheets/ow_foundation.css.scss */
.ow-badge--pass {
  background: var(--ow-status-pass-bg);
  color: var(--ow-status-pass-fg);
}

/* line 118, app/assets/stylesheets/ow_foundation.css.scss */
.ow-badge--warning {
  background: var(--ow-status-warning-bg);
  color: var(--ow-status-warning-fg);
}

/* line 119, app/assets/stylesheets/ow_foundation.css.scss */
.ow-badge--fail {
  background: var(--ow-status-fail-bg);
  color: var(--ow-status-fail-fg);
}

/* line 120, app/assets/stylesheets/ow_foundation.css.scss */
.ow-badge--info {
  background: var(--ow-status-info-bg);
  color: var(--ow-status-info-fg);
}

/* line 121, app/assets/stylesheets/ow_foundation.css.scss */
.ow-badge--neutral {
  background: var(--ow-color-border-soft);
  color: var(--ow-color-muted);
}

/* line 122, app/assets/stylesheets/ow_foundation.css.scss */
.ow-badge--brand {
  background: var(--ow-color-brand-tint);
  color: var(--ow-color-brand-deep);
}

/* line 123, app/assets/stylesheets/ow_foundation.css.scss */
.ow-badge--due {
  background: var(--ow-status-due-bg);
  color: var(--ow-status-due-fg);
}

/* Equal-width badge for a run of parallel yes/no flags (1st / 2nd / Tip), so
 * the row reads as a set rather than as ragged pills. Not a tone. */
/* line 126, app/assets/stylesheets/ow_foundation.css.scss */
.ow-badge--fixed {
  justify-content: center;
  letter-spacing: var(--ow-tracking-wide);
  width: 52px;
}

/* line 128, app/assets/stylesheets/ow_foundation.css.scss */
.ow-pill {
  align-items: center;
  background: var(--ow-color-surface-alt);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-pill);
  color: var(--ow-color-text);
  display: inline-flex;
  font-size: var(--ow-type-meta);
  font-weight: 600;
  gap: var(--ow-space-2);
  min-height: 28px;
  padding: 0 var(--ow-space-3);
  white-space: nowrap;
}

/* line 142, app/assets/stylesheets/ow_foundation.css.scss */
.ow-pill i {
  color: var(--ow-color-faint);
  font-size: var(--ow-type-micro);
}

/* line 143, app/assets/stylesheets/ow_foundation.css.scss */
.ow-pill--brand {
  background: var(--ow-color-brand-tint);
  border-color: var(--ow-color-brand-tint-strong);
  color: var(--ow-color-brand-deep);
}

/* line 148, app/assets/stylesheets/ow_foundation.css.scss */
.ow-pill--brand i {
  color: var(--ow-color-brand);
}

/* line 149, app/assets/stylesheets/ow_foundation.css.scss */
.ow-pill--pass {
  background: var(--ow-status-pass-bg);
  border-color: transparent;
  color: var(--ow-status-pass-fg);
}

/* line 150, app/assets/stylesheets/ow_foundation.css.scss */
.ow-pill--pass i {
  color: var(--ow-status-pass-fg);
}

/* line 151, app/assets/stylesheets/ow_foundation.css.scss */
.ow-pill--warning {
  background: var(--ow-status-warning-bg);
  border-color: transparent;
  color: var(--ow-status-warning-fg);
}

/* line 152, app/assets/stylesheets/ow_foundation.css.scss */
.ow-pill--warning i {
  color: var(--ow-status-warning-fg);
}

/* The shared panel/detail entrance, used by every expandable row and drawer. */
@keyframes ow-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*
 * LAYER 2 — THE COMPONENT LAYER, AND THE DELIVERABLE.
 *
 * The classes here are the contract, not an illustration of one: a screen is
 * markup over these class names and declares no styles of its own. Copy the
 * classes; do not restate their rules in a view or a page stylesheet.
 *
 * Everything resolves to a token in `_ow_tokens.scss`; there is no literal
 * colour in this file. Dark mode is the token swap and nothing here has a dark
 * rule of its own.
 *
 * FILE EXTENSION: plain `.css`, deliberately. This layer is preprocessor-free
 * CSS and uses modern CSS functions — `min()`, `max()`, `clamp()` — that sassc
 * parses as its own legacy Sass functions and rejects ("Incompatible units:
 * 'px' and 'vw'"). Running it through Sass buys nothing and breaks the build,
 * so it is served as written.
 *
 * The table section is `ow-data-table.css` folded in: one table in the portal,
 * one card shell, one sticky header, one sticky-right Actions column. There is no second table and no per-screen table
 * styling.
 *
 * NAMING, decided 2026-08-21 by the operator: this file's vocabulary is
 * canonical. `.ow-card`, `.ow-btn-*`, `.ow-chip`, `.ow-actionbar`, `.ow-empty`,
 * `.ow-stat` and `.ow-data-table__footer` are first-class primitives, not
 * compatibility aliases. The competing set once named in
 * the retired UI vocabulary (`ow-surface__*`, `ow-button--primary`,
 * `ow-pill--success`, `ow-empty-state`, `ow-record-card`, `ow-summary-card`,
 * `ow-data-table__pagination`) is retired; that doc now points here.
 *
 * If a screen needs something this file does not have, use the nearest
 * primitive it does have. If nothing is close, add it HERE as a token-only
 * rule so every screen gets it. Never a per-page fix, and never a legacy
 * selector reintroduced as a bridge.
 */

/* OpenWeigh — shared component layer.
 *
 * Second and last stylesheet every screen links, after ow-globals.css:
 *
 *   <link rel="stylesheet" href="./ow-globals.css">      tokens + base + type roles
 *   <link rel="stylesheet" href="./ow-components.css">   the classes below
 *   <link rel="stylesheet" href="./ow-data-table.css">   only if the page has a data table
 *
 * Rules for authoring screens against this file:
 *   1. No inline `style` attributes on a screen. If a value is presentational,
 *      it belongs to a class here. If it is state, it is a modifier class
 *      (`.is-active`, `.is-open`, `.ow-nav--collapsed`) that this file styles.
 *   2. No literals. Every value is a `var(--ow-*)` from ow-globals.css.
 *      A value that isn't a token yet gets a token there first.
 *   3. Never restate a rule a design-system bundle component already carries —
 *      mount OpenWeighDesignSystem_5c935f.Button / IconButton / Badge / etc.
 *      `.ow-btn` below exists for the plain-markup cases the bundle can't reach
 *      (anchors, template-driven lists) and is the same treatment by design.
 *   4. Dark mode is never handled here. It is a token swap in ow-globals.css.
 *
 * Sections: 1 layout · 2 type + text · 3 shell nav · 4 top bar + menus
 * 5 buttons · 6 forms · 7 cards + panels · 8 status · 9 overlays · 10 states
 * 11 record hero + form bands + docks · 12 sign-in · 13 record search
 * 14 profile · 15 ticket card · 16 log cells · 17 weighing activities
 * 18 style-reference specimens · 19 artboard canvas + mock portal frames
 */

/* ── 1. Layout ─────────────────────────────────────────────────────────── */


.ow-shell { background: var(--ow-color-page-bg); min-height: 100vh; }
/* The rail is `position: fixed`, so the content column is inset by margin.
 * Two widths only, and none below the mobile breakpoint. */
.ow-shell__main {
  display: flex;
  flex-direction: column;
  margin-left: var(--ow-sidebar-width);
  min-height: 100vh;
  min-width: 0;
  transition: margin-left var(--ow-dur-state) var(--ow-ease-out);
}
.ow-shell__main--rail { margin-left: 76px; }
/* Fixed-height shell: the results surface scrolls internally instead of the
 * page. Desktop only — mobile keeps normal document flow. */
@media (min-width: 768px) {
  .ow-shell--fixed, .ow-shell--fixed .ow-shell__main { height: 100vh; overflow: hidden; }
  /* The body scrolls rather than clips: on a short window the results surface
   * keeps its floor and the page gives way instead of hiding the footer. */
  .ow-shell--fixed .ow-shell__body { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; overflow: auto; }
}
.ow-shell--fixed .ow-shell__body > .ow-stack { flex: 1 1 auto; min-height: 0; }
/* A section stack nested one level down (a screen that switches between
 * sections) passes the height on, so its results table still fills the page. */
.ow-shell--fixed .ow-shell__body > .ow-stack > .ow-stack { flex: 1 1 auto; min-height: 0; }
@media (max-width: 767px) { .ow-shell__main, .ow-shell__main--rail { margin-left: 0; } }
.ow-shell__body {
  flex: 1 1 auto;
  margin: 0 auto;
  max-width: var(--ow-page-max);
  padding: var(--ow-space-6) var(--ow-gutter-page) var(--ow-space-8);
  width: 100%;
}
.ow-shell__body--wide { max-width: var(--ow-page-max-wide); }
.ow-shell__body--flush { padding-top: var(--ow-space-4); }
/* Signed-out pages own the whole viewport: the auth split (`.ow-auth`) is a
 * full-bleed two-column layout, so the content column's page measure and
 * gutters have to come off rather than be worked around per screen. */
.ow-shell__body--bare { max-width: none; padding: 0; }
@media (max-width: 767px) {
  .ow-shell__body { padding: var(--ow-space-4) var(--ow-gutter-page-mobile) var(--ow-space-7); }
  .ow-shell__body--bare { padding: 0; }
}

/* The one gradient in the system: the 3px rule above header and dialog chrome. */
/* Brand-coloured inline mark (icon or word inside body copy). */
.ow-brand { color: var(--ow-color-brand); }

.ow-brand-rule { background: var(--ow-brand-rule); flex: none; height: var(--ow-brand-rule-height); }

/* Flex/grid helpers. Everything laid out as siblings uses one of these,
 * never source whitespace or per-element margins. */
.ow-row { align-items: center; display: flex; gap: var(--ow-space-3); min-width: 0; }
.ow-row--tight { gap: var(--ow-space-2); }
.ow-row--loose { gap: var(--ow-space-4); }
.ow-row--wrap { flex-wrap: wrap; }
.ow-row--between { justify-content: space-between; }
.ow-row--end { justify-content: flex-end; }
.ow-row--baseline { align-items: baseline; }
.ow-row--top { align-items: flex-start; }
.ow-stack { display: flex; flex-direction: column; gap: var(--ow-space-3); min-width: 0; }
.ow-stack--tight { gap: var(--ow-space-2); }
.ow-stack--hair { gap: var(--ow-space-1); }
.ow-stack--loose { gap: var(--ow-space-5); }
.ow-stack--section { gap: var(--ow-space-6); }
.ow-grid { display: grid; gap: var(--ow-space-4); }
.ow-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ow-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ow-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ow-grid--auto { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.ow-grid--auto-wide { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
@media (max-width: 991px) {
  .ow-grid--3, .ow-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .ow-grid--2, .ow-grid--3, .ow-grid--4 { grid-template-columns: minmax(0, 1fr); }
}
.ow-fill { flex: 1 1 auto; min-width: 0; }
/* Shrinkable flex column — the parent a scrolling child needs to size against. */
.ow-flexcol { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; min-width: 0; }
/* A results surface should never collapse to nothing when the chrome above it
 * is tall; it keeps a floor and scrolls internally. */
.ow-flexcol--results { min-height: 340px; }
.ow-push { margin-left: auto; }
.ow-span-all { grid-column: 1 / -1; }
/* Record page: content column plus a 324px rail. */
.ow-page-grid { align-items: start; display: grid; gap: var(--ow-space-4); grid-template-columns: minmax(0, 1fr) 324px; }
@media (max-width: 991px) { .ow-page-grid { grid-template-columns: minmax(0, 1fr); gap: var(--ow-space-3); } }
/* Two-column field grid, one column on mobile. */
.ow-formgrid { display: grid; gap: var(--ow-space-4); grid-template-columns: repeat(2, minmax(0, 1fr)); padding: var(--ow-space-4); }
@media (max-width: 767px) { .ow-formgrid { grid-template-columns: minmax(0, 1fr); } }
.ow-fixed { flex: none; }
.ow-divider { background: var(--ow-color-border); border: 0; flex: none; height: 1px; margin: 0; width: 100%; }
.ow-divider--v { height: 26px; width: 1px; }
.ow-divider--soft { background: var(--ow-color-border-soft); }
/* Full-bleed band inside the padded content column (page head, hero). */
.ow-bleed { margin: calc(var(--ow-space-4) * -1) calc(var(--ow-gutter-page) * -1) 0; }
@media (max-width: 767px) { .ow-bleed { margin: calc(var(--ow-gutter-page-mobile) * -1) calc(var(--ow-gutter-page-mobile) * -1) 0; } }
.ow-pagehead { background: var(--ow-color-surface); border-bottom: 1px solid var(--ow-color-border); }
.ow-pagehead__body { display: flex; flex-direction: column; gap: var(--ow-space-3); padding: 14px var(--ow-gutter-page); }
@media (max-width: 767px) { .ow-pagehead__body { padding: 14px var(--ow-gutter-page-mobile); } }
.ow-hide-mobile { display: initial; }
.ow-only-mobile { display: none; }
@media (max-width: 767px) {
  .ow-hide-mobile { display: none; }
  .ow-only-mobile { display: initial; }
}

/* ── 2. Type and text ──────────────────────────────────────────────────── */
/* The px type roles live in ow-globals.css as .ow-type-*. These are the
 * recurring text treatments built on top of them. */

.ow-eyebrow {
  color: var(--ow-color-faint);
  font-size: var(--ow-type-micro);
  font-weight: 800;
  letter-spacing: var(--ow-tracking-label);
  text-transform: uppercase;
}
.ow-eyebrow--nano { font-size: var(--ow-type-nano); }
.ow-eyebrow--brand { color: var(--ow-color-brand); }
.ow-title { font-size: var(--ow-type-view-title); font-weight: 800; letter-spacing: var(--ow-tracking-tighter); margin: 0; }
.ow-title--page { font-size: var(--ow-type-page-title); }
.ow-title--section { font-size: var(--ow-type-section-title); font-weight: 700; letter-spacing: var(--ow-tracking-tight); }
.ow-title--card { font-size: var(--ow-type-card-title); font-weight: 600; letter-spacing: 0; }
.ow-lede { color: var(--ow-color-muted); font-size: var(--ow-type-body); line-height: var(--ow-line-height); margin: 0; max-width: 68ch; }
.ow-meta { color: var(--ow-color-muted); font-size: var(--ow-type-meta); }
.ow-meta--strong { color: var(--ow-color-text); font-weight: 700; }
.ow-meta--label { font-size: var(--ow-type-label); line-height: var(--ow-line-height); }
.ow-muted { color: var(--ow-color-muted); }
.ow-faint { color: var(--ow-color-faint); }
.ow-strong { font-weight: 700; }
.ow-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* A button that reads as a record link — table name cells whose click opens an editor rather than navigating. */
.ow-linklike { background: none; border: 0; padding: 0; font: inherit; text-align: left; color: var(--ow-color-link); cursor: pointer; }
.ow-linklike:hover { color: var(--ow-color-link-hover); text-decoration: underline; }
.ow-nowrap { white-space: nowrap; }
.ow-mono { color: var(--ow-color-muted); font-family: var(--ow-font-mono); font-size: var(--ow-type-label); }
.ow-mono--faint { color: var(--ow-color-faint); }
.ow-mono--text { color: var(--ow-color-text); font-weight: 700; }
/* Money, weights, serials and counts: tabular 800-weight figures. */
.ow-figure {
  font-feature-settings: "tnum" 1;
  font-size: var(--ow-type-data);
  font-variant-numeric: tabular-nums;
  font-weight: var(--ow-type-data-weight);
  letter-spacing: var(--ow-tracking-tighter);
}
.ow-figure--lg { font-size: 27px; }
.ow-figure--sm { font-size: var(--ow-type-card-title); }
/* A record number: orange hash, 700 digits. */
.ow-recno { font-variant-numeric: tabular-nums; font-weight: 700; }
.ow-recno::before { color: var(--ow-color-brand); content: "#"; }

/* ── 3. Shell navigation ───────────────────────────────────────────────── */

.ow-nav {
  --nav-bg: var(--ow-color-surface);
  --nav-border: var(--ow-color-border);
  --nav-text: var(--ow-color-text);
  --nav-idle: var(--ow-color-muted);
  --nav-label: var(--ow-color-faint);
  --nav-sub: var(--ow-color-page-bg);
  --nav-hover-bg: var(--ow-color-brand-tint);
  --nav-hover-text: var(--ow-color-brand-deep);
  --nav-item-h: 42px;
  --nav-child-h: 38px;
  background: var(--nav-bg);
  border-right: 1px solid var(--nav-border);
  bottom: 0;
  display: flex;
  flex-direction: column;
  left: 0;
  overflow: hidden;
  padding-bottom: env(safe-area-inset-bottom);
  position: fixed;
  top: 0;
  transition: width var(--ow-dur-state) var(--ow-ease-out), transform var(--ow-dur-panel) var(--ow-ease-out);
  width: var(--ow-sidebar-width);
  z-index: var(--ow-z-sidebar);
}
.ow-nav--dark {
  --nav-bg: var(--ow-color-nav-surface);
  --nav-border: rgba(255, 255, 255, 0.07);
  --nav-text: var(--ow-color-nav-heading);
  --nav-idle: var(--ow-color-nav-text);
  --nav-label: var(--ow-color-nav-label);
  --nav-sub: rgba(255, 255, 255, 0.05);
  --nav-hover-bg: var(--ow-color-brand-tint-strong);
  --nav-hover-text: var(--ow-color-nav-heading);
}
.ow-nav--collapsed { width: 76px; }
.ow-nav--mobile {
  transform: translateX(-105%);
  width: min(86vw, 300px);
  z-index: 1060;
}
.ow-nav--mobile.is-open { box-shadow: 0 24px 60px var(--ow-scrim-nav); transform: translateX(0); }
.ow-nav--mobile { --nav-item-h: 48px; --nav-child-h: var(--ow-tap-min); }

.ow-nav__brand {
  align-items: center;
  display: flex;
  flex: none;
  gap: var(--ow-space-3);
  justify-content: center;
  min-height: 61px;
  padding: 14px var(--ow-space-4) var(--ow-space-3);
}
.ow-nav--collapsed .ow-nav__brand { padding: 14px 0 var(--ow-space-3); }
.ow-nav__brand img { display: block; height: auto; max-width: 170px; width: 100%; }
.ow-nav__mark {
  align-items: center;
  background: var(--ow-color-brand);
  border-radius: var(--ow-radius-lg);
  color: var(--ow-color-surface);
  display: inline-flex;
  flex: none;
  font-size: var(--ow-type-body);
  font-weight: 800;
  height: var(--ow-control-h-lg);
  justify-content: center;
  letter-spacing: var(--ow-tracking-tighter);
  width: 38px;
}
.ow-nav__block { flex: none; padding: 0 var(--ow-space-3) var(--ow-space-3); }
.ow-nav--collapsed .ow-nav__block { display: flex; justify-content: center; }

/* Site picker trigger */
.ow-nav__site {
  align-items: center;
  background: var(--nav-sub);
  border: 1px solid var(--nav-border);
  border-radius: var(--ow-radius-lg);
  color: var(--nav-text);
  cursor: pointer;
  display: flex;
  font-family: inherit;
  gap: var(--ow-space-3);
  min-height: 48px;
  padding: 0 var(--ow-space-2);
  text-align: left;
  transition: background var(--ow-dur-hover) var(--ow-ease), border-color var(--ow-dur-hover) var(--ow-ease);
  width: 100%;
}
.ow-nav__site:hover { background: var(--ow-color-brand-tint-strong); border-color: var(--ow-color-brand); }

/* Section mode: the rail carries one section's own menu in place of the portal
 * menu, so the way back has to live in the rail rather than on the page. Same
 * geometry as the site trigger, quieter surface — it is a way out, not a
 * primary control. */
.ow-nav__back {
  align-items: center;
  background: transparent;
  border: 1px solid var(--nav-border);
  border-radius: var(--ow-radius-lg);
  color: var(--nav-text);
  cursor: pointer;
  display: flex;
  font-family: inherit;
  gap: var(--ow-space-3);
  min-height: 48px;
  padding: 0 var(--ow-space-2);
  text-align: left;
  transition: background var(--ow-dur-hover) var(--ow-ease), border-color var(--ow-dur-hover) var(--ow-ease);
  width: 100%;
}
.ow-nav__back:hover { background: var(--ow-color-brand-tint); border-color: var(--ow-color-brand); }
.ow-nav__back-icon {
  align-items: center;
  color: var(--nav-label);
  display: flex;
  flex: none;
  font-size: var(--ow-type-body);
  justify-content: center;
  width: 28px;
}
.ow-nav__site-icon {
  align-items: center;
  background: var(--ow-color-brand-tint-strong);
  border-radius: var(--ow-radius-md);
  color: var(--ow-color-brand);
  display: inline-flex;
  flex: none;
  font-size: var(--ow-type-label);
  height: 28px;
  justify-content: center;
  width: 28px;
}
.ow-nav__site-label { color: var(--nav-label); display: block; font-size: var(--ow-type-nano); font-weight: 800; letter-spacing: var(--ow-tracking-label); text-transform: uppercase; }
.ow-nav__site-name { color: var(--nav-text); display: block; font-size: var(--ow-type-meta); font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-nav__site-caret { color: var(--nav-label); flex: none; font-size: var(--ow-type-label); }
.ow-nav__site--icon {
  align-items: center;
  background: var(--nav-sub);
  border: 1px solid var(--nav-border);
  border-radius: var(--ow-radius-lg);
  color: var(--ow-color-brand);
  cursor: pointer;
  display: inline-flex;
  font-size: var(--ow-type-body);
  height: var(--ow-tap-min);
  justify-content: center;
  width: var(--ow-tap-min);
}
.ow-nav__site--icon:hover { background: var(--ow-color-brand-tint-strong); }

.ow-nav__scroll { flex: 1 1 auto; overflow-x: hidden; overflow-y: auto; padding: 0 0 var(--ow-space-2); }
.ow-nav__group { margin-bottom: var(--ow-space-3); padding: 0 var(--ow-space-3); }
.ow-nav__legend {
  color: var(--nav-label);
  font-size: var(--ow-type-nano);
  font-weight: 800;
  letter-spacing: var(--ow-tracking-label);
  margin: 0 0 6px;
  padding: 0 var(--ow-space-2);
  text-transform: uppercase;
}
.ow-nav__rule { background: var(--nav-border); height: 1px; margin: 0 6px 10px; }
.ow-nav__list { display: flex; flex-direction: column; gap: var(--ow-space-1); list-style: none; margin: 0; padding: 0; }
.ow-nav__li { margin: 0; position: relative; }

.ow-nav__item {
  align-items: center;
  background: transparent;
  border: none;
  border-radius: var(--ow-radius-md);
  color: var(--nav-idle);
  cursor: pointer;
  display: flex;
  font-family: inherit;
  font-size: var(--ow-type-meta);
  font-weight: 600;
  gap: var(--ow-space-3);
  line-height: 20px;
  min-height: var(--nav-item-h);
  padding: 0 11px;
  position: relative;
  text-align: left;
  text-decoration: none;
  transition: background var(--ow-dur-hover) var(--ow-ease), color var(--ow-dur-hover) var(--ow-ease);
  width: 100%;
}
.ow-nav__item:hover { background: var(--nav-hover-bg); color: var(--nav-hover-text); }
.ow-nav__item.is-active {
  background: var(--ow-color-brand);
  box-shadow: var(--ow-shadow-brand);
  color: var(--ow-color-surface);
  font-weight: 700;
}
.ow-nav__item.is-active:hover { background: var(--ow-color-brand); color: var(--ow-color-surface); }
.ow-nav--collapsed .ow-nav__item { justify-content: center; padding: 0; }
.ow-nav__icon { flex: none; font-size: var(--ow-type-body); text-align: center; width: 18px; }
.ow-nav__label { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-nav__caret { flex: none; font-size: var(--ow-type-micro); opacity: 0.75; }
.ow-nav__count {
  align-items: center;
  background: var(--ow-color-brand-tint-strong);
  border-radius: var(--ow-radius-pill);
  color: var(--ow-color-brand);
  display: inline-flex;
  flex: none;
  font-size: var(--ow-type-micro);
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  height: 20px;
  justify-content: center;
  min-width: 22px;
  padding: 0 var(--ow-space-2);
}
.is-active > .ow-nav__count { background: rgba(255, 255, 255, 0.22); color: var(--ow-color-surface); }
.ow-nav__dot {
  background: var(--ow-color-brand);
  border-radius: 50%;
  height: 7px;
  position: absolute;
  right: 9px;
  top: 7px;
  width: 7px;
}
.ow-nav__children {
  border-left: 1px solid var(--nav-border);
  display: flex;
  flex-direction: column;
  gap: var(--ow-space-1);
  list-style: none;
  margin: 3px 0 var(--ow-space-1) 19px;
  padding: 0 0 0 var(--ow-space-4);
}
.ow-nav__child {
  align-items: center;
  background: transparent;
  border-radius: var(--ow-radius-md);
  color: var(--nav-idle);
  display: flex;
  font-size: var(--ow-type-meta);
  font-weight: 600;
  gap: var(--ow-space-3);
  line-height: 19px;
  min-height: var(--nav-child-h);
  padding: 0 var(--ow-space-2);
  text-decoration: none;
  transition: background var(--ow-dur-hover) var(--ow-ease), color var(--ow-dur-hover) var(--ow-ease);
}
.ow-nav__child:hover { background: var(--nav-hover-bg); color: var(--nav-hover-text); }
.ow-nav__child.is-active { background: var(--ow-color-brand-tint-strong); color: var(--ow-color-brand); font-weight: 700; }
.ow-nav__child .ow-nav__icon { font-size: var(--ow-type-meta); width: 16px; }

.ow-nav__user {
  align-items: center;
  border-top: 1px solid var(--nav-border);
  display: flex;
  flex: none;
  gap: var(--ow-space-3);
  padding: var(--ow-space-2) var(--ow-space-3);
}
.ow-nav--collapsed .ow-nav__user { justify-content: center; }
.ow-nav__user-name { color: var(--nav-text); display: block; font-size: var(--ow-type-meta); font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-nav__user-role { color: var(--nav-label); display: block; font-size: var(--ow-type-micro); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-nav__signout {
  background: transparent;
  border: none;
  border-radius: var(--ow-radius-md);
  color: var(--nav-label);
  cursor: pointer;
  flex: none;
  font-size: var(--ow-type-body);
  height: var(--ow-control-h);
  width: 34px;
}
.ow-nav__signout:hover { background: var(--nav-sub); color: var(--nav-text); }
.ow-nav__collapse {
  align-items: center;
  background: var(--nav-sub);
  border: none;
  border-top: 1px solid var(--nav-border);
  color: var(--nav-label);
  cursor: pointer;
  display: flex;
  flex: none;
  font-family: inherit;
  font-size: var(--ow-type-label);
  font-weight: 700;
  gap: var(--ow-space-2);
  justify-content: center;
  letter-spacing: var(--ow-tracking-label);
  min-height: var(--ow-tap-min);
  text-transform: uppercase;
}
.ow-nav__collapse:hover { background: var(--nav-hover-bg); color: var(--nav-hover-text); }
.ow-nav__collapse i { font-size: var(--ow-type-meta); }
.ow-nav__close {
  align-items: center;
  background: var(--nav-sub);
  border: none;
  border-radius: var(--ow-radius-md);
  color: var(--nav-text);
  cursor: pointer;
  display: inline-flex;
  flex: none;
  font-size: var(--ow-type-body);
  height: var(--ow-control-h-lg);
  justify-content: center;
  margin-left: auto;
  width: 38px;
}
.ow-nav__close:hover { background: var(--ow-color-brand); color: var(--ow-color-surface); }

/* ── 3b. Server-rendered rail state ────────────────────────────────────── */

/* The rail is rendered whole by `shared/_ow_side_nav.html.erb` — every part of
 * it is in the DOM on every request — so the three states are a CSS problem,
 * not a rendering one. The design components achieve the same thing by not
 * rendering the parts they do not need; a server-rendered rail cannot, and
 * branching in ERB on a state the user can change without a reload would put
 * the rail one navigation behind the user. These rules are what make one
 * markup tree read as all three states. */

/* Two lockups, one per theme; CSS picks, so a theme toggle needs no reload. */
.ow-nav__logo { display: block; min-width: 0; }
.ow-nav__logo img { display: block; height: auto; max-width: 170px; width: 100%; }
.ow-nav__logo--dark { display: none; }
.theme-dark .ow-nav__logo--light, .ow-nav--dark .ow-nav__logo--light { display: none; }
.theme-dark .ow-nav__logo--dark, .ow-nav--dark .ow-nav__logo--dark { display: block; }

/* Collapsed: the mark replaces the lockup, and every label goes. Labels are
 * hidden rather than removed so the `title` attribute and the accessible name
 * survive — an icon rail with no accessible names is not a rail. */
.ow-nav__mark { display: none; }
.ow-nav--collapsed .ow-nav__mark { display: flex; }
.ow-nav--collapsed .ow-nav__logo { display: none; }
.ow-nav--collapsed .ow-nav__label,
.ow-nav--collapsed .ow-nav__legend,
.ow-nav--collapsed .ow-nav__collapse span,
.ow-nav--collapsed .ow-nav__user .ow-fill,
.ow-nav--collapsed .ow-nav__signout,
.ow-nav--collapsed .ow-nav__site { display: none; }

/* A rule stands in for the group legend, so groups stay distinguishable
 * without labels. It is the only element that is hidden in the full rail. */
.ow-nav__rule { display: none; }
.ow-nav--collapsed .ow-nav__rule { display: block; }

/* The site picker has two forms: the full trigger, and an icon-only button at
 * 44px. Exactly one is ever shown. */
.ow-nav__site--icon { display: none; }
.ow-nav--collapsed .ow-nav__site--icon { display: flex; }

/* Mobile drawer: the close button and the top bar's burger exist only here;
 * the collapse toggle does not, because a drawer has one width. */
.ow-nav__close, .ow-topbar__burger { display: none; }
.ow-nav--mobile .ow-nav__close { display: flex; }
.ow-nav--mobile .ow-nav__collapse { display: none; }
.ow-nav--mobile .ow-nav__label,
.ow-nav--mobile .ow-nav__legend,
.ow-nav--mobile .ow-nav__site,
.ow-nav--mobile .ow-nav__user .ow-fill,
.ow-nav--mobile .ow-nav__signout { display: revert; }
/* Port deviation: the source restores `.ow-nav__logo` wholesale here, which is
 * fine for the React rail (one lockup in the DOM) but shows both lockups in
 * the ERB rail, which renders one per theme and lets the theme pick. */
.ow-nav--mobile .ow-nav__logo--light { display: block; }
.theme-dark .ow-nav--mobile .ow-nav__logo--light, .ow-nav--dark.ow-nav--mobile .ow-nav__logo--light { display: none; }
.theme-dark .ow-nav--mobile .ow-nav__logo--dark, .ow-nav--dark.ow-nav--mobile .ow-nav__logo--dark { display: block; }
.ow-nav--mobile .ow-nav__mark,
.ow-nav--mobile .ow-nav__rule,
.ow-nav--mobile .ow-nav__site--icon { display: none; }
@media (max-width: 767px) { .ow-topbar__burger { display: flex; } }

/* The demo tour trigger, which the legacy shell pinned over the content with
 * `position: fixed`. It is a shell control and sits with the others. */
.ow-topbar__tour { align-items: center; display: flex; }

/* Visually hidden, still announced. */
.ow-sr {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/* Mobile drawer scrim, shared with any off-canvas panel. */
.ow-scrim {
  backdrop-filter: blur(2px);
  background: var(--ow-scrim-nav);
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  transition: opacity var(--ow-dur-state) var(--ow-ease);
  z-index: 1050;
}
.ow-scrim.is-open { opacity: 1; pointer-events: auto; }

/* ── 4. Top bar, breadcrumb and menus ──────────────────────────────────── */

.ow-topbar {
  backdrop-filter: var(--ow-blur-nav);
  -webkit-backdrop-filter: var(--ow-blur-nav);
  background: var(--ow-glass);
  border-bottom: 1px solid var(--ow-color-border);
  position: sticky;
  top: 0;
  z-index: var(--ow-z-header);
}
.ow-topbar.is-scrolled { box-shadow: var(--ow-shadow-raise); }
.ow-topbar__inner {
  align-items: center;
  display: flex;
  gap: var(--ow-space-4);
  min-height: 72px;
  padding: 10px var(--ow-gutter-page);
}
@media (max-width: 767px) {
  .ow-topbar__inner { gap: var(--ow-space-3); min-height: var(--ow-nav-height); padding: var(--ow-space-2) var(--ow-gutter-page-mobile); }
}
.ow-topbar__titles { display: flex; flex: 1 1 auto; flex-direction: column; justify-content: center; min-width: 0; }
.ow-topbar__title {
  color: var(--ow-color-text);
  font-size: var(--ow-type-view-title);
  font-weight: 800;
  letter-spacing: var(--ow-tracking-tighter);
  line-height: 1.15;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 1199px) { .ow-topbar__title { font-size: var(--ow-type-section-title); } }
.ow-topbar__subtitle { color: var(--ow-color-faint); font-size: var(--ow-type-meta); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-topbar__actions { align-items: center; display: flex; flex: none; gap: var(--ow-space-2); }

/* THE ACTION CLUSTER HAS TO FIT THE BAR.
 *
 * `flex: none` above means this cluster never gives ground, so whatever it
 * contains sets a floor on the width of the whole shell. Measured at a 390px
 * viewport it came to 570px — and the single biggest part of that was the
 * account button rendering the full email address at 224px, which is
 * shown only at wide widths. The result was the
 * page body scrolling sideways on a phone, which the design rules forbid
 * outright.
 *
 * The address goes first because it is the one thing here that is decoration:
 * the avatar identifies the account, and the address is a page away in the
 * menu the button opens. Nothing else is hidden — the bell, help and the
 * screen's own primary action all stay reachable at every width, which is why
 * the row is allowed to wrap rather than to drop controls. */
@media (max-width: 991px) {
  .ow-accountbtn__email,
  .ow-accountbtn__caret { display: none; }
}
@media (max-width: 767px) {
  .ow-topbar__inner { flex-wrap: wrap; }
  .ow-topbar__actions {
    flex: 1 1 100%;
    flex-wrap: wrap;
    justify-content: flex-end;
    min-width: 0;
  }
  /* A long primary-action label truncates rather than setting the floor. */
  .ow-topbar__actions > .ow-btn {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
.ow-topbar__burger {
  align-items: center;
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-md);
  color: var(--ow-color-text);
  cursor: pointer;
  display: inline-flex;
  flex: none;
  font-size: var(--ow-type-card-title);
  height: var(--ow-tap-min);
  justify-content: center;
  width: var(--ow-tap-min);
}
.ow-topbar__burger:hover { border-color: var(--ow-color-brand); color: var(--ow-color-brand); }

.ow-crumbs {
  align-items: center;
  color: var(--ow-color-faint);
  display: flex;
  font-size: var(--ow-type-micro);
  font-weight: 700;
  gap: var(--ow-space-2);
  letter-spacing: var(--ow-tracking-label);
  margin-bottom: 3px;
  overflow: hidden;
  text-transform: uppercase;
  white-space: nowrap;
}
.ow-crumbs i { font-size: var(--ow-type-nano); opacity: 0.7; }
.ow-crumbs__section { color: var(--ow-color-muted); }
.ow-crumbs__leaf { color: var(--ow-color-brand); }

.ow-avatar {
  align-items: center;
  background: var(--ow-color-brand);
  border-radius: 50%;
  color: var(--ow-color-surface);
  display: inline-flex;
  flex: none;
  font-size: var(--ow-type-label);
  font-weight: 800;
  height: 34px;
  justify-content: center;
  width: 34px;
}
.ow-avatar--sm { font-size: var(--ow-type-micro); height: 27px; letter-spacing: var(--ow-tracking-wide); width: 27px; }
.ow-avatar--lg { font-size: var(--ow-type-card-title); height: 48px; width: 48px; }

.ow-accountbtn {
  align-items: center;
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-md);
  cursor: pointer;
  display: flex;
  flex: none;
  gap: var(--ow-space-2);
  height: var(--ow-control-h-lg);
  padding: 0 var(--ow-space-2) 0 var(--ow-space-1);
}
.ow-accountbtn:hover, .ow-accountbtn.is-open { background: var(--ow-color-page-bg); }
.ow-accountbtn__email { color: var(--ow-color-text); font-size: var(--ow-type-meta); font-weight: 600; max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-accountbtn__caret { color: var(--ow-color-faint); font-size: var(--ow-type-nano); transition: transform 140ms var(--ow-ease); }
.ow-accountbtn.is-open .ow-accountbtn__caret { transform: rotate(180deg); }

.ow-menu-anchor { flex: none; position: relative; }
.ow-menu {
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-lg);
  box-shadow: var(--ow-shadow-table);
  min-width: 254px;
  padding: var(--ow-space-1);
  position: absolute;
  right: 0;
  top: calc(100% + var(--ow-space-2));
  z-index: var(--ow-z-dropdown);
}
.ow-menu__head {
  border-bottom: 1px solid var(--ow-color-border);
  display: flex;
  flex-direction: column;
  gap: var(--ow-space-1);
  margin-bottom: 6px;
  padding: var(--ow-space-2) var(--ow-space-3) var(--ow-space-3);
}
.ow-menu__name { color: var(--ow-color-text); font-size: var(--ow-type-meta); font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-menu__sub { color: var(--ow-color-muted); font-size: var(--ow-type-label); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-menu__list { display: flex; flex-direction: column; gap: 1px; }
.ow-menu__item {
  align-items: center;
  background: none;
  border: 0;
  border-radius: var(--ow-radius-md);
  color: var(--ow-color-text);
  cursor: pointer;
  display: flex;
  font-family: inherit;
  font-size: var(--ow-type-meta);
  font-weight: 600;
  gap: var(--ow-space-3);
  padding: var(--ow-space-2) var(--ow-space-3);
  text-align: left;
  text-decoration: none;
  width: 100%;
}
.ow-menu__item:hover { background: var(--ow-hover-tint); color: var(--ow-color-text); }
.ow-menu__item i { font-size: var(--ow-type-meta); opacity: 0.9; text-align: center; width: 16px; }
.ow-menu__item--danger { color: var(--ow-status-fail-fg); }
.ow-menu__item--danger:hover { color: var(--ow-status-fail-fg); }
.ow-menu__divider { background: var(--ow-color-border); height: 1px; margin: 6px; }

/* ---- The outstanding-work bell -----------------------------------------
   The bell is the shared
   outstanding-work surface, so its panel is the account menu's panel with a
   wider column and a stacked item — one primitive extended, never a second
   menu implementation. The count is derived on every page load from the
   records themselves (`Organisations::OutstandingWork`); there is no saved
   to-do list and so nothing to mark read. */
.ow-bell { position: relative; }
.ow-bell__count {
  align-items: center;
  background: var(--ow-color-brand);
  border: 2px solid var(--ow-color-surface);
  border-radius: 999px;
  color: #fff;
  display: flex;
  font-size: 10px;
  font-weight: 700;
  height: 17px;
  justify-content: center;
  line-height: 1;
  min-width: 17px;
  padding: 0 3px;
  position: absolute;
  right: -2px;
  top: -2px;
}
/* Wide enough for a company name and the sentence under it, and capped so a
   long list scrolls inside the panel rather than running off the viewport. */
.ow-menu--wide { max-height: min(70vh, 520px); min-width: 340px; overflow-y: auto; width: 340px; }
.ow-menu__item--stack { align-items: flex-start; gap: var(--ow-space-3); }
.ow-menu__item--stack i { margin-top: 2px; }
.ow-menu__item--stack .ow-strong { font-weight: 700; }
/* A company name and an address are both long; neither may push the panel
   wider or spill out of it. */
.ow-menu__item--stack .ow-strong,
.ow-menu__item--stack .ow-meta { overflow-wrap: anywhere; white-space: normal; }
.ow-brandtext { color: var(--ow-color-brand-deep); font-weight: 700; }

/* At phone widths the panel is the width of the bar rather than a 340px card
   overhanging its right edge. */
@media (max-width: 767px) {
  .ow-menu--wide {
    left: var(--ow-space-3);
    min-width: 0;
    right: var(--ow-space-3);
    width: auto;
  }
}

/* ── 5. Buttons ────────────────────────────────────────────────────────── */
/* Prefer the bundle's Button/IconButton. These match it for plain markup. */

.ow-btn {
  align-items: center;
  background: var(--ow-color-brand);
  border: 1px solid transparent;
  border-radius: var(--ow-radius-md);
  color: var(--ow-color-surface);
  cursor: pointer;
  display: inline-flex;
  flex: none;
  font-family: inherit;
  font-size: var(--ow-type-meta);
  font-weight: 700;
  gap: var(--ow-space-2);
  height: var(--ow-control-h-lg);
  justify-content: center;
  letter-spacing: var(--ow-tracking-wide);
  padding: 0 var(--ow-space-4);
  text-decoration: none;
  transition: filter var(--ow-dur-hover) var(--ow-ease), background var(--ow-dur-hover) var(--ow-ease),
              border-color var(--ow-dur-hover) var(--ow-ease), color var(--ow-dur-hover) var(--ow-ease),
              transform var(--ow-dur-hover) var(--ow-ease);
  white-space: nowrap;
}
.ow-btn:hover { color: var(--ow-color-surface); filter: brightness(0.94); }
.ow-btn:active { transform: scale(0.98); }
.ow-btn:disabled, .ow-btn.is-disabled { cursor: not-allowed; filter: none; opacity: 0.45; }
.ow-btn i { font-size: var(--ow-type-label); }
.ow-btn--secondary { background: var(--ow-color-surface); border-color: var(--ow-color-border); color: var(--ow-color-text); }
.ow-btn--secondary:hover { border-color: var(--ow-color-brand); color: var(--ow-color-brand); filter: none; }
.ow-btn--ghost { background: transparent; border-color: transparent; color: var(--ow-color-muted); }
.ow-btn--ghost:hover { background: var(--ow-hover-tint); color: var(--ow-color-brand-deep); filter: none; }
.ow-btn--danger { background: var(--ow-color-danger); }
.ow-btn--danger:hover { background: var(--ow-button-danger-hover-bg); filter: none; }
.ow-btn--commit:active { background: var(--ow-color-brand-deep); }
.ow-btn--cta { font-size: var(--ow-type-body); height: var(--ow-control-h-cta); padding: 0 var(--ow-space-5); }
.ow-btn--sm { font-size: var(--ow-type-label); height: var(--ow-control-h); padding: 0 var(--ow-space-3); }
.ow-btn--block { width: 100%; }
.ow-btn--touch { font-size: var(--ow-type-card-title); height: var(--ow-control-h-touch); }

.ow-iconbtn {
  align-items: center;
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-md);
  color: var(--ow-color-muted);
  cursor: pointer;
  display: inline-flex;
  flex: none;
  font-size: var(--ow-type-body);
  height: var(--ow-control-h-lg);
  justify-content: center;
  transition: border-color var(--ow-dur-hover) var(--ow-ease), color var(--ow-dur-hover) var(--ow-ease),
              background var(--ow-dur-hover) var(--ow-ease);
  width: var(--ow-control-h-lg);
}
.ow-iconbtn:hover { border-color: var(--ow-color-brand); color: var(--ow-color-brand); }
.ow-iconbtn--bare { background: transparent; border-color: transparent; height: 34px; width: 34px; }
.ow-iconbtn--bare:hover { background: var(--ow-hover-tint); border-color: transparent; color: var(--ow-hover-glyph); }
.ow-iconbtn--touch { height: var(--ow-tap-min); width: var(--ow-tap-min); }
@media (max-width: 767px) {
  .ow-iconbtn { height: var(--ow-tap-min); width: var(--ow-tap-min); }
}

/* Icon in a tinted container — never loose on the page. */
.ow-icontile {
  align-items: center;
  background: var(--ow-color-brand-tint);
  border-radius: 11px;
  color: var(--ow-color-brand);
  display: inline-flex;
  flex: none;
  font-size: var(--ow-type-card-title);
  height: var(--ow-icon-tile);
  justify-content: center;
  width: var(--ow-icon-tile);
}
.ow-icontile--sm { border-radius: var(--ow-radius-md); font-size: var(--ow-type-meta); height: 28px; width: 28px; }
.ow-icontile--circle { border-radius: 50%; }
.ow-icontile--neutral { background: var(--ow-color-border-soft); color: var(--ow-color-muted); }
.ow-icontile--danger { background: var(--ow-status-fail-bg); color: var(--ow-color-danger-solid); }
.ow-icontile--warning { background: var(--ow-status-warning-bg); color: var(--ow-status-warning-fg); }

/* ── 6. Forms ──────────────────────────────────────────────────────────── */
/* .ow-field / .ow-field__label / .ow-input live in ow-globals.css. */

.ow-select {
  appearance: none;
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-sm);
  color: var(--ow-color-text);
  cursor: pointer;
  font-family: inherit;
  font-size: var(--ow-type-body);
  height: var(--ow-control-h-lg);
  padding: 0 var(--ow-space-6) 0 var(--ow-space-3);
  width: 100%;
}
.ow-textarea {
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-md);
  color: var(--ow-color-text);
  font-family: inherit;
  font-size: var(--ow-type-body);
  line-height: var(--ow-line-height);
  min-height: 88px;
  padding: var(--ow-space-3);
  resize: vertical;
  width: 100%;
}
.ow-input--invalid, .ow-textarea--invalid, .ow-select--invalid { border-color: var(--ow-color-danger); }
.ow-field__error { color: var(--ow-status-fail-fg); font-size: var(--ow-type-meta); }
.ow-field--readonly .ow-input, .ow-input[readonly] { background: var(--ow-color-surface-alt); color: var(--ow-color-muted); }
.ow-fieldset { border: 0; display: grid; gap: var(--ow-space-4); margin: 0; padding: 0; }

.ow-label { color: var(--ow-color-text); display: block; font-size: var(--ow-type-meta); font-weight: 600; }
/* Input with a trailing affix button (password reveal, unit, clear). */
.ow-affix { position: relative; }
.ow-affix .ow-input { padding-right: var(--ow-space-8); }
.ow-affix__btn {
  align-items: center;
  background: none;
  border: 0;
  color: var(--ow-color-faint);
  cursor: pointer;
  display: flex;
  font-size: var(--ow-type-body);
  height: 100%;
  justify-content: center;
  position: absolute;
  right: 0;
  top: 0;
  width: var(--ow-tap-min);
}
.ow-affix__btn:hover { color: var(--ow-color-brand); }

.ow-search { flex: 1 1 auto; min-width: 0; position: relative; }
.ow-search__icon {
  color: var(--ow-color-faint);
  font-size: var(--ow-type-meta);
  left: var(--ow-space-3);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.ow-search .ow-input { padding-left: var(--ow-space-7); }

.ow-switch {
  background: var(--ow-color-border);
  border: 0;
  border-radius: var(--ow-radius-pill);
  cursor: pointer;
  flex: none;
  height: 22px;
  padding: 0;
  position: relative;
  transition: background var(--ow-dur-hover) var(--ow-ease);
  width: 38px;
}
.ow-switch::after {
  background: var(--ow-color-surface);
  border-radius: 50%;
  box-shadow: var(--ow-shadow-dot);
  content: "";
  height: 18px;
  left: 2px;
  position: absolute;
  top: 2px;
  transition: transform var(--ow-dur-hover) var(--ow-ease);
  width: 18px;
}
.ow-switch.is-on { background: var(--ow-color-brand); }
.ow-switch.is-on::after { transform: translateX(16px); }
.ow-switch:disabled { cursor: not-allowed; opacity: 0.45; }

.ow-check {
  accent-color: var(--ow-color-brand);
  height: 16px;
  margin: 0;
  width: 16px;
}
.ow-checkline { align-items: center; cursor: pointer; display: flex; font-size: var(--ow-type-body); gap: var(--ow-space-2); }

/* Toolbar above a list: search, filters, counts. */
.ow-toolbar {
  align-items: center;
  border-bottom: 1px solid var(--ow-color-border-soft);
  display: flex;
  flex-wrap: wrap;
  gap: var(--ow-space-3);
  padding: var(--ow-space-3) var(--ow-space-4);
}
.ow-toolbar__count { color: var(--ow-color-muted); font-size: var(--ow-type-meta); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ow-filters { display: flex; flex-wrap: wrap; gap: var(--ow-space-2); }
.ow-filter {
  align-items: center;
  background: var(--ow-pill-unselected-bg);
  border: 1px solid var(--ow-pill-border);
  border-radius: var(--ow-radius-pill);
  color: var(--ow-pill-unselected-text);
  cursor: pointer;
  display: inline-flex;
  font-family: inherit;
  font-size: var(--ow-type-meta);
  font-weight: 600;
  gap: var(--ow-space-2);
  min-height: 30px;
  padding: 0 var(--ow-space-3);
  transition: background var(--ow-dur-hover) var(--ow-ease), color var(--ow-dur-hover) var(--ow-ease),
              border-color var(--ow-dur-hover) var(--ow-ease);
  white-space: nowrap;
}
.ow-filter:hover { background: var(--ow-pill-unselected-hover-bg); border-color: var(--ow-pill-hover-border); color: var(--ow-pill-unselected-hover-text); }
.ow-filter.is-active { background: var(--ow-pill-selected-bg); border-color: var(--ow-pill-selected-border); color: var(--ow-pill-selected-text); }
/* Plain variant: reads as a control, not a tint — used in overlays. */
.ow-filter--plain { background: var(--ow-color-surface); border-color: var(--ow-color-border); border-radius: var(--ow-radius-md); min-height: var(--ow-control-h-lg); }
.ow-filter--plain:hover { background: var(--ow-color-surface); border-color: var(--ow-color-brand); color: var(--ow-color-brand-deep); }
.ow-filter--plain.is-active { background: var(--ow-color-brand-tint); border-color: var(--ow-color-brand); color: var(--ow-color-brand-deep); }
.ow-filter--sort { border-radius: var(--ow-radius-pill); font-size: var(--ow-type-label); font-weight: 700; min-height: 32px; }
.ow-filter--sort i { font-size: var(--ow-type-nano); opacity: 0.4; }
.ow-filter--sort.is-active i { opacity: 1; }
@media (max-width: 860px) {
  .ow-filter--plain { min-height: var(--ow-control-h-touch); font-size: var(--ow-type-card-title); justify-content: center; }
  .ow-filter--sort { font-size: var(--ow-type-label); min-height: var(--ow-tap-min); }
}
.ow-filter__count { font-variant-numeric: tabular-nums; opacity: 0.8; }

/* ── 7. Cards and panels ───────────────────────────────────────────────── */

.ow-card {
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-card);
  box-shadow: var(--ow-shadow-card);
}
.ow-card--flat { box-shadow: none; }
.ow-card--contact { box-shadow: var(--ow-shadow-contact); }
.ow-card--table { box-shadow: var(--ow-shadow-table); }
.ow-card--clip { overflow: hidden; }
.ow-card--pad { padding: var(--ow-space-5); }
.ow-card--tap {
  cursor: pointer;
  transition: border-color var(--ow-dur-hover) var(--ow-ease), box-shadow var(--ow-dur-hover) var(--ow-ease),
              transform var(--ow-dur-hover) var(--ow-ease);
}
.ow-card--tap:hover { border-color: var(--ow-color-brand); box-shadow: var(--ow-shadow-raise); }
.ow-card.is-selected { background: var(--ow-color-selected-bg); border-color: var(--ow-color-brand); }
@media (max-width: 767px) { .ow-card { border-radius: var(--ow-radius-xl); box-shadow: var(--ow-shadow-mobile-card); } }

.ow-card__header {
  align-items: center;
  background: linear-gradient(180deg, var(--ow-color-surface), var(--ow-color-surface-alt));
  border-bottom: 1px solid var(--ow-color-border-soft);
  border-radius: var(--ow-radius-card) var(--ow-radius-card) 0 0;
  display: flex;
  gap: var(--ow-space-3);
  padding: var(--ow-space-4) var(--ow-space-5);
}
.ow-card__body { padding: var(--ow-space-5); }
.ow-card__header--stack { align-items: stretch; flex-direction: column; }
.ow-card__header--tight { padding: var(--ow-space-3) var(--ow-space-4); }
.ow-card__header--wrap { flex-wrap: wrap; }
.ow-card__body--tight { padding: var(--ow-space-4); }
.ow-card__footer {
  align-items: center;
  border-top: 1px solid var(--ow-color-border-soft);
  display: flex;
  gap: var(--ow-space-3);
  justify-content: flex-end;
  padding: var(--ow-space-3) var(--ow-space-5);
}
/* Save bar: state on the left, actions on the right, sunken ground. */
.ow-card__footer--bar {
  background: var(--ow-color-surface-alt);
  border-top-color: var(--ow-color-border);
  flex-wrap: wrap;
  justify-content: space-between;
  padding: var(--ow-space-3) var(--ow-space-4);
}
.ow-card__footer--note {
  background: var(--ow-color-surface-alt);
  border-top-color: var(--ow-color-border-soft);
  color: var(--ow-color-muted);
  display: block;
  font-size: var(--ow-type-label);
  font-weight: 600;
  line-height: 18px;
  padding: var(--ow-space-3) var(--ow-space-4);
}
.ow-dirty { align-items: center; color: var(--ow-color-brand-deep); display: inline-flex; font-size: var(--ow-type-label); font-weight: 700; gap: var(--ow-space-2); }
.ow-dirty.is-clean { color: var(--ow-color-faint); }

.ow-panel { background: var(--ow-color-surface-alt); border: 1px solid var(--ow-color-border); border-radius: var(--ow-radius-lg); padding: var(--ow-space-4); }
.ow-panel--brand { background: var(--ow-color-brand-tint); border-color: var(--ow-color-brand-tint-strong); }
.ow-panel--warning { background: var(--ow-status-warning-bg); border-color: transparent; color: var(--ow-status-warning-fg); }
.ow-panel--danger { background: var(--ow-status-fail-bg); border-color: transparent; color: var(--ow-status-fail-fg); }
.ow-panel--pass { background: var(--ow-status-pass-bg); border-color: transparent; color: var(--ow-status-pass-fg); }

/* Label/value pair — the system's densest and most repeated unit. */
.ow-pair { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ow-pair__label { color: var(--ow-color-faint); font-size: var(--ow-type-nano); font-weight: 800; letter-spacing: var(--ow-tracking-label); text-transform: uppercase; }
.ow-pair__value { color: var(--ow-color-text); font-size: var(--ow-type-body); font-weight: 600; overflow-wrap: anywhere; }
.ow-pair__value--figure { font-size: var(--ow-type-data); font-variant-numeric: tabular-nums; font-weight: var(--ow-type-data-weight); letter-spacing: var(--ow-tracking-tighter); }
.ow-pairs { display: grid; gap: var(--ow-space-4); grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }

/* KPI tile */
.ow-stat {
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-lg);
  box-shadow: var(--ow-shadow-contact);
  display: flex;
  flex-direction: column;
  gap: var(--ow-space-2);
  overflow: hidden;
  padding: var(--ow-space-4);
  position: relative;
}
.ow-stat::after {
  background: radial-gradient(80% 80% at 100% 0%, var(--ow-color-brand-tint) 0%, transparent 70%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}
/* A KPI figure never breaks inside itself. `overflow-wrap: anywhere` here used
 * to split a thousands-separated number across two lines ("18,26" / "0") the
 * moment a tile fell below the string's width — a wrong-looking number on the
 * one element of the tile that has to be read at a glance. Long figures now
 * stay whole; the row gives them room instead (see `.ow-statrow` below). */
.ow-stat__figure { font-size: 27px; font-variant-numeric: tabular-nums; font-weight: 800; letter-spacing: var(--ow-tracking-tighter); line-height: 1.1; overflow-wrap: normal; }
.ow-stat > * { position: relative; z-index: 1; }
/* Inline variant: icon tile beside the label and figure. */
.ow-stat--inline { align-items: center; flex-direction: row; gap: var(--ow-space-3); padding: var(--ow-space-3); }
.ow-stat--inline .ow-stat__figure { font-size: var(--ow-type-view-title); line-height: 1.2; }
/* KPI tile as the control that selects the view it counts. Added 2026-08-26
 * for DWT Submissions, where the five operational counts ARE the queue picker
 * — a tile and a filter pill carrying the same number is the duplication this
 * removes. Selected state matches `.ow-filter.is-active` so a chosen tile and
 * a chosen pill read alike. */
button.ow-stat { cursor: pointer; font: inherit; text-align: left; width: 100%; }
button.ow-stat:hover { border-color: var(--ow-color-brand); }
button.ow-stat.is-active { background: var(--ow-color-selected-bg); border-color: var(--ow-color-brand); box-shadow: inset 0 0 0 1px var(--ow-color-brand); }
button.ow-stat.is-active .ow-eyebrow { color: var(--ow-color-brand-deep); }
@media (max-width: 767px) { button.ow-stat { min-height: var(--ow-tap-min); } }
.ow-statrow { display: grid; gap: var(--ow-space-3); grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ow-statrow--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ow-statrow--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
@media (max-width: 1279px) {
  .ow-statrow--5, .ow-statrow--6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* The base 4-up row had no fallback and stayed 4-up to the mobile breakpoint,
 * so between ~900px and 1200px each tile left about 72px for its figure —
 * narrower than a five-digit weight. Two-up from 1199px down; `--5`/`--6` keep
 * their own 3-up step above. */
@media (max-width: 1199px) {
  .ow-statrow:not(.ow-statrow--5):not(.ow-statrow--6) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) { .ow-statrow { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Section nav — the 216px record-page rail, a scrolling pill row on mobile. */
.ow-sectionnav { display: flex; flex-direction: column; gap: var(--ow-space-1); flex: none; position: sticky; top: 96px; width: 216px; }
.ow-sectionnav__item {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: var(--ow-radius-md);
  color: var(--ow-color-muted);
  cursor: pointer;
  display: flex;
  font-family: inherit;
  font-size: var(--ow-type-meta);
  font-weight: 600;
  gap: var(--ow-space-3);
  min-height: var(--ow-control-h-lg);
  padding: 0 var(--ow-space-3);
  text-align: left;
  text-decoration: none;
  width: 100%;
}
.ow-sectionnav__item:hover { background: var(--ow-hover-tint); color: var(--ow-color-brand-deep); }
.ow-sectionnav__item.is-active { background: var(--ow-color-brand-tint); color: var(--ow-color-brand-deep); font-weight: 700; }
.ow-sectionnav__item i { text-align: center; width: 16px; }
@media (max-width: 991px) {
  .ow-sectionnav {
    flex-direction: row;
    overflow-x: auto;
    padding-bottom: var(--ow-space-2);
    position: static;
    width: 100%;
  }
  .ow-sectionnav__item { border-radius: var(--ow-radius-pill); flex: none; padding: 0 var(--ow-space-4); width: auto; }
}

/* ── 8. Status ─────────────────────────────────────────────────────────── */
/* .ow-badge, its seven canonical tones and .ow-badge--fixed all live in
 * ow-globals.css, documented there. Nothing in this file may declare a badge
 * tone. Status is icon-only in dense tables — the name goes on the title
 * attribute. What belongs here instead: the containers status sits in
 * (.ow-cell__badges, .ow-statebtn) and the badge-shaped pieces that are not
 * status at all (.ow-countbadge, .ow-railitem__badge, .ow-subnav__badge). */

.ow-status {
  align-items: center;
  border-radius: 50%;
  display: inline-flex;
  flex: none;
  font-size: var(--ow-type-label);
  height: 26px;
  justify-content: center;
  width: 26px;
}
.ow-status--pass { background: var(--ow-status-pass-bg); color: var(--ow-status-pass-fg); }
.ow-status--due { background: var(--ow-status-due-bg); color: var(--ow-status-due-fg); }
.ow-status--fail { background: var(--ow-status-fail-bg); color: var(--ow-status-fail-fg); }
.ow-status--info { background: var(--ow-status-info-bg); color: var(--ow-status-info-fg); }
.ow-status--neutral { background: var(--ow-color-border-soft); color: var(--ow-color-muted); }
.ow-status--lg { font-size: var(--ow-type-card-title); height: var(--ow-icon-tile); width: var(--ow-icon-tile); }

/* ── 9. Overlays: modal, confirm, drawer ───────────────────────────────── */

.ow-overlay {
  align-items: center;
  backdrop-filter: var(--ow-blur-modal);
  background: var(--ow-scrim);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: var(--ow-space-6);
  position: fixed;
  z-index: 1200;
}
.ow-overlay--confirm { background: var(--ow-scrim-strong); }
/* The site/record picker scrim: radial vignette plus a heavier blur. */
.ow-overlay--glass {
  animation: ow-scrim-in 0.28s var(--ow-ease) both;
  backdrop-filter: var(--ow-scrim-blur);
  background: var(--ow-scrim-modal);
}
@keyframes ow-scrim-in { from { opacity: 0; } to { opacity: 1; } }
.ow-overlay--right { justify-content: flex-end; padding: 0; }
/* Scoped to a mock frame rather than the viewport (artboards). */
.ow-overlay--inframe { position: absolute; z-index: 20; }
@media (max-width: 767px) { .ow-overlay { align-items: flex-end; padding: 0; } }

.ow-modal {
  animation: ow-modal-in 0.28s var(--ow-ease-out);
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-2xl);
  box-shadow: var(--ow-shadow-modal);
  display: flex;
  flex-direction: column;
  max-height: min(88vh, 780px);
  overflow: hidden;
  width: min(560px, 100%);
}
.ow-modal--lg { width: min(880px, 100%); }
/* A step that wraps the body in a form keeps the flex chain intact, so the
   body still scrolls inside the modal's bounded height rather than being
   clipped by it. */
.ow-modal > form { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; overflow: hidden; }
.ow-modal--wide { max-height: 100%; width: min(860px, 100%); }
.ow-modal--sm { width: min(440px, 100%); }
.ow-modal--inframe { max-height: 100%; }
@media (max-width: 767px) {
  .ow-modal { border-radius: var(--ow-radius-2xl) var(--ow-radius-2xl) 0 0; max-height: 92vh; width: 100%; }
}
@keyframes ow-modal-in { from { opacity: 0; transform: translateY(8px) scale(0.98); } to { opacity: 1; transform: none; } }

.ow-modal__header {
  align-items: flex-start;
  border-bottom: 1px solid var(--ow-color-border-soft);
  display: flex;
  flex: none;
  gap: var(--ow-space-3);
  padding: var(--ow-space-5) var(--ow-space-5) var(--ow-space-4);
}
.ow-modal__body { flex: 1 1 auto; overflow-y: auto; padding: var(--ow-space-5); }
.ow-modal__body--flush { padding: 0; }
.ow-modal__footer {
  align-items: center;
  border-top: 1px solid var(--ow-color-border-soft);
  display: flex;
  flex: none;
  gap: var(--ow-space-2);
  justify-content: flex-end;
  padding: var(--ow-space-4) var(--ow-space-5);
}
.ow-modal__close {
  background: transparent;
  border: 0;
  border-radius: var(--ow-radius-md);
  color: var(--ow-color-faint);
  cursor: pointer;
  flex: none;
  font-size: var(--ow-type-card-title);
  height: var(--ow-control-h);
  margin-left: auto;
  width: var(--ow-control-h);
}
.ow-modal__close:hover { background: var(--ow-hover-tint); color: var(--ow-hover-glyph); }

/* Guided walk: one question per step inside the shared modal. The step rail
   is a segmented progress bar; the footer holds Back on the left and the one
   primary action on the right. At phone width the sheet fills the screen. */
.ow-modal--wizard { max-height: min(92vh, 860px); width: min(640px, 100%); }
.ow-wizard__header { align-items: flex-start; border-bottom: 0; padding-bottom: var(--ow-space-2); }
.ow-wizard__question { text-wrap: pretty; }
/* The heading takes focus on each step so the step is announced; it is not
   a control, so it draws no focus ring. */
.ow-wizard__question:focus, .ow-wizard__question:focus-visible { box-shadow: none; outline: none; }
.ow-wizard__steps { display: flex; flex: none; gap: var(--ow-space-1); list-style: none; margin: 0; padding: 0 var(--ow-space-5) var(--ow-space-4); }
.ow-wizard__step { background: var(--ow-color-border-soft); border-radius: var(--ow-radius-pill); flex: 1 1 0; height: 4px; transition: background var(--ow-dur-state) var(--ow-ease); }
.ow-wizard__step.is-done { background: var(--ow-color-brand); }
.ow-wizard__step.is-current { background: var(--ow-color-brand); opacity: 0.45; }
.ow-wizard__complete { display: flex; flex: none; padding: 0 var(--ow-space-5) var(--ow-space-4); }
.ow-wizard__footer { justify-content: flex-start; }
.ow-wizard__footer-end { display: flex; gap: var(--ow-space-2); margin-left: auto; }
.ow-wizard__list { display: grid; gap: var(--ow-space-2); margin: 0; padding-left: var(--ow-space-5); }
.ow-wizard__list li { color: var(--ow-color-text); font-size: var(--ow-type-body); line-height: var(--ow-line-height); text-wrap: pretty; }
.ow-wizard__wait { align-items: center; color: var(--ow-color-muted); display: flex; font-size: var(--ow-type-body); gap: var(--ow-space-3); }
.ow-wizard__wait.is-done { color: var(--ow-status-pass-fg); }
.ow-wizard__wait .fa { flex: none; font-size: var(--ow-type-card-title); }
.ow-wizard__done { align-items: center; display: flex; gap: var(--ow-space-4); }
.ow-wizard__done p { margin: 0; }
.ow-modal[aria-busy="true"] .ow-modal__body { opacity: 0.6; transition: opacity var(--ow-dur-state) var(--ow-ease); }
/* Each step's content settles in once, top to bottom: the modal is replaced
   on every step, so the reveal runs on arrival and never on a poll. */
.ow-modal--wizard .ow-modal__body > * { animation: ow-wizard-reveal 0.32s var(--ow-ease-out) both; }
.ow-modal--wizard .ow-modal__body > :nth-child(2) { animation-delay: 0.04s; }
.ow-modal--wizard .ow-modal__body > :nth-child(3) { animation-delay: 0.08s; }
.ow-modal--wizard .ow-modal__body > :nth-child(4) { animation-delay: 0.12s; }
.ow-modal--wizard .ow-modal__body > :nth-child(5) { animation-delay: 0.16s; }
.ow-modal--wizard .ow-modal__body > :nth-child(n+6) { animation-delay: 0.2s; }
@keyframes ow-wizard-reveal { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* The live weight as the walk reads it: one large figure and its state. */
.ow-livefigure { align-items: center; background: var(--ow-console-bg); border-radius: var(--ow-radius-card); display: flex; flex-direction: column; gap: var(--ow-space-1); padding: var(--ow-space-4); }
.ow-livefigure__row { align-items: baseline; display: flex; gap: var(--ow-space-2); }
.ow-livefigure__figure { color: var(--ow-color-muted); font-size: 44px; transition: color var(--ow-dur-state) var(--ow-ease); }
.ow-livefigure.is-live .ow-livefigure__figure { color: var(--ow-color-text); }
.ow-livefigure.is-stable .ow-livefigure__figure { color: var(--ow-color-brand-deep); }
.ow-livefigure__state { color: var(--ow-color-muted); font-size: var(--ow-type-meta); font-weight: 700; }
.ow-livefigure.is-stable .ow-livefigure__state { color: var(--ow-status-pass-fg); }

/* The physical check: one large digits-only input, touch first. */
.ow-digits {
  background: var(--ow-color-surface);
  border: 2px solid var(--ow-color-border);
  border-radius: var(--ow-radius-lg);
  color: var(--ow-color-text);
  font-family: inherit;
  font-feature-settings: "tnum" 1;
  font-size: 40px;
  font-variant-numeric: tabular-nums;
  font-weight: var(--ow-type-data-weight);
  height: 72px;
  letter-spacing: var(--ow-tracking-tighter);
  padding: 0 var(--ow-space-4);
  text-align: center;
  transition: border-color var(--ow-dur-hover) var(--ow-ease), box-shadow var(--ow-dur-hover) var(--ow-ease);
  width: 100%;
}
.ow-digits:focus { border-color: var(--ow-color-brand); box-shadow: 0 0 0 4px var(--ow-color-brand-tint); outline: none; }
.ow-digits--match { border-color: var(--ow-color-success); }
.ow-digits--mismatch { border-color: var(--ow-color-danger); }

@media (max-width: 767px) {
  .ow-modal--wizard { border-radius: 0; height: 100%; max-height: 100%; }
  .ow-wizard__footer { flex-wrap: wrap; }
  .ow-wizard__footer .ow-btn { min-height: var(--ow-control-h-touch); }
}
@media (prefers-reduced-motion: reduce) {
  .ow-modal, .ow-overlay--glass, .ow-modal--wizard .ow-modal__body > * { animation: none; }
  .ow-spin { animation: none; }
}

.ow-drawer {
  animation: ow-drawer-in var(--ow-dur-panel) var(--ow-ease-out);
  background: var(--ow-color-surface);
  box-shadow: var(--ow-shadow-drawer);
  display: flex;
  flex-direction: column;
  height: 100%;
  max-width: 100%;
  width: 560px;
}
.ow-drawer--wide { width: 720px; }
@keyframes ow-drawer-in { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: translateX(0); } }
@media (max-width: 767px) {
  .ow-drawer { border-radius: var(--ow-radius-2xl) var(--ow-radius-2xl) 0 0; height: 92vh; width: 100%; }
}
.ow-drawer__header {
  align-items: flex-start;
  border-bottom: 1px solid var(--ow-color-border-soft);
  display: flex;
  flex: none;
  gap: var(--ow-space-3);
  padding: var(--ow-space-5);
}
.ow-drawer__body { flex: 1 1 auto; overflow-y: auto; padding: var(--ow-space-5); }
.ow-drawer__footer {
  align-items: center;
  background: var(--ow-color-surface);
  border-top: 1px solid var(--ow-color-border);
  display: flex;
  flex: none;
  gap: var(--ow-space-2);
  justify-content: flex-end;
  padding: var(--ow-space-4) var(--ow-space-5);
}

/* Fixed mobile action bar with the white fade above it. */
.ow-actionbar {
  background: var(--ow-color-surface);
  border-top: 1px solid var(--ow-color-border);
  bottom: 0;
  display: flex;
  gap: var(--ow-space-2);
  left: 0;
  padding: var(--ow-space-3) var(--ow-gutter-page-mobile) calc(var(--ow-space-3) + env(safe-area-inset-bottom));
  position: fixed;
  right: 0;
  z-index: var(--ow-z-overlay);
}
.ow-actionbar > * { flex: 1 1 auto; }

/* Bulk-selection bar */
.ow-bulkbar {
  align-items: center;
  background: var(--ow-color-brand);
  border-radius: var(--ow-radius-lg);
  box-shadow: var(--ow-shadow-brand-lg);
  color: var(--ow-color-surface);
  display: flex;
  gap: var(--ow-space-3);
  padding: var(--ow-space-3) var(--ow-space-4);
}
.ow-bulkbar__count { font-size: var(--ow-type-body); font-weight: 700; font-variant-numeric: tabular-nums; }
.ow-bulkbar .ow-btn--secondary { background: rgba(255, 255, 255, 0.16); border-color: rgba(255, 255, 255, 0.4); color: var(--ow-color-surface); }
.ow-bulkbar .ow-btn--secondary:hover { background: rgba(255, 255, 255, 0.26); border-color: var(--ow-color-surface); color: var(--ow-color-surface); }

/* ── 10. Empty, loading and notice states ──────────────────────────────── */

.ow-empty {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: var(--ow-space-3);
  padding: var(--ow-space-8) var(--ow-space-5);
  text-align: center;
}
.ow-empty__icon {
  align-items: center;
  background: var(--ow-color-brand-tint);
  border-radius: 50%;
  color: var(--ow-color-brand);
  display: inline-flex;
  font-size: var(--ow-type-view-title);
  height: 56px;
  justify-content: center;
  width: 56px;
}
.ow-empty__icon--neutral { background: var(--ow-color-border-soft); color: var(--ow-color-faint); }
.ow-empty__title { font-size: var(--ow-type-card-title); font-weight: 700; }
.ow-empty__copy { color: var(--ow-color-muted); font-size: var(--ow-type-body); max-width: 46ch; }

/* The customer-note style notice: uppercase, structural, never decorative. */
.ow-notice {
  align-items: flex-start;
  background: var(--ow-status-warning-bg);
  border-radius: var(--ow-radius-md);
  color: var(--ow-status-warning-fg);
  display: flex;
  font-size: var(--ow-type-meta);
  gap: var(--ow-space-3);
  padding: var(--ow-space-3) var(--ow-space-4);
}
.ow-notice__label { font-size: var(--ow-type-micro); font-weight: 800; letter-spacing: var(--ow-tracking-label); text-transform: uppercase; }
.ow-notice--warning { background: var(--ow-status-warning-bg); color: var(--ow-status-warning-fg); }
.ow-notice--info { background: var(--ow-status-info-bg); color: var(--ow-status-info-fg); }
.ow-notice--pass { background: var(--ow-status-pass-bg); color: var(--ow-status-pass-fg); }
.ow-notice--danger { background: var(--ow-status-fail-bg); color: var(--ow-status-fail-fg); }
.ow-notice--brand { background: var(--ow-color-brand-tint); color: var(--ow-color-brand-deep); }

/* Uppercase count / code chip. */
.ow-tag {
  background: var(--ow-color-border-soft);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-sm);
  color: var(--ow-color-muted);
  font-size: var(--ow-type-micro);
  font-weight: 700;
  letter-spacing: var(--ow-tracking-label);
  padding: var(--ow-space-1) var(--ow-space-2);
  text-transform: uppercase;
  white-space: nowrap;
}
.ow-tag--pill { border-radius: var(--ow-radius-pill); font-size: var(--ow-type-label); font-weight: 800; padding: var(--ow-space-1) var(--ow-space-3); }
.ow-tag--brand { background: var(--ow-color-brand-tint); border-color: var(--ow-color-brand-tint-strong); color: var(--ow-color-brand-deep); }
.ow-tag--faint { background: var(--ow-color-page-bg); color: var(--ow-color-faint); }
/* A tag that is also a control (a chip you can follow). Carries the pointer and
 * a hover tint a bare tag has no business implying. */
.ow-tag--action { cursor: pointer; font: inherit; font-size: var(--ow-type-label); font-weight: 800; }
.ow-tag--action:hover { background: var(--ow-color-brand-tint); border-color: var(--ow-color-brand-tint-strong); color: var(--ow-color-brand-deep); }
/* THE BOX YOU NEED TO FILL IN. A guided flow points at one field at a time:
 * the wrapper is tinted, the label reads in brand, and the input carries the
 * brand edge — so "what do I do now" is answered by looking, not reading. */
.ow-field--next {
  background: var(--ow-color-brand-tint);
  border: 1px solid var(--ow-color-brand-tint-strong);
  border-radius: var(--ow-radius-lg);
  margin: calc(var(--ow-space-2) * -1);
  padding: var(--ow-space-2);
}
.ow-field--next > .ow-field__label { color: var(--ow-color-brand); }
.ow-field--next .ow-input { border-color: var(--ow-color-brand); }
.ow-field__cue {
  align-items: center;
  color: var(--ow-color-brand);
  display: inline-flex;
  font-size: var(--ow-type-meta);
  font-weight: 800;
  gap: var(--ow-space-2);
  line-height: var(--ow-line-height);
}
.ow-field__cue i { font-size: var(--ow-type-body); }

/* Pick-one list inside a modal: sites, records, waste types. */
.ow-picklist {
  background: var(--ow-color-surface-alt);
  display: flex;
  flex-direction: column;
  gap: var(--ow-space-2);
  max-height: 60vh;
  overflow-y: auto;
  padding: var(--ow-space-3);
}
.ow-picklist__row {
  align-items: center;
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-left-width: 3px;
  border-radius: var(--ow-radius-sm);
  cursor: pointer;
  display: flex;
  font-family: inherit;
  gap: var(--ow-space-4);
  min-height: 68px;
  padding: var(--ow-space-4);
  text-align: left;
  transition: background var(--ow-dur-hover) var(--ow-ease), border-color var(--ow-dur-hover) var(--ow-ease);
  width: 100%;
}
.ow-picklist__row:hover, .ow-picklist__row:focus {
  background: var(--ow-color-selected-bg);
  border-color: var(--ow-color-brand);
}
.ow-picklist__row:active { background: var(--ow-color-selected-row); }
.ow-picklist__name {
  color: var(--ow-color-text);
  flex: 1 1 auto;
  font-size: var(--ow-type-data);
  font-weight: 700;
  letter-spacing: var(--ow-tracking-tight);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ow-picklist__chev { color: var(--ow-color-faint); flex: none; font-size: var(--ow-type-meta); }
@media (max-width: 767px) {
  .ow-picklist__row { min-height: 76px; padding: var(--ow-space-5) 18px; }
  .ow-picklist__name { font-size: var(--ow-type-section-title); }
}

.ow-progress { background: var(--ow-color-border-soft); border-radius: var(--ow-radius-pill); height: 6px; overflow: hidden; width: 100%; }
.ow-progress__fill { background: var(--ow-brand-rule); height: 100%; transition: width var(--ow-dur-state) var(--ow-ease); }
/* STEP PROGRESS. The fill's width is a step COUNT, passed as `--ow-bar` (the
 * `--seg-w` / `--ow-bar` precedent: the view supplies the number, this rule uses
 * it). No transition, deliberately: a stepped bar's element is re-rendered on
 * every step, and a width transition restarts from zero on each render — which
 * renders as an empty track for the whole run and then a jump to full. */
.ow-progress__fill--steps { transition: none; width: var(--ow-bar, 0%); }

.ow-skeleton-row { align-items: center; display: flex; gap: var(--ow-space-3); padding: var(--ow-space-3) var(--ow-space-4); }

/* Skeleton list: a header band of bars, then rows of bars. */
.ow-sk-band {
  background: var(--ow-color-surface-alt);
  border-bottom: 1px solid var(--ow-color-border);
  display: flex;
  flex-wrap: wrap;
  gap: var(--ow-space-4);
  padding: var(--ow-space-3) var(--ow-space-4);
}
.ow-sk-row {
  border-bottom: 1px solid var(--ow-color-border-soft);
  display: flex;
  flex-wrap: wrap;
  gap: var(--ow-space-4);
  padding: var(--ow-space-4);
}
.ow-sk-bar { animation: ow-pulse 1.4s ease-in-out infinite; background: var(--ow-color-border-soft); border-radius: var(--ow-radius-sm); height: 12px; width: 120px; }
.ow-sk-bar--xs { width: 70px; }
.ow-sk-bar--sm { width: 90px; }
.ow-sk-bar--md { width: 130px; }
.ow-sk-bar--lg { width: 150px; }
.ow-sk-bar--xl { width: 220px; }
.ow-sk-band .ow-sk-bar { background: var(--ow-color-border); height: 11px; }
.ow-sk-foot {
  align-items: center;
  background: var(--ow-color-surface-alt);
  color: var(--ow-color-faint);
  display: flex;
  font-size: var(--ow-type-label);
  font-weight: 700;
  gap: var(--ow-space-2);
  justify-content: center;
  padding: var(--ow-space-3);
}
.ow-sk-foot i { color: var(--ow-color-brand); }
@keyframes ow-pulse { 0%, 100% { opacity: 0.5; } 50% { opacity: 1; } }

/* ── 11. Record page: hero, form bands, floating docks ─────────────────── */

.ow-hero { background: var(--ow-color-surface); border-bottom: 1px solid var(--ow-color-border); overflow: hidden; }
.ow-hero__top {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: var(--ow-space-4);
  justify-content: space-between;
  padding: var(--ow-space-4) var(--ow-space-6);
}
.ow-hero__name { color: var(--ow-color-text); font-size: var(--ow-type-view-title); font-weight: 800; letter-spacing: var(--ow-tracking-tighter); overflow-wrap: anywhere; }
/* Container-driven, not viewport-driven. A record screen's rail is pinned open
 * at 248px whenever a section menu is active, so the same viewport can give the
 * hero a ~628px column or an ~800px one — a viewport media query cannot tell
 * the difference. auto-fit collapses to at most the number of stats present,
 * and the 210px floor is set by the widest unbreakable value a stat holds (a
 * date at 27px plus the cell's own padding). Separators stay on the cell rather
 * than being drawn as grid gaps, so a row with fewer cells than tracks leaves
 * plain surface rather than a filled empty block. */
.ow-hero__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}
.ow-hero__stat { border-right: 1px solid var(--ow-color-border-soft); border-top: 1px solid var(--ow-color-border-soft); min-width: 0; padding: var(--ow-space-3) var(--ow-space-6); }
.ow-hero__stat:last-child { border-right: 0; }
.ow-hero__nav { background: var(--ow-color-surface); border-top: 1px solid var(--ow-color-border-soft); padding: var(--ow-space-2) var(--ow-space-4); }
@media (max-width: 767px) {
  .ow-hero__top { padding: var(--ow-space-4); }
  .ow-hero__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ow-hero__stat { padding: var(--ow-space-3) var(--ow-space-4); }
}
/* Form band: a labelled section beside its field grid. */
.ow-formband {
  align-items: start;
  border-bottom: 1px solid var(--ow-color-border-soft);
  display: grid;
  gap: var(--ow-space-4) var(--ow-space-6);
  grid-template-columns: 210px minmax(0, 1fr);
  padding: var(--ow-space-4);
}
.ow-formband__head { align-items: flex-start; display: flex; gap: var(--ow-space-3); min-width: 0; }
.ow-formband__title { color: var(--ow-color-text); font-size: var(--ow-type-meta); font-weight: 800; letter-spacing: var(--ow-tracking-wide); text-transform: uppercase; }
.ow-formband__hint { color: var(--ow-color-faint); font-size: var(--ow-type-label); font-weight: 600; line-height: 17px; }
.ow-formband__fields { display: grid; gap: var(--ow-space-4) var(--ow-space-5); grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; }
.ow-formband__fields > .ow-span-all { grid-column: 1 / -1; }
@media (max-width: 1199px) {
  .ow-formband { grid-template-columns: minmax(0, 1fr); }
  .ow-formband__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .ow-formband__fields { grid-template-columns: minmax(0, 1fr); }
}

/* Bottom-centre floating dock: selection bar, screen switcher. */
.ow-dock {
  bottom: var(--ow-space-6);
  display: flex;
  justify-content: center;
  left: 0;
  padding: 0 var(--ow-space-4);
  pointer-events: none;
  position: fixed;
  right: 0;
  z-index: 200;
}
.ow-dock > * { pointer-events: auto; }
.ow-selbar {
  align-items: center;
  background: var(--ow-color-nav-dark);
  border-radius: var(--ow-radius-pill);
  box-shadow: var(--ow-shadow-modal);
  color: var(--ow-color-on-dark);
  display: inline-flex;
  gap: var(--ow-space-3);
  padding: var(--ow-space-2) var(--ow-space-2) var(--ow-space-2) var(--ow-space-5);
}
.ow-selbar__count { font-size: var(--ow-type-meta); font-weight: 700; white-space: nowrap; }
.ow-selbar__divider { background: rgba(255, 255, 255, 0.18); height: 22px; width: 1px; }
.ow-selbar__btn {
  align-items: center;
  background: rgba(255, 255, 255, 0.1);
  border: 0;
  border-radius: var(--ow-radius-pill);
  color: var(--ow-color-surface);
  cursor: pointer;
  display: inline-flex;
  font-family: inherit;
  font-size: var(--ow-type-meta);
  font-weight: 700;
  gap: var(--ow-space-2);
  height: var(--ow-control-h);
  padding: 0 var(--ow-space-3);
}
.ow-selbar__btn--primary { background: var(--ow-color-brand); padding: 0 var(--ow-space-4); }
.ow-selbar__btn--primary:hover { filter: brightness(0.94); }
.ow-selbar__close {
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: rgba(255, 255, 255, 0.7);
  cursor: pointer;
  font-size: var(--ow-type-meta);
  height: var(--ow-control-h);
  width: 34px;
}

/* Prototype-only: the screen-state switcher on the demo layouts. */
.ow-switcher {
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-pill);
  bottom: var(--ow-space-4);
  box-shadow: var(--ow-shadow-raise);
  display: flex;
  flex-wrap: wrap;
  gap: var(--ow-space-1);
  padding: var(--ow-space-1);
  position: fixed;
  right: var(--ow-space-4);
  z-index: 300;
}
.ow-switcher__label { align-self: center; color: var(--ow-color-faint); font-size: var(--ow-type-micro); font-weight: 800; letter-spacing: var(--ow-tracking-label); padding: 0 var(--ow-space-2) 0 var(--ow-space-3); text-transform: uppercase; white-space: nowrap; }
.ow-switcher__btn {
  background: transparent;
  border: 0;
  border-radius: var(--ow-radius-pill);
  color: var(--ow-color-muted);
  cursor: pointer;
  font-family: inherit;
  font-size: var(--ow-type-label);
  font-weight: 700;
  height: var(--ow-control-h);
  padding: 0 var(--ow-space-3);
  transition: background var(--ow-dur-hover) var(--ow-ease);
}
.ow-switcher__btn:hover { background: var(--ow-color-page-bg); }
.ow-switcher__btn.is-active { background: var(--ow-color-brand-tint); color: var(--ow-color-brand-deep); }

/* ── 12. Sign-in screen ────────────────────────────────────────────────── */

.ow-auth { display: flex; min-height: 100vh; width: 100%; }
@media (max-width: 991px) { .ow-auth { flex-direction: column; } }

.ow-auth__hero {
  background: var(--ow-color-nav-dark);
  color: var(--ow-color-on-dark);
  display: flex;
  flex: 1.05 1 0;
  flex-direction: column;
  /* A real gap, not just space-between: with no gap, a hero whose children fill
   * the box distributes negative free space and adjacent blocks overlap instead
   * of the column growing. space-between still pins the legal line to the floor
   * whenever there is room to spare. */
  gap: var(--ow-space-6);
  justify-content: space-between;
  min-width: 0;
  overflow: hidden;
  padding: 56px 64px;
  position: relative;
}
.ow-auth__hero .ow-brand-rule { height: 4px; left: 0; position: absolute; right: 0; top: 0; }
.ow-auth__glow {
  background: radial-gradient(circle at center, var(--ow-color-brand-tint-strong), rgba(245, 130, 32, 0) 68%);
  border-radius: 50%;
  height: 520px;
  pointer-events: none;
  position: absolute;
  right: -140px;
  top: 50%;
  transform: translateY(-50%);
  width: 520px;
}
.ow-auth__hero > *:not(.ow-auth__glow):not(.ow-brand-rule) { position: relative; z-index: 1; }
.ow-auth__lockup { animation: ow-auth-in 0.6s var(--ow-ease-out); }
.ow-auth__lockup img { display: block; height: 52px; width: auto; }
.ow-auth__eyebrow {
  align-items: center;
  display: flex;
  gap: var(--ow-space-4);
  margin-top: 14px;
  max-width: 340px;
}
.ow-auth__eyebrow span:first-child { background: var(--ow-color-brand); flex: none; height: 2px; width: 40px; }
.ow-auth__eyebrow span:last-child {
  color: var(--ow-color-on-dark);
  font-size: var(--ow-type-body);
  font-weight: 800;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  white-space: nowrap;
}
.ow-auth__pitch { animation: ow-auth-in 0.8s var(--ow-ease-out); max-width: 460px; }
/* The hero is always-dark chrome, so its heading takes the dark-chrome token:
 * the base `h1..h6 { color: var(--ow-color-heading) }` rule in `_ow_typography`
 * is more specific than the hero's inherited white and was painting the
 * headline near-black on navy (~1.1:1). Same reason the eyebrow below takes the
 * nav text colour rather than --ow-color-faint. */
.ow-auth__pitch h1 { color: var(--ow-color-nav-heading); font-size: 34px; font-weight: 800; letter-spacing: var(--ow-tracking-tight); line-height: 1.18; margin: 0 0 var(--ow-space-4); }
.ow-auth__hero .ow-eyebrow { color: var(--ow-color-nav-text); }
.ow-auth__pitch p { color: var(--ow-color-muted); font-size: var(--ow-type-card-title); line-height: 1.55; margin: 0 0 36px; }
.ow-auth__features { display: flex; flex-direction: column; gap: 18px; }
.ow-auth__feature { align-items: center; color: var(--ow-color-on-dark); display: flex; font-size: var(--ow-type-body); font-weight: 600; gap: 14px; }
.ow-auth__feature .ow-icontile { background: var(--ow-color-brand-tint-strong); }
.ow-auth__legal { animation: ow-auth-in 1s var(--ow-ease-out); color: var(--ow-color-muted); font-size: var(--ow-type-meta); margin: 0; }

.ow-auth__panel {
  align-items: center;
  background: var(--ow-color-page-bg);
  display: flex;
  flex: 1 1 0;
  justify-content: center;
  min-width: 0;
  padding: 56px var(--ow-space-7);
}
.ow-auth__form { animation: ow-auth-in 1s var(--ow-ease-out); max-width: 400px; width: 100%; }
.ow-auth__form h2 { color: var(--ow-color-text); font-size: var(--ow-type-page-title); font-weight: 800; letter-spacing: var(--ow-tracking-tight); margin: 0 0 var(--ow-space-2); }
.ow-auth__form > p:first-of-type { color: var(--ow-color-muted); font-size: var(--ow-type-body); margin: 0 0 var(--ow-space-7); }
.ow-auth__foot { color: var(--ow-color-muted); font-size: var(--ow-type-body); margin: var(--ow-space-6) 0 0; text-align: center; }
@keyframes ow-auth-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 991px) {
  /* Stacked, the hero is a block of content, not a column that shares the
   * viewport: `flex: 1.05 1 0` plus `overflow: hidden` resolves its automatic
   * minimum size to 0, so the whole lockup, pitch and legal line clipped to the
   * 4px brand rule. The glow is clipped by the panel below instead. */
  .ow-auth__hero { flex: none; justify-content: flex-start; overflow: visible; padding: var(--ow-space-7) var(--ow-space-6); }
  .ow-auth__glow { display: none; }
  .ow-auth__panel { padding: var(--ow-space-7) var(--ow-space-6) var(--ow-space-8); }
}

/* ── 13. Record search overlay ─────────────────────────────────── */

.ow-reslist { background: var(--ow-color-surface-alt); display: flex; flex-direction: column; gap: var(--ow-space-2); padding: var(--ow-space-3); }
.ow-reslist__row {
  align-items: center;
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-left-width: 3px;
  border-radius: var(--ow-radius-lg);
  column-gap: var(--ow-space-5);
  cursor: pointer;
  display: grid;
  font-family: inherit;
  grid-template-columns: minmax(0, 1fr) auto 28px;
  padding: var(--ow-space-3) var(--ow-space-4);
  text-align: left;
  transition: background var(--ow-dur-hover) var(--ow-ease), border-color var(--ow-dur-hover) var(--ow-ease);
  width: 100%;
}
.ow-reslist__row:hover, .ow-reslist__row:focus, .ow-reslist__row.is-active {
  background: var(--ow-color-selected-bg);
  border-color: var(--ow-color-brand);
}
.ow-reslist__row.is-selected { background: var(--ow-color-selected-row); border-color: var(--ow-color-brand); border-left-color: var(--ow-color-brand-deep); }
.ow-reslist__row.is-inactive { opacity: 0.62; }
.ow-reslist__primary { color: var(--ow-color-text); font-size: var(--ow-type-data); font-weight: 700; letter-spacing: var(--ow-tracking-tight); }
.ow-reslist__meta { align-items: center; color: var(--ow-color-muted); display: flex; flex-wrap: wrap; font-size: var(--ow-type-meta); gap: var(--ow-space-4); }
.ow-reslist__meta i { color: var(--ow-color-faint); font-size: var(--ow-type-micro); width: 12px; }
.ow-reslist__value { display: flex; flex-direction: column; gap: var(--ow-space-1); text-align: right; }
.ow-reslist__figure { color: var(--ow-color-text); font-size: var(--ow-type-section-title); font-variant-numeric: tabular-nums; font-weight: 800; letter-spacing: var(--ow-tracking-tight); }
.ow-reslist__go {
  align-items: center;
  background: var(--ow-color-brand-tint);
  border-radius: var(--ow-radius-pill);
  color: var(--ow-color-brand-deep);
  display: inline-flex;
  font-size: var(--ow-type-micro);
  height: 26px;
  justify-content: center;
  opacity: 0;
  transform: translateX(-5px);
  transition: opacity var(--ow-dur-hover) var(--ow-ease), transform var(--ow-dur-hover) var(--ow-ease);
  width: 26px;
}
.ow-reslist__row:hover .ow-reslist__go,
.ow-reslist__row:focus .ow-reslist__go,
.ow-reslist__row.is-active .ow-reslist__go { opacity: 1; transform: none; }
@media (max-width: 860px) {
  .ow-reslist__row { grid-template-columns: minmax(0, 1fr); padding: var(--ow-space-4); row-gap: var(--ow-space-3); }
  .ow-reslist__value { text-align: left; }
  .ow-reslist__go { display: none; }
}

.ow-kbd { align-items: center; color: var(--ow-color-faint); display: inline-flex; font-size: var(--ow-type-micro); gap: var(--ow-space-2); }
.ow-kbd kbd {
  background: var(--ow-color-border-soft);
  border: 1px solid var(--ow-color-border);
  border-bottom-width: 2px;
  border-radius: var(--ow-radius-sm);
  color: var(--ow-color-muted);
  font-family: inherit;
  font-size: var(--ow-type-nano);
  font-weight: 700;
  padding: var(--ow-space-1);
}
@media (max-width: 860px) { .ow-kbd { display: none; } }

/* ── 14. Profile screen: password strength, rule list, row lists ───────── */

.ow-strength { align-items: center; display: flex; gap: var(--ow-space-2); }
.ow-strength__bar { background: var(--ow-color-border); border-radius: var(--ow-radius-pill); flex: 1 1 auto; height: 5px; transition: background var(--ow-dur-state) var(--ow-ease); }
.ow-strength__label { color: var(--ow-color-faint); font-size: var(--ow-type-micro); font-weight: 800; letter-spacing: var(--ow-tracking-label); min-width: 74px; text-align: right; text-transform: uppercase; }
.ow-strength--weak .ow-strength__bar.is-on, .ow-strength--weak .ow-strength__label { background: var(--ow-status-fail-fg); }
.ow-strength--fair .ow-strength__bar.is-on, .ow-strength--fair .ow-strength__label { background: var(--ow-color-warning); }
.ow-strength--good .ow-strength__bar.is-on, .ow-strength--good .ow-strength__label { background: var(--ow-color-brand); }
.ow-strength--strong .ow-strength__bar.is-on, .ow-strength--strong .ow-strength__label { background: var(--ow-color-success); }
.ow-strength--weak .ow-strength__label { background: none; color: var(--ow-status-fail-fg); }
.ow-strength--fair .ow-strength__label { background: none; color: var(--ow-color-warning); }
.ow-strength--good .ow-strength__label { background: none; color: var(--ow-color-brand); }
.ow-strength--strong .ow-strength__label { background: none; color: var(--ow-color-success); }

.ow-rulelist { display: flex; flex-wrap: wrap; gap: var(--ow-space-2) 18px; }
.ow-rule { align-items: center; color: var(--ow-color-faint); display: inline-flex; font-size: var(--ow-type-label); font-weight: 600; gap: var(--ow-space-2); }
.ow-rule i { font-size: var(--ow-type-micro); }
.ow-rule.is-ok { color: var(--ow-color-success); }

/* Stacked label/value rows inside a rail card. */
.ow-rowlist { display: flex; flex-direction: column; }
.ow-rowlist__row {
  border-bottom: 1px solid var(--ow-color-border-soft);
  display: flex;
  flex-direction: column;
  gap: var(--ow-space-1);
  padding: var(--ow-space-3) var(--ow-space-4);
}
.ow-rowlist__row:last-child { border-bottom: 0; }
.ow-rowlist--split .ow-rowlist__row { align-items: baseline; flex-direction: row; gap: var(--ow-space-3); justify-content: space-between; }
.ow-rowlist__value { color: var(--ow-color-text); font-size: var(--ow-type-meta); font-weight: 600; line-height: 19px; }
.ow-rowlist--split .ow-rowlist__value { font-variant-numeric: tabular-nums; font-weight: 700; text-align: right; }

/* Signature preview box on the profile screen. */
.ow-signature {
  align-items: center;
  background: var(--ow-color-surface-alt);
  border: 1px dashed var(--ow-color-border);
  border-radius: var(--ow-radius-md);
  display: flex;
  flex: none;
  height: var(--ow-control-h-touch);
  justify-content: center;
  overflow: hidden;
  width: 112px;
}
.ow-signature__mark { color: var(--ow-color-text); font-family: Georgia, serif; font-size: var(--ow-type-section-title); font-style: italic; opacity: 0.8; }
.ow-signature__empty { color: var(--ow-color-faint); font-size: var(--ow-type-micro); font-weight: 700; letter-spacing: var(--ow-tracking-label); text-transform: uppercase; }

.ow-pin { color: var(--ow-color-text); font-size: var(--ow-type-view-title); font-variant-numeric: tabular-nums; font-weight: 800; letter-spacing: 0.14em; min-width: 88px; }

/* ── 15. Ticket card (mobile ticketing list) ───────────────────────────── */

.ow-tcard {
  --tcard-accent: var(--ow-color-brand);
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-xl);
  box-shadow: var(--ow-shadow-mobile-card);
  display: flex;
  flex-direction: column;
  gap: var(--ow-space-3);
  overflow: hidden;
  padding: var(--ow-space-3);
  position: relative;
}
.ow-tcard.is-draft { --tcard-accent: var(--ow-color-border); }
.ow-tcard.is-done { --tcard-accent: var(--ow-color-faint); }
.ow-tcard__accent { background: var(--tcard-accent); bottom: 0; left: 0; position: absolute; top: 0; width: 4px; }
.ow-tcard__stage {
  background: var(--ow-color-brand-tint);
  border: 1px solid var(--ow-color-brand-tint-strong);
  border-radius: var(--ow-radius-pill);
  color: var(--ow-color-brand-deep);
  flex: none;
  font-size: var(--ow-type-micro);
  font-weight: 800;
  letter-spacing: var(--ow-tracking-label);
  padding: var(--ow-space-1) var(--ow-space-2);
  text-transform: uppercase;
  white-space: nowrap;
}
.ow-tcard.is-draft .ow-tcard__stage { background: var(--ow-color-page-bg); border-color: var(--ow-color-border); color: var(--ow-color-faint); }
.ow-tcard.is-done .ow-tcard__stage { background: var(--ow-color-border-soft); border-color: var(--ow-color-border); color: var(--ow-color-muted); }
.ow-tcard__grid {
  border-top: 1px solid var(--ow-color-border-soft);
  display: grid;
  gap: 9px var(--ow-space-3);
  grid-template-columns: 1fr 1fr;
  padding-top: var(--ow-space-3);
}
.ow-tcard__net { color: var(--ow-color-brand); font-size: var(--ow-type-data); font-variant-numeric: tabular-nums; font-weight: 800; line-height: 1.15; }
.ow-tcard.is-done .ow-tcard__net { color: var(--ow-color-text); }
.ow-weightile { background: var(--ow-color-page-bg); border-radius: var(--ow-radius-lg); min-width: 0; padding: var(--ow-space-2); }
.ow-weightile--pending { background: var(--ow-color-selected-row); }
.ow-weightile__figure { color: var(--ow-color-text); font-size: var(--ow-type-data); font-variant-numeric: tabular-nums; font-weight: 800; }
.ow-weightile--pending .ow-weightile__figure { color: var(--ow-color-faint); }
.ow-weightile__time { color: var(--ow-color-muted); font-size: var(--ow-type-micro); font-variant-numeric: tabular-nums; margin-top: 2px; }
.ow-weightile--pending .ow-weightile__time { color: var(--ow-color-faint); }
.ow-iconbtn--danger:hover { background: var(--ow-status-fail-bg); border-color: var(--ow-status-fail-bg); color: var(--ow-color-danger); }
.ow-iconbtn--lg { border-radius: var(--ow-radius-lg); font-size: var(--ow-type-card-title); height: 48px; width: 48px; }

/* ── 16. Log screens: cells, filter chips, detail cards, image strips ──── */

/* Table cell wrappers used by the shared DataTable's render functions. */
.ow-cell { padding: 13px var(--ow-space-3); }
.ow-cell--compact { padding: var(--ow-space-2) var(--ow-space-3); }
.ow-cell--nowrap { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-cell__time { font-size: var(--ow-type-meta); font-weight: 700; white-space: nowrap; }
.ow-cell__date { color: var(--ow-color-faint); font-size: var(--ow-type-label); margin-top: 1px; }
.ow-cell__reg { font-size: var(--ow-type-body); font-weight: 800; letter-spacing: var(--ow-tracking-wide); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-cell__body { font-size: var(--ow-type-meta); }
.ow-cell__weight {
  color: var(--ow-color-text);
  font-size: var(--ow-type-data);
  font-weight: var(--ow-type-data-weight);
  letter-spacing: var(--ow-tracking-tight);
  text-align: right;
  white-space: nowrap;
}
.ow-cell__weight.is-unknown { color: var(--ow-color-faint); }
.ow-cell__stack { display: flex; flex-direction: column; }
.ow-cell__badges { align-items: center; display: flex; flex-wrap: wrap; gap: 5px; }
.ow-cell__sub { align-items: center; color: var(--ow-color-muted); display: inline-flex; font-size: var(--ow-type-label); font-weight: 400; gap: var(--ow-space-2); letter-spacing: 0; margin-top: 5px; }
.ow-cell__sub i { color: var(--ow-color-faint); font-size: var(--ow-type-nano); }

/* Direction tag: an icon plus its label, never a bare glyph. */
.ow-dirtag { align-items: center; color: var(--ow-color-text); display: inline-flex; font-size: var(--ow-type-meta); font-weight: 700; gap: var(--ow-space-2); white-space: nowrap; }
.ow-dirtag i { font-size: var(--ow-type-micro); opacity: 0.85; }
.ow-dirtag.is-unknown { color: var(--ow-color-faint); }
.ow-dirtag--chip { background: var(--ow-color-surface-alt); border-radius: var(--ow-radius-pill); font-size: var(--ow-type-label); padding: var(--ow-space-1) var(--ow-space-2); }

/* Applied-filter chips. */
.ow-chiprow { align-items: center; display: flex; flex-wrap: wrap; gap: var(--ow-space-2); padding: 0 var(--ow-space-1); }
.ow-chip {
  align-items: center;
  background: var(--ow-color-brand-tint);
  border: 1px solid var(--ow-color-brand-tint-strong);
  border-radius: var(--ow-radius-pill);
  color: var(--ow-color-brand-deep);
  display: inline-flex;
  font-size: var(--ow-type-label);
  font-weight: 700;
  gap: var(--ow-space-2);
  height: 28px;
  padding: 0 var(--ow-space-1) 0 var(--ow-space-3);
}
.ow-chip__x {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: var(--ow-color-brand-deep);
  cursor: pointer;
  display: inline-flex;
  font-size: var(--ow-type-nano);
  height: 18px;
  justify-content: center;
  width: 18px;
}
.ow-chip__x:hover { background: var(--ow-color-brand-tint-strong); }
/* Count badge inside a button label. */
.ow-countbadge {
  align-items: center;
  background: var(--ow-color-brand);
  border-radius: var(--ow-radius-pill);
  color: var(--ow-color-surface);
  display: inline-flex;
  font-size: var(--ow-type-micro);
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  height: 18px;
  justify-content: center;
  margin-left: 6px;
  min-width: 18px;
  padding: 0 var(--ow-space-1);
}

/* Expanded-row detail: cards of definition lists plus an image strip. */
.ow-detailgrid { display: grid; gap: var(--ow-space-4); grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.ow-detailcard {
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-lg);
  display: flex;
  flex-direction: column;
  gap: var(--ow-space-2);
  padding: 14px var(--ow-space-4);
}
.ow-detailcard__figure { align-items: baseline; display: flex; gap: 7px; }
.ow-detailcard__figure b { color: var(--ow-color-text); font-size: 24px; font-variant-numeric: tabular-nums; font-weight: 800; letter-spacing: var(--ow-tracking-tight); }
.ow-detailcard__figure span { color: var(--ow-color-muted); font-size: var(--ow-type-label); font-weight: 700; }
.ow-deflist { display: grid; gap: 7px 14px; grid-template-columns: auto 1fr; margin: 0; }
.ow-deflist dt { color: var(--ow-color-faint); font-size: var(--ow-type-micro); font-weight: 800; letter-spacing: 0.05em; text-align: left; text-transform: uppercase; }
.ow-deflist dd { color: var(--ow-color-text); font-size: var(--ow-type-meta); font-weight: 600; margin: 0; overflow-wrap: anywhere; text-align: right; }

.ow-imgstrip { display: flex; flex-wrap: wrap; gap: 14px; }
.ow-imgcard { display: flex; flex-direction: column; gap: 6px; margin: 0; width: 150px; }
.ow-imgframe {
  align-items: center;
  background: var(--ow-color-brand-tint);
  border: 1px solid var(--ow-color-brand-tint-strong);
  border-radius: var(--ow-radius-md);
  display: flex;
  flex-direction: column;
  gap: 5px;
  height: 96px;
  justify-content: center;
  overflow: hidden;
}
.ow-imgframe i { color: var(--ow-color-brand); font-size: var(--ow-type-data); }
.ow-imgframe span { color: var(--ow-color-faint); font-size: var(--ow-type-micro); font-weight: 600; }
.ow-imgframe--broken { background: var(--ow-color-surface-alt); border-color: var(--ow-color-border); }
.ow-imgframe--broken i { color: var(--ow-color-faint); }
.ow-imgframe--broken span { color: var(--ow-color-muted); }
.ow-imgcard figcaption { color: var(--ow-color-text); font-size: var(--ow-type-label); font-weight: 700; }
.ow-imgmeta { color: var(--ow-color-faint); font-size: var(--ow-type-micro); line-height: 15px; overflow-wrap: anywhere; }
@media (max-width: 767px) {
  .ow-imgcard { width: 140px; }
  .ow-imgframe { height: 92px; }
}

/* Scrolling card list (mobile log views) inside a fixed-height surface. */
.ow-cardscroll {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: var(--ow-space-3);
  min-height: 0;
  overflow-y: auto;
  padding: var(--ow-space-3);
}
.ow-logcard {
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-lg);
  box-shadow: var(--ow-shadow-mobile-card);
  display: flex;
  flex-direction: column;
  gap: var(--ow-space-3);
  padding: var(--ow-space-3);
}
.ow-logcard.is-expanded { border-color: var(--ow-color-brand-tint-strong); }
.ow-loadmore { color: var(--ow-color-muted); font-size: var(--ow-type-label); font-weight: 600; padding: var(--ow-space-3); text-align: center; }
.ow-loadmore i { margin-right: var(--ow-space-2); }
.ow-loadmore--end { color: var(--ow-color-faint); font-weight: 400; }

/* ── 17. Weighing Activities: tabs, quick filters, weigh cells, sections ── */

.ow-tabs {
  background: var(--ow-color-surface-alt);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-md);
  display: inline-flex;
  gap: var(--ow-space-1);
  padding: var(--ow-space-1);
}
.ow-tab {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: var(--ow-radius-md);
  color: var(--ow-color-muted);
  cursor: pointer;
  display: inline-flex;
  font-family: inherit;
  font-size: var(--ow-type-meta);
  font-weight: 600;
  gap: var(--ow-space-2);
  height: var(--ow-control-h);
  padding: 0 var(--ow-space-3);
  transition: background var(--ow-dur-hover) var(--ow-ease), color var(--ow-dur-hover) var(--ow-ease),
              box-shadow var(--ow-dur-hover) var(--ow-ease);
  white-space: nowrap;
}
.ow-tab i { color: var(--ow-color-faint); font-size: var(--ow-type-label); }
.ow-tab.is-active { background: var(--ow-color-surface); box-shadow: var(--ow-shadow-contact); color: var(--ow-color-text); font-weight: 800; }
.ow-tab.is-active i { color: var(--ow-color-brand); }
.ow-tab__count {
  align-items: center;
  background: var(--ow-color-border-soft);
  border-radius: var(--ow-radius-pill);
  color: var(--ow-color-muted);
  display: inline-flex;
  font-size: var(--ow-type-micro);
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  height: 20px;
  padding: 0 var(--ow-space-2);
}
.ow-tab.is-active .ow-tab__count { background: var(--ow-color-brand-tint); color: var(--ow-color-brand-deep); }
@media (max-width: 767px) { .ow-tab { height: var(--ow-tap-min); } }

.ow-quickfilters { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); overflow: hidden; }
.ow-quickfilter {
  border-left: 1px solid var(--ow-color-border-soft);
  display: flex;
  flex-direction: column;
  gap: var(--ow-space-2);
  min-width: 0;
  padding: var(--ow-space-3);
}
.ow-quickfilter:first-child { border-left-color: transparent; }
.ow-quickfilter__title { align-items: center; display: flex; gap: var(--ow-space-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-quickfilter__title i { font-size: var(--ow-type-micro); }
.ow-quickfilter__title.is-open i { color: var(--ow-status-warning-fg); }
.ow-quickfilter__title.is-closed i { color: var(--ow-status-pass-fg); }
.ow-quickfilter__title.is-all i { color: var(--ow-color-brand); }
.ow-quickfilter__title.is-review i { color: var(--ow-status-fail-fg); }
.ow-minipills { display: flex; flex-wrap: wrap; gap: var(--ow-space-1); }
.ow-minipill {
  align-items: center;
  background: var(--ow-color-brand-tint);
  border: 1px solid var(--ow-color-brand-tint-strong);
  border-radius: var(--ow-radius-pill);
  color: var(--ow-color-muted);
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  font-family: inherit;
  font-size: var(--ow-type-micro);
  font-weight: 700;
  gap: var(--ow-space-2);
  height: 26px;
  min-width: max-content;
  padding: 0 var(--ow-space-2);
  transition: background var(--ow-dur-hover) var(--ow-ease), border-color var(--ow-dur-hover) var(--ow-ease),
              color var(--ow-dur-hover) var(--ow-ease);
  white-space: nowrap;
}
.ow-minipill:hover { border-color: var(--ow-color-brand); color: var(--ow-color-text); }
.ow-minipill.is-active { background: var(--ow-color-brand); border-color: var(--ow-color-brand); color: var(--ow-color-surface); }
.ow-minipill strong { font-size: var(--ow-type-label); font-variant-numeric: tabular-nums; font-weight: 800; }

/* Weigh / net table cells: the figure is the fact, the time sits under it. */
.ow-weighcell { display: flex; flex-direction: column; gap: 2px; }
.ow-weighcell__row { align-items: baseline; display: inline-flex; gap: var(--ow-space-1); white-space: nowrap; }
.ow-weighcell__value { color: var(--ow-color-text); font-size: var(--ow-type-card-title); font-variant-numeric: tabular-nums; font-weight: 800; letter-spacing: var(--ow-tracking-tight); }
.ow-weighcell__unit { color: var(--ow-color-muted); font-size: var(--ow-type-micro); font-weight: 700; }
.ow-weighcell__time { color: var(--ow-color-faint); font-size: var(--ow-type-micro); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ow-weighcell__dir { align-items: center; color: var(--ow-color-muted); display: inline-flex; font-size: var(--ow-type-micro); font-weight: 700; gap: 5px; }
.ow-weighcell__dir i { color: var(--ow-color-faint); font-size: var(--ow-type-nano); }
.ow-netcell { align-items: flex-end; display: flex; flex-direction: column; gap: 2px; text-align: right; white-space: nowrap; }
.ow-netcell__row { align-items: baseline; display: inline-flex; gap: var(--ow-space-1); }
.ow-netcell__value { color: var(--ow-color-text); font-size: 18px; font-variant-numeric: tabular-nums; font-weight: 800; letter-spacing: var(--ow-tracking-tight); }
.ow-awaiting { color: var(--ow-color-faint); font-size: var(--ow-type-meta); }

/* State cell: badges act as the trigger for the meaning popover. */
.ow-statebtn {
  align-items: center;
  background: transparent;
  border: 0;
  cursor: pointer;
  display: flex;
  flex-wrap: wrap;
  font: inherit;
  gap: 5px;
  padding: 0;
  text-align: left;
}
.ow-statebtn > i { color: var(--ow-color-faint); font-size: var(--ow-type-micro); }
.ow-statebtn[aria-expanded="true"] > i { color: var(--ow-color-brand); }
.ow-popover {
  animation: ow-in 0.16s var(--ow-ease);
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-lg);
  box-shadow: var(--ow-shadow-menu);
  display: flex;
  flex-direction: column;
  gap: var(--ow-space-2);
  max-width: calc(100vw - 24px);
  padding: var(--ow-space-3) 14px;
  position: fixed;
  white-space: normal;
  width: 280px;
  z-index: 60;
}
.ow-popover__sec { display: flex; flex-direction: column; gap: 3px; }
.ow-popover__title { color: var(--ow-color-text); font-size: var(--ow-type-meta); font-weight: 700; }
.ow-popover__body { color: var(--ow-color-muted); font-size: var(--ow-type-label); line-height: 17px; text-wrap: pretty; }

/* Expanded detail sections (transaction card / activity detail panel). */
.ow-section {
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-lg);
  display: flex;
  flex-direction: column;
  gap: var(--ow-space-2);
  padding: 14px var(--ow-space-4);
}
.ow-section__head { align-items: center; display: flex; gap: var(--ow-space-3); justify-content: space-between; }
.ow-section__head h4 {
  color: var(--ow-color-muted);
  font-size: var(--ow-type-label);
  font-weight: 800;
  letter-spacing: var(--ow-tracking-label);
  margin: 0;
  text-transform: uppercase;
}
.ow-section__note { color: var(--ow-color-muted); font-size: var(--ow-type-meta); margin: 0; }
.ow-pillrow { display: flex; flex-wrap: wrap; gap: 7px; }
.ow-subgrid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.ow-subcard {
  background: var(--ow-color-surface-alt);
  border: 1px solid var(--ow-color-border);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: var(--ow-space-3) 13px;
}
.ow-subcard__head { align-items: center; color: var(--ow-color-text); display: inline-flex; font-size: var(--ow-type-meta); font-weight: 800; gap: var(--ow-space-2); }
.ow-subcard__head i { color: var(--ow-color-brand); font-size: var(--ow-type-label); }
/* Step / progress states on a subcard, and the system's one dim treatment for
 * a row that is present but not in play (archived, not held, not yet reachable).
 * Defined once here so a badge is never the only thing carrying hierarchy. */
.ow-subcard.is-current { background: var(--ow-color-brand-tint); border-color: var(--ow-color-brand-tint-strong); }
.ow-subcard.is-attention { border-color: var(--ow-status-fail-fg); }
.ow-subcard.is-attention .ow-subcard__head, .ow-subcard.is-attention .ow-subcard__head i { color: var(--ow-status-fail-fg); }
.ow-subcard.is-dim, .ow-option.is-dim { opacity: 0.6; }
.ow-subcard.is-dim .ow-subcard__head i { color: var(--ow-color-faint); }
.ow-netbox {
  background: var(--ow-color-brand-tint);
  border: 1px solid var(--ow-color-brand-tint-strong);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: var(--ow-space-2);
  padding: var(--ow-space-3) 13px;
}
.ow-netbox__head {
  align-items: center;
  color: var(--ow-color-brand-deep);
  display: inline-flex;
  font-size: var(--ow-type-label);
  font-weight: 800;
  gap: var(--ow-space-2);
  letter-spacing: var(--ow-tracking-label);
  text-transform: uppercase;
}
.ow-netcalc { display: grid; gap: var(--ow-space-1) var(--ow-space-3); grid-template-columns: 1fr auto; margin: 0; }
.ow-netcalc dt { color: var(--ow-color-muted); font-size: var(--ow-type-label); font-weight: 600; }
.ow-netcalc dd { color: var(--ow-color-text); font-size: var(--ow-type-meta); font-variant-numeric: tabular-nums; font-weight: 700; margin: 0; text-align: right; }
.ow-netbox__rule { background: var(--ow-color-brand-tint-strong); height: 1px; }
.ow-netbox__total { align-items: baseline; display: flex; gap: var(--ow-space-2); justify-content: space-between; }
.ow-netbox__total b { color: var(--ow-color-text); font-size: 27px; font-variant-numeric: tabular-nums; font-weight: 800; letter-spacing: var(--ow-tracking-tight); }
.ow-netbox__total span { color: var(--ow-color-brand-deep); font-size: var(--ow-type-label); font-weight: 700; }
.ow-tiprow { border-top: 1px solid var(--ow-color-border-soft); display: flex; flex-direction: column; gap: var(--ow-space-2); padding-top: var(--ow-space-2); }
.ow-metagrid { display: grid; gap: var(--ow-space-2) 18px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); margin: 0; }
.ow-metagrid dt { color: var(--ow-color-faint); font-size: var(--ow-type-micro); font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; }
.ow-metagrid dd { color: var(--ow-color-text); font-size: var(--ow-type-meta); font-weight: 600; margin: 0 0 var(--ow-space-1); overflow-wrap: anywhere; }

/* Gallery disclosure button, with its own count badge. */
.ow-imgtoggle {
  align-items: center;
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-md);
  color: var(--ow-color-text);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: var(--ow-type-label);
  font-weight: 700;
  gap: var(--ow-space-2);
  height: 32px;
  padding: 0 var(--ow-space-3);
}
.ow-imgtoggle.is-open { background: var(--ow-color-brand-tint); border-color: var(--ow-color-brand); color: var(--ow-color-brand-deep); }
.ow-imgtoggle i { font-size: var(--ow-type-label); }
.ow-spin { animation: ow-spin 0.9s linear infinite; display: inline-block; }
@keyframes ow-spin { to { transform: rotate(360deg); } }
.ow-fade-in { animation: ow-in var(--ow-dur-state) var(--ow-ease-out); }

/* ── 18. Style reference: document shell and specimens ─────────────────── */
/* Used by OpenWeigh Waste, the live token/component reference. A specimen's
 * value is carried by a class, not an inline style, so the page it documents
 * is also the cleanest example of the rules. */

.ow-doc { display: flex; flex-direction: column; gap: var(--ow-space-9); margin: 0 auto; max-width: var(--ow-doc-max); padding: var(--ow-space-7) var(--ow-space-7) var(--ow-space-8); }
@media (max-width: 767px) { .ow-doc { padding: var(--ow-space-5) var(--ow-gutter-page-mobile) var(--ow-space-7); } }
.ow-doc__head { border-bottom: 1px solid var(--ow-color-border); display: flex; flex-direction: column; gap: var(--ow-space-2); padding-bottom: var(--ow-space-6); }
.ow-doc__title { color: var(--ow-color-heading); font-size: var(--ow-type-doc-title); font-weight: var(--ow-type-page-title-weight); letter-spacing: var(--ow-tracking-tighter); margin: 0; }
.ow-doc__foot { border-top: 1px solid var(--ow-color-border); color: var(--ow-color-muted); font-size: var(--ow-type-label); padding-top: var(--ow-space-5); }

.ow-specsection { display: flex; flex-direction: column; gap: var(--ow-space-5); }
.ow-specgroup { display: flex; flex-direction: column; gap: var(--ow-space-3); }
.ow-specgrid { display: grid; gap: var(--ow-space-3); grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.ow-specgrid--tiles { gap: var(--ow-space-4); grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.ow-specgrid--wide { gap: var(--ow-space-4); grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.ow-specgrid--cards { gap: var(--ow-space-4); grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.ow-specgrid--cards-wide { gap: var(--ow-space-4); grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }

/* Colour swatch: a 56px chip over its name, token and value. */
.ow-swatch { background: var(--ow-color-surface); border: 1px solid var(--ow-color-border); border-radius: var(--ow-radius-lg); overflow: hidden; }
.ow-swatch__chip { border-bottom: 1px solid var(--ow-color-border-soft); height: var(--ow-control-h-touch); }
.ow-swatch__meta { display: flex; flex-direction: column; padding: var(--ow-space-2) var(--ow-space-3); }
.ow-specname { color: var(--ow-color-text); font-size: var(--ow-type-meta); font-weight: 700; }
.ow-specflex { flex: 1 1 220px; min-width: 0; }
.ow-chip--page-bg { background: var(--ow-color-page-bg); }
.ow-chip--surface { background: var(--ow-color-surface); }
.ow-chip--surface-alt { background: var(--ow-color-surface-alt); }
.ow-chip--border { background: var(--ow-color-border); }
.ow-chip--border-soft { background: var(--ow-color-border-soft); }
.ow-chip--text { background: var(--ow-color-text); }
.ow-chip--muted { background: var(--ow-color-muted); }
.ow-chip--faint { background: var(--ow-color-faint); }
.ow-chip--link { background: var(--ow-color-link); }
.ow-chip--nav { background: var(--ow-color-nav); }
.ow-chip--nav-dark { background: var(--ow-color-nav-dark); }
.ow-chip--selected-row { background: var(--ow-color-selected-row); }
.ow-chip--brand { background: var(--ow-color-brand); }
.ow-chip--brand-strong { background: var(--ow-color-brand-strong); }
.ow-chip--brand-deep { background: var(--ow-color-brand-deep); }
.ow-chip--brand-tint { background: var(--ow-color-brand-tint); }
.ow-chip--focus-ring { background: var(--ow-focus-ring); }
.ow-chip--success { background: var(--ow-color-success); }
.ow-chip--warning { background: var(--ow-color-warning); }
.ow-chip--danger { background: var(--ow-color-danger); }
.ow-chip--info { background: var(--ow-color-info); }
.ow-chip--ws-blocked { background: var(--ow-wsstatus-blocked); }
.ow-chip--ws-waiting { background: var(--ow-wsstatus-waiting); }
.ow-chip--ws-active { background: var(--ow-wsstatus-active); }
.ow-chip--ws-done { background: var(--ow-wsstatus-done); }
.ow-chip--ws-neutral { background: var(--ow-wsstatus-neutral); }
.ow-chip--ws-parts { background: var(--ow-wsstatus-parts); }

/* Specimen rows: type roles, spacing steps, usage map. */
.ow-speclist { padding: var(--ow-space-2) var(--ow-space-6); }
.ow-speclist--pad { padding: var(--ow-space-5) var(--ow-space-6); }
.ow-specrow { align-items: baseline; border-bottom: 1px solid var(--ow-color-border-soft); display: grid; gap: var(--ow-space-6); grid-template-columns: 220px minmax(0, 1fr) 220px; padding: var(--ow-space-3) 0; }
.ow-specrow:last-child { border-bottom: 0; }
.ow-specrow__spec { text-align: right; }
.ow-specrow--space { align-items: center; border-bottom: 0; gap: var(--ow-space-4); grid-template-columns: 180px minmax(0, 1fr) 120px; padding: var(--ow-space-1) 0; }
.ow-specrow--usage { align-items: baseline; gap: var(--ow-space-4); grid-template-columns: 220px minmax(0, 1fr); padding: var(--ow-space-3) var(--ow-space-5); }
.ow-specrow--head { background: var(--ow-color-surface-alt); border-bottom: 1px solid var(--ow-color-border); padding: var(--ow-space-2) var(--ow-space-5); }
@media (max-width: 767px) {
  .ow-specrow, .ow-specrow--space, .ow-specrow--usage, .ow-specrow--head { gap: var(--ow-space-2); grid-template-columns: minmax(0, 1fr); }
  .ow-specrow__spec { text-align: left; }
}
/* Two type roles the globals layer has no class for, only tokens. */
.ow-specsample--meta { font-size: var(--ow-type-meta); font-weight: var(--ow-font-weight-medium); }
.ow-specsample--micro { font-size: var(--ow-type-micro); font-weight: var(--ow-font-weight-semibold); letter-spacing: var(--ow-tracking-label); text-transform: uppercase; }
.ow-specsample--touch { font-size: var(--ow-type-touch-input); font-variant-numeric: tabular-nums; font-weight: var(--ow-type-touch-input-weight); }

.ow-specbar { background: var(--ow-color-brand-tint); border-left: 3px solid var(--ow-color-brand); height: 20px; }
.ow-specbar--1 { width: var(--ow-space-1); }
.ow-specbar--2 { width: var(--ow-space-2); }
.ow-specbar--3 { width: var(--ow-space-3); }
.ow-specbar--4 { width: var(--ow-space-4); }
.ow-specbar--5 { width: var(--ow-space-5); }
.ow-specbar--6 { width: var(--ow-space-6); }
.ow-specbar--7 { width: var(--ow-space-7); }
.ow-specbar--8 { width: var(--ow-space-8); }

.ow-spectile { background: var(--ow-color-surface); border: 1px solid var(--ow-color-border); border-radius: var(--ow-radius-lg); display: flex; flex-direction: column; gap: var(--ow-space-1); padding: var(--ow-space-4); text-align: center; }
.ow-specradius { background: var(--ow-color-brand-tint); border: 1px solid var(--ow-color-brand); height: 64px; margin: var(--ow-space-1) auto var(--ow-space-3); width: 64px; }
.ow-specradius--sm { border-radius: var(--ow-radius-sm); }
.ow-specradius--md { border-radius: var(--ow-radius-md); }
.ow-specradius--card { border-radius: var(--ow-radius-card); }
.ow-specradius--lg { border-radius: var(--ow-radius-lg); }
.ow-specradius--xl { border-radius: var(--ow-radius-xl); }
.ow-specradius--2xl { border-radius: var(--ow-radius-2xl); }
.ow-specradius--pill { border-radius: var(--ow-radius-pill); }

/* Shadow specimens sit on the page tint so the elevation reads. */
.ow-specshadow { background: var(--ow-color-page-bg); border-radius: var(--ow-radius-lg); padding: var(--ow-space-5) var(--ow-space-4); }
.ow-specshadow__box { background: var(--ow-color-surface); border: 1px solid var(--ow-color-border); border-radius: var(--ow-radius-lg); display: flex; flex-direction: column; padding: var(--ow-space-5); text-align: center; }
.ow-specshadow__box--card { box-shadow: var(--ow-shadow-card); }
.ow-specshadow__box--table { box-shadow: var(--ow-shadow-table); }
.ow-specshadow__box--raise { box-shadow: var(--ow-shadow-raise); }
.ow-specshadow__box--menu { box-shadow: var(--ow-shadow-menu); }
.ow-specshadow__box--modal { box-shadow: var(--ow-shadow-modal); }
.ow-specshadow__box--brand { box-shadow: var(--ow-shadow-brand); }

.ow-specicon { align-items: center; background: var(--ow-color-surface); border: 1px solid var(--ow-color-border); border-radius: var(--ow-radius-lg); display: flex; gap: var(--ow-space-3); padding: var(--ow-space-3); }
/* A results surface inside a flowing document: fixed height so the table
 * scrolls internally and loads the next page on reach, as it does in an app. */
.ow-specresults { height: 440px; }
.ow-specrule { background: var(--ow-brand-rule); border-radius: 2px; height: var(--ow-brand-rule-height); }

/* ── 19. Artboard canvas: mock portal frames (Hardware Devices) ─────────── */
/* A review canvas of the same screen at three breakpoints. Everything that
 * varies by breakpoint is a .ow-frame--* rule, never a per-frame inline value. */

.ow-canvas { background: var(--ow-canvas-bg); display: flex; flex-direction: column; gap: var(--ow-space-10); min-width: min-content; padding: var(--ow-space-8) var(--ow-space-9) calc(var(--ow-space-8) * 2); }
.ow-canvas__intro { display: flex; flex-direction: column; gap: var(--ow-space-3); max-width: var(--ow-canvas-prose); }
.ow-canvas__title { color: var(--ow-color-heading); font-size: var(--ow-type-canvas-title); font-weight: var(--ow-type-page-title-weight); letter-spacing: var(--ow-tracking-tighter); margin: 0; }
.ow-canvas__prose { color: var(--ow-color-text-soft); font-size: var(--ow-type-body); line-height: var(--ow-line-height); margin: 0; text-wrap: pretty; }
.ow-canvas__prose--meta { font-size: var(--ow-type-meta); }
.ow-canvas__prose strong { color: var(--ow-color-text); }
.ow-canvas__section { display: flex; flex-direction: column; gap: var(--ow-space-5); }
.ow-canvas__brief { display: flex; flex-direction: column; gap: var(--ow-space-2); max-width: var(--ow-canvas-prose-narrow); }
.ow-canvas__n { align-items: center; background: var(--ow-color-text); border-radius: var(--ow-radius-md); color: var(--ow-color-surface); display: inline-flex; flex: none; font-size: var(--ow-type-label); font-variant-numeric: tabular-nums; font-weight: 800; height: 26px; justify-content: center; min-width: 26px; padding: 0 var(--ow-space-2); }
.ow-canvas__heading { color: var(--ow-color-heading); font-size: var(--ow-type-section-title); font-weight: 800; letter-spacing: var(--ow-tracking-tight); margin: 0; }
.ow-canvas__row { align-items: flex-start; display: flex; gap: var(--ow-frame-gap); }
.ow-canvas__slot { display: flex; flex: none; flex-direction: column; gap: var(--ow-space-3); }
.ow-canvas__bp { color: var(--ow-color-text); font-size: var(--ow-type-label); font-weight: 800; letter-spacing: var(--ow-tracking-label); text-transform: uppercase; }
.ow-canvas__legend { align-items: center; background: var(--ow-color-surface); border: 1px solid var(--ow-color-border); border-radius: var(--ow-radius-pill); color: var(--ow-color-text-soft); display: inline-flex; font-size: var(--ow-type-label); font-weight: 700; gap: var(--ow-space-2); height: 28px; padding: 0 var(--ow-space-3); }
.ow-canvas__legend i { color: var(--ow-color-brand); font-size: var(--ow-type-micro); }

.ow-frame {
  background: var(--ow-color-page-bg);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-card);
  box-shadow: var(--ow-shadow-raise);
  display: flex;
  flex: none;
  overflow: hidden;
  position: relative;
}
.ow-frame--desktop { height: var(--ow-bp-desktop-h); width: var(--ow-bp-desktop-w); }
.ow-frame--tablet { height: var(--ow-bp-tablet-h); width: var(--ow-bp-tablet-w); }
.ow-frame--mobile { height: var(--ow-bp-mobile-h); width: var(--ow-bp-mobile-w); }

/* Mock shell rail */
.ow-frame__nav { background: var(--ow-color-surface); border-right: 1px solid var(--ow-color-border); display: flex; flex: none; flex-direction: column; width: var(--ow-frame-sidebar); }
.ow-frame--tablet .ow-frame__nav { width: var(--ow-frame-sidebar-collapsed); }
.ow-frame__navrow { align-items: center; display: flex; flex: none; min-height: var(--ow-control-h-touch); padding: var(--ow-space-3); }
.ow-frame__navrow--site { align-items: stretch; min-height: 0; padding: 0 var(--ow-space-3) var(--ow-space-3); }
.ow-frame--tablet .ow-frame__navrow { justify-content: center; }
.ow-frame__logo { display: block; height: auto; max-width: 160px; width: 100%; }
.ow-frame__mark { align-items: center; background: var(--ow-color-brand); border-radius: var(--ow-radius-lg); color: var(--ow-color-surface); display: inline-flex; flex: none; font-size: var(--ow-type-body); font-weight: 800; height: var(--ow-control-h-lg); justify-content: center; letter-spacing: var(--ow-tracking-tighter); width: var(--ow-icon-tile-sm); }
.ow-frame__site { align-items: center; background: var(--ow-color-page-bg); border: 1px solid var(--ow-color-border); border-radius: var(--ow-radius-lg); display: flex; gap: var(--ow-space-3); min-height: var(--ow-row-height); padding: 0 var(--ow-space-2); width: 100%; }
.ow-frame__site--icon { color: var(--ow-color-brand); font-size: var(--ow-type-body); justify-content: center; min-height: var(--ow-tap-min); width: var(--ow-tap-min); }
.ow-frame__nav-groups { display: flex; flex: 1; flex-direction: column; gap: var(--ow-space-3); overflow: hidden; padding: 0 var(--ow-space-3); }
.ow-frame__nav-group { display: flex; flex-direction: column; gap: var(--ow-space-1); }
.ow-frame__navlegend { padding: 0 var(--ow-space-2) var(--ow-space-1); }
.ow-frame__raillegend { padding: var(--ow-space-1) var(--ow-space-2); }
.ow-frame__navitem { align-items: center; border-radius: var(--ow-radius-md); color: var(--ow-color-text-soft); display: flex; font-size: var(--ow-type-meta); font-weight: 600; gap: var(--ow-space-3); min-height: var(--ow-control-h-lg); padding: 0 var(--ow-space-2); }
.ow-frame__navitem i { flex: none; font-size: var(--ow-type-body); text-align: center; width: 18px; }
.ow-frame__navitem.is-active { background: var(--ow-color-brand); box-shadow: var(--ow-shadow-brand); color: var(--ow-color-surface); font-weight: 700; }
.ow-frame--tablet .ow-frame__navitem { justify-content: center; }
.ow-frame__user { align-items: center; border-top: 1px solid var(--ow-color-border); display: flex; flex: none; gap: var(--ow-space-3); padding: var(--ow-space-2) var(--ow-space-3); }
.ow-frame--tablet .ow-frame__user { justify-content: center; }
.ow-frame__avatar { align-items: center; background: var(--ow-color-brand); border-radius: 50%; color: var(--ow-color-surface); display: inline-flex; flex: none; font-size: var(--ow-type-label); font-weight: 800; height: var(--ow-control-h); justify-content: center; width: var(--ow-icon-tile-xs); }

/* Mock header and content column */
.ow-frame__main { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.ow-frame__header { align-items: center; backdrop-filter: var(--ow-blur-nav); background: var(--ow-glass); border-bottom: 1px solid var(--ow-color-border); display: flex; flex: none; gap: var(--ow-space-3); height: var(--ow-navbar-height); padding: 0 var(--ow-gutter-page); }
.ow-frame--mobile .ow-frame__header { height: var(--ow-nav-height); padding: 0 var(--ow-gutter-page-mobile); }
.ow-frame__title { color: var(--ow-color-text); display: block; font-size: var(--ow-type-frame-title); font-weight: 800; letter-spacing: var(--ow-tracking-tighter); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-frame--mobile .ow-frame__title { font-size: var(--ow-type-card-title); }
.ow-frame__body { flex: 1; min-height: 0; overflow: hidden; padding: var(--ow-gutter-page); }
.ow-frame--mobile .ow-frame__body { padding: var(--ow-gutter-page-mobile); }
.ow-frame__shell { align-items: start; display: grid; gap: var(--ow-space-4); grid-template-columns: var(--ow-frame-rail) minmax(0, 1fr); }
.ow-frame--mobile .ow-frame__shell { gap: var(--ow-space-3); grid-template-columns: minmax(0, 1fr); }
.ow-frame__col { display: flex; flex-direction: column; gap: var(--ow-space-3); min-width: 0; }
/* Simulated scroll: the column is pulled up so a lower surface is in frame. */
.ow-frame__col--scroll-installer { margin-top: calc(var(--ow-frame-scroll-installer) * -1); }
.ow-frame__col--scroll-fact { margin-top: calc(var(--ow-frame-scroll-fact) * -1); }
.ow-frame__col--scroll-nudge { margin-top: calc(var(--ow-frame-scroll-nudge) * -1); }
.ow-frame__crumb { align-items: center; color: var(--ow-color-faint); display: inline-flex; font-size: var(--ow-type-label); font-weight: 700; gap: var(--ow-space-2); }
.ow-frame__pagetitle { color: var(--ow-color-text); font-size: var(--ow-type-frame-page-title); font-weight: 800; letter-spacing: var(--ow-tracking-tighter); }
.ow-frame--mobile .ow-frame__pagetitle { font-size: var(--ow-type-section-title); }

/* Settings rail and its mobile pill row */
.ow-frame__rail { background: var(--ow-color-surface); border: 1px solid var(--ow-color-border); border-radius: var(--ow-radius-card); box-shadow: var(--ow-shadow-table); display: flex; flex-direction: column; gap: var(--ow-space-3); padding: var(--ow-space-2); }
.ow-railitem { align-items: center; border-radius: var(--ow-radius-md); color: var(--ow-color-text-soft); display: flex; font-size: var(--ow-type-meta); font-weight: 600; gap: var(--ow-space-3); min-height: var(--ow-control-h-lg); padding: 0 var(--ow-space-2); }
.ow-railitem i { color: var(--ow-color-faint); flex: none; font-size: var(--ow-type-meta); width: 16px; }
.ow-railitem.is-active { background: var(--ow-color-brand-tint); color: var(--ow-color-brand-deep); font-weight: 700; }
.ow-railitem.is-active i { color: var(--ow-color-brand); }
.ow-railitem__badge { background: var(--ow-color-border-soft); border-radius: var(--ow-radius-pill); color: var(--ow-color-text-soft); font-size: var(--ow-type-micro); font-weight: 800; padding: 1px var(--ow-space-2); }
.ow-railitem.is-active .ow-railitem__badge { background: var(--ow-color-brand); color: var(--ow-color-surface); }
.ow-railpills { display: flex; gap: var(--ow-space-2); overflow: hidden; padding: var(--ow-space-1) 0; }
.ow-railpill { align-items: center; background: var(--ow-color-surface); border: 1px solid var(--ow-color-border); border-radius: var(--ow-radius-pill); color: var(--ow-color-text-soft); display: inline-flex; flex: none; font-size: var(--ow-type-meta); font-weight: 700; gap: var(--ow-space-2); height: var(--ow-control-h-lg); padding: 0 var(--ow-space-3); white-space: nowrap; }
.ow-railpill i { font-size: var(--ow-type-label); }
.ow-railpill.is-active { background: var(--ow-color-selected-bg); border-color: var(--ow-color-brand); color: var(--ow-color-brand-deep); }

/* Form bands inside a device surface */
.ow-band { align-items: start; border-bottom: 1px solid var(--ow-color-border-soft); display: grid; gap: var(--ow-space-3) var(--ow-space-6); grid-template-columns: var(--ow-frame-band-label) minmax(0, 1fr); padding: var(--ow-space-4); }
.ow-frame--tablet .ow-band, .ow-frame--mobile .ow-band { grid-template-columns: minmax(0, 1fr); }
.ow-band__head { align-items: flex-start; display: flex; gap: var(--ow-space-3); min-width: 0; }
.ow-band__title { color: var(--ow-color-text); font-size: var(--ow-type-meta); font-weight: 800; letter-spacing: var(--ow-tracking-wide); text-transform: uppercase; }
.ow-band__hint { color: var(--ow-color-faint); font-size: var(--ow-type-label); font-weight: 600; text-wrap: pretty; }
.ow-band__body { display: flex; flex-direction: column; gap: var(--ow-space-3); min-width: 0; }
.ow-fieldgrid { display: grid; gap: var(--ow-space-4); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ow-frame--tablet .ow-fieldgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ow-frame--mobile .ow-fieldgrid { grid-template-columns: minmax(0, 1fr); }

/* Device-type cards: the type is the first and most consequential choice. */
.ow-kindgrid { display: grid; gap: var(--ow-space-3); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ow-frame--tablet .ow-kindgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ow-frame--mobile .ow-kindgrid { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 1199px) { .ow-kindgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .ow-kindgrid { grid-template-columns: minmax(0, 1fr); } }
.ow-kind {
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-lg);
  box-shadow: var(--ow-shadow-contact);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  font-family: inherit;
  gap: var(--ow-space-2);
  min-height: var(--ow-kind-min-h);
  padding: var(--ow-space-3);
  position: relative;
  text-align: left;
  transition: background var(--ow-dur-hover) var(--ow-ease), border-color var(--ow-dur-hover) var(--ow-ease);
}
.ow-frame--mobile .ow-kind { min-height: var(--ow-kind-min-h-touch); }
.ow-kind:hover { border-color: var(--ow-color-brand); }
.ow-kind.is-selected { background: var(--ow-color-selected-bg); border-color: var(--ow-color-brand); box-shadow: var(--ow-shadow-brand-soft); }
.ow-kind__icon { align-items: center; background: var(--ow-color-border-soft); border-radius: var(--ow-radius-md); color: var(--ow-color-text-soft); display: inline-flex; flex: none; font-size: var(--ow-type-body); height: var(--ow-control-h); justify-content: center; width: var(--ow-icon-tile-xs); }
.ow-kind.is-selected .ow-kind__icon { background: var(--ow-color-brand-tint-strong); color: var(--ow-color-brand); }
.ow-kind__label { color: var(--ow-color-text); font-size: var(--ow-type-body); font-weight: 700; }
.ow-kind__body { color: var(--ow-color-text-soft); font-size: var(--ow-type-label); }
.ow-kind__cred { align-items: center; color: var(--ow-color-text-soft); display: inline-flex; font-size: var(--ow-type-micro); font-weight: 800; gap: var(--ow-space-2); letter-spacing: var(--ow-tracking-wide); margin-top: auto; }
.ow-kind__cred i { font-size: var(--ow-type-micro); }
.ow-kind.is-selected .ow-kind__cred { color: var(--ow-color-brand-deep); }
.ow-kind__cred--none { color: var(--ow-color-faint); }
.ow-kind.is-selected .ow-kind__cred--none { color: var(--ow-color-faint); }
.ow-kind__tick { align-items: center; background: var(--ow-color-brand); border-radius: 50%; box-shadow: var(--ow-shadow-brand); color: var(--ow-color-surface); display: inline-flex; font-size: var(--ow-type-micro); height: var(--ow-space-6); justify-content: center; position: absolute; right: calc(var(--ow-space-2) * -1); top: calc(var(--ow-space-2) * -1); width: var(--ow-space-6); }

/* Choice list: radio or multi-select, one visual unit either way. */
.ow-choicegrid { display: grid; gap: var(--ow-space-3); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ow-choicegrid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ow-frame--tablet .ow-choicegrid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ow-frame--mobile .ow-choicegrid, .ow-frame--mobile .ow-choicegrid--3 { grid-template-columns: minmax(0, 1fr); }
/* Works as a label or as a button; buttons need the UA centring undone. */
.ow-choice { align-items: flex-start; background: var(--ow-color-surface); border: 1px solid var(--ow-color-border); border-radius: var(--ow-radius-lg); display: flex; font: inherit; gap: var(--ow-space-3); min-height: var(--ow-choice-min-h); padding: var(--ow-space-3); text-align: left; width: 100%; }
button.ow-choice { cursor: pointer; }
.ow-frame--mobile .ow-choice { min-height: var(--ow-choice-min-h-touch); }
@media (max-width: 767px) {
  .ow-choicegrid, .ow-choicegrid--3 { grid-template-columns: minmax(0, 1fr); }
  .ow-choice { min-height: var(--ow-choice-min-h-touch); }
}
.ow-choice.is-selected { background: var(--ow-color-selected-bg); border-color: var(--ow-color-brand); }
.ow-choice__mark { align-items: center; background: var(--ow-color-surface); border: 2px solid var(--ow-color-border); border-radius: 50%; color: var(--ow-color-surface); display: inline-flex; flex: none; font-size: var(--ow-type-nano); height: 18px; justify-content: center; margin-top: 2px; width: 18px; }
.ow-choice__mark--multi { border-radius: var(--ow-radius-sm); }
.ow-choice.is-selected .ow-choice__mark { background: var(--ow-color-brand); border-color: var(--ow-color-brand); box-shadow: inset 0 0 0 3px var(--ow-color-surface); }
.ow-choice.is-selected .ow-choice__mark--multi { box-shadow: none; }
.ow-choice__title { color: var(--ow-color-text); font-size: var(--ow-type-body); font-weight: 700; }
.ow-choice__body { color: var(--ow-color-text-soft); font-size: var(--ow-type-label); text-wrap: pretty; }

/* Read-only toggle specimen (the artboards never toggle it) */
.ow-toggle { background: var(--ow-color-brand); border-radius: var(--ow-radius-pill); flex: none; height: 26px; position: relative; width: var(--ow-tap-min); }
.ow-toggle::after { background: var(--ow-color-surface); border-radius: 50%; box-shadow: var(--ow-shadow-dot); content: ""; height: 20px; left: 21px; position: absolute; top: 3px; width: 20px; }
.ow-switchrow { align-items: flex-start; background: var(--ow-color-surface-alt); border: 1px solid var(--ow-color-border); border-radius: var(--ow-radius-lg); display: flex; gap: var(--ow-space-3); padding: var(--ow-space-3); }
.ow-headertoggle { align-items: center; border-left: 1px solid var(--ow-color-border-soft); display: inline-flex; gap: var(--ow-space-2); padding-left: var(--ow-space-2); }
.ow-statusline { align-items: center; color: var(--ow-color-online-fg); display: inline-flex; font-size: var(--ow-type-meta); font-weight: 700; gap: var(--ow-space-2); }
.ow-statusline::before { background: var(--ow-color-online); border-radius: 50%; content: ""; flex: none; height: 7px; width: 7px; }

/* A brand-tinted note strip: the consequence stated inline, not a banner. */
.ow-notestrip { align-items: flex-start; background: var(--ow-color-selected-bg); border: 1px solid var(--ow-color-brand-edge); border-radius: var(--ow-radius-lg); color: var(--ow-color-text-soft); display: flex; font-size: var(--ow-type-label); gap: var(--ow-space-3); padding: var(--ow-space-3); text-wrap: pretty; }
.ow-notestrip--stack { flex-direction: column; }
.ow-notestrip i { color: var(--ow-color-brand-deep); flex: none; font-size: var(--ow-type-meta); margin-top: 2px; }
.ow-notestrip__lead { color: var(--ow-color-text); font-size: var(--ow-type-body); font-weight: 800; letter-spacing: var(--ow-tracking-tight); }

/* Installer configuration panel — values a person transcribes into hardware. */
.ow-installer { display: flex; flex-direction: column; gap: var(--ow-space-3); padding: var(--ow-space-4); }
.ow-frame--mobile .ow-installer { padding: var(--ow-space-3); }
.ow-instrow { background: var(--ow-color-surface-alt); border: 1px solid var(--ow-color-border); border-radius: var(--ow-radius-lg); display: flex; flex-direction: column; gap: var(--ow-space-2); padding: var(--ow-space-3); }
.ow-instrow.is-copied { background: var(--ow-color-online-bg); border-color: var(--ow-color-online-fg); }
.ow-instrow__n { align-items: center; background: var(--ow-color-text); border-radius: var(--ow-radius-md); color: var(--ow-color-surface); display: inline-flex; flex: none; font-size: var(--ow-type-label); font-variant-numeric: tabular-nums; font-weight: 800; height: var(--ow-space-6); justify-content: center; width: var(--ow-space-6); }
.ow-instrow__label { color: var(--ow-color-text); font-size: var(--ow-type-body); font-weight: 800; letter-spacing: var(--ow-tracking-tight); }
.ow-frame--mobile .ow-instrow__label { font-size: var(--ow-type-card-title); }
.ow-instrow__controls { align-items: stretch; display: flex; gap: var(--ow-space-2); }
.ow-frame--mobile .ow-instrow__controls { flex-direction: column; }
.ow-instrow__value {
  align-items: center;
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-md);
  color: var(--ow-color-text);
  display: flex;
  flex: 1 1 auto;
  font-family: var(--ow-font-mono);
  font-size: var(--ow-type-label);
  font-weight: 600;
  letter-spacing: var(--ow-tracking-wide);
  min-height: var(--ow-tap-min);
  min-width: 0;
  overflow-wrap: anywhere;
  padding: var(--ow-space-2) var(--ow-space-3);
}
.ow-frame--mobile .ow-instrow__value { font-size: var(--ow-type-card-title); min-height: var(--ow-tap-min-touch); }
.ow-instrow__note { color: var(--ow-color-faint); font-size: var(--ow-type-label); font-weight: 600; text-wrap: pretty; }
.ow-instrow__actions { display: flex; flex: none; gap: var(--ow-space-2); }
.ow-installer__foot { align-items: flex-start; background: var(--ow-color-surface-alt); border-top: 1px solid var(--ow-color-border-soft); color: var(--ow-color-text-soft); display: flex; font-size: var(--ow-type-label); font-weight: 600; gap: var(--ow-space-3); padding: var(--ow-space-3) var(--ow-space-4); text-wrap: pretty; }
.ow-installer__foot i { color: var(--ow-color-faint); flex: none; font-size: var(--ow-type-meta); margin-top: 2px; }
.ow-frame--mobile .ow-instrow__actions > * { flex: 1 1 auto; }
.ow-copybtn {
  align-items: center;
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-md);
  color: var(--ow-color-text-soft);
  cursor: pointer;
  display: inline-flex;
  flex: none;
  font-family: inherit;
  font-size: var(--ow-type-meta);
  font-weight: 700;
  gap: var(--ow-space-2);
  justify-content: center;
  min-height: var(--ow-tap-min);
  padding: 0 var(--ow-space-4);
  white-space: nowrap;
}
.ow-copybtn:hover { border-color: var(--ow-color-brand); color: var(--ow-color-brand-deep); }
.ow-copybtn.is-copied { background: var(--ow-color-online-fg); border-color: var(--ow-color-online-fg); color: var(--ow-color-surface); }
.ow-copybtn--block { flex: 1 1 auto; min-height: var(--ow-row-height); width: 100%; }
.ow-copybtn--brand { background: var(--ow-color-brand); border-color: var(--ow-color-brand); color: var(--ow-color-surface); font-size: var(--ow-type-body); }
.ow-copybtn--brand:hover { color: var(--ow-color-surface); filter: brightness(0.94); }
.ow-copybtn--brand.is-copied { background: var(--ow-color-online-fg); border-color: var(--ow-color-online-fg); }
.ow-keyvalue { display: flex; font-size: var(--ow-type-frame-title); font-weight: 700; line-height: var(--ow-line-height); min-height: 58px; }
.ow-frame--mobile .ow-keyvalue { font-size: var(--ow-type-card-title); min-height: 76px; }

/* Plain fact and destructive-zone rows */
.ow-factrow { align-items: flex-start; display: flex; gap: var(--ow-space-3); padding: var(--ow-space-4); }
.ow-dangerrow { align-items: center; display: flex; flex-wrap: wrap; gap: var(--ow-space-3); padding: var(--ow-space-4); }
.ow-btn--danger-outline { background: var(--ow-color-surface); border-color: var(--ow-color-danger-edge); color: var(--ow-color-danger-solid); }
.ow-btn--danger-outline:hover { background: var(--ow-status-fail-bg); border-color: var(--ow-color-danger); color: var(--ow-color-danger-solid); filter: none; }
.ow-btn--danger-solid { background: var(--ow-color-danger-solid); border-color: var(--ow-color-danger-solid); }
.ow-factgrid { display: grid; gap: var(--ow-space-3); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ow-frame--mobile .ow-factgrid { grid-template-columns: minmax(0, 1fr); }
.ow-fact { background: var(--ow-color-surface-alt); border: 1px solid var(--ow-color-border); border-radius: var(--ow-radius-md); min-width: 0; padding: var(--ow-space-2) var(--ow-space-3); }
.ow-fact__value { color: var(--ow-color-text); font-size: var(--ow-type-body); font-weight: 700; overflow-wrap: anywhere; }
.ow-frame--mobile .ow-modal { width: 100%; }
.ow-frame--mobile .ow-overlay { padding: var(--ow-gutter-page-mobile); }

/* ── 20. Tooltip, toast, form sections, segments (Waste Types) ──────────── */
/* Hover/focus tooltip. Icon-only controls carry their name here as well as on
 * aria-label — the design system's rule for dense tables. */
.ow-tip { position: relative; }
.ow-tip--block { display: block; }
.ow-tip--inline { display: inline-flex; }
.ow-tip__bubble {
  background: var(--ow-color-nav-dark);
  border-radius: var(--ow-radius-sm);
  bottom: calc(100% + 7px);
  color: var(--ow-color-on-dark);
  font-size: var(--ow-type-micro);
  font-weight: 600;
  left: 50%;
  opacity: 0;
  padding: var(--ow-space-1) var(--ow-space-2);
  pointer-events: none;
  position: absolute;
  transform: translateX(-50%);
  transition: opacity var(--ow-dur-hover) var(--ow-ease);
  white-space: nowrap;
  z-index: var(--ow-z-dropdown);
}
.ow-tip__bubble::after {
  border: 5px solid transparent;
  border-top-color: var(--ow-color-nav-dark);
  content: "";
  left: 50%;
  position: absolute;
  top: 100%;
  transform: translateX(-50%);
}
.ow-tip:hover > .ow-tip__bubble, .ow-tip:focus-within > .ow-tip__bubble { opacity: 1; }
/* A TOOLTIP THAT CANNOT BE HOVERED IS NOT A TOOLTIP.
 *
 * On a touch device there is no hover, so the bubble can never be shown — but
 * being absolutely positioned it still occupies layout, and a bubble on the
 * last row action sits past the right edge and makes the whole page scroll
 * sideways by a few pixels. `display: none` rather than a visibility change,
 * because only removal takes it out of the scroll width.
 *
 * Nothing is lost: every control carrying one also carries the `aria-label`
 * the bubble repeats, which is what a screen reader was using anyway. */
@media (hover: none), (max-width: 767px) {
  .ow-tip__bubble { display: none; }
}
.ow-tip__bubble--below { bottom: auto; top: calc(100% + 7px); }
.ow-tip__bubble--below::after { border-bottom-color: var(--ow-color-nav-dark); border-top-color: transparent; bottom: 100%; top: auto; }
.ow-tip__bubble--start { left: 0; max-width: 260px; transform: none; white-space: normal; }
.ow-tip__bubble--start::after { left: var(--ow-space-4); }

/* Transient confirmation, top-centre. Never carries an action. */
/* TEXT ON ALWAYS-DARK CHROME IS `--ow-color-on-dark`, NEVER `--ow-color-surface`.
 *
 * `--ow-color-nav-dark` is one of the few tokens deliberately NOT redeclared
 * for dark mode: this chrome is dark in both themes by design. `--ow-color-surface`
 * IS redeclared — that is the whole point of it — so in dark mode it went from
 * white to #1a1d21 and landed on a #1d2633 background: two near-blacks, about
 * 1.05:1, and the toast simply could not be read.
 *
 * `--ow-color-on-dark` exists for exactly this and is likewise not redeclared,
 * so it stays legible in both themes (about 12:1 here). The same mistake was in
 * `.ow-selbar`, `.ow-auth__hero` and `.ow-tip__bubble`; all four now read the
 * right token. No component gains a dark-mode rule — the fix is a token, which
 * is what `doc/UI_ARCHITECTURE.md` requires. */
.ow-toast {
  align-items: center;
  animation: ow-toast-in var(--ow-dur-state) var(--ow-ease-out);
  background: var(--ow-color-nav-dark);
  border-radius: var(--ow-radius-lg);
  box-shadow: var(--ow-shadow-raise);
  color: var(--ow-color-on-dark);
  display: flex;
  font-size: var(--ow-type-meta);
  font-weight: 700;
  gap: var(--ow-space-2);
  left: 50%;
  padding: var(--ow-space-3) var(--ow-space-4);
  position: fixed;
  top: var(--ow-space-4);
  transform: translateX(-50%);
  z-index: 1300;
}
.ow-toast i { color: var(--ow-color-online); }
@keyframes ow-toast-in {
  from { opacity: 0; transform: translate(-50%, -8px); }
  to { opacity: 1; transform: translate(-50%, 0); }
}

/* Labelled group inside a drawer or form: brand glyph, uppercase label, rule. */
.ow-formsec { display: flex; flex-direction: column; gap: var(--ow-space-4); }
.ow-formsec__head { align-items: center; display: flex; gap: var(--ow-space-2); }
.ow-formsec__head i { color: var(--ow-color-brand); font-size: var(--ow-type-label); }
.ow-formsec__head span {
  color: var(--ow-color-muted);
  font-size: var(--ow-type-micro);
  font-weight: 800;
  letter-spacing: var(--ow-tracking-label);
  text-transform: uppercase;
}
.ow-formsec__head::after { background: var(--ow-color-border-soft); content: ""; flex: 1 1 auto; height: 1px; }

/* Two/three-way segmented control (lifecycle, direction). */
.ow-seg {
  background: var(--ow-color-surface-alt);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-md);
  display: flex;
  gap: var(--ow-space-1);
  padding: var(--ow-space-1);
}
.ow-seg__btn {
  background: transparent;
  border: 0;
  border-radius: var(--ow-radius-sm);
  color: var(--ow-color-muted);
  cursor: pointer;
  flex: 1 1 0;
  font-family: inherit;
  font-size: var(--ow-type-meta);
  font-weight: 700;
  min-height: var(--ow-control-h);
  transition: background var(--ow-dur-hover) var(--ow-ease), color var(--ow-dur-hover) var(--ow-ease);
}
.ow-seg__btn:hover { color: var(--ow-color-brand-deep); }
.ow-seg__btn.is-active { background: var(--ow-color-brand); color: var(--ow-color-surface); }

/* Switch row as a control: the whole row is the hit target, and its tone
 * follows the flag it sets. */
button.ow-switchrow { cursor: pointer; font-family: inherit; text-align: left; width: 100%; }
button.ow-switchrow:hover { border-color: var(--ow-color-brand); }
.ow-switchrow__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ow-switchrow__title {
  align-items: center;
  color: var(--ow-color-text);
  display: flex;
  flex-wrap: wrap;
  font-size: var(--ow-type-meta);
  font-weight: 700;
  gap: var(--ow-space-2);
}
.ow-switchrow__note { color: var(--ow-color-faint); font-size: var(--ow-type-label); line-height: 17px; text-wrap: pretty; }
.ow-switchrow--danger.is-on { background: var(--ow-status-fail-bg); border-color: var(--ow-color-danger-edge); }
.ow-switchrow--danger.is-on .ow-switch { background: var(--ow-color-danger); }
.ow-switchrow--danger.is-on .ow-switchrow__title,
.ow-switchrow--danger.is-on .ow-switchrow__note { color: var(--ow-status-fail-fg); }
.ow-switchrow--warning.is-on { background: var(--ow-status-warning-bg); border-color: transparent; }
.ow-switchrow--warning.is-on .ow-switch { background: var(--ow-color-warning); }
.ow-switchrow--warning.is-on .ow-switchrow__title,
.ow-switchrow--warning.is-on .ow-switchrow__note { color: var(--ow-status-warning-fg); }

/* Hazard flags: the table cell cluster and the legend that explains it. */
.ow-flagcell { align-items: center; display: flex; gap: var(--ow-space-2); justify-content: center; }
.ow-flagcell__none { color: var(--ow-color-faint); font-size: var(--ow-type-label); }
.ow-flaglegend { align-items: center; display: flex; flex-wrap: wrap; gap: var(--ow-space-2) var(--ow-space-5); padding: 0 var(--ow-space-1); }
.ow-flaglegend__item { align-items: center; color: var(--ow-color-muted); display: inline-flex; font-size: var(--ow-type-label); gap: var(--ow-space-2); }

/* ── 21. Weighbridge Ticket: capture header, weighing console, lookup fields ─ */
/* Every per-breakpoint value on this screen is a rule here, never data. */

.ow-tickethead {
  backdrop-filter: var(--ow-blur-nav);
  background: var(--ow-glass);
  border-bottom: 1px solid var(--ow-color-border);
  position: sticky;
  top: 0;
  z-index: var(--ow-z-header);
}
.ow-tickethead.is-scrolled { box-shadow: var(--ow-shadow-shell); }
.ow-tickethead__bar {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--ow-space-4);
  padding: var(--ow-space-3) var(--ow-gutter-page);
}
.ow-tickethead__id { flex: 1 1 260px; min-width: 0; }
.ow-tickethead__no {
  color: var(--ow-color-text);
  font-size: var(--ow-type-page-title);
  font-weight: 800;
  letter-spacing: var(--ow-tracking-tighter);
  margin: 0;
  white-space: nowrap;
}
.ow-tickethead__no span { color: var(--ow-color-brand); }
.ow-tickethead__sub { color: var(--ow-color-faint); font-size: var(--ow-type-meta); font-weight: 600; }
@media (max-width: 767px) {
  .ow-tickethead__bar { padding: var(--ow-space-2) var(--ow-gutter-page-mobile); }
  .ow-tickethead__no { font-size: var(--ow-type-view-title); }
}

/* Segmented control, pill form — used on the header and inside the console. */
.ow-seg--pill { border-radius: var(--ow-radius-pill); }
.ow-seg--pill .ow-seg__btn {
  border-radius: var(--ow-radius-pill);
  font-size: var(--ow-type-label);
  font-weight: 800;
  gap: var(--ow-space-2);
  letter-spacing: var(--ow-tracking-label);
  padding: 0 var(--ow-space-4);
  text-transform: uppercase;
}
.ow-seg__btn { align-items: center; display: inline-flex; gap: var(--ow-space-2); justify-content: center; white-space: nowrap; }
/* The count badge is a filter-pill part; inside a seg button it needs its own
 * chrome, since the pill's spacing does not come with it. */
.ow-seg__btn .ow-filter__count {
  background: var(--ow-color-surface-alt);
  border-radius: var(--ow-radius-pill);
  color: var(--ow-color-muted);
  font-size: var(--ow-type-nano);
  padding: 1px var(--ow-space-2);
}
.ow-seg__btn.is-active .ow-filter__count { background: rgba(255, 255, 255, .22); color: var(--ow-color-surface); }
.ow-seg__btn i { font-size: var(--ow-type-micro); }
.ow-seg--dark { background: var(--ow-console-surface); border-color: var(--ow-console-border); }
.ow-seg--dark .ow-seg__btn { color: var(--ow-color-muted); }
.ow-seg--dark .ow-seg__btn:hover { color: var(--ow-console-text); }
.ow-seg--dark .ow-seg__btn.is-active { background: var(--ow-color-brand); color: var(--ow-color-surface); }
@media (max-width: 767px) { .ow-seg__btn { min-height: var(--ow-tap-min); } }

/* The console: one dark band, everything inside it reads off these tokens. */
.ow-console { background: var(--ow-console-bg); }
.ow-console__body {
  display: flex;
  flex-direction: column;
  gap: var(--ow-space-3);
  padding: var(--ow-space-4) var(--ow-gutter-page) 18px;
}
@media (max-width: 767px) { .ow-console__body { padding: var(--ow-gutter-page-mobile); } }
.ow-console__title { color: var(--ow-console-text); font-size: var(--ow-type-meta); font-weight: 800; letter-spacing: var(--ow-tracking-label); text-transform: uppercase; }
.ow-console__note { color: var(--ow-console-faint); font-size: var(--ow-type-micro); font-weight: 700; letter-spacing: var(--ow-tracking-label); text-transform: uppercase; white-space: nowrap; }
.ow-console__grid { align-items: start; display: grid; gap: var(--ow-space-3); }
.ow-console__grid--two { grid-template-columns: 536px minmax(0, 1fr); }
.ow-console__grid--one { grid-template-columns: 300px minmax(0, 1fr); }
@media (max-width: 1279px) {
  .ow-console__grid--two, .ow-console__grid--one { grid-template-columns: minmax(0, 1fr); }
}
.ow-console__col { display: flex; flex-direction: column; gap: var(--ow-space-3); min-width: 0; }
.ow-console__empty { align-items: center; display: flex; flex-direction: column; gap: var(--ow-space-2); padding: var(--ow-space-7) var(--ow-space-5); text-align: center; }
.ow-console__empty-title { color: var(--ow-console-text); font-size: var(--ow-type-body); font-weight: 700; }
.ow-console__empty-copy { color: var(--ow-console-faint); font-size: var(--ow-type-meta); font-weight: 600; max-width: 44ch; text-wrap: pretty; }
.ow-icontile--console { background: var(--ow-console-brand-tint-strong); color: var(--ow-color-brand); }

/* Bridge readout card */
.ow-bridges { display: grid; gap: var(--ow-space-3); grid-template-columns: minmax(0, 1fr); }
.ow-bridges--two { grid-template-columns: repeat(2, minmax(260px, 1fr)); }
@media (max-width: 767px) { .ow-bridges--two { grid-template-columns: minmax(0, 1fr); } }
.ow-bridge {
  background: var(--ow-console-surface-soft);
  border: 1px solid var(--ow-console-border);
  border-radius: var(--ow-radius-card);
  display: flex;
  flex-direction: column;
  gap: var(--ow-space-3);
  min-width: 0;
  padding: var(--ow-space-3);
  transition: border-color var(--ow-dur-hover) var(--ow-ease);
}
.ow-bridge.is-stable { background: var(--ow-console-surface); }
.ow-bridge.is-live { border-color: var(--ow-console-brand-edge); }
.ow-bridge__top { align-items: flex-end; display: flex; gap: var(--ow-space-3); min-width: 0; }
.ow-bridge__ident { align-items: flex-start; display: flex; flex: none; flex-direction: column; gap: var(--ow-space-1); }
.ow-bridge__name { color: var(--ow-console-muted); font-size: var(--ow-type-micro); font-weight: 800; letter-spacing: var(--ow-tracking-label); text-transform: uppercase; white-space: nowrap; }
.ow-bridge__status {
  align-items: center;
  background: var(--ow-console-ok-bg);
  border-radius: var(--ow-radius-pill);
  color: var(--ow-console-ok);
  display: inline-flex;
  font-size: var(--ow-type-nano);
  font-weight: 800;
  gap: var(--ow-space-1);
  height: 20px;
  letter-spacing: var(--ow-tracking-label);
  padding: 0 var(--ow-space-2);
  text-transform: uppercase;
  white-space: nowrap;
}
.ow-bridge__status::before { background: currentColor; border-radius: 50%; content: ""; height: 5px; width: 5px; }
.ow-bridge__status.is-motion { background: var(--ow-console-brand-tint-strong); color: var(--ow-console-motion); }
.ow-bridge__status.is-motion::before { animation: ow-motion 0.9s ease-in-out infinite; }
@keyframes ow-motion { 0%, 100% { opacity: 0.45; } 50% { opacity: 1; } }
.ow-bridge__read { align-items: baseline; display: flex; gap: var(--ow-space-1); margin-left: auto; min-width: 0; }
/* Console readouts only — scoped so `.ow-figure` on a light surface keeps the
   §2 primitive (inherited colour, --ow-type-data size) instead of console anthracite. */
.ow-console .ow-figure, .ow-readout .ow-figure {
  color: var(--ow-console-text);
  font-size: var(--ow-console-figure);
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  letter-spacing: var(--ow-tracking-tighter);
  line-height: 1;
  white-space: nowrap;
}
.ow-console .ow-figure.is-motion, .ow-readout .ow-figure.is-motion { color: var(--ow-color-muted); }
.ow-console .ow-figure.is-empty, .ow-readout .ow-figure.is-empty { color: var(--ow-console-faint); }
.ow-console .ow-figure--sm, .ow-readout .ow-figure--sm { font-size: 21px; line-height: 1.05; }
.ow-console .ow-figure--md, .ow-readout .ow-figure--md { font-size: 30px; line-height: 1.05; }
.ow-figure--brand { color: var(--ow-color-brand); }
.ow-figure.is-flash { animation: ow-figure-pop 0.35s ease both; }
@keyframes ow-figure-pop { 0% { transform: scale(0.86); } 60% { transform: scale(1.06); } 100% { transform: scale(1); } }
.ow-unit { color: var(--ow-console-faint); flex: none; font-size: var(--ow-type-meta); font-weight: 800; }
.ow-unit--sm { font-size: var(--ow-type-micro); }
@media (max-width: 767px) {
  .ow-console .ow-figure, .ow-readout .ow-figure { font-size: var(--ow-console-figure-sm); }
}
.ow-bridge__actions { display: flex; gap: var(--ow-space-2); }
.ow-bridge__capture {
  align-items: center;
  background: var(--ow-color-brand);
  border: 0;
  border-radius: var(--ow-radius-md);
  color: var(--ow-color-surface);
  cursor: pointer;
  display: inline-flex;
  flex: 1;
  font-family: inherit;
  font-size: var(--ow-type-body);
  font-weight: 800;
  gap: var(--ow-space-2);
  justify-content: center;
  min-height: 46px;
  min-width: 0;
  padding: 0 var(--ow-space-3);
  transition: filter var(--ow-dur-hover) var(--ow-ease);
}
.ow-bridge__capture span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-bridge__capture:hover { filter: brightness(0.94); }
.ow-bridge__capture:active { transform: scale(0.98); }
.ow-bridge__capture.is-idle { background: var(--ow-console-surface-strong); color: var(--ow-color-muted); cursor: not-allowed; opacity: 0.6; }
.ow-consoleicon {
  align-items: center;
  background: transparent;
  border: 1px solid var(--ow-console-border-strong);
  border-radius: var(--ow-radius-md);
  color: var(--ow-console-muted);
  cursor: pointer;
  display: inline-flex;
  flex: none;
  font-size: var(--ow-type-body);
  height: 46px;
  justify-content: center;
  transition: border-color var(--ow-dur-hover) var(--ow-ease), color var(--ow-dur-hover) var(--ow-ease);
  width: 46px;
}
.ow-consoleicon:hover { border-color: var(--ow-color-brand); color: var(--ow-color-brand); }
.ow-consoleicon--round { border-radius: var(--ow-radius-pill); font-size: var(--ow-type-micro); height: 30px; width: 30px; }
@media (max-width: 767px) {
  .ow-bridge__capture { min-height: var(--ow-control-h-touch); }
  .ow-consoleicon { height: var(--ow-control-h-touch); width: var(--ow-control-h-touch); }
  .ow-consoleicon--round { height: var(--ow-tap-min); width: var(--ow-tap-min); }
}

/* Staged-unload banner */
.ow-stagebar {
  align-items: center;
  background: var(--ow-console-brand-tint-strong);
  border: 1px solid var(--ow-console-brand-edge);
  border-radius: var(--ow-radius-card);
  display: flex;
  gap: var(--ow-space-3);
  padding: var(--ow-space-3);
}
.ow-stagebar--choose { background: var(--ow-console-surface-soft); border-style: dashed; }
.ow-stagebar__body { display: flex; flex: 1; flex-direction: column; gap: var(--ow-space-1); min-width: 0; }
.ow-stagebar__label { color: var(--ow-color-brand); font-size: var(--ow-type-nano); font-weight: 800; letter-spacing: var(--ow-tracking-label); text-transform: uppercase; }
.ow-stagebar__name { color: var(--ow-console-text); font-size: var(--ow-type-card-title); font-weight: 800; letter-spacing: var(--ow-tracking-tight); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-stagebar__copy { color: var(--ow-console-text); font-size: var(--ow-type-body); font-weight: 700; text-wrap: pretty; }
.ow-stagebar__meta { color: var(--ow-console-muted); font-size: var(--ow-type-micro); font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-stagebar__progress { color: var(--ow-color-muted); flex: none; font-size: var(--ow-type-micro); font-weight: 700; max-width: 120px; text-align: right; text-wrap: pretty; }

/* Weight ledger */
.ow-ledger {
  background: var(--ow-console-surface);
  border: 1px solid var(--ow-console-border-soft);
  border-radius: var(--ow-radius-card);
  display: flex;
  flex-direction: column;
  gap: var(--ow-space-2);
  padding: var(--ow-space-2);
}
.ow-ledger__cell {
  align-items: center;
  background: var(--ow-console-surface-strong);
  border: 1px solid var(--ow-console-border);
  border-radius: var(--ow-radius-lg);
  display: flex;
  gap: var(--ow-space-3);
  min-width: 0;
  padding: var(--ow-space-2) var(--ow-space-3);
}
.ow-ledger__cell.is-empty { background: var(--ow-console-surface-soft); border-color: var(--ow-console-border-soft); }
.ow-ledger__cell.is-total { background: var(--ow-console-brand-tint); border-color: var(--ow-console-brand-edge); }
.ow-ledger__body { display: flex; flex: 1; flex-direction: column; gap: var(--ow-space-1); min-width: 0; }
.ow-ledger__label { color: var(--ow-console-muted); font-size: var(--ow-type-nano); font-weight: 800; letter-spacing: var(--ow-tracking-label); text-transform: uppercase; white-space: nowrap; }
.ow-ledger__cell.is-empty .ow-ledger__label { color: var(--ow-console-faint); }
.ow-ledger__cell.is-total .ow-ledger__label { color: var(--ow-console-text); }
.ow-ledger__label i { color: var(--ow-console-faint); font-size: var(--ow-type-nano); }
.ow-ledger__source { align-items: center; color: var(--ow-color-muted); display: flex; font-size: var(--ow-type-micro); font-weight: 700; gap: var(--ow-space-1); min-width: 0; }
.ow-ledger__source span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-ledger__source i { flex: none; font-size: var(--ow-type-nano); }
.ow-ledger__cell.is-empty .ow-ledger__source { color: var(--ow-console-faint); }
.ow-ledger__source.is-manual { color: var(--ow-console-motion); }
.ow-ledger__read { align-items: baseline; display: flex; flex: none; gap: var(--ow-space-1); }

/* Chargeable summary */
.ow-charge {
  background: var(--ow-console-brand-tint);
  border: 1px solid var(--ow-console-brand-edge);
  border-radius: var(--ow-radius-lg);
  display: flex;
  flex-direction: column;
  gap: var(--ow-space-2);
  padding: var(--ow-space-3);
}
.ow-charge__label { color: var(--ow-console-muted); font-size: var(--ow-type-nano); font-weight: 800; letter-spacing: var(--ow-tracking-label); text-transform: uppercase; }
.ow-charge__basis { color: var(--ow-console-faint); font-size: var(--ow-type-micro); font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-charge__total { color: var(--ow-color-brand); flex: none; font-size: var(--ow-type-page-title); font-variant-numeric: tabular-nums; font-weight: 800; letter-spacing: var(--ow-tracking-tighter); }
.ow-charge__lines { border-top: 1px solid var(--ow-console-brand-edge); display: flex; flex-direction: column; gap: var(--ow-space-2); padding-top: var(--ow-space-2); }
.ow-charge__line { align-items: baseline; display: flex; gap: var(--ow-space-3); min-width: 0; }
.ow-charge__name { color: var(--ow-console-muted); flex: 1; font-size: var(--ow-type-label); font-weight: 700; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-charge__meta { color: var(--ow-console-faint); flex: none; font-size: var(--ow-type-micro); font-variant-numeric: tabular-nums; font-weight: 700; white-space: nowrap; }
.ow-charge__amount { color: var(--ow-console-text); flex: none; font-size: var(--ow-type-meta); font-variant-numeric: tabular-nums; font-weight: 800; text-align: right; width: 78px; }
.ow-charge__sum { align-items: baseline; border-top: 1px solid var(--ow-console-brand-edge); display: flex; gap: var(--ow-space-3); padding-top: var(--ow-space-2); }
.ow-charge__sum .ow-charge__label { flex: 1; }
.ow-charge__sum .ow-charge__amount { color: var(--ow-color-brand); font-size: var(--ow-type-body); }

/* Waste-on-ticket panel */
.ow-wastepanel {
  background: var(--ow-console-surface-soft);
  border: 1px solid var(--ow-console-border);
  border-radius: var(--ow-radius-card);
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.ow-wastepanel__head {
  align-items: center;
  border-bottom: 1px solid var(--ow-console-border-soft);
  display: flex;
  flex-wrap: wrap;
  gap: var(--ow-space-3);
  padding: var(--ow-space-3);
}
.ow-wastepanel__count {
  align-items: center;
  background: var(--ow-console-surface-strong);
  border-radius: var(--ow-radius-pill);
  color: var(--ow-console-muted);
  display: inline-flex;
  font-size: var(--ow-type-nano);
  font-weight: 800;
  height: 20px;
  letter-spacing: var(--ow-tracking-label);
  padding: 0 var(--ow-space-2);
  text-transform: uppercase;
}
.ow-wastepanel__tools { align-items: center; display: flex; flex-wrap: wrap; gap: var(--ow-space-2); margin-left: auto; }
.ow-wastepanel__body { display: flex; flex-direction: column; gap: var(--ow-space-2); padding: var(--ow-space-2); }
.ow-consolebtn {
  align-items: center;
  background: transparent;
  border: 1px solid var(--ow-console-border-strong);
  border-radius: var(--ow-radius-md);
  color: var(--ow-console-muted);
  cursor: pointer;
  display: inline-flex;
  flex: none;
  font-family: inherit;
  font-size: var(--ow-type-meta);
  font-weight: 700;
  gap: var(--ow-space-2);
  min-height: var(--ow-control-h);
  padding: 0 var(--ow-space-3);
  transition: border-color var(--ow-dur-hover) var(--ow-ease), color var(--ow-dur-hover) var(--ow-ease);
  white-space: nowrap;
}
.ow-consolebtn i { font-size: var(--ow-type-micro); }
.ow-consolebtn:hover { border-color: var(--ow-color-brand); color: var(--ow-color-brand); }
.ow-consolebtn.is-disabled, .ow-consolebtn:disabled { cursor: not-allowed; opacity: 0.45; }
.ow-consolebtn--brand { background: var(--ow-console-brand-tint-strong); border-color: transparent; color: var(--ow-color-brand); font-weight: 800; }
.ow-consolebtn--brand:hover { background: var(--ow-color-brand); color: var(--ow-color-surface); }
.ow-consolebtn--lg { min-height: var(--ow-control-h-lg); }
@media (max-width: 767px) { .ow-consolebtn { min-height: var(--ow-tap-min); } }

/* Allocation bar */
.ow-alloc { border-bottom: 1px solid var(--ow-console-border-soft); display: flex; flex-direction: column; gap: var(--ow-space-2); padding: var(--ow-space-3); }
.ow-alloc__title { color: var(--ow-console-muted); font-size: var(--ow-type-micro); font-weight: 800; letter-spacing: var(--ow-tracking-label); text-transform: uppercase; }
.ow-alloc__status { color: var(--ow-color-brand); font-size: var(--ow-type-label); font-variant-numeric: tabular-nums; font-weight: 800; margin-left: auto; }
.ow-alloc__status.is-ok { color: var(--ow-console-ok); }
.ow-alloc__status.is-warn { color: var(--ow-console-warn); }
.ow-alloc__status.is-idle { color: var(--ow-console-faint); }
.ow-alloc__track { background: var(--ow-console-surface-strong); border-radius: var(--ow-radius-pill); display: flex; gap: var(--ow-space-1); height: 10px; overflow: hidden; }
/* The segment's width is a live measurement, so it is the one value in the
 * project that cannot be a class. It arrives as a custom property
 * (`--seg-w`), not as a `width:` declaration: the declaration stays here in
 * the design layer, and the view only supplies the number. */
.ow-alloc__seg { background: var(--ow-color-brand); transition: width var(--ow-dur-state) var(--ow-ease-out); width: var(--seg-w, 0%); }
.ow-alloc__seg--measured { background: var(--ow-console-ok-seg); }
.ow-alloc__seg--manual { background: var(--ow-console-warn); }
.ow-alloc__seg--rest { background: var(--ow-console-rest); }
.ow-alloc__legend { align-items: center; display: flex; flex-wrap: wrap; gap: var(--ow-space-2) var(--ow-space-4); }
.ow-alloc__key { align-items: center; color: var(--ow-color-muted); display: inline-flex; font-size: var(--ow-type-micro); font-weight: 700; gap: var(--ow-space-2); }
.ow-alloc__key::before { background: var(--ow-color-brand); border-radius: 2px; content: ""; height: 8px; width: 8px; }
.ow-alloc__key--measured::before { background: var(--ow-console-ok-seg); }
.ow-alloc__key--manual::before { background: var(--ow-console-warn); }
.ow-alloc__key--rest::before { background: var(--ow-console-rest); }

/* Waste row */
.ow-wasterow {
  background: var(--ow-console-brand-tint);
  border: 1px solid var(--ow-console-brand-edge);
  border-radius: var(--ow-radius-lg);
  overflow: hidden;
  transition: border-color var(--ow-dur-hover) var(--ow-ease);
}
.ow-wasterow.is-weighed { background: var(--ow-console-surface); border-color: var(--ow-console-border-strong); }
.ow-wasterow.is-active { background: var(--ow-console-brand-tint-strong); border-color: var(--ow-color-brand); }
.ow-wasterow.is-clickable { cursor: pointer; }
.ow-wasterow__grid {
  align-items: center;
  column-gap: var(--ow-space-4);
  display: grid;
  grid-template-columns: 30px minmax(190px, 1.4fr) minmax(140px, 1fr) 140px 288px;
  padding: var(--ow-space-3);
  row-gap: var(--ow-space-3);
}
@media (max-width: 1519px) {
  .ow-wasterow__grid { grid-template-columns: 30px minmax(150px, 1fr) 0 120px 250px; }
}
@media (max-width: 1023px) { .ow-wasterow__grid { grid-template-columns: minmax(0, 1fr); } }
.ow-wasterow__main { display: flex; flex-direction: column; gap: var(--ow-space-1); min-width: 0; }
.ow-wasterow__title { align-items: center; display: flex; flex-wrap: wrap; gap: var(--ow-space-2); min-width: 0; }
.ow-wasterow__name { color: var(--ow-console-text); font-size: var(--ow-type-body); font-weight: 800; letter-spacing: var(--ow-tracking-tight); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-wasterow__ewc { color: var(--ow-console-faint); font-size: var(--ow-type-micro); font-variant-numeric: tabular-nums; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-wasterow__chips { align-items: center; display: flex; flex-wrap: wrap; gap: var(--ow-space-2); min-width: 0; }
/* Between 1024 and 1519 the row drops its chips column rather than crush the figures. */
@media (min-width: 1024px) and (max-width: 1519px) { .ow-wasterow__chips { display: none; } }
.ow-wasterow__end { align-items: center; display: flex; gap: var(--ow-space-2); justify-content: flex-end; min-width: 0; }
.ow-consoletag {
  align-items: center;
  background: var(--ow-console-surface-strong);
  border: 1px solid var(--ow-console-border);
  border-radius: var(--ow-radius-pill);
  color: var(--ow-console-muted);
  display: inline-flex;
  font-size: var(--ow-type-micro);
  font-weight: 700;
  gap: var(--ow-space-1);
  height: 22px;
  padding: 0 var(--ow-space-2);
  white-space: nowrap;
}
.ow-consoletag i { font-size: var(--ow-type-nano); }
.ow-consoletag--now { background: var(--ow-color-brand); border-color: transparent; color: var(--ow-color-surface); font-weight: 800; height: 19px; letter-spacing: var(--ow-tracking-label); text-transform: uppercase; }
.ow-consoletag--flag { background: var(--ow-console-warn-bg); border-color: transparent; color: var(--ow-console-warn); font-weight: 800; height: 19px; letter-spacing: var(--ow-tracking-label); text-transform: uppercase; }
.ow-srcbadge {
  align-items: center;
  background: var(--ow-console-surface-strong);
  border-radius: var(--ow-radius-pill);
  color: var(--ow-color-muted);
  display: inline-flex;
  font-size: var(--ow-type-nano);
  font-weight: 800;
  gap: var(--ow-space-2);
  height: 24px;
  letter-spacing: var(--ow-tracking-label);
  padding: 0 var(--ow-space-2);
  text-transform: uppercase;
  white-space: nowrap;
}
.ow-srcbadge--measured { background: var(--ow-console-ok-bg); color: var(--ow-console-ok); }
.ow-srcbadge--allocated { background: var(--ow-console-brand-tint-strong); color: var(--ow-color-brand); }
.ow-srcbadge--manual { background: var(--ow-console-warn-bg); color: var(--ow-console-warn); }
.ow-allocinput { align-items: center; display: flex; position: relative; }
.ow-allocinput input {
  background: var(--ow-console-surface-strong);
  border: 1px solid var(--ow-console-border-strong);
  border-radius: var(--ow-radius-md);
  color: var(--ow-console-text);
  font-family: inherit;
  font-size: var(--ow-type-body);
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  height: var(--ow-control-h-lg);
  outline: none;
  padding: 0 var(--ow-space-7) 0 var(--ow-space-3);
  text-align: right;
  transition: border-color var(--ow-dur-hover) var(--ow-ease), box-shadow var(--ow-dur-hover) var(--ow-ease);
  width: 112px;
}
.ow-allocinput input:focus { border-color: var(--ow-color-brand); box-shadow: 0 0 0 2px var(--ow-focus-ring); }
.ow-allocinput__unit { color: var(--ow-console-faint); font-size: var(--ow-type-label); font-weight: 800; pointer-events: none; position: absolute; right: 11px; }
@media (max-width: 767px) {
  .ow-allocinput input { font-size: var(--ow-type-card-title); height: 52px; width: 128px; }
}
.ow-stagebtn {
  align-items: center;
  background: var(--ow-color-brand);
  border: 0;
  border-radius: var(--ow-radius-md);
  color: var(--ow-color-surface);
  cursor: pointer;
  display: inline-flex;
  font-family: inherit;
  font-size: var(--ow-type-meta);
  font-weight: 800;
  gap: var(--ow-space-2);
  justify-content: center;
  min-height: var(--ow-tap-min);
  padding: 0 var(--ow-space-4);
  white-space: nowrap;
}
.ow-stagebtn:hover { filter: brightness(0.94); }
.ow-stagebtn.is-idle { background: var(--ow-console-surface-strong); color: var(--ow-color-muted); cursor: not-allowed; opacity: 0.6; }
.ow-stagebtn--pick { background: transparent; border: 1px solid var(--ow-console-brand-edge); color: var(--ow-color-brand); }
.ow-stagebtn--pick:hover { background: var(--ow-color-brand); color: var(--ow-color-surface); filter: none; }
.ow-wasterow__waiting { color: var(--ow-console-faint); font-size: var(--ow-type-label); font-weight: 700; white-space: nowrap; }
.ow-wasterow__detail {
  animation: ow-in var(--ow-dur-hover) var(--ow-ease) both;
  background: var(--ow-console-detail-bg);
  border-top: 1px solid var(--ow-console-border-soft);
  display: flex;
  flex-direction: column;
  gap: var(--ow-space-3);
  padding: var(--ow-space-3);
}
.ow-consolepairs { display: grid; gap: var(--ow-space-3) var(--ow-space-5); grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1023px) { .ow-consolepairs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .ow-consolepairs { grid-template-columns: minmax(0, 1fr); } }
.ow-consolepair { display: flex; flex-direction: column; gap: var(--ow-space-1); min-width: 0; }
.ow-consolepair__label { color: var(--ow-console-faint); font-size: var(--ow-type-nano); font-weight: 800; letter-spacing: var(--ow-tracking-label); text-transform: uppercase; }
.ow-consolepair__value { color: var(--ow-console-muted); font-size: var(--ow-type-meta); font-weight: 700; text-wrap: pretty; }
.ow-consolepair__value--strong { color: var(--ow-console-text); }
.ow-consolepair__value--flag { color: var(--ow-console-warn); }
.ow-wasterow__chargeline { color: var(--ow-console-faint); font-size: var(--ow-type-label); font-variant-numeric: tabular-nums; font-weight: 700; margin-left: auto; }

/* Next-step hint bar */
.ow-hintbar {
  align-items: center;
  background: var(--ow-console-brand-tint);
  border: 1px solid var(--ow-console-brand-edge);
  border-radius: var(--ow-radius-lg);
  display: flex;
  gap: var(--ow-space-3);
  padding: var(--ow-space-3);
}
.ow-hintbar__icon {
  align-items: center;
  background: var(--ow-console-brand-tint-strong);
  border-radius: var(--ow-radius-md);
  color: var(--ow-color-brand);
  display: inline-flex;
  flex: none;
  font-size: var(--ow-type-meta);
  height: 30px;
  justify-content: center;
  width: 30px;
}
.ow-hintbar__title { color: var(--ow-console-text); font-size: var(--ow-type-body); font-weight: 700; }
.ow-hintbar__body { color: var(--ow-color-muted); font-size: var(--ow-type-label); font-weight: 600; line-height: 18px; text-wrap: pretty; }
.ow-hintbar--warn { background: var(--ow-console-warn-bg); border-color: var(--ow-console-warn); }
.ow-hintbar--warn .ow-hintbar__icon { background: var(--ow-console-warn-bg); color: var(--ow-console-warn); }
.ow-hintbar--ok { background: var(--ow-console-ok-bg); border-color: var(--ow-console-ok); }
.ow-hintbar--ok .ow-hintbar__icon { background: var(--ow-console-ok-bg); color: var(--ow-console-ok); }

/* Light form area below the console */
.ow-ticketbody { display: flex; flex-direction: column; gap: var(--ow-space-3); padding: 0 var(--ow-gutter-page) var(--ow-space-7); }
@media (max-width: 767px) { .ow-ticketbody { padding: 0 var(--ow-gutter-page-mobile) var(--ow-space-6); } }
.ow-ticketgrid { align-items: start; display: grid; gap: var(--ow-space-4); grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(0, 0.9fr); }
@media (max-width: 1279px) { .ow-ticketgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1023px) { .ow-ticketgrid { grid-template-columns: minmax(0, 1fr); } }
.ow-movebar { align-items: center; display: flex; flex-wrap: wrap; gap: var(--ow-space-4); padding: var(--ow-space-3) var(--ow-space-4); }
.ow-movebar__kind { align-items: center; display: inline-flex; flex: none; gap: var(--ow-space-2); }
.ow-movebar__kind span { color: var(--ow-color-muted); font-size: var(--ow-type-micro); font-weight: 800; letter-spacing: var(--ow-tracking-label); text-transform: uppercase; white-space: nowrap; }
.ow-movebar__leg { display: flex; flex: 1 1 240px; flex-direction: column; gap: var(--ow-space-1); min-width: 0; }
.ow-movebar__label { color: var(--ow-color-faint); font-size: var(--ow-type-nano); font-weight: 800; letter-spacing: var(--ow-tracking-label); text-transform: uppercase; }
.ow-movebar__value { align-items: center; color: var(--ow-color-text); display: flex; font-size: var(--ow-type-body); font-weight: 700; gap: var(--ow-space-2); min-width: 0; }
.ow-movebar__value i { color: var(--ow-color-brand); flex: none; font-size: var(--ow-type-micro); }
.ow-movebar__value span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-movebar__value.is-empty { color: var(--ow-color-faint); }
.ow-movebar__sub { color: var(--ow-color-faint); font-size: var(--ow-type-label); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-movebar__arrow { color: var(--ow-color-brand); flex: none; font-size: var(--ow-type-card-title); }
.ow-formgrid--single { grid-template-columns: minmax(0, 1fr); }
.ow-field__flag { color: var(--ow-color-brand); font-size: var(--ow-type-micro); font-weight: 800; }
.ow-field__tick { color: var(--ow-status-pass-fg); font-size: var(--ow-type-label); margin-left: auto; }
.ow-field__head { align-items: center; display: flex; gap: var(--ow-space-2); }
.ow-field--filled .ow-field__label { color: var(--ow-color-text); }
.ow-field__hint.is-todo { color: var(--ow-color-brand-deep); font-weight: 700; }
.ow-field__hint.is-done { color: var(--ow-status-pass-fg); font-weight: 700; }

/* Lookup field: input plus a browse button, warm-filled when it holds a record */
.ow-lookup { display: flex; position: relative; }
.ow-lookup__icon { color: var(--ow-color-faint); font-size: var(--ow-type-meta); left: 13px; pointer-events: none; position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; }
.ow-lookup .ow-input { border-radius: var(--ow-radius-md); flex: 1; min-width: 0; padding-left: var(--ow-space-7); }
.ow-lookup--browse .ow-input { border-radius: var(--ow-radius-md) 0 0 var(--ow-radius-md); border-right: 0; }
.ow-lookup__browse {
  background: var(--ow-color-surface-alt);
  border: 1px solid var(--ow-color-border);
  border-left: 0;
  border-radius: 0 var(--ow-radius-md) var(--ow-radius-md) 0;
  color: var(--ow-color-muted);
  cursor: pointer;
  flex: none;
  font-size: var(--ow-type-body);
  height: var(--ow-control-h-lg);
  transition: background var(--ow-dur-hover) var(--ow-ease), color var(--ow-dur-hover) var(--ow-ease);
  width: var(--ow-control-h-lg);
}
.ow-lookup__browse:hover { background: var(--ow-hover-tint); color: var(--ow-color-brand-deep); }
.ow-lookup.is-filled .ow-lookup__icon { color: var(--ow-color-brand); }
.ow-lookup.is-filled .ow-input { background: var(--ow-selected-card); border-color: var(--ow-color-brand); }
.ow-lookup.is-filled .ow-lookup__browse { background: var(--ow-hover-tint); border-color: var(--ow-color-brand); color: var(--ow-color-brand-deep); }
@media (max-width: 767px) {
  .ow-lookup__browse { height: var(--ow-control-h-touch); width: var(--ow-control-h-touch); }
}
/* Wrapper for a free-text field that offers suggestions under it. */
.ow-suggestfield { position: relative; }
.ow-suggest {
  animation: ow-in var(--ow-dur-hover) var(--ow-ease) both;
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-lg);
  box-shadow: var(--ow-shadow-raise);
  left: 0;
  max-height: 288px;
  overflow-y: auto;
  padding: var(--ow-space-1);
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  z-index: 40;
}
.ow-suggest__item {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: var(--ow-radius-md);
  color: var(--ow-color-text);
  cursor: pointer;
  display: flex;
  font-family: inherit;
  gap: var(--ow-space-3);
  padding: var(--ow-space-2);
  text-align: left;
  transition: background var(--ow-dur-hover) var(--ow-ease);
  width: 100%;
}
.ow-suggest__item:hover { background: var(--ow-color-selected-row); }
.ow-suggest__body { flex: 1; min-width: 0; }
.ow-suggest__primary { color: var(--ow-color-text); display: block; font-size: var(--ow-type-body); font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-suggest__secondary { color: var(--ow-color-muted); display: block; font-size: var(--ow-type-label); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-suggest__trailing { color: var(--ow-color-text); flex: none; font-size: var(--ow-type-label); font-variant-numeric: tabular-nums; font-weight: 800; white-space: nowrap; }
.ow-suggest__empty { align-items: center; display: flex; flex-wrap: wrap; gap: var(--ow-space-3); justify-content: space-between; padding: var(--ow-space-3); }
.ow-suggest__empty span { color: var(--ow-color-muted); font-size: var(--ow-type-meta); font-weight: 600; }
.ow-linkbtn { background: transparent; border: 0; color: var(--ow-color-brand-deep); cursor: pointer; font-family: inherit; font-size: var(--ow-type-meta); font-weight: 800; }

/* Audit trail */
.ow-auditrow { align-items: center; border-top: 1px solid var(--ow-color-border-soft); display: flex; gap: var(--ow-space-3); min-width: 0; padding: var(--ow-space-2) 0; }
.ow-auditrow__body { flex: 1; min-width: 0; }
.ow-auditrow__title { color: var(--ow-color-text); display: block; font-size: var(--ow-type-meta); font-weight: 700; }
.ow-auditrow__detail { color: var(--ow-color-faint); display: block; font-size: var(--ow-type-label); font-weight: 600; overflow-wrap: anywhere; }
.ow-auditrow__time { color: var(--ow-color-muted); flex: none; font-size: var(--ow-type-label); font-variant-numeric: tabular-nums; font-weight: 700; }

/* Manual-weight keypad */
.ow-readout {
  align-items: baseline;
  background: var(--ow-console-bg);
  border-radius: var(--ow-radius-card);
  display: flex;
  gap: var(--ow-space-3);
  justify-content: flex-end;
  padding: var(--ow-space-4);
}
.ow-readout .ow-figure { font-size: 44px; }
.ow-readout .ow-unit { font-size: var(--ow-type-card-title); }
.ow-keypad { display: grid; gap: var(--ow-space-2); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ow-key {
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-lg);
  color: var(--ow-color-text);
  cursor: pointer;
  font-family: inherit;
  font-size: 22px;
  font-weight: 800;
  min-height: 54px;
  transition: background var(--ow-dur-hover) var(--ow-ease), border-color var(--ow-dur-hover) var(--ow-ease);
}
.ow-key:hover { background: var(--ow-color-selected-row); border-color: var(--ow-color-brand); color: var(--ow-color-brand-deep); }
.ow-key:active { transform: scale(0.97); }
.ow-key--del { background: var(--ow-color-page-bg); color: var(--ow-color-muted); font-size: var(--ow-type-card-title); }
@media (max-width: 767px) { .ow-key { min-height: 62px; } }
.ow-modal--xl { width: min(1280px, 100%); }
.ow-modal--form { width: min(760px, 100%); }
.ow-modal--sheet { max-height: 100%; }
.ow-counter { align-items: center; display: flex; gap: var(--ow-space-2); }
.ow-counter__value { color: var(--ow-color-text); font-size: var(--ow-type-view-title); font-variant-numeric: tabular-nums; font-weight: 800; min-width: var(--ow-tap-min); text-align: center; }

/* The ticket screen: the capture header over one console band holding the
   bridges, the weighings and charges docks, the waste on the ticket and the
   fact tiles. Panels are the shared modal. */
.ow-ticketscreen { display: flex; flex-direction: column; min-height: 100%; }
.ow-ticketscreen__form { display: flex; flex-direction: column; }
.ow-ticketscreen__side { display: none; }
.ow-tickethead__trail { align-items: center; color: var(--ow-color-faint); display: flex; font-size: var(--ow-type-label); font-weight: 700; gap: var(--ow-space-2); letter-spacing: var(--ow-tracking-label); text-transform: uppercase; }
.ow-tickethead__trail a { border-bottom: 1px solid var(--ow-color-border); color: var(--ow-color-faint); text-decoration: none; }
.ow-tickethead__mode { color: var(--ow-color-brand); }

.ow-ticketdocks { display: grid; gap: var(--ow-space-3); grid-template-columns: repeat(auto-fit, minmax(min(380px, 100%), 1fr)); }
.ow-ticketdock__head { align-items: center; display: flex; flex-wrap: wrap; gap: var(--ow-space-1) var(--ow-space-2); padding: var(--ow-space-1) var(--ow-space-1) 0; }
.ow-ticketdock__head .ow-console__note { margin-left: auto; }
.ow-charge__line--action { background: transparent; border: 0; border-radius: var(--ow-radius-md); cursor: pointer; font-family: inherit; padding: var(--ow-space-1) 0; text-align: left; width: 100%; }
.ow-charge__line--action:hover .ow-charge__name { color: var(--ow-console-text); }
.ow-charge__line--action:disabled { cursor: default; }
@media (max-width: 767px) {
  .ow-charge__line--action { flex-wrap: wrap; row-gap: var(--ow-space-1); }
  .ow-charge__line--action .ow-charge__name { flex: 1 0 100%; white-space: normal; }
  .ow-charge__line--action .ow-charge__meta { flex: 1 1 0; min-width: 0; white-space: normal; }
}
.ow-charge__amount.is-blocked { color: var(--ow-console-warn); font-size: var(--ow-type-label); }

.ow-hintbar__list { color: var(--ow-color-muted); font-size: var(--ow-type-label); font-weight: 600; line-height: 18px; margin: var(--ow-space-1) 0 0; padding-left: var(--ow-space-4); }
.ow-hintbar--warn .ow-hintbar__list { color: var(--ow-console-text); }

.ow-alloc__note { color: var(--ow-console-faint); font-size: var(--ow-type-micro); font-weight: 600; margin-left: auto; text-align: right; }
.ow-wasterow__pos {
  align-items: center; background: var(--ow-console-surface-strong); border-radius: var(--ow-radius-pill); color: var(--ow-console-muted);
  display: inline-flex; font-size: var(--ow-type-micro); font-weight: 800; height: 26px; justify-content: center; width: 26px;
}
.ow-wasterow__price { color: var(--ow-console-ok); font-family: var(--ow-font-mono); font-size: var(--ow-type-body); font-variant-numeric: tabular-nums; font-weight: 800; min-width: 74px; text-align: right; }
/* A ticket's waste item: position, what it is, its charge, then its weight
   and actions. Its flags sit under the name, so no column is dropped. */
.ow-wasterow__grid--item { grid-template-columns: 30px minmax(0, 1fr) auto auto; }
@media (max-width: 1023px) { .ow-wasterow__grid--item { grid-template-columns: minmax(0, 1fr); } }
.ow-wasterow__weight { align-items: baseline; display: inline-flex; flex: none; gap: var(--ow-space-1); }
.ow-wastepanel__foot { align-items: center; border-top: 1px solid var(--ow-console-border-soft); display: flex; flex-wrap: wrap; gap: var(--ow-space-3); padding: var(--ow-space-3); }
.ow-wastepanel__total-label { color: var(--ow-console-faint); font-size: var(--ow-type-micro); font-weight: 800; letter-spacing: var(--ow-tracking-label); margin-left: auto; text-transform: uppercase; }
.ow-wastepanel__total { color: var(--ow-console-text); font-family: var(--ow-font-mono); font-size: var(--ow-type-card-title); font-variant-numeric: tabular-nums; font-weight: 800; }

.ow-ticketsection__head { align-items: center; display: flex; flex-wrap: wrap; gap: var(--ow-space-3); margin-bottom: var(--ow-space-3); }
.ow-ticketsection__rule { background: var(--ow-console-border-soft); flex: 1 1 auto; height: 1px; }

/* Fact tiles: one per fact of the transaction, each opening its panel. */
.ow-tiles { display: grid; gap: var(--ow-space-3); grid-template-columns: repeat(7, minmax(0, 1fr)); }
@media (max-width: 1420px) { .ow-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 900px) { .ow-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 479px) { .ow-tiles { grid-template-columns: minmax(0, 1fr); } }
.ow-tile {
  background: var(--ow-console-surface-soft); border: 1px solid var(--ow-console-border); border-radius: var(--ow-radius-card);
  color: var(--ow-console-text); cursor: pointer; display: flex; flex-direction: column; font-family: inherit; min-height: 148px;
  min-width: 0; overflow: hidden; padding: 0; text-align: left;
  transition: border-color var(--ow-dur-hover) var(--ow-ease), background var(--ow-dur-hover) var(--ow-ease), transform var(--ow-dur-hover) var(--ow-ease);
}
.ow-tile:hover { border-color: var(--ow-console-brand-edge); transform: translateY(-2px); }
.ow-tile:disabled { cursor: default; transform: none; }
.ow-tile:focus-visible { box-shadow: 0 0 0 3px var(--ow-focus-ring); outline: none; }
.ow-tile.is-filled { background: var(--ow-console-surface); }
.ow-tile__head { align-items: center; display: flex; gap: var(--ow-space-2); padding: var(--ow-space-3) var(--ow-space-3) var(--ow-space-2); width: 100%; }
.ow-tile__badge {
  align-items: center; background: var(--ow-console-brand-tint-strong); border-radius: var(--ow-radius-md); color: var(--ow-color-brand); display: inline-flex;
  flex: none; font-family: var(--ow-font-mono); font-size: var(--ow-type-micro); font-weight: 800; height: 30px; justify-content: center; width: 30px;
}
.ow-tile:not(.is-filled) .ow-tile__badge { background: var(--ow-console-surface-strong); color: var(--ow-console-faint); }
.ow-tile__label { color: var(--ow-console-muted); flex: 1 1 auto; font-size: var(--ow-type-micro); font-weight: 700; letter-spacing: var(--ow-tracking-label); min-width: 0; overflow: hidden; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.ow-tile__body { display: flex; flex: 1 1 auto; flex-direction: column; gap: 2px; min-width: 0; padding: 0 var(--ow-space-3) var(--ow-space-3); }
.ow-tile__value { color: var(--ow-console-text); font-size: var(--ow-type-body); font-weight: 800; overflow-wrap: anywhere; }
.ow-tile:not(.is-filled) .ow-tile__value { color: var(--ow-console-faint); font-weight: 700; }
.ow-tile__sub { color: var(--ow-console-muted); font-size: var(--ow-type-micro); font-weight: 600; overflow-wrap: anywhere; }
.ow-tile__foot { align-items: center; border-top: 1px solid var(--ow-console-border-soft); display: flex; gap: var(--ow-space-2); padding: var(--ow-space-2) var(--ow-space-3); }
.ow-tile__foot-label { color: var(--ow-console-faint); flex: 1 1 auto; font-size: var(--ow-type-nano); font-weight: 700; letter-spacing: var(--ow-tracking-label); min-width: 0; overflow: hidden; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.ow-tile__foot-value { color: var(--ow-console-text); flex: none; font-size: var(--ow-type-micro); font-variant-numeric: tabular-nums; font-weight: 800; max-width: 60%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* The completed ticket. */
.ow-ticketdone { display: grid; gap: var(--ow-space-3); grid-template-columns: repeat(auto-fit, minmax(min(400px, 100%), 1fr)); }
.ow-ticketdone__card { background: var(--ow-console-surface-soft); border: 1px solid var(--ow-console-border); border-radius: var(--ow-radius-card); display: flex; flex-direction: column; gap: var(--ow-space-3); padding: var(--ow-space-4); }
.ow-ticketdone__card:first-child { background: var(--ow-console-ok-bg); border-color: var(--ow-console-ok); }
.ow-ticketdone__head { align-items: center; display: flex; flex-wrap: wrap; gap: var(--ow-space-3); }
.ow-ticketdone__mark { align-items: center; background: var(--ow-console-ok-seg); border-radius: var(--ow-radius-pill); color: var(--ow-console-bg); display: inline-flex; flex: none; height: 30px; justify-content: center; width: 30px; }
.ow-ticketdone__title { color: var(--ow-console-text); flex: 1 1 auto; font-size: var(--ow-type-card-title); font-weight: 800; }
.ow-ticketdone__body { color: var(--ow-console-muted); font-size: var(--ow-type-meta); margin: 0; text-wrap: pretty; }
.ow-ticketdone__versions { display: flex; flex-direction: column; gap: var(--ow-space-2); list-style: none; margin: 0; padding: 0; }
.ow-ticketdone__versions li { align-items: baseline; border-top: 1px solid var(--ow-console-border-soft); color: var(--ow-console-muted); display: flex; flex-wrap: wrap; font-size: var(--ow-type-label); gap: var(--ow-space-2); padding-top: var(--ow-space-2); }
.ow-ticketdone__version { color: var(--ow-console-text); font-weight: 800; }
.ow-ticketdone__digest { color: var(--ow-console-faint); font-family: var(--ow-font-mono); margin-left: auto; }

/* Panels: the shared modal with the ticket's badge, grouped choices and
   sections. */
.ow-ticketpanel__badge {
  align-items: center; background: var(--ow-color-brand-tint); border-radius: var(--ow-radius-md); color: var(--ow-color-brand-deep); display: inline-flex;
  flex: none; font-family: var(--ow-font-mono); font-size: var(--ow-type-meta); font-weight: 800; height: 40px; justify-content: center; width: 40px;
}
.ow-ticketpanel .ow-modal__body { display: flex; flex-direction: column; gap: var(--ow-space-4); }
/* The body scrolls; a section inside it never shrinks to fit, which would clip
   a scrolling option list down to a sliver. */
.ow-ticketpanel .ow-modal__body > * { flex-shrink: 0; }
.ow-ticketpanel__search { margin-bottom: 0; }
.ow-ticketpanel__group { border: 0; margin: 0; min-width: 0; padding: 0; }
.ow-ticketpanel__group legend { margin-bottom: var(--ow-space-2); }
.ow-ticketpanel__section { border-top: 1px solid var(--ow-color-border-soft); display: flex; flex-direction: column; gap: var(--ow-space-3); padding-top: var(--ow-space-4); }
.ow-ticketpanel__section.is-quiet { opacity: 0.7; }
.ow-ticketpanel__section summary { cursor: pointer; }
.ow-ticketchoices { display: flex; flex-wrap: wrap; gap: var(--ow-space-2); }
.ow-ticketchoice {
  align-items: center; border: 1px solid var(--ow-color-border); border-radius: var(--ow-radius-pill); color: var(--ow-color-text); cursor: pointer;
  display: inline-flex; font-size: var(--ow-type-meta); font-weight: 700; gap: var(--ow-space-2); min-height: var(--ow-control-h); padding: 0 var(--ow-space-3);
  transition: border-color var(--ow-dur-hover) var(--ow-ease), background var(--ow-dur-hover) var(--ow-ease);
}
.ow-ticketchoice .ow-option__input { margin: 0; }
.ow-ticketchoice:hover { border-color: var(--ow-color-brand); }
.ow-ticketchoice:has(input:checked) { background: var(--ow-color-brand-tint); border-color: var(--ow-color-brand); color: var(--ow-color-brand-deep); }
.ow-ticketchoice:has(input:focus-visible) { box-shadow: 0 0 0 3px var(--ow-focus-ring); }
@media (max-width: 767px) { .ow-ticketchoice { min-height: var(--ow-tap-min); } }
.ow-ticketpick { background: transparent; border: 0; font-family: inherit; text-align: left; width: 100%; }
.ow-ticketpick.is-refused { cursor: not-allowed; opacity: 0.6; }
.ow-ticketpick.is-refused:hover { background: transparent; }
.ow-readout__input {
  background: transparent; border: 0; color: var(--ow-console-text); flex: 1 1 auto; font-family: inherit; font-size: 44px;
  font-variant-numeric: tabular-nums; font-weight: 800; min-width: 0; outline: none; text-align: right; width: 100%;
}
.ow-readout__input::placeholder { color: var(--ow-console-faint); }
.ow-readout:focus-within { box-shadow: 0 0 0 3px var(--ow-focus-ring); }

/* ── 22. Account Settings: sub-nav rail, option lists, credential reveal ── */
/* Mirrors the app's own `settings/_nav` + `_switch` + credential partials. */

.ow-settings { align-items: start; display: grid; gap: var(--ow-space-4); grid-template-columns: 236px minmax(0, 1fr); }

/* Rail layout inside a fixed shell: the content column, and the section stack
 * inside it, pass the remaining height down so a results table fills the page
 * instead of leaving the viewport half empty. The rail itself stays top-aligned
 * so its sticky offset still works. */
.ow-shell--fixed .ow-shell__body > .ow-settings { flex: 1 1 auto; min-height: 0; }
.ow-settings--fill { align-items: stretch; }
.ow-settings--fill > .ow-subnav { align-self: start; }
.ow-settings--fill > .ow-stack { min-height: 0; }
.ow-settings--fill > .ow-stack > .ow-stack { flex: 1 1 auto; min-height: 0; }
@media (max-width: 991px) { .ow-settings { grid-template-columns: minmax(0, 1fr); } }

.ow-subnav { display: flex; flex-direction: column; gap: var(--ow-space-4); position: sticky; top: var(--ow-space-4); }
.ow-subnav__group { display: flex; flex-direction: column; gap: var(--ow-space-1); }
.ow-subnav__legend {
  color: var(--ow-color-faint);
  font-size: var(--ow-type-nano);
  font-weight: 800;
  letter-spacing: var(--ow-tracking-label);
  padding: 0 var(--ow-space-3);
  text-transform: uppercase;
}
.ow-subnav__item {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: var(--ow-radius-md);
  color: var(--ow-color-muted);
  cursor: pointer;
  display: flex;
  font-family: inherit;
  font-size: var(--ow-type-meta);
  font-weight: 600;
  gap: var(--ow-space-3);
  min-height: var(--ow-control-h-lg);
  padding: 0 var(--ow-space-3);
  text-align: left;
  text-decoration: none;
  transition: background var(--ow-dur-hover) var(--ow-ease), color var(--ow-dur-hover) var(--ow-ease);
  width: 100%;
}
.ow-subnav__item:hover { background: var(--ow-hover-tint); color: var(--ow-color-brand-deep); }
.ow-subnav__item.is-active { background: var(--ow-color-brand-tint); color: var(--ow-color-brand-deep); font-weight: 700; }
.ow-subnav__icon { color: var(--ow-color-faint); flex: none; font-size: var(--ow-type-label); text-align: center; width: 16px; }
.ow-subnav__item.is-active .ow-subnav__icon { color: var(--ow-color-brand); }
.ow-subnav__label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-subnav__badge {
  align-items: center;
  background: var(--ow-color-border-soft);
  border-radius: var(--ow-radius-pill);
  color: var(--ow-color-muted);
  display: inline-flex;
  flex: none;
  font-size: var(--ow-type-micro);
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  height: 20px;
  justify-content: center;
  min-width: 20px;
  padding: 0 var(--ow-space-1);
}
.ow-subnav__item.is-active .ow-subnav__badge { background: var(--ow-color-brand-tint-strong); color: var(--ow-color-brand-deep); }
/* Tone words match the canonical set in ow-globals.css, so a subnav badge and
 * a status badge never disagree about what "fail" looks like. */
.ow-subnav__badge--fail { background: var(--ow-status-fail-bg); color: var(--ow-status-fail-fg); }
/* A device that has stopped reporting is a warning, not a failure: the section
 * still works and the count is a prompt to look, so it takes the amber status
 * tokens rather than borrowing the red `--fail` above. Token-only, added here
 * rather than in the view, so every sub-nav gets the tone. */
.ow-subnav__badge--warn { background: var(--ow-status-warning-bg); color: var(--ow-status-warning-fg); }

/* Tab strip — second-level navigation INSIDE a record, where ow-subnav is
 * second-level navigation beside a page. Used by the Organisation workspace's
 * role sections (a Customer's Locations, Waste Types, approved relationships).
 * Same tokens as ow-subnav so the two never disagree about what "active" looks
 * like; horizontal, scrollable, and no sticky positioning because it sits in a
 * card rather than a column. */
.ow-tabstrip {
  display: flex;
  gap: var(--ow-space-1);
  overflow-x: auto;
  padding: var(--ow-space-1) 0;
  scrollbar-width: thin;
}
.ow-tabstrip__item {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: var(--ow-radius-sm);
  color: var(--ow-color-text);
  cursor: pointer;
  display: flex;
  flex: none;
  font: inherit;
  font-size: var(--ow-type-label);
  gap: var(--ow-space-2);
  padding: var(--ow-space-2) var(--ow-space-3);
  text-align: left;
  transition: background var(--ow-dur-state) var(--ow-ease), color var(--ow-dur-state) var(--ow-ease);
  white-space: nowrap;
}
.ow-tabstrip__item:hover { background: var(--ow-hover-tint); color: var(--ow-color-brand-deep); }
.ow-tabstrip__item.is-active { background: var(--ow-color-brand-tint); color: var(--ow-color-brand-deep); font-weight: 700; }
.ow-tabstrip__item > i { color: var(--ow-color-faint); font-size: var(--ow-type-label); }
.ow-tabstrip__item.is-active > i { color: var(--ow-color-brand); }
.ow-tabstrip__count {
  align-items: center;
  background: var(--ow-color-border-soft);
  border-radius: var(--ow-radius-pill);
  color: var(--ow-color-faint);
  display: inline-flex;
  font-size: var(--ow-type-nano);
  font-weight: 700;
  justify-content: center;
  min-width: 20px;
  padding: 0 var(--ow-space-1);
}
.ow-tabstrip__item.is-active .ow-tabstrip__count { background: var(--ow-color-brand-tint-strong); color: var(--ow-color-brand-deep); }
@media (max-width: 991px) {
  .ow-subnav { flex-direction: row; gap: var(--ow-space-4); overflow-x: auto; padding-bottom: var(--ow-space-2); position: static; }
  .ow-subnav__group { flex: none; flex-direction: row; }
  .ow-subnav__legend { align-self: center; padding: 0 var(--ow-space-1) 0 0; }
  .ow-subnav__item { border-radius: var(--ow-radius-pill); flex: none; padding: 0 var(--ow-space-4); width: auto; }
  .ow-subnav__label { overflow: visible; }
}

/* A setting as a tick with a title and a line saying what it does. */
.ow-optionlist { display: flex; flex-direction: column; list-style: none; margin: 0; padding: 0; }
.ow-option { border-top: 1px solid var(--ow-color-border-soft); }
.ow-option:first-child { border-top: 0; }
.ow-option__label { align-items: flex-start; cursor: pointer; display: flex; gap: var(--ow-space-3); padding: var(--ow-space-3) 0; }
/* The same row shape with no control in it — a read-only list item (a readiness
 * check, a logged attempt, a state per submission kind). `.ow-option__label` is
 * the interactive form and must not be used for these: it carries a pointer
 * cursor and a 44px tap floor for something that cannot be pressed. Added
 * 2026-08-27 for Site Waste Tracking; token-only, no new tokens. */
.ow-option__row { align-items: center; display: flex; gap: var(--ow-space-3); padding: var(--ow-space-3) 0; }
.ow-option__row--top { align-items: flex-start; }
.ow-option__input { accent-color: var(--ow-color-brand); flex: none; height: 17px; margin: 2px 0 0; width: 17px; }
.ow-option__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ow-option__title { color: var(--ow-color-text); font-size: var(--ow-type-meta); font-weight: 700; }
.ow-option__description { color: var(--ow-color-muted); font-size: var(--ow-type-label); line-height: 18px; text-wrap: pretty; }
.ow-optionlist--compact .ow-option__label { padding: var(--ow-space-2) 0; }
/* A long option list held to a fixed height and scrolled, such as the EWC
 * picker's several hundred codes. */
.ow-optionlist--scroll { border: 1px solid var(--ow-color-border); border-radius: var(--ow-radius-sm); max-height: 280px; overflow-y: auto; padding: 0 var(--ow-space-3); }
@media (max-width: 767px) { .ow-option__label { min-height: var(--ow-tap-min); } }

/* The same option row as a button — a tick you press rather than a label with
 * a hidden input. Used where the choice is the whole row (drawer defaults,
 * location-specific carrier lists). Tokens match .ow-option so a pressed row
 * and a checked row read the same. */
.ow-option--pick {
  align-items: flex-start;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--ow-color-border-soft);
  border-radius: var(--ow-radius-sm);
  color: var(--ow-color-text);
  cursor: pointer;
  display: flex;
  font: inherit;
  gap: var(--ow-space-3);
  padding: var(--ow-space-3);
  text-align: left;
  transition: background var(--ow-dur-state) var(--ow-ease);
  width: 100%;
}
.ow-option--pick:first-child { border-top: 0; }
.ow-option--pick:hover { background: var(--ow-hover-tint); }
.ow-option--pick > i { color: var(--ow-color-faint); flex: none; font-size: 17px; line-height: 20px; }
.ow-option--pick.is-active { background: var(--ow-color-brand-tint); }
.ow-option--pick.is-active > i { color: var(--ow-color-brand); }
@media (max-width: 767px) { .ow-option--pick { min-height: var(--ow-tap-min); } }

/* A credential shown once: it exists to be transcribed, so it gets the copy row. */
.ow-credential {
  background: var(--ow-color-brand-tint);
  border: 1px solid var(--ow-color-brand-tint-strong);
  border-radius: var(--ow-radius-lg);
  display: flex;
  flex-direction: column;
  gap: var(--ow-space-2);
  padding: var(--ow-space-4);
}
.ow-credential__label { color: var(--ow-color-brand-deep); font-size: var(--ow-type-micro); font-weight: 800; letter-spacing: var(--ow-tracking-label); text-transform: uppercase; }
.ow-credential__row { align-items: center; display: flex; flex-wrap: wrap; gap: var(--ow-space-3); }
.ow-credential__value {
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-brand-tint-strong);
  border-radius: var(--ow-radius-md);
  color: var(--ow-color-text);
  flex: 1 1 260px;
  font-family: var(--ow-font-mono);
  font-size: var(--ow-type-meta);
  min-width: 0;
  overflow-wrap: anywhere;
  padding: var(--ow-space-2) var(--ow-space-3);
  user-select: all;
}
.ow-credential__note { color: var(--ow-color-text-soft); font-size: var(--ow-type-label); line-height: 18px; text-wrap: pretty; }

/* Account logo preview on Company details. */
.ow-logopreview {
  background: var(--ow-color-surface-alt);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-md);
  display: block;
  max-height: 72px;
  object-fit: contain;
  padding: var(--ow-space-2);
  width: 100%;
}


/* ---------------------------------------------------------------------------
   Picker — the redesigned dropdown (ow-picker.jsx / OWShared.Picker).
   Replaces every native <select> and the design system's Select across the
   portal: a trigger stating the current value plus an anchored popup list with
   a tick on the current option, and a filter field once the list is long.
   --------------------------------------------------------------------------- */
.ow-picker { min-width: 0; position: relative; }
.ow-picker__trigger {
  align-items: center;
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-md);
  color: var(--ow-color-text);
  cursor: pointer;
  display: flex;
  font-family: inherit;
  font-size: var(--ow-type-meta);
  font-weight: 600;
  gap: var(--ow-space-3);
  height: var(--ow-control-h);
  justify-content: space-between;
  padding: 0 var(--ow-space-3);
  text-align: left;
  transition: border-color 0.15s var(--ow-ease), background 0.15s var(--ow-ease);
  width: 100%;
}
.ow-picker__trigger:hover { border-color: var(--ow-color-brand); }
.ow-picker.is-open .ow-picker__trigger { border-color: var(--ow-color-brand); box-shadow: 0 0 0 2px var(--ow-focus-ring); }
.ow-picker__value { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-picker__value.is-placeholder { color: var(--ow-color-faint); font-weight: 600; }
.ow-picker__caret { color: var(--ow-color-faint); flex: none; font-size: var(--ow-type-micro); transition: transform 0.16s var(--ow-ease); }
.ow-picker.is-open .ow-picker__caret { color: var(--ow-color-brand); transform: rotate(180deg); }
.ow-picker.is-disabled .ow-picker__trigger { background: var(--ow-color-surface-alt); color: var(--ow-color-muted); cursor: not-allowed; }
.ow-picker--touch .ow-picker__trigger { font-size: var(--ow-type-body); height: var(--ow-control-h-touch); }
/* Form-band variant: same height, type and radius as .ow-input beside it. */
.ow-picker--field .ow-picker__trigger { border-radius: var(--ow-radius-md); font-size: var(--ow-type-body); font-weight: 400; height: var(--ow-control-h-lg); }

.ow-picker__pop {
  animation: ow-in 0.16s var(--ow-ease);
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-lg);
  box-shadow: var(--ow-shadow-drawer);
  left: 0;
  max-width: min(360px, 92vw);
  min-width: 100%;
  overflow: hidden;
  position: absolute;
  top: calc(100% + 6px);
  z-index: 60;
}
.ow-picker__pop--end { left: auto; right: 0; }
.ow-picker__search { align-items: center; border-bottom: 1px solid var(--ow-color-border-soft); display: flex; gap: var(--ow-space-2); padding: var(--ow-space-2) var(--ow-space-3); }
.ow-picker__search > i { color: var(--ow-color-faint); font-size: var(--ow-type-micro); }
.ow-picker__searchinput { background: none; border: 0; color: var(--ow-color-text); flex: 1; font-family: inherit; font-size: var(--ow-type-meta); min-width: 0; outline: none; padding: var(--ow-space-1) 0; }
.ow-picker__list { list-style: none; margin: 0; max-height: 280px; overflow-y: auto; padding: var(--ow-space-1); }
.ow-picker__opt {
  align-items: center;
  background: none;
  border: 0;
  border-radius: var(--ow-radius-sm);
  color: var(--ow-color-text);
  cursor: pointer;
  display: flex;
  font-family: inherit;
  font-size: var(--ow-type-meta);
  gap: var(--ow-space-3);
  justify-content: space-between;
  padding: var(--ow-space-2) var(--ow-space-3);
  text-align: left;
  width: 100%;
}
.ow-picker__opt.is-cursor { background: var(--ow-color-page-bg); }
.ow-picker__opt.is-selected { background: var(--ow-hover-tint); color: var(--ow-color-brand-deep); font-weight: 700; }
.ow-picker__opt.is-disabled { color: var(--ow-color-faint); cursor: not-allowed; }
.ow-picker__optbody { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.ow-picker__optlabel { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-picker__opthint { color: var(--ow-color-muted); font-size: var(--ow-type-label); font-weight: 500; }
.ow-picker__tick { color: var(--ow-color-brand); flex: none; font-size: var(--ow-type-micro); }
.ow-picker__none { color: var(--ow-color-muted); font-size: var(--ow-type-label); padding: var(--ow-space-3); }
@media (max-width: 767px) {
  .ow-picker__trigger { font-size: var(--ow-type-body); height: var(--ow-control-h-touch); }
  .ow-picker__opt { min-height: var(--ow-tap-min); }
}

/* The nav user block is a link to My Details; sign-out stays its own button. */
.ow-nav__userlink { align-items: center; color: inherit; display: flex; flex: 1; gap: var(--ow-space-3); min-width: 0; text-decoration: none; }
.ow-nav__userlink:hover .ow-nav__user-name { color: var(--ow-color-brand-deep); }


/* ══ Layer 3, folded in: the shared table (ow-data-table.css) ══════════ */

/* OW Data Table — shared table styles for OpenWeigh screens.
   Mirrors the list-view table look from Shared Layout (Customers/Records index):
   card shell, uppercase sticky header, horizontal-rule rows, sticky-right
   Actions column with a seam shadow, and a count/scroll footer.
   Slated for upstream promotion into the OpenWeigh Design System's own
   components.css layer. Consumers load this alongside ow-data-table.jsx. */

.ow-data-table__wrap {
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-card);
  box-shadow: var(--ow-shadow-table);
  display: flex; flex-direction: column;
  overflow: hidden;
}
.ow-data-table__wrap--fill { flex: 1 1 auto; min-height: 0; }

.ow-data-table__scroll { overflow: auto; max-height: calc(100vh - 320px); }
.ow-data-table__scroll--fill { max-height: none; flex: 1 1 auto; min-height: 0; overflow-y: auto; }

.ow-data-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--ow-color-surface);
  font-family: inherit;
}

/* HEADER — uppercase, sticky, muted, one horizontal rule. */
.ow-data-table thead th {
  position: sticky; top: 0; z-index: 3;
  background: var(--ow-color-surface-alt);
  color: var(--ow-color-muted);
  font-size: var(--ow-type-micro); font-weight: 700;
  letter-spacing: var(--ow-thead-tracking); text-transform: uppercase;
  padding:var(--ow-space-3) var(--ow-space-3); text-align: left;
  border-bottom: 1px solid var(--ow-color-border);
  white-space: nowrap; user-select: none;
}
.ow-data-table thead th[aria-sort="ascending"],
.ow-data-table thead th[aria-sort="descending"] {
  background: var(--ow-color-border-soft);
  color: var(--ow-color-text);
}

.ow-data-table th button.ow-data-table__sort {
  align-items: center; background: transparent; border: 0; color: inherit;
  cursor: pointer; display: inline-flex; font: inherit; gap: var(--ow-space-2);
  letter-spacing: inherit; padding:0; text-transform: inherit; white-space: nowrap;
}
.ow-data-table th button.ow-data-table__sort:hover { color: var(--ow-color-brand-deep); }
.ow-data-table th[aria-sort="ascending"] button.ow-data-table__sort,
.ow-data-table th[aria-sort="descending"] button.ow-data-table__sort { color: var(--ow-color-brand); }
.ow-data-table__sort-icon { font-size: var(--ow-type-nano); opacity: .32; color: currentColor; }
.ow-data-table th[aria-sort="ascending"] .ow-data-table__sort-icon,
.ow-data-table th[aria-sort="descending"] .ow-data-table__sort-icon { opacity: 1; color: var(--ow-color-brand); }

/* BODY — horizontal rules only, warm hover. */
.ow-data-table tbody tr { transition: background .16s ease; }
.ow-data-table tbody tr + tr td { border-top: 1px solid var(--ow-color-border-soft); }
.ow-data-table tbody tr:hover { background: var(--ow-color-row-hover); }
.ow-data-table tbody td {
  padding:var(--ow-space-3) var(--ow-space-3);
  font-size: var(--ow-type-meta);
  color: var(--ow-color-text);
  vertical-align: middle;
  background: inherit;
}

.ow-data-table tbody tr.is-clickable { cursor: pointer; }
.ow-data-table tbody tr.is-selected,
.ow-data-table tbody tr.is-expanded { background: var(--ow-color-selected-row); }
.ow-data-table tbody tr.is-expanded .ow-data-table__actions,
.ow-data-table tbody tr.is-selected .ow-data-table__actions { background: var(--ow-color-selected-row); }

/* STICKY-RIGHT actions column with the seam shadow. */
.ow-data-table th.ow-data-table__actions,
.ow-data-table td.ow-data-table__actions {
  position: sticky; right: 0; z-index: 2;
  background: var(--ow-color-surface-alt);
  box-shadow: var(--ow-seam-sticky);
  text-align: center;
  width: 64px; padding:var(--ow-space-2) var(--ow-space-3);
}
.ow-data-table thead th.ow-data-table__actions { z-index: 4; }
.ow-data-table tbody td.ow-data-table__actions { background: var(--ow-color-surface); }
.ow-data-table tbody tr:hover td.ow-data-table__actions { background: var(--ow-color-row-hover); }

/* EXPANDED DETAIL ROW */
.ow-data-table__detail-row td {
  background: var(--ow-color-selected-bg);
  border-top: 0 !important;
  border-bottom: 1px solid var(--ow-color-border);
  padding:0;
  box-shadow: none;
}
.ow-data-table__detail-inner {
  animation: ow-data-table-detail-in .18s ease;
  padding:var(--ow-space-4) var(--ow-space-5) var(--ow-space-5);
}
@keyframes ow-data-table-detail-in {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

.ow-data-table__loader-row td {
  background: var(--ow-color-surface-alt); color: var(--ow-color-muted);
  font-size: var(--ow-type-label); font-weight: 600; padding:var(--ow-space-3); text-align: center;
  border-top: 0 !important;
}
.ow-data-table__loader-inner { align-items: center; display: inline-flex; gap: var(--ow-space-2); }
.ow-data-table__loader-inner .fa { color: var(--ow-color-brand); }

.ow-data-table__empty-row td {
  color: var(--ow-color-muted); font-size: var(--ow-type-body); padding:var(--ow-space-8) var(--ow-space-4); text-align: center;
  border-top: 0 !important;
}
.ow-data-table__end-row td {
  border-top: 0 !important; border-bottom: 0;
  color: var(--ow-color-faint);
  font-size: var(--ow-type-label); padding:var(--ow-space-3); text-align: center;
}

/* CHEVRON — same treatment as row-menu buttons in Shared Layout. */
.ow-data-table__chev {
  align-items: center; background: transparent; border: 0; border-radius: var(--ow-radius-md);
  color: var(--ow-color-faint); cursor: pointer; display: inline-flex;
  height:var(--ow-control-h); width: var(--ow-control-h); justify-content: center; padding:0;
  transition: background .16s ease, color .16s ease, transform .18s ease;
}
.ow-data-table__chev:hover { background: var(--ow-hover-tint); color: var(--ow-color-brand-deep); }
/* Expanded reads from either place: the row carries `is-expanded` in the React
 * table, the button carries `aria-expanded` in the template ones. Both rotate,
 * so a screen never needs a rule of its own for it. */
.ow-data-table__chev[aria-expanded="true"] {
  background: var(--ow-color-brand-tint); color: var(--ow-color-brand-deep); transform: rotate(180deg);
}
/* The hover nudge, promoted out of Weighing Activities — it was the last
 * per-page style block in the project. Suppressed once expanded (the rotation
 * is the state) and for reduced-motion users. */
@keyframes ow-chev-nudge { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(3px); } }
.ow-data-table__chev i { transition: transform .18s ease, color .18s ease; }
.ow-data-table__chev:hover i { animation: ow-chev-nudge .7s ease-in-out infinite; }
.ow-data-table__chev[aria-expanded="true"]:hover i { animation: none; }
@media (prefers-reduced-motion: reduce) { .ow-data-table__chev:hover i { animation: none; } }
.ow-data-table tbody tr.is-expanded .ow-data-table__chev {
  background: var(--ow-color-brand-tint); color: var(--ow-color-brand-deep); transform: rotate(180deg);
}

/* A MANY-COLUMN TABLE, SCROLLED RATHER THAN CRUSHED.
 *
 * The minimum was a flat 1180px, which is wider than the content area at every
 * width the shell actually offers below about 1500px — so the table was ALWAYS
 * wider than its scroller, and the sticky Actions column ALWAYS painted over
 * the column beside it. A permanent overlap is not "scroll it rather than
 * crush it"; it is the last column sliced in half on first paint.
 *
 * The minimum now stands down with the columns that carry it (`ow-col--drop-*`),
 * so the table scrolls where it genuinely needs the room and fits where the
 * columns have stood down. */
.ow-data-table--wide { min-width: 1180px; }
@media (max-width: 1519px) { .ow-data-table--wide { min-width: 1040px; } }
@media (max-width: 1279px) { .ow-data-table--wide { min-width: 0; } }
/* Content-sized table inside a narrow shell: scroll it rather than crush the
 * name column to an ellipsis. */
/* Settings tables: the shell leaves ~800px, and these carry six or seven
 * columns, so the table scrolls. A sticky Actions cell in that situation pins
 * over the last data column at scrollLeft 0 — State on Users, Enabled on
 * Hardware — which is the trap app/views/settings/users.html.erb documents. The
 * pin is what has to go here, not the column: the row's actions scroll with the
 * row and nothing is ever covered. */
.ow-data-table--fit { min-width: 940px; }
.ow-data-table--fit th.ow-data-table__actions,
.ow-data-table--fit td.ow-data-table__actions {
  box-shadow: none;
  position: static;
  width: auto;
}
/* A transcribed token never wraps: a device ID is read character by character. */
.ow-data-table .ow-mono { white-space: nowrap; }
.ow-data-table th.ow-data-table__actions--lg,
.ow-data-table td.ow-data-table__actions--lg { text-align: right; width: 210px; }

/* Archived / inactive record: dimmed content, live chrome.
 * The dim stops at 0.88: below that, muted body text falls under the contrast
 * an operator can comfortably read — and an archived row is exactly the one
 * somebody is peering at to work out whether to bring it back. The row reads
 * as archived through its Archived badge and its lighter chrome, not by being
 * hard to read. */
.ow-data-table tbody tr.is-dim td { opacity: 0.88; }
.ow-data-table tbody tr.is-dim .is-muted,
.ow-data-table tbody tr.is-dim .ow-faint { color: var(--ow-color-muted); }

/* COLUMNS THAT STAND DOWN RATHER THAN OVERFLOW.
 *
 * The Actions column is `position: sticky; right: 0`, so when a table is
 * wider than its scroller the sticky cell PAINTS OVER whatever is beneath it.
 * The column to its left then reads as cut off mid-word — which is what
 * happens between roughly 960 and 1200px, where the shell has already given
 * the content area back 172px of rail but the table has not given anything
 * up in return.
 *
 * Scrolling reaches the covered content, but a list whose last column is
 * sliced in half at rest reads as broken, so the answer is for the table to
 * be narrower rather than for the operator to discover a scrollbar. A column
 * carrying `ow-col--drop-*` is DELIBERATELY stood down at that width: nothing
 * it shows is unavailable, it is on the record and in the row's own detail.
 *
 * Set the class on the `th` AND its `td` — a colgroup does not survive the
 * template layer.
 *
 * THE TWO WIDTHS ARE MEASURED, NOT PICKED. The content area is the viewport
 * less the rail (248px, or 76px at 1199 and below) and the page gutters, and
 * a full Business Records row needs about 1100px. So the counts — a bare
 * number each — stand down first, and the address, which is the widest column
 * on the row, follows at the width where what is left still would not fit. */
@media (max-width: 1519px) {
  .ow-data-table th.ow-col--drop-1520,
  .ow-data-table td.ow-col--drop-1520 { display: none; }
}
@media (max-width: 1279px) {
  .ow-data-table th.ow-col--drop-1280,
  .ow-data-table td.ow-col--drop-1280 { display: none; }
}

/* WHERE EVEN THE COLUMNS THAT REMAIN CANNOT FIT, THE STICKY COLUMN STANDS DOWN
 * TOO.
 *
 * Between the card breakpoint and about 990px the content area is narrow
 * enough — 468px at a 768px viewport, measured — that a row cannot be made to
 * fit however many columns give way. Scrolling is then the honest answer, and
 * at that point `position: sticky` on Actions actively hurts: it pins a
 * column over the top of whatever is beside it and the row reads as sliced in
 * half before the operator has scrolled anything.
 *
 * So below 992px Actions scrolls with its row. Nothing is hidden and nothing is
 * unreachable; the seam shadow goes with it, because a seam that marks nothing
 * is just a line. */
@media (max-width: 991px) {
  .ow-data-table th.ow-data-table__actions,
  .ow-data-table td.ow-data-table__actions {
    box-shadow: none;
    position: static;
  }
}

/* A badge is a fixed phrase and must never be split down the middle. Where the
 * column is too narrow for the phrase the badge wraps as a whole; and it sizes
 * to its own text rather than being stretched the width of the column by the
 * flex stack it sits in. The sentence beside it wraps on word boundaries
 * rather than being sliced by the sticky seam. */
.ow-data-table td .ow-badge { max-width: 100%; white-space: normal; }
/* A cell declared nowrap keeps its badge on one line too. */
.ow-data-table td.ow-cell--nowrap .ow-badge { white-space: nowrap; }
.ow-data-table td .ow-stack > .ow-badge,
.ow-data-table td .ow-stack > .ow-row { align-self: flex-start; }
.ow-data-table td .ow-stack .ow-meta { overflow-wrap: anywhere; }

/* CELL ROLES — set on th/td instead of an inline style. */
.ow-data-table .is-center { text-align: center; }
/* Percentage column widths only hold under auto layout if the cell can shrink. */
.ow-data-table td.is-clip, .ow-data-table th.is-clip { max-width: 0; overflow: hidden; }
.ow-data-table .is-right { text-align: right; }
/* Column allocation on the header cells (a colgroup does not survive the
 * template layer). Percentages only hold under auto layout when the body cell
 * can shrink — pair a wide text column with `is-clip` + `.ow-truncate`. */
.ow-data-table th.ow-col--name { width: 22%; }
.ow-data-table th.ow-col--wide { width: 32%; }
.ow-data-table th.ow-col--md { width: 13%; }
.ow-data-table th.ow-col--sm { width: 8%; }
.ow-data-table .is-num { font-family: var(--ow-font-numeric); font-feature-settings: "tnum" 1; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ow-data-table .is-muted { color: var(--ow-color-muted); }
.ow-data-table .is-faint { color: var(--ow-color-faint); }
.ow-data-table .is-strong { color: var(--ow-color-text); font-weight: 700; }
.ow-data-table .is-name { color: var(--ow-color-text); font-size: var(--ow-type-body); font-weight: 700; }
.ow-data-table td.ow-data-table__select,
.ow-data-table th.ow-data-table__select {
  padding: var(--ow-space-2) var(--ow-space-3);
  text-align: center;
  width: var(--ow-tap-min);
}
/* Only the body cell anchors the selection mark — the header cell must keep
 * the sticky positioning it inherits from `thead th`. */
.ow-data-table td.ow-data-table__select { position: relative; }
.ow-data-table__check { accent-color: var(--ow-color-brand); cursor: pointer; height: 15px; margin: 0; width: 15px; }
.ow-data-table__selmark {
  background: var(--ow-color-brand);
  border-radius: 0 3px 3px 0;
  bottom: 5px;
  left: 0;
  position: absolute;
  top: 5px;
  width: 3px;
}
/* Row action menu — anchored to the sticky Actions cell. */
.ow-data-table__rowmenu {
  animation: ow-data-table-detail-in var(--ow-dur-hover) var(--ow-ease);
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-lg);
  box-shadow: var(--ow-shadow-raise);
  padding: var(--ow-space-1);
  position: absolute;
  right: 14px;
  text-align: left;
  top: var(--ow-tap-min);
  width: 214px;
  z-index: 60;
}

/* FOOTER — count on the left, scroll hint on the right. */
.ow-data-table__footer {
  flex: none;
  padding:var(--ow-space-3) var(--ow-space-4);
  border-top: 1px solid var(--ow-color-border-soft);
  background: var(--ow-color-surface-alt);
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--ow-space-3); flex-wrap: wrap;
  font-size: var(--ow-type-label); color: var(--ow-color-faint); font-weight: 600;
}
.ow-data-table__count { white-space: nowrap; }
.ow-data-table__count strong { color: var(--ow-color-text); font-weight: 800; font-variant-numeric: tabular-nums; }

/* Several controls in one actions cell.
 *
 * `button_to` wraps each control in its own <form>, which is block-level, so a
 * row with a rotate/revoke/suspend/disable set stacked into a vertical column
 * 64px wide. The cell is the one place in the system where several controls sit
 * side by side, so it lays them out itself rather than every screen wrapping
 * its actions in a row - and a screen with more than one action takes
 * `--lg` for the width it needs. */
.ow-data-table td.ow-data-table__actions { white-space: nowrap; }
.ow-data-table td.ow-data-table__actions > form,
.ow-data-table td.ow-data-table__actions > .ow-row > form { display: inline-block; vertical-align: middle; margin: 0; }


/* Section mode of the rail (Side Nav.dc.html: `showSitePicker = showLabels &&
 * !inSection`, `showCollapseToggle = !mobile && !inSection`). The React rail
 * simply does not render these while a section menu is showing; the
 * server-rendered rail carries the class instead. */
.ow-nav--section .ow-nav__site,
.ow-nav--section .ow-nav__site--icon,
.ow-nav--section .ow-nav__collapse { display: none; }

/* A designed destination this application has no screen for yet. Rendered as
 * unavailable rather than as a link to nowhere - the design keeps such items
 * "inert" and so does the rail. */
.ow-nav__item.is-inert { cursor: default; opacity: 0.5; }
.ow-nav__item.is-inert:hover { background: transparent; color: var(--nav-idle); }
.ow-nav__item.is-inert.is-active { opacity: 1; }

/* External signing page (layouts/signing): one narrow column of cards for
 * a signer who has no account — no shell, no navigation. Reused by any
 * later externally signed record (WTN), not only the hazardous consignment. */
.ow-signing { background: var(--ow-color-page-bg); color: var(--ow-color-text); margin: 0; min-height: 100vh; }
.ow-signing__main {
  display: flex; flex-direction: column; gap: var(--ow-space-4);
  margin: 0 auto; max-width: var(--ow-canvas-prose-narrow);
  padding: var(--ow-space-6) var(--ow-space-4) var(--ow-space-8);
}
.ow-signing .ow-deflist dd { text-align: left; }
.ow-signing__statement {
  background: var(--ow-color-surface-alt); border-left: 3px solid var(--ow-color-brand);
  border-radius: var(--ow-radius-sm); font-size: var(--ow-type-body); margin: 0; padding: var(--ow-space-3) var(--ow-space-4);
}
.ow-signing__items { border-collapse: collapse; font-size: var(--ow-type-meta); width: 100%; }
.ow-signing__items th { background: var(--ow-color-thead-bg); color: var(--ow-color-faint); font-size: var(--ow-type-micro); font-weight: 800; letter-spacing: 0.05em; padding: var(--ow-space-2) var(--ow-space-3); text-align: left; text-transform: uppercase; }
.ow-signing__items td { border-top: 1px solid var(--ow-color-border-soft); padding: var(--ow-space-2) var(--ow-space-3); vertical-align: top; }
/* Wide facts (the Part B waste table) scroll inside their own container on a
   phone; the page itself never scrolls sideways. */
.ow-signing__scroll { -webkit-overflow-scrolling: touch; overflow-x: auto; }
/* Part E: one stacked line per waste line received — readable and decidable
   at any width, so the decision controls are never inside a scrolling table. */
.ow-signing__line { border: 0; border-top: 1px solid var(--ow-color-border-soft); display: grid; gap: var(--ow-space-2); margin: 0; min-width: 0; padding: var(--ow-space-3) 0 0; }
.ow-signing__line:first-of-type { border-top: 0; padding-top: 0; }
.ow-signing__line-title { font-size: var(--ow-type-body); font-weight: 700; padding: 0; }
.ow-signing__decision { display: flex; flex-wrap: wrap; gap: var(--ow-space-2) var(--ow-space-4); }
@media (max-width: 767px) {
  .ow-signing .ow-deflist { gap: 2px 0; grid-template-columns: minmax(0, 1fr); }
  .ow-signing .ow-deflist dd { margin-bottom: var(--ow-space-2); }
}

/* ── Contextual help: the walkthrough ───────────────────────────────────────
   The help PANEL is the shared drawer and needs nothing of its own. What is
   missing from layer 2 is the walkthrough: a scrim, a ring cut around the
   element being explained, and the bubble that explains it.

   Geometry is the only thing that cannot live here — it is measured from the
   real element at runtime — so it arrives as custom properties (--tour-x/-y/
   -w/-h) and every declaration below stays in the stylesheet. Same rule as the
   ticket screen's allocation bar. */
.ow-tour { inset: 0; position: fixed; z-index: 1300; }
.ow-tour__scrim { background: var(--ow-scrim-strong); inset: 0; position: absolute; }

/* The ring is drawn as a huge spread shadow, so the element stays lit by the
   page underneath instead of being redrawn into an overlay. */
.ow-tour__spot {
  border: 2px solid var(--ow-color-brand);
  border-radius: var(--ow-radius-lg);
  /* `100vmax` rather than a large pixel spread: a spread of several thousand
     pixels is dropped by the compositor, and this is by definition big enough
     to reach every corner whatever the viewport. */
  box-shadow: 0 0 0 100vmax var(--ow-scrim-strong);
  height: calc(var(--tour-h, 0px) + 2 * var(--ow-space-1));
  left: calc(var(--tour-x, 0px) - var(--ow-space-1));
  pointer-events: none;
  position: absolute;
  top: calc(var(--tour-y, 0px) - var(--ow-space-1));
  transition: all var(--ow-dur-panel) var(--ow-ease-out);
  width: calc(var(--tour-w, 0px) + 2 * var(--ow-space-1));
}
.ow-tour__bubble {
  background: var(--ow-color-surface);
  border: 1px solid var(--ow-color-border);
  border-radius: var(--ow-radius-lg);
  box-shadow: var(--ow-shadow-dialog);
  display: flex;
  flex-direction: column;
  gap: var(--ow-space-3);
  left: var(--tour-bx, 0px);
  max-width: calc(100vw - 2 * var(--ow-space-4));
  padding: var(--ow-space-4);
  position: absolute;
  top: var(--tour-by, 0px);
  transition: left var(--ow-dur-panel) var(--ow-ease-out), top var(--ow-dur-panel) var(--ow-ease-out);
  width: 340px;
}
.ow-tour__count { color: var(--ow-color-faint); font-size: var(--ow-type-micro); font-weight: 800; letter-spacing: var(--ow-tracking-label); text-transform: uppercase; }
.ow-tour__foot { align-items: center; display: flex; gap: var(--ow-space-2); }
/* Both navigation buttons share the row evenly, so neither can be squeezed to
   an unreadable width by the other's label. */
.ow-tour__foot .ow-fill { flex: 1 1 0; justify-content: center; min-width: 0; }

/* The narration options sit above the navigation. `min-width: 0` lets a long
   label ellipsis inside the bubble instead of pushing itself outside it, which
   is what a flex item does by default. */
.ow-tour__opts {
  align-items: center;
  border-bottom: 1px solid var(--ow-color-border);
  display: flex;
  flex-wrap: wrap;
  gap: var(--ow-space-2);
  padding-bottom: var(--ow-space-3);
}
.ow-tour__opts > * { min-width: 0; }
.ow-tour__opts .ow-tour__guide { flex: 0 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ow-tour__opts [data-ow-tour-end] { margin-left: auto; }

@media (max-width: 767px) {
  /* On a phone the bubble is a sheet at the bottom: there is no room to float
     it beside a highlighted element, and a bubble that covers the thing it is
     describing helps nobody. The ring stays. */
  .ow-tour__bubble {
    border-radius: var(--ow-radius-lg) var(--ow-radius-lg) 0 0;
    bottom: 0;
    left: 0;
    max-width: none;
    top: auto;
    width: 100%;
  }
}

/* The assistant's live-call pill. The toast is a transient message; this one
   stays for as long as the microphone is open and carries the control that
   closes it, so it has to be interactive and sit clear of the bottom edge. */
.ow-toast--live { bottom: var(--ow-space-5); pointer-events: auto; top: auto; }
.ow-toast--live i { color: var(--ow-color-danger); }
.ow-toast--live .ow-btn { margin-left: var(--ow-space-2); }

/* ─────────────────────────────────────────────────────────────────────────
   COMMISSIONING WALK
   A step rail beside the current step's panel. On a narrow screen the rail
   sits above the panel and stops sticking. */
.ow-walk { align-items: start; display: grid; gap: var(--ow-space-4); grid-template-columns: 300px minmax(0, 1fr); }
@media (max-width: 960px) { .ow-walk { grid-template-columns: minmax(0, 1fr); } }
.ow-walk__rail { position: sticky; top: var(--ow-space-4); }
@media (max-width: 960px) { .ow-walk__rail { position: static; } }

.ow-walkstep {
  align-items: flex-start; background: transparent; border: 0;
  border-radius: var(--ow-radius-md); color: var(--ow-color-text); cursor: pointer;
  display: flex; font: inherit; gap: var(--ow-space-3);
  padding: var(--ow-space-2) var(--ow-space-2); text-align: left; text-decoration: none; width: 100%;
  transition: background var(--ow-dur-hover) var(--ow-ease);
}
.ow-walkstep:hover { background: var(--ow-hover-tint); text-decoration: none; }
.ow-walkstep[disabled], .ow-walkstep.is-blocked { cursor: not-allowed; opacity: 0.45; }
.ow-walkstep.is-current { background: var(--ow-color-brand-tint); }
.ow-walkstep__title { color: var(--ow-color-text); font-size: var(--ow-type-meta); font-weight: 700; }
.ow-walkstep.is-current .ow-walkstep__title { color: var(--ow-color-brand-deep); }
.ow-walkstep.is-done .ow-walkstep__title { color: var(--ow-color-muted); }
.ow-walkstep__hint { color: var(--ow-color-muted); font-size: var(--ow-type-label); line-height: 17px; text-wrap: pretty; }

.ow-field__static { align-items: center; color: var(--ow-color-text); display: flex; font-size: var(--ow-type-body); font-weight: 600; margin: 0; min-height: var(--ow-control-h-lg); }
.ow-icontile--figure { font-size: var(--ow-type-meta); font-variant-numeric: tabular-nums; font-weight: 800; }

/* The support surface: no rail, one header bar over the content column. */
.ow-support { display: flex; flex-direction: column; min-height: 100vh; }
.ow-support__bar { background: var(--ow-color-surface); border-bottom: 1px solid var(--ow-color-border); padding: var(--ow-space-3) var(--ow-gutter-page); }
@media (max-width: 767px) { .ow-support__bar { padding: var(--ow-space-3) var(--ow-gutter-page-mobile); } }
/* A fact row that holds more facts than one line: wraps rather than scrolls. */
.ow-factrow--wrap { flex-wrap: wrap; }
/* A tier of facts inside a card body: no padding of its own, and a quiet
   value for what is on record rather than live. */
.ow-factrow--flush { padding: 0; }
.ow-fact__value--quiet { color: var(--ow-color-text-soft); font-weight: 600; }

/* ==========================================================================
   The instrument deck: one device's page under Hardware. A dark console with
   ambient glows behind a faint grid, a status orb that carries the live weight,
   and a grid of cards that each answer one question about the device. It
   reads only the `--ow-deck-*` family and is dark in both themes.
   ========================================================================== */
.ow-deck {
  background: var(--ow-deck-bg);
  border-radius: var(--ow-deck-radius);
  color: var(--ow-deck-text);
  overflow: hidden;
  position: relative;
}
.ow-deck__glow { border-radius: 50%; filter: blur(10px); pointer-events: none; position: absolute; }
.ow-deck__glow--a {
  animation: ow-deck-drift-a 16s ease-in-out infinite;
  background: radial-gradient(circle, var(--ow-deck-accent-glow), transparent 70%);
  height: 520px; right: -120px; top: -160px; width: 520px;
}
.ow-deck__glow--b {
  animation: ow-deck-drift-b 20s ease-in-out infinite;
  background: radial-gradient(circle, var(--ow-deck-link-glow), transparent 70%);
  bottom: -200px; height: 560px; left: -140px; width: 560px;
}
.ow-deck__mesh {
  background-image: linear-gradient(var(--ow-deck-grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--ow-deck-grid-line) 1px, transparent 1px);
  background-size: 44px 44px;
  inset: 0; pointer-events: none; position: absolute;
}
.ow-deck__inner { margin: 0 auto; max-width: var(--ow-deck-max); padding: 36px 28px 80px; position: relative; }
@media (max-width: 767px) { .ow-deck__inner { padding: var(--ow-space-6) var(--ow-space-4) var(--ow-space-8); } }

/* Text roles on the deck: the theme's heading and link rules do not apply
   inside it, so every role names its own deck colour. */
.ow-deck__back {
  align-items: center; color: var(--ow-deck-muted); display: inline-flex; font-size: var(--ow-type-meta);
  font-weight: 600; gap: var(--ow-space-2); letter-spacing: var(--ow-tracking-wide); margin-bottom: 28px;
}
.ow-deck__back:hover, .ow-deck__back:focus { color: var(--ow-deck-text); }
.ow-deck__eyebrow { color: var(--ow-deck-accent); font-size: var(--ow-type-label); font-weight: 700; letter-spacing: 0.14em; margin-bottom: 10px; text-transform: uppercase; }
.ow-deck__title { color: var(--ow-deck-text); font-size: var(--ow-deck-title); font-weight: 700; letter-spacing: var(--ow-tracking-tight); line-height: 1.05; margin: 0 0 var(--ow-space-3); }
@media (max-width: 767px) { .ow-deck__title { font-size: var(--ow-type-page-title); } }
.ow-deck__meta { color: var(--ow-deck-muted); display: flex; flex-wrap: wrap; font-size: 13.5px; font-weight: 500; gap: 14px; }
.ow-deck__sep { color: var(--ow-deck-border-strong); }
.ow-deck__mono { color: var(--ow-deck-mono); font-family: var(--ow-font-mono); }
.ow-deck__label { color: var(--ow-deck-label); font-size: var(--ow-type-micro); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.ow-deck__value { color: var(--ow-deck-text); font-size: 15px; font-weight: 600; margin-top: 2px; }
.ow-deck__note { color: var(--ow-deck-muted); font-size: 13.5px; line-height: 1.6; margin: 0; }
.ow-deck__note strong { color: var(--ow-deck-text-soft); font-weight: 600; }
.ow-deck__note a, .ow-deck__fact-v a, .ow-deck__value a { color: var(--ow-deck-link); }
.ow-deck__note a:hover, .ow-deck__fact-v a:hover, .ow-deck__value a:hover { color: var(--ow-deck-text); }
.ow-deck__small { color: var(--ow-deck-muted); font-size: var(--ow-type-meta); margin: 0; }
.ow-deck__small .ow-deck__mono { color: var(--ow-deck-text-soft); }
.ow-deck__tag { color: var(--ow-deck-faint); font-family: var(--ow-font-mono); font-size: var(--ow-type-micro); font-weight: 600; }

/* The head: identity on the left, the gauge on the right. */
.ow-deck__head {
  align-items: flex-start; border-bottom: 1px solid var(--ow-deck-border-soft); display: flex; flex-wrap: wrap;
  gap: var(--ow-space-7); justify-content: space-between; margin-bottom: var(--ow-space-7); padding-bottom: 28px;
}
.ow-deck__identity { min-width: 0; }
.ow-deck__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: var(--ow-space-5); }

/* Pills: a state, never an action. */
.ow-deck__pill {
  align-items: center; border: 1px solid var(--ow-deck-border-strong); border-radius: var(--ow-radius-pill); color: var(--ow-deck-text);
  display: inline-flex; font-size: 12.5px; font-weight: 700; gap: 7px; padding: 7px 14px;
}
.ow-deck__pill--sm { font-size: 11.5px; gap: 6px; padding: 5px 12px; }
.ow-deck__pill--ok { background: var(--ow-deck-ok-tint); border-color: var(--ow-deck-ok-edge); color: var(--ow-deck-ok); }
.ow-deck__pill--warn { background: var(--ow-deck-warn-tint); border-color: var(--ow-deck-warn-edge); color: var(--ow-deck-warn); }
.ow-deck__pill--accent { background: var(--ow-deck-accent-tint); border-color: var(--ow-deck-accent-edge); color: var(--ow-deck-accent); }
.ow-deck__pill--danger { background: var(--ow-deck-danger-tint); border-color: var(--ow-deck-danger-edge); color: var(--ow-deck-danger); }
.ow-deck__pill--neutral { background: var(--ow-deck-chip); border-color: var(--ow-deck-border-chip); color: var(--ow-deck-muted); }

/* Buttons on the deck: one ghost, one amber. */
.ow-deck__ghost {
  align-items: center; background: transparent; border: 1px solid var(--ow-deck-border-strong); border-radius: var(--ow-radius-pill); color: var(--ow-deck-text);
  cursor: pointer; display: inline-flex; font-family: inherit; font-size: 12.5px; font-weight: 600; gap: var(--ow-space-2); padding: 7px 16px;
  transition: border-color var(--ow-transition-fast), color var(--ow-transition-fast);
}
.ow-deck__ghost:hover, .ow-deck__ghost:focus { border-color: var(--ow-deck-accent); color: var(--ow-deck-accent); }
.ow-deck__primary {
  background: var(--ow-deck-accent); border: 0; border-radius: var(--ow-radius-md); color: var(--ow-deck-accent-ink); cursor: pointer;
  font-family: inherit; font-size: 12.5px; font-weight: 700; padding: 8px 16px; transition: background var(--ow-transition-fast);
}
.ow-deck__primary:hover, .ow-deck__primary:focus { background: var(--ow-deck-accent-soft); color: var(--ow-deck-accent-ink); }

/* The gauge: a pulsing orb, a live dot and the figure the gateway is sending. */
.ow-deck__gauge { align-items: center; display: flex; flex-direction: column; flex-shrink: 0; gap: 10px; }
.ow-deck__orb { height: var(--ow-deck-orb-size); position: relative; width: var(--ow-deck-orb-size); }
.ow-deck__ring { animation: ow-deck-ring-sweep 14s linear infinite; border: 1px dashed var(--ow-deck-accent-edge); border-radius: 50%; inset: -6px; position: absolute; }
.ow-deck__core {
  align-items: center; animation: ow-deck-orb-pulse 3.2s ease-in-out infinite; background: var(--ow-deck-orb); border-radius: 50%;
  color: var(--ow-deck-accent); display: flex; font-size: 30px; inset: 0; justify-content: center; position: absolute;
}
.ow-deck__live { align-items: center; display: flex; gap: 7px; }
.ow-deck__live-dot { animation: ow-deck-live-dot 1.6s ease-in-out infinite; background: var(--ow-deck-ok); border-radius: 50%; height: 7px; width: 7px; }
.ow-deck__live-dot--stale { animation: none; background: var(--ow-deck-warn); }
.ow-deck__live-dot--off { animation: none; background: var(--ow-deck-border-strong); }
.ow-deck__live-text { color: var(--ow-deck-faint); font-size: var(--ow-type-micro); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.ow-deck__figure {
  color: var(--ow-deck-muted); font-family: var(--ow-font-mono); font-size: var(--ow-deck-figure); font-variant-numeric: tabular-nums;
  font-weight: 600; letter-spacing: var(--ow-tracking-tight); transition: color var(--ow-dur-state) var(--ow-ease);
}
.ow-deck__figure-unit { color: var(--ow-deck-faint); font-size: var(--ow-type-meta); margin-left: var(--ow-space-1); }
.ow-deck__gauge.is-live .ow-deck__figure { color: var(--ow-deck-text); }
.ow-deck__gauge.is-stable .ow-deck__figure { color: var(--ow-deck-accent); }
.ow-deck__figure-state { color: var(--ow-deck-faint); font-size: var(--ow-type-micro); font-weight: 600; }
.ow-deck__gauge.is-stable .ow-deck__figure-state { color: var(--ow-deck-ok); }

/* Cards. */
.ow-deck__cards { display: grid; gap: var(--ow-space-5); grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); }
@media (max-width: 767px) { .ow-deck__cards { grid-template-columns: 1fr; } }
.ow-deck__card {
  background: var(--ow-deck-surface); border: 1px solid var(--ow-deck-border); border-radius: var(--ow-deck-radius);
  box-shadow: var(--ow-deck-inset); min-width: 0; padding: 26px;
}
.ow-deck__card--wide { grid-column: 1 / -1; }
.ow-deck__card--row { align-items: center; display: flex; gap: var(--ow-space-5); }
.ow-deck__cardhead { align-items: center; display: flex; gap: var(--ow-space-3); margin-bottom: 18px; }
.ow-deck__cardhead--between { flex-wrap: wrap; justify-content: space-between; }
.ow-deck__cardhead--between > .ow-deck__cardhead { margin-bottom: 0; }
.ow-deck__tile {
  align-items: center; border-radius: var(--ow-radius-md); display: flex; flex-shrink: 0; font-size: 15px; height: 36px; justify-content: center; width: 36px;
  background: var(--ow-deck-chip); color: var(--ow-deck-muted);
}
.ow-deck__tile--ok { background: var(--ow-deck-ok-tint); color: var(--ow-deck-ok); }
.ow-deck__tile--accent { background: var(--ow-deck-accent-tint); color: var(--ow-deck-accent); }
.ow-deck__tile--link { background: var(--ow-deck-link-tint); color: var(--ow-deck-link); }
.ow-deck__tile--warn { background: var(--ow-deck-warn-tint); color: var(--ow-deck-warn); }
.ow-deck__tile--danger { background: var(--ow-deck-danger-tint); color: var(--ow-deck-danger); }

/* Key-value facts and mono chips inside a card. */
.ow-deck__facts { display: grid; font-size: var(--ow-type-meta); gap: var(--ow-space-3) var(--ow-space-5); grid-template-columns: 1fr 1fr; margin-bottom: var(--ow-space-4); }
.ow-deck__fact { min-width: 0; }
.ow-deck__fact-k { color: var(--ow-deck-faint); margin-bottom: 3px; }
.ow-deck__fact-v { color: var(--ow-deck-text-soft); font-family: var(--ow-font-mono); overflow-wrap: anywhere; }
.ow-deck__fact-v--absent { color: var(--ow-deck-warn); font-family: var(--ow-font-family); font-weight: 600; }
.ow-deck__chips { display: flex; flex-wrap: wrap; gap: var(--ow-space-2); }
.ow-deck__chip {
  background: var(--ow-deck-chip); border: 1px solid var(--ow-deck-border-chip); border-radius: 7px; color: var(--ow-deck-mono);
  font-family: var(--ow-font-mono); font-size: 11.5px; padding: 5px 10px;
}

/* The agent link: indicator on the left, PC on the right, and a wire between
   them that flows while the PC is live and rests when it is not. */
.ow-deck__wire { align-items: center; display: flex; margin-bottom: 18px; }
.ow-deck__node {
  align-items: center; background: var(--ow-deck-chip); border: 1px solid var(--ow-deck-link); border-radius: 50%; color: var(--ow-deck-link);
  display: flex; flex-shrink: 0; font-size: var(--ow-type-label); height: 30px; justify-content: center; width: 30px;
}
.ow-deck__wire-line {
  animation: ow-deck-flow 1s linear infinite; background-image: repeating-linear-gradient(90deg, var(--ow-deck-link) 0 8px, transparent 8px 16px);
  background-size: 40px 2px; flex: 1; height: 2px; margin: 0 -1px;
}
.ow-deck__wire.is-off .ow-deck__node { border-color: var(--ow-deck-border-strong); color: var(--ow-deck-faint); }
.ow-deck__wire.is-off .ow-deck__wire-line { animation: none; background-image: repeating-linear-gradient(90deg, var(--ow-deck-border-strong) 0 8px, transparent 8px 16px); }

/* The verification stamp. */
.ow-deck__stamp {
  align-items: center; border: 2px solid var(--ow-deck-ok); border-radius: 50%; color: var(--ow-deck-ok); display: flex; flex-shrink: 0;
  font-size: 22px; height: 58px; justify-content: center; transform: rotate(-8deg); width: 58px;
}
.ow-deck__stamp--off { border-color: var(--ow-deck-border-strong); border-style: dashed; color: var(--ow-deck-faint); }

/* Configured against detected, a confidence bar and the frame log. */
.ow-deck__diff { display: grid; gap: var(--ow-space-4); grid-template-columns: 1fr 1fr; margin-bottom: var(--ow-space-5); }
@media (max-width: 767px) { .ow-deck__diff, .ow-deck__facts { grid-template-columns: 1fr; } }
.ow-deck__panel { background: var(--ow-deck-surface-deep); border: 1px solid var(--ow-deck-border-soft); border-radius: var(--ow-deck-radius-panel); padding: 14px 16px; }
.ow-deck__panel-h { color: var(--ow-deck-faint); font-size: 10.5px; font-weight: 700; letter-spacing: 0.1em; margin-bottom: 10px; text-transform: uppercase; }
.ow-deck__panel-body { color: var(--ow-deck-mono); display: flex; flex-direction: column; font-family: var(--ow-font-mono); font-size: var(--ow-type-meta); gap: 5px; }
.ow-deck__panel-body .is-changed { color: var(--ow-deck-accent); font-weight: 600; }
.ow-deck__panel-body .is-empty { color: var(--ow-deck-faint); }
.ow-deck__bar-label { color: var(--ow-deck-faint); display: flex; font-size: 11.5px; justify-content: space-between; margin-bottom: var(--ow-space-2); }
.ow-deck__bar { background: var(--ow-deck-chip); border-radius: var(--ow-radius-sm); height: 6px; margin-bottom: var(--ow-space-5); overflow: hidden; }
.ow-deck__bar-fill { background: linear-gradient(90deg, var(--ow-deck-accent), var(--ow-deck-accent-soft)); border-radius: var(--ow-radius-sm); height: 100%; width: var(--ow-deck-bar, 0%); }
.ow-deck__log {
  background: var(--ow-deck-surface-log); border: 1px solid var(--ow-deck-border-soft); border-radius: var(--ow-deck-radius-panel); color: var(--ow-deck-ok);
  font-family: var(--ow-font-mono); font-size: 12.5px; line-height: 1.7; overflow-x: auto; padding: 14px 16px; white-space: pre;
}
.ow-deck__log--dim { color: var(--ow-deck-ok-dim); }

/* Missing facts as a list on the deck, and a notice for a state with nothing
   to list yet. */
.ow-deck__table { border-collapse: collapse; font-size: var(--ow-type-meta); margin-top: var(--ow-space-4); width: 100%; }
.ow-deck__table th { color: var(--ow-deck-faint); font-size: 10.5px; font-weight: 700; letter-spacing: 0.1em; padding: 0 0 var(--ow-space-2); text-align: left; text-transform: uppercase; }
.ow-deck__table td { border-top: 1px solid var(--ow-deck-border-soft); color: var(--ow-deck-muted); padding: var(--ow-space-2) var(--ow-space-4) var(--ow-space-2) 0; vertical-align: top; }
.ow-deck__table td:first-child { color: var(--ow-deck-mono); font-family: var(--ow-font-mono); }
.ow-deck__notice {
  align-items: flex-start; background: var(--ow-deck-surface-deep); border: 1px solid var(--ow-deck-border-soft); border-radius: var(--ow-deck-radius-panel);
  color: var(--ow-deck-muted); display: flex; font-size: 13.5px; gap: var(--ow-space-3); line-height: 1.6; padding: 14px 16px;
}
.ow-deck__notice > i { color: var(--ow-deck-link); flex-shrink: 0; margin-top: 3px; }
.ow-deck__notice--warn { border-color: var(--ow-deck-warn-edge); }
.ow-deck__notice--warn > i { color: var(--ow-deck-warn); }
.ow-deck__notice p { margin: 0; }
.ow-deck__notice strong { color: var(--ow-deck-text-soft); }
.ow-deck__form { margin: 0; }
.ow-deck__chips--after { margin-top: var(--ow-space-4); }
.ow-deck__chips--after-sm { margin-top: 10px; }
.ow-deck__small--after { margin-top: var(--ow-space-4); }
.ow-deck__label--stamp { margin-bottom: var(--ow-space-1); }
.ow-deck__value--stamp { margin-bottom: var(--ow-space-1); margin-top: 0; }

/* Reveal: the head and each card rise in, staggered. Content is visible
   without the animation, so a reduced-motion setting simply shows the page. */
.ow-deck__reveal { animation: ow-deck-reveal 0.7s var(--ow-ease-out) both; animation-delay: calc(var(--ow-deck-i, 0) * 0.09s); }
@keyframes ow-deck-reveal { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes ow-deck-orb-pulse {
  0%, 100% { box-shadow: 0 0 0 0 var(--ow-deck-accent-glow), 0 0 34px 8px var(--ow-deck-accent-tint); }
  50% { box-shadow: 0 0 0 12px transparent, 0 0 60px 18px var(--ow-deck-accent-glow); }
}
@keyframes ow-deck-ring-sweep { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes ow-deck-live-dot { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.3; transform: scale(0.65); } }
@keyframes ow-deck-drift-a { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-3%, 3%) scale(1.08); } }
@keyframes ow-deck-drift-b { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(4%, -2%) scale(1.1); } }
@keyframes ow-deck-flow { to { background-position: 40px 0; } }
@media (prefers-reduced-motion: reduce) {
  .ow-deck__reveal, .ow-deck__glow, .ow-deck__ring, .ow-deck__core, .ow-deck__live-dot, .ow-deck__wire-line { animation: none; }
}

/* ── Printable ticket ──────────────────────────────────────────────────────
 * One completed ticket as an A4 document (`tickets/print`, `layouts/print`).
 * On screen it is a sheet on the page with its controls above; printed, the
 * controls go and the sheet is the page. Light only: paper has no theme. */
@page { size: A4; margin: 12mm; }
.ow-printpage { background: var(--ow-color-page-bg); color: var(--ow-color-text); font-family: var(--ow-font-family); margin: 0; padding: var(--ow-space-5) var(--ow-space-4); }
.ow-printbar { align-items: center; display: flex; flex-wrap: wrap; gap: var(--ow-space-3); margin: 0 auto var(--ow-space-4); max-width: 210mm; }
.ow-printbar__note { color: var(--ow-color-muted); flex: 1 1 16rem; font-size: 13px; margin: 0; }
.ow-printdoc { background: var(--ow-color-surface); border: 1px solid var(--ow-color-border); border-radius: var(--ow-radius-card); box-shadow: var(--ow-card-shadow); box-sizing: border-box; color: var(--ow-color-text); font-size: 12px; line-height: 1.45; margin: 0 auto; max-width: 210mm; padding: 14mm 12mm; }
.ow-printdoc__head { align-items: flex-start; border-bottom: 2px solid var(--ow-color-brand); display: flex; flex-wrap: wrap; gap: var(--ow-space-4); justify-content: space-between; padding-bottom: var(--ow-space-3); }
.ow-printdoc__site, .ow-printdoc__ident, .ow-printdoc__party { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.ow-printdoc__ident { align-items: flex-end; text-align: right; }
.ow-printdoc__eyebrow, .ow-printdoc__label, .ow-printdoc__facts dt { color: var(--ow-color-muted); font-size: 10px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.ow-printdoc__sitename { color: var(--ow-color-heading); font-size: 16px; font-weight: 700; }
.ow-printdoc__title { color: var(--ow-color-heading); font-size: 20px; font-weight: 800; letter-spacing: -0.01em; margin: 0; }
.ow-printdoc__number { font-family: var(--ow-font-mono); font-size: 18px; font-weight: 700; }
.ow-printdoc__status { color: var(--ow-color-muted); font-size: 12px; }
.ow-printdoc__facts { display: grid; gap: var(--ow-space-2) var(--ow-space-4); grid-template-columns: repeat(4, minmax(0, 1fr)); margin: var(--ow-space-3) 0 0; }
.ow-printdoc__facts div { min-width: 0; }
.ow-printdoc__facts dd { font-weight: 600; margin: 0; overflow-wrap: anywhere; }
.ow-printdoc__section { border-top: 1px solid var(--ow-color-border-soft); margin-top: var(--ow-space-3); padding-top: var(--ow-space-3); break-inside: avoid; }
.ow-printdoc__h2 { color: var(--ow-color-heading); font-size: 12px; font-weight: 800; letter-spacing: 0.04em; margin: 0 0 var(--ow-space-2); text-transform: uppercase; }
.ow-printdoc__parties { display: grid; gap: var(--ow-space-3) var(--ow-space-4); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ow-printdoc__party span { overflow-wrap: anywhere; }
.ow-printdoc__strong { color: var(--ow-color-heading); font-weight: 700; }
.ow-printdoc__mono { font-family: var(--ow-font-mono); }
.ow-printdoc__weights { display: grid; gap: var(--ow-space-3); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ow-printdoc__weights > div { border: 1px solid var(--ow-color-border); border-radius: var(--ow-radius-sm); display: flex; flex-direction: column; padding: var(--ow-space-2) var(--ow-space-3); }
.ow-printdoc__weights > div.is-net { border-color: var(--ow-color-heading); border-width: 2px; }
.ow-printdoc__figure { color: var(--ow-color-heading); font-size: 20px; font-variant-numeric: tabular-nums; font-weight: 800; }
.ow-printdoc__figure small { color: var(--ow-color-muted); font-size: 11px; font-weight: 600; }
.ow-printdoc__note { color: var(--ow-color-muted); margin: var(--ow-space-2) 0 0; }
.ow-printdoc__table { border-collapse: collapse; width: 100%; }
.ow-printdoc__table th, .ow-printdoc__table td { border-bottom: 1px solid var(--ow-color-border-soft); padding: 5px 6px; text-align: left; vertical-align: top; }
.ow-printdoc__table thead th { border-bottom: 1px solid var(--ow-color-border-strong); color: var(--ow-color-muted); font-size: 10px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; }
.ow-printdoc__table tfoot th, .ow-printdoc__table tfoot td { border-bottom: 0; border-top: 1px solid var(--ow-color-border-strong); }
.ow-printdoc__table tr { break-inside: avoid; }
.ow-printdoc__col--pos { width: 4%; }
.ow-printdoc__col--waste { width: 27%; }
.ow-printdoc__col--ewc { width: 12%; }
.ow-printdoc__col--class { width: 20%; }
.ow-printdoc__col--route { width: 16%; }
.ow-printdoc__col--weight { width: 21%; }
.ow-printdoc__table .is-num { font-variant-numeric: tabular-nums; text-align: right; }
.ow-printdoc__table .is-num .ow-printdoc__strong { white-space: nowrap; }
.ow-printdoc__table td > span { display: block; }
.ow-printdoc__cellnote { color: var(--ow-color-muted); overflow-wrap: anywhere; }
.ow-printdoc__code { display: block; white-space: nowrap; }
.ow-printdoc__split { display: grid; gap: var(--ow-space-4); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ow-printdoc__split p { margin: 0 0 var(--ow-space-1); }
.ow-printdoc__list { margin: 0; padding-left: 1.1em; }
.ow-printdoc__foot { border-top: 1px solid var(--ow-color-border-soft); color: var(--ow-color-muted); display: flex; flex-wrap: wrap; font-size: 10px; gap: var(--ow-space-2) var(--ow-space-4); justify-content: space-between; margin-top: var(--ow-space-4); padding-top: var(--ow-space-2); }
/* A phone shows the sheet in one column and lets the waste table scroll. */
@media (max-width: 640px) {
  .ow-printpage { padding: var(--ow-space-3) var(--ow-space-4); }
  .ow-printdoc { padding: var(--ow-space-4); }
  .ow-printdoc__ident { align-items: flex-start; text-align: left; }
  .ow-printdoc__facts, .ow-printdoc__parties, .ow-printdoc__split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ow-printdoc__section { overflow-x: auto; }
  .ow-printdoc__table { min-width: 560px; }
  .ow-printdoc__figure { font-size: 16px; }
}
@media print {
  html, .ow-printpage { background: var(--ow-color-surface); padding: 0; }
  .ow-printbar { display: none; }
  .ow-printdoc { border: 0; border-radius: 0; box-shadow: none; max-width: none; padding: 0; }
  .ow-printdoc__facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ow-printdoc__parties { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ow-printdoc__split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ow-printdoc__section { overflow: visible; }
  .ow-printdoc__table { min-width: 0; }
  .ow-printdoc__figure { font-size: 20px; }
}

/* ── Self-serve sign-up and first-account setup ─────────────────────────────
 * The sign-up form is the auth panel's one wider form. The setup layout puts a
 * record's own screen beside the setup guide; below 900px the guide stacks
 * above the screen it describes. */
.ow-auth__form--wide { max-width: 480px; }
.ow-fieldgrid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 767px) { .ow-fieldgrid--2 { grid-template-columns: minmax(0, 1fr); } }
.ow-input[aria-invalid="true"] { border-color: var(--ow-status-fail-fg); }
.ow-checklist { color: var(--ow-color-muted); display: grid; font-size: var(--ow-type-meta); gap: var(--ow-space-1); list-style: none; margin: 0; padding: 0; }
.ow-checklist li { align-items: center; display: flex; gap: var(--ow-space-2); }
.ow-status--xs { font-size: 10px; font-weight: 700; height: 18px; width: 18px; }
.ow-icontile--lg { font-size: 20px; height: 48px; width: 48px; }
.ow-icontile--pass { background: var(--ow-status-pass-bg); color: var(--ow-status-pass-fg); }

/* First-account setup: the guided wizard, and the resume card that reopens it. */
.ow-setup__form { display: contents; }
.ow-setup-resume { border-color: var(--ow-color-brand); }
.ow-setup-resume__body { align-items: center; display: flex; flex-wrap: wrap; gap: var(--ow-space-4); justify-content: space-between; }

.ow-modal--setup { max-height: min(92vh, 900px); width: min(720px, 100%); }
.ow-wizard__rail { align-items: center; display: flex; flex: none; gap: var(--ow-space-3); padding: 0 var(--ow-space-5) var(--ow-space-4); }
.ow-wizard__rail .ow-wizard__steps { flex: 1 1 auto; padding: 0; }

.ow-setup__intro { color: var(--ow-color-muted); font-size: var(--ow-type-body); line-height: var(--ow-line-height); margin: 0; text-wrap: pretty; }
.ow-setup__errors { display: grid; gap: var(--ow-space-1); margin: 0; padding-left: var(--ow-space-4); }

.ow-setup__terms { background: var(--ow-color-surface-alt); border: 1px solid var(--ow-color-border-soft); border-radius: var(--ow-radius-md); padding: var(--ow-space-3) var(--ow-space-4); }
.ow-setup__terms > summary { cursor: pointer; font-size: var(--ow-type-meta); font-weight: 600; }
.ow-setup__terms > summary:focus-visible { outline: 2px solid var(--ow-color-brand); outline-offset: 2px; }
.ow-setup__terms .ow-deflist { margin-top: var(--ow-space-3); }

.ow-setup__help { align-items: center; border-top: 1px solid var(--ow-color-border-soft); display: flex; flex-wrap: wrap; gap: var(--ow-space-2) var(--ow-space-3); justify-content: space-between; padding-top: var(--ow-space-3); }

.ow-setup__plan { display: grid; list-style: none; margin: 0; padding: 0; }
.ow-setup__planrow { align-items: start; border-top: 1px solid var(--ow-color-border-soft); display: grid; gap: var(--ow-space-3); grid-template-columns: 18px minmax(0, 1fr) auto; padding: var(--ow-space-3) 0; }
.ow-setup__planrow:first-child { border-top: 0; }
.ow-setup__planlabel { font-weight: 600; }

.ow-setup__review { display: grid; list-style: none; margin: 0; padding: 0; }
.ow-setup__reviewrow { align-items: center; border-top: 1px solid var(--ow-color-border-soft); display: grid; gap: var(--ow-space-3); grid-template-columns: 18px minmax(0, 1fr) auto; padding: var(--ow-space-3) 0; }
.ow-setup__reviewrow:first-child { border-top: 0; }

/* Choosing an EWC code: the digits, the legal wording, and ours beneath it. */
.ow-ewcsearch { display: grid; gap: var(--ow-space-3); }
.ow-ewcsearch__results { display: grid; gap: var(--ow-space-2); list-style: none; margin: 0; max-height: 340px; overflow-y: auto; padding: 0; }
.ow-ewcsearch__row { border: 1px solid var(--ow-color-border-soft); border-radius: var(--ow-radius-md); padding: var(--ow-space-3); }
.ow-ewcsearch__row.is-chosen { background: var(--ow-color-brand-tint); border-color: var(--ow-color-brand); }
.ow-ewcsearch__label { align-items: flex-start; cursor: pointer; display: grid; gap: var(--ow-space-2); grid-template-columns: auto minmax(0, 1fr); }
.ow-ewcsearch__head { align-items: center; display: flex; flex-wrap: wrap; gap: var(--ow-space-2); }
.ow-ewcsearch__code { font-family: var(--ow-font-mono); font-size: var(--ow-type-card-title); font-weight: 600; letter-spacing: var(--ow-tracking-tight); }
.ow-ewcsearch__legal { color: var(--ow-color-text); font-size: var(--ow-type-body); line-height: var(--ow-line-height); margin: var(--ow-space-1) 0 0; text-wrap: pretty; }
.ow-ewcsearch__ours { color: var(--ow-color-muted); font-size: var(--ow-type-meta); line-height: var(--ow-line-height); margin: var(--ow-space-1) 0 0; text-wrap: pretty; }
.ow-ewcsearch__source { color: var(--ow-color-faint); font-size: var(--ow-type-micro); text-transform: uppercase; letter-spacing: var(--ow-tracking-wide); }
.ow-ewcsearch__chosen { display: grid; gap: var(--ow-space-2); list-style: none; margin: 0; padding: 0; }
.ow-ewcsearch__chosenrow { align-items: center; background: var(--ow-color-surface-alt); border-radius: var(--ow-radius-md); display: grid; gap: var(--ow-space-2); grid-template-columns: auto minmax(0, 1fr) auto; padding: var(--ow-space-2) var(--ow-space-3); }
.ow-ewcsearch__order { background: var(--ow-color-brand); border-radius: var(--ow-radius-pill); color: var(--ow-color-surface); display: inline-flex; font-size: var(--ow-type-micro); font-weight: 700; height: 20px; align-items: center; justify-content: center; width: 20px; }
.ow-ewcsearch__empty { color: var(--ow-color-muted); font-size: var(--ow-type-meta); margin: 0; }

@media (max-width: 767px) {
  .ow-wizard__rail { padding: 0 var(--ow-space-4) var(--ow-space-3); }
  .ow-setup__help { flex-direction: column; align-items: stretch; }
  .ow-setup__help .ow-btn { min-height: var(--ow-control-h-touch); width: 100%; }
  .ow-setup__planrow, .ow-setup__reviewrow { grid-template-columns: 18px minmax(0, 1fr); }
  .ow-setup__planrow > .ow-meta:last-child, .ow-setup__reviewrow > :last-child { grid-column: 2; }
  .ow-ewcsearch__results { max-height: none; }
  .ow-ewcsearch__row { padding: var(--ow-space-4) var(--ow-space-3); }
}
/*
 * LAYER 4 - BILLING. Composed ON ow_components, namespaced `.billing-page`.
 *
 * This layer may hold only genuinely billing-specific composition that no
 * shared primitive expresses. As of 2026-08-27 there is none: the Billing
 * surface is markup over layer 2 exactly as the design draws it. A rule added here must be scoped `.billing-page ...`, token-only,
 * and must not restate a button, card, table, input, badge, notice, tab or
 * empty state that layer 2 already owns.
 */
/* Preload images */
/* line 3, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
body:after {
  content: url("/assets/lightbox/close-5d62e6c90005bfb71f6abb440f9e4753681cb23bbd5e60477ab6f442d2f0e69c.png") url("/assets/lightbox/loading-225aa88b6ab02c06222ec9468d62e15fa188e39cdb9431d1f55401ad380753ed.gif") url("/assets/lightbox/prev-7fd9273f20fdb1229c224341271a119020a5eee74ccf6b4605730917c864caf2.png") url("/assets/lightbox/next-15b869b02c6fbaa8c6c26445a2dd2d9bad80fd27b1409f8179e5dd89dc89d90a.png");
  display: none;
}

/* line 8, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
body.lb-disable-scrolling {
  overflow: hidden;
}

/* line 12, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lightboxOverlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: black;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
  display: none;
}

/* line 23, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lightbox {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 10000;
  text-align: center;
  line-height: 0;
  font-weight: normal;
}

/* line 33, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lightbox .lb-image {
  display: block;
  height: auto;
  max-width: inherit;
  border-radius: 3px;
}

/* line 40, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lightbox a img {
  border: none;
}

/* line 44, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lb-outerContainer {
  position: relative;
  background-color: white;
  *zoom: 1;
  width: 250px;
  height: 250px;
  margin: 0 auto;
  border-radius: 4px;
}

/* line 54, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lb-outerContainer:after {
  content: "";
  display: table;
  clear: both;
}

/* line 60, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lb-container {
  padding: 4px;
}

/* line 64, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lb-loader {
  position: absolute;
  top: 43%;
  left: 0;
  height: 25%;
  width: 100%;
  text-align: center;
  line-height: 0;
}

/* line 74, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lb-cancel {
  display: block;
  width: 32px;
  height: 32px;
  margin: 0 auto;
  background: url("/assets/lightbox/loading-225aa88b6ab02c06222ec9468d62e15fa188e39cdb9431d1f55401ad380753ed.gif") no-repeat;
}

/* line 82, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lb-nav {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10;
}

/* line 91, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lb-container > .nav {
  left: 0;
}

/* line 95, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lb-nav a {
  outline: none;
  background-image: url("data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==");
}

/* line 100, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lb-prev, .lb-next {
  height: 100%;
  cursor: pointer;
  display: block;
}

/* line 106, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lb-nav a.lb-prev {
  width: 34%;
  left: 0;
  float: left;
  background: url("/assets/lightbox/prev-7fd9273f20fdb1229c224341271a119020a5eee74ccf6b4605730917c864caf2.png") left 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: opacity 0.6s;
}

/* line 119, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lb-nav a.lb-prev:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}

/* line 124, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lb-nav a.lb-next {
  width: 64%;
  right: 0;
  float: right;
  background: url("/assets/lightbox/next-15b869b02c6fbaa8c6c26445a2dd2d9bad80fd27b1409f8179e5dd89dc89d90a.png") right 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: opacity 0.6s;
}

/* line 137, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lb-nav a.lb-next:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}

/* line 142, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lb-dataContainer {
  margin: 0 auto;
  padding-top: 5px;
  *zoom: 1;
  width: 100%;
  -moz-border-radius-bottomleft: 4px;
  -webkit-border-bottom-left-radius: 4px;
  border-bottom-left-radius: 4px;
  -moz-border-radius-bottomright: 4px;
  -webkit-border-bottom-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

/* line 155, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lb-dataContainer:after {
  content: "";
  display: table;
  clear: both;
}

/* line 161, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lb-data {
  padding: 0 4px;
  color: #ccc;
}

/* line 166, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lb-data .lb-details {
  width: 85%;
  float: left;
  text-align: left;
  line-height: 1.1em;
}

/* line 173, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lb-data .lb-caption {
  font-size: 13px;
  font-weight: bold;
  line-height: 1em;
}

/* line 179, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lb-data .lb-number {
  display: block;
  clear: left;
  padding-bottom: 1em;
  font-size: 12px;
  color: #999999;
}

/* line 187, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lb-data .lb-close {
  display: block;
  float: right;
  width: 30px;
  height: 30px;
  background: url("/assets/lightbox/close-5d62e6c90005bfb71f6abb440f9e4753681cb23bbd5e60477ab6f442d2f0e69c.png") top right no-repeat;
  text-align: right;
  outline: none;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

/* line 203, ../usr/local/bundle/gems/lightbox2-rails-2.8.2.1/vendor/assets/stylesheets/lightbox.scss */
.lb-data .lb-close:hover {
  cursor: pointer;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}
.flatpickr-calendar {
  background: transparent;
  opacity: 0;
  display: none;
  text-align: center;
  visibility: hidden;
  padding: 0;
  -webkit-animation: none;
          animation: none;
  direction: ltr;
  border: 0;
  font-size: 14px;
  line-height: 24px;
  border-radius: 5px;
  position: absolute;
  width: 307.875px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  background: #fff;
  -webkit-box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0,0,0,0.08);
          box-shadow: 1px 0 0 #e6e6e6, -1px 0 0 #e6e6e6, 0 1px 0 #e6e6e6, 0 -1px 0 #e6e6e6, 0 3px 13px rgba(0,0,0,0.08);
}
.flatpickr-calendar.open,
.flatpickr-calendar.inline {
  opacity: 1;
  max-height: 640px;
  visibility: visible;
}
.flatpickr-calendar.open {
  display: inline-block;
  z-index: 99999;
}
.flatpickr-calendar.animate.open {
  -webkit-animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
          animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
}
.flatpickr-calendar.inline {
  display: block;
  position: relative;
  top: 2px;
}
.flatpickr-calendar.static {
  position: absolute;
  top: calc(100% + 2px);
}
.flatpickr-calendar.static.open {
  z-index: 999;
  display: block;
}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1) {
  -webkit-box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
          box-shadow: -2px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}
.flatpickr-calendar .hasWeeks .dayContainer,
.flatpickr-calendar .hasTime .dayContainer {
  border-bottom: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.flatpickr-calendar .hasWeeks .dayContainer {
  border-left: 0;
}
.flatpickr-calendar.hasTime .flatpickr-time {
  height: 40px;
  border-top: 1px solid #e6e6e6;
}
.flatpickr-calendar.noCalendar.hasTime .flatpickr-time {
  height: auto;
}
.flatpickr-calendar:before,
.flatpickr-calendar:after {
  position: absolute;
  display: block;
  pointer-events: none;
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  left: 22px;
}
.flatpickr-calendar.rightMost:before,
.flatpickr-calendar.arrowRight:before,
.flatpickr-calendar.rightMost:after,
.flatpickr-calendar.arrowRight:after {
  left: auto;
  right: 22px;
}
.flatpickr-calendar.arrowCenter:before,
.flatpickr-calendar.arrowCenter:after {
  left: 50%;
  right: 50%;
}
.flatpickr-calendar:before {
  border-width: 5px;
  margin: 0 -5px;
}
.flatpickr-calendar:after {
  border-width: 4px;
  margin: 0 -4px;
}
.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after {
  bottom: 100%;
}
.flatpickr-calendar.arrowTop:before {
  border-bottom-color: #e6e6e6;
}
.flatpickr-calendar.arrowTop:after {
  border-bottom-color: #fff;
}
.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after {
  top: 100%;
}
.flatpickr-calendar.arrowBottom:before {
  border-top-color: #e6e6e6;
}
.flatpickr-calendar.arrowBottom:after {
  border-top-color: #fff;
}
.flatpickr-calendar:focus {
  outline: 0;
}
.flatpickr-wrapper {
  position: relative;
  display: inline-block;
}
.flatpickr-months {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.flatpickr-months .flatpickr-month {
  background: transparent;
  color: rgba(0,0,0,0.9);
  fill: rgba(0,0,0,0.9);
  height: 34px;
  line-height: 1;
  text-align: center;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  overflow: hidden;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  text-decoration: none;
  cursor: pointer;
  position: absolute;
  top: 0;
  height: 34px;
  padding: 10px;
  z-index: 3;
  color: rgba(0,0,0,0.9);
  fill: rgba(0,0,0,0.9);
}
.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,
.flatpickr-months .flatpickr-next-month.flatpickr-disabled {
  display: none;
}
.flatpickr-months .flatpickr-prev-month i,
.flatpickr-months .flatpickr-next-month i {
  position: relative;
}
.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month.flatpickr-prev-month {
/*
      /*rtl:begin:ignore*/
/*
      */
  left: 0;
/*
      /*rtl:end:ignore*/
/*
      */
}
/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,
.flatpickr-months .flatpickr-next-month.flatpickr-next-month {
/*
      /*rtl:begin:ignore*/
/*
      */
  right: 0;
/*
      /*rtl:end:ignore*/
/*
      */
}
/*
      /*rtl:begin:ignore*/
/*
      /*rtl:end:ignore*/
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
  color: #959ea9;
}
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg {
  fill: #f64747;
}
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
  width: 14px;
  height: 14px;
}
.flatpickr-months .flatpickr-prev-month svg path,
.flatpickr-months .flatpickr-next-month svg path {
  -webkit-transition: fill 0.1s;
  transition: fill 0.1s;
  fill: inherit;
}
.numInputWrapper {
  position: relative;
  height: auto;
}
.numInputWrapper input,
.numInputWrapper span {
  display: inline-block;
}
.numInputWrapper input {
  width: 100%;
}
.numInputWrapper input::-ms-clear {
  display: none;
}
.numInputWrapper input::-webkit-outer-spin-button,
.numInputWrapper input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}
.numInputWrapper span {
  position: absolute;
  right: 0;
  width: 14px;
  padding: 0 4px 0 2px;
  height: 50%;
  line-height: 50%;
  opacity: 0;
  cursor: pointer;
  border: 1px solid rgba(57,57,57,0.15);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.numInputWrapper span:hover {
  background: rgba(0,0,0,0.1);
}
.numInputWrapper span:active {
  background: rgba(0,0,0,0.2);
}
.numInputWrapper span:after {
  display: block;
  content: "";
  position: absolute;
}
.numInputWrapper span.arrowUp {
  top: 0;
  border-bottom: 0;
}
.numInputWrapper span.arrowUp:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid rgba(57,57,57,0.6);
  top: 26%;
}
.numInputWrapper span.arrowDown {
  top: 50%;
}
.numInputWrapper span.arrowDown:after {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(57,57,57,0.6);
  top: 40%;
}
.numInputWrapper span svg {
  width: inherit;
  height: auto;
}
.numInputWrapper span svg path {
  fill: rgba(0,0,0,0.5);
}
.numInputWrapper:hover {
  background: rgba(0,0,0,0.05);
}
.numInputWrapper:hover span {
  opacity: 1;
}
.flatpickr-current-month {
  font-size: 135%;
  line-height: inherit;
  font-weight: 300;
  color: inherit;
  position: absolute;
  width: 75%;
  left: 12.5%;
  padding: 7.48px 0 0 0;
  line-height: 1;
  height: 34px;
  display: inline-block;
  text-align: center;
  -webkit-transform: translate3d(0px, 0px, 0px);
          transform: translate3d(0px, 0px, 0px);
}
.flatpickr-current-month span.cur-month {
  font-family: inherit;
  font-weight: 700;
  color: inherit;
  display: inline-block;
  margin-left: 0.5ch;
  padding: 0;
}
.flatpickr-current-month span.cur-month:hover {
  background: rgba(0,0,0,0.05);
}
.flatpickr-current-month .numInputWrapper {
  width: 6ch;
  width: 7ch\0;
  display: inline-block;
}
.flatpickr-current-month .numInputWrapper span.arrowUp:after {
  border-bottom-color: rgba(0,0,0,0.9);
}
.flatpickr-current-month .numInputWrapper span.arrowDown:after {
  border-top-color: rgba(0,0,0,0.9);
}
.flatpickr-current-month input.cur-year {
  background: transparent;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: inherit;
  cursor: text;
  padding: 0 0 0 0.5ch;
  margin: 0;
  display: inline-block;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  line-height: inherit;
  height: auto;
  border: 0;
  border-radius: 0;
  vertical-align: initial;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}
.flatpickr-current-month input.cur-year:focus {
  outline: 0;
}
.flatpickr-current-month input.cur-year[disabled],
.flatpickr-current-month input.cur-year[disabled]:hover {
  font-size: 100%;
  color: rgba(0,0,0,0.5);
  background: transparent;
  pointer-events: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
  appearance: menulist;
  background: transparent;
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  font-family: inherit;
  font-weight: 300;
  height: auto;
  line-height: inherit;
  margin: -1px 0 0 0;
  outline: none;
  padding: 0 0 0 0.5ch;
  position: relative;
  vertical-align: initial;
  -webkit-box-sizing: border-box;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  width: auto;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:focus,
.flatpickr-current-month .flatpickr-monthDropdown-months:active {
  outline: none;
}
.flatpickr-current-month .flatpickr-monthDropdown-months:hover {
  background: rgba(0,0,0,0.05);
}
.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month {
  background-color: transparent;
  outline: none;
  padding: 0;
}
.flatpickr-weekdays {
  background: transparent;
  text-align: center;
  overflow: hidden;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 28px;
}
.flatpickr-weekdays .flatpickr-weekdaycontainer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
span.flatpickr-weekday {
  cursor: default;
  font-size: 90%;
  background: transparent;
  color: rgba(0,0,0,0.54);
  line-height: 1;
  margin: 0;
  text-align: center;
  display: block;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-weight: bolder;
}
.dayContainer,
.flatpickr-weeks {
  padding: 1px 0 0 0;
}
.flatpickr-days {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 307.875px;
}
.flatpickr-days:focus {
  outline: 0;
}
.dayContainer {
  padding: 0;
  outline: 0;
  text-align: left;
  width: 307.875px;
  min-width: 307.875px;
  max-width: 307.875px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
          flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-around;
          justify-content: space-around;
  -webkit-transform: translate3d(0px, 0px, 0px);
          transform: translate3d(0px, 0px, 0px);
  opacity: 1;
}
.dayContainer + .dayContainer {
  -webkit-box-shadow: -1px 0 0 #e6e6e6;
          box-shadow: -1px 0 0 #e6e6e6;
}
.flatpickr-day {
  background: none;
  border: 1px solid transparent;
  border-radius: 150px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #393939;
  cursor: pointer;
  font-weight: 400;
  width: 14.2857143%;
  -webkit-flex-basis: 14.2857143%;
      -ms-flex-preferred-size: 14.2857143%;
          flex-basis: 14.2857143%;
  max-width: 39px;
  height: 39px;
  line-height: 39px;
  margin: 0;
  display: inline-block;
  position: relative;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.flatpickr-day.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange,
.flatpickr-day:hover,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:focus,
.flatpickr-day.nextMonthDay:focus {
  cursor: pointer;
  outline: 0;
  background: #e6e6e6;
  border-color: #e6e6e6;
}
.flatpickr-day.today {
  border-color: #959ea9;
}
.flatpickr-day.today:hover,
.flatpickr-day.today:focus {
  border-color: #959ea9;
  background: #959ea9;
  color: #fff;
}
.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected.inRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.startRange:focus,
.flatpickr-day.endRange:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange:hover,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.endRange.nextMonthDay {
  background: #569ff7;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #fff;
  border-color: #569ff7;
}
.flatpickr-day.selected.startRange,
.flatpickr-day.startRange.startRange,
.flatpickr-day.endRange.startRange {
  border-radius: 50px 0 0 50px;
}
.flatpickr-day.selected.endRange,
.flatpickr-day.startRange.endRange,
.flatpickr-day.endRange.endRange {
  border-radius: 0 50px 50px 0;
}
.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)),
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
  -webkit-box-shadow: -10px 0 0 #569ff7;
          box-shadow: -10px 0 0 #569ff7;
}
.flatpickr-day.selected.startRange.endRange,
.flatpickr-day.startRange.startRange.endRange,
.flatpickr-day.endRange.startRange.endRange {
  border-radius: 50px;
}
.flatpickr-day.inRange {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
          box-shadow: -5px 0 0 #e6e6e6, 5px 0 0 #e6e6e6;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
  color: rgba(57,57,57,0.3);
  background: transparent;
  border-color: transparent;
  cursor: default;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
  cursor: not-allowed;
  color: rgba(57,57,57,0.1);
}
.flatpickr-day.week.selected {
  border-radius: 0;
  -webkit-box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
          box-shadow: -5px 0 0 #569ff7, 5px 0 0 #569ff7;
}
.flatpickr-day.hidden {
  visibility: hidden;
}
.rangeMode .flatpickr-day {
  margin-top: 1px;
}
.flatpickr-weekwrapper {
  float: left;
}
.flatpickr-weekwrapper .flatpickr-weeks {
  padding: 0 12px;
  -webkit-box-shadow: 1px 0 0 #e6e6e6;
          box-shadow: 1px 0 0 #e6e6e6;
}
.flatpickr-weekwrapper .flatpickr-weekday {
  float: none;
  width: 100%;
  line-height: 28px;
}
.flatpickr-weekwrapper span.flatpickr-day,
.flatpickr-weekwrapper span.flatpickr-day:hover {
  display: block;
  width: 100%;
  max-width: none;
  color: rgba(57,57,57,0.3);
  background: transparent;
  cursor: default;
  border: none;
}
.flatpickr-innerContainer {
  display: block;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
}
.flatpickr-rContainer {
  display: inline-block;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.flatpickr-time {
  text-align: center;
  outline: 0;
  display: block;
  height: 0;
  line-height: 40px;
  max-height: 40px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.flatpickr-time:after {
  content: "";
  display: table;
  clear: both;
}
.flatpickr-time .numInputWrapper {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 40%;
  height: 40px;
  float: left;
}
.flatpickr-time .numInputWrapper span.arrowUp:after {
  border-bottom-color: #393939;
}
.flatpickr-time .numInputWrapper span.arrowDown:after {
  border-top-color: #393939;
}
.flatpickr-time.hasSeconds .numInputWrapper {
  width: 26%;
}
.flatpickr-time.time24hr .numInputWrapper {
  width: 49%;
}
.flatpickr-time input {
  background: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 0;
  border-radius: 0;
  text-align: center;
  margin: 0;
  padding: 0;
  height: inherit;
  line-height: inherit;
  color: #393939;
  font-size: 14px;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
}
.flatpickr-time input.flatpickr-hour {
  font-weight: bold;
}
.flatpickr-time input.flatpickr-minute,
.flatpickr-time input.flatpickr-second {
  font-weight: 400;
}
.flatpickr-time input:focus {
  outline: 0;
  border: 0;
}
.flatpickr-time .flatpickr-time-separator,
.flatpickr-time .flatpickr-am-pm {
  height: inherit;
  float: left;
  line-height: inherit;
  color: #393939;
  font-weight: bold;
  width: 2%;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
}
.flatpickr-time .flatpickr-am-pm {
  outline: 0;
  width: 18%;
  cursor: pointer;
  text-align: center;
  font-weight: 400;
}
.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover,
.flatpickr-time input:focus,
.flatpickr-time .flatpickr-am-pm:focus {
  background: #eee;
}
.flatpickr-input[readonly] {
  cursor: pointer;
}
@-webkit-keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes fpFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -20px, 0);
            transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
