@font-face{font-display:block;font-family:bootstrap-icons;src:url(/assets/bootstrap-icons-mSm7cUeB.woff2?e34853135f9e39acf64315236852cd5a) format("woff2"),url(/assets/bootstrap-icons-BeopsB42.woff?e34853135f9e39acf64315236852cd5a) format("woff")}.bi:before,[class^=bi-]:before,[class*=" bi-"]:before{display:inline-block;font-family:bootstrap-icons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.bi-123:before{content:""}.bi-alarm-fill:before{content:""}.bi-alarm:before{content:""}.bi-align-bottom:before{content:""}.bi-align-center:before{content:""}.bi-align-end:before{content:""}.bi-align-middle:before{content:""}.bi-align-start:before{content:""}.bi-align-top:before{content:""}.bi-alt:before{content:""}.bi-app-indicator:before{content:""}.bi-app:before{content:""}.bi-archive-fill:before{content:""}.bi-archive:before{content:""}.bi-arrow-90deg-down:before{content:""}.bi-arrow-90deg-left:before{content:""}.bi-arrow-90deg-right:before{content:""}.bi-arrow-90deg-up:before{content:""}.bi-arrow-bar-down:before{content:""}.bi-arrow-bar-left:before{content:""}.bi-arrow-bar-right:before{content:""}.bi-arrow-bar-up:before{content:""}.bi-arrow-clockwise:before{content:""}.bi-arrow-counterclockwise:before{content:""}.bi-arrow-down-circle-fill:before{content:""}.bi-arrow-down-circle:before{content:""}.bi-arrow-down-left-circle-fill:before{content:""}.bi-arrow-down-left-circle:before{content:""}.bi-arrow-down-left-square-fill:before{content:""}.bi-arrow-down-left-square:before{content:""}.bi-arrow-down-left:before{content:""}.bi-arrow-down-right-circle-fill:before{content:""}.bi-arrow-down-right-circle:before{content:""}.bi-arrow-down-right-square-fill:before{content:""}.bi-arrow-down-right-square:before{content:""}.bi-arrow-down-right:before{content:""}.bi-arrow-down-short:before{content:""}.bi-arrow-down-square-fill:before{content:""}.bi-arrow-down-square:before{content:""}.bi-arrow-down-up:before{content:""}.bi-arrow-down:before{content:""}.bi-arrow-left-circle-fill:before{content:""}.bi-arrow-left-circle:before{content:""}.bi-arrow-left-right:before{content:""}.bi-arrow-left-short:before{content:""}.bi-arrow-left-square-fill:before{content:""}.bi-arrow-left-square:before{content:""}.bi-arrow-left:before{content:""}.bi-arrow-repeat:before{content:""}.bi-arrow-return-left:before{content:""}.bi-arrow-return-right:before{content:""}.bi-arrow-right-circle-fill:before{content:""}.bi-arrow-right-circle:before{content:""}.bi-arrow-right-short:before{content:""}.bi-arrow-right-square-fill:before{content:""}.bi-arrow-right-square:before{content:""}.bi-arrow-right:before{content:""}.bi-arrow-up-circle-fill:before{content:""}.bi-arrow-up-circle:before{content:""}.bi-arrow-up-left-circle-fill:before{content:""}.bi-arrow-up-left-circle:before{content:""}.bi-arrow-up-left-square-fill:before{content:""}.bi-arrow-up-left-square:before{content:""}.bi-arrow-up-left:before{content:""}.bi-arrow-up-right-circle-fill:before{content:""}.bi-arrow-up-right-circle:before{content:""}.bi-arrow-up-right-square-fill:before{content:""}.bi-arrow-up-right-square:before{content:""}.bi-arrow-up-right:before{content:""}.bi-arrow-up-short:before{content:""}.bi-arrow-up-square-fill:before{content:""}.bi-arrow-up-square:before{content:""}.bi-arrow-up:before{content:""}.bi-arrows-angle-contract:before{content:""}.bi-arrows-angle-expand:before{content:""}.bi-arrows-collapse:before{content:""}.bi-arrows-expand:before{content:""}.bi-arrows-fullscreen:before{content:""}.bi-arrows-move:before{content:""}.bi-aspect-ratio-fill:before{content:""}.bi-aspect-ratio:before{content:""}.bi-asterisk:before{content:""}.bi-at:before{content:""}.bi-award-fill:before{content:""}.bi-award:before{content:""}.bi-back:before{content:""}.bi-backspace-fill:before{content:""}.bi-backspace-reverse-fill:before{content:""}.bi-backspace-reverse:before{content:""}.bi-backspace:before{content:""}.bi-badge-3d-fill:before{content:""}.bi-badge-3d:before{content:""}.bi-badge-4k-fill:before{content:""}.bi-badge-4k:before{content:""}.bi-badge-8k-fill:before{content:""}.bi-badge-8k:before{content:""}.bi-badge-ad-fill:before{content:""}.bi-badge-ad:before{content:""}.bi-badge-ar-fill:before{content:""}.bi-badge-ar:before{content:""}.bi-badge-cc-fill:before{content:""}.bi-badge-cc:before{content:""}.bi-badge-hd-fill:before{content:""}.bi-badge-hd:before{content:""}.bi-badge-tm-fill:before{content:""}.bi-badge-tm:before{content:""}.bi-badge-vo-fill:before{content:""}.bi-badge-vo:before{content:""}.bi-badge-vr-fill:before{content:""}.bi-badge-vr:before{content:""}.bi-badge-wc-fill:before{content:""}.bi-badge-wc:before{content:""}.bi-bag-check-fill:before{content:""}.bi-bag-check:before{content:""}.bi-bag-dash-fill:before{content:""}.bi-bag-dash:before{content:""}.bi-bag-fill:before{content:""}.bi-bag-plus-fill:before{content:""}.bi-bag-plus:before{content:""}.bi-bag-x-fill:before{content:""}.bi-bag-x:before{content:""}.bi-bag:before{content:""}.bi-bar-chart-fill:before{content:""}.bi-bar-chart-line-fill:before{content:""}.bi-bar-chart-line:before{content:""}.bi-bar-chart-steps:before{content:""}.bi-bar-chart:before{content:""}.bi-basket-fill:before{content:""}.bi-basket:before{content:""}.bi-basket2-fill:before{content:""}.bi-basket2:before{content:""}.bi-basket3-fill:before{content:""}.bi-basket3:before{content:""}.bi-battery-charging:before{content:""}.bi-battery-full:before{content:""}.bi-battery-half:before{content:""}.bi-battery:before{content:""}.bi-bell-fill:before{content:""}.bi-bell:before{content:""}.bi-bezier:before{content:""}.bi-bezier2:before{content:""}.bi-bicycle:before{content:""}.bi-binoculars-fill:before{content:""}.bi-binoculars:before{content:""}.bi-blockquote-left:before{content:""}.bi-blockquote-right:before{content:""}.bi-book-fill:before{content:""}.bi-book-half:before{content:""}.bi-book:before{content:""}.bi-bookmark-check-fill:before{content:""}.bi-bookmark-check:before{content:""}.bi-bookmark-dash-fill:before{content:""}.bi-bookmark-dash:before{content:""}.bi-bookmark-fill:before{content:""}.bi-bookmark-heart-fill:before{content:""}.bi-bookmark-heart:before{content:""}.bi-bookmark-plus-fill:before{content:""}.bi-bookmark-plus:before{content:""}.bi-bookmark-star-fill:before{content:""}.bi-bookmark-star:before{content:""}.bi-bookmark-x-fill:before{content:""}.bi-bookmark-x:before{content:""}.bi-bookmark:before{content:""}.bi-bookmarks-fill:before{content:""}.bi-bookmarks:before{content:""}.bi-bookshelf:before{content:""}.bi-bootstrap-fill:before{content:""}.bi-bootstrap-reboot:before{content:""}.bi-bootstrap:before{content:""}.bi-border-all:before{content:""}.bi-border-bottom:before{content:""}.bi-border-center:before{content:""}.bi-border-inner:before{content:""}.bi-border-left:before{content:""}.bi-border-middle:before{content:""}.bi-border-outer:before{content:""}.bi-border-right:before{content:""}.bi-border-style:before{content:""}.bi-border-top:before{content:""}.bi-border-width:before{content:""}.bi-border:before{content:""}.bi-bounding-box-circles:before{content:""}.bi-bounding-box:before{content:""}.bi-box-arrow-down-left:before{content:""}.bi-box-arrow-down-right:before{content:""}.bi-box-arrow-down:before{content:""}.bi-box-arrow-in-down-left:before{content:""}.bi-box-arrow-in-down-right:before{content:""}.bi-box-arrow-in-down:before{content:""}.bi-box-arrow-in-left:before{content:""}.bi-box-arrow-in-right:before{content:""}.bi-box-arrow-in-up-left:before{content:""}.bi-box-arrow-in-up-right:before{content:""}.bi-box-arrow-in-up:before{content:""}.bi-box-arrow-left:before{content:""}.bi-box-arrow-right:before{content:""}.bi-box-arrow-up-left:before{content:""}.bi-box-arrow-up-right:before{content:""}.bi-box-arrow-up:before{content:""}.bi-box-seam:before{content:""}.bi-box:before{content:""}.bi-braces:before{content:""}.bi-bricks:before{content:""}.bi-briefcase-fill:before{content:""}.bi-briefcase:before{content:""}.bi-brightness-alt-high-fill:before{content:""}.bi-brightness-alt-high:before{content:""}.bi-brightness-alt-low-fill:before{content:""}.bi-brightness-alt-low:before{content:""}.bi-brightness-high-fill:before{content:""}.bi-brightness-high:before{content:""}.bi-brightness-low-fill:before{content:""}.bi-brightness-low:before{content:""}.bi-broadcast-pin:before{content:""}.bi-broadcast:before{content:""}.bi-brush-fill:before{content:""}.bi-brush:before{content:""}.bi-bucket-fill:before{content:""}.bi-bucket:before{content:""}.bi-bug-fill:before{content:""}.bi-bug:before{content:""}.bi-building:before{content:""}.bi-bullseye:before{content:""}.bi-calculator-fill:before{content:""}.bi-calculator:before{content:""}.bi-calendar-check-fill:before{content:""}.bi-calendar-check:before{content:""}.bi-calendar-date-fill:before{content:""}.bi-calendar-date:before{content:""}.bi-calendar-day-fill:before{content:""}.bi-calendar-day:before{content:""}.bi-calendar-event-fill:before{content:""}.bi-calendar-event:before{content:""}.bi-calendar-fill:before{content:""}.bi-calendar-minus-fill:before{content:""}.bi-calendar-minus:before{content:""}.bi-calendar-month-fill:before{content:""}.bi-calendar-month:before{content:""}.bi-calendar-plus-fill:before{content:""}.bi-calendar-plus:before{content:""}.bi-calendar-range-fill:before{content:""}.bi-calendar-range:before{content:""}.bi-calendar-week-fill:before{content:""}.bi-calendar-week:before{content:""}.bi-calendar-x-fill:before{content:""}.bi-calendar-x:before{content:""}.bi-calendar:before{content:""}.bi-calendar2-check-fill:before{content:""}.bi-calendar2-check:before{content:""}.bi-calendar2-date-fill:before{content:""}.bi-calendar2-date:before{content:""}.bi-calendar2-day-fill:before{content:""}.bi-calendar2-day:before{content:""}.bi-calendar2-event-fill:before{content:""}.bi-calendar2-event:before{content:""}.bi-calendar2-fill:before{content:""}.bi-calendar2-minus-fill:before{content:""}.bi-calendar2-minus:before{content:""}.bi-calendar2-month-fill:before{content:""}.bi-calendar2-month:before{content:""}.bi-calendar2-plus-fill:before{content:""}.bi-calendar2-plus:before{content:""}.bi-calendar2-range-fill:before{content:""}.bi-calendar2-range:before{content:""}.bi-calendar2-week-fill:before{content:""}.bi-calendar2-week:before{content:""}.bi-calendar2-x-fill:before{content:""}.bi-calendar2-x:before{content:""}.bi-calendar2:before{content:""}.bi-calendar3-event-fill:before{content:""}.bi-calendar3-event:before{content:""}.bi-calendar3-fill:before{content:""}.bi-calendar3-range-fill:before{content:""}.bi-calendar3-range:before{content:""}.bi-calendar3-week-fill:before{content:""}.bi-calendar3-week:before{content:""}.bi-calendar3:before{content:""}.bi-calendar4-event:before{content:""}.bi-calendar4-range:before{content:""}.bi-calendar4-week:before{content:""}.bi-calendar4:before{content:""}.bi-camera-fill:before{content:""}.bi-camera-reels-fill:before{content:""}.bi-camera-reels:before{content:""}.bi-camera-video-fill:before{content:""}.bi-camera-video-off-fill:before{content:""}.bi-camera-video-off:before{content:""}.bi-camera-video:before{content:""}.bi-camera:before{content:""}.bi-camera2:before{content:""}.bi-capslock-fill:before{content:""}.bi-capslock:before{content:""}.bi-card-checklist:before{content:""}.bi-card-heading:before{content:""}.bi-card-image:before{content:""}.bi-card-list:before{content:""}.bi-card-text:before{content:""}.bi-caret-down-fill:before{content:""}.bi-caret-down-square-fill:before{content:""}.bi-caret-down-square:before{content:""}.bi-caret-down:before{content:""}.bi-caret-left-fill:before{content:""}.bi-caret-left-square-fill:before{content:""}.bi-caret-left-square:before{content:""}.bi-caret-left:before{content:""}.bi-caret-right-fill:before{content:""}.bi-caret-right-square-fill:before{content:""}.bi-caret-right-square:before{content:""}.bi-caret-right:before{content:""}.bi-caret-up-fill:before{content:""}.bi-caret-up-square-fill:before{content:""}.bi-caret-up-square:before{content:""}.bi-caret-up:before{content:""}.bi-cart-check-fill:before{content:""}.bi-cart-check:before{content:""}.bi-cart-dash-fill:before{content:""}.bi-cart-dash:before{content:""}.bi-cart-fill:before{content:""}.bi-cart-plus-fill:before{content:""}.bi-cart-plus:before{content:""}.bi-cart-x-fill:before{content:""}.bi-cart-x:before{content:""}.bi-cart:before{content:""}.bi-cart2:before{content:""}.bi-cart3:before{content:""}.bi-cart4:before{content:""}.bi-cash-stack:before{content:""}.bi-cash:before{content:""}.bi-cast:before{content:""}.bi-chat-dots-fill:before{content:""}.bi-chat-dots:before{content:""}.bi-chat-fill:before{content:""}.bi-chat-left-dots-fill:before{content:""}.bi-chat-left-dots:before{content:""}.bi-chat-left-fill:before{content:""}.bi-chat-left-quote-fill:before{content:""}.bi-chat-left-quote:before{content:""}.bi-chat-left-text-fill:before{content:""}.bi-chat-left-text:before{content:""}.bi-chat-left:before{content:""}.bi-chat-quote-fill:before{content:""}.bi-chat-quote:before{content:""}.bi-chat-right-dots-fill:before{content:""}.bi-chat-right-dots:before{content:""}.bi-chat-right-fill:before{content:""}.bi-chat-right-quote-fill:before{content:""}.bi-chat-right-quote:before{content:""}.bi-chat-right-text-fill:before{content:""}.bi-chat-right-text:before{content:""}.bi-chat-right:before{content:""}.bi-chat-square-dots-fill:before{content:""}.bi-chat-square-dots:before{content:""}.bi-chat-square-fill:before{content:""}.bi-chat-square-quote-fill:before{content:""}.bi-chat-square-quote:before{content:""}.bi-chat-square-text-fill:before{content:""}.bi-chat-square-text:before{content:""}.bi-chat-square:before{content:""}.bi-chat-text-fill:before{content:""}.bi-chat-text:before{content:""}.bi-chat:before{content:""}.bi-check-all:before{content:""}.bi-check-circle-fill:before{content:""}.bi-check-circle:before{content:""}.bi-check-square-fill:before{content:""}.bi-check-square:before{content:""}.bi-check:before{content:""}.bi-check2-all:before{content:""}.bi-check2-circle:before{content:""}.bi-check2-square:before{content:""}.bi-check2:before{content:""}.bi-chevron-bar-contract:before{content:""}.bi-chevron-bar-down:before{content:""}.bi-chevron-bar-expand:before{content:""}.bi-chevron-bar-left:before{content:""}.bi-chevron-bar-right:before{content:""}.bi-chevron-bar-up:before{content:""}.bi-chevron-compact-down:before{content:""}.bi-chevron-compact-left:before{content:""}.bi-chevron-compact-right:before{content:""}.bi-chevron-compact-up:before{content:""}.bi-chevron-contract:before{content:""}.bi-chevron-double-down:before{content:""}.bi-chevron-double-left:before{content:""}.bi-chevron-double-right:before{content:""}.bi-chevron-double-up:before{content:""}.bi-chevron-down:before{content:""}.bi-chevron-expand:before{content:""}.bi-chevron-left:before{content:""}.bi-chevron-right:before{content:""}.bi-chevron-up:before{content:""}.bi-circle-fill:before{content:""}.bi-circle-half:before{content:""}.bi-circle-square:before{content:""}.bi-circle:before{content:""}.bi-clipboard-check:before{content:""}.bi-clipboard-data:before{content:""}.bi-clipboard-minus:before{content:""}.bi-clipboard-plus:before{content:""}.bi-clipboard-x:before{content:""}.bi-clipboard:before{content:""}.bi-clock-fill:before{content:""}.bi-clock-history:before{content:""}.bi-clock:before{content:""}.bi-cloud-arrow-down-fill:before{content:""}.bi-cloud-arrow-down:before{content:""}.bi-cloud-arrow-up-fill:before{content:""}.bi-cloud-arrow-up:before{content:""}.bi-cloud-check-fill:before{content:""}.bi-cloud-check:before{content:""}.bi-cloud-download-fill:before{content:""}.bi-cloud-download:before{content:""}.bi-cloud-drizzle-fill:before{content:""}.bi-cloud-drizzle:before{content:""}.bi-cloud-fill:before{content:""}.bi-cloud-fog-fill:before{content:""}.bi-cloud-fog:before{content:""}.bi-cloud-fog2-fill:before{content:""}.bi-cloud-fog2:before{content:""}.bi-cloud-hail-fill:before{content:""}.bi-cloud-hail:before{content:""}.bi-cloud-haze-fill:before{content:""}.bi-cloud-haze:before{content:""}.bi-cloud-haze2-fill:before{content:""}.bi-cloud-lightning-fill:before{content:""}.bi-cloud-lightning-rain-fill:before{content:""}.bi-cloud-lightning-rain:before{content:""}.bi-cloud-lightning:before{content:""}.bi-cloud-minus-fill:before{content:""}.bi-cloud-minus:before{content:""}.bi-cloud-moon-fill:before{content:""}.bi-cloud-moon:before{content:""}.bi-cloud-plus-fill:before{content:""}.bi-cloud-plus:before{content:""}.bi-cloud-rain-fill:before{content:""}.bi-cloud-rain-heavy-fill:before{content:""}.bi-cloud-rain-heavy:before{content:""}.bi-cloud-rain:before{content:""}.bi-cloud-slash-fill:before{content:""}.bi-cloud-slash:before{content:""}.bi-cloud-sleet-fill:before{content:""}.bi-cloud-sleet:before{content:""}.bi-cloud-snow-fill:before{content:""}.bi-cloud-snow:before{content:""}.bi-cloud-sun-fill:before{content:""}.bi-cloud-sun:before{content:""}.bi-cloud-upload-fill:before{content:""}.bi-cloud-upload:before{content:""}.bi-cloud:before{content:""}.bi-clouds-fill:before{content:""}.bi-clouds:before{content:""}.bi-cloudy-fill:before{content:""}.bi-cloudy:before{content:""}.bi-code-slash:before{content:""}.bi-code-square:before{content:""}.bi-code:before{content:""}.bi-collection-fill:before{content:""}.bi-collection-play-fill:before{content:""}.bi-collection-play:before{content:""}.bi-collection:before{content:""}.bi-columns-gap:before{content:""}.bi-columns:before{content:""}.bi-command:before{content:""}.bi-compass-fill:before{content:""}.bi-compass:before{content:""}.bi-cone-striped:before{content:""}.bi-cone:before{content:""}.bi-controller:before{content:""}.bi-cpu-fill:before{content:""}.bi-cpu:before{content:""}.bi-credit-card-2-back-fill:before{content:""}.bi-credit-card-2-back:before{content:""}.bi-credit-card-2-front-fill:before{content:""}.bi-credit-card-2-front:before{content:""}.bi-credit-card-fill:before{content:""}.bi-credit-card:before{content:""}.bi-crop:before{content:""}.bi-cup-fill:before{content:""}.bi-cup-straw:before{content:""}.bi-cup:before{content:""}.bi-cursor-fill:before{content:""}.bi-cursor-text:before{content:""}.bi-cursor:before{content:""}.bi-dash-circle-dotted:before{content:""}.bi-dash-circle-fill:before{content:""}.bi-dash-circle:before{content:""}.bi-dash-square-dotted:before{content:""}.bi-dash-square-fill:before{content:""}.bi-dash-square:before{content:""}.bi-dash:before{content:""}.bi-diagram-2-fill:before{content:""}.bi-diagram-2:before{content:""}.bi-diagram-3-fill:before{content:""}.bi-diagram-3:before{content:""}.bi-diamond-fill:before{content:""}.bi-diamond-half:before{content:""}.bi-diamond:before{content:""}.bi-dice-1-fill:before{content:""}.bi-dice-1:before{content:""}.bi-dice-2-fill:before{content:""}.bi-dice-2:before{content:""}.bi-dice-3-fill:before{content:""}.bi-dice-3:before{content:""}.bi-dice-4-fill:before{content:""}.bi-dice-4:before{content:""}.bi-dice-5-fill:before{content:""}.bi-dice-5:before{content:""}.bi-dice-6-fill:before{content:""}.bi-dice-6:before{content:""}.bi-disc-fill:before{content:""}.bi-disc:before{content:""}.bi-discord:before{content:""}.bi-display-fill:before{content:""}.bi-display:before{content:""}.bi-distribute-horizontal:before{content:""}.bi-distribute-vertical:before{content:""}.bi-door-closed-fill:before{content:""}.bi-door-closed:before{content:""}.bi-door-open-fill:before{content:""}.bi-door-open:before{content:""}.bi-dot:before{content:""}.bi-download:before{content:""}.bi-droplet-fill:before{content:""}.bi-droplet-half:before{content:""}.bi-droplet:before{content:""}.bi-earbuds:before{content:""}.bi-easel-fill:before{content:""}.bi-easel:before{content:""}.bi-egg-fill:before{content:""}.bi-egg-fried:before{content:""}.bi-egg:before{content:""}.bi-eject-fill:before{content:""}.bi-eject:before{content:""}.bi-emoji-angry-fill:before{content:""}.bi-emoji-angry:before{content:""}.bi-emoji-dizzy-fill:before{content:""}.bi-emoji-dizzy:before{content:""}.bi-emoji-expressionless-fill:before{content:""}.bi-emoji-expressionless:before{content:""}.bi-emoji-frown-fill:before{content:""}.bi-emoji-frown:before{content:""}.bi-emoji-heart-eyes-fill:before{content:""}.bi-emoji-heart-eyes:before{content:""}.bi-emoji-laughing-fill:before{content:""}.bi-emoji-laughing:before{content:""}.bi-emoji-neutral-fill:before{content:""}.bi-emoji-neutral:before{content:""}.bi-emoji-smile-fill:before{content:""}.bi-emoji-smile-upside-down-fill:before{content:""}.bi-emoji-smile-upside-down:before{content:""}.bi-emoji-smile:before{content:""}.bi-emoji-sunglasses-fill:before{content:""}.bi-emoji-sunglasses:before{content:""}.bi-emoji-wink-fill:before{content:""}.bi-emoji-wink:before{content:""}.bi-envelope-fill:before{content:""}.bi-envelope-open-fill:before{content:""}.bi-envelope-open:before{content:""}.bi-envelope:before{content:""}.bi-eraser-fill:before{content:""}.bi-eraser:before{content:""}.bi-exclamation-circle-fill:before{content:""}.bi-exclamation-circle:before{content:""}.bi-exclamation-diamond-fill:before{content:""}.bi-exclamation-diamond:before{content:""}.bi-exclamation-octagon-fill:before{content:""}.bi-exclamation-octagon:before{content:""}.bi-exclamation-square-fill:before{content:""}.bi-exclamation-square:before{content:""}.bi-exclamation-triangle-fill:before{content:""}.bi-exclamation-triangle:before{content:""}.bi-exclamation:before{content:""}.bi-exclude:before{content:""}.bi-eye-fill:before{content:""}.bi-eye-slash-fill:before{content:""}.bi-eye-slash:before{content:""}.bi-eye:before{content:""}.bi-eyedropper:before{content:""}.bi-eyeglasses:before{content:""}.bi-facebook:before{content:""}.bi-file-arrow-down-fill:before{content:""}.bi-file-arrow-down:before{content:""}.bi-file-arrow-up-fill:before{content:""}.bi-file-arrow-up:before{content:""}.bi-file-bar-graph-fill:before{content:""}.bi-file-bar-graph:before{content:""}.bi-file-binary-fill:before{content:""}.bi-file-binary:before{content:""}.bi-file-break-fill:before{content:""}.bi-file-break:before{content:""}.bi-file-check-fill:before{content:""}.bi-file-check:before{content:""}.bi-file-code-fill:before{content:""}.bi-file-code:before{content:""}.bi-file-diff-fill:before{content:""}.bi-file-diff:before{content:""}.bi-file-earmark-arrow-down-fill:before{content:""}.bi-file-earmark-arrow-down:before{content:""}.bi-file-earmark-arrow-up-fill:before{content:""}.bi-file-earmark-arrow-up:before{content:""}.bi-file-earmark-bar-graph-fill:before{content:""}.bi-file-earmark-bar-graph:before{content:""}.bi-file-earmark-binary-fill:before{content:""}.bi-file-earmark-binary:before{content:""}.bi-file-earmark-break-fill:before{content:""}.bi-file-earmark-break:before{content:""}.bi-file-earmark-check-fill:before{content:""}.bi-file-earmark-check:before{content:""}.bi-file-earmark-code-fill:before{content:""}.bi-file-earmark-code:before{content:""}.bi-file-earmark-diff-fill:before{content:""}.bi-file-earmark-diff:before{content:""}.bi-file-earmark-easel-fill:before{content:""}.bi-file-earmark-easel:before{content:""}.bi-file-earmark-excel-fill:before{content:""}.bi-file-earmark-excel:before{content:""}.bi-file-earmark-fill:before{content:""}.bi-file-earmark-font-fill:before{content:""}.bi-file-earmark-font:before{content:""}.bi-file-earmark-image-fill:before{content:""}.bi-file-earmark-image:before{content:""}.bi-file-earmark-lock-fill:before{content:""}.bi-file-earmark-lock:before{content:""}.bi-file-earmark-lock2-fill:before{content:""}.bi-file-earmark-lock2:before{content:""}.bi-file-earmark-medical-fill:before{content:""}.bi-file-earmark-medical:before{content:""}.bi-file-earmark-minus-fill:before{content:""}.bi-file-earmark-minus:before{content:""}.bi-file-earmark-music-fill:before{content:""}.bi-file-earmark-music:before{content:""}.bi-file-earmark-person-fill:before{content:""}.bi-file-earmark-person:before{content:""}.bi-file-earmark-play-fill:before{content:""}.bi-file-earmark-play:before{content:""}.bi-file-earmark-plus-fill:before{content:""}.bi-file-earmark-plus:before{content:""}.bi-file-earmark-post-fill:before{content:""}.bi-file-earmark-post:before{content:""}.bi-file-earmark-ppt-fill:before{content:""}.bi-file-earmark-ppt:before{content:""}.bi-file-earmark-richtext-fill:before{content:""}.bi-file-earmark-richtext:before{content:""}.bi-file-earmark-ruled-fill:before{content:""}.bi-file-earmark-ruled:before{content:""}.bi-file-earmark-slides-fill:before{content:""}.bi-file-earmark-slides:before{content:""}.bi-file-earmark-spreadsheet-fill:before{content:""}.bi-file-earmark-spreadsheet:before{content:""}.bi-file-earmark-text-fill:before{content:""}.bi-file-earmark-text:before{content:""}.bi-file-earmark-word-fill:before{content:""}.bi-file-earmark-word:before{content:""}.bi-file-earmark-x-fill:before{content:""}.bi-file-earmark-x:before{content:""}.bi-file-earmark-zip-fill:before{content:""}.bi-file-earmark-zip:before{content:""}.bi-file-earmark:before{content:""}.bi-file-easel-fill:before{content:""}.bi-file-easel:before{content:""}.bi-file-excel-fill:before{content:""}.bi-file-excel:before{content:""}.bi-file-fill:before{content:""}.bi-file-font-fill:before{content:""}.bi-file-font:before{content:""}.bi-file-image-fill:before{content:""}.bi-file-image:before{content:""}.bi-file-lock-fill:before{content:""}.bi-file-lock:before{content:""}.bi-file-lock2-fill:before{content:""}.bi-file-lock2:before{content:""}.bi-file-medical-fill:before{content:""}.bi-file-medical:before{content:""}.bi-file-minus-fill:before{content:""}.bi-file-minus:before{content:""}.bi-file-music-fill:before{content:""}.bi-file-music:before{content:""}.bi-file-person-fill:before{content:""}.bi-file-person:before{content:""}.bi-file-play-fill:before{content:""}.bi-file-play:before{content:""}.bi-file-plus-fill:before{content:""}.bi-file-plus:before{content:""}.bi-file-post-fill:before{content:""}.bi-file-post:before{content:""}.bi-file-ppt-fill:before{content:""}.bi-file-ppt:before{content:""}.bi-file-richtext-fill:before{content:""}.bi-file-richtext:before{content:""}.bi-file-ruled-fill:before{content:""}.bi-file-ruled:before{content:""}.bi-file-slides-fill:before{content:""}.bi-file-slides:before{content:""}.bi-file-spreadsheet-fill:before{content:""}.bi-file-spreadsheet:before{content:""}.bi-file-text-fill:before{content:""}.bi-file-text:before{content:""}.bi-file-word-fill:before{content:""}.bi-file-word:before{content:""}.bi-file-x-fill:before{content:""}.bi-file-x:before{content:""}.bi-file-zip-fill:before{content:""}.bi-file-zip:before{content:""}.bi-file:before{content:""}.bi-files-alt:before{content:""}.bi-files:before{content:""}.bi-film:before{content:""}.bi-filter-circle-fill:before{content:""}.bi-filter-circle:before{content:""}.bi-filter-left:before{content:""}.bi-filter-right:before{content:""}.bi-filter-square-fill:before{content:""}.bi-filter-square:before{content:""}.bi-filter:before{content:""}.bi-flag-fill:before{content:""}.bi-flag:before{content:""}.bi-flower1:before{content:""}.bi-flower2:before{content:""}.bi-flower3:before{content:""}.bi-folder-check:before{content:""}.bi-folder-fill:before{content:""}.bi-folder-minus:before{content:""}.bi-folder-plus:before{content:""}.bi-folder-symlink-fill:before{content:""}.bi-folder-symlink:before{content:""}.bi-folder-x:before{content:""}.bi-folder:before{content:""}.bi-folder2-open:before{content:""}.bi-folder2:before{content:""}.bi-fonts:before{content:""}.bi-forward-fill:before{content:""}.bi-forward:before{content:""}.bi-front:before{content:""}.bi-fullscreen-exit:before{content:""}.bi-fullscreen:before{content:""}.bi-funnel-fill:before{content:""}.bi-funnel:before{content:""}.bi-gear-fill:before{content:""}.bi-gear-wide-connected:before{content:""}.bi-gear-wide:before{content:""}.bi-gear:before{content:""}.bi-gem:before{content:""}.bi-geo-alt-fill:before{content:""}.bi-geo-alt:before{content:""}.bi-geo-fill:before{content:""}.bi-geo:before{content:""}.bi-gift-fill:before{content:""}.bi-gift:before{content:""}.bi-github:before{content:""}.bi-globe:before{content:""}.bi-globe2:before{content:""}.bi-google:before{content:""}.bi-graph-down:before{content:""}.bi-graph-up:before{content:""}.bi-grid-1x2-fill:before{content:""}.bi-grid-1x2:before{content:""}.bi-grid-3x2-gap-fill:before{content:""}.bi-grid-3x2-gap:before{content:""}.bi-grid-3x2:before{content:""}.bi-grid-3x3-gap-fill:before{content:""}.bi-grid-3x3-gap:before{content:""}.bi-grid-3x3:before{content:""}.bi-grid-fill:before{content:""}.bi-grid:before{content:""}.bi-grip-horizontal:before{content:""}.bi-grip-vertical:before{content:""}.bi-hammer:before{content:""}.bi-hand-index-fill:before{content:""}.bi-hand-index-thumb-fill:before{content:""}.bi-hand-index-thumb:before{content:""}.bi-hand-index:before{content:""}.bi-hand-thumbs-down-fill:before{content:""}.bi-hand-thumbs-down:before{content:""}.bi-hand-thumbs-up-fill:before{content:""}.bi-hand-thumbs-up:before{content:""}.bi-handbag-fill:before{content:""}.bi-handbag:before{content:""}.bi-hash:before{content:""}.bi-hdd-fill:before{content:""}.bi-hdd-network-fill:before{content:""}.bi-hdd-network:before{content:""}.bi-hdd-rack-fill:before{content:""}.bi-hdd-rack:before{content:""}.bi-hdd-stack-fill:before{content:""}.bi-hdd-stack:before{content:""}.bi-hdd:before{content:""}.bi-headphones:before{content:""}.bi-headset:before{content:""}.bi-heart-fill:before{content:""}.bi-heart-half:before{content:""}.bi-heart:before{content:""}.bi-heptagon-fill:before{content:""}.bi-heptagon-half:before{content:""}.bi-heptagon:before{content:""}.bi-hexagon-fill:before{content:""}.bi-hexagon-half:before{content:""}.bi-hexagon:before{content:""}.bi-hourglass-bottom:before{content:""}.bi-hourglass-split:before{content:""}.bi-hourglass-top:before{content:""}.bi-hourglass:before{content:""}.bi-house-door-fill:before{content:""}.bi-house-door:before{content:""}.bi-house-fill:before{content:""}.bi-house:before{content:""}.bi-hr:before{content:""}.bi-hurricane:before{content:""}.bi-image-alt:before{content:""}.bi-image-fill:before{content:""}.bi-image:before{content:""}.bi-images:before{content:""}.bi-inbox-fill:before{content:""}.bi-inbox:before{content:""}.bi-inboxes-fill:before{content:""}.bi-inboxes:before{content:""}.bi-info-circle-fill:before{content:""}.bi-info-circle:before{content:""}.bi-info-square-fill:before{content:""}.bi-info-square:before{content:""}.bi-info:before{content:""}.bi-input-cursor-text:before{content:""}.bi-input-cursor:before{content:""}.bi-instagram:before{content:""}.bi-intersect:before{content:""}.bi-journal-album:before{content:""}.bi-journal-arrow-down:before{content:""}.bi-journal-arrow-up:before{content:""}.bi-journal-bookmark-fill:before{content:""}.bi-journal-bookmark:before{content:""}.bi-journal-check:before{content:""}.bi-journal-code:before{content:""}.bi-journal-medical:before{content:""}.bi-journal-minus:before{content:""}.bi-journal-plus:before{content:""}.bi-journal-richtext:before{content:""}.bi-journal-text:before{content:""}.bi-journal-x:before{content:""}.bi-journal:before{content:""}.bi-journals:before{content:""}.bi-joystick:before{content:""}.bi-justify-left:before{content:""}.bi-justify-right:before{content:""}.bi-justify:before{content:""}.bi-kanban-fill:before{content:""}.bi-kanban:before{content:""}.bi-key-fill:before{content:""}.bi-key:before{content:""}.bi-keyboard-fill:before{content:""}.bi-keyboard:before{content:""}.bi-ladder:before{content:""}.bi-lamp-fill:before{content:""}.bi-lamp:before{content:""}.bi-laptop-fill:before{content:""}.bi-laptop:before{content:""}.bi-layer-backward:before{content:""}.bi-layer-forward:before{content:""}.bi-layers-fill:before{content:""}.bi-layers-half:before{content:""}.bi-layers:before{content:""}.bi-layout-sidebar-inset-reverse:before{content:""}.bi-layout-sidebar-inset:before{content:""}.bi-layout-sidebar-reverse:before{content:""}.bi-layout-sidebar:before{content:""}.bi-layout-split:before{content:""}.bi-layout-text-sidebar-reverse:before{content:""}.bi-layout-text-sidebar:before{content:""}.bi-layout-text-window-reverse:before{content:""}.bi-layout-text-window:before{content:""}.bi-layout-three-columns:before{content:""}.bi-layout-wtf:before{content:""}.bi-life-preserver:before{content:""}.bi-lightbulb-fill:before{content:""}.bi-lightbulb-off-fill:before{content:""}.bi-lightbulb-off:before{content:""}.bi-lightbulb:before{content:""}.bi-lightning-charge-fill:before{content:""}.bi-lightning-charge:before{content:""}.bi-lightning-fill:before{content:""}.bi-lightning:before{content:""}.bi-link-45deg:before{content:""}.bi-link:before{content:""}.bi-linkedin:before{content:""}.bi-list-check:before{content:""}.bi-list-nested:before{content:""}.bi-list-ol:before{content:""}.bi-list-stars:before{content:""}.bi-list-task:before{content:""}.bi-list-ul:before{content:""}.bi-list:before{content:""}.bi-lock-fill:before{content:""}.bi-lock:before{content:""}.bi-mailbox:before{content:""}.bi-mailbox2:before{content:""}.bi-map-fill:before{content:""}.bi-map:before{content:""}.bi-markdown-fill:before{content:""}.bi-markdown:before{content:""}.bi-mask:before{content:""}.bi-megaphone-fill:before{content:""}.bi-megaphone:before{content:""}.bi-menu-app-fill:before{content:""}.bi-menu-app:before{content:""}.bi-menu-button-fill:before{content:""}.bi-menu-button-wide-fill:before{content:""}.bi-menu-button-wide:before{content:""}.bi-menu-button:before{content:""}.bi-menu-down:before{content:""}.bi-menu-up:before{content:""}.bi-mic-fill:before{content:""}.bi-mic-mute-fill:before{content:""}.bi-mic-mute:before{content:""}.bi-mic:before{content:""}.bi-minecart-loaded:before{content:""}.bi-minecart:before{content:""}.bi-moisture:before{content:""}.bi-moon-fill:before{content:""}.bi-moon-stars-fill:before{content:""}.bi-moon-stars:before{content:""}.bi-moon:before{content:""}.bi-mouse-fill:before{content:""}.bi-mouse:before{content:""}.bi-mouse2-fill:before{content:""}.bi-mouse2:before{content:""}.bi-mouse3-fill:before{content:""}.bi-mouse3:before{content:""}.bi-music-note-beamed:before{content:""}.bi-music-note-list:before{content:""}.bi-music-note:before{content:""}.bi-music-player-fill:before{content:""}.bi-music-player:before{content:""}.bi-newspaper:before{content:""}.bi-node-minus-fill:before{content:""}.bi-node-minus:before{content:""}.bi-node-plus-fill:before{content:""}.bi-node-plus:before{content:""}.bi-nut-fill:before{content:""}.bi-nut:before{content:""}.bi-octagon-fill:before{content:""}.bi-octagon-half:before{content:""}.bi-octagon:before{content:""}.bi-option:before{content:""}.bi-outlet:before{content:""}.bi-paint-bucket:before{content:""}.bi-palette-fill:before{content:""}.bi-palette:before{content:""}.bi-palette2:before{content:""}.bi-paperclip:before{content:""}.bi-paragraph:before{content:""}.bi-patch-check-fill:before{content:""}.bi-patch-check:before{content:""}.bi-patch-exclamation-fill:before{content:""}.bi-patch-exclamation:before{content:""}.bi-patch-minus-fill:before{content:""}.bi-patch-minus:before{content:""}.bi-patch-plus-fill:before{content:""}.bi-patch-plus:before{content:""}.bi-patch-question-fill:before{content:""}.bi-patch-question:before{content:""}.bi-pause-btn-fill:before{content:""}.bi-pause-btn:before{content:""}.bi-pause-circle-fill:before{content:""}.bi-pause-circle:before{content:""}.bi-pause-fill:before{content:""}.bi-pause:before{content:""}.bi-peace-fill:before{content:""}.bi-peace:before{content:""}.bi-pen-fill:before{content:""}.bi-pen:before{content:""}.bi-pencil-fill:before{content:""}.bi-pencil-square:before{content:""}.bi-pencil:before{content:""}.bi-pentagon-fill:before{content:""}.bi-pentagon-half:before{content:""}.bi-pentagon:before{content:""}.bi-people-fill:before{content:""}.bi-people:before{content:""}.bi-percent:before{content:""}.bi-person-badge-fill:before{content:""}.bi-person-badge:before{content:""}.bi-person-bounding-box:before{content:""}.bi-person-check-fill:before{content:""}.bi-person-check:before{content:""}.bi-person-circle:before{content:""}.bi-person-dash-fill:before{content:""}.bi-person-dash:before{content:""}.bi-person-fill:before{content:""}.bi-person-lines-fill:before{content:""}.bi-person-plus-fill:before{content:""}.bi-person-plus:before{content:""}.bi-person-square:before{content:""}.bi-person-x-fill:before{content:""}.bi-person-x:before{content:""}.bi-person:before{content:""}.bi-phone-fill:before{content:""}.bi-phone-landscape-fill:before{content:""}.bi-phone-landscape:before{content:""}.bi-phone-vibrate-fill:before{content:""}.bi-phone-vibrate:before{content:""}.bi-phone:before{content:""}.bi-pie-chart-fill:before{content:""}.bi-pie-chart:before{content:""}.bi-pin-angle-fill:before{content:""}.bi-pin-angle:before{content:""}.bi-pin-fill:before{content:""}.bi-pin:before{content:""}.bi-pip-fill:before{content:""}.bi-pip:before{content:""}.bi-play-btn-fill:before{content:""}.bi-play-btn:before{content:""}.bi-play-circle-fill:before{content:""}.bi-play-circle:before{content:""}.bi-play-fill:before{content:""}.bi-play:before{content:""}.bi-plug-fill:before{content:""}.bi-plug:before{content:""}.bi-plus-circle-dotted:before{content:""}.bi-plus-circle-fill:before{content:""}.bi-plus-circle:before{content:""}.bi-plus-square-dotted:before{content:""}.bi-plus-square-fill:before{content:""}.bi-plus-square:before{content:""}.bi-plus:before{content:""}.bi-power:before{content:""}.bi-printer-fill:before{content:""}.bi-printer:before{content:""}.bi-puzzle-fill:before{content:""}.bi-puzzle:before{content:""}.bi-question-circle-fill:before{content:""}.bi-question-circle:before{content:""}.bi-question-diamond-fill:before{content:""}.bi-question-diamond:before{content:""}.bi-question-octagon-fill:before{content:""}.bi-question-octagon:before{content:""}.bi-question-square-fill:before{content:""}.bi-question-square:before{content:""}.bi-question:before{content:""}.bi-rainbow:before{content:""}.bi-receipt-cutoff:before{content:""}.bi-receipt:before{content:""}.bi-reception-0:before{content:""}.bi-reception-1:before{content:""}.bi-reception-2:before{content:""}.bi-reception-3:before{content:""}.bi-reception-4:before{content:""}.bi-record-btn-fill:before{content:""}.bi-record-btn:before{content:""}.bi-record-circle-fill:before{content:""}.bi-record-circle:before{content:""}.bi-record-fill:before{content:""}.bi-record:before{content:""}.bi-record2-fill:before{content:""}.bi-record2:before{content:""}.bi-reply-all-fill:before{content:""}.bi-reply-all:before{content:""}.bi-reply-fill:before{content:""}.bi-reply:before{content:""}.bi-rss-fill:before{content:""}.bi-rss:before{content:""}.bi-rulers:before{content:""}.bi-save-fill:before{content:""}.bi-save:before{content:""}.bi-save2-fill:before{content:""}.bi-save2:before{content:""}.bi-scissors:before{content:""}.bi-screwdriver:before{content:""}.bi-search:before{content:""}.bi-segmented-nav:before{content:""}.bi-server:before{content:""}.bi-share-fill:before{content:""}.bi-share:before{content:""}.bi-shield-check:before{content:""}.bi-shield-exclamation:before{content:""}.bi-shield-fill-check:before{content:""}.bi-shield-fill-exclamation:before{content:""}.bi-shield-fill-minus:before{content:""}.bi-shield-fill-plus:before{content:""}.bi-shield-fill-x:before{content:""}.bi-shield-fill:before{content:""}.bi-shield-lock-fill:before{content:""}.bi-shield-lock:before{content:""}.bi-shield-minus:before{content:""}.bi-shield-plus:before{content:""}.bi-shield-shaded:before{content:""}.bi-shield-slash-fill:before{content:""}.bi-shield-slash:before{content:""}.bi-shield-x:before{content:""}.bi-shield:before{content:""}.bi-shift-fill:before{content:""}.bi-shift:before{content:""}.bi-shop-window:before{content:""}.bi-shop:before{content:""}.bi-shuffle:before{content:""}.bi-signpost-2-fill:before{content:""}.bi-signpost-2:before{content:""}.bi-signpost-fill:before{content:""}.bi-signpost-split-fill:before{content:""}.bi-signpost-split:before{content:""}.bi-signpost:before{content:""}.bi-sim-fill:before{content:""}.bi-sim:before{content:""}.bi-skip-backward-btn-fill:before{content:""}.bi-skip-backward-btn:before{content:""}.bi-skip-backward-circle-fill:before{content:""}.bi-skip-backward-circle:before{content:""}.bi-skip-backward-fill:before{content:""}.bi-skip-backward:before{content:""}.bi-skip-end-btn-fill:before{content:""}.bi-skip-end-btn:before{content:""}.bi-skip-end-circle-fill:before{content:""}.bi-skip-end-circle:before{content:""}.bi-skip-end-fill:before{content:""}.bi-skip-end:before{content:""}.bi-skip-forward-btn-fill:before{content:""}.bi-skip-forward-btn:before{content:""}.bi-skip-forward-circle-fill:before{content:""}.bi-skip-forward-circle:before{content:""}.bi-skip-forward-fill:before{content:""}.bi-skip-forward:before{content:""}.bi-skip-start-btn-fill:before{content:""}.bi-skip-start-btn:before{content:""}.bi-skip-start-circle-fill:before{content:""}.bi-skip-start-circle:before{content:""}.bi-skip-start-fill:before{content:""}.bi-skip-start:before{content:""}.bi-slack:before{content:""}.bi-slash-circle-fill:before{content:""}.bi-slash-circle:before{content:""}.bi-slash-square-fill:before{content:""}.bi-slash-square:before{content:""}.bi-slash:before{content:""}.bi-sliders:before{content:""}.bi-smartwatch:before{content:""}.bi-snow:before{content:""}.bi-snow2:before{content:""}.bi-snow3:before{content:""}.bi-sort-alpha-down-alt:before{content:""}.bi-sort-alpha-down:before{content:""}.bi-sort-alpha-up-alt:before{content:""}.bi-sort-alpha-up:before{content:""}.bi-sort-down-alt:before{content:""}.bi-sort-down:before{content:""}.bi-sort-numeric-down-alt:before{content:""}.bi-sort-numeric-down:before{content:""}.bi-sort-numeric-up-alt:before{content:""}.bi-sort-numeric-up:before{content:""}.bi-sort-up-alt:before{content:""}.bi-sort-up:before{content:""}.bi-soundwave:before{content:""}.bi-speaker-fill:before{content:""}.bi-speaker:before{content:""}.bi-speedometer:before{content:""}.bi-speedometer2:before{content:""}.bi-spellcheck:before{content:""}.bi-square-fill:before{content:""}.bi-square-half:before{content:""}.bi-square:before{content:""}.bi-stack:before{content:""}.bi-star-fill:before{content:""}.bi-star-half:before{content:""}.bi-star:before{content:""}.bi-stars:before{content:""}.bi-stickies-fill:before{content:""}.bi-stickies:before{content:""}.bi-sticky-fill:before{content:""}.bi-sticky:before{content:""}.bi-stop-btn-fill:before{content:""}.bi-stop-btn:before{content:""}.bi-stop-circle-fill:before{content:""}.bi-stop-circle:before{content:""}.bi-stop-fill:before{content:""}.bi-stop:before{content:""}.bi-stoplights-fill:before{content:""}.bi-stoplights:before{content:""}.bi-stopwatch-fill:before{content:""}.bi-stopwatch:before{content:""}.bi-subtract:before{content:""}.bi-suit-club-fill:before{content:""}.bi-suit-club:before{content:""}.bi-suit-diamond-fill:before{content:""}.bi-suit-diamond:before{content:""}.bi-suit-heart-fill:before{content:""}.bi-suit-heart:before{content:""}.bi-suit-spade-fill:before{content:""}.bi-suit-spade:before{content:""}.bi-sun-fill:before{content:""}.bi-sun:before{content:""}.bi-sunglasses:before{content:""}.bi-sunrise-fill:before{content:""}.bi-sunrise:before{content:""}.bi-sunset-fill:before{content:""}.bi-sunset:before{content:""}.bi-symmetry-horizontal:before{content:""}.bi-symmetry-vertical:before{content:""}.bi-table:before{content:""}.bi-tablet-fill:before{content:""}.bi-tablet-landscape-fill:before{content:""}.bi-tablet-landscape:before{content:""}.bi-tablet:before{content:""}.bi-tag-fill:before{content:""}.bi-tag:before{content:""}.bi-tags-fill:before{content:""}.bi-tags:before{content:""}.bi-telegram:before{content:""}.bi-telephone-fill:before{content:""}.bi-telephone-forward-fill:before{content:""}.bi-telephone-forward:before{content:""}.bi-telephone-inbound-fill:before{content:""}.bi-telephone-inbound:before{content:""}.bi-telephone-minus-fill:before{content:""}.bi-telephone-minus:before{content:""}.bi-telephone-outbound-fill:before{content:""}.bi-telephone-outbound:before{content:""}.bi-telephone-plus-fill:before{content:""}.bi-telephone-plus:before{content:""}.bi-telephone-x-fill:before{content:""}.bi-telephone-x:before{content:""}.bi-telephone:before{content:""}.bi-terminal-fill:before{content:""}.bi-terminal:before{content:""}.bi-text-center:before{content:""}.bi-text-indent-left:before{content:""}.bi-text-indent-right:before{content:""}.bi-text-left:before{content:""}.bi-text-paragraph:before{content:""}.bi-text-right:before{content:""}.bi-textarea-resize:before{content:""}.bi-textarea-t:before{content:""}.bi-textarea:before{content:""}.bi-thermometer-half:before{content:""}.bi-thermometer-high:before{content:""}.bi-thermometer-low:before{content:""}.bi-thermometer-snow:before{content:""}.bi-thermometer-sun:before{content:""}.bi-thermometer:before{content:""}.bi-three-dots-vertical:before{content:""}.bi-three-dots:before{content:""}.bi-toggle-off:before{content:""}.bi-toggle-on:before{content:""}.bi-toggle2-off:before{content:""}.bi-toggle2-on:before{content:""}.bi-toggles:before{content:""}.bi-toggles2:before{content:""}.bi-tools:before{content:""}.bi-tornado:before{content:""}.bi-trash-fill:before{content:""}.bi-trash:before{content:""}.bi-trash2-fill:before{content:""}.bi-trash2:before{content:""}.bi-tree-fill:before{content:""}.bi-tree:before{content:""}.bi-triangle-fill:before{content:""}.bi-triangle-half:before{content:""}.bi-triangle:before{content:""}.bi-trophy-fill:before{content:""}.bi-trophy:before{content:""}.bi-tropical-storm:before{content:""}.bi-truck-flatbed:before{content:""}.bi-truck:before{content:""}.bi-tsunami:before{content:""}.bi-tv-fill:before{content:""}.bi-tv:before{content:""}.bi-twitch:before{content:""}.bi-twitter:before{content:""}.bi-type-bold:before{content:""}.bi-type-h1:before{content:""}.bi-type-h2:before{content:""}.bi-type-h3:before{content:""}.bi-type-italic:before{content:""}.bi-type-strikethrough:before{content:""}.bi-type-underline:before{content:""}.bi-type:before{content:""}.bi-ui-checks-grid:before{content:""}.bi-ui-checks:before{content:""}.bi-ui-radios-grid:before{content:""}.bi-ui-radios:before{content:""}.bi-umbrella-fill:before{content:""}.bi-umbrella:before{content:""}.bi-union:before{content:""}.bi-unlock-fill:before{content:""}.bi-unlock:before{content:""}.bi-upc-scan:before{content:""}.bi-upc:before{content:""}.bi-upload:before{content:""}.bi-vector-pen:before{content:""}.bi-view-list:before{content:""}.bi-view-stacked:before{content:""}.bi-vinyl-fill:before{content:""}.bi-vinyl:before{content:""}.bi-voicemail:before{content:""}.bi-volume-down-fill:before{content:""}.bi-volume-down:before{content:""}.bi-volume-mute-fill:before{content:""}.bi-volume-mute:before{content:""}.bi-volume-off-fill:before{content:""}.bi-volume-off:before{content:""}.bi-volume-up-fill:before{content:""}.bi-volume-up:before{content:""}.bi-vr:before{content:""}.bi-wallet-fill:before{content:""}.bi-wallet:before{content:""}.bi-wallet2:before{content:""}.bi-watch:before{content:""}.bi-water:before{content:""}.bi-whatsapp:before{content:""}.bi-wifi-1:before{content:""}.bi-wifi-2:before{content:""}.bi-wifi-off:before{content:""}.bi-wifi:before{content:""}.bi-wind:before{content:""}.bi-window-dock:before{content:""}.bi-window-sidebar:before{content:""}.bi-window:before{content:""}.bi-wrench:before{content:""}.bi-x-circle-fill:before{content:""}.bi-x-circle:before{content:""}.bi-x-diamond-fill:before{content:""}.bi-x-diamond:before{content:""}.bi-x-octagon-fill:before{content:""}.bi-x-octagon:before{content:""}.bi-x-square-fill:before{content:""}.bi-x-square:before{content:""}.bi-x:before{content:""}.bi-youtube:before{content:""}.bi-zoom-in:before{content:""}.bi-zoom-out:before{content:""}.bi-bank:before{content:""}.bi-bank2:before{content:""}.bi-bell-slash-fill:before{content:""}.bi-bell-slash:before{content:""}.bi-cash-coin:before{content:""}.bi-check-lg:before{content:""}.bi-coin:before{content:""}.bi-currency-bitcoin:before{content:""}.bi-currency-dollar:before{content:""}.bi-currency-euro:before{content:""}.bi-currency-exchange:before{content:""}.bi-currency-pound:before{content:""}.bi-currency-yen:before{content:""}.bi-dash-lg:before{content:""}.bi-exclamation-lg:before{content:""}.bi-file-earmark-pdf-fill:before{content:""}.bi-file-earmark-pdf:before{content:""}.bi-file-pdf-fill:before{content:""}.bi-file-pdf:before{content:""}.bi-gender-ambiguous:before{content:""}.bi-gender-female:before{content:""}.bi-gender-male:before{content:""}.bi-gender-trans:before{content:""}.bi-headset-vr:before{content:""}.bi-info-lg:before{content:""}.bi-mastodon:before{content:""}.bi-messenger:before{content:""}.bi-piggy-bank-fill:before{content:""}.bi-piggy-bank:before{content:""}.bi-pin-map-fill:before{content:""}.bi-pin-map:before{content:""}.bi-plus-lg:before{content:""}.bi-question-lg:before{content:""}.bi-recycle:before{content:""}.bi-reddit:before{content:""}.bi-safe-fill:before{content:""}.bi-safe2-fill:before{content:""}.bi-safe2:before{content:""}.bi-sd-card-fill:before{content:""}.bi-sd-card:before{content:""}.bi-skype:before{content:""}.bi-slash-lg:before{content:""}.bi-translate:before{content:""}.bi-x-lg:before{content:""}.bi-safe:before{content:""}.bi-apple:before{content:""}.bi-microsoft:before{content:""}.bi-windows:before{content:""}.bi-behance:before{content:""}.bi-dribbble:before{content:""}.bi-line:before{content:""}.bi-medium:before{content:""}.bi-paypal:before{content:""}.bi-pinterest:before{content:""}.bi-signal:before{content:""}.bi-snapchat:before{content:""}.bi-spotify:before{content:""}.bi-stack-overflow:before{content:""}.bi-strava:before{content:""}.bi-wordpress:before{content:""}.bi-vimeo:before{content:""}.bi-activity:before{content:""}.bi-easel2-fill:before{content:""}.bi-easel2:before{content:""}.bi-easel3-fill:before{content:""}.bi-easel3:before{content:""}.bi-fan:before{content:""}.bi-fingerprint:before{content:""}.bi-graph-down-arrow:before{content:""}.bi-graph-up-arrow:before{content:""}.bi-hypnotize:before{content:""}.bi-magic:before{content:""}.bi-person-rolodex:before{content:""}.bi-person-video:before{content:""}.bi-person-video2:before{content:""}.bi-person-video3:before{content:""}.bi-person-workspace:before{content:""}.bi-radioactive:before{content:""}.bi-webcam-fill:before{content:""}.bi-webcam:before{content:""}.bi-yin-yang:before{content:""}.bi-bandaid-fill:before{content:""}.bi-bandaid:before{content:""}.bi-bluetooth:before{content:""}.bi-body-text:before{content:""}.bi-boombox:before{content:""}.bi-boxes:before{content:""}.bi-dpad-fill:before{content:""}.bi-dpad:before{content:""}.bi-ear-fill:before{content:""}.bi-ear:before{content:""}.bi-envelope-check-fill:before{content:""}.bi-envelope-check:before{content:""}.bi-envelope-dash-fill:before{content:""}.bi-envelope-dash:before{content:""}.bi-envelope-exclamation-fill:before{content:""}.bi-envelope-exclamation:before{content:""}.bi-envelope-plus-fill:before{content:""}.bi-envelope-plus:before{content:""}.bi-envelope-slash-fill:before{content:""}.bi-envelope-slash:before{content:""}.bi-envelope-x-fill:before{content:""}.bi-envelope-x:before{content:""}.bi-explicit-fill:before{content:""}.bi-explicit:before{content:""}.bi-git:before{content:""}.bi-infinity:before{content:""}.bi-list-columns-reverse:before{content:""}.bi-list-columns:before{content:""}.bi-meta:before{content:""}.bi-nintendo-switch:before{content:""}.bi-pc-display-horizontal:before{content:""}.bi-pc-display:before{content:""}.bi-pc-horizontal:before{content:""}.bi-pc:before{content:""}.bi-playstation:before{content:""}.bi-plus-slash-minus:before{content:""}.bi-projector-fill:before{content:""}.bi-projector:before{content:""}.bi-qr-code-scan:before{content:""}.bi-qr-code:before{content:""}.bi-quora:before{content:""}.bi-quote:before{content:""}.bi-robot:before{content:""}.bi-send-check-fill:before{content:""}.bi-send-check:before{content:""}.bi-send-dash-fill:before{content:""}.bi-send-dash:before{content:""}.bi-send-exclamation-fill:before{content:""}.bi-send-exclamation:before{content:""}.bi-send-fill:before{content:""}.bi-send-plus-fill:before{content:""}.bi-send-plus:before{content:""}.bi-send-slash-fill:before{content:""}.bi-send-slash:before{content:""}.bi-send-x-fill:before{content:""}.bi-send-x:before{content:""}.bi-send:before{content:""}.bi-steam:before{content:""}.bi-terminal-dash:before{content:""}.bi-terminal-plus:before{content:""}.bi-terminal-split:before{content:""}.bi-ticket-detailed-fill:before{content:""}.bi-ticket-detailed:before{content:""}.bi-ticket-fill:before{content:""}.bi-ticket-perforated-fill:before{content:""}.bi-ticket-perforated:before{content:""}.bi-ticket:before{content:""}.bi-tiktok:before{content:""}.bi-window-dash:before{content:""}.bi-window-desktop:before{content:""}.bi-window-fullscreen:before{content:""}.bi-window-plus:before{content:""}.bi-window-split:before{content:""}.bi-window-stack:before{content:""}.bi-window-x:before{content:""}.bi-xbox:before{content:""}.bi-ethernet:before{content:""}.bi-hdmi-fill:before{content:""}.bi-hdmi:before{content:""}.bi-usb-c-fill:before{content:""}.bi-usb-c:before{content:""}.bi-usb-fill:before{content:""}.bi-usb-plug-fill:before{content:""}.bi-usb-plug:before{content:""}.bi-usb-symbol:before{content:""}.bi-usb:before{content:""}.bi-boombox-fill:before{content:""}.bi-displayport:before{content:""}.bi-gpu-card:before{content:""}.bi-memory:before{content:""}.bi-modem-fill:before{content:""}.bi-modem:before{content:""}.bi-motherboard-fill:before{content:""}.bi-motherboard:before{content:""}.bi-optical-audio-fill:before{content:""}.bi-optical-audio:before{content:""}.bi-pci-card:before{content:""}.bi-router-fill:before{content:""}.bi-router:before{content:""}.bi-thunderbolt-fill:before{content:""}.bi-thunderbolt:before{content:""}.bi-usb-drive-fill:before{content:""}.bi-usb-drive:before{content:""}.bi-usb-micro-fill:before{content:""}.bi-usb-micro:before{content:""}.bi-usb-mini-fill:before{content:""}.bi-usb-mini:before{content:""}.bi-cloud-haze2:before{content:""}.bi-device-hdd-fill:before{content:""}.bi-device-hdd:before{content:""}.bi-device-ssd-fill:before{content:""}.bi-device-ssd:before{content:""}.bi-displayport-fill:before{content:""}.bi-mortarboard-fill:before{content:""}.bi-mortarboard:before{content:""}.bi-terminal-x:before{content:""}.bi-arrow-through-heart-fill:before{content:""}.bi-arrow-through-heart:before{content:""}.bi-badge-sd-fill:before{content:""}.bi-badge-sd:before{content:""}.bi-bag-heart-fill:before{content:""}.bi-bag-heart:before{content:""}.bi-balloon-fill:before{content:""}.bi-balloon-heart-fill:before{content:""}.bi-balloon-heart:before{content:""}.bi-balloon:before{content:""}.bi-box2-fill:before{content:""}.bi-box2-heart-fill:before{content:""}.bi-box2-heart:before{content:""}.bi-box2:before{content:""}.bi-braces-asterisk:before{content:""}.bi-calendar-heart-fill:before{content:""}.bi-calendar-heart:before{content:""}.bi-calendar2-heart-fill:before{content:""}.bi-calendar2-heart:before{content:""}.bi-chat-heart-fill:before{content:""}.bi-chat-heart:before{content:""}.bi-chat-left-heart-fill:before{content:""}.bi-chat-left-heart:before{content:""}.bi-chat-right-heart-fill:before{content:""}.bi-chat-right-heart:before{content:""}.bi-chat-square-heart-fill:before{content:""}.bi-chat-square-heart:before{content:""}.bi-clipboard-check-fill:before{content:""}.bi-clipboard-data-fill:before{content:""}.bi-clipboard-fill:before{content:""}.bi-clipboard-heart-fill:before{content:""}.bi-clipboard-heart:before{content:""}.bi-clipboard-minus-fill:before{content:""}.bi-clipboard-plus-fill:before{content:""}.bi-clipboard-pulse:before{content:""}.bi-clipboard-x-fill:before{content:""}.bi-clipboard2-check-fill:before{content:""}.bi-clipboard2-check:before{content:""}.bi-clipboard2-data-fill:before{content:""}.bi-clipboard2-data:before{content:""}.bi-clipboard2-fill:before{content:""}.bi-clipboard2-heart-fill:before{content:""}.bi-clipboard2-heart:before{content:""}.bi-clipboard2-minus-fill:before{content:""}.bi-clipboard2-minus:before{content:""}.bi-clipboard2-plus-fill:before{content:""}.bi-clipboard2-plus:before{content:""}.bi-clipboard2-pulse-fill:before{content:""}.bi-clipboard2-pulse:before{content:""}.bi-clipboard2-x-fill:before{content:""}.bi-clipboard2-x:before{content:""}.bi-clipboard2:before{content:""}.bi-emoji-kiss-fill:before{content:""}.bi-emoji-kiss:before{content:""}.bi-envelope-heart-fill:before{content:""}.bi-envelope-heart:before{content:""}.bi-envelope-open-heart-fill:before{content:""}.bi-envelope-open-heart:before{content:""}.bi-envelope-paper-fill:before{content:""}.bi-envelope-paper-heart-fill:before{content:""}.bi-envelope-paper-heart:before{content:""}.bi-envelope-paper:before{content:""}.bi-filetype-aac:before{content:""}.bi-filetype-ai:before{content:""}.bi-filetype-bmp:before{content:""}.bi-filetype-cs:before{content:""}.bi-filetype-css:before{content:""}.bi-filetype-csv:before{content:""}.bi-filetype-doc:before{content:""}.bi-filetype-docx:before{content:""}.bi-filetype-exe:before{content:""}.bi-filetype-gif:before{content:""}.bi-filetype-heic:before{content:""}.bi-filetype-html:before{content:""}.bi-filetype-java:before{content:""}.bi-filetype-jpg:before{content:""}.bi-filetype-js:before{content:""}.bi-filetype-jsx:before{content:""}.bi-filetype-key:before{content:""}.bi-filetype-m4p:before{content:""}.bi-filetype-md:before{content:""}.bi-filetype-mdx:before{content:""}.bi-filetype-mov:before{content:""}.bi-filetype-mp3:before{content:""}.bi-filetype-mp4:before{content:""}.bi-filetype-otf:before{content:""}.bi-filetype-pdf:before{content:""}.bi-filetype-php:before{content:""}.bi-filetype-png:before{content:""}.bi-filetype-ppt:before{content:""}.bi-filetype-psd:before{content:""}.bi-filetype-py:before{content:""}.bi-filetype-raw:before{content:""}.bi-filetype-rb:before{content:""}.bi-filetype-sass:before{content:""}.bi-filetype-scss:before{content:""}.bi-filetype-sh:before{content:""}.bi-filetype-svg:before{content:""}.bi-filetype-tiff:before{content:""}.bi-filetype-tsx:before{content:""}.bi-filetype-ttf:before{content:""}.bi-filetype-txt:before{content:""}.bi-filetype-wav:before{content:""}.bi-filetype-woff:before{content:""}.bi-filetype-xls:before{content:""}.bi-filetype-xml:before{content:""}.bi-filetype-yml:before{content:""}.bi-heart-arrow:before{content:""}.bi-heart-pulse-fill:before{content:""}.bi-heart-pulse:before{content:""}.bi-heartbreak-fill:before{content:""}.bi-heartbreak:before{content:""}.bi-hearts:before{content:""}.bi-hospital-fill:before{content:""}.bi-hospital:before{content:""}.bi-house-heart-fill:before{content:""}.bi-house-heart:before{content:""}.bi-incognito:before{content:""}.bi-magnet-fill:before{content:""}.bi-magnet:before{content:""}.bi-person-heart:before{content:""}.bi-person-hearts:before{content:""}.bi-phone-flip:before{content:""}.bi-plugin:before{content:""}.bi-postage-fill:before{content:""}.bi-postage-heart-fill:before{content:""}.bi-postage-heart:before{content:""}.bi-postage:before{content:""}.bi-postcard-fill:before{content:""}.bi-postcard-heart-fill:before{content:""}.bi-postcard-heart:before{content:""}.bi-postcard:before{content:""}.bi-search-heart-fill:before{content:""}.bi-search-heart:before{content:""}.bi-sliders2-vertical:before{content:""}.bi-sliders2:before{content:""}.bi-trash3-fill:before{content:""}.bi-trash3:before{content:""}.bi-valentine:before{content:""}.bi-valentine2:before{content:""}.bi-wrench-adjustable-circle-fill:before{content:""}.bi-wrench-adjustable-circle:before{content:""}.bi-wrench-adjustable:before{content:""}.bi-filetype-json:before{content:""}.bi-filetype-pptx:before{content:""}.bi-filetype-xlsx:before{content:""}.bi-1-circle-fill:before{content:""}.bi-1-circle:before{content:""}.bi-1-square-fill:before{content:""}.bi-1-square:before{content:""}.bi-2-circle-fill:before{content:""}.bi-2-circle:before{content:""}.bi-2-square-fill:before{content:""}.bi-2-square:before{content:""}.bi-3-circle-fill:before{content:""}.bi-3-circle:before{content:""}.bi-3-square-fill:before{content:""}.bi-3-square:before{content:""}.bi-4-circle-fill:before{content:""}.bi-4-circle:before{content:""}.bi-4-square-fill:before{content:""}.bi-4-square:before{content:""}.bi-5-circle-fill:before{content:""}.bi-5-circle:before{content:""}.bi-5-square-fill:before{content:""}.bi-5-square:before{content:""}.bi-6-circle-fill:before{content:""}.bi-6-circle:before{content:""}.bi-6-square-fill:before{content:""}.bi-6-square:before{content:""}.bi-7-circle-fill:before{content:""}.bi-7-circle:before{content:""}.bi-7-square-fill:before{content:""}.bi-7-square:before{content:""}.bi-8-circle-fill:before{content:""}.bi-8-circle:before{content:""}.bi-8-square-fill:before{content:""}.bi-8-square:before{content:""}.bi-9-circle-fill:before{content:""}.bi-9-circle:before{content:""}.bi-9-square-fill:before{content:""}.bi-9-square:before{content:""}.bi-airplane-engines-fill:before{content:""}.bi-airplane-engines:before{content:""}.bi-airplane-fill:before{content:""}.bi-airplane:before{content:""}.bi-alexa:before{content:""}.bi-alipay:before{content:""}.bi-android:before{content:""}.bi-android2:before{content:""}.bi-box-fill:before{content:""}.bi-box-seam-fill:before{content:""}.bi-browser-chrome:before{content:""}.bi-browser-edge:before{content:""}.bi-browser-firefox:before{content:""}.bi-browser-safari:before{content:""}.bi-c-circle-fill:before{content:""}.bi-c-circle:before{content:""}.bi-c-square-fill:before{content:""}.bi-c-square:before{content:""}.bi-capsule-pill:before{content:""}.bi-capsule:before{content:""}.bi-car-front-fill:before{content:""}.bi-car-front:before{content:""}.bi-cassette-fill:before{content:""}.bi-cassette:before{content:""}.bi-cc-circle-fill:before{content:""}.bi-cc-circle:before{content:""}.bi-cc-square-fill:before{content:""}.bi-cc-square:before{content:""}.bi-cup-hot-fill:before{content:""}.bi-cup-hot:before{content:""}.bi-currency-rupee:before{content:""}.bi-dropbox:before{content:""}.bi-escape:before{content:""}.bi-fast-forward-btn-fill:before{content:""}.bi-fast-forward-btn:before{content:""}.bi-fast-forward-circle-fill:before{content:""}.bi-fast-forward-circle:before{content:""}.bi-fast-forward-fill:before{content:""}.bi-fast-forward:before{content:""}.bi-filetype-sql:before{content:""}.bi-fire:before{content:""}.bi-google-play:before{content:""}.bi-h-circle-fill:before{content:""}.bi-h-circle:before{content:""}.bi-h-square-fill:before{content:""}.bi-h-square:before{content:""}.bi-indent:before{content:""}.bi-lungs-fill:before{content:""}.bi-lungs:before{content:""}.bi-microsoft-teams:before{content:""}.bi-p-circle-fill:before{content:""}.bi-p-circle:before{content:""}.bi-p-square-fill:before{content:""}.bi-p-square:before{content:""}.bi-pass-fill:before{content:""}.bi-pass:before{content:""}.bi-prescription:before{content:""}.bi-prescription2:before{content:""}.bi-r-circle-fill:before{content:""}.bi-r-circle:before{content:""}.bi-r-square-fill:before{content:""}.bi-r-square:before{content:""}.bi-repeat-1:before{content:""}.bi-repeat:before{content:""}.bi-rewind-btn-fill:before{content:""}.bi-rewind-btn:before{content:""}.bi-rewind-circle-fill:before{content:""}.bi-rewind-circle:before{content:""}.bi-rewind-fill:before{content:""}.bi-rewind:before{content:""}.bi-train-freight-front-fill:before{content:""}.bi-train-freight-front:before{content:""}.bi-train-front-fill:before{content:""}.bi-train-front:before{content:""}.bi-train-lightrail-front-fill:before{content:""}.bi-train-lightrail-front:before{content:""}.bi-truck-front-fill:before{content:""}.bi-truck-front:before{content:""}.bi-ubuntu:before{content:""}.bi-unindent:before{content:""}.bi-unity:before{content:""}.bi-universal-access-circle:before{content:""}.bi-universal-access:before{content:""}.bi-virus:before{content:""}.bi-virus2:before{content:""}.bi-wechat:before{content:""}.bi-yelp:before{content:""}.bi-sign-stop-fill:before{content:""}.bi-sign-stop-lights-fill:before{content:""}.bi-sign-stop-lights:before{content:""}.bi-sign-stop:before{content:""}.bi-sign-turn-left-fill:before{content:""}.bi-sign-turn-left:before{content:""}.bi-sign-turn-right-fill:before{content:""}.bi-sign-turn-right:before{content:""}.bi-sign-turn-slight-left-fill:before{content:""}.bi-sign-turn-slight-left:before{content:""}.bi-sign-turn-slight-right-fill:before{content:""}.bi-sign-turn-slight-right:before{content:""}.bi-sign-yield-fill:before{content:""}.bi-sign-yield:before{content:""}.bi-ev-station-fill:before{content:""}.bi-ev-station:before{content:""}.bi-fuel-pump-diesel-fill:before{content:""}.bi-fuel-pump-diesel:before{content:""}.bi-fuel-pump-fill:before{content:""}.bi-fuel-pump:before{content:""}.bi-0-circle-fill:before{content:""}.bi-0-circle:before{content:""}.bi-0-square-fill:before{content:""}.bi-0-square:before{content:""}.bi-rocket-fill:before{content:""}.bi-rocket-takeoff-fill:before{content:""}.bi-rocket-takeoff:before{content:""}.bi-rocket:before{content:""}.bi-stripe:before{content:""}.bi-subscript:before{content:""}.bi-superscript:before{content:""}.bi-trello:before{content:""}.bi-envelope-at-fill:before{content:""}.bi-envelope-at:before{content:""}.bi-regex:before{content:""}.bi-text-wrap:before{content:""}.bi-sign-dead-end-fill:before{content:""}.bi-sign-dead-end:before{content:""}.bi-sign-do-not-enter-fill:before{content:""}.bi-sign-do-not-enter:before{content:""}.bi-sign-intersection-fill:before{content:""}.bi-sign-intersection-side-fill:before{content:""}.bi-sign-intersection-side:before{content:""}.bi-sign-intersection-t-fill:before{content:""}.bi-sign-intersection-t:before{content:""}.bi-sign-intersection-y-fill:before{content:""}.bi-sign-intersection-y:before{content:""}.bi-sign-intersection:before{content:""}.bi-sign-merge-left-fill:before{content:""}.bi-sign-merge-left:before{content:""}.bi-sign-merge-right-fill:before{content:""}.bi-sign-merge-right:before{content:""}.bi-sign-no-left-turn-fill:before{content:""}.bi-sign-no-left-turn:before{content:""}.bi-sign-no-parking-fill:before{content:""}.bi-sign-no-parking:before{content:""}.bi-sign-no-right-turn-fill:before{content:""}.bi-sign-no-right-turn:before{content:""}.bi-sign-railroad-fill:before{content:""}.bi-sign-railroad:before{content:""}.bi-building-add:before{content:""}.bi-building-check:before{content:""}.bi-building-dash:before{content:""}.bi-building-down:before{content:""}.bi-building-exclamation:before{content:""}.bi-building-fill-add:before{content:""}.bi-building-fill-check:before{content:""}.bi-building-fill-dash:before{content:""}.bi-building-fill-down:before{content:""}.bi-building-fill-exclamation:before{content:""}.bi-building-fill-gear:before{content:""}.bi-building-fill-lock:before{content:""}.bi-building-fill-slash:before{content:""}.bi-building-fill-up:before{content:""}.bi-building-fill-x:before{content:""}.bi-building-fill:before{content:""}.bi-building-gear:before{content:""}.bi-building-lock:before{content:""}.bi-building-slash:before{content:""}.bi-building-up:before{content:""}.bi-building-x:before{content:""}.bi-buildings-fill:before{content:""}.bi-buildings:before{content:""}.bi-bus-front-fill:before{content:""}.bi-bus-front:before{content:""}.bi-ev-front-fill:before{content:""}.bi-ev-front:before{content:""}.bi-globe-americas:before{content:""}.bi-globe-asia-australia:before{content:""}.bi-globe-central-south-asia:before{content:""}.bi-globe-europe-africa:before{content:""}.bi-house-add-fill:before{content:""}.bi-house-add:before{content:""}.bi-house-check-fill:before{content:""}.bi-house-check:before{content:""}.bi-house-dash-fill:before{content:""}.bi-house-dash:before{content:""}.bi-house-down-fill:before{content:""}.bi-house-down:before{content:""}.bi-house-exclamation-fill:before{content:""}.bi-house-exclamation:before{content:""}.bi-house-gear-fill:before{content:""}.bi-house-gear:before{content:""}.bi-house-lock-fill:before{content:""}.bi-house-lock:before{content:""}.bi-house-slash-fill:before{content:""}.bi-house-slash:before{content:""}.bi-house-up-fill:before{content:""}.bi-house-up:before{content:""}.bi-house-x-fill:before{content:""}.bi-house-x:before{content:""}.bi-person-add:before{content:""}.bi-person-down:before{content:""}.bi-person-exclamation:before{content:""}.bi-person-fill-add:before{content:""}.bi-person-fill-check:before{content:""}.bi-person-fill-dash:before{content:""}.bi-person-fill-down:before{content:""}.bi-person-fill-exclamation:before{content:""}.bi-person-fill-gear:before{content:""}.bi-person-fill-lock:before{content:""}.bi-person-fill-slash:before{content:""}.bi-person-fill-up:before{content:""}.bi-person-fill-x:before{content:""}.bi-person-gear:before{content:""}.bi-person-lock:before{content:""}.bi-person-slash:before{content:""}.bi-person-up:before{content:""}.bi-scooter:before{content:""}.bi-taxi-front-fill:before{content:""}.bi-taxi-front:before{content:""}.bi-amd:before{content:""}.bi-database-add:before{content:""}.bi-database-check:before{content:""}.bi-database-dash:before{content:""}.bi-database-down:before{content:""}.bi-database-exclamation:before{content:""}.bi-database-fill-add:before{content:""}.bi-database-fill-check:before{content:""}.bi-database-fill-dash:before{content:""}.bi-database-fill-down:before{content:""}.bi-database-fill-exclamation:before{content:""}.bi-database-fill-gear:before{content:""}.bi-database-fill-lock:before{content:""}.bi-database-fill-slash:before{content:""}.bi-database-fill-up:before{content:""}.bi-database-fill-x:before{content:""}.bi-database-fill:before{content:""}.bi-database-gear:before{content:""}.bi-database-lock:before{content:""}.bi-database-slash:before{content:""}.bi-database-up:before{content:""}.bi-database-x:before{content:""}.bi-database:before{content:""}.bi-houses-fill:before{content:""}.bi-houses:before{content:""}.bi-nvidia:before{content:""}.bi-person-vcard-fill:before{content:""}.bi-person-vcard:before{content:""}.bi-sina-weibo:before{content:""}.bi-tencent-qq:before{content:""}.bi-wikipedia:before{content:""}.bi-alphabet-uppercase:before{content:""}.bi-alphabet:before{content:""}.bi-amazon:before{content:""}.bi-arrows-collapse-vertical:before{content:""}.bi-arrows-expand-vertical:before{content:""}.bi-arrows-vertical:before{content:""}.bi-arrows:before{content:""}.bi-ban-fill:before{content:""}.bi-ban:before{content:""}.bi-bing:before{content:""}.bi-cake:before{content:""}.bi-cake2:before{content:""}.bi-cookie:before{content:""}.bi-copy:before{content:""}.bi-crosshair:before{content:""}.bi-crosshair2:before{content:""}.bi-emoji-astonished-fill:before{content:""}.bi-emoji-astonished:before{content:""}.bi-emoji-grimace-fill:before{content:""}.bi-emoji-grimace:before{content:""}.bi-emoji-grin-fill:before{content:""}.bi-emoji-grin:before{content:""}.bi-emoji-surprise-fill:before{content:""}.bi-emoji-surprise:before{content:""}.bi-emoji-tear-fill:before{content:""}.bi-emoji-tear:before{content:""}.bi-envelope-arrow-down-fill:before{content:""}.bi-envelope-arrow-down:before{content:""}.bi-envelope-arrow-up-fill:before{content:""}.bi-envelope-arrow-up:before{content:""}.bi-feather:before{content:""}.bi-feather2:before{content:""}.bi-floppy-fill:before{content:""}.bi-floppy:before{content:""}.bi-floppy2-fill:before{content:""}.bi-floppy2:before{content:""}.bi-gitlab:before{content:""}.bi-highlighter:before{content:""}.bi-marker-tip:before{content:""}.bi-nvme-fill:before{content:""}.bi-nvme:before{content:""}.bi-opencollective:before{content:""}.bi-pci-card-network:before{content:""}.bi-pci-card-sound:before{content:""}.bi-radar:before{content:""}.bi-send-arrow-down-fill:before{content:""}.bi-send-arrow-down:before{content:""}.bi-send-arrow-up-fill:before{content:""}.bi-send-arrow-up:before{content:""}.bi-sim-slash-fill:before{content:""}.bi-sim-slash:before{content:""}.bi-sourceforge:before{content:""}.bi-substack:before{content:""}.bi-threads-fill:before{content:""}.bi-threads:before{content:""}.bi-transparency:before{content:""}.bi-twitter-x:before{content:""}.bi-type-h4:before{content:""}.bi-type-h5:before{content:""}.bi-type-h6:before{content:""}.bi-backpack-fill:before{content:""}.bi-backpack:before{content:""}.bi-backpack2-fill:before{content:""}.bi-backpack2:before{content:""}.bi-backpack3-fill:before{content:""}.bi-backpack3:before{content:""}.bi-backpack4-fill:before{content:""}.bi-backpack4:before{content:""}.bi-brilliance:before{content:""}.bi-cake-fill:before{content:""}.bi-cake2-fill:before{content:""}.bi-duffle-fill:before{content:""}.bi-duffle:before{content:""}.bi-exposure:before{content:""}.bi-gender-neuter:before{content:""}.bi-highlights:before{content:""}.bi-luggage-fill:before{content:""}.bi-luggage:before{content:""}.bi-mailbox-flag:before{content:""}.bi-mailbox2-flag:before{content:""}.bi-noise-reduction:before{content:""}.bi-passport-fill:before{content:""}.bi-passport:before{content:""}.bi-person-arms-up:before{content:""}.bi-person-raised-hand:before{content:""}.bi-person-standing-dress:before{content:""}.bi-person-standing:before{content:""}.bi-person-walking:before{content:""}.bi-person-wheelchair:before{content:""}.bi-shadows:before{content:""}.bi-suitcase-fill:before{content:""}.bi-suitcase-lg-fill:before{content:""}.bi-suitcase-lg:before{content:""}.bi-suitcase:before{content:"豈"}.bi-suitcase2-fill:before{content:"更"}.bi-suitcase2:before{content:"車"}.bi-vignette:before{content:"賈"}.bi-bluesky:before{content:""}.bi-tux:before{content:"滑"}.bi-beaker-fill:before{content:"串"}.bi-beaker:before{content:"句"}.bi-flask-fill:before{content:"龜"}.bi-flask-florence-fill:before{content:"龜"}.bi-flask-florence:before{content:"契"}.bi-flask:before{content:"金"}.bi-leaf-fill:before{content:"喇"}.bi-leaf:before{content:"奈"}.bi-measuring-cup-fill:before{content:"懶"}.bi-measuring-cup:before{content:"癩"}.bi-unlock2-fill:before{content:"羅"}.bi-unlock2:before{content:"蘿"}.bi-battery-low:before{content:"螺"}.bi-anthropic:before{content:"裸"}.bi-apple-music:before{content:"邏"}.bi-claude:before{content:"樂"}.bi-openai:before{content:"洛"}.bi-perplexity:before{content:"烙"}.bi-css:before{content:"珞"}.bi-javascript:before{content:"落"}.bi-typescript:before{content:"酪"}.bi-fork-knife:before{content:"駱"}.bi-globe-americas-fill:before{content:"亂"}.bi-globe-asia-australia-fill:before{content:"卵"}.bi-globe-central-south-asia-fill:before{content:"欄"}.bi-globe-europe-africa-fill:before{content:"爛"}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0d1117f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}.navbar-container{display:flex;align-items:center;justify-content:space-between;height:70px}.navbar-logo{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;color:#fff;text-decoration:none;transition:all var(--transition-normal)}.navbar-logo:hover{color:#fff}.navbar-logo .logo-image{height:40px;width:auto}.logo-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--primary-green) 0%,#0073e6 100%);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#fff}.logo-myco{color:#fff}.logo-grid{color:var(--primary-green)}.navbar-menu{display:flex;align-items:center;gap:2rem;list-style:none}.navbar-menu a{color:#ffffffb3;font-weight:500;padding:.5rem 0;position:relative;transition:color .25s cubic-bezier(.4,0,.2,1)}.navbar-menu a:after{content:"";position:absolute;bottom:-2px;left:50%;width:0;height:2px;background:var(--gradient-primary);transition:all .3s cubic-bezier(.4,0,.2,1);transform:translate(-50%);border-radius:1px;box-shadow:0 0 8px #00b37180}.navbar-menu a:hover,.navbar-menu a.active{color:#fff}.navbar-menu a:hover:after,.navbar-menu a.active:after{width:100%}.navbar-menu a.active:after{background:var(--primary-green)}.navbar-cta{display:flex;align-items:center;gap:.75rem}.navbar-cta .btn{padding:.5rem 1.25rem;font-size:.875rem}.navbar-cta .btn-secondary{border-color:#fff3;color:#fffc}.navbar-cta .btn-secondary:hover{border-color:var(--primary-green);color:var(--primary-green);background:#00b3711a}.navbar-toggle{display:none;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:.5rem}@media(max-width:968px){.navbar-toggle{display:block;transition:transform .3s ease}.navbar-toggle:hover{transform:scale(1.1)}.navbar-menu{position:fixed;inset:70px 0 0;flex-direction:column;background:#0d1117fa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:2rem;gap:1.5rem;transform:translate(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);opacity:0}.navbar-menu.active{transform:translate(0);opacity:1}.navbar-menu a{font-size:1.25rem;opacity:0;transform:translate(20px);transition:all .3s ease}.navbar-menu.active a{opacity:1;transform:translate(0)}.navbar-menu.active a:nth-child(1){transition-delay:.1s}.navbar-menu.active a:nth-child(2){transition-delay:.15s}.navbar-menu.active a:nth-child(3){transition-delay:.2s}.navbar-menu.active a:nth-child(4){transition-delay:.25s}.navbar-cta{margin-top:1rem;opacity:0;transform:translateY(10px);transition:all .3s ease .3s}.navbar-menu.active+.navbar-cta,.navbar-menu.active .navbar-cta{opacity:1;transform:translateY(0)}.navbar-cta .btn{width:100%;padding:1rem 2rem;font-size:1rem}}.footer{background:linear-gradient(180deg,#0d1117,#0a0a0f);border-top:1px solid rgba(255,255,255,.08);padding:3rem 0 2rem;margin-top:auto;position:relative;overflow:hidden}.footer:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,179,113,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,179,113,.03) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}.footer:after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,179,113,.5),transparent);box-shadow:0 0 20px #00b3714d}.footer-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;position:relative;z-index:1}.footer-logo{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;color:#fff;transition:transform var(--transition-normal)}.footer-logo:hover{transform:translateY(-2px)}.footer-logo .logo-image{height:32px;width:auto}.footer-logo .logo-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--primary-green) 0%,#0073e6 100%);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff}.footer-logo .logo-myco{color:#fff}.footer-logo .logo-grid{color:var(--primary-green)}.footer-nav{display:flex;gap:2rem;position:relative;z-index:1}.footer-nav a{color:#fff9;font-weight:500;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative}.footer-nav a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--gradient-primary);transition:width .25s ease;border-radius:1px;box-shadow:0 0 8px #00b37180}.footer-nav a:hover{color:var(--primary-green);transform:translateY(-1px)}.footer-nav a:hover:after{width:100%}.footer-bottom{text-align:center;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08);position:relative;z-index:1}.footer-bottom p{font-size:.9rem;color:#fff6;margin:0;font-family:JetBrains Mono,Fira Code,monospace}@media(max-width:768px){.footer-content{flex-direction:column;gap:1.5rem}.footer-nav{flex-wrap:wrap;justify-content:center;gap:1rem}}.hero{min-height:100vh;display:flex;align-items:center;padding:100px 0 60px;position:relative;overflow:hidden;background:linear-gradient(135deg,#0a0a0f,#1a1a2e,#0d1117)}.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}.circuit-svg{position:absolute;width:100%;height:100%;opacity:.6}.circuit-trace{stroke:var(--primary-green);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:800;stroke-dashoffset:800;animation:drawTrace 4s ease-out forwards;filter:drop-shadow(0 0 3px var(--primary-green))}.circuit-node{fill:var(--primary-green);opacity:0;animation:nodeGlow 4s ease-out forwards;filter:drop-shadow(0 0 6px var(--primary-green))}.data-dot{fill:var(--accent-cyan);filter:drop-shadow(0 0 8px var(--accent-cyan))}.data-dot.delay-2{fill:var(--primary-green);filter:drop-shadow(0 0 8px var(--primary-green))}.data-dot.delay-4{fill:var(--accent-orange);filter:drop-shadow(0 0 8px var(--accent-orange))}.delay-1{animation-delay:.3s}.delay-2{animation-delay:.6s}.delay-3{animation-delay:.9s}.delay-4{animation-delay:1.2s}.delay-5{animation-delay:1.5s}@keyframes drawTrace{0%{stroke-dashoffset:800;opacity:0}10%{opacity:.8}to{stroke-dashoffset:0;opacity:.4}}@keyframes nodeGlow{0%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1.5)}to{opacity:.8;transform:scale(1)}}.grid-overlay{position:absolute;width:100%;height:100%;background-image:linear-gradient(rgba(0,179,113,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,179,113,.03) 1px,transparent 1px);background-size:40px 40px;animation:gridPulse 8s ease-in-out infinite}@keyframes gridPulse{0%,to{opacity:.5}50%{opacity:.8}}.floating-icons{position:absolute;width:100%;height:100%;pointer-events:none}.float-icon{position:absolute;font-size:1.5rem;color:var(--primary-green);opacity:.15;animation:floatIcon 6s ease-in-out infinite}.float-icon.icon-1{left:5%;top:15%;animation-delay:0s}.float-icon.icon-2{left:10%;top:70%;animation-delay:1s;color:var(--primary-blue)}.float-icon.icon-3{right:8%;top:20%;animation-delay:2s}.float-icon.icon-4{right:15%;top:65%;animation-delay:3s;color:var(--accent-orange)}.float-icon.icon-5{left:50%;top:85%;animation-delay:4s;color:var(--accent-cyan)}@keyframes floatIcon{0%,to{transform:translateY(0) rotate(0);opacity:.15}50%{transform:translateY(-20px) rotate(10deg);opacity:.25}}.hero-content{position:relative;z-index:1}.hero-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-left{text-align:left}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:#00b3711a;border:1px solid rgba(0,179,113,.3);padding:.5rem 1rem;border-radius:var(--radius-md);margin-bottom:1.5rem;font-size:.85rem;color:var(--primary-green);font-family:JetBrains Mono,Fira Code,monospace;animation:fadeInUp .6s ease-out;position:relative;overflow:hidden}.badge-icon{animation:pulse 2s ease-in-out infinite}.badge-pulse{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,179,113,.2),transparent);animation:badgeSweep 3s ease-in-out infinite}@keyframes badgeSweep{0%{left:-100%}50%,to{left:100%}}.hero h1{font-size:3.5rem;line-height:1.1;margin-bottom:1rem;animation:fadeInUp .6s ease-out .1s backwards;font-weight:800;letter-spacing:-.03em;color:#fff}.animated-gradient{background-size:200% auto;animation:shimmer 3s linear infinite}.animated-gradient.delay{animation-delay:1.5s}@keyframes shimmer{0%{background-position:0% center}to{background-position:200% center}}.hero-tagline{font-size:1.25rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--primary-green);margin-bottom:1rem;animation:fadeInUp .6s ease-out .15s backwards}.typing-text{color:var(--accent-cyan);animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-description{font-size:1.1rem;color:#ffffffb3;max-width:500px;margin-bottom:2rem;animation:fadeInUp .6s ease-out .2s backwards;line-height:1.7}.hero-buttons{display:flex;gap:1rem;margin-bottom:2rem;animation:fadeInUp .6s ease-out .3s backwards}.btn-tech{border-color:#fff3;color:#fffc}.btn-tech:hover{border-color:var(--primary-green);color:var(--primary-green);background:#00b3711a}.btn-glow{position:relative;overflow:hidden}.btn-glow:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:btnShine 3s ease-in-out infinite}@keyframes btnShine{0%{left:-100%}50%,to{left:100%}}.tech-stack{display:flex;flex-wrap:wrap;gap:.5rem;animation:fadeInUp .6s ease-out .4s backwards}.tech-badge{font-size:.75rem;font-family:JetBrains Mono,Fira Code,monospace;padding:.25rem .75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:#fff9;transition:all var(--transition-fast)}.tech-badge:hover{border-color:var(--primary-green);color:var(--primary-green);background:#00b3711a}.hero-right{animation:fadeInRight .8s ease-out .3s backwards}.terminal-window{background:#0d1117;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 0 0 1px #00b3711a,0 20px 50px #00000080,0 0 100px #00b3711a}.terminal-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.1)}.terminal-dots{display:flex;gap:.5rem}.terminal-dots .dot{width:12px;height:12px;border-radius:50%}.dot.red{background:#ff5f56}.dot.yellow{background:#ffbd2e}.dot.green{background:#27ca40}.terminal-title{font-size:.8rem;font-family:JetBrains Mono,Fira Code,monospace;color:#ffffff80}.terminal-body{padding:1.5rem;min-height:280px;max-height:320px;overflow:hidden}.code-content{font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem;line-height:1.6;color:#e6edf3;margin:0;white-space:pre-wrap}.code-content .cursor{color:var(--primary-green);animation:cursorBlink 1s step-end infinite}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.terminal-footer{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#ffffff05;border-top:1px solid rgba(255,255,255,.1);font-size:.75rem;font-family:JetBrains Mono,Fira Code,monospace;color:#fff6}.status-dot{width:8px;height:8px;background:var(--primary-green);border-radius:50%;animation:statusPulse 2s ease-in-out infinite}@keyframes statusPulse{0%,to{opacity:1;box-shadow:0 0 #00b37166}50%{opacity:.8;box-shadow:0 0 0 4px #00b37100}}.hero-stats{display:flex;gap:2rem;margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);animation:fadeInUp .6s ease-out .5s backwards}.stat{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);transition:all var(--transition-normal)}.stat:hover{border-color:#00b3714d;background:#00b3710d;transform:translateY(-2px)}.stat-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#00b3711a;border-radius:var(--radius-md);color:var(--primary-green);font-size:1.25rem}.stat-content{display:flex;flex-direction:column}.stat-number{font-size:1.75rem;font-weight:800;color:#fff;line-height:1;font-family:JetBrains Mono,Fira Code,monospace}.stat-label{font-size:.85rem;color:#ffffff80;margin-top:.25rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.courses-preview{background:linear-gradient(180deg,#0d1117,#1a1a2e,#0d1117);position:relative;padding:5rem 0;overflow:hidden}.courses-preview:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,179,113,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,179,113,.03) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}.section-header{text-align:center;margin-bottom:3rem;position:relative;z-index:1}.section-tag{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;font-family:JetBrains Mono,Fira Code,monospace;color:var(--primary-green);background:#00b3711a;border:1px solid rgba(0,179,113,.2);padding:.4rem .8rem;border-radius:var(--radius-sm);margin-bottom:1rem}.section-title{font-size:2.5rem;margin-bottom:.75rem;color:#fff}.section-subtitle{font-size:1.1rem;color:#fff9;margin-bottom:0}.courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;position:relative;z-index:1}.course-card{position:relative;background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card-circuit{position:absolute;top:0;right:0;width:120px;height:120px;opacity:.3;transition:opacity var(--transition-normal);background:linear-gradient(90deg,transparent 49%,rgba(0,179,113,.15) 49%,rgba(0,179,113,.15) 51%,transparent 51%),linear-gradient(0deg,transparent 49%,rgba(0,179,113,.15) 49%,rgba(0,179,113,.15) 51%,transparent 51%);background-size:20px 20px}.course-card:hover .card-circuit{opacity:.6}.card-glow{position:absolute;top:0;left:0;right:0;height:3px;opacity:.5;transition:opacity var(--transition-normal)}.course-card.green .card-glow{background:linear-gradient(90deg,var(--primary-green),var(--accent-cyan));box-shadow:0 0 20px #00b3714d}.course-card.blue .card-glow{background:linear-gradient(90deg,var(--primary-blue),var(--accent-cyan));box-shadow:0 0 20px #0066cc4d}.course-card.orange .card-glow{background:linear-gradient(90deg,var(--accent-orange),#ffbd2e);box-shadow:0 0 20px #e55a2b4d}.course-card:hover .card-glow{opacity:1}.course-card:hover{transform:translateY(-8px);background:#ffffff0d;box-shadow:0 20px 40px #0000004d}.course-card.green:hover{border-color:#00b37180}.course-card.blue:hover{border-color:#0066cc80}.course-card.orange:hover{border-color:#e55a2b80}.course-icon{position:relative;width:64px;height:64px;margin-bottom:1.5rem;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.75rem;z-index:1;transition:transform var(--transition-normal)}.course-card:hover .course-icon{transform:scale(1.1)}.icon-ring{position:absolute;width:100%;height:100%;border-radius:var(--radius-md);border:2px solid transparent;opacity:0;transition:all var(--transition-normal)}.course-card:hover .icon-ring{opacity:1;transform:scale(1.2)}.course-card.green .icon-ring{border-color:var(--primary-green);box-shadow:0 0 15px #00b3714d}.course-card.blue .icon-ring{border-color:var(--primary-blue);box-shadow:0 0 15px #0066cc4d}.course-card.orange .icon-ring{border-color:var(--accent-orange);box-shadow:0 0 15px #e55a2b4d}.course-card.green .course-icon{background:#00b37126;color:var(--primary-green)}.course-card.blue .course-icon{background:#0066cc26;color:var(--primary-blue)}.course-card.orange .course-icon{background:#e55a2b26;color:var(--accent-orange)}.course-card h3{margin-bottom:.75rem;font-size:1.25rem;color:#fff}.course-card p{margin-bottom:1rem;font-size:.95rem;color:#fff9;line-height:1.6;flex-grow:1}.course-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tech-tag{font-size:.7rem;font-family:JetBrains Mono,Fira Code,monospace;padding:.25rem .6rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:#ffffff80;transition:all var(--transition-fast)}.course-card.green .tech-tag{color:var(--primary-green);background:#00b3711a;border-color:#00b37133}.course-card.blue .tech-tag{color:var(--primary-blue);background:#0066cc1a;border-color:#06c3}.course-card.orange .tech-tag{color:var(--accent-orange);background:#e55a2b1a;border-color:#e55a2b33}.card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08);margin-top:auto}.explore-text{font-size:.85rem;font-weight:600;color:#ffffff80;transition:color var(--transition-fast)}.arrow-icon{font-size:1rem;color:#ffffff80;transition:all var(--transition-fast);transform:translate(0)}.course-card:hover .explore-text,.course-card:hover .arrow-icon{color:var(--primary-green)}.course-card.blue:hover .explore-text,.course-card.blue:hover .arrow-icon{color:var(--primary-blue)}.course-card.orange:hover .explore-text,.course-card.orange:hover .arrow-icon{color:var(--accent-orange)}.course-card:hover .arrow-icon{transform:translate(4px)}.cta-section{text-align:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#0a0a0f,#1a1a2e);padding:5rem 0}.cta-bg{position:absolute;inset:0}.cta-circuit{position:absolute;width:100%;height:100%;background-image:linear-gradient(rgba(0,179,113,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,179,113,.05) 1px,transparent 1px);background-size:40px 40px}.cta-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(0,179,113,.15) 0%,transparent 70%);pointer-events:none}.cta-content{position:relative;z-index:1}.cta-terminal{display:inline-flex;align-items:center;gap:.5rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:1rem;margin-bottom:1.5rem;padding:.75rem 1.5rem;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md)}.cta-terminal .prompt{color:var(--primary-green)}.cta-terminal .command{color:#fffc}.cta-terminal .cursor-blink{color:var(--primary-green);animation:cursorBlink 1s step-end infinite}.cta-section h2{margin-bottom:.75rem;font-size:2.5rem;color:#fff}.cta-section>.container>.cta-content>p{margin-bottom:2rem;font-size:1.15rem;color:#fff9;max-width:500px;margin-left:auto;margin-right:auto}.cta-buttons{display:flex;gap:1rem;justify-content:center}@media(max-width:1024px){.hero-layout{grid-template-columns:1fr;gap:3rem;text-align:center}.hero-left{text-align:center}.hero-description{margin:0 auto 2rem}.hero-buttons,.tech-stack{justify-content:center}.hero-right{max-width:500px;margin:0 auto}.hero-stats{justify-content:center;flex-wrap:wrap}.courses-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.hero{min-height:auto;padding:100px 0 60px}.hero h1{font-size:2.25rem}.hero-tagline,.hero-description{font-size:1rem}.hero-buttons{flex-direction:column;align-items:center}.hero-buttons .btn{width:100%;max-width:280px}.hero-stats{flex-direction:column;align-items:center;gap:1rem}.stat{width:100%;max-width:280px;justify-content:flex-start}.terminal-window{display:none}.section-title{font-size:1.75rem}.courses-grid{grid-template-columns:1fr}.circuit-svg{display:none}.cta-section h2{font-size:1.75rem}.cta-buttons{flex-direction:column;align-items:center}.cta-buttons .btn{width:100%;max-width:280px}}.courses-hero{padding:120px 0 40px;text-align:center}.courses-hero h1{font-size:2.5rem;margin-bottom:.5rem}.courses-hero p{font-size:1.1rem;color:var(--text-secondary)}.courses-list{padding-top:0}.courses-layout{display:grid;grid-template-columns:280px 1fr;gap:3rem;align-items:start}.courses-sidebar{position:sticky;top:100px}.courses-sidebar .sidebar-section{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-lg);padding:1.25rem}.courses-sidebar .sidebar-title{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(0,0,0,.08)}.courses-sidebar .sidebar-title svg{color:var(--primary-green)}.courses-sidebar .category-nav{display:flex;flex-direction:column;gap:.5rem}.courses-sidebar .nav-category{position:relative}.courses-sidebar .nav-category-header{display:flex;align-items:center;gap:.25rem}.courses-sidebar .nav-toggle{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:none;border:none;cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0}.courses-sidebar .nav-toggle:hover{background:#0000000d;color:var(--text-primary)}.courses-sidebar .nav-toggle.green:hover{color:var(--primary-green)}.courses-sidebar .nav-toggle.blue:hover{color:var(--primary-blue)}.courses-sidebar .nav-toggle.orange:hover{color:var(--accent-orange)}.courses-sidebar .nav-toggle.purple:hover{color:#8b5cf6}.courses-sidebar .nav-toggle.teal:hover{color:#14b8a6}.courses-sidebar .nav-category-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;color:var(--text-primary);background:#00000005;border:1px solid transparent;transition:all var(--transition-fast)}.courses-sidebar .nav-category-link:hover{background:#0000000a;border-color:#00000014}.courses-sidebar .nav-category-link .nav-icon{font-size:1.1rem;flex-shrink:0;padding:.4rem;border-radius:var(--radius-sm);background:#0000000d}.courses-sidebar .nav-category-link.green .nav-icon{background:#00d08426;color:var(--primary-green)}.courses-sidebar .nav-category-link.green:hover{background:#00d08414;border-color:#00d0844d}.courses-sidebar .nav-category-link.blue .nav-icon{background:#0073e626;color:var(--primary-blue)}.courses-sidebar .nav-category-link.blue:hover{background:#0073e614;border-color:#0073e64d}.courses-sidebar .nav-category-link.orange .nav-icon{background:#ff6b3526;color:var(--accent-orange)}.courses-sidebar .nav-category-link.orange:hover{background:#ff6b3514;border-color:#ff6b354d}.courses-sidebar .nav-category-link.purple .nav-icon{background:#8b5cf626;color:#8b5cf6}.courses-sidebar .nav-category-link.purple:hover{background:#8b5cf614;border-color:#8b5cf64d}.courses-sidebar .nav-category-link.teal .nav-icon{background:#14b8a626;color:#14b8a6}.courses-sidebar .nav-category-link.teal:hover{background:#14b8a614;border-color:#14b8a64d}.courses-sidebar .nav-children{position:relative;margin-top:.25rem;margin-left:1.25rem;padding-left:.75rem}.courses-sidebar .nav-children:before{content:"";position:absolute;left:0;top:0;bottom:.5rem;width:2px;background:#00000014;border-radius:1px}.courses-sidebar .nav-children.nested{margin-left:.75rem;padding-left:.75rem;margin-top:.15rem}.courses-sidebar .nav-children.nested:before{background:#0000000f}.courses-sidebar .nav-tree-item{position:relative}.courses-sidebar .nav-child-header{display:flex;align-items:center;gap:.15rem}.courses-sidebar .nav-toggle-small{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;background:none;border:none;cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0;font-size:.7rem}.courses-sidebar .nav-toggle-small:hover{background:#0000000d;color:var(--text-primary)}.courses-sidebar .nav-toggle-small.green:hover{color:var(--primary-green)}.courses-sidebar .nav-toggle-small.blue:hover{color:var(--primary-blue)}.courses-sidebar .nav-toggle-small.orange:hover{color:var(--accent-orange)}.courses-sidebar .nav-toggle-small.purple:hover{color:#8b5cf6}.courses-sidebar .nav-toggle-small.teal:hover{color:#14b8a6}.courses-sidebar .nav-toggle-spacer{width:1.25rem;flex-shrink:0}.courses-sidebar .nav-child-link{position:relative;display:flex;align-items:center;gap:.4rem;padding:.4rem .6rem;border-radius:var(--radius-sm);font-size:.82rem;font-weight:500;color:var(--text-secondary);transition:all var(--transition-fast);flex:1}.courses-sidebar .nav-child-link:hover{color:var(--text-primary);background:#0000000a}.courses-sidebar .nav-post-link{display:flex;align-items:flex-start;gap:.4rem;padding:.35rem .5rem;margin-left:1.25rem;border-radius:var(--radius-sm);font-size:.78rem;font-weight:400;color:var(--text-muted);line-height:1.3;transition:all var(--transition-fast)}.courses-sidebar .nav-post-link:hover{color:var(--text-secondary);background:#00000008}.courses-sidebar .nav-post-icon{flex-shrink:0;margin-top:.1rem;font-size:.7rem;opacity:.6}.courses-sidebar .nav-post-link span{flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.courses-main{min-width:0}.course-detail{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-lg);padding:2rem;margin-bottom:2rem;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;transition:all .3s cubic-bezier(.4,0,.2,1)}.course-detail:hover{border-color:#00000026;transform:translateY(-4px);box-shadow:0 12px 20px -5px #0000001a,0 4px 6px -2px #0000000d}.course-detail.green:hover{border-color:var(--primary-green)}.course-detail.blue:hover{border-color:var(--primary-blue)}.course-detail.orange:hover{border-color:var(--accent-orange)}.course-header{display:flex;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem}.course-detail .course-icon{width:60px;height:60px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.course-detail.green .course-icon{background:#00d08426;color:var(--primary-green)}.course-detail.blue .course-icon{background:#0073e626;color:var(--primary-blue)}.course-detail.orange .course-icon{background:#ff6b3526;color:var(--accent-orange)}.course-header h2{margin-bottom:.25rem;font-size:1.5rem}.course-header p{margin-bottom:0}.course-topics h4{font-size:1rem;margin-bottom:1rem;color:var(--text-secondary)}.course-topics ul{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.course-topics li{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary)}.course-topics svg{color:var(--primary-green);flex-shrink:0}.category-tree-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.08)}.category-tree-section h4{font-size:.95rem;color:var(--text-secondary);margin-bottom:1rem;font-weight:500}.category-tree{background:#00000005;border-radius:var(--radius-md);padding:1rem}.tree-node{position:relative}.tree-node-header{display:flex;align-items:center;gap:.25rem;margin-bottom:.25rem}.tree-toggle{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:none;border:none;cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0}.tree-toggle:hover{background:#0000000d;color:var(--text-primary)}.tree-spacer{width:1.5rem;flex-shrink:0}.tree-node-link{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;color:var(--text-secondary);transition:all var(--transition-fast);flex:1}.tree-node-link:hover{background:#0000000d;color:var(--text-primary)}.tree-node-name{flex:1}.tree-node-count{font-size:.8rem;color:var(--text-muted);font-weight:400}.tree-node-children{position:relative;margin-left:.75rem;padding-left:1rem;border-left:2px solid rgba(0,0,0,.08)}.tree-node-link.green:hover{background:#00d0841a;color:var(--primary-green)}.tree-node-link.blue:hover{background:#0073e61a;color:var(--primary-blue)}.tree-node-link.orange:hover{background:#ff6b351a;color:var(--accent-orange)}.tree-node-link.purple:hover{background:#8b5cf61a;color:#8b5cf6}.tree-node-link.teal:hover{background:#14b8a61a;color:#14b8a6}.category-tree.green .tree-node-children{border-left-color:#00d0844d}.category-tree.blue .tree-node-children{border-left-color:#0073e64d}.category-tree.orange .tree-node-children{border-left-color:#ff6b354d}.category-tree.purple .tree-node-children{border-left-color:#8b5cf64d}.category-tree.teal .tree-node-children{border-left-color:#14b8a64d}.category-tree.green .tree-toggle:hover{color:var(--primary-green)}.category-tree.blue .tree-toggle:hover{color:var(--primary-blue)}.category-tree.orange .tree-toggle:hover{color:var(--accent-orange)}.category-tree.purple .tree-toggle:hover{color:#8b5cf6}.category-tree.teal .tree-toggle:hover{color:#14b8a6}.tree-node.depth-0>.tree-node-header .tree-node-link{font-weight:600}.tree-node.depth-1>.tree-node-header .tree-node-link{font-size:.875rem}.tree-node.depth-2>.tree-node-header .tree-node-link,.tree-node.depth-3>.tree-node-header .tree-node-link{font-size:.85rem;color:var(--text-muted)}.no-categories{text-align:center;color:var(--text-secondary);padding:3rem 0}.course-detail.purple:hover{border-color:#8b5cf6}.course-detail.teal:hover{border-color:#14b8a6}.course-detail.purple .course-icon{background:#8b5cf626;color:#8b5cf6}.course-detail.teal .course-icon{background:#14b8a626;color:#14b8a6}.course-detail.purple .featured-link{color:#8b5cf6}.course-detail.teal .featured-link{color:#14b8a6}.course-detail.purple .view-all-link:hover{border-color:#8b5cf6;color:#8b5cf6}.course-detail.teal .view-all-link:hover{border-color:#14b8a6;color:#14b8a6}.course-featured{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.08);display:flex;align-items:center;gap:1rem}.course-featured span{color:var(--text-muted);font-size:.9rem}.featured-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--primary-green);font-weight:500;transition:all var(--transition-fast)}.featured-link:hover{gap:.75rem}.course-detail.blue .featured-link{color:var(--primary-blue)}.course-detail.orange .featured-link{color:var(--accent-orange)}.course-all-posts{margin-top:1rem;text-align:right}.view-all-link{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid rgba(0,0,0,.15);border-radius:var(--radius-md);font-size:.9rem;font-weight:500;color:var(--text-secondary);transition:all var(--transition-fast)}.view-all-link:hover{gap:.75rem;border-color:var(--primary-green);color:var(--primary-green)}.course-detail.blue .view-all-link:hover{border-color:var(--primary-blue);color:var(--primary-blue)}.course-detail.orange .view-all-link:hover{border-color:var(--accent-orange);color:var(--accent-orange)}@media(max-width:1024px){.courses-layout{grid-template-columns:240px 1fr;gap:2rem}}@media(max-width:768px){.courses-layout{grid-template-columns:1fr;gap:1.5rem}.courses-sidebar{position:static;order:-1}.courses-sidebar .sidebar-section{padding:1rem}.courses-sidebar .category-nav{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}.courses-sidebar .nav-category{margin-bottom:0}.courses-sidebar .nav-category-link{padding:.5rem .75rem;font-size:.85rem;background:transparent;border:1px solid rgba(0,0,0,.1)}.courses-sidebar .nav-category-link .nav-icon{padding:.25rem;font-size:.9rem}.courses-sidebar .nav-children{display:none}.course-header{flex-direction:column;text-align:center}.course-detail .course-icon{margin:0 auto}.course-topics ul{grid-template-columns:1fr}}.post{padding:100px 0 60px}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary);margin-bottom:2rem;transition:color var(--transition-fast)}.back-link:hover{color:var(--primary-green)}.post-header{margin-bottom:3rem;padding:2rem;background:#fff;border-radius:var(--radius-lg);border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.post-category{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1rem;border-radius:var(--radius-full);font-size:.85rem;font-weight:500;margin-bottom:1rem}.post-category.green{background:#00d08426;color:var(--primary-green)}.post-category.blue{background:#0073e626;color:var(--primary-blue)}.post-category.orange{background:#ff6b3526;color:var(--accent-orange)}.post-header h1{font-size:2.5rem;line-height:1.2;margin-bottom:1rem}.post-meta{font-size:1.1rem;color:var(--text-secondary);margin:0}.post-layout{display:grid;grid-template-columns:280px 1fr;gap:3rem;align-items:start}.post-sidebar{position:sticky;top:100px}.sidebar-section{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;transition:box-shadow var(--transition-normal)}.sidebar-section:hover{box-shadow:0 10px 15px -3px #00000014,0 4px 6px -2px #0000000a}.sidebar-title{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(0,0,0,.08)}.sidebar-title svg{color:var(--primary-green)}.category-nav{display:flex;flex-direction:column;gap:.5rem}.nav-category{position:relative}.nav-category-header{display:flex;align-items:center;gap:.25rem}.nav-toggle{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:none;border:none;cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0}.nav-toggle:hover{background:#0000000d;color:var(--text-primary)}.nav-toggle.green:hover{color:var(--primary-green)}.nav-toggle.blue:hover{color:var(--primary-blue)}.nav-toggle.orange:hover{color:var(--accent-orange)}.nav-toggle.purple:hover{color:#8b5cf6}.nav-toggle.teal:hover{color:#14b8a6}.nav-category-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;color:var(--text-primary);background:#00000005;border:1px solid transparent;transition:all var(--transition-fast)}.nav-category-link:hover{background:#0000000a;border-color:#00000014}.nav-category-link .nav-icon{font-size:1.1rem;flex-shrink:0;padding:.4rem;border-radius:var(--radius-sm);background:#0000000d}.nav-category-link.green .nav-icon{background:#00d08426;color:var(--primary-green)}.nav-category-link.green:hover,.nav-category-link.green.active{background:#00d08414;border-color:#00d0844d}.nav-category-link.blue .nav-icon{background:#0073e626;color:var(--primary-blue)}.nav-category-link.blue:hover,.nav-category-link.blue.active{background:#0073e614;border-color:#0073e64d}.nav-category-link.orange .nav-icon{background:#ff6b3526;color:var(--accent-orange)}.nav-category-link.orange:hover,.nav-category-link.orange.active{background:#ff6b3514;border-color:#ff6b354d}.nav-category-link.purple .nav-icon{background:#8b5cf626;color:#8b5cf6}.nav-category-link.purple:hover,.nav-category-link.purple.active{background:#8b5cf614;border-color:#8b5cf64d}.nav-category-link.teal .nav-icon{background:#14b8a626;color:#14b8a6}.nav-category-link.teal:hover,.nav-category-link.teal.active{background:#14b8a614;border-color:#14b8a64d}.nav-children{position:relative;margin-top:.25rem;margin-left:1.25rem;padding-left:.75rem}.nav-children:before{content:"";position:absolute;left:0;top:0;bottom:.5rem;width:2px;background:#00000014;border-radius:1px}.nav-children.nested{margin-left:.75rem;padding-left:.75rem;margin-top:.15rem}.nav-children.nested:before{background:#0000000f}.nav-tree-item{position:relative}.nav-child-header{display:flex;align-items:center;gap:.15rem}.nav-toggle-small{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;background:none;border:none;cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0;font-size:.7rem}.nav-toggle-small:hover{background:#0000000d;color:var(--text-primary)}.nav-toggle-small.green:hover{color:var(--primary-green)}.nav-toggle-small.blue:hover{color:var(--primary-blue)}.nav-toggle-small.orange:hover{color:var(--accent-orange)}.nav-toggle-small.purple:hover{color:#8b5cf6}.nav-toggle-small.teal:hover{color:#14b8a6}.nav-toggle-spacer{width:1.25rem;flex-shrink:0}.nav-child-link{position:relative;display:flex;align-items:center;gap:.4rem;padding:.4rem .6rem;border-radius:var(--radius-sm);font-size:.82rem;font-weight:500;color:var(--text-secondary);transition:all var(--transition-fast);flex:1}.nav-child-link:hover{color:var(--text-primary);background:#0000000a}.nav-child-link.active{font-weight:600}.nav-child-link.green.active{color:var(--primary-green);background:#00d0841a}.nav-child-link.blue.active{color:var(--primary-blue);background:#0073e61a}.nav-child-link.orange.active{color:var(--accent-orange);background:#ff6b351a}.nav-child-link.purple.active{color:#8b5cf6;background:#8b5cf61a}.nav-child-link.teal.active{color:#14b8a6;background:#14b8a61a}.nav-category:has(.nav-category-link.green.active) .nav-children:before,.nav-category:has(.nav-child-link.green.active) .nav-children:before{background:linear-gradient(to bottom,var(--primary-green),rgba(0,208,132,.2))}.nav-category:has(.nav-category-link.blue.active) .nav-children:before,.nav-category:has(.nav-child-link.blue.active) .nav-children:before{background:linear-gradient(to bottom,var(--primary-blue),rgba(0,115,230,.2))}.nav-category:has(.nav-category-link.orange.active) .nav-children:before,.nav-category:has(.nav-child-link.orange.active) .nav-children:before{background:linear-gradient(to bottom,var(--accent-orange),rgba(255,107,53,.2))}.nav-category:has(.nav-category-link.purple.active) .nav-children:before,.nav-category:has(.nav-child-link.purple.active) .nav-children:before{background:linear-gradient(to bottom,#8b5cf6,#8b5cf633)}.nav-category:has(.nav-category-link.teal.active) .nav-children:before,.nav-category:has(.nav-child-link.teal.active) .nav-children:before{background:linear-gradient(to bottom,#14b8a6,#14b8a633)}.nav-post-link{display:flex;align-items:flex-start;gap:.4rem;padding:.35rem .5rem;margin-left:1.25rem;border-radius:var(--radius-sm);font-size:.78rem;font-weight:400;color:var(--text-muted);line-height:1.3;transition:all var(--transition-fast)}.nav-post-link:hover{color:var(--text-secondary);background:#00000008}.nav-post-icon{flex-shrink:0;margin-top:.1rem;font-size:.7rem;opacity:.6}.nav-post-link span{flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.nav-post-link.active{font-weight:500;color:var(--text-primary);background:#0000000d}.nav-post-link.active .nav-post-icon{opacity:1}.nav-post-link.green.active{color:var(--primary-green);background:#00d0841a}.nav-post-link.green.active .nav-post-icon{color:var(--primary-green)}.nav-post-link.blue.active{color:var(--primary-blue);background:#0073e61a}.nav-post-link.blue.active .nav-post-icon{color:var(--primary-blue)}.nav-post-link.orange.active{color:var(--accent-orange);background:#ff6b351a}.nav-post-link.orange.active .nav-post-icon{color:var(--accent-orange)}.nav-post-link.purple.active{color:#8b5cf6;background:#8b5cf61a}.nav-post-link.purple.active .nav-post-icon{color:#8b5cf6}.nav-post-link.teal.active{color:#14b8a6;background:#14b8a61a}.nav-post-link.teal.active .nav-post-icon{color:#14b8a6}.post-main{min-width:0}.post-content{max-width:800px;background:#fff;border-radius:var(--radius-lg);border:1px solid rgba(0,0,0,.08);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;padding:2.5rem}.post-content h2{font-size:1.75rem;margin-top:2.5rem;margin-bottom:1rem;color:var(--text-primary)}.post-content h3{font-size:1.35rem;margin-top:2rem;margin-bottom:.75rem;color:var(--text-primary)}.post-content h4{font-size:1.1rem;margin-top:1.5rem;margin-bottom:.5rem}.post-content p{font-size:1.05rem;line-height:1.8;margin-bottom:1.25rem}.post-content ul,.post-content ol{margin-bottom:1.5rem;padding-left:1.5rem}.post-content li{font-size:1.05rem;line-height:1.7;margin-bottom:.5rem;color:var(--text-secondary)}.post-content strong{color:var(--text-primary)}.highlight-box{background:#00d0841a;border-left:4px solid var(--primary-green);padding:1.5rem;border-radius:0 var(--radius-md) var(--radius-md) 0;margin:1.5rem 0}.highlight-box h4{margin-top:0;margin-bottom:.75rem;color:var(--primary-green)}.highlight-box p,.highlight-box ul{margin-bottom:0}.code-block{background:#f5f5f7;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-md);padding:1.25rem;overflow-x:auto;font-family:Fira Code,Consolas,monospace;font-size:.9rem;line-height:1.6;color:#1a1a2e;margin:1rem 0 1.5rem}.diagram{background:#f5f5f7;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-md);padding:1.5rem;margin:1.5rem 0;overflow-x:auto}.diagram pre{font-family:Fira Code,Consolas,monospace;font-size:.85rem;line-height:1.5;color:var(--text-secondary);margin:0}.comparison-table{width:100%;border-collapse:separate;border-spacing:0;margin:1.5rem 0;font-size:.95rem;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 1px 3px #00000014}.comparison-table th,.comparison-table td{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid rgba(0,0,0,.06)}.comparison-table th{background:linear-gradient(135deg,#00d0841f,#0073e614);color:var(--primary-green);font-weight:600;position:sticky;top:70px;z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.comparison-table th:first-child{border-top-left-radius:var(--radius-md)}.comparison-table th:last-child{border-top-right-radius:var(--radius-md)}.comparison-table td{color:var(--text-secondary);background:#fff;transition:background var(--transition-fast)}.comparison-table tbody tr:nth-child(2n) td{background:#00000004}.comparison-table tbody tr:hover td{background:#00b3710d}.comparison-table tbody tr:last-child td:first-child{border-bottom-left-radius:var(--radius-md)}.comparison-table tbody tr:last-child td:last-child{border-bottom-right-radius:var(--radius-md)}.use-cases{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:1.5rem 0}.use-case{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-md);padding:1.5rem}.use-case.yes{border-color:#00d0844d}.use-case.no{border-color:#ff6b354d}.use-case h4{margin-top:0;margin-bottom:1rem}.use-case.yes h4{color:var(--primary-green)}.use-case.no h4{color:var(--accent-orange)}.use-case ul{margin:0;padding-left:1.25rem}.summary-box{background:linear-gradient(135deg,#00d0841a,#0073e61a);border:1px solid rgba(0,208,132,.3);border-radius:var(--radius-lg);padding:1.5rem;margin:2rem 0}.summary-box p{margin-bottom:.75rem}.summary-box p:last-child{margin-bottom:0}@media(max-width:1024px){.post-layout{grid-template-columns:240px 1fr;gap:2rem}}@media(max-width:768px){.post-layout{grid-template-columns:1fr;gap:1.5rem}.post-sidebar{position:static;order:-1}.sidebar-section{padding:1rem}.category-nav{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}.nav-category{margin-bottom:0}.nav-category-link{padding:.5rem .75rem;font-size:.85rem;background:transparent;border:1px solid rgba(0,0,0,.1)}.nav-category-link .nav-icon{padding:.25rem;font-size:.9rem}.nav-children{display:none}.post-header h1{font-size:1.75rem}.use-cases{grid-template-columns:1fr}.comparison-table{font-size:.85rem}.comparison-table th,.comparison-table td{padding:.6rem .75rem}}.about-hero{padding:120px 0 40px;text-align:center}.about-hero h1{font-size:2.5rem;margin-bottom:.5rem}.about-hero p{font-size:1.1rem;color:var(--text-secondary)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.about-text h2{margin-bottom:1.5rem}.about-text p{font-size:1.05rem;line-height:1.8}.contact-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-lg);padding:2rem}.contact-card h3,.contact-info{margin-bottom:1.5rem}.contact-item{display:flex;align-items:center;gap:.75rem;color:var(--text-secondary);margin-bottom:.75rem}.contact-item svg{color:var(--primary-green)}.contact-form input,.contact-form textarea{width:100%;padding:.875rem 1rem;margin-bottom:1rem;background:#f5f5f7;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;font-family:inherit;outline:none;transition:border-color var(--transition-fast)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--primary-green)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--text-muted)}.contact-form textarea{resize:vertical}.contact-form .btn{width:100%}@media(max-width:768px){.about-grid{grid-template-columns:1fr}}.category-hero{padding:100px 0 40px}.category-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;margin-bottom:2rem;font-size:.9rem}.category-breadcrumb .breadcrumb-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-secondary);transition:color var(--transition-fast)}.category-breadcrumb .breadcrumb-link:hover{color:var(--primary-green)}.category-breadcrumb .breadcrumb-item{display:inline-flex;align-items:center;gap:.25rem;color:var(--text-muted)}.category-breadcrumb .breadcrumb-item.current{color:var(--text-primary);font-weight:500}.category-breadcrumb svg{font-size:.75rem}.category-hero .back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary);margin-bottom:2rem;transition:color var(--transition-fast)}.category-hero .back-link:hover{color:var(--primary-green)}.category-hero-content{display:flex;align-items:center;gap:1.5rem}.category-icon{width:80px;height:80px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:2rem;flex-shrink:0}.category-icon.green{background:#00d08426;color:var(--primary-green)}.category-icon.blue{background:#0073e626;color:var(--primary-blue)}.category-icon.orange{background:#ff6b3526;color:var(--accent-orange)}.category-hero h1{font-size:2.5rem;margin-bottom:.5rem}.category-hero p{font-size:1.1rem;color:var(--text-secondary);margin:0}.category-content{padding-top:0}.category-layout{display:grid;grid-template-columns:280px 1fr;gap:3rem;align-items:start}.category-sidebar{position:sticky;top:100px}.category-sidebar .sidebar-section{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-lg);padding:1.25rem}.category-sidebar .sidebar-title{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(0,0,0,.08)}.category-sidebar .sidebar-title svg{color:var(--primary-green)}.category-sidebar .category-nav{display:flex;flex-direction:column;gap:.5rem}.category-sidebar .nav-category{position:relative}.category-sidebar .nav-category-header{display:flex;align-items:center;gap:.25rem}.category-sidebar .nav-toggle{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:none;border:none;cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0}.category-sidebar .nav-toggle:hover{background:#0000000d;color:var(--text-primary)}.category-sidebar .nav-toggle.green:hover{color:var(--primary-green)}.category-sidebar .nav-toggle.blue:hover{color:var(--primary-blue)}.category-sidebar .nav-toggle.orange:hover{color:var(--accent-orange)}.category-sidebar .nav-toggle.purple:hover{color:#8b5cf6}.category-sidebar .nav-toggle.teal:hover{color:#14b8a6}.category-sidebar .nav-category-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;color:var(--text-primary);background:#00000005;border:1px solid transparent;transition:all var(--transition-fast)}.category-sidebar .nav-category-link:hover{background:#0000000a;border-color:#00000014}.category-sidebar .nav-category-link .nav-icon{font-size:1.1rem;flex-shrink:0;padding:.4rem;border-radius:var(--radius-sm);background:#0000000d}.category-sidebar .nav-category-link.green .nav-icon{background:#00d08426;color:var(--primary-green)}.category-sidebar .nav-category-link.green:hover,.category-sidebar .nav-category-link.green.active{background:#00d08414;border-color:#00d0844d}.category-sidebar .nav-category-link.blue .nav-icon{background:#0073e626;color:var(--primary-blue)}.category-sidebar .nav-category-link.blue:hover,.category-sidebar .nav-category-link.blue.active{background:#0073e614;border-color:#0073e64d}.category-sidebar .nav-category-link.orange .nav-icon{background:#ff6b3526;color:var(--accent-orange)}.category-sidebar .nav-category-link.orange:hover,.category-sidebar .nav-category-link.orange.active{background:#ff6b3514;border-color:#ff6b354d}.category-sidebar .nav-category-link.purple .nav-icon{background:#8b5cf626;color:#8b5cf6}.category-sidebar .nav-category-link.purple:hover,.category-sidebar .nav-category-link.purple.active{background:#8b5cf614;border-color:#8b5cf64d}.category-sidebar .nav-category-link.teal .nav-icon{background:#14b8a626;color:#14b8a6}.category-sidebar .nav-category-link.teal:hover,.category-sidebar .nav-category-link.teal.active{background:#14b8a614;border-color:#14b8a64d}.category-sidebar .nav-children{position:relative;margin-top:.25rem;margin-left:1.25rem;padding-left:.75rem}.category-sidebar .nav-children:before{content:"";position:absolute;left:0;top:0;bottom:.5rem;width:2px;background:#00000014;border-radius:1px}.category-sidebar .nav-children.nested{margin-left:.75rem;padding-left:.75rem;margin-top:.15rem}.category-sidebar .nav-children.nested:before{background:#0000000f}.category-sidebar .nav-tree-item{position:relative}.category-sidebar .nav-child-header{display:flex;align-items:center;gap:.15rem}.category-sidebar .nav-toggle-small{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;background:none;border:none;cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0;font-size:.7rem}.category-sidebar .nav-toggle-small:hover{background:#0000000d;color:var(--text-primary)}.category-sidebar .nav-toggle-small.green:hover{color:var(--primary-green)}.category-sidebar .nav-toggle-small.blue:hover{color:var(--primary-blue)}.category-sidebar .nav-toggle-small.orange:hover{color:var(--accent-orange)}.category-sidebar .nav-toggle-small.purple:hover{color:#8b5cf6}.category-sidebar .nav-toggle-small.teal:hover{color:#14b8a6}.category-sidebar .nav-toggle-spacer{width:1.25rem;flex-shrink:0}.category-sidebar .nav-child-link{position:relative;display:flex;align-items:center;gap:.4rem;padding:.4rem .6rem;border-radius:var(--radius-sm);font-size:.82rem;font-weight:500;color:var(--text-secondary);transition:all var(--transition-fast);flex:1}.category-sidebar .nav-child-link:hover{color:var(--text-primary);background:#0000000a}.category-sidebar .nav-child-link.active{font-weight:600}.category-sidebar .nav-child-link.green.active{color:var(--primary-green);background:#00d0841a}.category-sidebar .nav-child-link.blue.active{color:var(--primary-blue);background:#0073e61a}.category-sidebar .nav-child-link.orange.active{color:var(--accent-orange);background:#ff6b351a}.category-sidebar .nav-child-link.purple.active{color:#8b5cf6;background:#8b5cf61a}.category-sidebar .nav-child-link.teal.active{color:#14b8a6;background:#14b8a61a}.category-sidebar .nav-post-link{display:flex;align-items:flex-start;gap:.4rem;padding:.35rem .5rem;margin-left:1.25rem;border-radius:var(--radius-sm);font-size:.78rem;font-weight:400;color:var(--text-muted);line-height:1.3;transition:all var(--transition-fast)}.category-sidebar .nav-post-link:hover{color:var(--text-secondary);background:#00000008}.category-sidebar .nav-post-icon{flex-shrink:0;margin-top:.1rem;font-size:.7rem;opacity:.6}.category-sidebar .nav-post-link span{flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.category-main{min-width:0}.child-categories-section{margin-bottom:2rem}.child-categories-section .children-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.section-title{font-size:1.5rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,0,0,.08)}.loading,.no-posts{text-align:center;color:var(--text-secondary);padding:3rem 0}.no-posts a{color:var(--primary-green)}.posts-list{display:flex;flex-direction:column;gap:1.5rem}.post-item{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-lg);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000000a}.post-item:hover{border-color:#00000026;transform:translateY(-4px) translate(4px);box-shadow:0 12px 20px -5px #0000001a,0 4px 6px -2px #0000000d}.post-item.green:hover{border-color:var(--primary-green)}.post-item.blue:hover{border-color:var(--primary-blue)}.post-item.orange:hover{border-color:var(--accent-orange)}.post-item-content{padding:1.5rem}.post-item h3{font-size:1.25rem;margin-bottom:.75rem}.post-item-excerpt{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:1rem}.post-item-excerpt p{margin:0}.post-item-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid rgba(0,0,0,.08)}.post-item-date{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.85rem}.post-item-link{display:inline-flex;align-items:center;gap:.5rem;font-weight:500;font-size:.9rem;transition:gap var(--transition-fast)}.post-item.green .post-item-link{color:var(--primary-green)}.post-item.blue .post-item-link{color:var(--primary-blue)}.post-item.orange .post-item-link{color:var(--accent-orange)}.post-item-link:hover{gap:.75rem}.child-categories{padding-top:0;padding-bottom:0}.child-categories .children-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.child-category-card{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-lg);padding:1.25rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000000a}.child-category-card:hover{border-color:#00000026;transform:translateY(-6px);box-shadow:0 15px 25px -5px #0000001a,0 8px 10px -5px #0000000a}.child-category-card.green:hover{border-color:var(--primary-green)}.child-category-card.blue:hover{border-color:var(--primary-blue)}.child-category-card.orange:hover{border-color:var(--accent-orange)}.child-category-card.purple:hover{border-color:#8b5cf6}.child-category-card.teal:hover{border-color:#14b8a6}.child-category-content{display:flex;align-items:flex-start;gap:1rem}.child-category-content .child-icon{font-size:1.25rem;flex-shrink:0;margin-top:.25rem}.child-category-card.green .child-icon{color:var(--primary-green)}.child-category-card.blue .child-icon{color:var(--primary-blue)}.child-category-card.orange .child-icon{color:var(--accent-orange)}.child-category-card.purple .child-icon{color:#8b5cf6}.child-category-card.teal .child-icon{color:#14b8a6}.child-category-content h3{font-size:1.1rem;margin-bottom:.25rem}.child-category-content p{font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem;line-height:1.4}.child-category-content .post-count{font-size:.8rem;color:var(--text-muted)}.child-category-card .arrow-icon{color:var(--text-muted);transition:transform var(--transition-fast)}.child-category-card:hover .arrow-icon{transform:translate(4px)}.child-category-card.green:hover .arrow-icon{color:var(--primary-green)}.child-category-card.blue:hover .arrow-icon{color:var(--primary-blue)}.child-category-card.orange:hover .arrow-icon{color:var(--accent-orange)}.child-category-card.purple:hover .arrow-icon{color:#8b5cf6}.child-category-card.teal:hover .arrow-icon{color:#14b8a6}.category-icon.purple{background:#8b5cf626;color:#8b5cf6}.category-icon.teal{background:#14b8a626;color:#14b8a6}.post-item.purple:hover{border-color:#8b5cf6}.post-item.teal:hover{border-color:#14b8a6}.post-item.purple .post-item-link{color:#8b5cf6}.post-item.teal .post-item-link{color:#14b8a6}@media(max-width:1024px){.category-layout{grid-template-columns:240px 1fr;gap:2rem}}@media(max-width:768px){.category-layout{grid-template-columns:1fr;gap:1.5rem}.category-sidebar{position:static;order:-1}.category-sidebar .sidebar-section{padding:1rem}.category-sidebar .category-nav{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}.category-sidebar .nav-category{margin-bottom:0}.category-sidebar .nav-category-link{padding:.5rem .75rem;font-size:.85rem;background:transparent;border:1px solid rgba(0,0,0,.1)}.category-sidebar .nav-category-link .nav-icon{padding:.25rem;font-size:.9rem}.category-sidebar .nav-children{display:none}.category-hero-content{flex-direction:column;text-align:center}.category-hero h1{font-size:2rem}.post-item-footer{flex-direction:column;gap:1rem;align-items:flex-start}.child-categories-section .children-grid{grid-template-columns:1fr}}:root{--primary-green: #00b371;--primary-blue: #0066cc;--primary-dark: #1a1a2e;--primary-darker: #f5f5f7;--accent-orange: #e55a2b;--accent-cyan: #00b8d9;--accent-purple: #6b2fd6;--gray-100: #1c1c1e;--gray-200: #2c2c2e;--gray-300: #48484a;--gray-400: #636366;--gray-500: #8e8e93;--gray-600: #c5c5c7;--gray-700: #e5e5e7;--gray-800: #f7f7f8;--text-primary: #1a1a2e;--text-secondary: #4a4a52;--text-muted: #8e8e93;--gradient-primary: linear-gradient(135deg, var(--primary-green) 0%, var(--primary-blue) 100%);--gradient-dark: linear-gradient(180deg, #ffffff 0%, #f5f5f7 100%);--gradient-card: linear-gradient(145deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.04) 100%);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .08);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-glow: 0 0 20px rgba(0, 179, 113, .2);--shadow-glow-lg: 0 0 40px rgba(0, 179, 113, .3);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .4s cubic-bezier(.68, -.55, .265, 1.55);--font-xs: .75rem;--font-sm: .875rem;--font-base: 1rem;--font-lg: 1.125rem;--font-xl: 1.25rem;--font-2xl: 1.5rem;--font-3xl: 2rem;--font-4xl: 2.5rem;--font-5xl: 3rem}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--gradient-dark);color:var(--text-primary);line-height:1.7;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--primary-green);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-cyan)}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;margin-bottom:var(--spacing-md)}h1{font-size:var(--font-5xl)}h2{font-size:var(--font-4xl)}h3{font-size:var(--font-3xl)}h4{font-size:var(--font-2xl)}p{margin-bottom:var(--spacing-md);color:var(--text-secondary);line-height:1.8}img{max-width:100%;height:auto}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-base);font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);text-decoration:none}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-glow);position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn-primary:hover:before{left:100%}.btn-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:var(--shadow-glow-lg),var(--shadow-lg);color:#fff}.btn-primary:active{transform:translateY(-1px) scale(.98)}.btn-secondary{background:transparent;color:var(--text-primary);border:2px solid var(--gray-600)}.btn-secondary:hover{border-color:var(--primary-green);color:var(--primary-green);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary:active{transform:translateY(0)}.card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-lg);padding:var(--spacing-xl);transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.card:hover{transform:translateY(-6px);border-color:#00b3714d;box-shadow:var(--shadow-xl)}.section{padding:var(--spacing-3xl) 0}.section-title{text-align:center;margin-bottom:var(--spacing-3xl)}.section-title h2{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-title p{font-size:var(--font-lg);max-width:600px;margin:0 auto}.grid{display:grid;gap:var(--spacing-xl)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){:root{--font-5xl: 2.5rem;--font-4xl: 2rem;--font-3xl: 1.75rem}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.container{padding:0 var(--spacing-md)}}.text-center{text-align:center}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-sm)}.mb-2{margin-bottom:var(--spacing-md)}.mb-3{margin-bottom:var(--spacing-lg)}.mb-4{margin-bottom:var(--spacing-xl)}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.mt-4{margin-top:var(--spacing-xl)}:focus-visible{outline:2px solid var(--primary-green);outline-offset:2px}a:focus-visible,button:focus-visible,.btn:focus-visible{outline:2px solid var(--primary-green);outline-offset:2px;border-radius:var(--radius-sm)}.fade-in-up{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.fade-in-up.visible{opacity:1;transform:translateY(0)}.fade-in-left{opacity:0;transform:translate(-30px);transition:opacity .6s ease-out,transform .6s ease-out}.fade-in-left.visible{opacity:1;transform:translate(0)}.fade-in-right{opacity:0;transform:translate(30px);transition:opacity .6s ease-out,transform .6s ease-out}.fade-in-right.visible{opacity:1;transform:translate(0)}.scale-in{opacity:0;transform:scale(.9);transition:opacity .5s ease-out,transform .5s ease-out}.scale-in.visible{opacity:1;transform:scale(1)}.stagger-1{transition-delay:.1s}.stagger-2{transition-delay:.2s}.stagger-3{transition-delay:.3s}.stagger-4{transition-delay:.4s}.stagger-5{transition-delay:.5s}.section-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(0,179,113,.3),transparent);margin:var(--spacing-3xl) 0}.section-alt{background:linear-gradient(180deg,#f8f9fa,#fff)}:root{--iot-primary: #0d6efd;--iot-primary-dark: #0056b3;--iot-success: #10b981;--iot-success-dark: #059669;--iot-danger: #ef4444;--iot-danger-dark: #dc2626;--iot-warning: #f59e0b;--iot-warning-dark: #d97706;--iot-purple: #8b5cf6;--iot-purple-dark: #7c3aed;--iot-dark: #1e293b;--iot-darker: #0f172a;--iot-light: #f1f5f9;--iot-lighter: #f8fafc;--iot-gray: #64748b;--iot-gray-light: #94a3b8;--iot-border: #e2e8f0;--iot-border-light: #f0f0f0;--chart-bg: #ffffff;--chart-grid: #e5e7eb;--chart-text: #374151;--chart-muted: #6b7280;--chart-shadow: rgba(0, 0, 0, .08);--chart-shadow-hover: rgba(0, 0, 0, .15)}.iot-app{height:100vh;display:flex;flex-direction:column;background-color:var(--iot-light);overflow:hidden}.iot-loading{display:flex;justify-content:center;align-items:center;padding:3rem}.iot-spinner{width:40px;height:40px;border:4px solid var(--iot-border);border-top-color:var(--iot-primary);border-radius:50%;animation:iot-spin 1s linear infinite}.iot-spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:iot-spin 1s linear infinite;display:inline-block;margin-right:8px}@keyframes iot-spin{to{transform:rotate(360deg)}}.iot-navbar{background:var(--iot-dark);padding:.75rem 1.5rem;position:sticky;top:0;z-index:100}.iot-navbar-container{display:flex;align-items:center;justify-content:space-between;max-width:1400px;margin:0 auto;gap:1rem}.iot-navbar-brand{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;color:#fff;text-decoration:none}.iot-navbar-brand i{color:var(--iot-primary);font-size:1.5rem}.iot-logo{height:36px;width:auto}.iot-nav-links{display:flex;gap:.5rem}.iot-nav-link{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;color:#fffc;text-decoration:none;border-radius:.375rem;transition:all .2s ease}.iot-nav-link:hover,.iot-nav-link.active{color:#fff;background:#ffffff1a}.iot-user-menu{display:flex;align-items:center;gap:1rem}.iot-user-info{display:flex;align-items:center;gap:.5rem;color:#fffc}.iot-logout-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:.375rem;cursor:pointer;transition:all .2s ease}.iot-logout-btn:hover{background:#ffffff1a}.iot-content{flex:1;padding:1.5rem;max-width:1400px;margin:0 auto;width:100%}.iot-footer{display:none}.iot-footer p{margin:0;color:var(--iot-gray)}.iot-footer a{color:var(--iot-primary);text-decoration:none}.iot-page-title{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.iot-card{background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem}.iot-card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--iot-border);font-weight:600}.iot-card-header i{margin-right:.5rem}.iot-card-body{padding:1.25rem}.iot-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem}.iot-stat-card{background:#fff;border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 4px 20px #0000000f;border:1px solid rgba(0,0,0,.04);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;min-width:180px}.iot-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,transparent);transition:all .3s ease}.iot-stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001f}.iot-stat-card:hover:before{background:linear-gradient(90deg,var(--stat-color, var(--iot-primary)),var(--stat-color-dark, var(--iot-primary-dark)))}.iot-stat-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;flex-shrink:0;box-shadow:0 4px 12px #00000026;transition:transform .3s ease}.iot-stat-card:hover .iot-stat-icon{transform:scale(1.08)}.iot-stat-icon.blue{background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 4px 14px #3b82f666}.iot-stat-icon.green{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 14px #10b98166}.iot-stat-icon.purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 4px 14px #8b5cf666}.iot-stat-icon.red{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 14px #ef444466}.iot-stat-icon.gray{background:linear-gradient(135deg,#64748b,#475569);box-shadow:0 4px 14px #64748b66}.iot-stat-card--offline{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:1px solid #e5e7eb}.iot-stat-card--offline .iot-stat-value{color:#6b7280}.iot-stat-card--alarm{background:linear-gradient(135deg,#fef2f2,#fff);border:1px solid #fecaca;animation:stat-alarm-pulse 2s ease-in-out infinite}@keyframes stat-alarm-pulse{0%,to{box-shadow:0 1px 3px #ef444433}50%{box-shadow:0 2px 8px #ef44444d}}.iot-stat-card--alarm .iot-stat-value{color:#dc2626}.iot-stat-info{display:flex;flex-direction:column;gap:.25rem}.iot-stat-value{font-size:2rem;font-weight:800;color:#1e293b;line-height:1;letter-spacing:-.02em}.iot-stat-label{font-size:.875rem;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.05em}@media(max-width:1200px){.iot-stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.iot-stat-card{padding:1.25rem;gap:.875rem;border-radius:14px}.iot-stat-icon{width:48px;height:48px;font-size:1.25rem;border-radius:12px}.iot-stat-value{font-size:1.5rem}.iot-stat-label{font-size:.75rem}}@media(max-width:640px){.iot-stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.iot-stat-card{padding:1rem;gap:.75rem;border-radius:12px}.iot-stat-card:hover{transform:none}.iot-stat-icon{width:42px;height:42px;font-size:1.125rem;border-radius:10px}.iot-stat-value{font-size:1.375rem}.iot-stat-label{font-size:.7rem;letter-spacing:.03em}}.iot-device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.iot-device-grid.large{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.iot-device-card{background:#fff;border:1px solid var(--iot-border);border-radius:.5rem;padding:1rem;transition:transform .2s ease,box-shadow .2s ease}.iot-device-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.iot-device-card.large{padding:1.5rem}.iot-device-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--iot-primary) 0%,var(--iot-primary-dark) 100%);border-radius:.5rem;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;margin-bottom:1rem}.iot-device-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.iot-device-header h4{margin:0;font-size:1rem}.iot-device-serial{margin:0 0 .5rem}.iot-device-serial code{background:var(--iot-light);padding:.25rem .5rem;border-radius:.25rem;font-size:.85rem}.iot-device-type{display:inline-block;background:var(--iot-light);padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;margin-bottom:.75rem}.iot-device-description{color:var(--iot-gray);font-size:.875rem;margin:.5rem 0}.iot-device-meta{color:var(--iot-gray);font-size:.75rem;margin-bottom:1rem}.iot-device-meta i{margin-right:.25rem}.iot-badge{display:inline-block;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600}.iot-badge.online{background:var(--iot-success);color:#fff}.iot-badge.offline{background:var(--iot-gray);color:#fff}.iot-badge.info{background:var(--iot-primary);color:#fff}.iot-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;background:var(--iot-primary);color:#fff;border:none;border-radius:.375rem;font-size:.875rem;cursor:pointer;transition:background .2s ease;text-decoration:none}.iot-btn-primary:hover{background:var(--iot-primary-dark);color:#fff}.iot-btn-primary:disabled{opacity:.6;cursor:not-allowed}.iot-btn-primary.full{width:100%}.iot-btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;background:transparent;color:var(--iot-primary);border:1px solid var(--iot-primary);border-radius:.375rem;font-size:.875rem;cursor:pointer;transition:all .2s ease;text-decoration:none}.iot-btn-outline:hover{background:var(--iot-primary);color:#fff}.iot-btn-small{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--iot-light);color:var(--iot-dark);border:1px solid var(--iot-border);border-radius:.25rem;font-size:.75rem;cursor:pointer;text-decoration:none;transition:all .2s ease}.iot-btn-small:hover{background:var(--iot-border)}.iot-table-responsive{overflow-x:auto}.iot-table{width:100%;border-collapse:collapse}.iot-table th,.iot-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--iot-border)}.iot-table th{font-weight:600;color:var(--iot-gray);font-size:.875rem}.iot-table tbody tr:hover{background:var(--iot-light)}.iot-table a{color:var(--iot-primary);text-decoration:none}.iot-table a:hover{text-decoration:underline}.iot-truncate{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-row--alarm{background-color:#ef444414!important}.log-row--alarm:hover{background-color:#ef44441f!important}.log-value--alarm{color:#dc2626;font-weight:600}.log-alarm-badge{display:inline-flex;align-items:center;gap:.25rem;margin-left:.5rem;padding:.125rem .375rem;border-radius:.25rem;font-size:.65rem;font-weight:600;text-transform:uppercase}.log-alarm-badge--high{background-color:#ef444426;color:#dc2626}.log-alarm-badge--low{background-color:#3b82f626;color:#2563eb}.log-alarm-badge i{font-size:.6rem}.iot-nowrap{white-space:nowrap}.iot-muted{color:var(--iot-gray)}.iot-filter-form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.iot-filter-form select,.iot-filter-form input{padding:.5rem .75rem;border:1px solid var(--iot-border);border-radius:.375rem;font-size:.875rem}.iot-filter-form select:focus,.iot-filter-form input:focus{outline:none;border-color:var(--iot-primary)}.iot-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem}.iot-page-info{color:var(--iot-gray)}.iot-empty-state{text-align:center;color:var(--iot-gray);padding:2rem}.iot-empty-state-large{text-align:center;padding:3rem}.iot-empty-state-large i{font-size:4rem;color:var(--iot-gray);margin-bottom:1rem}.iot-empty-state-large h3{margin:0 0 .5rem}.iot-empty-state-large p{color:var(--iot-gray);margin:0}.iot-alert{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:.375rem;margin-bottom:1rem}.iot-alert-error{background:#fef2f2;color:var(--iot-danger);border:1px solid #fecaca}.iot-alert button{margin-left:auto;background:none;border:none;font-size:1.25rem;cursor:pointer;color:inherit}.iot-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.iot-modal{background:#fff;border-radius:.5rem;width:90%;max-width:600px;max-height:80vh;overflow:hidden}.iot-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--iot-border)}.iot-modal-header h3{margin:0}.iot-modal-header button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--iot-gray)}.iot-modal-body{padding:1.25rem;overflow-y:auto;max-height:60vh}.iot-modal-body pre{background:var(--iot-light);padding:1rem;border-radius:.375rem;overflow-x:auto;margin:0}.iot-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0d1117,#0a0a0f,#0d1117);padding:1rem;position:relative;overflow:hidden}.iot-login-circuit{position:absolute;inset:0;background-image:linear-gradient(rgba(0,179,113,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,179,113,.03) 1px,transparent 1px);background-size:50px 50px;pointer-events:none}.iot-login-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none}.iot-login-particles span{position:absolute;width:4px;height:4px;background:#00b37199;border-radius:50%;animation:float-particle 8s infinite;box-shadow:0 0 10px #00b37180}.iot-login-particles span:nth-child(1){left:10%;animation-delay:0s;animation-duration:6s}.iot-login-particles span:nth-child(2){left:30%;animation-delay:1s;animation-duration:8s}.iot-login-particles span:nth-child(3){left:50%;animation-delay:2s;animation-duration:7s}.iot-login-particles span:nth-child(4){left:70%;animation-delay:3s;animation-duration:9s}.iot-login-particles span:nth-child(5){left:85%;animation-delay:4s;animation-duration:6s}.iot-login-particles span:nth-child(6){left:95%;animation-delay:5s;animation-duration:8s}@keyframes float-particle{0%,to{transform:translateY(100vh) scale(0);opacity:0}10%{opacity:1;transform:translateY(90vh) scale(1)}90%{opacity:1;transform:translateY(10vh) scale(1)}to{transform:translateY(0) scale(0);opacity:0}}.iot-login-card{background:#161b22e6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:1rem;box-shadow:0 25px 50px #00000080,0 0 0 1px #ffffff14,inset 0 1px #ffffff0d;overflow:hidden;max-width:420px;width:100%;position:relative;z-index:1}.iot-login-card:before{content:"";position:absolute;inset:-1px;background:linear-gradient(135deg,rgba(0,179,113,.3),transparent 50%,rgba(0,115,230,.3));border-radius:1rem;z-index:-1;opacity:0;transition:opacity .3s ease}.iot-login-card:hover:before{opacity:1}.iot-login-header{background:linear-gradient(135deg,#00b37126,#0073e626);padding:2.5rem 2rem;text-align:center;color:#fff;border-bottom:1px solid rgba(255,255,255,.08);position:relative}.iot-login-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,179,113,.5),transparent)}.iot-login-icon{width:64px;height:64px;background:linear-gradient(135deg,#00b371,#0073e6);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;margin:0 auto 1rem;box-shadow:0 8px 32px #00b3714d,0 0 0 1px #ffffff1a}.iot-login-header h1{font-size:1.75rem;margin:0;font-weight:700;letter-spacing:-.5px}.iot-login-header h1 .text-white{color:#fff}.iot-login-header h1 .text-green{color:#00b371}.iot-login-header p{margin:.5rem 0 0;color:#fff9;font-size:.9rem;font-family:JetBrains Mono,Fira Code,monospace}.iot-login-body{padding:2rem;background:#0d111780}.iot-login-body .iot-form-group{margin-bottom:1.25rem}.iot-login-body .iot-form-group label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:500;color:#fffc;font-size:.875rem}.iot-login-body .iot-form-group label svg{font-size:1rem;color:#00b371}.iot-login-body .iot-form-group input{width:100%;padding:.875rem 1rem;background:#161b22cc;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;font-size:1rem;color:#fff;transition:all .25s ease}.iot-login-body .iot-form-group input::placeholder{color:#ffffff4d}.iot-login-body .iot-form-group input:focus{outline:none;border-color:#00b371;background:#161b22;box-shadow:0 0 0 3px #00b37126}.iot-login-btn{width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;margin-top:.75rem;background:linear-gradient(135deg,#00b371,#009960);color:#fff;border:none;border-radius:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .25s ease;box-shadow:0 4px 15px #00b3714d}.iot-login-btn:hover:not(:disabled){background:linear-gradient(135deg,#00c77f,#00b371);transform:translateY(-2px);box-shadow:0 6px 25px #00b37166}.iot-login-btn:active:not(:disabled){transform:translateY(0)}.iot-login-btn:disabled{opacity:.7;cursor:not-allowed}.iot-login-btn svg{font-size:1.1rem}.iot-login-footer{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08)}.iot-login-footer a{color:#fff9;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;transition:all .25s ease}.iot-login-footer a:hover{color:#00b371}.iot-login-footer a svg{font-size:1rem}.iot-login-body .iot-alert-error{background:#ef444426;border:1px solid rgba(239,68,68,.3);color:#f87171;border-radius:.5rem;padding:.75rem 1rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.iot-login-body .iot-alert-error button{background:none;border:none;color:#f87171;cursor:pointer;font-size:1.25rem;line-height:1;padding:0;opacity:.7;transition:opacity .2s ease}.iot-login-body .iot-alert-error button:hover{opacity:1}.iot-breadcrumb{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:.875rem;color:var(--iot-gray)}.iot-breadcrumb a{color:var(--iot-primary);text-decoration:none;display:flex;align-items:center;gap:.25rem}.iot-breadcrumb a:hover{text-decoration:underline}.iot-breadcrumb .bi-chevron-right{font-size:.75rem;color:var(--iot-border)}.iot-company-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.iot-company-card{background:#fff;border:1px solid var(--iot-border);border-radius:.75rem;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease;text-decoration:none;color:inherit;display:block}.iot-company-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.iot-company-icon{width:64px;height:64px;background:linear-gradient(135deg,var(--iot-primary) 0%,var(--iot-primary-dark) 100%);border-radius:.75rem;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.75rem;margin-bottom:1rem}.iot-company-card h3{margin:0 0 .5rem;font-size:1.25rem}.iot-company-card .iot-company-code{color:var(--iot-gray);font-size:.875rem;margin-bottom:1rem}.iot-company-stats{display:flex;gap:1.5rem;padding-top:1rem;border-top:1px solid var(--iot-border)}.iot-company-stat{text-align:center}.iot-company-stat-value{font-size:1.5rem;font-weight:700;color:var(--iot-dark)}.iot-company-stat-label{font-size:.75rem;color:var(--iot-gray)}.iot-device-sticky-header{position:sticky;top:-1.5rem;z-index:30;background:#f1f5f9;padding:1.5rem 0 0;margin:0 0 1.5rem}.iot-tabs{display:flex;gap:.25rem;border-bottom:2px solid var(--iot-border);margin-bottom:0;overflow-x:auto;background:#f1f5f9}.iot-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:transparent;border:none;color:var(--iot-gray);font-size:.9rem;font-weight:500;cursor:pointer;position:relative;transition:color .2s ease;white-space:nowrap}.iot-tab:hover{color:var(--iot-dark)}.iot-tab.active{color:var(--iot-primary)}.iot-tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--iot-primary)}.iot-device-header-large{display:flex;align-items:stretch;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:1rem;padding:0;margin-bottom:1.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;overflow:hidden;border:1px solid #e2e8f0}.iot-device-icon-section{display:flex;align-items:center;justify-content:center;padding:1.5rem 2rem;background:linear-gradient(135deg,#3b82f6,#1d4ed8);position:relative}.iot-device-icon-section:after{content:"";position:absolute;top:0;right:0;bottom:0;width:20px;background:linear-gradient(135deg,transparent 50%,#ffffff 50%)}.iot-device-icon-section.offline{background:linear-gradient(135deg,#64748b,#475569)}.iot-device-icon.large{width:72px;height:72px;font-size:2rem;margin-bottom:0;background:#fff3;border:2px solid rgba(255,255,255,.3);color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.iot-device-info-section{flex:1;padding:1.25rem 1.5rem;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:1rem}.iot-device-info-main{flex:1}.iot-device-live-section{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.iot-device-live-row{display:flex;align-items:center;gap:.75rem}.iot-device-live-section .live-indicator{display:flex;align-items:center;gap:.35rem}.iot-device-live-section .live-indicator__time{font-size:.75rem;color:#64748b}.iot-device-info-large h2{margin:0 0 .25rem;font-size:1.5rem;font-weight:700;color:#1e293b;letter-spacing:-.025em}.iot-device-serial{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 .75rem}.iot-device-serial code{font-size:.85rem;padding:.25rem .6rem;background:#f1f5f9;border-radius:.375rem;color:#475569;font-weight:500;border:1px solid #e2e8f0}.iot-device-title-row{display:flex;align-items:center;gap:.75rem}.iot-device-title-row h2{margin:0;font-size:1.5rem;font-weight:700;color:#1e293b;letter-spacing:-.025em}.iot-device-id{font-size:.85rem;padding:.25rem .6rem;background:#f1f5f9;border-radius:.375rem;color:#475569;font-weight:500;border:1px solid #e2e8f0}.iot-device-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.iot-device-meta-row .iot-badge{font-size:.75rem;padding:.4rem .85rem;font-weight:600;border-radius:9999px;display:inline-flex;align-items:center;gap:.35rem}.iot-device-meta-row .iot-badge.online{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 4px #10b9814d}.iot-device-meta-row .iot-badge.online:before{content:"";width:6px;height:6px;background:#fff;border-radius:50%;animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.8)}}.iot-device-meta-row .iot-badge.offline{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.iot-device-meta-row .iot-device-type{margin-bottom:0;font-size:.8rem;padding:.35rem .7rem;background:#eff6ff;color:#3b82f6;border-radius:.375rem;font-weight:500}.iot-device-meta-row .iot-device-meta{margin-bottom:0;font-size:.8rem;color:#64748b;display:flex;align-items:center;gap:.35rem}.iot-device-meta-row .iot-device-meta i{font-size:.85rem;color:#94a3b8}@media(max-width:1200px){.iot-device-icon-section{padding:1rem;min-width:90px}.iot-device-icon.large{width:56px;height:56px;font-size:1.5rem}.iot-device-info-section{padding:.875rem 1rem}.iot-device-info-large h2,.iot-device-title-row h2{font-size:1.25rem}.iot-device-id{font-size:.75rem;padding:.2rem .5rem}.iot-device-serial code{font-size:.8rem}.iot-device-meta-row .iot-badge{font-size:.7rem;padding:.3rem .6rem}.iot-device-meta-row .iot-device-meta{font-size:.75rem}.iot-device-live-section .live-indicator__time{font-size:.7rem}}@media(max-width:640px){.iot-device-icon-section{padding:.75rem;min-width:70px}.iot-device-icon.large{width:44px;height:44px;font-size:1.25rem}.iot-device-info-section{padding:.625rem .75rem;gap:.5rem}.iot-device-info-large h2{font-size:1rem;margin-bottom:.125rem}.iot-device-title-row h2{font-size:1rem}.iot-device-id{font-size:.65rem;padding:.15rem .4rem}.iot-device-serial{margin-bottom:.375rem}.iot-device-serial code{font-size:.7rem;padding:.15rem .4rem}.iot-device-meta-row{gap:.375rem}.iot-device-meta-row .iot-badge{font-size:.6rem;padding:.2rem .4rem}.iot-device-meta-row .iot-device-meta{font-size:.65rem}.iot-device-live-section{gap:.375rem}.iot-device-live-section .live-indicator__time{font-size:.6rem}}.iot-events-list{display:flex;flex-direction:column;gap:.75rem}.iot-event-item{display:flex;gap:1rem;padding:1rem;background:var(--iot-light);border-radius:.5rem;border-left:4px solid var(--iot-gray)}.iot-event-item.severity-info{border-left-color:var(--iot-primary)}.iot-event-item.severity-warning{border-left-color:var(--iot-warning);background:#fffbeb}.iot-event-item.severity-error{border-left-color:var(--iot-danger);background:#fef2f2}.iot-event-item.severity-critical{border-left-color:#991b1b;background:#fecaca}.iot-event-icon{font-size:1.25rem}.iot-event-item.severity-info .iot-event-icon{color:var(--iot-primary)}.iot-event-item.severity-warning .iot-event-icon{color:var(--iot-warning)}.iot-event-item.severity-error .iot-event-icon{color:var(--iot-danger)}.iot-event-item.severity-critical .iot-event-icon{color:#991b1b}.iot-event-content{flex:1}.iot-event-type{font-weight:600;margin-bottom:.25rem}.iot-event-message{color:var(--iot-gray);font-size:.875rem;margin-bottom:.25rem}.iot-event-time{font-size:.75rem;color:var(--iot-gray)}.iot-config-list{display:flex;flex-direction:column;gap:.5rem}.iot-config-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--iot-light);border-radius:.375rem}.iot-config-key{font-weight:600;color:var(--iot-dark)}.iot-config-value{flex:1;text-align:center}.iot-config-value code{background:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.875rem}.iot-config-type{font-size:.75rem;color:var(--iot-gray);text-transform:uppercase}.iot-empty-state i{display:block;font-size:3rem;color:var(--iot-border);margin-bottom:1rem}.iot-tab-content{min-height:200px}.iot-navbar-left{display:flex;align-items:center;gap:1rem}.iot-mobile-menu-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff1a;border:none;border-radius:.375rem;color:#fff;cursor:pointer;transition:background .2s ease}.iot-mobile-menu-toggle:hover{background:#fff3}.iot-mobile-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:40}.iot-main-wrapper{display:flex;flex:1;min-height:0}.iot-sidebar{width:280px;background:#fff;border-right:1px solid var(--iot-border);display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:56px;height:calc(100vh - 56px);overflow-y:auto}.iot-sidebar-brand{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem 1rem;background:#fff;border-bottom:1px solid var(--iot-border);color:var(--iot-dark);font-weight:700;font-size:1.1rem}.iot-sidebar-logo{height:60px;width:auto}.iot-sidebar-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--iot-border);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--iot-gray);white-space:nowrap;transition:background-color .2s,color .2s}.iot-sidebar-header.clickable:hover{background-color:#0d6efd1a;color:var(--iot-primary)}.iot-sidebar-content{flex:1;overflow-y:auto;padding:.5rem 0}.iot-sidebar-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;color:var(--iot-gray);text-align:center}.iot-sidebar-empty i{font-size:2rem}.iot-company-list{list-style:none;padding:0;margin:0}.iot-company-item{border-bottom:1px solid var(--iot-border)}.iot-company-item:last-child{border-bottom:none}.iot-company-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;cursor:pointer;transition:background .2s ease;white-space:nowrap}.iot-company-header:hover{background:var(--iot-light)}.iot-company-header span{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis}.iot-company-header .iot-company-code{font-size:.7rem;color:var(--iot-gray);background:var(--iot-light);padding:.15rem .4rem;border-radius:.25rem}.iot-company-header .bi-chevron-right,.iot-company-header .bi-chevron-down{font-size:.75rem;color:var(--iot-gray)}.iot-device-list{list-style:none;padding:0;margin:0;background:var(--iot-light)}.iot-device-item{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem .6rem 2.5rem;cursor:pointer;transition:background .2s ease;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iot-device-item:hover{background:var(--iot-border)}.iot-device-item.active{background:transparent;font-weight:600}.iot-device-item .bi-circle-fill,.iot-device-item .bi-circle{font-size:.5rem;color:var(--iot-gray)}.iot-device-item.active .bi-circle-fill,.iot-device-item.active .bi-circle{color:var(--iot-success)}.iot-device-loading,.iot-device-empty{padding:.75rem 1rem .75rem 2.5rem;color:var(--iot-gray);font-size:.8rem;font-style:italic}.text-success{color:var(--iot-success)!important}.text-muted{color:var(--iot-gray)!important}@keyframes spin{to{transform:rotate(360deg)}}.spinning{animation:spin 1s linear infinite}.iot-sidebar-section{border-top:1px solid var(--iot-border);margin-top:.5rem;padding-top:.5rem}.iot-sidebar-section-header{padding:.5rem 1rem;font-size:.7rem;font-weight:600;text-transform:uppercase;color:var(--iot-gray);letter-spacing:.05em}.iot-sidebar-menu{list-style:none;padding:0;margin:0}.iot-sidebar-menu-item{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;cursor:pointer;transition:background .2s ease;font-size:.875rem}.iot-sidebar-menu-item:hover{background:var(--iot-light)}.iot-sidebar-menu-item i{color:var(--iot-gray)}.iot-sidebar-footer{border-top:1px solid var(--iot-border);padding:.75rem 1rem;margin-top:auto}.iot-sidebar-logout{display:flex;align-items:center;gap:.5rem;width:100%;padding:.6rem .75rem;background:transparent;border:1px solid var(--iot-border);border-radius:.375rem;color:var(--iot-gray);cursor:pointer;transition:all .2s ease;font-size:.875rem}.iot-sidebar-logout:hover{background:#fef2f2;border-color:var(--iot-danger);color:var(--iot-danger)}.iot-content.with-sidebar{flex:1;max-width:calc(100% - 280px);overflow-y:auto;height:calc(100vh - 56px)}.iot-content.full-width{flex:1;max-width:100%}@media(max-width:1200px){.iot-navbar-container{flex-wrap:wrap}.iot-nav-links{order:3;width:100%;justify-content:center;margin-top:.5rem}.iot-nav-link span,.iot-user-info span,.iot-logout-btn span{display:none}.iot-content{padding:1rem}.iot-filter-form{flex-direction:column}.iot-filter-form select,.iot-filter-form input,.iot-filter-form button{width:100%}.iot-mobile-menu-toggle{display:flex}.iot-mobile-overlay{display:block}.iot-sidebar{position:fixed;top:56px;left:0;bottom:0;z-index:50;transform:translate(-100%);transition:transform .3s ease;box-shadow:none}.iot-sidebar.mobile-open{transform:translate(0);box-shadow:4px 0 16px #00000026}.iot-content.with-sidebar{max-width:100%}}.iot-sidebar-menu-item.active{background:var(--iot-primary);color:#fff}.iot-sidebar-menu-item.active i{color:#fff}.iot-company-toggle{cursor:pointer;padding:.25rem;border-radius:.25rem;transition:background .2s ease}.iot-company-toggle:hover{background:var(--iot-border)}.iot-company-link{display:flex;align-items:center;gap:.25rem;flex:1;cursor:pointer;padding:.25rem .5rem .25rem 0;border-radius:.25rem;transition:background .2s ease}.iot-company-link .company-icon{width:auto;min-width:unset;flex-shrink:0}.iot-company-link:hover{background:var(--iot-border)}.iot-company-header.active{background:#0d6efd1a}.iot-company-header.active .iot-company-link{color:var(--iot-primary);font-weight:600}.iot-role-badge{font-size:.7rem;padding:.2rem .5rem;border-radius:.25rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.iot-role-badge.admin{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.iot-role-badge.user{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.iot-role-badge.viewer{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff}.logs-date-filter{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;margin-bottom:1rem;border-bottom:1px solid var(--iot-border)}.date-picker-group{display:flex;align-items:center;gap:.75rem}.date-picker-group label{font-weight:500;color:var(--iot-gray);font-size:.875rem}.date-input{padding:.5rem .75rem;border:1px solid var(--iot-border);border-radius:.375rem;font-size:.875rem;background:#fff;cursor:pointer}.date-input:focus{outline:none;border-color:var(--iot-primary);box-shadow:0 0 0 2px #0d6efd26}.logs-status-group{display:flex;align-items:center;gap:.75rem}.live-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.live-dot{width:6px;height:6px;background:#fff;border-radius:50%;animation:live-pulse 1.5s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.iot-pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;flex-wrap:wrap}.page-numbers{display:flex;align-items:center;gap:.25rem}.page-btn{min-width:36px;height:36px;padding:0 .5rem;border:1px solid var(--iot-border);background:#fff;color:var(--iot-dark);border-radius:.375rem;font-size:.875rem;cursor:pointer;transition:all .15s ease}.page-btn:hover:not(.active){background:var(--iot-light);border-color:var(--iot-primary)}.page-btn.active{background:var(--iot-primary);border-color:var(--iot-primary);color:#fff}.page-ellipsis{padding:0 .5rem;color:var(--iot-gray)}.page-info{margin-left:.5rem;color:var(--iot-gray);font-size:.875rem}.iot-btn-sm{padding:.375rem .75rem;font-size:.8125rem}.iot-btn-outline.iot-btn-sm{min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center}.iot-btn-outline.iot-btn-sm:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.logs-date-filter{flex-direction:column;gap:.75rem;align-items:flex-start}.date-picker-group,.logs-status-group{flex-wrap:wrap}.iot-pagination{gap:.375rem}.page-btn{min-width:32px;height:32px;font-size:.8125rem}.page-info{width:100%;text-align:center;margin-top:.5rem;margin-left:0}}.sensor-icon{display:inline-flex;align-items:center;gap:.35rem;color:var(--iot-primary)}.sensor-icon--sm{font-size:.875rem}.sensor-icon--md{font-size:1.125rem}.sensor-icon--lg{font-size:1.5rem}.sensor-icon__label{font-size:.75rem;color:var(--iot-gray)}.sensor-icon--xl{font-size:2rem}.company-icon{display:inline-flex;align-items:center;gap:.35rem}.company-icon--sm{font-size:.875rem}.company-icon--md{font-size:1.125rem}.company-icon--lg{font-size:1.5rem}.company-icon--xl{font-size:2rem}.company-icon__label{font-size:.75rem;color:var(--iot-gray)}.device-parameters{padding:.75rem 0;-webkit-user-select:none;user-select:none}.device-parameters--empty{text-align:center;color:var(--iot-gray);padding:1.5rem}.device-parameters__list{display:flex;flex-direction:column;gap:.625rem}.parameter-item{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:.25rem 1rem;padding:.625rem .875rem;background:var(--iot-light);border-radius:.375rem;border-left:3px solid var(--iot-primary);transition:background .2s ease}.parameter-item:hover{background:var(--iot-border)}.parameter-item--warning{border-left-color:var(--iot-warning);background:#fffbeb}.parameter-item--critical{border-left-color:var(--iot-danger);background:#fef2f2}.parameter-item__header{display:flex;align-items:center;gap:.5rem;grid-column:1;grid-row:1}.parameter-item__name{font-size:.8rem;color:var(--iot-gray);font-weight:500}.parameter-item__value{display:flex;align-items:baseline;gap:.25rem;grid-column:2;grid-row:1;justify-self:end}.parameter-item__number{font-size:1.125rem;font-weight:700;color:var(--iot-dark)}.parameter-item__unit{font-size:.75rem;color:var(--iot-gray)}.parameter-progress{grid-column:1 / -1;grid-row:2;height:4px;background:#0000001a;border-radius:2px;overflow:hidden;margin-top:.25rem}.parameter-progress__bar{height:100%;border-radius:2px;transition:width .3s ease;background:var(--iot-primary)}.parameter-progress--normal .parameter-progress__bar{background:var(--iot-primary)}.parameter-progress--warning .parameter-progress__bar{background:var(--iot-warning)}.parameter-progress--critical .parameter-progress__bar{background:var(--iot-danger)}.parameter-item__trend{grid-column:1 / -1;margin-top:.5rem}.sparkline{width:100%;height:24px;color:var(--iot-primary)}.sparkline-wrapper{position:relative;min-height:44px}.sparkline-inline-tooltip{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:.35rem;font-size:.65rem;height:14px;justify-content:center}.sparkline-inline-tooltip__value{font-weight:600;color:var(--iot-dark, #1e293b)}.sparkline-inline-tooltip__time{color:var(--iot-muted, #94a3b8)}.sparkline--empty{display:flex;align-items:center;justify-content:center;color:var(--iot-muted, #94a3b8);font-size:.7rem}.device-parameters__pagination{display:flex;justify-content:center;gap:.5rem;padding-top:.75rem;margin-top:.5rem;border-top:1px solid var(--iot-border)}.pagination-dot{width:8px;height:8px;border-radius:50%;background:var(--iot-border);border:none;padding:0;cursor:pointer;transition:all .2s ease}.pagination-dot:hover{background:var(--iot-gray)}.pagination-dot--active{background:var(--iot-primary);transform:scale(1.25)}.device-data-card{background:#fff;border:1px solid var(--iot-border);border-radius:.75rem;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.device-data-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.device-data-card--expanded{box-shadow:0 8px 24px #0000001f}.device-data-card__header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;cursor:pointer;transition:background .2s ease}.device-data-card__header:hover{background:var(--iot-light)}.device-data-card__info{display:flex;align-items:center;gap:.875rem}.device-data-card__icon{width:48px;height:48px;background:linear-gradient(135deg,var(--iot-primary) 0%,var(--iot-primary-dark) 100%);border-radius:.5rem;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;flex-shrink:0}.device-data-card__details{display:flex;flex-direction:column;gap:.125rem}.device-data-card__name{margin:0;font-size:1rem;font-weight:600;color:var(--iot-dark)}.device-data-card__location{display:flex;align-items:center;gap:.25rem;font-size:.8rem;color:var(--iot-gray)}.device-data-card__location i{font-size:.7rem}.device-status{display:inline-flex;align-items:center;gap:.375rem;padding:.35rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600;text-transform:capitalize}.device-status__dot{width:6px;height:6px;border-radius:50%;background:currentColor}.device-status--online{background:#10b9811a;color:var(--iot-success)}.device-status--offline{background:#64748b1a;color:var(--iot-gray)}.device-status--warning{background:#f59e0b1a;color:var(--iot-warning)}.device-status--error{background:#ef44441a;color:var(--iot-danger)}.device-status--unknown{background:var(--iot-light);color:var(--iot-gray)}.device-data-card__meta{display:flex;gap:1rem;padding:0 1.25rem .75rem;flex-wrap:wrap}.device-meta-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--iot-gray)}.device-meta-item i{font-size:.8rem}.device-data-card__parameters{padding:0 1.25rem 1rem;border-top:1px solid var(--iot-border)}.device-data-card__expand-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;width:100%;padding:.625rem;background:var(--iot-light);border:none;border-top:1px solid var(--iot-border);color:var(--iot-gray);font-size:.8rem;cursor:pointer;transition:all .2s ease}.device-data-card__expand-btn:hover{background:var(--iot-border);color:var(--iot-dark)}.device-data-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem}@media(max-width:1200px){.device-data-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.device-data-card__header{padding:.875rem 1rem}.device-data-card__icon{width:40px;height:40px;font-size:1rem}.device-data-card__meta{padding:0 1rem .625rem}.device-data-card__parameters{padding:0 1rem .875rem}.parameter-item{padding:.5rem .75rem}.parameter-item__number{font-size:1rem}}@media(max-width:640px){.device-data-grid{grid-template-columns:1fr}}.company-data-card{background:#fff;border:1px solid var(--iot-border);border-radius:.75rem;overflow:hidden;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.company-data-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.company-data-card__header{display:flex;align-items:center;gap:.875rem;padding:1rem 1.25rem;border-bottom:1px solid var(--iot-border)}.company-data-card__icon{width:48px;height:48px;border-radius:.625rem;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.company-data-card__icon .company-icon{color:#fff!important}.company-data-card__title{flex:1;min-width:0}.company-data-card__title h3{font-size:1rem;font-weight:600;color:var(--iot-dark);margin:0 0 .125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-data-card__code{font-size:.75rem;color:var(--iot-gray);font-family:monospace}.company-data-card__arrow{color:var(--iot-gray);font-size:1.125rem;transition:transform .2s ease}.company-data-card:hover .company-data-card__arrow{transform:translate(3px);color:var(--iot-primary)}.company-data-card__stats{display:flex;padding:.75rem 1.25rem;background:var(--iot-light);gap:1.5rem}.company-data-card__stat{display:flex;flex-direction:column;align-items:center}.company-data-card__stat-value{font-size:1.125rem;font-weight:700;color:var(--iot-dark)}.company-data-card__stat-label{font-size:.7rem;color:var(--iot-gray);text-transform:uppercase;letter-spacing:.025em}.company-data-card__stat--online .company-data-card__stat-value{color:var(--iot-success)}.company-data-card__stat--offline .company-data-card__stat-value{color:var(--iot-gray)}.company-data-card__devices{padding:.5rem 0;max-height:220px;overflow-y:auto}.company-data-card__empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;color:var(--iot-gray)}.company-data-card__empty i{font-size:1.5rem}.company-data-card__device-list{list-style:none;margin:0;padding:0}.company-data-card__device-item{display:flex;align-items:center;gap:.625rem;padding:.5rem 1.25rem;cursor:pointer;transition:background .15s ease}.company-data-card__device-item:hover{background:var(--iot-light)}.company-data-card__device-status{font-size:.5rem;line-height:1}.company-data-card__device-status.online{color:var(--iot-success)}.company-data-card__device-status.offline{color:var(--iot-gray)}.company-data-card__device-name{flex:1;font-size:.875rem;color:var(--iot-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-data-card__device-time{font-size:.75rem;color:var(--iot-gray);white-space:nowrap}.company-data-card__device-more{padding:.5rem 1.25rem;font-size:.8rem;color:var(--iot-primary);font-weight:500}.company-data-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem}@media(max-width:1200px){.company-data-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.company-data-card__header{padding:.875rem 1rem}.company-data-card__icon{width:40px;height:40px}.company-data-card__stats{padding:.625rem 1rem}.company-data-card__device-item{padding:.5rem 1rem}}@media(max-width:640px){.company-data-grid{grid-template-columns:1fr}}.sensor-reading-card{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;background:#fff;border:1px solid var(--iot-border);border-radius:.5rem;transition:box-shadow .2s ease,border-color .2s ease;position:relative;overflow:visible}.sensor-reading-card:hover{border-color:var(--iot-primary);box-shadow:0 2px 8px #0d6efd1a}.sensor-reading-card__icon{font-size:1.25rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--iot-light);border-radius:.375rem;flex-shrink:0}.sensor-reading-card__info{flex:0 0 auto;min-width:90px}.sensor-reading-card__name{display:block;font-size:.75rem;color:var(--iot-gray);margin-bottom:.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.sensor-reading-card__value{display:flex;align-items:baseline;gap:.25rem}.sensor-reading-card__number{font-size:1.125rem;font-weight:700;color:var(--iot-dark);font-variant-numeric:tabular-nums}.sensor-reading-card__unit{font-size:.75rem;color:var(--iot-gray)}.sensor-reading-card__chart{flex:1;display:flex;align-items:center;justify-content:center;min-width:80px;padding:.5rem;border-radius:.375rem;box-shadow:0 0 0 1px #0000001a}.sensor-reading-card__chart .u-wrap{line-height:0}.sensor-reading-card__trend{display:flex;align-items:center;gap:.25rem;font-size:.75rem;padding:.25rem .5rem;border-radius:.25rem;white-space:nowrap;flex-shrink:0}.sensor-reading-card__trend i{font-size:.625rem}.sensor-reading-card__trend--up{color:#16a34a;background:#16a34a1a}.sensor-reading-card__trend--down{color:#dc2626;background:#dc26261a}.sensor-reading-card__trend--stable{color:var(--iot-gray);background:var(--iot-light)}.sensor-reading-list{display:flex;flex-direction:column;gap:.625rem}.sensor-reading-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem}.sensor-reading-card--dark{background:#1e293bf2;border-color:#ffffff1a}.sensor-reading-card--dark .sensor-reading-card__name{color:#94a3b8}.sensor-reading-card--dark .sensor-reading-card__number{color:#fff}.sensor-reading-card--dark .sensor-reading-card__unit{color:#94a3b8}.sensor-reading-card--dark .sensor-reading-card__icon{background:#ffffff1a}.sensor-reading-card--alarm{border-color:#ef4444;background:linear-gradient(135deg,#fef2f2,#fff);box-shadow:0 0 0 1px #ef444433,0 2px 8px #ef444426;position:relative;animation:alarm-pulse 2s ease-in-out infinite}.sensor-reading-card--alarm:hover{border-color:#dc2626;box-shadow:0 0 0 1px #ef44444d,0 4px 12px #ef444433}@keyframes alarm-pulse{0%,to{box-shadow:0 0 0 1px #ef444433,0 2px 8px #ef444426}50%{box-shadow:0 0 0 2px #ef444466,0 4px 12px #ef444440}}.sensor-reading-card__alarm-badge{position:absolute;top:-8px;right:8px;display:flex;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:.25rem;color:#fff;z-index:1}.sensor-reading-card__alarm-badge i{font-size:.625rem}.sensor-reading-card__alarm-badge--low{background:linear-gradient(135deg,#3b82f6,#2563eb)}.sensor-reading-card__alarm-badge--high,.sensor-reading-card__alarm-badge--critical{background:linear-gradient(135deg,#ef4444,#dc2626)}.sensor-reading-card__alarm-badge--warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.sensor-reading-card__number--alarm{color:#dc2626}.sensor-reading-card--alarm .sensor-reading-card__icon{background:#ef44441a}@media(max-width:1200px){.sensor-reading-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.sensor-reading-card{padding:.75rem;gap:.625rem}.sensor-reading-card__info{flex:1}}@media(max-width:640px){.sensor-reading-grid{grid-template-columns:1fr}}.refresh-timer{display:flex;align-items:center;gap:.25rem}.refresh-timer__button{display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;padding:4px;border-radius:50%;transition:background .2s ease}.refresh-timer__button:hover{background:var(--iot-light)}.refresh-timer__button:disabled{cursor:not-allowed;opacity:.7}.refresh-timer__svg{display:block}.refresh-timer__spinner{border:2px solid var(--iot-border);border-top-color:var(--iot-primary);border-radius:50%;animation:refresh-spin .8s linear infinite}@keyframes refresh-spin{to{transform:rotate(360deg)}}.refresh-timer__pause{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;cursor:pointer;color:var(--iot-gray);font-size:.625rem;border-radius:4px;transition:all .2s ease}.refresh-timer__pause:hover{background:var(--iot-light);color:var(--iot-primary)}.live-indicator{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--iot-gray)}.live-indicator__dot{width:8px;height:8px;background:var(--iot-success);border-radius:50%;animation:live-pulse 2s ease-in-out infinite}.live-indicator__dot--loading{background:var(--iot-warning)}@keyframes live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}}.data-refresh-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--iot-light);border-radius:.5rem;margin-bottom:1rem}.data-refresh-header__left{display:flex;align-items:center;gap:.75rem}.data-refresh-header__status{font-size:.8rem;color:var(--iot-gray)}.data-refresh-header__time{font-weight:500;color:var(--iot-dark)}.sensor-config-list{display:flex;flex-direction:column;gap:.75rem}.sensor-config-item{background:#fff;border:1px solid var(--iot-border);border-radius:.5rem;overflow:hidden}.sensor-config-item.unconfigured{border-style:dashed;background:var(--iot-light)}.sensor-config-display{padding:1rem}.sensor-config-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.sensor-config-title{display:flex;align-items:center;gap:.5rem}.sensor-config-title i{font-size:1.125rem}.sensor-config-title code.sensor-config-key{font-size:.9rem;font-weight:600;color:var(--iot-dark);background:var(--iot-light);padding:.125rem .5rem;border-radius:.25rem}.sensor-config-label{font-size:.8rem;color:var(--iot-gray)}.sensor-config-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem 1rem}.sensor-config-row{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.sensor-config-row .config-label{color:var(--iot-gray);min-width:80px}.sensor-config-row .config-value{color:var(--iot-dark);font-weight:500}.sensor-config-row .config-value.disabled{color:var(--iot-gray);font-style:italic;font-weight:400}.alarm-values{display:flex;gap:.75rem}.alarm-min{color:#0891b2}.alarm-max{color:#dc2626}.sensor-config-unconfigured{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem}.sensor-config-unconfigured .sensor-config-key{display:flex;align-items:center;gap:.5rem}.sensor-config-unconfigured code{font-size:.9rem;font-weight:500;color:var(--iot-dark)}.sensor-config-form{padding:1rem;background:var(--iot-light)}.sensor-config-form-header{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--iot-border)}.sensor-config-form-header code{font-size:1rem;font-weight:600;color:var(--iot-primary)}.sensor-config-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem 1rem}.sensor-config-form-grid .form-group{display:flex;flex-direction:column;gap:.25rem}.sensor-config-form-grid .form-group-full{grid-column:1 / -1}.sensor-config-form-grid label{font-size:.75rem;font-weight:500;color:var(--iot-gray)}.sensor-config-form-grid .checkbox-label{flex-direction:row;align-items:center;gap:.5rem;color:var(--iot-dark);font-size:.85rem;cursor:pointer}.sensor-config-form-grid .checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.sensor-config-form-grid input.iot-input,.sensor-config-form-grid select.iot-input{padding:.5rem .75rem;font-size:.85rem;border:1px solid var(--iot-border);border-radius:.375rem;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.sensor-config-form-grid input.iot-input:focus,.sensor-config-form-grid select.iot-input:focus{outline:none;border-color:var(--iot-primary);box-shadow:0 0 0 3px #0d6efd1a}.sensor-config-form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--iot-border)}.iot-btn-sm{display:inline-flex;align-items:center;gap:.35rem;padding:.375rem .75rem;font-size:.8rem;font-weight:500;border-radius:.375rem;border:1px solid transparent;cursor:pointer;transition:all .2s ease}.iot-btn-sm:disabled{opacity:.6;cursor:not-allowed}.iot-btn-sm.iot-btn-primary{background:var(--iot-primary);color:#fff;border-color:var(--iot-primary)}.iot-btn-sm.iot-btn-primary:hover:not(:disabled){background:var(--iot-primary-dark);border-color:var(--iot-primary-dark)}.iot-btn-sm.iot-btn-outline{background:#fff;color:var(--iot-gray);border-color:var(--iot-border)}.iot-btn-sm.iot-btn-outline:hover:not(:disabled){background:var(--iot-light);color:var(--iot-dark);border-color:var(--iot-gray)}.iot-alert-success{background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.2);padding:.75rem 1rem;border-radius:.375rem;margin-bottom:1rem;font-size:.85rem}.iot-badge.warning{background:#f59e0b1a;color:#d97706}.log-sensor-name{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--iot-dark)}.log-sensor-key{font-size:.7rem;font-weight:400;color:var(--iot-gray);background:var(--iot-light);padding:.125rem .375rem;border-radius:.25rem}.log-unit{font-size:.8rem;color:var(--iot-gray)}@media(max-width:1200px){.sensor-config-form-grid,.sensor-config-details{grid-template-columns:1fr}.sensor-config-unconfigured{flex-direction:column;align-items:flex-start;gap:.75rem}.sensor-config-unconfigured button{width:100%;justify-content:center}.log-sensor-name{flex-direction:column;align-items:flex-start;gap:.25rem}}.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}.charts-wrapper{padding:0;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);min-height:100%;width:100%}.charts-header{background:#fff;border-radius:15px;padding:1.5rem 2rem;margin-bottom:1.5rem;box-shadow:0 10px 40px #0000001a;display:flex;justify-content:space-between;align-items:center;transition:transform .3s ease,box-shadow .3s ease;border:1px solid #e5e7eb}.charts-header:hover{transform:translateY(-3px);box-shadow:0 15px 50px #00000026}.charts-title-section{display:flex;flex-direction:column;gap:.5rem}.charts-label{font-size:.875rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:1px}.charts-title{font-size:1.75rem;font-weight:700;color:#1f2937;letter-spacing:.5px;margin:0}.charts-controls-section{background:#fff;border-radius:15px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 5px 20px #00000014}.charts-control-row{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:flex-end;margin-bottom:1rem}.charts-control-group{display:flex;flex-direction:column;gap:.5rem;min-width:180px}.charts-control-group label{font-size:.9rem;font-weight:600;color:#374151}.charts-input,.charts-select{padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;color:#1f2937;transition:all .3s ease;background:#fff}.charts-input:focus,.charts-select:focus{outline:none;border-color:var(--iot-primary, #0d6efd);box-shadow:0 0 0 3px #0d6efd1a}.charts-select{cursor:pointer;min-width:200px}.charts-date-row{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:flex-end;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.charts-category-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.charts-category-tab{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;color:#4b5563;transition:all .2s ease}.charts-category-tab:hover{background:#f3f4f6;border-color:#d1d5db}.charts-category-tab.active{background:linear-gradient(135deg,var(--iot-primary, #0d6efd) 0%,var(--iot-primary-dark, #0056b3) 100%);border-color:var(--iot-primary-dark, #0056b3);color:#fff}.charts-category-tab.active .charts-category-icon{color:#fff}.charts-category-tab.active .charts-category-count{background:#fff3;color:#fff}.charts-category-icon{font-size:1rem;color:#6b7280}.charts-category-count{background:#e5e7eb;color:#4b5563;padding:.15rem .5rem;border-radius:10px;font-size:.75rem;font-weight:600}.charts-variable-chips-container{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;min-height:40px}.charts-var-chip{padding:.5rem 1rem;background:#f9fafb;border:2px solid #e5e7eb;border-radius:20px;cursor:pointer;font-size:.85rem;font-weight:600;color:#374151;transition:all .2s ease}.charts-var-chip:hover{background:#f3f4f6;border-color:var(--iot-success, #10b981);color:var(--iot-success, #10b981)}.charts-var-chip.selected{background:linear-gradient(135deg,var(--iot-success, #10b981) 0%,#059669 100%);border-color:#059669;color:#fff;box-shadow:0 2px 8px #10b9814d}.charts-button-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.charts-add-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--iot-success, #10b981) 0%,#059669 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;box-shadow:0 2px 6px #10b98140;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.charts-add-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 10px #10b98159}.charts-add-button:disabled{opacity:.6;cursor:not-allowed}.charts-dropdown-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--iot-primary, #0d6efd) 0%,var(--iot-primary-dark, #0056b3) 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600;box-shadow:0 2px 6px #0d6efd40;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.charts-dropdown-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 10px #0d6efd59}.charts-dropdown-button:disabled{opacity:.6;cursor:not-allowed}.charts-zoom-button{padding:.5rem 1rem;background:linear-gradient(135deg,var(--iot-primary, #0d6efd) 0%,var(--iot-primary-dark, #0056b3) 100%);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;box-shadow:0 2px 6px #0d6efd40;transition:all .3s ease;display:inline-flex;align-items:center;gap:.35rem}.charts-zoom-button:hover{transform:translateY(-2px);box-shadow:0 4px 10px #0d6efd59}.charts-clear-button{padding:.5rem 1rem;background:linear-gradient(135deg,var(--iot-danger, #ef4444) 0%,#dc2626 100%);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;box-shadow:0 2px 6px #ef444440;transition:all .3s ease;display:inline-flex;align-items:center;gap:.35rem}.charts-clear-button:hover{transform:translateY(-2px);box-shadow:0 4px 10px #ef444459}.charts-section{display:flex;flex-direction:column;gap:2rem}.charts-no-charts{background:#fff;border-radius:15px;padding:3rem;text-align:center;box-shadow:0 5px 20px #00000014}.charts-no-charts p{color:#6b7280;font-size:1.1rem}.chart-container{background:#fff;border-radius:15px;padding:1.5rem;box-shadow:0 5px 20px #00000014;position:relative;min-height:400px}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.chart-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#1f2937}.chart-title{margin:0;font-size:1.5rem;font-weight:600;color:#2c3e50;letter-spacing:-.5px}.chart-controls{display:flex;align-items:center;gap:12px}.chart-actions{display:flex;gap:.75rem}.chart-variables{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.chart-variable-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:#f9fafb;border:2px solid;border-radius:20px;font-size:.85rem;font-weight:600;transition:all .2s ease}.chart-variable-chip:hover{transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.chart-variable-chip-wrapper{position:relative;display:inline-flex}.chart-chip-remove{background:none;border:none;font-size:1.2rem;line-height:1;cursor:pointer;color:#6b7280;padding:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.chart-chip-remove:hover{background:#0000001a;color:#374151}.chart-chip-settings{background:none;border:none;font-size:.9rem;line-height:1;cursor:pointer;color:#9ca3af;padding:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.chart-chip-settings:hover{background:#0d6efd26;color:var(--iot-primary, #0d6efd)}.chart-chip-settings.active{color:var(--iot-primary, #0d6efd);background:#0d6efd1a}.chart-yaxis-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:1000;background:#fff;border-radius:10px;box-shadow:0 10px 40px #00000026;padding:1rem;min-width:220px;border:1px solid #e5e7eb}.chart-yaxis-popover:before{content:"";position:absolute;top:-6px;left:16px;width:12px;height:12px;background:#fff;border-left:1px solid #e5e7eb;border-top:1px solid #e5e7eb;transform:rotate(45deg)}.chart-popover-header{font-size:.9rem;font-weight:600;color:#374151;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.chart-popover-row{margin-bottom:.75rem}.chart-popover-row label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#4b5563;cursor:pointer}.chart-popover-row input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--iot-primary, #0d6efd)}.chart-popover-inputs{display:flex;gap:.75rem;margin-bottom:1rem}.chart-popover-field{flex:1}.chart-popover-field label{display:block;font-size:.75rem;font-weight:600;color:#6b7280;margin-bottom:.25rem}.chart-popover-field input{width:100%;padding:.5rem;border:1.5px solid #e5e7eb;border-radius:6px;font-size:.85rem;transition:border-color .2s ease}.chart-popover-field input:focus{outline:none;border-color:var(--iot-primary, #0d6efd)}.chart-popover-field input:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.chart-popover-apply{width:100%;padding:.6rem;background:linear-gradient(135deg,var(--iot-primary, #0d6efd) 0%,var(--iot-primary-dark, #0056b3) 100%);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.chart-popover-apply:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0d6efd4d}.chart-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 32px;min-height:320px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:16px;border:1px dashed #e2e8f0;text-align:center}.chart-empty-icon{width:160px;height:110px;margin-bottom:24px;opacity:.9}.chart-empty-icon svg{width:100%;height:100%}.empty-chart-line{animation:dashMove 3s linear infinite}@keyframes dashMove{0%{stroke-dashoffset:0}to{stroke-dashoffset:20}}.chart-empty-title{color:#334155;margin:0 0 12px;font-size:1.25rem;font-weight:600;letter-spacing:-.3px}.chart-empty-message{color:#64748b;margin:0 0 8px;font-size:.95rem;font-weight:500}.chart-empty-hint{color:#94a3b8;margin:0;font-size:.85rem;font-weight:400}.chart-loading{padding:60px 40px;text-align:center;background:#f8f9fa;border-radius:12px;margin-bottom:24px}.chart-loading p{color:#6c757d;font-size:1rem;margin:0;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.chart-tooltip{background:#fffffffa;padding:12px 16px;border-radius:8px;box-shadow:0 4px 12px #00000026;border:1px solid #e0e0e0;pointer-events:none;z-index:1000}.chart-tooltip-date{font-weight:600;color:#2c3e50;margin:0 0 8px;font-size:.875rem;padding-bottom:8px;border-bottom:1px solid #f0f0f0}.chart-tooltip p{margin:4px 0;font-size:.875rem;font-weight:500}.reset-zoom-button{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:linear-gradient(135deg,var(--iot-primary, #0d6efd) 0%,var(--iot-primary-dark, #0056b3) 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #0d6efd4d}.reset-zoom-button .reset-zoom-icon{font-size:1rem}.reset-zoom-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0d6efd66}.reset-zoom-button:active{transform:translateY(0)}.chart-yaxis-settings-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease}.chart-yaxis-settings-btn:hover{background:#e2e8f0;color:#475569}.chart-yaxis-settings-btn.active{background:linear-gradient(135deg,var(--iot-primary, #0d6efd) 0%,var(--iot-primary-dark, #0056b3) 100%);color:#fff;border-color:var(--iot-primary-dark, #0056b3);box-shadow:0 2px 8px #0d6efd4d}.zoom-toggle-button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;background:linear-gradient(135deg,var(--iot-purple, #8b5cf6) 0%,#7c3aed 100%);color:#fff;border:none;border-radius:50%;cursor:pointer;transition:all .3s ease;box-shadow:0 3px 10px #8b5cf659}.zoom-toggle-button svg,.zoom-toggle-button i{font-size:1.25rem;color:#fff}.zoom-toggle-button:hover{transform:scale(1.1);box-shadow:0 4px 14px #8b5cf673}.zoom-toggle-button:active{transform:scale(.95)}.zoom-toggle-button.active{background:linear-gradient(135deg,var(--iot-success, #10b981) 0%,#059669 100%);box-shadow:0 3px 10px #10b98159;animation:pulse-glow 2s ease-in-out infinite}.zoom-toggle-button.active:hover{box-shadow:0 4px 14px #10b98173}@keyframes pulse-glow{0%,to{box-shadow:0 3px 10px #10b98159}50%{box-shadow:0 3px 18px #10b9818c}}.uplot-chart-wrapper{width:100%;position:relative}.uplot-container{width:100%}.uplot-container .u-over{touch-action:pan-y}.uplot-chart-wrapper .uplot{font-family:inherit}.uplot-chart-wrapper .u-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:.75rem 0;font-size:.8rem;justify-content:center;border-top:1px solid #d1d5db;margin-top:.5rem}.uplot-chart-wrapper .u-legend .u-series{display:flex;align-items:center;gap:.25rem}.uplot-chart-wrapper .u-legend .u-marker{width:12px;height:3px;border-radius:1px}.uplot-chart-wrapper .u-legend .u-label{font-weight:500;color:#374151}.uplot-chart-wrapper .u-legend .u-value{font-weight:600;margin-left:.25rem;color:#1f2937}.uplot-chart-wrapper .u-cursor-x,.uplot-chart-wrapper .u-cursor-y{border-color:#0003!important}.uplot-chart-wrapper .u-select{background:#3b82f626!important;border:1px solid rgba(59,130,246,.5)!important}.chart-refresh-timer{display:flex;align-items:center;gap:10px;font-size:.95rem;color:#475569;font-weight:500}.chart-refresh-timer-ring{position:relative;width:44px;height:44px}.chart-refresh-timer-ring svg{transform:rotate(-90deg);width:44px;height:44px}.chart-refresh-timer-ring .ring-bg{fill:none;stroke:#e2e8f0;stroke-width:4}.chart-refresh-timer-ring .ring-progress{fill:none;stroke:var(--iot-success, #10b981);stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset .3s ease}.chart-refresh-timer-ring .ring-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.85rem;font-weight:700;color:#059669}.zoom-hint{display:inline-flex;align-items:center;gap:4px;padding:8px 12px;background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(200,200,200,.3);border-radius:12px;box-shadow:0 2px 8px #00000014;transition:all .3s ease;cursor:help;font-size:.8rem;color:#64748b}.zoom-hint:hover{background:#ffffffe6;box-shadow:0 4px 12px #0000001f;transform:scale(1.05)}.zoom-hint-icon{font-size:1rem;color:#64748b;transition:color .3s ease}.zoom-hint:hover .zoom-hint-icon{color:var(--iot-primary, #0d6efd)}@media(max-width:768px){.charts-wrapper{padding:0}.charts-header{padding:1rem 1.25rem;flex-direction:column;align-items:flex-start;gap:1rem}.charts-title{font-size:1.5rem}.charts-controls-section{padding:1rem}.charts-control-row{flex-direction:column;gap:1rem}.charts-date-row{flex-direction:row;gap:.75rem}.charts-date-row .charts-control-group{flex:1;min-width:0}.charts-control-group{width:100%;min-width:unset}.charts-input,.charts-select{width:100%}.charts-category-tabs{gap:.4rem;overflow-x:auto;flex-wrap:nowrap;padding-bottom:.75rem;margin-bottom:.75rem;-webkit-overflow-scrolling:touch}.charts-category-tab{padding:.5rem .75rem;font-size:.8rem;white-space:nowrap;flex-shrink:0;min-height:44px}.charts-variable-chips-container{gap:.4rem;margin-bottom:1rem}.charts-var-chip{padding:.4rem .75rem;font-size:.8rem;border-width:1.5px}.charts-button-row{flex-direction:row;width:100%;gap:.5rem}.charts-button-row>.charts-add-button{flex:1}.charts-add-button,.charts-dropdown-button{padding:.75rem 1rem;font-size:.9rem;width:100%;justify-content:center}.chart-container{padding:.75rem;border-radius:10px;min-height:300px}.chart-header{flex-direction:column;gap:.75rem;align-items:flex-start;padding-bottom:.75rem;margin-bottom:.75rem}.chart-title{font-size:1.125rem}.chart-controls{width:100%;justify-content:flex-end;gap:.5rem}.chart-actions{width:100%;justify-content:flex-end}.chart-variables{margin-bottom:.5rem;gap:.35rem}.chart-variable-chip{padding:.25rem .5rem;font-size:.75rem;gap:.25rem;border-width:1.5px;border-radius:6px}.chart-chip-remove{width:14px;height:14px;font-size:.9rem}.chart-chip-settings{width:14px;height:14px;font-size:.7rem}.reset-zoom-button{padding:0;border-radius:50%;width:36px;height:36px;min-width:36px;max-width:36px;justify-content:center;gap:0}.reset-zoom-button .reset-zoom-text{display:none}.reset-zoom-button .reset-zoom-icon{font-size:1.1rem;margin:0}.chart-empty-state{padding:32px 20px;min-height:250px}.chart-empty-icon{width:120px;height:80px;margin-bottom:16px}.chart-empty-title{font-size:1.1rem}.chart-empty-message{font-size:.875rem}.chart-empty-hint{font-size:.8rem}.chart-yaxis-popover{min-width:180px;padding:.75rem;left:auto;right:0}.chart-popover-inputs{flex-direction:column;gap:.5rem}.uplot-chart-wrapper .u-legend{font-size:.7rem;gap:.35rem .75rem;padding:.5rem 0}.uplot-chart-wrapper .u-legend .u-marker{width:10px;height:2px}}@media(max-width:1200px)and (min-width:769px){.chart-container{padding:1.25rem}.chart-header{flex-wrap:wrap;gap:12px}.chart-title{font-size:1.3rem}}.iot-charts-tab{padding:0}.iot-charts-tab .charts-wrapper{background:transparent}.chart-no-data{text-align:center;padding:3rem;font-size:1.1rem;color:#9ca3af;background:#f9fafb;border-radius:10px}.chart-loading-progress{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem}.chart-loading-progress .progress-bar{width:200px;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.chart-loading-progress .progress-fill{height:100%;background:linear-gradient(90deg,var(--iot-primary, #0d6efd),var(--iot-primary-dark, #0056b3));border-radius:3px;transition:width .3s ease}.chart-loading-progress span{font-size:.9rem;color:#6b7280}
