@charset "UTF-8";@font-face{font-display:block;font-family:bootstrap-icons;src:url(./bootstrap-icons.mSm7cUeB.woff2?e34853135f9e39acf64315236852cd5a) format("woff2"),url(./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-variant:normal;font-weight:400!important;line-height:1;text-transform:none;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:"爛"}:root{--color-primary:#007bff;--color-primary-dark:#0056b3;--color-primary-light:#40b5ff;--color-primary-05:rgba(0,123,255,.05);--color-primary-10:rgba(0,123,255,.1);--color-primary-soft:rgba(0,123,255,.12);--color-focus-ring:rgba(0,123,255,.1);--color-secondary:#6c757d;--color-success:#28a745;--color-danger:#dc3545;--color-warning:#ffc107;--color-info:#17a2b8;--color-primary-rgb:0,123,255;--color-success-rgb:40,167,69;--color-danger-rgb:220,53,69;--color-warning-rgb:255,193,7;--color-info-rgb:23,162,184;--color-text-muted-rgb:156,163,175;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--color-bg:#fff;--color-bg-secondary:#f1f3f5;--color-bg-tertiary:#e9ecef;--color-bg-hover:rgba(0,0,0,.04);--color-text:#111827;--color-text-secondary:#6b7280;--color-text-tertiary:#6c757d;--color-border:#e5e7eb;--color-border-hover:#d1d5db;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1);--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-full:9999px;--font-family-base:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--line-height-tight:1.25;--line-height-snug:1.375;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:2;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-toast:1080;--transition-fast:.15s ease-in-out;--transition-base:.2s ease-in-out;--transition-slow:.3s ease-in-out;--breakpoint-xs:320px;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--breakpoint-2xl:1400px;--course-color-1:#3b82f6;--course-color-2:#10b981;--course-color-3:#f59e0b;--course-color-4:#8b5cf6;--course-color-5:#ec4899;--course-color-6:#ef4444;--color-critical:#dc3545;--color-high:#fd7e14;--color-medium:#ffc107;--color-low:#17a2b8;--color-ai:#8b5cf6;--color-ai-light:#c4b5fd;--color-info-10:rgba(23,162,184,.1);--color-success-05:rgba(40,167,69,.05);--color-success-10:rgba(40,167,69,.1);--color-warning-10:rgba(255,193,7,.1);--color-danger-10:rgba(220,53,69,.1);--color-link:#007bff;--color-link-hover:#0056b3;--color-placeholder:#6b7280;--color-disabled:#6c757d;--color-disabled-bg:#e9ecef;--color-trend-up:#28a745;--color-trend-stable:#6c757d;--color-trend-down:#dc3545;--color-card-info:rgba(23,162,184,.05);--color-card-success:rgba(40,167,69,.05);--color-card-warning:rgba(255,193,7,.05);--color-card-danger:rgba(220,53,69,.05);--color-card-ai:rgba(139,92,246,.05);--progress-width:0%;--progress-color:var(--color-primary);--category-color:var(--color-primary);--category-bg-color:var(--color-bg-secondary);--category-border-color:var(--color-border);--status-color:var(--color-success);--badge-color:var(--color-primary);--card-accent-color:var(--color-primary);--bs-primary:var(--color-primary);--bs-secondary:var(--color-secondary);--bs-success:var(--color-success);--bs-danger:var(--color-danger);--bs-warning:var(--color-warning);--bs-info:var(--color-info);--bs-body-bg:var(--color-bg);--bs-body-color:var(--color-text);--bs-border-color:var(--color-border)}@keyframes skeletonShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}:root.dark{--color-primary:#6da3ff;--color-primary-dark:#85b5ff;--color-primary-light:#4f8fff;--color-primary-05:rgba(109,163,255,.05);--color-primary-10:rgba(109,163,255,.1);--color-primary-soft:rgba(109,163,255,.15);--color-focus-ring:rgba(109,163,255,.1);--color-secondary:#9ca3af;--color-success:#4ade80;--color-danger:#f87171;--color-warning:#facc15;--color-info:#4dd0e1;--color-gray-50:#111827;--color-gray-100:#1f2937;--color-gray-200:#374151;--color-gray-300:#4b5563;--color-gray-400:#6b7280;--color-gray-500:#9ca3af;--color-gray-600:#d1d5db;--color-gray-700:#e5e7eb;--color-gray-800:#f3f4f6;--color-gray-900:#f9fafb;--color-bg:#0f172a;--color-bg-secondary:#1a1f35;--color-bg-tertiary:#252d3d;--color-text:#f1f5f9;--color-text-secondary:#cbd5e1;--color-text-tertiary:#94a3b8;--color-border:#374151;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,.4);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.4);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.5);--course-color-1:#60a5fa;--course-color-2:#34d399;--course-color-3:#fbbf24;--course-color-4:#a78bfa;--course-color-5:#f472b6;--course-color-6:#f87171;--color-critical:#f87171;--color-high:#fb923c;--color-medium:#facc15;--color-low:#4dd0e1;--color-ai:#d8b4fe;--color-ai-light:#7c3aed;--color-link:#6da3ff;--color-link-hover:#85b5ff;--color-placeholder:#9ca3af;--color-disabled:#6b7280;--color-disabled-bg:#374151;--color-trend-up:#4ade80;--color-trend-stable:#9ca3af;--color-trend-down:#f87171;--color-card-info:rgba(77,208,225,.1);--color-card-success:rgba(74,222,128,.1);--color-card-warning:rgba(250,204,21,.1);--color-card-danger:hsla(0,91%,71%,.1);--color-card-ai:rgba(216,180,254,.1);--bs-body-bg:var(--color-bg);--bs-body-color:var(--color-text);--bs-border-color:var(--color-border)}:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#007bff;--bs-secondary:#6c757d;--bs-success:#28a745;--bs-info:#17a2b8;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:0,123,255;--bs-secondary-rgb:108,117,125;--bs-success-rgb:40,167,69;--bs-info-rgb:23,162,184;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#003166;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#10431c;--bs-info-text-emphasis:#09414a;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cce5ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d4edda;--bs-info-bg-subtle:#d1ecf1;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#99caff;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a9dcb5;--bs-info-border-subtle:#a2dae3;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg,hsla(0,0%,100%,.15),hsla(0,0%,100%,0));--bs-body-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell",sans-serif;--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#111827;--bs-body-color-rgb:17,24,39;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(17,24,39,.75);--bs-secondary-color-rgb:17,24,39;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(17,24,39,.5);--bs-tertiary-color-rgb:17,24,39;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#007bff;--bs-link-color-rgb:0,123,255;--bs-link-decoration:underline;--bs-link-hover-color:#0062cc;--bs-link-hover-color-rgb:0,98,204;--bs-code-color:#d63384;--bs-highlight-color:#111827;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0,0,0,.175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:.75rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 4px 6px -1px rgba(0,0,0,.1);--bs-box-shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--bs-box-shadow-lg:0 10px 15px -3px rgba(0,0,0,.1);--bs-box-shadow-inset:inset 0 1px 2px rgba(0,0,0,.075);--bs-focus-ring-width:.25rem;--bs-focus-ring-opacity:.25;--bs-focus-ring-color:rgba(0,123,255,.25);--bs-form-valid-color:#28a745;--bs-form-valid-border-color:#28a745;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222,226,230,.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222,226,230,.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#66b0ff;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#7eca8f;--bs-info-text-emphasis:#74c7d4;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#001933;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#08210e;--bs-info-bg-subtle:#052025;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#004a99;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#186429;--bs-info-border-subtle:#0e616e;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#66b0ff;--bs-link-hover-color:#85c0ff;--bs-link-color-rgb:102,176,255;--bs-link-hover-color-rgb:133,192,255;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:hsla(0,0%,100%,.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}@media(prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{background-color:var(--bs-body-bg);color:var(--bs-body-color);font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);margin:0;text-align:var(--bs-body-text-align);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{border:0;border-top:var(--bs-border-width) solid;color:inherit;margin:1rem 0;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{color:var(--bs-heading-color);font-weight:500;line-height:1.2;margin-bottom:.5rem;margin-top:0}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media(min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media(min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media(min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media(min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-bottom:1rem;margin-top:0}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit;margin-bottom:1rem}ol,ul{padding-left:2rem}dl,ol,ul{margin-bottom:1rem;margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{background-color:var(--bs-highlight-bg);color:var(--bs-highlight-color);padding:.1875em}sub,sup{font-size:.75em;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;font-size:.875em;margin-bottom:1rem;margin-top:0;overflow:auto}pre code{color:inherit;font-size:inherit;word-break:normal}code{color:var(--bs-code-color);font-size:.875em;word-wrap:break-word}a>code{color:inherit}kbd{background-color:var(--bs-body-color);border-radius:.25rem;color:var(--bs-body-bg);font-size:.875em;padding:.1875rem .375rem}kbd kbd{font-size:1em;padding:0}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom}caption{color:var(--bs-secondary-color);padding-bottom:.5rem;padding-top:.5rem;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border:0 solid;border-color:inherit}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{border-style:none;padding:0}fieldset{border:0;margin:0;min-width:0;padding:0}legend{float:left;font-size:calc(1.275rem + .3vw);line-height:inherit;margin-bottom:.5rem;padding:0;width:100%}@media(min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{-webkit-appearance:button;font:inherit}output{display:inline-block}iframe{border:0}summary{cursor:pointer;display:list-item}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media(min-width:1200px){.display-6{font-size:2.5rem}}.list-inline,.list-unstyled{list-style:none;padding-left:0}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{font-size:1.25rem;margin-bottom:1rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{color:#6c757d;font-size:.875em;margin-bottom:1rem;margin-top:-1rem}.blockquote-footer:before{content:"— "}.img-fluid,.img-thumbnail{height:auto;max-width:100%}.img-thumbnail{background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);box-shadow:var(--bs-box-shadow-sm);padding:.25rem}.figure{display:inline-block}.figure-img{line-height:1;margin-bottom:.5rem}.figure-caption{color:var(--bs-secondary-color);font-size:.875em}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;margin-left:auto;margin-right:auto;padding-left:calc(var(--bs-gutter-x)*.5);padding-right:calc(var(--bs-gutter-x)*.5);width:100%}@media(min-width:576px){.container,.container-sm{max-width:540px}}@media(min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media(min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media(min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media(min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-left:calc(var(--bs-gutter-x)*-.5);margin-right:calc(var(--bs-gutter-x)*-.5);margin-top:calc(var(--bs-gutter-y)*-1)}.row>*{flex-shrink:0;margin-top:var(--bs-gutter-y);max-width:100%;padding-left:calc(var(--bs-gutter-x)*.5);padding-right:calc(var(--bs-gutter-x)*.5);width:100%}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:.25rem}.g-1,.gy-1{--bs-gutter-y:.25rem}.g-2,.gx-2{--bs-gutter-x:.5rem}.g-2,.gy-2{--bs-gutter-y:.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:2rem}.g-5,.gy-5{--bs-gutter-y:2rem}.g-6,.gx-6{--bs-gutter-x:3rem}.g-6,.gy-6{--bs-gutter-y:3rem}@media(min-width:576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:2rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:2rem}.g-sm-6,.gx-sm-6{--bs-gutter-x:3rem}.g-sm-6,.gy-sm-6{--bs-gutter-y:3rem}}@media(min-width:768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:2rem}.g-md-5,.gy-md-5{--bs-gutter-y:2rem}.g-md-6,.gx-md-6{--bs-gutter-x:3rem}.g-md-6,.gy-md-6{--bs-gutter-y:3rem}}@media(min-width:992px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:2rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:2rem}.g-lg-6,.gx-lg-6{--bs-gutter-x:3rem}.g-lg-6,.gy-lg-6{--bs-gutter-y:3rem}}@media(min-width:1200px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:2rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:2rem}.g-xl-6,.gx-xl-6{--bs-gutter-x:3rem}.g-xl-6,.gy-xl-6{--bs-gutter-y:3rem}}@media(min-width:1400px){.col-xxl{flex:1 0 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:2rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:2rem}.g-xxl-6,.gx-xxl-6{--bs-gutter-x:3rem}.g-xxl-6,.gy-xxl-6{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb),.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb),.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb),.075);border-color:var(--bs-table-border-color);margin-bottom:1rem;vertical-align:top;width:100%}.table>:not(caption)>*>*{background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)));color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));padding:.5rem}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width)*2) solid}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped-columns>:not(caption)>tr>:nth-child(2n),.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cce5ff;--bs-table-border-color:#a3b7cc;--bs-table-striped-bg:#c2d9f2;--bs-table-striped-color:#000;--bs-table-active-bg:#b8cee6;--bs-table-active-color:#000;--bs-table-hover-bg:#bdd3ec;--bs-table-hover-color:#000}.table-primary,.table-secondary{border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b4b6b7;--bs-table-striped-bg:#d6d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbcdce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000}.table-success{--bs-table-color:#000;--bs-table-bg:#d4edda;--bs-table-border-color:#aabeae;--bs-table-striped-bg:#c9e2cf;--bs-table-striped-color:#000;--bs-table-active-bg:#bfd6c4;--bs-table-active-color:#000;--bs-table-hover-bg:#c4dcc9;--bs-table-hover-color:#000}.table-info,.table-success{border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#d1ecf1;--bs-table-border-color:#a7bdc1;--bs-table-striped-bg:#c6e1e5;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd5d9;--bs-table-active-color:#000;--bs-table-hover-bg:#c1dbdf;--bs-table-hover-color:#000}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e6c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dab9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece0be;--bs-table-hover-color:#000}.table-danger,.table-warning{border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc1c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7c9;--bs-table-hover-color:#000}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000}.table-dark,.table-light{border-color:var(--bs-table-border-color);color:var(--bs-table-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media(max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{font-size:inherit;line-height:1.5;margin-bottom:0;padding-bottom:calc(.375rem + var(--bs-border-width));padding-top:calc(.375rem + var(--bs-border-width))}.col-form-label-lg{font-size:1.25rem;padding-bottom:calc(.5rem + var(--bs-border-width));padding-top:calc(.5rem + var(--bs-border-width))}.col-form-label-sm{font-size:.875rem;padding-bottom:calc(.25rem + var(--bs-border-width));padding-top:calc(.25rem + var(--bs-border-width))}.form-text{color:var(--bs-secondary-color);font-size:.875em;margin-top:.25rem}.form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-clip:padding-box;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);box-shadow:var(--bs-box-shadow-inset);color:var(--bs-body-color);display:block;font-size:1rem;font-weight:400;line-height:1.5;padding:.375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}@media(prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{background-color:var(--bs-body-bg);border-color:#80bdff;box-shadow:var(--bs-box-shadow-inset),0 0 0 .25rem #007bff40;color:var(--bs-body-color);outline:0}.form-control::-webkit-date-and-time-value{height:1.5em;margin:0;min-width:85px}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{background-color:var(--bs-tertiary-bg);border:0 solid;border-color:inherit;border-inline-end-width:var(--bs-border-width);border-radius:0;color:var(--bs-body-color);margin:-.375rem -.75rem;margin-inline-end:.75rem;padding:.375rem .75rem;pointer-events:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0;color:var(--bs-body-color);display:block;line-height:1.5;margin-bottom:0;padding:.375rem 0;width:100%}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-left:0;padding-right:0}.form-control-sm{border-radius:var(--bs-border-radius-sm);font-size:.875rem;min-height:calc(1.5em + .5rem + var(--bs-border-width)*2);padding:.25rem .5rem}.form-control-sm::file-selector-button{margin:-.25rem -.5rem;margin-inline-end:.5rem;padding:.25rem .5rem}.form-control-lg{border-radius:var(--bs-border-radius-lg);font-size:1.25rem;min-height:calc(1.5em + 1rem + var(--bs-border-width)*2);padding:.5rem 1rem}.form-control-lg::file-selector-button{margin:-.5rem -1rem;margin-inline-end:1rem;padding:.5rem 1rem}textarea.form-control{min-height:calc(1.5em + .75rem + var(--bs-border-width)*2)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + var(--bs-border-width)*2)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + var(--bs-border-width)*2)}.form-control-color{height:calc(1.5em + .75rem + var(--bs-border-width)*2);padding:.375rem;width:3rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + var(--bs-border-width)*2)}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + var(--bs-border-width)*2)}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-position:right .75rem center;background-repeat:no-repeat;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);box-shadow:var(--bs-box-shadow-inset);color:var(--bs-body-color);display:block;font-size:1rem;font-weight:400;line-height:1.5;padding:.375rem 2.25rem .375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}@media(prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#80bdff;box-shadow:var(--bs-box-shadow-inset),0 0 0 .25rem #007bff40;outline:0}.form-select[multiple],.form-select[size]:not([size="1"]){background-image:none;padding-right:.75rem}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{border-radius:var(--bs-border-radius-sm);font-size:.875rem;padding-bottom:.25rem;padding-left:.5rem;padding-top:.25rem}.form-select-lg{border-radius:var(--bs-border-radius-lg);font-size:1.25rem;padding-bottom:.5rem;padding-left:1rem;padding-top:.5rem}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E")}.form-check{display:block;margin-bottom:.125rem;min-height:1.5rem;padding-left:1.5em}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-left:0;padding-right:1.5em;text-align:right}.form-check-reverse .form-check-input{float:right;margin-left:0;margin-right:-1.5em}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-position:50%;background-repeat:no-repeat;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);flex-shrink:0;height:1em;margin-top:.25em;-webkit-print-color-adjust:exact;print-color-adjust:exact;vertical-align:top;width:1em}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#80bdff;box-shadow:0 0 0 .25rem #007bff40;outline:0}.form-check-input:checked{background-color:#007bff;border-color:#007bff}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3E%3C/svg%3E")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='2' fill='%23fff'/%3E%3C/svg%3E")}.form-check-input[type=checkbox]:indeterminate{background-color:#007bff;border-color:#007bff;--bs-form-check-bg-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3E%3C/svg%3E")}.form-check-input:disabled{filter:none;opacity:.5;pointer-events:none}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='rgba(0, 0, 0, 0.25)'/%3E%3C/svg%3E");background-image:var(--bs-form-switch-bg);background-position:0;border-radius:2em;margin-left:-2.5em;transition:background-position .15s ease-in-out;width:2em}@media(prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%237fbdff'/%3E%3C/svg%3E")}.form-switch .form-check-input:checked{background-position:100%;--bs-form-switch-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.form-switch.form-check-reverse{padding-left:0;padding-right:2.5em}.form-switch.form-check-reverse .form-check-input{margin-left:0;margin-right:-2.5em}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{filter:none;opacity:.65;pointer-events:none}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='rgba(255, 255, 255, 0.25)'/%3E%3C/svg%3E")}.form-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;height:1.5rem;padding:0;width:100%}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #007bff40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #007bff40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:#007bff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem #0000001a;height:1rem;margin-top:-.25rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media(prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.form-range::-webkit-slider-runnable-track{background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem;box-shadow:var(--bs-box-shadow-inset);color:transparent;cursor:pointer;height:.5rem;width:100%}.form-range::-moz-range-thumb{-moz-appearance:none;appearance:none;background-color:#007bff;border:0;border-radius:1rem;box-shadow:0 .1rem .25rem #0000001a;height:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media(prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b3d7ff}.form-range::-moz-range-track{background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem;box-shadow:var(--bs-box-shadow-inset);color:transparent;cursor:pointer;height:.5rem;width:100%}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + var(--bs-border-width)*2);line-height:1.25;min-height:calc(3.5rem + var(--bs-border-width)*2)}.form-floating>label{border:var(--bs-border-width) solid transparent;color:rgba(var(--bs-body-color-rgb),.65);height:100%;left:0;max-width:100%;overflow:hidden;padding:1rem .75rem;pointer-events:none;position:absolute;text-align:start;text-overflow:ellipsis;top:0;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out;white-space:nowrap;z-index:2}@media(prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder),.form-floating>.form-control:not(:-moz-placeholder){padding-bottom:.625rem;padding-top:1.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-bottom:.625rem;padding-top:1.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-bottom:.625rem;padding-top:1.625rem}.form-floating>.form-select{padding-bottom:.625rem;padding-left:.75rem;padding-top:1.625rem}.form-floating>.form-control:not(:-moz-placeholder)~label{transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>textarea:not(:-moz-placeholder)~label:after{background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius);content:"";height:1.5em;inset:1rem .375rem;position:absolute;z-index:-1}.form-floating>textarea:focus~label:after,.form-floating>textarea:not(:placeholder-shown)~label:after{background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius);content:"";height:1.5em;inset:1rem .375rem;position:absolute;z-index:-1}.form-floating>textarea:disabled~label:after{background-color:var(--bs-secondary-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.input-group{align-items:stretch;flex-wrap:wrap;position:relative;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{flex:1 1 auto;min-width:0;position:relative;width:1%}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{align-items:center;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);color:var(--bs-body-color);display:flex;font-size:1rem;font-weight:400;line-height:1.5;padding:.375rem .75rem;text-align:center;white-space:nowrap}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{border-radius:var(--bs-border-radius-lg);font-size:1.25rem;padding:.5rem 1rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{border-radius:var(--bs-border-radius-sm);font-size:.875rem;padding:.25rem .5rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-bottom-right-radius:0;border-top-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:calc(var(--bs-border-width)*-1)}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-bottom-left-radius:0;border-top-left-radius:0}.valid-feedback{color:var(--bs-form-valid-color);display:none;font-size:.875em;margin-top:.25rem;width:100%}.valid-tooltip{background-color:var(--bs-success);border-radius:var(--bs-border-radius);color:#fff;display:none;font-size:.875rem;margin-top:.1rem;max-width:100%;padding:.25rem .5rem;position:absolute;top:100%;z-index:5}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3E%3C/svg%3E");background-position:right calc(.375em + .1875rem) center;background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem);border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:var(--bs-box-shadow-inset),0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem);padding-right:calc(1.5em + .75rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3E%3C/svg%3E");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem);padding-right:4.125rem}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:var(--bs-box-shadow-inset),0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3.75rem + 1.5em)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{color:var(--bs-form-invalid-color);display:none;font-size:.875em;margin-top:.25rem;width:100%}.invalid-tooltip{background-color:var(--bs-danger);border-radius:var(--bs-border-radius);color:#fff;display:none;font-size:.875rem;margin-top:.1rem;max-width:100%;padding:.25rem .5rem;position:absolute;top:100%;z-index:5}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E");background-position:right calc(.375em + .1875rem) center;background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem);border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:var(--bs-box-shadow-inset),0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem);padding-right:calc(1.5em + .75rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem);padding-right:4.125rem}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:var(--bs-box-shadow-inset),0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3.75rem + 1.5em)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:.75rem;--bs-btn-padding-y:.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.15),0 1px 1px rgba(0,0,0,.075);--bs-btn-disabled-opacity:.65;--bs-btn-focus-box-shadow:0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb),.5);background-color:var(--bs-btn-bg);border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);box-shadow:var(--bs-btn-box-shadow);color:var(--bs-btn-color);display:inline-block;font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);text-align:center;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}@media(prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);color:var(--bs-btn-hover-color)}.btn-check+.btn:hover{background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color);color:var(--bs-btn-color)}.btn:focus-visible{background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);box-shadow:var(--bs-btn-box-shadow),var(--bs-btn-focus-box-shadow);color:var(--bs-btn-hover-color);outline:0}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);box-shadow:var(--bs-btn-box-shadow),var(--bs-btn-focus-box-shadow);outline:0}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color);box-shadow:var(--bs-btn-active-shadow);color:var(--bs-btn-active-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-active-shadow),var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-active-shadow),var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);box-shadow:none;color:var(--bs-btn-disabled-color);opacity:var(--bs-btn-disabled-opacity);pointer-events:none}.btn-primary{--bs-btn-color:#000;--bs-btn-bg:#007bff;--bs-btn-border-color:#007bff;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#268fff;--bs-btn-hover-border-color:#1a88ff;--bs-btn-focus-shadow-rgb:0,105,217;--bs-btn-active-color:#000;--bs-btn-active-bg:#3395ff;--bs-btn-active-border-color:#1a88ff;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#007bff;--bs-btn-disabled-border-color:#007bff}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#000;--bs-btn-bg:#28a745;--bs-btn-border-color:#28a745;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#48b461;--bs-btn-hover-border-color:#3eb058;--bs-btn-focus-shadow-rgb:34,142,59;--bs-btn-active-color:#000;--bs-btn-active-bg:#53b96a;--bs-btn-active-border-color:#3eb058;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#28a745;--bs-btn-disabled-border-color:#28a745}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#17a2b8;--bs-btn-border-color:#17a2b8;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#3ab0c3;--bs-btn-hover-border-color:#2eabbf;--bs-btn-focus-shadow-rgb:20,138,156;--bs-btn-active-color:#000;--bs-btn-active-bg:#45b5c6;--bs-btn-active-border-color:#2eabbf;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#17a2b8;--bs-btn-disabled-border-color:#17a2b8}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#007bff;--bs-btn-border-color:#007bff;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#007bff;--bs-btn-hover-border-color:#007bff;--bs-btn-focus-shadow-rgb:0,123,255;--bs-btn-active-color:#000;--bs-btn-active-bg:#007bff;--bs-btn-active-border-color:#007bff;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#007bff;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#007bff;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#28a745;--bs-btn-border-color:#28a745;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#28a745;--bs-btn-hover-border-color:#28a745;--bs-btn-focus-shadow-rgb:40,167,69;--bs-btn-active-color:#000;--bs-btn-active-bg:#28a745;--bs-btn-active-border-color:#28a745;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#28a745;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#28a745;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#17a2b8;--bs-btn-border-color:#17a2b8;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#17a2b8;--bs-btn-hover-border-color:#17a2b8;--bs-btn-focus-shadow-rgb:23,162,184;--bs-btn-active-color:#000;--bs-btn-active-bg:#17a2b8;--bs-btn-active-border-color:#17a2b8;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#17a2b8;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#17a2b8;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0,0,0,.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:0,105,217}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:.25rem;--bs-btn-padding-x:.5rem;--bs-btn-font-size:.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media(prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{height:auto;transition:width .35s ease;width:0}@media(prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{border-bottom:0;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:.3em solid;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:.5rem;--bs-dropdown-spacer:.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#007bff;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:.5rem;background-clip:padding-box;background-color:var(--bs-dropdown-bg);border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius);box-shadow:var(--bs-dropdown-box-shadow);color:var(--bs-dropdown-color);display:none;font-size:var(--bs-dropdown-font-size);list-style:none;margin:0;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);position:absolute;text-align:left;z-index:var(--bs-dropdown-zindex)}.dropdown-menu[data-bs-popper]{left:0;margin-top:var(--bs-dropdown-spacer);top:100%}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{left:auto;right:0}@media(min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{left:auto;right:0}}@media(min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{left:auto;right:0}}@media(min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{left:auto;right:0}}@media(min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{left:auto;right:0}}@media(min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{left:0;right:auto}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{left:auto;right:0}}.dropup .dropdown-menu[data-bs-popper]{bottom:100%;margin-bottom:var(--bs-dropdown-spacer);margin-top:0;top:auto}.dropup .dropdown-toggle:after{border-bottom:.3em solid;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:0;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{left:100%;margin-left:var(--bs-dropdown-spacer);margin-top:0;right:auto;top:0}.dropend .dropdown-toggle:after{border-bottom:.3em solid transparent;border-left:.3em solid;border-right:0;border-top:.3em solid transparent;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{left:auto;margin-right:var(--bs-dropdown-spacer);margin-top:0;right:100%;top:0}.dropstart .dropdown-toggle:after{content:"";display:inline-block;display:none;margin-left:.255em;vertical-align:.255em}.dropstart .dropdown-toggle:before{border-bottom:.3em solid transparent;border-right:.3em solid;border-top:.3em solid transparent;content:"";display:inline-block;margin-right:.255em;vertical-align:.255em}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{border-top:1px solid var(--bs-dropdown-divider-bg);height:0;margin:var(--bs-dropdown-divider-margin-y) 0;opacity:1;overflow:hidden}.dropdown-item{background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0);clear:both;color:var(--bs-dropdown-link-color);display:block;font-weight:400;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);text-align:inherit;text-decoration:none;white-space:nowrap;width:100%}.dropdown-item:focus,.dropdown-item:hover{background-color:var(--bs-dropdown-link-hover-bg);color:var(--bs-dropdown-link-hover-color)}.dropdown-item.active,.dropdown-item:active{background-color:var(--bs-dropdown-link-active-bg);color:var(--bs-dropdown-link-active-color);text-decoration:none}.dropdown-item.disabled,.dropdown-item:disabled{background-color:transparent;color:var(--bs-dropdown-link-disabled-color);pointer-events:none}.dropdown-menu.show{display:block}.dropdown-header{color:var(--bs-dropdown-header-color);display:block;font-size:.875rem;margin-bottom:0;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);white-space:nowrap}.dropdown-item-text{color:var(--bs-dropdown-link-color);display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:hsla(0,0%,100%,.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#007bff;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{display:inline-flex;position:relative;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{flex:1 1 auto;position:relative}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(var(--bs-border-width)*-1)}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-bottom-left-radius:0;border-top-left-radius:0}.dropdown-toggle-split{padding-left:.5625rem;padding-right:.5625rem}.dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-left:.375rem;padding-right:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-left:.75rem;padding-right:.75rem}.btn-group.show .dropdown-toggle{box-shadow:inset 0 3px 5px #00000020}.btn-group.show .dropdown-toggle.btn-link{box-shadow:none}.btn-group-vertical{align-items:flex-start;flex-direction:column;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(var(--bs-border-width)*-1)}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:nth-child(n+3),.btn-group-vertical>:not(.btn-check)+.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;list-style:none;margin-bottom:0;padding-left:0}.nav-link{background:none;border:0;color:var(--bs-nav-link-color);display:block;font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{box-shadow:0 0 0 .25rem #007bff40;outline:0}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);cursor:default;pointer-events:none}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius);margin-bottom:calc(var(--bs-nav-tabs-border-width)*-1)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:var(--bs-nav-tabs-link-hover-border-color);isolation:isolate}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color);color:var(--bs-nav-tabs-link-active-color)}.nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:calc(var(--bs-nav-tabs-border-width)*-1)}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#007bff}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{background-color:var(--bs-nav-pills-link-active-bg);color:var(--bs-nav-pills-link-active-color)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{border-bottom:var(--bs-nav-underline-border-width) solid transparent;padding-left:0;padding-right:0}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{border-bottom-color:currentcolor;color:var(--bs-nav-underline-link-active-color);font-weight:700}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb),.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb),.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb),.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb),1);--bs-navbar-brand-padding-y:.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb),1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb),1);--bs-navbar-nav-link-padding-x:.5rem;--bs-navbar-toggler-padding-y:.25rem;--bs-navbar-toggler-padding-x:.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(17, 24, 39, 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb),.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:.25rem;--bs-navbar-toggler-transition:box-shadow .15s ease-in-out;align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);position:relative}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{align-items:center;display:flex;flex-wrap:inherit;justify-content:space-between}.navbar-brand{color:var(--bs-navbar-brand-color);font-size:var(--bs-navbar-brand-font-size);margin-right:var(--bs-navbar-brand-margin-end);padding-bottom:var(--bs-navbar-brand-padding-y);padding-top:var(--bs-navbar-brand-padding-y);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;list-style:none;margin-bottom:0;padding-left:0}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{color:var(--bs-navbar-color);padding-bottom:.5rem;padding-top:.5rem}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{align-items:center;flex-basis:100%;flex-grow:1}.navbar-toggler{background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);color:var(--bs-navbar-color);font-size:var(--bs-navbar-toggler-font-size);line-height:1;padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);transition:var(--bs-navbar-toggler-transition)}@media(prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width);outline:0;text-decoration:none}.navbar-toggler-icon{background-image:var(--bs-navbar-toggler-icon-bg);background-position:50%;background-repeat:no-repeat;background-size:100%;display:inline-block;height:1.5em;vertical-align:middle;width:1.5em}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media(min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{background-color:transparent!important;border:0!important;box-shadow:none;flex-grow:1;height:auto!important;position:static;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media(min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{background-color:transparent!important;border:0!important;box-shadow:none;flex-grow:1;height:auto!important;position:static;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media(min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{background-color:transparent!important;border:0!important;box-shadow:none;flex-grow:1;height:auto!important;position:static;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media(min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{background-color:transparent!important;border:0!important;box-shadow:none;flex-grow:1;height:auto!important;position:static;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}}@media(min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{background-color:transparent!important;border:0!important;box-shadow:none;flex-grow:1;height:auto!important;position:static;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-left:var(--bs-navbar-nav-link-padding-x);padding-right:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{background-color:transparent!important;border:0!important;box-shadow:none;flex-grow:1;height:auto!important;position:static;transform:none!important;transition:none;visibility:visible!important;width:auto!important;z-index:auto}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;overflow-y:visible;padding:0}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:hsla(0,0%,100%,.55);--bs-navbar-hover-color:hsla(0,0%,100%,.75);--bs-navbar-disabled-color:hsla(0,0%,100%,.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:hsla(0,0%,100%,.1)}.navbar-dark,.navbar[data-bs-theme=dark],[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-card-cap-padding-y:.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb),.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:.75rem;color:var(--bs-body-color);height:var(--bs-card-height);min-width:0;position:relative;word-wrap:break-word;background-clip:border-box;background-color:var(--bs-card-bg);border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius);box-shadow:var(--bs-card-box-shadow)}.card>hr{margin-left:0;margin-right:0}.card>.list-group{border-bottom:inherit;border-top:inherit}.card>.list-group:first-child{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius);border-top-width:0}.card>.list-group:last-child{border-bottom-left-radius:var(--bs-card-inner-border-radius);border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-width:0}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{color:var(--bs-card-color);flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x)}.card-title{color:var(--bs-card-title-color);margin-bottom:var(--bs-card-title-spacer-y)}.card-subtitle{color:var(--bs-card-subtitle-color);margin-bottom:0;margin-top:calc(var(--bs-card-title-spacer-y)*-.5)}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color);color:var(--bs-card-cap-color);margin-bottom:0;padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color);color:var(--bs-card-cap-color);padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{border-bottom:0;margin-bottom:calc(var(--bs-card-cap-padding-y)*-1);margin-left:calc(var(--bs-card-cap-padding-x)*-.5);margin-right:calc(var(--bs-card-cap-padding-x)*-.5)}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-left:calc(var(--bs-card-cap-padding-x)*-.5);margin-right:calc(var(--bs-card-cap-padding-x)*-.5)}.card-img-overlay{border-radius:var(--bs-card-inner-border-radius);inset:0;padding:var(--bs-card-img-overlay-padding);position:absolute}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-left-radius:var(--bs-card-inner-border-radius);border-bottom-right-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media(min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{border-left:0;margin-left:0}.card-group>.card:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.card-group>.card:not(:last-child)>.card-header,.card-group>.card:not(:last-child)>.card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child)>.card-footer,.card-group>.card:not(:last-child)>.card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.card-group>.card:not(:first-child)>.card-header,.card-group>.card:not(:first-child)>.card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child)>.card-footer,.card-group>.card:not(:first-child)>.card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23111827' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='m2 5 6 6 6-6'/%3E%3C/svg%3E");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform .2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23003166' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 16 16'%3E%3Cpath d='m2 5 6 6 6-6'/%3E%3C/svg%3E");--bs-accordion-btn-focus-box-shadow:0 0 0 .25rem rgba(0,123,255,.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{align-items:center;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;color:var(--bs-accordion-btn-color);display:flex;font-size:1rem;overflow-anchor:none;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);position:relative;text-align:left;transition:var(--bs-accordion-transition);width:100%}@media(prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(var(--bs-accordion-border-width)*-1) 0 var(--bs-accordion-border-color);color:var(--bs-accordion-active-color)}.accordion-button:not(.collapsed):after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button:after{background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);content:"";flex-shrink:0;height:var(--bs-accordion-btn-icon-width);margin-left:auto;transition:var(--bs-accordion-btn-icon-transition);width:var(--bs-accordion-btn-icon-width)}@media(prefers-reduced-motion:reduce){.accordion-button:after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{box-shadow:var(--bs-accordion-btn-focus-box-shadow);outline:0;z-index:3}.accordion-header{margin-bottom:0}.accordion-item{background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);color:var(--bs-accordion-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-left-radius:var(--bs-accordion-border-radius);border-bottom-right-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-left-radius:var(--bs-accordion-inner-border-radius);border-bottom-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-left-radius:var(--bs-accordion-border-radius);border-bottom-right-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-left:0;border-radius:0;border-right:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button:after{--bs-accordion-btn-icon:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2366afff' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E");--bs-accordion-btn-active-icon:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2366afff' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius);display:flex;flex-wrap:wrap;font-size:var(--bs-breadcrumb-font-size);list-style:none;margin-bottom:var(--bs-breadcrumb-margin-bottom);padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider,"/");float:left;padding-right:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:.75rem;--bs-pagination-padding-y:.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 .25rem rgba(0,123,255,.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#007bff;--bs-pagination-active-border-color:#007bff;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);list-style:none;padding-left:0}.page-link{background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);color:var(--bs-pagination-color);display:block;font-size:var(--bs-pagination-font-size);padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);position:relative;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color);color:var(--bs-pagination-hover-color);z-index:2}.page-link:focus{background-color:var(--bs-pagination-focus-bg);box-shadow:var(--bs-pagination-focus-box-shadow);color:var(--bs-pagination-focus-color);outline:0;z-index:3}.active>.page-link,.page-link.active{background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color);color:var(--bs-pagination-active-color);z-index:3}.disabled>.page-link,.page-link.disabled{background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color);color:var(--bs-pagination-disabled-color);pointer-events:none}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width)*-1)}.page-item:first-child .page-link{border-bottom-left-radius:var(--bs-pagination-border-radius);border-top-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-bottom-right-radius:var(--bs-pagination-border-radius);border-top-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:.5rem;--bs-pagination-padding-y:.25rem;--bs-pagination-font-size:.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:.65em;--bs-badge-padding-y:.35em;--bs-badge-font-size:.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);border-radius:var(--bs-badge-border-radius);color:var(--bs-badge-color);display:inline-block;font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);text-align:center;vertical-align:baseline}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius);color:var(--bs-alert-color);margin-bottom:var(--bs-alert-margin-bottom);padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);position:relative}.alert-heading{color:inherit}.alert-link{color:var(--bs-alert-link-color);font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{padding:1.25rem 1rem;position:absolute;right:0;top:0;z-index:2}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#007bff;--bs-progress-bar-transition:width .6s ease;background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius);box-shadow:var(--bs-progress-box-shadow);display:flex;font-size:var(--bs-progress-font-size);height:var(--bs-progress-height);overflow:hidden}.progress-bar{background-color:var(--bs-progress-bar-bg);color:var(--bs-progress-bar-color);display:flex;flex-direction:column;justify-content:center;text-align:center;transition:var(--bs-progress-bar-transition);white-space:nowrap}@media(prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}@media(prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#007bff;--bs-list-group-active-border-color:#007bff;border-radius:var(--bs-list-group-border-radius);display:flex;flex-direction:column;margin-bottom:0;padding-left:0}.list-group-numbered{counter-reset:section;list-style-type:none}.list-group-numbered>.list-group-item:before{content:counters(section,".") ". ";counter-increment:section}.list-group-item{background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);color:var(--bs-list-group-color);display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);position:relative;text-decoration:none}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{background-color:var(--bs-list-group-disabled-bg);color:var(--bs-list-group-disabled-color);pointer-events:none}.list-group-item.active{background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color);color:var(--bs-list-group-active-color);z-index:2}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{border-top-width:var(--bs-list-group-border-width);margin-top:calc(var(--bs-list-group-border-width)*-1)}.list-group-item-action{color:var(--bs-list-group-action-color);text-align:inherit;width:100%}.list-group-item-action:not(.active):focus,.list-group-item-action:not(.active):hover{background-color:var(--bs-list-group-action-hover-bg);color:var(--bs-list-group-action-hover-color);text-decoration:none;z-index:1}.list-group-item-action:not(.active):active{background-color:var(--bs-list-group-action-active-bg);color:var(--bs-list-group-action-active-color)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}@media(min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}}@media(min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal-md>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}}@media(min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}}@media(min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}}@media(min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-right-radius:var(--bs-list-group-border-radius)}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-left-width:0;border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{border-left-width:var(--bs-list-group-border-width);margin-left:calc(var(--bs-list-group-border-width)*-1)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3E%3C/svg%3E");--bs-btn-close-opacity:.5;--bs-btn-close-hover-opacity:.75;--bs-btn-close-focus-shadow:0 0 0 .25rem rgba(0,123,255,.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:.25;background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;box-sizing:content-box;filter:var(--bs-btn-close-filter);height:1em;opacity:var(--bs-btn-close-opacity);padding:.25em;width:1em}.btn-close,.btn-close:hover{color:var(--bs-btn-close-color)}.btn-close:hover{opacity:var(--bs-btn-close-hover-opacity);text-decoration:none}.btn-close:focus{box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity);outline:0}.btn-close.disabled,.btn-close:disabled{opacity:var(--bs-btn-close-disabled-opacity);pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn-close-white{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}:root,[data-bs-theme=light]{--bs-btn-close-filter: }[data-bs-theme=dark]{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:.75rem;--bs-toast-padding-y:.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb),.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb),.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);background-clip:padding-box;background-color:var(--bs-toast-bg);border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);border-radius:var(--bs-toast-border-radius);box-shadow:var(--bs-toast-box-shadow);color:var(--bs-toast-color);font-size:var(--bs-toast-font-size);max-width:100%;width:var(--bs-toast-max-width)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;max-width:100%;position:absolute;width:-moz-max-content;width:max-content;z-index:var(--bs-toast-zindex)}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{align-items:center;background-clip:padding-box;background-color:var(--bs-toast-header-bg);border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));color:var(--bs-toast-header-color);display:flex;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x)}.toast-header .btn-close{margin-left:var(--bs-toast-padding-x);margin-right:calc(var(--bs-toast-padding-x)*-.5)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:.5rem;--bs-modal-color:var(--bs-body-color);--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);outline:0;overflow-x:hidden;overflow-y:auto;z-index:var(--bs-modal-zindex)}.modal-dialog{margin:var(--bs-modal-margin);pointer-events:none;position:relative;width:auto}.modal.fade .modal-dialog{transform:translateY(-50px);transition:transform .3s ease-out}@media(prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin)*2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{align-items:center;display:flex;min-height:calc(100% - var(--bs-modal-margin)*2)}.modal-content{background-clip:padding-box;background-color:var(--bs-modal-bg);border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);box-shadow:var(--bs-modal-box-shadow);color:var(--bs-modal-color);display:flex;flex-direction:column;outline:0;pointer-events:auto;position:relative;width:100%}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:.5;background-color:var(--bs-backdrop-bg);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:var(--bs-backdrop-zindex)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius);flex-shrink:0;padding:var(--bs-modal-header-padding)}.modal-header .btn-close{margin-bottom:calc(var(--bs-modal-header-padding-y)*-.5);margin-left:auto;margin-right:calc(var(--bs-modal-header-padding-x)*-.5);margin-top:calc(var(--bs-modal-header-padding-y)*-.5);padding:calc(var(--bs-modal-header-padding-y)*.5) calc(var(--bs-modal-header-padding-x)*.5)}.modal-title{line-height:var(--bs-modal-title-line-height);margin-bottom:0}.modal-body{flex:1 1 auto;padding:var(--bs-modal-padding);position:relative}.modal-footer{background-color:var(--bs-modal-footer-bg);border-bottom-left-radius:var(--bs-modal-inner-border-radius);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);flex-shrink:0;flex-wrap:wrap;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap)*.5)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap)*.5)}@media(min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{margin-left:auto;margin-right:auto;max-width:var(--bs-modal-width)}.modal-sm{--bs-modal-width:300px}}@media(min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media(min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{height:100%;margin:0;max-width:none;width:100vw}.modal-fullscreen .modal-content{border:0;border-radius:0;height:100%}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media(max-width:575.98px){.modal-fullscreen-sm-down{height:100%;margin:0;max-width:none;width:100vw}.modal-fullscreen-sm-down .modal-content{border:0;border-radius:0;height:100%}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media(max-width:767.98px){.modal-fullscreen-md-down{height:100%;margin:0;max-width:none;width:100vw}.modal-fullscreen-md-down .modal-content{border:0;border-radius:0;height:100%}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media(max-width:991.98px){.modal-fullscreen-lg-down{height:100%;margin:0;max-width:none;width:100vw}.modal-fullscreen-lg-down .modal-content{border:0;border-radius:0;height:100%}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media(max-width:1199.98px){.modal-fullscreen-xl-down{height:100%;margin:0;max-width:none;width:100vw}.modal-fullscreen-xl-down .modal-content{border:0;border-radius:0;height:100%}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media(max-width:1399.98px){.modal-fullscreen-xxl-down{height:100%;margin:0;max-width:none;width:100vw}.modal-fullscreen-xxl-down .modal-content{border:0;border-radius:0;height:100%}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:.5rem;--bs-tooltip-padding-y:.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:.9;--bs-tooltip-arrow-width:.8rem;--bs-tooltip-arrow-height:.4rem;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:var(--bs-tooltip-font-size);font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;margin:var(--bs-tooltip-margin);text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;z-index:var(--bs-tooltip-zindex);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;height:var(--bs-tooltip-arrow-height);width:var(--bs-tooltip-arrow-width)}.tooltip .tooltip-arrow:before{border-color:transparent;border-style:solid;content:"";position:absolute}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(var(--bs-tooltip-arrow-height)*-1)}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before,.bs-tooltip-top .tooltip-arrow:before{border-top-color:var(--bs-tooltip-bg);border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5) 0;top:-1px}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{height:var(--bs-tooltip-arrow-width);left:calc(var(--bs-tooltip-arrow-height)*-1);width:var(--bs-tooltip-arrow-height)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before,.bs-tooltip-end .tooltip-arrow:before{border-right-color:var(--bs-tooltip-bg);border-width:calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width)*.5) 0;right:-1px}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(var(--bs-tooltip-arrow-height)*-1)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before,.bs-tooltip-bottom .tooltip-arrow:before{border-bottom-color:var(--bs-tooltip-bg);border-width:0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);bottom:-1px}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{height:var(--bs-tooltip-arrow-width);right:calc(var(--bs-tooltip-arrow-height)*-1);width:var(--bs-tooltip-arrow-height)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before,.bs-tooltip-start .tooltip-arrow:before{border-left-color:var(--bs-tooltip-bg);border-width:calc(var(--bs-tooltip-arrow-width)*.5) 0 calc(var(--bs-tooltip-arrow-width)*.5) var(--bs-tooltip-arrow-height);left:-1px}.tooltip-inner{background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius);color:var(--bs-tooltip-color);max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);text-align:center}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:var(--bs-popover-font-size);font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;max-width:var(--bs-popover-max-width);text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;z-index:var(--bs-popover-zindex);word-wrap:break-word;background-clip:padding-box;background-color:var(--bs-popover-bg);border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius);box-shadow:var(--bs-popover-box-shadow)}.popover .popover-arrow{display:block;height:var(--bs-popover-arrow-height);width:var(--bs-popover-arrow-width)}.popover .popover-arrow:after,.popover .popover-arrow:before{border:0 solid transparent;content:"";display:block;position:absolute}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc((var(--bs-popover-arrow-height))*-1 - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:after,.bs-popover-top>.popover-arrow:before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:before,.bs-popover-top>.popover-arrow:before{border-top-color:var(--bs-popover-arrow-border);bottom:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow:after,.bs-popover-top>.popover-arrow:after{border-top-color:var(--bs-popover-bg);bottom:var(--bs-popover-border-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{height:var(--bs-popover-arrow-width);left:calc((var(--bs-popover-arrow-height))*-1 - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:after,.bs-popover-end>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width)*.5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:before,.bs-popover-end>.popover-arrow:before{border-right-color:var(--bs-popover-arrow-border);left:0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow:after,.bs-popover-end>.popover-arrow:after{border-right-color:var(--bs-popover-bg);left:var(--bs-popover-border-width)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc((var(--bs-popover-arrow-height))*-1 - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:before{border-width:0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:before,.bs-popover-bottom>.popover-arrow:before{border-bottom-color:var(--bs-popover-arrow-border);top:0}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow:after,.bs-popover-bottom>.popover-arrow:after{border-bottom-color:var(--bs-popover-bg);top:var(--bs-popover-border-width)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg);content:"";display:block;left:50%;margin-left:calc(var(--bs-popover-arrow-width)*-.5);position:absolute;top:0;width:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{height:var(--bs-popover-arrow-width);right:calc((var(--bs-popover-arrow-height))*-1 - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:after,.bs-popover-start>.popover-arrow:before{border-width:calc(var(--bs-popover-arrow-width)*.5) 0 calc(var(--bs-popover-arrow-width)*.5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:before,.bs-popover-start>.popover-arrow:before{border-left-color:var(--bs-popover-arrow-border);right:0}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow:after,.bs-popover-start>.popover-arrow:after{border-left-color:var(--bs-popover-bg);right:var(--bs-popover-border-width)}.popover-header{background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius);color:var(--bs-popover-header-color);font-size:var(--bs-popover-header-font-size);margin-bottom:0;padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x)}.popover-header:empty{display:none}.popover-body{color:var(--bs-popover-body-color);padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x)}.spinner-border,.spinner-grow{animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);border-radius:50%;display:inline-block;flex-shrink:0;height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);width:var(--bs-spinner-width)}@keyframes spinner-border{to{transform:rotate(1turn)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-border-width:.25em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-border;border-right-color:currentcolor;border:var(--bs-spinner-border-width) solid;border-right:var(--bs-spinner-border-width) solid transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-.125em;--bs-spinner-animation-speed:.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media(prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.clearfix:after{display:block}.text-bg-primary{background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important;color:#000!important}.text-bg-secondary{background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important;color:#fff!important}.text-bg-success{background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important;color:#000!important}.text-bg-info{background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important;color:#000!important}.text-bg-warning{background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important;color:#000!important}.text-bg-danger{background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important;color:#fff!important}.text-bg-light{background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important;color:#000!important}.text-bg-dark{background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important;color:#fff!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(51,149,255,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(51,149,255,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(83,185,106,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(83,185,106,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(69,181,198,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(69,181,198,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,.75))!important}.focus-ring:focus{box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);outline:0}.icon-link{align-items:center;backface-visibility:hidden;display:inline-flex;gap:.375rem;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,.5));text-underline-offset:.25em}.icon-link>.bi{fill:currentcolor;flex-shrink:0;height:1em;transition:transform .2s ease-in-out;width:1em}@media(prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio:before{content:"";display:block;padding-top:var(--bs-aspect-ratio)}.ratio>*{height:100%;left:0;position:absolute;top:0;width:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{top:0}.fixed-bottom,.fixed-top{left:0;position:fixed;right:0;z-index:1030}.fixed-bottom{bottom:0}.sticky-top{top:0}.sticky-bottom,.sticky-top{position:sticky;z-index:1020}.sticky-bottom{bottom:0}@media(min-width:576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{bottom:0;position:sticky;z-index:1020}}@media(min-width:768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{bottom:0;position:sticky;z-index:1020}}@media(min-width:992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{bottom:0;position:sticky;z-index:1020}}@media(min-width:1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{bottom:0;position:sticky;z-index:1020}}@media(min-width:1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{bottom:0;position:sticky;z-index:1020}}.hstack{align-items:center;flex-direction:row}.hstack,.vstack{align-self:stretch;display:flex}.vstack{flex:1 1 auto;flex-direction:column}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;width:1px!important;clip:rect(0,0,0,0)!important;border:0!important;white-space:nowrap!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link:after{content:"";inset:0;position:absolute;z-index:1}.vr{align-self:stretch;background-color:currentcolor;display:inline-block;min-height:1em;opacity:.25;width:var(--bs-border-width)}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline-grid{display:inline-grid!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb),var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb),var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb),var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb),var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb),var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb),var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb),var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb),var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:.1}.border-opacity-25{--bs-border-opacity:.25}.border-opacity-50{--bs-border-opacity:.5}.border-opacity-75{--bs-border-opacity:.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:2rem!important}.m-6{margin:3rem!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-3{margin-left:1rem!important;margin-right:1rem!important}.mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-5{margin-left:2rem!important;margin-right:2rem!important}.mx-6{margin-left:3rem!important;margin-right:3rem!important}.my-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-5{margin-bottom:2rem!important;margin-top:2rem!important}.my-6{margin-bottom:3rem!important;margin-top:3rem!important}.my-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:2rem!important}.mt-6{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:2rem!important}.me-6{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:2rem!important}.mb-6{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:2rem!important}.ms-6{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.m-n1{margin:-.25rem!important}.m-n2{margin:-.5rem!important}.m-n3{margin:-1rem!important}.m-n4{margin:-1.5rem!important}.m-n5{margin:-2rem!important}.m-n6{margin:-3rem!important}.mx-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-n5{margin-left:-2rem!important;margin-right:-2rem!important}.mx-n6{margin-left:-3rem!important;margin-right:-3rem!important}.my-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-n5{margin-bottom:-2rem!important;margin-top:-2rem!important}.my-n6{margin-bottom:-3rem!important;margin-top:-3rem!important}.mt-n1{margin-top:-.25rem!important}.mt-n2{margin-top:-.5rem!important}.mt-n3{margin-top:-1rem!important}.mt-n4{margin-top:-1.5rem!important}.mt-n5{margin-top:-2rem!important}.mt-n6{margin-top:-3rem!important}.me-n1{margin-right:-.25rem!important}.me-n2{margin-right:-.5rem!important}.me-n3{margin-right:-1rem!important}.me-n4{margin-right:-1.5rem!important}.me-n5{margin-right:-2rem!important}.me-n6{margin-right:-3rem!important}.mb-n1{margin-bottom:-.25rem!important}.mb-n2{margin-bottom:-.5rem!important}.mb-n3{margin-bottom:-1rem!important}.mb-n4{margin-bottom:-1.5rem!important}.mb-n5{margin-bottom:-2rem!important}.mb-n6{margin-bottom:-3rem!important}.ms-n1{margin-left:-.25rem!important}.ms-n2{margin-left:-.5rem!important}.ms-n3{margin-left:-1rem!important}.ms-n4{margin-left:-1.5rem!important}.ms-n5{margin-left:-2rem!important}.ms-n6{margin-left:-3rem!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:2rem!important}.p-6{padding:3rem!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-3{padding-left:1rem!important;padding-right:1rem!important}.px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-5{padding-left:2rem!important;padding-right:2rem!important}.px-6{padding-left:3rem!important;padding-right:3rem!important}.py-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-5{padding-bottom:2rem!important;padding-top:2rem!important}.py-6{padding-bottom:3rem!important;padding-top:3rem!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:2rem!important}.pt-6{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:2rem!important}.pe-6{padding-right:3rem!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:2rem!important}.pb-6{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:2rem!important}.ps-6{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:2rem!important}.gap-6{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:2rem!important}.row-gap-6{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:#00000080!important}.text-white-50{--bs-text-opacity:1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:.25}.text-opacity-50{--bs-text-opacity:.5}.text-opacity-75{--bs-text-opacity:.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity:.1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity:.25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity:.5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity:.75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:.1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:.25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:.5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:.75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-body,.bg-transparent{--bs-bg-opacity:1}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:.1}.bg-opacity-25{--bs-bg-opacity:.25}.bg-opacity-50{--bs-bg-opacity:.5}.bg-opacity-75{--bs-bg-opacity:.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-bottom-right-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-bottom-right-radius:0!important;border-top-right-radius:0!important}.rounded-end-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-bottom-right-radius:50%!important;border-top-right-radius:50%!important}.rounded-end-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-left-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.rounded-bottom-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-left-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-bottom-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.z-n1{z-index:-1!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media(min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:2rem!important}.m-sm-6{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-left:0!important;margin-right:0!important}.mx-sm-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-sm-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-sm-3{margin-left:1rem!important;margin-right:1rem!important}.mx-sm-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-sm-5{margin-left:2rem!important;margin-right:2rem!important}.mx-sm-6{margin-left:3rem!important;margin-right:3rem!important}.mx-sm-auto{margin-left:auto!important;margin-right:auto!important}.my-sm-0{margin-bottom:0!important;margin-top:0!important}.my-sm-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-sm-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-sm-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-sm-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-sm-5{margin-bottom:2rem!important;margin-top:2rem!important}.my-sm-6{margin-bottom:3rem!important;margin-top:3rem!important}.my-sm-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:2rem!important}.mt-sm-6{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:2rem!important}.me-sm-6{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:2rem!important}.mb-sm-6{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:2rem!important}.ms-sm-6{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.m-sm-n1{margin:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.m-sm-n3{margin:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.m-sm-n5{margin:-2rem!important}.m-sm-n6{margin:-3rem!important}.mx-sm-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-sm-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-sm-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-sm-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-sm-n5{margin-left:-2rem!important;margin-right:-2rem!important}.mx-sm-n6{margin-left:-3rem!important;margin-right:-3rem!important}.my-sm-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-sm-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-sm-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-sm-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-sm-n5{margin-bottom:-2rem!important;margin-top:-2rem!important}.my-sm-n6{margin-bottom:-3rem!important;margin-top:-3rem!important}.mt-sm-n1{margin-top:-.25rem!important}.mt-sm-n2{margin-top:-.5rem!important}.mt-sm-n3{margin-top:-1rem!important}.mt-sm-n4{margin-top:-1.5rem!important}.mt-sm-n5{margin-top:-2rem!important}.mt-sm-n6{margin-top:-3rem!important}.me-sm-n1{margin-right:-.25rem!important}.me-sm-n2{margin-right:-.5rem!important}.me-sm-n3{margin-right:-1rem!important}.me-sm-n4{margin-right:-1.5rem!important}.me-sm-n5{margin-right:-2rem!important}.me-sm-n6{margin-right:-3rem!important}.mb-sm-n1{margin-bottom:-.25rem!important}.mb-sm-n2{margin-bottom:-.5rem!important}.mb-sm-n3{margin-bottom:-1rem!important}.mb-sm-n4{margin-bottom:-1.5rem!important}.mb-sm-n5{margin-bottom:-2rem!important}.mb-sm-n6{margin-bottom:-3rem!important}.ms-sm-n1{margin-left:-.25rem!important}.ms-sm-n2{margin-left:-.5rem!important}.ms-sm-n3{margin-left:-1rem!important}.ms-sm-n4{margin-left:-1.5rem!important}.ms-sm-n5{margin-left:-2rem!important}.ms-sm-n6{margin-left:-3rem!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:2rem!important}.p-sm-6{padding:3rem!important}.px-sm-0{padding-left:0!important;padding-right:0!important}.px-sm-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-sm-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-sm-3{padding-left:1rem!important;padding-right:1rem!important}.px-sm-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-sm-5{padding-left:2rem!important;padding-right:2rem!important}.px-sm-6{padding-left:3rem!important;padding-right:3rem!important}.py-sm-0{padding-bottom:0!important;padding-top:0!important}.py-sm-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-sm-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-sm-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-sm-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-sm-5{padding-bottom:2rem!important;padding-top:2rem!important}.py-sm-6{padding-bottom:3rem!important;padding-top:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:2rem!important}.pt-sm-6{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:2rem!important}.pe-sm-6{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:2rem!important}.pb-sm-6{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:2rem!important}.ps-sm-6{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:2rem!important}.gap-sm-6{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:2rem!important}.row-gap-sm-6{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-sm-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media(min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:2rem!important}.m-md-6{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-left:0!important;margin-right:0!important}.mx-md-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-md-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-md-3{margin-left:1rem!important;margin-right:1rem!important}.mx-md-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-md-5{margin-left:2rem!important;margin-right:2rem!important}.mx-md-6{margin-left:3rem!important;margin-right:3rem!important}.mx-md-auto{margin-left:auto!important;margin-right:auto!important}.my-md-0{margin-bottom:0!important;margin-top:0!important}.my-md-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-md-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-md-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-md-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-md-5{margin-bottom:2rem!important;margin-top:2rem!important}.my-md-6{margin-bottom:3rem!important;margin-top:3rem!important}.my-md-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:2rem!important}.mt-md-6{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:2rem!important}.me-md-6{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:2rem!important}.mb-md-6{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:2rem!important}.ms-md-6{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.m-md-n1{margin:-.25rem!important}.m-md-n2{margin:-.5rem!important}.m-md-n3{margin:-1rem!important}.m-md-n4{margin:-1.5rem!important}.m-md-n5{margin:-2rem!important}.m-md-n6{margin:-3rem!important}.mx-md-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-md-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-md-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-md-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-md-n5{margin-left:-2rem!important;margin-right:-2rem!important}.mx-md-n6{margin-left:-3rem!important;margin-right:-3rem!important}.my-md-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-md-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-md-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-md-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-md-n5{margin-bottom:-2rem!important;margin-top:-2rem!important}.my-md-n6{margin-bottom:-3rem!important;margin-top:-3rem!important}.mt-md-n1{margin-top:-.25rem!important}.mt-md-n2{margin-top:-.5rem!important}.mt-md-n3{margin-top:-1rem!important}.mt-md-n4{margin-top:-1.5rem!important}.mt-md-n5{margin-top:-2rem!important}.mt-md-n6{margin-top:-3rem!important}.me-md-n1{margin-right:-.25rem!important}.me-md-n2{margin-right:-.5rem!important}.me-md-n3{margin-right:-1rem!important}.me-md-n4{margin-right:-1.5rem!important}.me-md-n5{margin-right:-2rem!important}.me-md-n6{margin-right:-3rem!important}.mb-md-n1{margin-bottom:-.25rem!important}.mb-md-n2{margin-bottom:-.5rem!important}.mb-md-n3{margin-bottom:-1rem!important}.mb-md-n4{margin-bottom:-1.5rem!important}.mb-md-n5{margin-bottom:-2rem!important}.mb-md-n6{margin-bottom:-3rem!important}.ms-md-n1{margin-left:-.25rem!important}.ms-md-n2{margin-left:-.5rem!important}.ms-md-n3{margin-left:-1rem!important}.ms-md-n4{margin-left:-1.5rem!important}.ms-md-n5{margin-left:-2rem!important}.ms-md-n6{margin-left:-3rem!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:2rem!important}.p-md-6{padding:3rem!important}.px-md-0{padding-left:0!important;padding-right:0!important}.px-md-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-md-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-md-3{padding-left:1rem!important;padding-right:1rem!important}.px-md-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-md-5{padding-left:2rem!important;padding-right:2rem!important}.px-md-6{padding-left:3rem!important;padding-right:3rem!important}.py-md-0{padding-bottom:0!important;padding-top:0!important}.py-md-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-md-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-md-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-md-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-md-5{padding-bottom:2rem!important;padding-top:2rem!important}.py-md-6{padding-bottom:3rem!important;padding-top:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:2rem!important}.pt-md-6{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:2rem!important}.pe-md-6{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:2rem!important}.pb-md-6{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:2rem!important}.ps-md-6{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:2rem!important}.gap-md-6{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:2rem!important}.row-gap-md-6{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-md-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media(min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:2rem!important}.m-lg-6{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-left:0!important;margin-right:0!important}.mx-lg-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-lg-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-lg-3{margin-left:1rem!important;margin-right:1rem!important}.mx-lg-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-lg-5{margin-left:2rem!important;margin-right:2rem!important}.mx-lg-6{margin-left:3rem!important;margin-right:3rem!important}.mx-lg-auto{margin-left:auto!important;margin-right:auto!important}.my-lg-0{margin-bottom:0!important;margin-top:0!important}.my-lg-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-lg-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-lg-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-lg-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-lg-5{margin-bottom:2rem!important;margin-top:2rem!important}.my-lg-6{margin-bottom:3rem!important;margin-top:3rem!important}.my-lg-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:2rem!important}.mt-lg-6{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:2rem!important}.me-lg-6{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:2rem!important}.mb-lg-6{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:2rem!important}.ms-lg-6{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.m-lg-n1{margin:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.m-lg-n3{margin:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.m-lg-n5{margin:-2rem!important}.m-lg-n6{margin:-3rem!important}.mx-lg-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-lg-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-lg-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-lg-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-lg-n5{margin-left:-2rem!important;margin-right:-2rem!important}.mx-lg-n6{margin-left:-3rem!important;margin-right:-3rem!important}.my-lg-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-lg-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-lg-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-lg-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-lg-n5{margin-bottom:-2rem!important;margin-top:-2rem!important}.my-lg-n6{margin-bottom:-3rem!important;margin-top:-3rem!important}.mt-lg-n1{margin-top:-.25rem!important}.mt-lg-n2{margin-top:-.5rem!important}.mt-lg-n3{margin-top:-1rem!important}.mt-lg-n4{margin-top:-1.5rem!important}.mt-lg-n5{margin-top:-2rem!important}.mt-lg-n6{margin-top:-3rem!important}.me-lg-n1{margin-right:-.25rem!important}.me-lg-n2{margin-right:-.5rem!important}.me-lg-n3{margin-right:-1rem!important}.me-lg-n4{margin-right:-1.5rem!important}.me-lg-n5{margin-right:-2rem!important}.me-lg-n6{margin-right:-3rem!important}.mb-lg-n1{margin-bottom:-.25rem!important}.mb-lg-n2{margin-bottom:-.5rem!important}.mb-lg-n3{margin-bottom:-1rem!important}.mb-lg-n4{margin-bottom:-1.5rem!important}.mb-lg-n5{margin-bottom:-2rem!important}.mb-lg-n6{margin-bottom:-3rem!important}.ms-lg-n1{margin-left:-.25rem!important}.ms-lg-n2{margin-left:-.5rem!important}.ms-lg-n3{margin-left:-1rem!important}.ms-lg-n4{margin-left:-1.5rem!important}.ms-lg-n5{margin-left:-2rem!important}.ms-lg-n6{margin-left:-3rem!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:2rem!important}.p-lg-6{padding:3rem!important}.px-lg-0{padding-left:0!important;padding-right:0!important}.px-lg-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-lg-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-lg-3{padding-left:1rem!important;padding-right:1rem!important}.px-lg-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-lg-5{padding-left:2rem!important;padding-right:2rem!important}.px-lg-6{padding-left:3rem!important;padding-right:3rem!important}.py-lg-0{padding-bottom:0!important;padding-top:0!important}.py-lg-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-lg-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-lg-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-lg-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-lg-5{padding-bottom:2rem!important;padding-top:2rem!important}.py-lg-6{padding-bottom:3rem!important;padding-top:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:2rem!important}.pt-lg-6{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:2rem!important}.pe-lg-6{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:2rem!important}.pb-lg-6{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:2rem!important}.ps-lg-6{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:2rem!important}.gap-lg-6{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:2rem!important}.row-gap-lg-6{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-lg-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media(min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:2rem!important}.m-xl-6{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-left:0!important;margin-right:0!important}.mx-xl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xl-5{margin-left:2rem!important;margin-right:2rem!important}.mx-xl-6{margin-left:3rem!important;margin-right:3rem!important}.mx-xl-auto{margin-left:auto!important;margin-right:auto!important}.my-xl-0{margin-bottom:0!important;margin-top:0!important}.my-xl-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-xl-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-xl-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-xl-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-xl-5{margin-bottom:2rem!important;margin-top:2rem!important}.my-xl-6{margin-bottom:3rem!important;margin-top:3rem!important}.my-xl-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:2rem!important}.mt-xl-6{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:2rem!important}.me-xl-6{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:2rem!important}.mb-xl-6{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:2rem!important}.ms-xl-6{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.m-xl-n1{margin:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.m-xl-n3{margin:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.m-xl-n5{margin:-2rem!important}.m-xl-n6{margin:-3rem!important}.mx-xl-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-xl-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-xl-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-xl-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-xl-n5{margin-left:-2rem!important;margin-right:-2rem!important}.mx-xl-n6{margin-left:-3rem!important;margin-right:-3rem!important}.my-xl-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-xl-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-xl-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-xl-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-xl-n5{margin-bottom:-2rem!important;margin-top:-2rem!important}.my-xl-n6{margin-bottom:-3rem!important;margin-top:-3rem!important}.mt-xl-n1{margin-top:-.25rem!important}.mt-xl-n2{margin-top:-.5rem!important}.mt-xl-n3{margin-top:-1rem!important}.mt-xl-n4{margin-top:-1.5rem!important}.mt-xl-n5{margin-top:-2rem!important}.mt-xl-n6{margin-top:-3rem!important}.me-xl-n1{margin-right:-.25rem!important}.me-xl-n2{margin-right:-.5rem!important}.me-xl-n3{margin-right:-1rem!important}.me-xl-n4{margin-right:-1.5rem!important}.me-xl-n5{margin-right:-2rem!important}.me-xl-n6{margin-right:-3rem!important}.mb-xl-n1{margin-bottom:-.25rem!important}.mb-xl-n2{margin-bottom:-.5rem!important}.mb-xl-n3{margin-bottom:-1rem!important}.mb-xl-n4{margin-bottom:-1.5rem!important}.mb-xl-n5{margin-bottom:-2rem!important}.mb-xl-n6{margin-bottom:-3rem!important}.ms-xl-n1{margin-left:-.25rem!important}.ms-xl-n2{margin-left:-.5rem!important}.ms-xl-n3{margin-left:-1rem!important}.ms-xl-n4{margin-left:-1.5rem!important}.ms-xl-n5{margin-left:-2rem!important}.ms-xl-n6{margin-left:-3rem!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:2rem!important}.p-xl-6{padding:3rem!important}.px-xl-0{padding-left:0!important;padding-right:0!important}.px-xl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xl-5{padding-left:2rem!important;padding-right:2rem!important}.px-xl-6{padding-left:3rem!important;padding-right:3rem!important}.py-xl-0{padding-bottom:0!important;padding-top:0!important}.py-xl-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-xl-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-xl-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-xl-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-xl-5{padding-bottom:2rem!important;padding-top:2rem!important}.py-xl-6{padding-bottom:3rem!important;padding-top:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:2rem!important}.pt-xl-6{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:2rem!important}.pe-xl-6{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:2rem!important}.pb-xl-6{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:2rem!important}.ps-xl-6{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:2rem!important}.gap-xl-6{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:2rem!important}.row-gap-xl-6{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-xl-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media(min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:2rem!important}.m-xxl-6{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-left:0!important;margin-right:0!important}.mx-xxl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xxl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xxl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xxl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xxl-5{margin-left:2rem!important;margin-right:2rem!important}.mx-xxl-6{margin-left:3rem!important;margin-right:3rem!important}.mx-xxl-auto{margin-left:auto!important;margin-right:auto!important}.my-xxl-0{margin-bottom:0!important;margin-top:0!important}.my-xxl-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-xxl-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-xxl-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-xxl-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-xxl-5{margin-bottom:2rem!important;margin-top:2rem!important}.my-xxl-6{margin-bottom:3rem!important;margin-top:3rem!important}.my-xxl-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:2rem!important}.mt-xxl-6{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:2rem!important}.me-xxl-6{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:2rem!important}.mb-xxl-6{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:2rem!important}.ms-xxl-6{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.m-xxl-n1{margin:-.25rem!important}.m-xxl-n2{margin:-.5rem!important}.m-xxl-n3{margin:-1rem!important}.m-xxl-n4{margin:-1.5rem!important}.m-xxl-n5{margin:-2rem!important}.m-xxl-n6{margin:-3rem!important}.mx-xxl-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-xxl-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-xxl-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-xxl-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-xxl-n5{margin-left:-2rem!important;margin-right:-2rem!important}.mx-xxl-n6{margin-left:-3rem!important;margin-right:-3rem!important}.my-xxl-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-xxl-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-xxl-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-xxl-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-xxl-n5{margin-bottom:-2rem!important;margin-top:-2rem!important}.my-xxl-n6{margin-bottom:-3rem!important;margin-top:-3rem!important}.mt-xxl-n1{margin-top:-.25rem!important}.mt-xxl-n2{margin-top:-.5rem!important}.mt-xxl-n3{margin-top:-1rem!important}.mt-xxl-n4{margin-top:-1.5rem!important}.mt-xxl-n5{margin-top:-2rem!important}.mt-xxl-n6{margin-top:-3rem!important}.me-xxl-n1{margin-right:-.25rem!important}.me-xxl-n2{margin-right:-.5rem!important}.me-xxl-n3{margin-right:-1rem!important}.me-xxl-n4{margin-right:-1.5rem!important}.me-xxl-n5{margin-right:-2rem!important}.me-xxl-n6{margin-right:-3rem!important}.mb-xxl-n1{margin-bottom:-.25rem!important}.mb-xxl-n2{margin-bottom:-.5rem!important}.mb-xxl-n3{margin-bottom:-1rem!important}.mb-xxl-n4{margin-bottom:-1.5rem!important}.mb-xxl-n5{margin-bottom:-2rem!important}.mb-xxl-n6{margin-bottom:-3rem!important}.ms-xxl-n1{margin-left:-.25rem!important}.ms-xxl-n2{margin-left:-.5rem!important}.ms-xxl-n3{margin-left:-1rem!important}.ms-xxl-n4{margin-left:-1.5rem!important}.ms-xxl-n5{margin-left:-2rem!important}.ms-xxl-n6{margin-left:-3rem!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:2rem!important}.p-xxl-6{padding:3rem!important}.px-xxl-0{padding-left:0!important;padding-right:0!important}.px-xxl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xxl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xxl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xxl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xxl-5{padding-left:2rem!important;padding-right:2rem!important}.px-xxl-6{padding-left:3rem!important;padding-right:3rem!important}.py-xxl-0{padding-bottom:0!important;padding-top:0!important}.py-xxl-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-xxl-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-xxl-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-xxl-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-xxl-5{padding-bottom:2rem!important;padding-top:2rem!important}.py-xxl-6{padding-bottom:3rem!important;padding-top:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:2rem!important}.pt-xxl-6{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:2rem!important}.pe-xxl-6{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:2rem!important}.pb-xxl-6{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:2rem!important}.ps-xxl-6{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:2rem!important}.gap-xxl-6{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:2rem!important}.row-gap-xxl-6{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:2rem!important;column-gap:2rem!important}.column-gap-xxl-6{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media(min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}.moodle-badge{border-radius:20px;display:inline-flex;font-size:.8rem;font-weight:var(--font-weight-semibold);padding:.25rem .75rem;text-decoration:none;transition:all var(--transition-base)}.moodle-badge:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.moodle-badge.sm{font-size:.75rem;padding:.15rem .5rem}.moodle-badge.lg{font-size:.9rem;padding:.35rem 1rem}.moodle-badge.xl{font-size:1rem;padding:.5rem 1.25rem}.moodle-badge.light-bg,.moodle-badge.outline{color:var(--color-text)}.moodle-badge.outline{background:transparent;border:2px solid}.moodle-badge.outline.colored{border-color:inherit}.moodle-badge.shadow{box-shadow:var(--shadow-md)}.moodle-badge.pulse{animation:badge-pulse 2s infinite}.moodle-badge.bounce{animation:badge-bounce 1s infinite}.moodle-badge-circle{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:1.5rem;font-weight:var(--font-weight-bold);height:50px;justify-content:center;transition:all var(--transition-base);width:50px}.moodle-badge-circle:hover{box-shadow:var(--shadow-lg);transform:scale(1.1)}.moodle-badge-circle.sm{font-size:1.1rem;height:36px;width:36px}.moodle-badge-circle.lg{font-size:1.8rem;height:64px;width:64px}.moodle-badge-with-icon{align-items:center;border-radius:var(--radius-md);color:#fff;display:inline-flex;font-size:.85rem;font-weight:var(--font-weight-semibold);gap:var(--spacing-sm);padding:.35rem .85rem;transition:all var(--transition-base)}.moodle-badge-icon{align-items:center;background:#fff3;border-radius:var(--radius-sm);display:flex;font-size:.9rem;height:20px;justify-content:center;width:20px}.moodle-status{align-items:center;display:inline-flex;font-size:.8rem;font-weight:var(--font-weight-semibold);gap:.4rem}.moodle-status-dot{animation:pulse 2s infinite;border-radius:50%;height:8px;width:8px}.moodle-status-dot.active{background:var(--color-success)}.moodle-status-dot.inactive{animation:none;background:var(--color-gray-400)}.moodle-color-red{background-color:#ff6b6b}.moodle-color-teal{background-color:#4ecdc4}.moodle-color-yellow{background-color:#ffe66d}.moodle-color-mint{background-color:#95e1d3}.moodle-color-pink{background-color:#f38181}.moodle-color-purple{background-color:#aa96da}.moodle-color-light-pink{background-color:#fcbad3}.moodle-color-light-blue{background-color:#a8d8ea}.moodle-color-salmon{background-color:#ffa07a}.moodle-color-light-teal{background-color:#98d8c8}.moodle-color-golden{background-color:#f7dc6f}.moodle-color-medium-purple{background-color:#bb8fce}.moodle-color-sky-blue{background-color:#85c1e2}.moodle-color-peach{background-color:#f8b88b}.moodle-color-seafoam{background-color:#abebc6}.moodle-color-pale-yellow{background-color:#f9e79f}.moodle-color-lavender{background-color:#d7bde2}.moodle-color-cornflower{background-color:#a9cce3}.moodle-color-misty-rose{background-color:#f5b7b1}.moodle-color-light-green{background-color:#abed92}.moodle-badge-group{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.moodle-badge-group.inline{display:inline-flex}.moodle-indicator-row{align-items:center;background:var(--color-bg-secondary);border-left:4px solid;border-radius:var(--radius-lg);display:flex;gap:var(--spacing-lg);padding:.75rem}.moodle-indicator-row.active{background:#28a7451a;border-left-color:var(--color-success)}.moodle-indicator-row.inactive{background:var(--color-bg-secondary);border-left-color:var(--color-gray-400)}.moodle-label-with-badge{align-items:center;display:inline-flex;gap:var(--spacing-sm)}.moodle-label{color:var(--color-text);font-size:.95rem;font-weight:var(--font-weight-medium)}.moodle-tooltip{align-items:center;display:inline-flex;gap:var(--spacing-sm);position:relative}.moodle-tooltip-content{background:var(--color-text);border-radius:var(--radius-md);bottom:100%;color:#fff;font-size:var(--font-size-xs);left:50%;margin-bottom:var(--spacing-sm);opacity:0;padding:var(--spacing-sm) .75rem;pointer-events:none;position:absolute;transform:translate(-50%);transition:opacity var(--transition-base);white-space:nowrap;z-index:var(--z-tooltip)}.moodle-tooltip-content:after{border:4px solid transparent;border-top:4px solid var(--color-text);content:"";left:50%;position:absolute;top:100%;transform:translate(-50%)}.moodle-tooltip:hover .moodle-tooltip-content{opacity:1;pointer-events:auto}@keyframes badge-pulse{0%,to{box-shadow:0 0 #667eeab3}50%{box-shadow:0 0 0 10px #667eea00}}@keyframes badge-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media(max-width:767px){.moodle-badge{font-size:.75rem;padding:.2rem .6rem}.moodle-badge-circle{font-size:1.2rem;height:40px;width:40px}.moodle-badge-with-icon{font-size:.75rem;padding:.3rem .7rem}.moodle-indicator-row{gap:.75rem;padding:.6rem}}@media(max-width:575px){.moodle-badge{font-size:.7rem;padding:.15rem .5rem}.moodle-badge-circle{font-size:1rem;height:36px;width:36px}.moodle-badge-group{gap:.4rem}.moodle-indicator-row{gap:var(--spacing-sm);padding:var(--spacing-sm)}}@media print{.moodle-badge{background:var(--color-gray-300);border:1px solid var(--color-gray-500);color:var(--color-text)}.moodle-status-dot.active{background:var(--color-text)}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);transition:background-color var(--transition-base),color var(--transition-base);word-wrap:break-word;overflow-wrap:break-word}ol,ul{list-style:none}a{transition:color var(--transition-fast)}button,input,select,textarea{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit}input,select,textarea{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}button{background:none;border:none;cursor:pointer;padding:0}img{display:block;height:auto;max-width:100%}table{border-collapse:collapse;border-spacing:0;width:100%}th{background-color:var(--color-bg-secondary);font-weight:var(--font-weight-semibold);text-align:left}td,th{border-bottom:1px solid var(--color-border);padding:var(--spacing-md)}code,pre{background-color:var(--color-bg-secondary);border-radius:var(--radius-md);color:var(--color-text);font-family:Monaco,Courier New,monospace;font-size:var(--font-size-sm)}code{padding:.125em .25em}pre{overflow-x:auto}blockquote,pre{padding:var(--spacing-md)}blockquote{background-color:var(--color-bg-secondary);border-left:4px solid var(--color-primary);color:var(--color-text-secondary);font-style:italic;margin:var(--spacing-md) 0}hr{border:none;border-top:1px solid var(--color-border);margin:var(--spacing-lg) 0}small{color:var(--color-text-secondary);font-size:var(--font-size-sm)}::-moz-selection{background-color:var(--color-primary);color:#fff}::selection{background-color:var(--color-primary);color:#fff}h1,h2,h3,h4,h5,h6{color:var(--color-text);font-weight:var(--font-weight-bold);line-height:var(--line-height-snug);margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-4xl)}h1,h2{margin-bottom:var(--spacing-lg)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h3,h4{margin-bottom:var(--spacing-md)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h5,h6{margin-bottom:var(--spacing-sm)}h6{color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);letter-spacing:.05em;text-transform:uppercase}p{line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-md)}p:last-child{margin-bottom:0}.text-secondary{color:var(--color-secondary)}.text-muted{color:var(--color-text-secondary)}.text-decoration-none{text-decoration:none}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast),-webkit-text-decoration var(--transition-fast);transition:color var(--transition-fast),text-decoration var(--transition-fast);transition:color var(--transition-fast),text-decoration var(--transition-fast),-webkit-text-decoration var(--transition-fast)}a:hover{color:var(--color-primary-dark);text-decoration:underline}ol,ul{margin-bottom:var(--spacing-md);padding-left:var(--spacing-lg)}li{margin-bottom:var(--spacing-sm)}dl{margin-bottom:var(--spacing-lg)}dt{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}dd{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);margin-left:var(--spacing-lg)}code{background-color:var(--color-bg-secondary);border-radius:var(--radius-sm);color:var(--color-danger);font-size:.9em;padding:.125rem .375rem}abbr[title]{border-bottom:1px dotted var(--color-border);cursor:help}.screen-reader-only,.sr-only,.sr-only-focusable{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.sr-only-focusable:active,.sr-only-focusable:focus{height:auto;margin:0;overflow:visible;position:static;width:auto;clip:auto;white-space:normal}.skip-to-main{background:var(--color-primary);border-radius:var(--radius-md);color:#fff;left:0;padding:var(--spacing-md) var(--spacing-lg);position:absolute;text-decoration:none;top:-40px;transition:top var(--transition-fast);z-index:var(--z-tooltip)}.skip-to-main:focus{top:0}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(prefers-contrast:more){:root{--color-text:#000;--color-bg:#fff;--color-border:#000}[role=button],button{border:2px solid}a{text-decoration:underline}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}[role=button]:not(.toolbar-btn),a,button:not(.toolbar-btn){min-height:44px;min-width:44px}label{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}input,select,textarea{font-size:16px}.form-error,[role=alert]{color:var(--color-danger);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.form-field{margin-bottom:var(--spacing-md)}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:16px;padding:var(--spacing-md);width:100%}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--color-primary);outline-offset:2px}[data-tooltip]{position:relative}[data-tooltip]:hover:after{background-color:var(--color-text);border-radius:var(--radius-md);bottom:125%;color:#fff;content:attr(data-tooltip);font-size:var(--font-size-xs);left:50%;padding:var(--spacing-sm) var(--spacing-md);pointer-events:none;position:absolute;transform:translate(-50%);white-space:nowrap;z-index:var(--z-tooltip)}[role=dialog]{background-color:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);left:50%;max-height:90vh;max-width:90vw;overflow-y:auto;padding:var(--spacing-2xl);position:fixed;top:50%;transform:translate(-50%,-50%);z-index:var(--z-modal)}[role=dialog]::backdrop{background-color:#00000080}[aria-busy=true]{opacity:.6;pointer-events:none}[aria-live=assertive],[aria-live=polite]{min-height:1em;position:relative}:disabled,[aria-disabled=true]{cursor:not-allowed;opacity:.5}@media print{.no-print{display:none}a{text-decoration:underline}a:after{content:" (" attr(href) ")"}body{font-size:12pt;line-height:1.5}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animate-fadeIn{animation:fadeIn var(--transition-base) ease-in-out}.animate-slideInUp{animation:slideInUp var(--transition-base) ease-out}.animate-slideInDown{animation:slideInDown var(--transition-base) ease-out}.animate-slideInLeft{animation:slideInLeft var(--transition-base) ease-out}.animate-slideInRight{animation:slideInRight var(--transition-base) ease-out}.animate-scaleIn{animation:scaleIn var(--transition-base) ease-out}.animate-bounce{animation:bounce var(--transition-slow) ease-in-out infinite}.animate-pulse{animation:pulse var(--transition-slow) ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.animate-shimmer{animation:shimmer 2s infinite}.app-layout{background-color:var(--color-bg);color:var(--color-text);display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr;height:100vh;overflow:hidden}@media(max-width:767px){.app-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:auto;min-height:100vh;overflow:visible}}.sidebar-container{flex-shrink:0;height:100vh;overflow:visible;padding:var(--spacing-md);position:sticky;top:0;z-index:var(--z-sticky)}@media(max-width:767px){.sidebar-container{bottom:0;height:auto;left:0;padding:var(--spacing-sm);position:fixed;top:0}}.main-content{flex-direction:column;height:100%;position:relative}.content-area,.main-content{display:flex;min-height:0;overflow:hidden}.content-area{flex:1;flex-direction:column}.content-container{background-color:transparent;border:1px solid var(--color-border);border-radius:var(--radius-xl);flex:1;margin:var(--spacing-sm) var(--spacing-md) var(--spacing-md) 0;min-height:0;overflow-y:auto;padding:var(--spacing-sm) var(--spacing-xl) var(--spacing-xl)}.content-container::-webkit-scrollbar{height:8px;width:8px}.content-container::-webkit-scrollbar-track{background:transparent;border-radius:4px}.content-container::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.content-container::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.content-container::-webkit-scrollbar-button{display:none;height:0;width:0}.content-container{scrollbar-color:var(--color-border) transparent;scrollbar-width:thin}@media(max-width:767px){.content-container{border-radius:var(--radius-lg);margin:var(--spacing-xs) var(--spacing-sm) var(--spacing-sm) var(--spacing-sm);padding:var(--spacing-md)}}.content-wrapper{flex:1;max-width:1920px;padding:var(--spacing-xl)}@media(max-width:767px){.content-wrapper{padding:var(--spacing-md)}}.notifications-container{display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:400px;pointer-events:none;position:fixed;right:var(--spacing-lg);top:var(--spacing-lg);z-index:var(--z-toast)}.notifications-container>*{pointer-events:auto}.menu{background-color:var(--color-bg-secondary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;height:calc(100vh - var(--spacing-md)*2);overflow:hidden;position:relative;transition:width var(--transition-slow),border-radius var(--transition-slow);width:220px;z-index:var(--z-sticky)}.menu-header{flex-shrink:0;height:56px;min-height:56px;padding:var(--spacing-md) var(--spacing-lg);transition:padding var(--transition-slow)}.menu-header,.menu-title{align-items:center;display:flex;justify-content:center}.menu-title{color:var(--color-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0;position:relative;text-align:center;white-space:nowrap}.menu-title-full,.menu-title-short{transition:opacity var(--transition-slow)}.menu-title-short{opacity:0;position:absolute}.menu-title-full{opacity:1}.menu-list{display:flex;flex:1;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto;padding:var(--spacing-md) 0}.menu-list::-webkit-scrollbar{height:8px;width:8px}.menu-list::-webkit-scrollbar-track{background:transparent;border-radius:4px}.menu-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.menu-list::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.menu-list::-webkit-scrollbar-button{display:none;height:0;width:0}.menu-list{scrollbar-color:var(--color-border) transparent;scrollbar-width:thin}.menu-divider{border-top:1px solid var(--color-border);margin:var(--spacing-md) var(--spacing-md)}.menu-spacer{flex:1}.menu-item{align-items:center;border-radius:var(--radius-lg);color:var(--color-text);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-md);margin:var(--spacing-xs) var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);position:relative;text-decoration:none;transition:all var(--transition-fast)}.menu-item:hover{background-color:#007bff1a;color:var(--color-primary)}.menu-item.active{background-color:var(--color-primary-soft);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.menu-item.active .menu-badge{background-color:var(--color-primary);color:#fff}.menu-icon{align-items:center;display:flex;flex-shrink:0;font-size:var(--font-size-lg);height:24px;justify-content:center;width:24px}.menu-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-badge{align-items:center;background-color:var(--color-danger);border-radius:var(--radius-full);color:#fff;display:inline-flex;flex-shrink:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);height:20px;line-height:1;min-width:20px;padding:0 6px;white-space:nowrap}.menu-footer{display:block;flex-shrink:0;margin-top:auto;padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md);transition:padding var(--transition-slow)}.user-dropdown-container{display:block;position:relative}.user-dropdown-trigger{align-items:center;background-color:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--spacing-sm);justify-content:flex-start;padding:var(--spacing-xs) var(--spacing-sm);text-align:left;transition:all var(--transition-fast);width:100%}.user-dropdown-trigger:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-border)}.user-dropdown-trigger:focus-visible{outline:2px solid var(--color-text-secondary);outline-offset:2px}.user-trigger-name{color:var(--color-text);display:block;flex:1;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-trigger-icon{color:var(--color-text-secondary);display:block;flex-shrink:0}.user-dropdown-menu{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);bottom:100%;box-shadow:var(--shadow-lg);left:0;margin-bottom:var(--spacing-xs);overflow:hidden;position:absolute;right:0;z-index:var(--z-dropdown)}:root:not(.dark) .user-dropdown-menu{background-color:#fff}.user-dropdown-menu a.dropdown-item,.user-dropdown-menu button.dropdown-item{align-items:center;background:none!important;background-color:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;color:var(--color-text)!important;cursor:pointer;display:flex!important;font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);gap:var(--spacing-sm);margin:0;outline:none;padding:var(--spacing-sm) var(--spacing-md);text-align:left;text-decoration:none;transition:background-color var(--transition-fast);width:100%}.user-dropdown-menu a.dropdown-item:focus,.user-dropdown-menu a.dropdown-item:hover,.user-dropdown-menu button.dropdown-item:focus,.user-dropdown-menu button.dropdown-item:hover{background-color:var(--color-bg-secondary)!important;color:var(--color-text)!important}.user-dropdown-menu a.dropdown-item:active,.user-dropdown-menu button.dropdown-item:active{background-color:var(--color-bg-tertiary)!important}.user-dropdown-menu a.dropdown-item svg,.user-dropdown-menu button.dropdown-item svg{color:var(--color-text-secondary)!important;flex-shrink:0;height:16px;width:16px}.user-dropdown-menu a.dropdown-item span,.user-dropdown-menu button.dropdown-item span{flex:1;min-width:0}.user-dropdown-menu button.dropdown-item-danger{color:var(--color-danger)!important}.user-dropdown-menu button.dropdown-item-danger:focus,.user-dropdown-menu button.dropdown-item-danger:hover{background-color:#dc35451a!important}.user-dropdown-menu button.dropdown-item-danger svg{color:var(--color-danger)!important}.dropdown-divider{background-color:var(--color-border);height:1px;margin:var(--spacing-xs) 0}.dropdown-enter-active,.dropdown-leave-active{transition:opacity var(--transition-fast),transform var(--transition-fast)}.dropdown-enter-from,.dropdown-leave-to{transform:translateY(8px)}.menu.is-collapsed{width:56px}.menu.is-collapsed .menu-header{height:56px;justify-content:center;min-height:56px;padding:var(--spacing-sm);transition:padding var(--transition-slow)}.menu.is-collapsed .menu-title-short{opacity:1}.menu.is-collapsed .menu-title-full{opacity:0}.menu.is-collapsed .menu-item{align-items:center;gap:0;justify-content:center;margin:var(--spacing-xs) var(--spacing-xs);min-height:44px;overflow:hidden;padding:var(--spacing-sm);position:relative;transition:padding var(--transition-slow),gap var(--transition-slow),margin var(--transition-slow)}.menu.is-collapsed .menu-item .menu-label{flex:0;opacity:0;overflow:hidden;transition:width var(--transition-slow),opacity var(--transition-slow),flex var(--transition-slow);white-space:nowrap;width:0}.menu.is-collapsed .menu-item .menu-icon{flex-shrink:0;margin:0}.menu.is-collapsed .menu-item .menu-badge{font-size:10px;height:16px;min-width:16px;padding:0 4px;position:absolute;right:2px;top:2px;transition:all var(--transition-slow)}.menu.is-collapsed .menu-divider{margin:var(--spacing-md) var(--spacing-xs)}.menu.is-collapsed .menu-footer,.menu.is-collapsed .user-dropdown-container{display:flex;justify-content:center}.menu.is-collapsed .user-dropdown-trigger{gap:0;justify-content:center;overflow:hidden;padding:var(--spacing-xs);transition:all var(--transition-slow);width:auto}.menu.is-collapsed .user-dropdown-trigger .user-trigger-icon,.menu.is-collapsed .user-dropdown-trigger .user-trigger-name{display:none}.menu.is-collapsed .user-dropdown-menu{bottom:0;left:calc(100% + 8px);right:auto;transition:all var(--transition-slow);width:200px}.menu.is-collapsed:hover{width:220px}.menu.is-collapsed:hover .menu-header{padding:var(--spacing-md) var(--spacing-lg)}.menu.is-collapsed:hover .menu-title-short{opacity:0}.menu.is-collapsed:hover .menu-title-full{opacity:1}.menu.is-collapsed:hover .menu-item{gap:var(--spacing-md);justify-content:flex-start;margin:var(--spacing-xs) var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.menu.is-collapsed:hover .menu-item .menu-label{flex:1;opacity:1;width:auto}.menu.is-collapsed:hover .menu-item .menu-badge{font-size:inherit;height:20px;min-width:20px;padding:0 6px;position:static}.menu.is-collapsed:hover .menu-divider{margin:var(--spacing-md) var(--spacing-md)}.menu.is-collapsed:hover .menu-footer,.menu.is-collapsed:hover .user-dropdown-container{display:block}.menu.is-collapsed:hover .user-dropdown-trigger{gap:var(--spacing-sm);justify-content:flex-start;width:100%}.menu.is-collapsed:hover .user-dropdown-trigger .user-trigger-icon,.menu.is-collapsed:hover .user-dropdown-trigger .user-trigger-name{display:block}.menu.is-collapsed:hover .user-dropdown-trigger .user-trigger-name{flex:1}.menu.is-collapsed:hover .user-dropdown-menu{bottom:100%;left:0;right:0;width:auto}@media(max-width:767px){.menu{bottom:var(--spacing-sm);height:auto;left:var(--spacing-sm);position:fixed;top:var(--spacing-sm);transform:translate(calc(-100% - var(--spacing-sm)));transition:transform var(--transition-fast);width:calc(220px - var(--spacing-sm));z-index:var(--z-modal)}.menu.is-open,.menu.show{transform:translate(0)}.menu.is-collapsed{width:calc(220px - var(--spacing-sm))}.menu.is-collapsed .menu-header{padding:var(--spacing-md) var(--spacing-lg)}.menu.is-collapsed .menu-title-short{opacity:0}.menu.is-collapsed .menu-title-full{opacity:1}.menu.is-collapsed .menu-item{gap:var(--spacing-md);justify-content:flex-start;margin:var(--spacing-xs) var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.menu.is-collapsed .menu-item .menu-label{flex:1;opacity:1;width:auto}.menu.is-collapsed .menu-item .menu-badge{height:20px;min-width:20px;position:static}.menu.is-collapsed .menu-divider{margin:var(--spacing-md) var(--spacing-md)}.menu.is-collapsed .menu-footer{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md)}.menu.is-collapsed .user-dropdown-trigger{gap:var(--spacing-sm);justify-content:flex-start;padding:var(--spacing-xs) var(--spacing-sm);width:100%}.menu.is-collapsed .user-dropdown-trigger .user-trigger-icon,.menu.is-collapsed .user-dropdown-trigger .user-trigger-name{display:block}.menu.is-collapsed .user-dropdown-trigger .user-trigger-name{flex:1}}:root.dark .menu-item:hover{background-color:#6da3ff1a}.sidebar-container .collapse-handle{all:unset;align-items:center;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:50%;box-shadow:var(--shadow-sm);box-sizing:border-box;color:var(--color-text-tertiary);cursor:pointer;display:flex;height:20px;justify-content:center;overflow:visible;position:absolute;right:var(--spacing-md);top:calc(var(--spacing-md) + 28px);transform:translate(50%,-50%);transition:all var(--transition-fast);width:20px;z-index:1030}.sidebar-container .collapse-handle svg{fill:none;height:12px;stroke:currentColor;stroke-width:2;transition:transform var(--transition-fast);width:12px}.sidebar-container .collapse-handle:hover{background-color:var(--color-bg-secondary);border-color:var(--color-text-secondary);box-shadow:var(--shadow-md);color:var(--color-text-secondary)}.sidebar-container .collapse-handle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sidebar-container .collapse-handle svg.rotated{transform:rotate(180deg)}@media(max-width:767px){.sidebar-container .collapse-handle{display:none}}.btn,button:not(.collapse-handle):not(.user-dropdown-trigger):not(.dropdown-item):not(.moodle-selector-toggle):not(.theme-toggle-btn):not(.notifications-toggle):not(.header-menu-toggle):not(.header-search-toggle):not(.dropdown-close-btn):not(.panel-close-btn):not(.mark-all-read-btn):not(.search-close-btn):not(.clear-recent-btn):not(.action-btn):not(.sm-action-btn):not(.sm-back-btn):not(.sm-btn-new):not(.sm-send-btn),input[type=button],input[type=reset],input[type=submit]{align-items:center;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-sm);justify-content:center;line-height:1.5;padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;transition:all var(--transition-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.btn:disabled,button:not(.collapse-handle):not(.user-dropdown-trigger):not(.dropdown-item):not(.moodle-selector-toggle):not(.theme-toggle-btn):not(.notifications-toggle):not(.header-menu-toggle):not(.header-search-toggle):not(.dropdown-close-btn):not(.panel-close-btn):not(.mark-all-read-btn):not(.search-close-btn):not(.clear-recent-btn):not(.action-btn):not(.sm-action-btn):not(.sm-back-btn):not(.sm-btn-new):not(.sm-send-btn):disabled,input[type=button]:disabled,input[type=reset]:disabled,input[type=submit]:disabled{cursor:not-allowed;opacity:.65;pointer-events:none}.btn-sm{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-md)}.btn-lg{font-size:var(--font-size-base);padding:var(--spacing-md) var(--spacing-xl)}.btn-primary,button:not([class*=btn-]):not(.modal-close):not(.modal-backdrop):not(.toolbar-btn):not(.password-toggle):not(.nav-button):not(.theme-toggle):not(.theme-toggle-btn):not(.language-toggle):not(.country-code-button):not(.collapse-handle):not(.user-dropdown-trigger):not(.dropdown-item):not(.notifications-toggle):not(.header-search-toggle):not(.search-close-btn):not(.moodle-selector-toggle):not(.dropdown-close-btn):not(.panel-close-btn):not(.mark-all-read-btn):not(.action-btn):not(.header-menu-toggle):not(.clear-recent-btn):not(.search-recent-item):not(.search-result-item):not(.type-filter-chip):not(.folder-item):not(.btn-action):not(.remove-btn):not(.remove-attachment):not(.close-btn):not(.clear-btn):not(.expand-btn):not(.sm-action-btn):not(.sm-back-btn):not(.sm-btn-new):not(.sm-send-btn){background-color:#007bff;border-color:#007bff;color:#fff}.btn-primary:focus,.btn-primary:hover,button:not([class*=btn-]):not(.modal-close):not(.modal-backdrop):not(.toolbar-btn):not(.password-toggle):not(.nav-button):not(.theme-toggle):not(.theme-toggle-btn):not(.language-toggle):not(.country-code-button):not(.collapse-handle):not(.user-dropdown-trigger):not(.dropdown-item):not(.notifications-toggle):not(.header-search-toggle):not(.search-close-btn):not(.moodle-selector-toggle):not(.dropdown-close-btn):not(.panel-close-btn):not(.mark-all-read-btn):not(.action-btn):not(.header-menu-toggle):not(.clear-recent-btn):not(.search-recent-item):not(.search-result-item):not(.type-filter-chip):not(.folder-item):not(.btn-action):not(.remove-btn):not(.remove-attachment):not(.close-btn):not(.clear-btn):not(.expand-btn):not(.sm-action-btn):not(.sm-back-btn):not(.sm-btn-new):not(.sm-send-btn):focus,button:not([class*=btn-]):not(.modal-close):not(.modal-backdrop):not(.toolbar-btn):not(.password-toggle):not(.nav-button):not(.theme-toggle):not(.theme-toggle-btn):not(.language-toggle):not(.country-code-button):not(.collapse-handle):not(.user-dropdown-trigger):not(.dropdown-item):not(.notifications-toggle):not(.header-search-toggle):not(.search-close-btn):not(.moodle-selector-toggle):not(.dropdown-close-btn):not(.panel-close-btn):not(.mark-all-read-btn):not(.action-btn):not(.header-menu-toggle):not(.clear-recent-btn):not(.search-recent-item):not(.search-result-item):not(.type-filter-chip):not(.folder-item):not(.btn-action):not(.remove-btn):not(.remove-attachment):not(.close-btn):not(.clear-btn):not(.expand-btn):not(.sm-action-btn):not(.sm-back-btn):not(.sm-btn-new):not(.sm-send-btn):hover{background-color:#0062cc;border-color:#0062cc;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active,button:not([class*=btn-]):not(.modal-close):not(.modal-backdrop):not(.toolbar-btn):not(.password-toggle):not(.nav-button):not(.theme-toggle):not(.theme-toggle-btn):not(.language-toggle):not(.country-code-button):not(.collapse-handle):not(.user-dropdown-trigger):not(.dropdown-item):not(.notifications-toggle):not(.header-search-toggle):not(.search-close-btn):not(.moodle-selector-toggle):not(.dropdown-close-btn):not(.panel-close-btn):not(.mark-all-read-btn):not(.action-btn):not(.header-menu-toggle):not(.clear-recent-btn):not(.search-recent-item):not(.search-result-item):not(.type-filter-chip):not(.folder-item):not(.btn-action):not(.remove-btn):not(.remove-attachment):not(.close-btn):not(.clear-btn):not(.expand-btn):not(.sm-action-btn):not(.sm-back-btn):not(.sm-btn-new):not(.sm-send-btn):active{box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-secondary{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-secondary:focus,.btn-secondary:hover{background-color:#545b62;border-color:#545b62;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-success{background-color:#28a745;border-color:#28a745;color:#fff}.btn-success:focus,.btn-success:hover{background-color:#1e7e34;border-color:#1e7e34;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-success:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-danger{background-color:#dc3545;border-color:#dc3545}.btn-danger:focus,.btn-danger:hover{background-color:#bd2130;border-color:#bd2130;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-danger:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-warning{background-color:#ffc107;border-color:#ffc107;color:#111827}.btn-warning:focus,.btn-warning:hover{background-color:#d39e00;border-color:#d39e00;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-warning:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-info{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-info:focus,.btn-info:hover{background-color:#117a8b;border-color:#117a8b;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-info:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-outline-primary{background-color:transparent;border-color:#007bff;color:#007bff}.btn-outline-primary:focus,.btn-outline-primary:hover{background-color:#007bff;color:#fff}.btn-outline-secondary{background-color:transparent;border-color:#6c757d;color:#6c757d}.btn-outline-secondary:focus,.btn-outline-secondary:hover{background-color:#6c757d;color:#fff}.btn-outline-danger{background-color:transparent;border-color:#dc3545;color:#dc3545}.btn-outline-danger:focus,.btn-outline-danger:hover{background-color:#dc3545;color:#fff}.btn-outline-success{background-color:transparent;border-color:#28a745;color:#28a745}.btn-outline-success:focus,.btn-outline-success:hover{background-color:#28a745;color:#fff}.btn-outline-warning{background-color:transparent;border-color:#ffc107;color:#ffc107}.btn-outline-warning:focus,.btn-outline-warning:hover{background-color:#ffc107;color:#fff}.btn-outline-info{background-color:transparent;border-color:#17a2b8;color:#17a2b8}.btn-outline-info:focus,.btn-outline-info:hover{background-color:#17a2b8;color:#fff}.btn-ghost{background-color:transparent;border-color:transparent;color:var(--color-text)}.btn-ghost:focus,.btn-ghost:hover{background-color:var(--color-gray-100)}.btn-icon{border-radius:var(--radius-full);padding:var(--spacing-sm);transition:background-color var(--transition-base),color var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base)}.btn-icon:hover:not(:disabled){transform:scale(1.1)}.btn-icon:active:not(:disabled){transform:scale(.95)}.btn-icon-sm{height:28px;padding:.25rem;width:28px}.btn-icon-lg{height:44px;padding:var(--spacing-md);width:44px}.btn.is-disabled,.btn:disabled,button:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.btn.is-loading{pointer-events:none;position:relative}.btn.is-loading:after{animation:spin .8s linear infinite;border:2px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:currentcolor;content:"";height:16px;width:16px}.form-group{margin-bottom:var(--spacing-lg)}.form-group:last-child{margin-bottom:0}label{color:var(--color-text);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-sm)}.label-optional{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal)}.label-required:after{color:var(--color-danger);content:" *"}input[type=text]{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:block;font-family:inherit;font-size:var(--font-size-base);line-height:1.5;padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}input[type=text]::-moz-placeholder{color:var(--color-placeholder)}input[type=text]::placeholder{color:var(--color-placeholder)}input[type=text]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}input[type=text]:disabled{background-color:var(--color-disabled-bg);color:var(--color-disabled);cursor:not-allowed}input[type=email]{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:block;font-family:inherit;font-size:var(--font-size-base);line-height:1.5;padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}input[type=email]::-moz-placeholder{color:var(--color-placeholder)}input[type=email]::placeholder{color:var(--color-placeholder)}input[type=email]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}input[type=email]:disabled{background-color:var(--color-disabled-bg);color:var(--color-disabled);cursor:not-allowed}input[type=password]{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:block;font-family:inherit;font-size:var(--font-size-base);line-height:1.5;padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}input[type=password]::-moz-placeholder{color:var(--color-placeholder)}input[type=password]::placeholder{color:var(--color-placeholder)}input[type=password]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}input[type=password]:disabled{background-color:var(--color-disabled-bg);color:var(--color-disabled);cursor:not-allowed}input[type=number]{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:block;font-family:inherit;font-size:var(--font-size-base);line-height:1.5;padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}input[type=number]::-moz-placeholder{color:var(--color-placeholder)}input[type=number]::placeholder{color:var(--color-placeholder)}input[type=number]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}input[type=number]:disabled{background-color:var(--color-disabled-bg);color:var(--color-disabled);cursor:not-allowed}input[type=tel]{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:block;font-family:inherit;font-size:var(--font-size-base);line-height:1.5;padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}input[type=tel]::-moz-placeholder{color:var(--color-placeholder)}input[type=tel]::placeholder{color:var(--color-placeholder)}input[type=tel]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}input[type=tel]:disabled{background-color:var(--color-disabled-bg);color:var(--color-disabled);cursor:not-allowed}input[type=url]{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:block;font-family:inherit;font-size:var(--font-size-base);line-height:1.5;padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}input[type=url]::-moz-placeholder{color:var(--color-placeholder)}input[type=url]::placeholder{color:var(--color-placeholder)}input[type=url]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}input[type=url]:disabled{background-color:var(--color-disabled-bg);color:var(--color-disabled);cursor:not-allowed}input[type=date]{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:block;font-family:inherit;font-size:var(--font-size-base);line-height:1.5;padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}input[type=date]::-moz-placeholder{color:var(--color-placeholder)}input[type=date]::placeholder{color:var(--color-placeholder)}input[type=date]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}input[type=date]:disabled{background-color:var(--color-disabled-bg);color:var(--color-disabled);cursor:not-allowed}input[type=time]{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:block;font-family:inherit;font-size:var(--font-size-base);line-height:1.5;padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}input[type=time]::-moz-placeholder{color:var(--color-placeholder)}input[type=time]::placeholder{color:var(--color-placeholder)}input[type=time]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}input[type=time]:disabled{background-color:var(--color-disabled-bg);color:var(--color-disabled);cursor:not-allowed}input[type=datetime-local]{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:block;font-family:inherit;font-size:var(--font-size-base);line-height:1.5;padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}input[type=datetime-local]::-moz-placeholder{color:var(--color-placeholder)}input[type=datetime-local]::placeholder{color:var(--color-placeholder)}input[type=datetime-local]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}input[type=datetime-local]:disabled{background-color:var(--color-disabled-bg);color:var(--color-disabled);cursor:not-allowed}input[type=month]{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:block;font-family:inherit;font-size:var(--font-size-base);line-height:1.5;padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}input[type=month]::-moz-placeholder{color:var(--color-placeholder)}input[type=month]::placeholder{color:var(--color-placeholder)}input[type=month]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}input[type=month]:disabled{background-color:var(--color-disabled-bg);color:var(--color-disabled);cursor:not-allowed}input[type=week]{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:block;font-family:inherit;font-size:var(--font-size-base);line-height:1.5;padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}input[type=week]::-moz-placeholder{color:var(--color-placeholder)}input[type=week]::placeholder{color:var(--color-placeholder)}input[type=week]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}input[type=week]:disabled{background-color:var(--color-disabled-bg);color:var(--color-disabled);cursor:not-allowed}input[type=search]{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:block;font-family:inherit;font-size:var(--font-size-base);line-height:1.5;padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}input[type=search]::-moz-placeholder{color:var(--color-placeholder)}input[type=search]::placeholder{color:var(--color-placeholder)}input[type=search]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}input[type=search]:disabled{background-color:var(--color-disabled-bg);color:var(--color-disabled);cursor:not-allowed}input[type=color]{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:block;font-family:inherit;font-size:var(--font-size-base);line-height:1.5;padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}input[type=color]::-moz-placeholder{color:var(--color-placeholder)}input[type=color]::placeholder{color:var(--color-placeholder)}input[type=color]:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}input[type=color]:disabled{background-color:var(--color-disabled-bg);color:var(--color-disabled);cursor:not-allowed}select,textarea{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:block;font-family:inherit;font-size:var(--font-size-base);line-height:1.5;padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}select::-moz-placeholder,textarea::-moz-placeholder{color:var(--color-placeholder)}select::placeholder,textarea::placeholder{color:var(--color-placeholder)}select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}select:disabled,textarea:disabled{background-color:var(--color-disabled-bg);color:var(--color-disabled);cursor:not-allowed}textarea{min-height:120px;resize:vertical}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="none" stroke="%23333" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2 5l6 6 6-6"/></svg>');background-position:right .75rem center;background-repeat:no-repeat;background-size:16px 12px;cursor:pointer;padding-right:2.5rem}.form-control-sm{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.form-control-lg{font-size:var(--font-size-base);padding:var(--spacing-md) var(--spacing-lg)}input:disabled,select:disabled,textarea:disabled{background-color:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:not-allowed;opacity:.6}input:readonly,select:readonly,textarea:readonly{background-color:var(--color-bg-secondary);cursor:default}.form-control.is-invalid,.form-group.is-invalid input,.form-group.is-invalid select,.form-group.is-invalid textarea{border-color:var(--color-danger);box-shadow:0 0 0 3px #dc35451a}.form-control.is-valid,.form-group.is-valid input,.form-group.is-valid select,.form-group.is-valid textarea{border-color:var(--color-success);box-shadow:0 0 0 3px #28a7451a}.form-error,.invalid-feedback{color:var(--color-danger)}.form-error,.form-help,.form-text,.help-text,.invalid-feedback{display:block;font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.form-help,.form-text,.help-text{color:var(--color-text-secondary)}input[type=checkbox],input[type=radio]{cursor:pointer;margin-right:var(--spacing-sm);width:auto}.form-check{align-items:center;display:flex;margin-bottom:var(--spacing-md)}.form-check input{cursor:pointer;height:18px;width:18px}.form-check label{align-items:center;cursor:pointer;display:flex;margin-bottom:0;margin-left:var(--spacing-sm)}.form-row{gap:var(--spacing-md);grid-template-columns:1fr}.form-row-2{grid-template-columns:repeat(2,1fr)}.form-row-3{grid-template-columns:repeat(3,1fr)}@media(max-width:767px){.form-row-2,.form-row-3{grid-template-columns:1fr}}.form-inline{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.form-inline .form-group{flex:1;margin-bottom:0;min-width:200px}.input-group{align-items:center;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;overflow:hidden}.input-group input{border:none;flex:1;padding:var(--spacing-sm) var(--spacing-md)}.input-group input:focus{box-shadow:none}.input-group:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.input-group-addon{background-color:var(--color-bg-secondary);border-right:1px solid var(--color-border);color:var(--color-text-secondary);padding:var(--spacing-sm) var(--spacing-md)}.input-group-addon:last-child{border-left:1px solid var(--color-border);border-right:none}::-moz-placeholder{color:var(--color-text-secondary);opacity:1}::placeholder{color:var(--color-text-secondary);opacity:1}::-webkit-input-placeholder{color:var(--color-text-secondary)}:-ms-input-placeholder{color:var(--color-text-secondary)}.card{box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:box-shadow var(--transition-base),transform var(--transition-base);transition:box-shadow var(--transition-base),transform var(--transition-base),border-color var(--transition-base)}.card:hover:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card .btn-icon,.card .card-action-btn{transition:all var(--transition-base)}.card .btn-icon:hover,.card .card-action-btn:hover{background-color:var(--color-bg-secondary);transform:scale(1.1)}.card-header{background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);padding:var(--spacing-lg)}.card-header h1,.card-header h2,.card-header h3,.card-header h4,.card-header h5,.card-header h6{color:var(--color-text);font-size:var(--font-size-lg);margin:0}.card-body{flex:1}.card-body,.card-footer{padding:var(--spacing-lg)}.card-footer{background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-md);justify-content:flex-end}.card-img,.card-img-bottom,.card-img-top{display:block;height:auto;width:100%}.card-img-top{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.card-img-bottom{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.card-primary{border-color:#007bff}.card-primary .card-header{background-color:#007bff;color:#fff}.card-success{border-color:#28a745}.card-success .card-header{background-color:#28a745;color:#fff}.card-danger{border-color:#dc3545}.card-danger .card-header{background-color:#dc3545;color:#fff}.card-warning{border-color:#ffc107}.card-warning .card-header{background-color:#ffc107;color:#111827}.card-info{border-color:#17a2b8}.card-info .card-header{background-color:#17a2b8;color:#fff}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-sm) 0}.card-subtitle,.card-text{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0 0 var(--spacing-md) 0}.card-text:last-child{margin-bottom:0}.card-link{color:var(--color-primary);font-weight:var(--font-weight-semibold);text-decoration:none}.card-link:hover{text-decoration:underline}.card-actions{margin-top:var(--spacing-md)}.card-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}@media(max-width:767px){.card-grid{grid-template-columns:1fr}}.card.is-loading{opacity:.6;pointer-events:none;position:relative}.card.is-loading:after{animation:spin .8s linear infinite;border:3px solid rgba(0,0,0,.1);border-radius:50%;border-top:3px solid var(--color-primary);content:"";height:40px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:40px}.card.is-selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-10)}.card.is-clickable{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),transform var(--transition-base)}.card.is-clickable:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card.is-clickable{cursor:pointer}.modal{align-items:center;animation:fadeIn var(--transition-base) ease-in-out;background-color:#00000080;display:none;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:var(--z-modal-backdrop)}.modal.show{display:flex}.modal-content{background-color:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-height:90vh;max-width:500px;overflow-y:auto;width:90%;z-index:var(--z-modal)}.modal-content::-webkit-scrollbar{height:8px;width:8px}.modal-content::-webkit-scrollbar-track{background:transparent;border-radius:4px}.modal-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.modal-content::-webkit-scrollbar-button{display:none;height:0;width:0}.modal-content{scrollbar-color:var(--color-border) transparent;scrollbar-width:thin}.modal-content.modal-sm{max-width:300px}.modal-content.modal-lg{max-width:800px}.modal-header h1,.modal-header h2,.modal-header h3,.modal-header h4,.modal-header h5,.modal-header h6{margin:0}.modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0}.modal-close{align-items:center;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-2xl);height:32px;justify-content:center;line-height:1;padding:0;transition:color var(--transition-fast);width:32px}.modal-close:hover{color:var(--color-text)}.modal-body{padding:var(--spacing-lg)}.modal-body-scrollable{max-height:calc(90vh - 200px);overflow-y:auto}.modal-body-scrollable::-webkit-scrollbar{height:8px;width:8px}.modal-body-scrollable::-webkit-scrollbar-track{background:transparent;border-radius:4px}.modal-body-scrollable::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.modal-body-scrollable::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.modal-body-scrollable::-webkit-scrollbar-button{display:none;height:0;width:0}.modal-body-scrollable{scrollbar-color:var(--color-border) transparent;scrollbar-width:thin}.modal-footer{align-items:center;background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-lg)}.modal-footer .btn{margin:0}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal.show .modal-content{animation:modalSlideIn var(--transition-base)}@media(max-width:575px){.modal-content{max-height:95vh;width:95%}.modal-content.modal-lg{max-width:100%}.modal-body,.modal-footer,.modal-header{padding:var(--spacing-md)}.modal-footer{flex-wrap:wrap}}.modal:first-of-type{z-index:1050}.modal:first-of-type:before{z-index:1040}.modal:nth-of-type(2){z-index:1060}.modal:nth-of-type(2):before{z-index:1050}.modal:nth-of-type(3){z-index:1070}.modal:nth-of-type(3):before{z-index:1060}.tabs{border-bottom:1px solid var(--color-border);display:flex;gap:var(--spacing-xs)}.tab{font-size:var(--font-size-sm);transition:color var(--transition-base),background-color var(--transition-base),border-color var(--transition-base);white-space:nowrap}.tab:hover{background-color:var(--color-gray-50)}:root.dark .tab:hover{background-color:var(--color-gray-800)}.tab:focus-visible:focus{outline:none}.tab:focus-visible:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.tab:focus-visible{outline-offset:-2px}.tab.active,.tab[aria-selected=true]{border-bottom-color:var(--color-primary);color:var(--color-primary)}.tab-icon{align-items:center;display:inline-flex;gap:var(--spacing-xs)}.tab-icon i,.tab-icon svg{height:16px;transition:transform var(--transition-base);width:16px}.tab:hover .tab-icon i,.tab:hover .tab-icon svg{transform:scale(1.1)}.tab-badge{align-items:center;display:inline-flex;gap:var(--spacing-sm)}.tab-count{background-color:var(--color-gray-200);border-radius:var(--radius-full);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:.125rem .5rem;transition:background-color var(--transition-base),color var(--transition-base)}.tab.active .tab-count,.tab[aria-selected=true] .tab-count{background-color:var(--color-primary);color:#fff}:root.dark .tab-count{background-color:var(--color-gray-700)}.tabs-sm .tab{font-size:var(--font-size-xs);padding:var(--spacing-sm) var(--spacing-md)}.tabs-lg .tab{font-size:var(--font-size-base);padding:var(--spacing-lg) var(--spacing-xl)}.tabs-pills{border-bottom:none;gap:var(--spacing-sm)}.tabs-pills .tab{border-bottom:none;border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md)}.tabs-pills .tab:hover{background-color:var(--color-gray-100)}:root.dark .tabs-pills .tab:hover{background-color:var(--color-gray-700)}.tabs-pills .tab.active,.tabs-pills .tab[aria-selected=true]{background-color:var(--color-primary);color:#fff}.tabs-underline{border-bottom:1px solid var(--color-border)}.tabs-underline .tab{border-bottom:3px solid transparent;margin-bottom:-1px}.tabs-boxed{background-color:var(--color-gray-100);border-bottom:none;border-radius:var(--radius-lg);padding:var(--spacing-xs)}.tabs-boxed .tab{border-bottom:none;border-radius:var(--radius-md)}.tabs-boxed .tab.active,.tabs-boxed .tab[aria-selected=true]{background-color:var(--color-bg);box-shadow:var(--shadow-sm)}:root.dark .tabs-boxed{background-color:var(--color-gray-800)}:root.dark .tabs-boxed .tab.active,:root.dark .tabs-boxed .tab[aria-selected=true]{background-color:var(--color-gray-700)}.tabs-vertical{border-bottom:none;border-right:1px solid var(--color-border);flex-direction:column}.tabs-vertical .tab{border-bottom:none;border-right:3px solid transparent;justify-content:flex-start;text-align:left}.tabs-vertical .tab.active,.tabs-vertical .tab[aria-selected=true]{border-right-color:var(--color-primary)}.tabs-full{width:100%}.tabs-full .tab{flex:1;justify-content:center;text-align:center}.tab-content{padding:var(--spacing-lg) 0}.tab-panel{display:none}.tab-panel.active,.tab-panel[aria-hidden=false]{display:block}.tab-panel-animated{animation:tab-fade-in .2s ease-out}@keyframes tab-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.badge{align-items:center;display:inline-flex;font-weight:var(--font-weight-semibold);gap:.25rem;line-height:1;padding:.25em .5em;white-space:nowrap}.badge-sm{font-size:.65rem;padding:.125rem .375rem}.badge-lg{font-size:var(--font-size-sm);padding:.375rem .75rem}.badge-primary{background-color:#007bff;color:#fff}.badge-secondary{background-color:var(--color-gray-200);color:var(--color-text)}:root.dark .badge-secondary{background-color:var(--color-gray-700);color:var(--color-gray-200)}.badge-success{background-color:#28a745;color:#fff}.badge-warning{background-color:#ffc107;color:var(--color-text)}:root.dark .badge-warning{color:var(--color-gray-900)}.badge-danger{background-color:#dc3545;color:#fff}.badge-info{background-color:#17a2b8;color:#fff}.badge-primary-soft{background-color:#007bff1a;color:#007bff}.badge-success-soft{background-color:#28a7451a;color:#28a745}.badge-warning-soft{background-color:#ffc10726;color:#d97706}.badge-danger-soft{background-color:#dc35451a;color:#dc3545}.badge-info-soft{background-color:#17a2b81a;color:#17a2b8}:root.dark .badge-danger-soft,:root.dark .badge-info-soft,:root.dark .badge-primary-soft,:root.dark .badge-success-soft,:root.dark .badge-warning-soft{background-color:#ffffff1a}.badge-role{text-transform:capitalize}.badge-role-administrator{background-color:#dc354526;color:#dc3545}.badge-role-teacher{background-color:#1c6bad26;color:#1c6bad}.badge-role-student{background-color:#28a74526;color:#28a745}.badge-role-user{background-color:#6d767e26;color:#6c757d}.badge-urgency{font-size:.65rem;letter-spacing:.5px;text-transform:uppercase}.badge-urgency-critical{background-color:#dc3545;color:#fff}.badge-urgency-high{background-color:#fd7e14;color:#fff}.badge-urgency-medium{background-color:#ffc107;color:var(--color-text)}.badge-urgency-low{background-color:#17a2b8;color:#fff}.badge-count{align-items:center;border-radius:var(--radius-full);display:flex;font-size:.7rem;font-weight:var(--font-weight-bold);height:20px;justify-content:center;min-width:20px;padding:0 .25rem}.badge-count-sm{font-size:.6rem;height:16px;min-width:16px}.badge-count-lg{font-size:.75rem;height:24px;min-width:24px}.badge-dot{border-radius:var(--radius-full);height:8px;padding:0;width:8px}.badge-dot-lg{height:12px;width:12px}.badge-ai{background-color:#8b5cf6;color:#fff}.badge-ai-soft{background-color:var(--color-ai-light);color:var(--color-ai)}.badge-outline{background-color:transparent;border:1px solid}.badge-outline-primary{border-color:var(--color-primary);color:var(--color-primary)}.badge-outline-success{border-color:var(--color-success);color:var(--color-success)}.badge-outline-danger{border-color:var(--color-danger);color:var(--color-danger)}.spinner{border:2px solid rgba(0,0,0,.1);border-top:2px solid var(--color-primary);display:inline-block;height:20px;width:20px}.spinner-xs{border:1.5px solid rgba(0,0,0,.1);border-radius:50%;border-top:1.5px solid var(--color-primary);height:12px;width:12px}.spinner-sm,.spinner-xs{animation:spin .8s linear infinite}.spinner-sm{border:2px solid rgba(0,0,0,.1);border-radius:50%;border-top:2px solid var(--color-primary);height:16px;width:16px}.spinner-lg{border:3px solid rgba(0,0,0,.1);border-radius:50%;border-top:3px solid var(--color-primary);height:32px;width:32px}.spinner-lg,.spinner-xl{animation:spin .8s linear infinite}.spinner-xl{border:4px solid rgba(0,0,0,.1);border-radius:50%;border-top:4px solid var(--color-primary);height:48px;width:48px}.spinner-primary{border-color:#007bff rgba(0,123,255,.2) rgba(0,123,255,.2)}.spinner-success{border-color:#28a745 rgba(40,167,69,.2) rgba(40,167,69,.2)}.spinner-danger{border-color:#dc3545 rgba(220,53,69,.2) rgba(220,53,69,.2)}.spinner-warning{border-color:#ffc107 rgba(255,193,7,.2) rgba(255,193,7,.2)}.spinner-light{border-color:#fff hsla(0,0%,100%,.3) hsla(0,0%,100%,.3)}.spinner-dark{border-color:var(--color-gray-300);border-top-color:var(--color-gray-700)}.spinner-dots{animation:none;border:none;display:inline-flex;gap:4px;height:auto;width:auto}.spinner-dots span,.spinner-dots:after,.spinner-dots:before{animation:spinner-dot-bounce 1.4s ease-in-out infinite both;background-color:var(--color-primary);border-radius:50%;content:"";height:8px;width:8px}.spinner-dots:before{animation-delay:-.32s}.spinner-dots span{animation-delay:-.16s}@keyframes spinner-dot-bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.spinner-pulse{animation:spinner-pulse 1.5s ease-in-out infinite;background-color:var(--color-primary);border:none}@keyframes spinner-pulse{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(1)}}.loading-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#fffc;inset:0;position:absolute;z-index:var(--z-modal)}.loading-overlay-dark{background-color:#00000080}:root.dark .loading-overlay{background-color:#0f172acc}.is-loading{opacity:.6;pointer-events:none;position:relative}.is-loading:after{animation:spin .8s linear infinite;border:2px solid rgba(0,0,0,.1);border-radius:50%;border-top:2px solid var(--color-primary);content:"";height:20px;left:50%;margin:-10px 0 0 -10px;position:absolute;top:50%;width:20px}.btn.is-loading{color:transparent!important}.btn.is-loading:after{border-color:#fff hsla(0,0%,100%,.3) hsla(0,0%,100%,.3);position:absolute}.loading-container{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-md);justify-content:center;padding:var(--spacing-2xl)}.loading-text{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.loading-fullpage{align-items:center;background-color:var(--color-bg);display:flex;flex-direction:column;justify-content:center;inset:0;position:fixed;z-index:var(--z-modal)}.skeleton{animation:skeleton-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:200% 100%;border-radius:var(--radius-sm)}:root.dark .skeleton{background:linear-gradient(90deg,var(--color-gray-700) 25%,var(--color-gray-600) 50%,var(--color-gray-700) 75%);background-size:200% 100%}.skeleton-text{height:1em;margin-bottom:.5em}.skeleton-text:last-child{width:80%}.skeleton-circle{border-radius:50%}.skeleton-rect{border-radius:var(--radius-md)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}:root.dark .spinner{border-color:var(--color-gray-700);border-top-color:var(--color-primary)}.progress{background-color:var(--color-gray-200);border-radius:var(--radius-full);height:6px;overflow:hidden;width:100%}:root.dark .progress{background-color:var(--color-gray-700)}.progress-xs{height:2px}.progress-sm{height:4px}.progress-lg{height:8px}.progress-xl{height:12px}.progress-bar{transition:width .3s ease-in-out}.progress-bar,.progress-bar-dynamic{background-color:var(--progress-color,var(--color-primary));height:100%;width:var(--progress-width,0)}.progress-bar-dynamic{border-radius:var(--radius-full);transition:width var(--transition-base),background-color var(--transition-base)}.progress-bar-primary{background:linear-gradient(90deg,var(--color-primary),var(--color-primary-dark,#0056b3))}.progress-bar-success{background-color:var(--color-success)}.progress-bar-warning{background-color:var(--color-warning)}.progress-bar-danger{background-color:var(--color-danger)}.progress-bar-info{background-color:var(--color-info)}.progress-bar-gradient-success{background:linear-gradient(90deg,#10b981,#059669)}.progress-bar-gradient-warning{background:linear-gradient(90deg,#f59e0b,#d97706)}.progress-bar-gradient-danger{background:linear-gradient(90deg,#ef4444,#dc2626)}.progress-bar-striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:1rem 1rem}.progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress-labeled{display:flex;flex-direction:column;gap:var(--spacing-xs)}.progress-header{align-items:center;display:flex;font-size:var(--font-size-sm);justify-content:space-between}.progress-label{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.progress-value{color:var(--color-text);font-weight:var(--font-weight-semibold)}.progress-with-text{height:20px;position:relative}.progress-text,.progress-with-text .progress-bar{align-items:center;display:flex;justify-content:center}.progress-text{color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);inset:0;position:absolute;text-shadow:0 1px 2px rgba(0,0,0,.2)}.progress-circular{align-items:center;background:conic-gradient(var(--color-primary) calc(var(--progress, 0)*1%),var(--color-gray-200) 0);border-radius:50%;display:flex;height:40px;justify-content:center;width:40px}.progress-circular:after{border-radius:50%;content:"";height:30px;width:30px}.progress-circular:after,:root.dark .progress-circular:after{background-color:var(--color-bg)}.progress-circular-sm{height:24px;width:24px}.progress-circular-sm:after{height:18px;width:18px}.progress-circular-lg{height:60px;width:60px}.progress-circular-lg:after{height:46px;width:46px}.empty-state-icon{color:var(--color-gray-400);font-size:3rem;margin-bottom:var(--spacing-md);opacity:.5}.empty-state-icon svg{height:1em;width:1em}:root.dark .empty-state-icon{color:var(--color-gray-500)}.empty-state-title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-sm) 0}.empty-state-description{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0;max-width:400px}.empty-state-action,.empty-state-actions{margin-top:var(--spacing-lg)}.empty-state-actions{display:flex;gap:var(--spacing-sm)}.empty-state-sm{padding:var(--spacing-lg) var(--spacing-md)}.empty-state-sm .empty-state-icon{font-size:2rem;margin-bottom:var(--spacing-sm)}.empty-state-sm .empty-state-title{font-size:var(--font-size-base)}.empty-state-sm .empty-state-description{font-size:var(--font-size-xs)}.empty-state-sm .empty-state-illustration{width:120px}.empty-state-lg{padding:var(--spacing-3xl) var(--spacing-xl)}.empty-state-lg .empty-state-icon{font-size:4rem}.empty-state-lg .empty-state-title{font-size:var(--font-size-xl)}.empty-state-lg .empty-state-description{font-size:var(--font-size-base);max-width:500px}.empty-state-lg .empty-state-illustration{width:280px}.empty-state-bordered{background-color:var(--color-gray-50);border:2px dashed var(--color-border);border-radius:var(--radius-lg)}:root.dark .empty-state-bordered{background-color:var(--color-gray-900);border-color:var(--color-gray-700)}.empty-state-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}:root.dark .empty-state-card{background-color:var(--color-gray-800);border-color:var(--color-gray-700)}.empty-state-inline{flex-direction:row;gap:var(--spacing-md);padding:var(--spacing-md);text-align:left}.empty-state-inline .empty-state-icon{font-size:1.5rem;margin-bottom:0}.empty-state-inline .empty-state-content{flex:1}.empty-state-inline .empty-state-title{margin-bottom:var(--spacing-xs)}.empty-state-illustration{height:auto;margin-bottom:var(--spacing-lg);opacity:.8;width:200px}.empty-state-search .empty-state-icon{color:var(--color-primary)}.empty-state-error .empty-state-icon{color:var(--color-danger)}.empty-state-success .empty-state-icon{color:var(--color-success)}.no-results{padding:var(--spacing-xl)}.no-results-icon{color:var(--color-gray-400);font-size:2.5rem;margin-bottom:var(--spacing-md)}.no-results-text{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.empty-state-loading{animation:empty-state-pulse 2s ease-in-out infinite}@keyframes empty-state-pulse{0%,to{opacity:1}50%{opacity:.5}}.widget{align-items:center;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.widget:hover{background-color:var(--color-gray-100);border-color:var(--color-gray-300)}:root.dark .widget{background-color:var(--color-gray-800);border-color:var(--color-gray-700)}:root.dark .widget:hover{background-color:var(--color-gray-700);border-color:var(--color-gray-600)}.widget-icon{align-items:center;border-radius:var(--radius-sm);display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.widget-icon i,.widget-icon svg{height:18px;width:18px}.widget-icon-primary{background-color:#dbeafe;color:#2563eb}:root.dark .widget-icon-primary{background-color:#2563eb33}.widget-icon-success{background-color:#dcfce7;color:#16a34a}:root.dark .widget-icon-success{background-color:#16a34a33}.widget-icon-warning{background-color:#fed7aa;color:#d97706}:root.dark .widget-icon-warning{background-color:#d9770633}.widget-icon-danger{background-color:#fee2e2;color:#dc2626}:root.dark .widget-icon-danger{background-color:#dc262633}.widget-icon-info{background-color:#cffafe;color:#0891b2}:root.dark .widget-icon-info{background-color:#0891b233}.widget-icon-purple{background-color:#ede9fe;color:#7c3aed}:root.dark .widget-icon-purple{background-color:#7c3aed33}.widget-content{flex:1;min-width:0}.widget-label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.5px;margin:0;text-transform:uppercase}.widget-value{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:1;margin:var(--spacing-xs) 0 0 0}.widget-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin:var(--spacing-xs) 0 0 0}.widget-sm{padding:var(--spacing-xs) var(--spacing-sm)}.widget-sm .widget-icon{height:24px;width:24px}.widget-sm .widget-icon i,.widget-sm .widget-icon svg{height:14px;width:14px}.widget-sm .widget-value{font-size:var(--font-size-lg)}.widget-lg{padding:var(--spacing-md) var(--spacing-lg)}.widget-lg .widget-icon{height:48px;width:48px}.widget-lg .widget-icon i,.widget-lg .widget-icon svg{height:24px;width:24px}.widget-lg .widget-value{font-size:var(--font-size-2xl)}.widget-card{align-items:flex-start;background-color:var(--color-bg);box-shadow:var(--shadow-sm);flex-direction:column;padding:var(--spacing-lg)}.widget-card .widget-icon{margin-bottom:var(--spacing-sm)}.widget-card .widget-content{width:100%}:root.dark .widget-card{background-color:var(--color-gray-800);border-color:var(--color-gray-700)}.stat-widget{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;padding:var(--spacing-md)}:root.dark .stat-widget{background-color:var(--color-gray-800);border-color:var(--color-gray-700)}.stat-widget-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm)}.stat-widget-value{color:var(--color-text);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:1}.stat-widget-label{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.stat-widget-change{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:.25rem;padding:.125rem .5rem}.stat-widget-change-positive{background-color:#28a74526;color:var(--color-success)}.stat-widget-change-negative{background-color:#dc354526;color:var(--color-danger)}.stat-widget-change-neutral{background-color:var(--color-gray-200);color:var(--color-text-secondary)}.widget-mini{align-items:center;display:inline-flex;font-size:var(--font-size-sm);gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.widget-mini .widget-icon{height:20px;width:20px}.widget-mini .widget-value{font-size:var(--font-size-sm);margin:0}.widget-grid{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.widget-grid-2{grid-template-columns:repeat(2,1fr)}.widget-grid-3{grid-template-columns:repeat(3,1fr)}.widget-grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:767px){.widget-grid-2,.widget-grid-3,.widget-grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:575px){.widget-grid-2,.widget-grid-3,.widget-grid-4{grid-template-columns:1fr}}.toast-container{bottom:var(--spacing-lg);flex-direction:column;pointer-events:none;position:fixed;right:var(--spacing-lg);z-index:var(--z-toast)}.toast,.toast-container{display:flex;gap:var(--spacing-md)}.toast{align-items:center;animation:toastSlideIn .3s ease-out;border-radius:var(--radius-lg);box-shadow:0 10px 32px #00000026;font-size:var(--font-size-sm);line-height:1.5;max-width:420px;min-width:300px;padding:var(--spacing-md) var(--spacing-lg);pointer-events:auto}.toast.toast-success{background-color:var(--color-success,#10b981);color:#fff}.toast.toast-error{background-color:var(--color-error,#ef4444);color:#fff}.toast.toast-warning{background-color:var(--color-warning,#f59e0b);color:#fff}.toast.toast-info{background-color:var(--color-primary,#3b82f6);color:#fff}.toast-content{align-items:flex-start;display:flex;flex:1;gap:var(--spacing-md);min-width:0}.toast-icon{align-items:center;display:flex;flex-shrink:0;height:20px;justify-content:center;opacity:.95;width:20px}.toast-icon svg{height:100%;stroke-width:0;width:100%}.toast-message{overflow-wrap:break-word;word-break:break-word}.toast-action{align-items:center;display:flex;flex-shrink:0;gap:var(--spacing-sm)}.toast-action-button{background-color:#fff3;border:1px solid hsla(0,0%,100%,.3);border-radius:var(--radius-md);color:inherit;cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:var(--spacing-xs) var(--spacing-md);transition:all var(--transition-fast);white-space:nowrap}.toast-action-button:hover{background-color:#ffffff4d;border-color:#ffffff80}.toast-action-button:active{transform:scale(.98)}.toast-close{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;opacity:.7;padding:0;transition:opacity var(--transition-fast);width:20px}.toast-close:hover{opacity:1}.toast-close-icon{height:16px;stroke-width:2;width:16px}@keyframes toastSlideIn{0%{opacity:0;transform:translate(420px)}to{opacity:1;transform:translate(0)}}.toast-stack-enter-active,.toast-stack-leave-active{transition:all .3s ease}.toast-stack-enter-from,.toast-stack-leave-to{opacity:0;transform:translate(420px)}@media(max-width:640px){.toast{max-width:unset;min-width:unset;width:calc(100vw - var(--spacing-md)*2)}.toast-container{bottom:var(--spacing-md);left:var(--spacing-md);right:var(--spacing-md)}.toast-message{font-size:var(--font-size-xs)}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}.toast-stack-enter-from,.toast-stack-leave-to{transform:translateY(100px)}}@media(prefers-color-scheme:dark){.toast{box-shadow:0 10px 32px #00000080}}.avatar,.user-avatar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:600;justify-content:center;overflow:hidden}.avatar.has-image,.has-image.user-avatar{background:transparent}.avatar-sm{font-size:10px;height:24px;width:24px}.avatar-md{font-size:14px;height:40px;width:40px}.avatar-lg{font-size:20px;height:60px;width:60px}.avatar-xl{font-size:28px;height:80px;width:80px}.avatar-2xl{font-size:40px;height:120px;width:120px}.avatar-image{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.avatar-initials{font-weight:600;-webkit-user-select:none;-moz-user-select:none;user-select:none}.avatar-wrapper{display:inline-block;position:relative}.avatar-wrapper .avatar-status{border:2px solid var(--color-bg);border-radius:var(--radius-full);bottom:0;height:12px;position:absolute;right:0;width:12px}.avatar-wrapper .avatar-status.online{background-color:var(--color-success)}.avatar-wrapper .avatar-status.offline{background-color:var(--color-text-tertiary)}.avatar-wrapper .avatar-status.busy{background-color:var(--color-danger)}.avatar-wrapper .avatar-status.away{background-color:var(--color-warning)}.avatar-group{display:flex}.avatar-group .avatar,.avatar-group .user-avatar{border:2px solid var(--color-bg);margin-left:-8px}.avatar-group .avatar:first-child,.avatar-group .user-avatar:first-child{margin-left:0}.avatar-group .avatar-overflow{align-items:center;background-color:var(--color-bg-tertiary);border:2px solid var(--color-bg);border-radius:var(--radius-full);color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);height:40px;justify-content:center;margin-left:-8px;width:40px}.rich-text-editor{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.rich-text-editor:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.rich-text-editor.disabled{background-color:var(--color-bg-secondary);opacity:.6;pointer-events:none}.rich-text-editor.error{border-color:var(--color-danger)}.rich-text-editor.error:focus-within{box-shadow:0 0 0 3px rgba(var(--color-danger-rgb),.2)}.editor-toolbar{border-bottom:1px solid var(--color-border);gap:var(--spacing-xs)}.toolbar-group{display:flex;gap:2px}.toolbar-group:not(:last-child){border-right:1px solid var(--color-border);margin-right:var(--spacing-sm);padding-right:var(--spacing-sm)}.toolbar-btn{align-items:center;background:none;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;transition:all var(--transition-fast);width:32px}.toolbar-btn:hover{background-color:var(--color-bg);border-color:var(--color-border);color:var(--color-text)}.toolbar-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.toolbar-btn:disabled{cursor:not-allowed;opacity:.5}.editor-content{max-height:400px;min-height:150px;overflow-y:auto;padding:var(--spacing-md)}.editor-content.minimal{min-height:80px}.editor-content.large{max-height:600px;min-height:300px}.editor-content .ProseMirror{min-height:inherit;outline:none}.editor-content .ProseMirror>*+*{margin-top:var(--spacing-sm)}.editor-content .ProseMirror p{line-height:var(--line-height-relaxed);margin:0}.editor-content .ProseMirror h1,.editor-content .ProseMirror h2,.editor-content .ProseMirror h3,.editor-content .ProseMirror h4,.editor-content .ProseMirror h5,.editor-content .ProseMirror h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-sm);margin-top:var(--spacing-lg)}.editor-content .ProseMirror h1{font-size:var(--font-size-2xl)}.editor-content .ProseMirror h2{font-size:var(--font-size-xl)}.editor-content .ProseMirror h3{font-size:var(--font-size-lg)}.editor-content .ProseMirror ol,.editor-content .ProseMirror ul{margin:var(--spacing-sm) 0;padding-left:var(--spacing-lg)}.editor-content .ProseMirror li{margin:var(--spacing-xs) 0}.editor-content .ProseMirror blockquote{border-left:3px solid var(--color-primary);color:var(--color-text-secondary);font-style:italic;margin:var(--spacing-md) 0;padding-left:var(--spacing-md)}.editor-content .ProseMirror code{background-color:var(--color-bg-tertiary);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.9em;padding:.125rem .375rem}.editor-content .ProseMirror pre{background-color:var(--color-bg-tertiary);border-radius:var(--radius-md);margin:var(--spacing-md) 0;overflow-x:auto;padding:var(--spacing-md)}.editor-content .ProseMirror pre code{background:none;padding:0}.editor-content .ProseMirror a{color:var(--color-primary);text-decoration:underline}.editor-content .ProseMirror a:hover{color:var(--color-primary-dark)}.editor-content .ProseMirror hr{border:none;border-top:1px solid var(--color-border);margin:var(--spacing-lg) 0}.editor-content .ProseMirror img{border-radius:var(--radius-md);height:auto;max-width:100%}.editor-content .ProseMirror p.is-editor-empty:first-child:before{color:var(--color-text-tertiary);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.editor-footer{background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);color:var(--color-text-tertiary);display:flex;font-size:var(--font-size-xs);justify-content:flex-end;padding:var(--spacing-xs) var(--spacing-sm)}.student-progress-table{overflow-x:auto;width:100%}.student-progress-table .table-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.student-progress-table .table-header h3{font-size:var(--font-size-lg);margin:0}.student-progress-table table{border-collapse:collapse;width:100%}.student-progress-table table td,.student-progress-table table th{border-bottom:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);text-align:left}.student-progress-table table th{background-color:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.student-progress-table table td{font-size:var(--font-size-sm)}.student-progress-table table tr:hover td{background-color:var(--color-bg-secondary)}.student-progress-table .progress-container{align-items:center;display:flex;gap:var(--spacing-sm)}.student-progress-table .progress-bar-wrapper{background-color:var(--color-bg-tertiary);border-radius:var(--radius-full);flex:1;height:8px;overflow:hidden}.student-progress-table .progress-bar{background-color:var(--progress-color,var(--color-primary));border-radius:var(--radius-full);height:100%;transition:width var(--transition-base);width:var(--progress-width,0)}.student-progress-table .progress-bar .progress-fill{background-color:var(--color-primary);height:100%;transition:width var(--transition-base)}.student-progress-table .progress-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);min-width:40px;text-align:right}.attendance-tracker .tracker-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg)}.attendance-tracker .tracker-header h3{font-size:var(--font-size-lg);margin:0}.attendance-tracker .attendance-grid{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.attendance-tracker .attendance-card{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md)}.attendance-tracker .attendance-card .student-info{align-items:center;display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.attendance-tracker .attendance-card .student-info .student-name{font-weight:var(--font-weight-semibold)}.attendance-tracker .attendance-card .attendance-status{display:flex;gap:var(--spacing-xs)}.attendance-tracker .attendance-card .attendance-status .status-dot{border-radius:var(--radius-full);height:8px;width:8px}.attendance-tracker .attendance-card .attendance-status .status-dot.present{background-color:var(--color-success)}.attendance-tracker .attendance-card .attendance-status .status-dot.absent{background-color:var(--color-danger)}.attendance-tracker .attendance-card .attendance-status .status-dot.late{background-color:var(--color-warning)}.attendance-tracker .attendance-card .attendance-status .status-dot.excused{background-color:var(--color-info)}.attendance-tracker .attendance-progress{align-items:center;display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.attendance-tracker .attendance-progress .progress-bar-container{background-color:var(--color-bg-tertiary);border-radius:var(--radius-full);flex:1;height:8px;overflow:hidden}.attendance-tracker .attendance-progress .progress-bar{background-color:var(--progress-color,var(--color-primary));border-radius:var(--radius-full);height:100%;transition:width var(--transition-base);width:var(--progress-width,0)}.attendance-tracker .attendance-progress .percentage{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);min-width:40px;text-align:right}.activity-timeline .timeline-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg)}.activity-timeline .timeline-header h3{font-size:var(--font-size-lg);margin:0}.activity-timeline .timeline-list{padding-left:var(--spacing-xl);position:relative}.activity-timeline .timeline-list:before{background-color:var(--color-border);bottom:0;content:"";left:8px;position:absolute;top:0;width:2px}.activity-timeline .timeline-item{padding-bottom:var(--spacing-lg);position:relative}.activity-timeline .timeline-item:before{background-color:var(--color-primary);border:2px solid var(--color-bg);border-radius:var(--radius-full);content:"";height:10px;left:calc(var(--spacing-xl)*-1 + 4px);position:absolute;top:4px;width:10px}.activity-timeline .timeline-item .timeline-content{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md)}.activity-timeline .timeline-item .timeline-time{color:var(--color-text-tertiary);font-size:var(--font-size-xs);margin-bottom:var(--spacing-xs)}.activity-timeline .timeline-item .timeline-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.activity-timeline .timeline-item .timeline-description{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.last-access-tracker .tracker-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.last-access-tracker .tracker-header h3{font-size:var(--font-size-lg);margin:0}.last-access-tracker .access-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.last-access-tracker .access-item{align-items:center;background-color:var(--color-bg-secondary);border-radius:var(--radius-md);display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.last-access-tracker .access-item .student-avatar{flex-shrink:0}.last-access-tracker .access-item .student-info{flex:1;min-width:0}.last-access-tracker .access-item .student-info .student-name{font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.last-access-tracker .access-item .student-info .last-access-time{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.last-access-tracker .access-item .access-status{border-radius:var(--radius-full);flex-shrink:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:var(--spacing-xs) var(--spacing-sm)}.last-access-tracker .access-item .access-status.recent{background-color:rgba(var(--color-success-rgb),.1);color:var(--color-success)}.last-access-tracker .access-item .access-status.moderate{background-color:rgba(var(--color-warning-rgb),.1);color:var(--color-warning)}.last-access-tracker .access-item .access-status.old{background-color:rgba(var(--color-danger-rgb),.1);color:var(--color-danger)}.pending-communications .communications-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.pending-communications .communications-header h3{font-size:var(--font-size-lg);margin:0}.pending-communications .communications-header .badge{background-color:var(--color-danger);border-radius:var(--radius-full);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:var(--spacing-xs) var(--spacing-sm)}.pending-communications .communications-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.pending-communications .communication-item{background-color:var(--color-bg-secondary);border-left:3px solid var(--color-warning);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-md);transition:all var(--transition-fast)}.pending-communications .communication-item:hover{background-color:var(--color-bg-tertiary)}.pending-communications .communication-item .communication-icon{align-items:center;background-color:var(--color-bg);border-radius:var(--radius-md);display:flex;flex-shrink:0;font-size:var(--font-size-lg);height:40px;justify-content:center;width:40px}.pending-communications .communication-item .communication-content{flex:1;min-width:0}.pending-communications .communication-item .communication-content .communication-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.pending-communications .communication-item .communication-content .communication-preview{color:var(--color-text-secondary);font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-communications .communication-item .communication-time{color:var(--color-text-tertiary);flex-shrink:0;font-size:var(--font-size-xs)}.pending-communications .communications-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.pending-communications .communication-section .section-title{align-items:center;display:flex;font-weight:var(--font-weight-semibold);gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.pending-communications .communication-section .section-title .icon{color:var(--color-primary)}.pending-communications .communication-section .section-title .badge{background-color:var(--color-primary);border-radius:var(--radius-full);color:#fff;font-size:var(--font-size-xs);margin-left:auto;padding:var(--spacing-xs) var(--spacing-sm)}.pending-communications .items-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.pending-communications .items-list .empty-state{color:var(--color-text-tertiary);font-size:var(--font-size-sm);padding:var(--spacing-md);text-align:center}.pending-communications .item{background-color:var(--color-bg-secondary);border-left:3px solid var(--item-accent-color,var(--color-primary));border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.pending-communications .item:hover{background-color:var(--color-bg-tertiary)}.pending-communications .item .item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs)}.pending-communications .item .item-header .activity-name,.pending-communications .item .item-header .eval-number,.pending-communications .item .item-header .student-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.pending-communications .item .item-header .time{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.pending-communications .item .item-header .days-left{border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:var(--spacing-xs) var(--spacing-sm)}.pending-communications .item .item-header .days-left.urgent{background-color:#ef44441a;color:var(--color-danger)}.pending-communications .item .item-header .days-left.warning{background-color:#f59e0b1a;color:var(--color-warning)}.pending-communications .item .item-header .days-left.normal{background-color:#10b9811a;color:var(--color-success)}.pending-communications .item .item-content{color:var(--color-text-secondary);font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pending-communications h3{align-items:center;display:flex;font-size:var(--font-size-lg);gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.pending-communications h3 .icon{color:var(--color-primary)}.progress-metrics .metrics-grid{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:var(--spacing-lg)}.progress-metrics .metric-card{align-items:center;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:var(--spacing-sm);padding:var(--spacing-md)}.progress-metrics .metric-card .metric-icon{align-items:center;border-radius:var(--radius-full);display:flex;font-size:1.5rem;height:40px;justify-content:center;width:40px}.progress-metrics .metric-card.excellent .metric-icon{background-color:#10b9811a;color:var(--color-success)}.progress-metrics .metric-card.good .metric-icon{background-color:#3b82f61a;color:var(--color-info)}.progress-metrics .metric-card.fair .metric-icon{background-color:#f59e0b1a;color:var(--color-warning)}.progress-metrics .metric-card.poor .metric-icon{background-color:#ef44441a;color:var(--color-danger)}.progress-metrics .metric-card.disconnected .metric-icon{background-color:#6b72801a;color:var(--color-text-secondary)}.progress-metrics .metric-card .metric-info{flex:1}.progress-metrics .metric-card .metric-label{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.progress-metrics .metric-card .metric-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.progress-metrics .metric-card .metric-percentage{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.progress-metrics .summary-bar{background-color:var(--color-bg-tertiary);border-radius:var(--radius-full);display:flex;height:12px;overflow:hidden}.progress-metrics .summary-bar .bar-segment{flex:var(--flex-value,1);min-width:4px;transition:flex var(--transition-base)}.progress-metrics .summary-bar .bar-segment.excellent{background-color:var(--color-success)}.progress-metrics .summary-bar .bar-segment.good{background-color:var(--color-info)}.progress-metrics .summary-bar .bar-segment.fair{background-color:var(--color-warning)}.progress-metrics .summary-bar .bar-segment.poor{background-color:var(--color-danger)}.progress-metrics .summary-bar .bar-segment.disconnected{background-color:var(--color-text-tertiary)}.progress-metrics h3{align-items:center;display:flex;font-size:var(--font-size-lg);gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.progress-metrics h3 .header-icon{color:var(--color-primary)}.progress-metrics-cards{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.progress-metrics-cards .metric-card{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center}.progress-metrics-cards .metric-card .metric-icon{font-size:2rem;margin-bottom:var(--spacing-sm)}.progress-metrics-cards .metric-card .metric-value{color:var(--color-text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs)}.progress-metrics-cards .metric-card .metric-label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.progress-metrics-cards .metric-card .metric-trend{align-items:center;display:flex;font-size:var(--font-size-xs);gap:var(--spacing-xs);justify-content:center;margin-top:var(--spacing-sm)}.progress-metrics-cards .metric-card .metric-trend.positive{color:var(--color-success)}.progress-metrics-cards .metric-card .metric-trend.negative{color:var(--color-danger)}.detailed-student-list .list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.detailed-student-list .list-header h3{font-size:var(--font-size-lg);margin:0}.detailed-student-list .list-header .list-controls{display:flex;gap:var(--spacing-sm)}.detailed-student-list .student-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.detailed-student-list .student-row{align-items:center;background-color:var(--color-bg-secondary);border-radius:var(--radius-md);display:flex;gap:var(--spacing-md);padding:var(--spacing-md);transition:all var(--transition-fast)}.detailed-student-list .student-row:hover{background-color:var(--color-bg-tertiary)}.detailed-student-list .student-row.at-risk{border-left:3px solid var(--color-danger)}.detailed-student-list .student-row .student-avatar{flex-shrink:0}.detailed-student-list .student-row .student-details{flex:1;min-width:0}.detailed-student-list .student-row .student-details .student-name{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.detailed-student-list .student-row .student-details .student-email{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.detailed-student-list .student-row .student-stats{display:flex;gap:var(--spacing-lg)}.detailed-student-list .student-row .student-stats .stat{text-align:center}.detailed-student-list .student-row .student-stats .stat .stat-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.detailed-student-list .student-row .student-stats .stat .stat-label{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.detailed-student-list .student-row .student-actions{display:flex;flex-shrink:0;gap:var(--spacing-xs)}.student-activity-timeline{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:box-shadow var(--transition-base),transform var(--transition-base)}.student-activity-timeline .timeline{padding-left:var(--spacing-2xl);position:relative}.student-activity-timeline .timeline:before{background-color:var(--color-border);bottom:0;content:"";left:12px;position:absolute;top:0;width:2px}.student-activity-timeline .timeline-item{padding-bottom:var(--spacing-lg);position:relative}.student-activity-timeline .timeline-marker{align-items:center;background-color:var(--status-color,var(--color-primary));border-radius:var(--radius-full);display:flex;height:20px;justify-content:center;left:calc(var(--spacing-2xl)*-1 + 4px);position:absolute;top:0;width:20px;z-index:1}.student-activity-timeline .timeline-marker .marker-icon{font-size:var(--font-size-xs)}.student-activity-timeline .timeline-content{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md)}.student-activity-timeline .content-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm)}.student-activity-timeline .activity-main{align-items:center;display:flex;gap:var(--spacing-sm)}.student-activity-timeline .student-badge{align-items:center;background-color:var(--color-primary);border-radius:var(--radius-full);color:#fff;display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);height:32px;justify-content:center;width:32px}.student-activity-timeline .activity-info .activity-title{color:var(--color-text);font-weight:var(--font-weight-semibold)}.student-activity-timeline .activity-info .activity-description{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.student-activity-timeline .activity-time{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.student-activity-timeline .activity-meta{display:flex;flex-wrap:wrap;font-size:var(--font-size-xs);gap:var(--spacing-md)}.student-activity-timeline .activity-meta .meta-item{display:flex;gap:var(--spacing-xs)}.student-activity-timeline .activity-meta .meta-label{color:var(--color-text-tertiary)}.student-activity-timeline .activity-meta .meta-value{color:var(--color-text-secondary)}.access-tracker-component{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:box-shadow var(--transition-base),transform var(--transition-base)}.access-tracker-component .access-cards{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:var(--spacing-lg)}.access-tracker-component .access-card{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md)}.access-tracker-component .card-top{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.access-tracker-component .card-middle{display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm)}.access-tracker-component .access-stat .stat-label{color:var(--color-text-tertiary);display:block;font-size:var(--font-size-xs)}.access-tracker-component .access-stat .stat-value{color:var(--status-color,var(--color-text));font-weight:var(--font-weight-semibold)}.access-tracker-component .timeline-chart{margin-top:var(--spacing-lg)}.access-tracker-component .timeline-chart h4{font-size:var(--font-size-md);margin-bottom:var(--spacing-md)}.access-tracker-component .days-container{align-items:flex-end;border-bottom:1px solid var(--color-border);display:flex;height:100px;justify-content:space-between;padding:var(--spacing-md) 0}.access-tracker-component .day-column{align-items:center;display:flex;flex:1;flex-direction:column;gap:var(--spacing-xs)}.access-tracker-component .day-bar{background-color:var(--status-color,var(--color-primary));border-radius:var(--radius-sm) var(--radius-sm) 0 0;height:var(--bar-height,0);min-height:2px;transition:height var(--transition-base);width:80%}.access-tracker-component .day-label{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.access-tracker-component .alert-card{background-color:rgba(var(--color-danger-rgb),.1);border:1px solid var(--color-danger);border-radius:var(--radius-md);margin-top:var(--spacing-lg);padding:var(--spacing-md)}.access-tracker-component .alert-title{align-items:center;color:var(--color-danger);display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.detailed-student-list-component{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:box-shadow var(--transition-base),transform var(--transition-base)}.detailed-student-list-component .student-cards{display:flex;flex-direction:column;gap:var(--spacing-md)}.detailed-student-list-component .student-card{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md)}.detailed-student-list-component .student-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.detailed-student-list-component .overall-progress{align-items:center;display:flex;gap:var(--spacing-sm);min-width:150px}.detailed-student-list-component .progress-bar-container{background-color:var(--color-bg-tertiary);border-radius:var(--radius-full);flex:1;height:8px;overflow:hidden}.detailed-student-list-component .progress-bar{background-color:var(--progress-color,var(--color-primary));border-radius:var(--radius-full);height:100%;transition:width var(--transition-base);width:var(--progress-width,0)}.detailed-student-list-component .progress-percentage{color:var(--progress-color,var(--color-text));font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);min-width:40px;text-align:right}.detailed-student-list-component .subjects-container{display:flex;flex-direction:column;gap:var(--spacing-xs)}.detailed-student-list-component .subject-row{align-items:center;display:flex;gap:var(--spacing-sm)}.detailed-student-list-component .subject-name{color:var(--color-text-secondary);font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:120px}.detailed-student-list-component .subject-progress-bar-container{background-color:var(--color-bg-tertiary);border-radius:var(--radius-full);flex:1;height:6px;overflow:hidden}.detailed-student-list-component .subject-progress-bar{background-color:var(--progress-color,var(--color-primary));border-radius:var(--radius-full);height:100%;transition:width var(--transition-base);width:var(--progress-width,0)}.detailed-student-list-component .subject-percentage{color:var(--color-text-secondary);font-size:var(--font-size-xs);text-align:right;width:40px}.ai-briefing-panel{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.ai-briefing-panel .briefing-header{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;display:flex;gap:var(--spacing-md);padding:var(--spacing-lg)}.ai-briefing-panel .briefing-header .ai-icon{align-items:center;background-color:#fff3;border-radius:var(--radius-md);display:flex;font-size:var(--font-size-xl);height:48px;justify-content:center;width:48px}.ai-briefing-panel .briefing-header .header-content{flex:1}.ai-briefing-panel .briefing-header .header-content h3{font-size:var(--font-size-lg);margin:0 0 var(--spacing-xs) 0}.ai-briefing-panel .briefing-header .header-content p{font-size:var(--font-size-sm);margin:0;opacity:.9}.ai-briefing-panel .briefing-header .refresh-btn{background-color:#fff3;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;padding:var(--spacing-sm);transition:all var(--transition-fast)}.ai-briefing-panel .briefing-header .refresh-btn:hover{background-color:#ffffff4d}.ai-briefing-panel .briefing-header .refresh-btn:disabled{cursor:not-allowed;opacity:.5}.ai-briefing-panel .briefing-content{padding:var(--spacing-lg)}.ai-briefing-panel .briefing-content .briefing-section{margin-bottom:var(--spacing-lg)}.ai-briefing-panel .briefing-content .briefing-section:last-child{margin-bottom:0}.ai-briefing-panel .briefing-content .briefing-section .section-title{align-items:center;color:var(--color-text);display:flex;font-weight:var(--font-weight-semibold);gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.ai-briefing-panel .briefing-content .briefing-section .section-title .section-icon{color:var(--color-primary)}.ai-briefing-panel .briefing-content .briefing-section .section-content{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.ai-briefing-panel .briefing-content .briefing-items{display:flex;flex-direction:column;gap:var(--spacing-sm)}.ai-briefing-panel .briefing-content .briefing-items .briefing-item{align-items:flex-start;background-color:var(--color-bg-secondary);border-radius:var(--radius-md);display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm)}.ai-briefing-panel .briefing-content .briefing-items .briefing-item .item-icon{color:var(--color-primary);flex-shrink:0}.ai-briefing-panel .briefing-content .briefing-items .briefing-item .item-content{flex:1;font-size:var(--font-size-sm)}.ai-briefing-panel .briefing-loading{color:var(--color-text-secondary);padding:var(--spacing-2xl);text-align:center}.ai-briefing-panel .briefing-loading .loading-spinner{margin-bottom:var(--spacing-md)}.ai-briefing-panel .briefing-error{color:var(--color-danger);padding:var(--spacing-lg);text-align:center}.ai-briefing-panel .briefing-error .error-icon{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-sm)}.ai-briefing-panel .briefing-error .retry-btn{margin-top:var(--spacing-md)}.ai-insight-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;padding:var(--spacing-lg);position:relative}.ai-insight-card:before{background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));content:"";height:4px;left:0;position:absolute;right:0;top:0}.ai-insight-card .insight-header{align-items:flex-start;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.ai-insight-card .insight-header .insight-icon{align-items:center;background-color:var(--color-bg-secondary);border-radius:var(--radius-md);display:flex;font-size:var(--font-size-lg);height:40px;justify-content:center;width:40px}.ai-insight-card .insight-header .insight-meta{flex:1}.ai-insight-card .insight-header .insight-meta .insight-type{color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.05em;margin-bottom:var(--spacing-xs);text-transform:uppercase}.ai-insight-card .insight-header .insight-meta .insight-title{color:var(--color-text);font-weight:var(--font-weight-semibold);margin:0}.ai-insight-card .insight-header .insight-confidence{background-color:var(--color-bg-secondary);border-radius:var(--radius-full);color:var(--color-text-secondary);flex-shrink:0;font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.ai-insight-card .insight-header .insight-confidence.high{background-color:rgba(var(--color-success-rgb),.1);color:var(--color-success)}.ai-insight-card .insight-header .insight-confidence.medium{background-color:rgba(var(--color-warning-rgb),.1);color:var(--color-warning)}.ai-insight-card .insight-header .insight-confidence.low{background-color:rgba(var(--color-danger-rgb),.1);color:var(--color-danger)}.ai-insight-card .insight-body{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-md)}.ai-insight-card .insight-recommendations{background-color:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-md)}.ai-insight-card .insight-recommendations .recommendations-title{color:var(--color-text);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.05em;margin-bottom:var(--spacing-sm);text-transform:uppercase}.ai-insight-card .insight-recommendations .recommendations-list{list-style:none;margin:0;padding:0}.ai-insight-card .insight-recommendations .recommendations-list li{align-items:flex-start;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.ai-insight-card .insight-recommendations .recommendations-list li:last-child{margin-bottom:0}.ai-insight-card .insight-recommendations .recommendations-list li:before{color:var(--color-primary);content:"→";flex-shrink:0}.ai-insight-card .insight-actions{border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md)}.ai-insight-card .insight-actions .btn{flex:1}.ai-insight-card.insight-warning:before{background:var(--color-warning)}.ai-insight-card.insight-warning .insight-icon{color:var(--color-warning)}.ai-insight-card.insight-success:before{background:var(--color-success)}.ai-insight-card.insight-success .insight-icon{color:var(--color-success)}.ai-insight-card.insight-danger:before{background:var(--color-danger)}.ai-insight-card.insight-danger .insight-icon{color:var(--color-danger)}.ai-chat-container{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;height:100%;overflow:hidden}.ai-chat-container .ai-chat-header{align-items:center;background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);display:flex;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg)}.ai-chat-container .ai-chat-header .ai-avatar{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-full);color:#fff;display:flex;font-size:var(--font-size-lg);height:40px;justify-content:center;width:40px}.ai-chat-container .ai-chat-header .ai-info{flex:1}.ai-chat-container .ai-chat-header .ai-info .ai-name{font-weight:var(--font-weight-semibold);margin:0}.ai-chat-container .ai-chat-header .ai-info .ai-status{color:var(--color-success);font-size:var(--font-size-xs)}.ai-chat-container .ai-chat-messages{display:flex;flex:1;flex-direction:column;gap:var(--spacing-md);overflow-y:auto;padding:var(--spacing-lg)}.ai-chat-container .ai-message{display:flex;gap:var(--spacing-sm)}.ai-chat-container .ai-message.user-message{flex-direction:row-reverse}.ai-chat-container .ai-message.user-message .message-bubble{background-color:var(--color-primary);border-bottom-right-radius:var(--radius-sm);color:#fff}.ai-chat-container .ai-message.ai-response .message-bubble{background-color:var(--color-bg-secondary);border-bottom-left-radius:var(--radius-sm)}.ai-chat-container .ai-message .message-bubble{border-radius:var(--radius-lg);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);max-width:80%;padding:var(--spacing-md)}.ai-chat-container .ai-typing-indicator{display:flex;gap:var(--spacing-xs);padding:var(--spacing-sm)}.ai-chat-container .ai-typing-indicator span{animation:typing 1.4s ease-in-out infinite both;background-color:var(--color-text-tertiary);border-radius:var(--radius-full);height:8px;width:8px}.ai-chat-container .ai-typing-indicator span:first-child{animation-delay:-.32s}.ai-chat-container .ai-typing-indicator span:nth-child(2){animation-delay:-.16s}.ai-chat-container .ai-typing-indicator span:nth-child(3){animation-delay:0}.ai-chat-container .ai-chat-input{background-color:var(--color-bg);border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg)}.ai-chat-container .ai-chat-input input{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);flex:1;padding:var(--spacing-sm) var(--spacing-md)}.ai-chat-container .ai-chat-input input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.ai-chat-container .ai-chat-input button{background-color:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.ai-chat-container .ai-chat-input button:hover{background-color:var(--color-primary-dark)}.ai-chat-container .ai-chat-input button:disabled{cursor:not-allowed;opacity:.5}@keyframes typing{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.app-header{align-items:center;background-color:var(--color-bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;flex-shrink:0;gap:var(--spacing-lg);height:56px;justify-content:space-between;margin:var(--spacing-md) var(--spacing-md) 0 0;min-height:56px;padding:0 var(--spacing-md);z-index:var(--z-sticky)}@media(max-width:767px){.app-header{border-radius:var(--radius-lg);gap:var(--spacing-sm);margin:var(--spacing-sm) var(--spacing-sm) 0 0;padding:0 var(--spacing-sm)}}.header-center,.header-end,.header-start{align-items:center;display:flex;gap:var(--spacing-md)}.header-start{flex:0 0 auto}.header-center{flex:1;justify-content:center}@media(max-width:767px){.header-center{flex:0 0 auto}}.header-end{flex:0 0 auto;gap:var(--spacing-sm);justify-content:flex-end}.header-menu-toggle{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;padding:0;transition:background-color var(--transition-fast);width:40px}.header-menu-toggle:hover{background-color:var(--color-bg-hover)}.header-menu-toggle:focus-visible:focus{outline:none}.header-menu-toggle:focus-visible:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.notifications-toggle,.theme-toggle-btn{align-items:center;background-color:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:flex;height:40px;justify-content:center;padding:0;transition:all var(--transition-fast);width:40px}.notifications-toggle svg,.theme-toggle-btn svg{flex-shrink:0}.notifications-toggle:hover,.theme-toggle-btn:hover{background-color:var(--color-bg-hover);color:var(--color-text)}.notifications-toggle:focus-visible:focus,.theme-toggle-btn:focus-visible:focus{outline:none}.notifications-toggle:focus-visible:focus-visible,.theme-toggle-btn:focus-visible:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.header-notifications,.notifications-toggle{position:relative}.notifications-badge{background-color:var(--color-danger);border-radius:9px;color:#fff;font-size:10px;font-weight:var(--font-weight-bold);height:18px;line-height:18px;min-width:18px;padding:0 5px;position:absolute;right:4px;text-align:center;top:4px}.notifications-panel{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:480px;overflow:hidden;position:absolute;right:0;top:calc(100% + var(--spacing-sm));width:360px;z-index:var(--z-dropdown)}@media(max-width:575px){.notifications-panel{left:var(--spacing-sm);position:fixed;right:var(--spacing-sm);top:60px;width:auto}}.panel-header{padding:var(--spacing-md)}.panel-header h3,.panel-header h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0}.panel-actions{align-items:center;display:flex;gap:var(--spacing-xs)}.mark-all-read-btn,.panel-close-btn{align-items:center;background-color:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all var(--transition-fast);width:28px}.mark-all-read-btn:hover,.panel-close-btn:hover{background-color:var(--color-bg-hover);color:var(--color-text)}.notifications-content{max-height:360px;overflow-y:auto}.notifications-content::-webkit-scrollbar{height:8px;width:8px}.notifications-content::-webkit-scrollbar-track{background:transparent;border-radius:4px}.notifications-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.notifications-content::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.notifications-content::-webkit-scrollbar-button{display:none;height:0;width:0}.notifications-content{scrollbar-color:var(--color-border) transparent;scrollbar-width:thin}.notifications-empty{align-items:center;color:var(--color-text-tertiary);display:flex;flex-direction:column;gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-2xl);text-align:center}.notifications-empty p{font-size:var(--font-size-sm);margin:0}.notifications-list{padding:var(--spacing-xs)}.notification-item{align-items:flex-start;cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.notification-item:hover{background-color:var(--color-bg-hover)}.notification-item.unread:hover{background-color:var(--color-primary-10)}.notification-icon{align-items:center;background-color:var(--color-bg-secondary);border-radius:var(--radius-full);color:var(--color-text-secondary);display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.notification-icon.type-message{background-color:var(--color-info-10);color:var(--color-info)}.notification-icon.type-email{background-color:var(--color-primary-10);color:var(--color-primary)}.notification-icon.type-calendar{background-color:var(--color-warning-10);color:var(--color-warning)}.notification-icon.type-alert{background-color:var(--color-danger-10);color:var(--color-danger)}.notification-content{flex:1;min-width:0}.notification-title{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.3}.notification-body{color:var(--color-text-secondary);display:-webkit-box;font-size:var(--font-size-xs);-webkit-line-clamp:2;line-height:1.4;margin-top:2px;-webkit-box-orient:vertical;overflow:hidden}.notification-time{color:var(--color-text-tertiary);font-size:11px;margin-top:var(--spacing-xs)}.notification-actions{display:flex;gap:4px;opacity:0;transition:opacity var(--transition-fast)}.notification-item:hover .notification-actions{opacity:1}.panel-footer{border-top:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);text-align:center}.view-all-link{align-items:center;color:var(--color-primary);display:inline-flex;font-size:var(--font-size-sm);gap:var(--spacing-xs);text-decoration:none;transition:color var(--transition-fast)}.view-all-link:hover{color:var(--color-primary-dark)}.header-ai-button,.header-theme-toggle{align-items:center;display:flex}.header-ai-button{background:linear-gradient(135deg,#e8856a,#d97757 50%,#c56545);border:none;border-radius:var(--radius-sm);box-shadow:0 1px 2px #d977574d;color:#fff;cursor:pointer;gap:var(--spacing-xs);height:20px;justify-content:center;padding:0 10px;transition:all var(--transition-fast)}.header-ai-button__text{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap}.header-ai-button:hover{background:linear-gradient(135deg,#f09980,#e8856a 50%,#d97757);box-shadow:0 3px 8px #d9775766;transform:translateY(-1px)}.header-ai-button:focus-visible:focus{outline:none}.header-ai-button:focus-visible:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.header-moodle-selector{position:relative}.moodle-selector-toggle{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:flex;gap:var(--spacing-xs);padding:6px 16px;transition:all var(--transition-fast)}.moodle-selector-toggle:hover{background-color:var(--color-bg-hover);color:var(--color-text)}.moodle-selector-toggle:focus-visible:focus{outline:none}.moodle-selector-toggle:focus-visible:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.moodle-count-badge{background-color:var(--color-success-10);border-radius:var(--radius-sm);color:var(--color-success);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:2px 6px}.moodle-count-badge.has-inactive{background-color:var(--color-warning-10);color:var(--color-warning)}.moodle-dropdown{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;position:absolute;right:0;top:calc(100% + var(--spacing-sm));width:300px;z-index:var(--z-dropdown)}@media(max-width:575px){.moodle-dropdown{left:var(--spacing-sm);position:fixed;right:var(--spacing-sm);top:60px;width:auto}}.moodle-dropdown-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md)}.moodle-dropdown-header h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0}.dropdown-close-btn{align-items:center;background-color:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer;display:flex;height:24px;justify-content:center;padding:0;transition:all var(--transition-fast);width:24px}.dropdown-close-btn:hover{background-color:var(--color-bg-hover);color:var(--color-text)}.moodle-dropdown-content{max-height:280px;overflow-y:auto}.moodle-dropdown-content::-webkit-scrollbar{height:8px;width:8px}.moodle-dropdown-content::-webkit-scrollbar-track{background:transparent;border-radius:4px}.moodle-dropdown-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.moodle-dropdown-content::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.moodle-dropdown-content::-webkit-scrollbar-button{display:none;height:0;width:0}.moodle-dropdown-content{scrollbar-color:var(--color-border) transparent;scrollbar-width:thin}.moodle-empty{align-items:center;color:var(--color-text-tertiary);display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-xl);text-align:center}.moodle-empty p{font-size:var(--font-size-sm);margin:0}.add-moodle-link{color:var(--color-primary);font-size:var(--font-size-sm);text-decoration:none}.add-moodle-link:hover{text-decoration:underline}.moodle-list{padding:var(--spacing-xs)}.moodle-item{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:background-color var(--transition-fast)}.moodle-item:hover{background-color:var(--color-bg-hover)}.moodle-item.is-selected{background-color:var(--color-success-05)}.moodle-item.is-selected:hover{background-color:var(--color-success-10)}.moodle-item.is-loading{opacity:.6;pointer-events:none}.moodle-item.has-error{border-left:3px solid var(--color-warning);padding-left:calc(var(--spacing-md) - 3px)}.moodle-item.has-error .moodle-name{color:var(--color-warning-dark)}.moodle-warning-icon{color:var(--color-warning);flex-shrink:0;margin-left:auto}.moodle-checkbox{opacity:0;pointer-events:none;position:absolute}.moodle-checkbox-visual{align-items:center;background-color:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-full);display:flex;flex-shrink:0;height:20px;justify-content:center;transition:all var(--transition-fast);width:20px}.moodle-checkbox:checked+.moodle-checkbox-visual{background-color:var(--color-success);border-color:var(--color-success);color:#fff}.moodle-item-info{flex:1;min-width:0}.moodle-name{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.moodle-domain,.moodle-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.moodle-domain{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.moodle-loading{color:var(--color-primary)}.moodle-dropdown-footer{border-top:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md)}.manage-moodles-link{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-xs);justify-content:center;text-decoration:none;transition:color var(--transition-fast)}.manage-moodles-link:hover{color:var(--color-primary)}.header-search{position:relative}.header-search,.search-bar{align-items:center;background-color:transparent;display:flex}.search-bar{cursor:pointer}.search-bar-inner{align-items:center;background-color:transparent;border:none;border-radius:var(--radius-md);box-shadow:none;display:flex;gap:var(--spacing-xs);min-width:320px;padding:6px var(--spacing-sm);transition:background-color var(--transition-fast)}@media(max-width:991px){.search-bar-inner{min-width:280px}}@media(max-width:767px){.search-bar-inner{min-width:auto;padding:4px var(--spacing-xs)}}.search-bar-inner:hover{background-color:var(--color-bg-hover)}.search-bar-inner:hover .search-bar-icon,.search-bar-inner:hover .search-bar-placeholder{color:var(--color-text-secondary)}.search-bar-icon{color:var(--color-text-tertiary);flex-shrink:0}.search-bar-placeholder{color:var(--color-text-tertiary);flex:1;font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-shortcut{align-items:center;display:flex;gap:2px;margin-left:auto}@media(max-width:767px){.search-shortcut{display:none}}.search-shortcut kbd{align-items:center;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-tertiary);display:inline-flex;font-family:inherit;font-size:10px;font-weight:var(--font-weight-medium);height:18px;justify-content:center;min-width:18px;padding:0 4px}.search-modal-overlay{align-items:flex-start;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#0006;display:flex;inset:0;justify-content:center;padding-top:10vh;position:fixed;z-index:var(--z-modal)}:root.dark .search-modal-overlay{background-color:#0009}@media(max-width:575px){.search-modal-overlay{padding-top:5vh}}.search-modal{background-color:var(--color-bg);border-radius:var(--radius-2xl);box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000000d;max-width:600px;overflow:hidden;width:90%}:root.dark .search-modal{box-shadow:0 25px 50px -12px #00000080,0 0 0 1px #ffffff1a}.search-modal-input{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg)}.search-input-icon{color:var(--color-text-secondary);flex-shrink:0}.search-input{caret-color:var(--color-primary);font-weight:var(--font-weight-normal);height:auto;min-width:0;padding:0!important}.search-input,.search-input:active,.search-input:focus,.search-input:focus-visible{background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;outline:none!important}.search-input::-moz-placeholder{color:var(--color-text-tertiary);font-weight:var(--font-weight-normal)}.search-input::placeholder{color:var(--color-text-tertiary);font-weight:var(--font-weight-normal)}.search-input::-webkit-search-cancel-button,.search-input::-webkit-search-decoration,.search-input::-webkit-search-results-button,.search-input::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none;display:none}.search-input::-moz-search-clear-button{display:none}.search-modal-input .search-close-btn{align-items:center;background-color:var(--color-bg-tertiary)!important;border:none!important;border-radius:var(--radius-full)!important;color:var(--color-text-tertiary);cursor:pointer;display:flex!important;flex-shrink:0;gap:0!important;height:28px!important;justify-content:center;max-width:28px!important;min-height:28px!important;min-width:28px!important;padding:0!important;transition:all var(--transition-fast);width:28px!important}.search-modal-input .search-close-btn svg{flex-shrink:0;height:16px;width:16px}.search-modal-input .search-close-btn:hover{background-color:var(--color-bg-hover);color:var(--color-text)}.search-modal-input .search-close-btn:focus-visible:focus{outline:none}.search-modal-input .search-close-btn:focus-visible:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.search-results-container{max-height:400px;overflow-y:auto}.search-results-container::-webkit-scrollbar{height:8px;width:8px}.search-results-container::-webkit-scrollbar-track{background:transparent;border-radius:4px}.search-results-container::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.search-results-container::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.search-results-container::-webkit-scrollbar-button{display:none;height:0;width:0}.search-results-container{scrollbar-color:var(--color-border) transparent;scrollbar-width:thin}.search-loading{color:var(--color-text-secondary)}.search-empty,.search-hint,.search-loading{align-items:center;gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-2xl)}.search-empty,.search-hint{color:var(--color-text-tertiary);display:flex;flex-direction:column;text-align:center}.search-empty p,.search-hint p{font-size:var(--font-size-base);margin:0}.search-empty-hint{font-size:var(--font-size-sm)}.search-recent{padding:var(--spacing-sm)}.search-section-header{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);justify-content:space-between;letter-spacing:.5px;padding:var(--spacing-xs) var(--spacing-sm);text-transform:uppercase}.clear-recent-btn{background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer;font-size:var(--font-size-xs);padding:2px 6px;transition:all var(--transition-fast)}.clear-recent-btn:hover{background-color:var(--color-primary-05);color:var(--color-primary)}.search-recent-list{display:flex;flex-direction:column;gap:2px}.search-recent-item{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);min-height:unset!important;min-width:unset!important;padding:var(--spacing-sm) var(--spacing-md);text-align:left;transition:background-color var(--transition-fast);width:100%}.search-recent-item:hover{background-color:var(--color-bg-hover)}.search-recent-item svg{color:var(--color-text-tertiary)}.search-results{padding:var(--spacing-sm)}.search-results-group:not(:last-child){border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.search-group-title{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:var(--spacing-xs);letter-spacing:.5px;padding:var(--spacing-xs) var(--spacing-sm);text-transform:uppercase}.search-result-item{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;gap:var(--spacing-sm);min-height:unset!important;min-width:unset!important;padding:var(--spacing-sm) var(--spacing-md);text-align:left;transition:background-color var(--transition-fast);width:100%}.search-result-item:hover{background-color:var(--color-bg-hover)}.search-result-item.focused{background-color:var(--color-bg-tertiary)}.result-icon{align-items:center;background-color:var(--color-bg-secondary);border-radius:var(--radius-md);color:var(--color-text-secondary);display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.result-content{flex:1;min-width:0}.result-title{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.result-description,.result-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-description{color:var(--color-text-tertiary);font-size:var(--font-size-xs);margin-top:2px}.search-footer{background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md)}.search-footer-shortcuts{align-items:center;color:var(--color-text-tertiary);display:flex;font-size:var(--font-size-xs);gap:var(--spacing-lg);justify-content:center}@media(max-width:575px){.search-footer-shortcuts{flex-wrap:wrap;gap:var(--spacing-sm)}}.search-footer-shortcuts kbd{align-items:center;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:3px;color:var(--color-text-secondary);display:inline-flex;font-family:inherit;font-size:10px;height:18px;justify-content:center;margin-right:4px;min-width:18px;padding:0 4px}.search-type-filters{align-items:center;background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);display:flex;gap:var(--spacing-md);justify-content:center;padding:var(--spacing-xs) var(--spacing-lg)}.type-filter-toggle{align-items:center;cursor:pointer;display:inline-flex;gap:6px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.type-filter-toggle input.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.type-filter-toggle .toggle-switch{background-color:var(--color-text-tertiary);border-radius:8px;flex-shrink:0;height:16px;position:relative;transition:background-color var(--transition-fast);width:28px}.type-filter-toggle .toggle-switch:after{background-color:#fff;border-radius:50%;box-shadow:0 1px 2px #0003;content:"";height:12px;left:2px;position:absolute;top:2px;transition:transform var(--transition-fast);width:12px}.type-filter-toggle svg{flex-shrink:0}.type-filter-toggle .toggle-label,.type-filter-toggle svg{color:var(--color-text-tertiary);transition:color var(--transition-fast)}.type-filter-toggle .toggle-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.type-filter-toggle:hover .toggle-switch{background-color:var(--color-text-secondary)}.type-filter-toggle:hover .toggle-label,.type-filter-toggle:hover svg{color:var(--color-text-secondary)}.type-filter-toggle.active .toggle-switch{background-color:var(--color-success,#22c55e)}.type-filter-toggle.active .toggle-switch:after{transform:translate(12px)}.type-filter-toggle.active .toggle-label,.type-filter-toggle.active svg{color:var(--color-text)}.type-filter-toggle:focus-within .toggle-switch{box-shadow:0 0 0 2px var(--color-primary-20)}.result-description mark,.result-title mark{background-color:var(--color-warning-10,rgba(250,204,21,.2));border-radius:2px;color:inherit;font-weight:var(--font-weight-semibold);padding:0 2px}.search-modal-enter-active{transition:opacity .2s ease}.search-modal-enter-active .search-modal{transition:transform .3s cubic-bezier(.32,.72,0,1),opacity .2s ease}.search-modal-leave-active{transition:opacity .15s ease}.search-modal-leave-active .search-modal{transition:transform .2s ease,opacity .15s ease}.search-modal-enter-from,.search-modal-leave-to{opacity:0}.search-modal-enter-from .search-modal,.search-modal-leave-to .search-modal{opacity:0;transform:scale(.95) translateY(-20px)}.tutor-course-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow var(--transition-base),transform var(--transition-base);transition:all var(--transition-base)}.tutor-course-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.tutor-course-card.is-vip{border-color:var(--color-warning)}.tutor-course-card.is-vip .card-color-bar{background:linear-gradient(90deg,var(--card-accent-color) 0,var(--color-warning) 100%)}.tutor-course-card .card-color-bar{background:var(--card-accent-color,var(--color-primary));height:4px}.tutor-course-card .card-body{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md)}.tutor-course-card .card-header{align-items:flex-start;display:flex;gap:var(--spacing-xs)}.tutor-course-card .drag-handle{color:var(--color-text-tertiary);cursor:grab;flex-shrink:0;margin-top:2px}.tutor-course-card .card-titles{flex:1;min-width:0}.tutor-course-card .card-title{color:var(--color-text);display:-webkit-box;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);-webkit-line-clamp:1;margin:0;-webkit-box-orient:vertical;overflow:hidden}.tutor-course-card .card-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.tutor-course-card .btn-vip{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all var(--transition-fast)}.tutor-course-card .btn-vip.active,.tutor-course-card .btn-vip:hover{color:var(--color-warning)}.tutor-course-card .card-progress{display:flex;flex-direction:column;gap:4px}.tutor-course-card .progress-row{align-items:center;display:flex;justify-content:space-between}.tutor-course-card .progress-label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.tutor-course-card .progress-pct{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.tutor-course-card .progress-dates{align-items:center;color:var(--color-text-tertiary);display:flex;font-size:11px;gap:4px}.tutor-course-card .progress-dates .date-arrow{opacity:.5}.tutor-course-card .progress-track{background:var(--color-bg-secondary);border-radius:var(--radius-full);height:6px;overflow:visible;position:relative}.tutor-course-card .progress-fill{background:linear-gradient(90deg,#10b981,#34d399);border-radius:var(--radius-full);height:100%;left:0;position:absolute;top:0;transition:width var(--transition-slow)}.tutor-course-card .progress-marker{background:var(--color-info);border-radius:2px;height:10px;position:absolute;top:-2px;transform:translate(-50%);width:3px;z-index:1}.tutor-course-card .card-stats{display:grid;gap:var(--spacing-sm);grid-template-columns:1fr 1fr;padding:var(--spacing-xs) 0}.tutor-course-card .stat{display:flex;flex-direction:column;gap:2px}.tutor-course-card .stat svg{color:var(--color-text-tertiary);height:16px;width:16px}.tutor-course-card .stat-label{color:var(--color-text-secondary);font-size:11px}.tutor-course-card .stat-value{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.tutor-course-card .card-actions{display:grid;gap:var(--spacing-xs);grid-template-columns:1fr 1fr;margin-top:auto}.tutor-course-card .card-actions .btn-full{grid-column:1/-1}.tutor-course-card .btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);gap:6px;justify-content:center;padding:8px 12px;transition:all var(--transition-fast)}.tutor-course-card .btn:hover{filter:brightness(.95);transform:translateY(-1px)}.tutor-course-card .btn svg{flex-shrink:0}.tutor-course-card .btn.btn-teal{background:#e3f2fd!important;color:#1976d2!important}:root.dark .tutor-course-card .btn.btn-teal{background:#1976d233!important;color:#64b5f6!important}.tutor-course-card .btn.btn-amber{background:#fff3e0!important;color:#e65100!important}:root.dark .tutor-course-card .btn.btn-amber{background:#e6510033!important;color:#ffb74d!important}.tutor-course-card .btn.btn-green{background:#ede7f6!important;color:#7b1fa2!important}:root.dark .tutor-course-card .btn.btn-green{background:#7b1fa233!important;color:#ce93d8!important}.tutor-course-card .btn.btn-pink{background:#ffebee!important;color:#c62828!important}:root.dark .tutor-course-card .btn.btn-pink{background:#c6282833!important;color:#ef9a9a!important}.tutor-course-card .btn.btn-mint{background:#e0f7fa!important;color:#00838f!important}:root.dark .tutor-course-card .btn.btn-mint{background:#00838f33!important;color:#4dd0e1!important}@media(max-width:480px){.tutor-course-card .card-body{padding:var(--spacing-sm)}.tutor-course-card .card-title{font-size:var(--font-size-sm)}.tutor-course-card .btn{font-size:11px;padding:6px 8px}}.compose-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;display:flex;inset:0;justify-content:center;padding:var(--spacing-lg);position:fixed;z-index:var(--z-modal)}@media(max-width:767px){.compose-modal-overlay{align-items:flex-start;padding:var(--spacing-md);padding-top:var(--spacing-xl)}}.compose-modal{animation:slideUp .3s ease-out;background-color:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:calc(100vh - var(--spacing-2xl)*2);max-width:600px;overflow:hidden;transition:all var(--transition-base);width:100%}@media(max-width:767px){.compose-modal{max-height:calc(100vh - var(--spacing-xl)*2);max-width:100%}}:root.dark .compose-modal{background-color:var(--color-bg);box-shadow:var(--shadow-xl),0 0 0 1px var(--color-border)}.compose-modal.is-expanded{height:90vh;max-height:90vh;max-width:90vw;width:90vw}@media(max-width:767px){.compose-modal.is-expanded{border-radius:0;height:100vh;max-height:100vh;max-width:100vw;width:100vw}}.compose-modal.is-expanded .compose-form{flex:1}.compose-modal.is-expanded .editor-box{flex:1;min-height:300px}.compose-modal.is-expanded .tiptap.ProseMirror{min-height:280px}.compose-modal .modal-header{align-items:center;background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--spacing-lg)}.compose-modal .modal-title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.compose-modal .header-actions{align-items:center;display:flex;gap:var(--spacing-sm)}.compose-modal .expand-btn{align-items:center!important;background-color:var(--color-bg)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;color:var(--color-text-secondary)!important;cursor:pointer;display:flex!important;height:32px!important;justify-content:center!important;min-width:32px!important;padding:0!important;transition:all var(--transition-base);width:32px!important}.compose-modal .expand-btn svg{flex-shrink:0;height:16px!important;min-width:16px!important;stroke:currentColor;width:16px!important}.compose-modal .expand-btn:hover{background-color:var(--color-primary-10)!important;border-color:var(--color-primary)!important;color:var(--color-primary)!important}.compose-modal .expand-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.compose-modal .close-btn{align-items:center!important;background-color:var(--color-bg)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;color:var(--color-text-secondary)!important;cursor:pointer;display:flex!important;font-size:var(--font-size-base);height:32px!important;justify-content:center!important;min-width:32px!important;padding:0!important;position:static!important;transition:all var(--transition-base);width:32px!important}.compose-modal .close-btn:hover{background-color:var(--color-danger-10)!important;border-color:var(--color-danger)!important;color:var(--color-danger)!important}.compose-modal .close-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.compose-form{display:flex;flex:1;flex-direction:column;gap:var(--spacing-md);overflow-y:auto;padding:var(--spacing-lg)}.compose-modal .form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.compose-modal .form-label{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.compose-modal .form-input{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base);width:100%}.compose-modal .form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.compose-modal .form-input::-moz-placeholder{color:var(--color-text-secondary)}.compose-modal .form-input::placeholder{color:var(--color-text-secondary)}.compose-modal .file-upload{position:relative}.compose-modal .file-input{height:0;opacity:0;overflow:hidden;position:absolute;width:0}.compose-modal .file-label{align-items:center;background-color:var(--color-bg-secondary);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base)}.compose-modal .file-label:hover{background-color:var(--color-primary-05);border-color:var(--color-primary);color:var(--color-primary)}.compose-modal .file-label i{font-size:var(--font-size-base)}.compose-modal .attachments-list{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.compose-modal .attachment-item{align-items:center;background-color:var(--color-bg-secondary);border-radius:var(--radius-sm);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm)}.compose-modal .attachment-name{color:var(--color-text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compose-modal .attachment-size{color:var(--color-text-secondary);flex-shrink:0;font-size:var(--font-size-xs)}.compose-modal .remove-attachment{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--font-size-base);height:20px;justify-content:center;transition:all var(--transition-base);width:20px}.compose-modal .error-message,.compose-modal .remove-attachment:hover{background-color:var(--color-danger-10);color:var(--color-danger)}.compose-modal .error-message{border:1px solid var(--color-danger);border-radius:var(--radius-md);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md)}.compose-modal .form-actions{border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-md);justify-content:center;margin-top:auto;padding-top:var(--spacing-md)}@media(prefers-reduced-motion:reduce){.compose-modal,.compose-modal-overlay{animation:none}}.recipient-selector{position:relative}.selector-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs)}.selector-label{color:var(--color-text);font-size:var(--font-size-sm)}.clear-btn,.selector-label{font-weight:var(--font-weight-medium)}.clear-btn{background-color:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);transition:all var(--transition-base)}.clear-btn:hover{background-color:var(--color-primary-dark)}.selected-recipients{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.recipient-chip{align-items:center;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text);display:inline-flex;font-size:var(--font-size-sm);gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.recipient-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-btn{background-color:var(--color-primary);border-radius:50%;color:#fff;flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);height:20px;transition:all var(--transition-base);width:20px}.remove-btn:hover{background-color:var(--color-danger);transform:scale(1.1)}.search-container{position:relative}.recipient-search{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base);width:100%}.recipient-search:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.recipient-search::-moz-placeholder{color:var(--color-text-secondary)}.recipient-search::placeholder{color:var(--color-text-secondary)}.recipient-selector .dropdown-menu{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:block;left:0;max-height:250px;overflow-y:auto;position:absolute;right:0;top:calc(100% + var(--spacing-xs));z-index:var(--z-dropdown)}:root.dark .recipient-selector .dropdown-menu{background-color:var(--color-bg);border-color:var(--color-border)}.dropdown-item{align-items:center;border-bottom:1px solid var(--color-border);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background-color:var(--color-primary-10)}.dropdown-item.selected{background-color:var(--color-primary-05)}.recipient-info{flex:1;min-width:0}.recipient-fullname{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.recipient-email,.recipient-fullname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipient-email{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.recipient-role{color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.selected-checkmark{color:var(--color-success);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.no-results{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);left:0;padding:var(--spacing-md);position:absolute;right:0;text-align:center;top:calc(100% + var(--spacing-xs));z-index:100}.dropdown-overlay{background:transparent;inset:0;position:fixed;z-index:99}.editor-toolbar{align-items:center;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-bottom:none;border-radius:var(--radius-md) var(--radius-md) 0 0;display:flex;flex-wrap:wrap;gap:var(--spacing-2xs);padding:var(--spacing-sm)}.editor-toolbar .toolbar-btn,.toolbar-btn{align-items:center!important;background:transparent!important;border:none!important;border-radius:var(--radius-sm)!important;color:var(--color-text-secondary)!important;cursor:pointer;display:flex!important;height:32px!important;justify-content:center!important;min-width:32px!important;padding:0!important;transition:all var(--transition-fast);width:32px!important}.editor-toolbar .toolbar-btn svg,.toolbar-btn svg{fill:none;flex-shrink:0;height:16px!important;min-width:16px!important;stroke:currentColor;stroke-width:2;width:16px!important}.editor-toolbar .toolbar-btn:hover,.toolbar-btn:hover{background-color:var(--color-bg)!important;color:var(--color-primary)!important}.editor-toolbar .toolbar-btn.active,.toolbar-btn.active{background-color:var(--color-primary-10)!important;color:var(--color-primary)!important}.editor-toolbar .divider{background-color:var(--color-border);height:20px;margin:0 var(--spacing-xs);width:1px}.color-picker-wrapper{position:relative}.editor-box{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:0 0 var(--radius-md) var(--radius-md);min-height:150px}.tiptap.ProseMirror{color:var(--color-text);font-size:var(--font-size-sm);line-height:1.6;min-height:120px;outline:none;padding:var(--spacing-md)}.tiptap.ProseMirror:focus{outline:none}.tiptap.ProseMirror p{margin:0 0 var(--spacing-sm) 0}.tiptap.ProseMirror p:last-child{margin-bottom:0}.tiptap.ProseMirror p.is-editor-empty:first-child:before{color:var(--color-text-secondary);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.color-picker-dropdown{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);left:0;margin-top:var(--spacing-xs);padding:var(--spacing-sm);position:absolute;top:100%;z-index:var(--z-dropdown)}:root.dark .color-picker-dropdown{background-color:var(--color-bg);border-color:var(--color-border)}.color-presets{display:grid;gap:var(--spacing-xs);grid-template-columns:repeat(6,1fr)}.color-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;height:24px;transition:all var(--transition-fast);width:24px}.color-btn:hover{box-shadow:var(--shadow-sm);transform:scale(1.15)}.color-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.mention-suggestions{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:200px;min-width:200px;overflow-y:auto;position:absolute;z-index:var(--z-dropdown)}:root.dark .mention-suggestions{background-color:var(--color-bg);border-color:var(--color-border)}.mention-suggestion-item{align-items:center;color:var(--color-text);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:background-color var(--transition-fast)}.mention-suggestion-item.selected,.mention-suggestion-item:hover{background-color:var(--color-primary-10)}.mention-suggestion-item.selected{color:var(--color-primary)}.mention-avatar{border-radius:var(--radius-full);flex-shrink:0;height:24px;width:24px}.mention-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compose-modal .dropdown-menu{z-index:var(--z-dropdown)}.compose-modal .dropdown-overlay{z-index:calc(var(--z-dropdown) - 1)}.top-navbar{padding:var(--spacing-md) var(--spacing-lg);position:fixed;right:0;top:0;z-index:var(--z-sticky)}.top-navbar .navbar-buttons{display:flex;gap:var(--spacing-sm)}.nav-button{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#ffffff1a;border:1px solid hsla(0,0%,100%,.2);border-radius:var(--radius-full);color:var(--color-text);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base)}.nav-button:hover{background-color:#fff3;border-color:#ffffff4d;transform:translateY(-1px)}.nav-button:focus-visible:focus{outline:none}.nav-button:focus-visible:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.nav-button .lang-text{font-weight:var(--font-weight-medium)}.logo-section{margin-bottom:var(--spacing-xl);text-align:center}.logo-section .logo{color:var(--color-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.logo-section .logo-img{height:80px;margin-bottom:var(--spacing-md);width:auto}.forgot-password-page,.login-page,.reset-password-page,.signup-page,.verify-email-page{align-items:center;background-color:#f8fafc;display:flex;justify-content:center;min-height:100vh;padding:var(--spacing-xl)}:root.dark .forgot-password-page,:root.dark .login-page,:root.dark .reset-password-page,:root.dark .signup-page,:root.dark .verify-email-page{background-color:#0f172a}.auth-container{background-color:#fff;border:1px solid rgba(0,0,0,.06);border-radius:20px;box-shadow:0 1px 3px #0000000a,0 4px 24px #00000014;max-width:420px;padding:var(--spacing-2xl);transition:box-shadow var(--transition-base);width:100%}:root.dark .auth-container{background-color:#1e293b;border-color:#ffffff14;box-shadow:0 1px 3px #0003,0 4px 24px #0006}.signup-page .auth-container{max-width:600px;padding:var(--spacing-xl) var(--spacing-lg)}@media(min-width:768px){.signup-page .auth-container{max-width:720px;padding:var(--spacing-2xl)}}.form-grid{display:grid;gap:var(--spacing-sm);grid-template-columns:1fr}@media(min-width:768px){.form-grid{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr)}}.password-strength{background-color:var(--color-bg-secondary);border-radius:var(--radius-md);margin-top:var(--spacing-sm);padding:var(--spacing-md)}.password-strength .strength-bar{background-color:var(--color-gray-200);border-radius:var(--radius-full);height:4px;margin-bottom:var(--spacing-xs);overflow:hidden}:root.dark .password-strength .strength-bar{background-color:var(--color-gray-700)}.password-strength .strength-fill{border-radius:var(--radius-full);height:100%;transition:width var(--transition-base),background-color var(--transition-base);width:var(--progress-width,0)}.password-strength .strength-fill.weak{background-color:var(--color-danger)}.password-strength .strength-fill.fair{background-color:var(--color-warning)}.password-strength .strength-fill.good{background-color:var(--color-info)}.password-strength .strength-fill.strong{background-color:var(--color-success)}.password-strength .strength-text{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-sm)}.password-strength .strength-text.very\ weak,.password-strength .strength-text.weak{color:var(--color-danger)}.password-strength .strength-text.fair{color:var(--color-warning)}.password-strength .strength-text.good{color:var(--color-info)}.password-strength .strength-text.strong{color:var(--color-success)}.requirements-grid{display:grid;gap:var(--spacing-xs);grid-template-columns:1fr}@media(min-width:480px){.requirements-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.requirements-grid{grid-template-columns:repeat(3,1fr)}}.req{color:var(--color-text-muted);font-size:var(--font-size-xs);gap:var(--spacing-xs)}.req.met{color:var(--color-success)}.phone-input-container{gap:var(--spacing-xs)}.country-code-dropdown{flex-shrink:0}.country-code-button{background-color:var(--color-bg);border:1.5px solid var(--color-border);border-radius:12px;font-size:var(--font-size-sm);gap:var(--spacing-xs);height:48px;padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast);white-space:nowrap}.country-code-button:hover{border-color:var(--color-primary)}.country-code-button .country-flag{font-size:1.25rem}.country-code-button .country-code{color:var(--color-text);font-weight:var(--font-weight-medium)}.country-code-button .dropdown-arrow{color:var(--color-text-muted);font-size:.625rem}.country-dropdown-menu{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);margin-top:var(--spacing-xs);overflow:hidden;width:280px;z-index:var(--z-dropdown)}.country-dropdown-menu .country-search-input{background-color:var(--color-bg);border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);width:100%}.country-dropdown-menu .country-search-input:focus{background-color:var(--color-bg-secondary);outline:none}.country-dropdown-menu .country-list{max-height:240px;overflow-y:auto}.country-dropdown-menu .country-option{align-items:center;background-color:transparent;border:none;cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);text-align:left;transition:background-color var(--transition-fast);width:100%}.country-dropdown-menu .country-option:hover{background-color:var(--color-bg-secondary)}.country-dropdown-menu .country-option.active{background-color:rgba(var(--color-primary-rgb),.1)}.country-dropdown-menu .country-option .option-flag{font-size:1.25rem}.country-dropdown-menu .country-option .option-name{color:var(--color-text);flex:1}.country-dropdown-menu .country-option .option-code{color:var(--color-text-muted)}.phone-digits-wrapper{position:relative}.phone-digits-wrapper .input-icon{color:var(--color-text-muted);left:var(--spacing-md);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.phone-digits-wrapper .phone-digits-input{padding-left:calc(var(--spacing-md)*2 + 20px)}.phone-info-text{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.auth-header{margin-bottom:var(--spacing-lg);text-align:center}.auth-header .logo-link{align-items:center;color:var(--color-text-secondary);display:inline-flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);text-decoration:none;transition:color var(--transition-fast)}.auth-header .logo-link:hover{color:var(--color-primary)}.auth-header .logo-link .home-icon{opacity:.7}.auth-header .auth-title{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs)}.auth-header .auth-subtitle{color:#64748b;font-size:var(--font-size-sm)}.auth-header .subtitle,.auth-header p{color:#475569}:root.dark .auth-header .subtitle,:root.dark .auth-header p{color:var(--color-text-secondary)}.auth-form,.login-form,.signup-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-group.checkbox-group{align-items:center;flex-direction:row;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.form-group.checkbox-group .checkbox-input{accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;height:18px;margin:0;width:18px}.form-group.checkbox-group .checkbox-label{color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);margin:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.form-label{align-items:center;display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.form-label .label-icon{color:var(--color-text-muted);flex-shrink:0}.form-input-modern{background-color:var(--color-bg);border:1.5px solid var(--color-border);border-radius:12px;color:var(--color-text);font-size:var(--font-size-md);height:48px;padding:0 var(--spacing-lg);transition:all var(--transition-base);width:100%}.form-input-modern:hover:not(:focus):not(:disabled){border-color:var(--color-gray-400)}.form-input-modern:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(var(--color-primary-rgb),.1);outline:none}.form-input-modern.has-error{border-color:var(--color-danger)}.form-input-modern.has-error:focus{box-shadow:0 0 0 4px rgba(var(--color-danger-rgb,220,53,69),.1)}.form-input-modern::-moz-placeholder{color:var(--color-text-muted)}.form-input-modern::placeholder{color:var(--color-text-muted)}.form-input-modern:disabled{background-color:var(--color-bg-secondary);cursor:not-allowed;opacity:.7}:root.dark .form-input-modern{background-color:var(--color-gray-100);border-color:var(--color-gray-300)}:root.dark .form-input-modern:hover:not(:focus):not(:disabled){border-color:var(--color-gray-400)}.password-field{position:relative;width:100%}.password-field .form-input{padding-right:48px;width:100%}.password-toggle{align-items:center;background:transparent;border:none;color:#9ca3af;cursor:pointer;display:flex;justify-content:center;margin:0;padding:4px;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:color .15s ease}.password-toggle svg{display:block;height:18px;width:18px}.password-toggle:hover{color:#6b7280}.password-toggle:focus{outline:none}.password-toggle:focus-visible{color:var(--color-primary)}:root.dark .password-toggle{color:#6b7280}:root.dark .password-toggle:hover{color:#9ca3af}.forgot-password-link{align-self:flex-end;color:var(--color-primary);display:inline-block;font-size:var(--font-size-xs);margin-top:var(--spacing-sm);text-align:right;text-decoration:none}.forgot-password-link:hover{text-decoration:underline}.label-row{align-items:center;display:flex;justify-content:space-between}.label-row .forgot-password-link{margin-top:0}.password-input-wrapper{position:relative}.password-input-wrapper .input-icon{color:var(--color-text-muted);left:var(--spacing-md);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.password-input-wrapper .form-input{padding-left:calc(var(--spacing-md)*2 + 20px)}.error-banner{align-items:center;background-color:rgba(var(--color-danger-rgb,220,53,69),.1);border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--color-danger);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);padding:var(--spacing-md)}.form-label{font-weight:var(--font-weight-medium)}.input-with-icon{position:relative}.input-with-icon .input-icon{color:var(--color-text-muted);left:var(--spacing-md);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.input-with-icon .form-input{padding-left:calc(var(--spacing-md)*2 + 20px)}.form-input{font-size:var(--font-size-md);padding:var(--spacing-md)}.form-input:focus{box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1);outline:none}.form-input::-moz-placeholder{color:var(--color-text-muted)}.form-input::placeholder{color:var(--color-text-muted)}.error-message{color:var(--color-danger);font-size:var(--font-size-xs);gap:var(--spacing-xs)}.error-message,.form-options{align-items:center;display:flex}.form-options{font-size:var(--font-size-sm);justify-content:space-between}.form-options .remember-me{align-items:center;color:var(--color-text-secondary);cursor:pointer;display:flex;gap:var(--spacing-xs)}.form-options .forgot-link{color:var(--color-primary);text-decoration:none}.form-options .forgot-link:hover{text-decoration:underline}.auth-form .btn-lg,.auth-form .btn-primary,.login-form .btn-lg,.login-form .btn-primary,.signup-form .btn-lg,.signup-form .btn-primary{align-items:center;background-color:var(--color-primary);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);gap:var(--spacing-sm);justify-content:center;margin:0 auto;max-width:280px;min-width:200px;padding:var(--spacing-md) var(--spacing-xl);transition:all var(--transition-base);width:auto}.auth-form .btn-lg:hover:not(:disabled),.auth-form .btn-primary:hover:not(:disabled),.login-form .btn-lg:hover:not(:disabled),.login-form .btn-primary:hover:not(:disabled),.signup-form .btn-lg:hover:not(:disabled),.signup-form .btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark);box-shadow:0 4px 14px rgba(var(--color-primary-rgb),.4)}.auth-form .btn-lg:active:not(:disabled),.auth-form .btn-primary:active:not(:disabled),.login-form .btn-lg:active:not(:disabled),.login-form .btn-primary:active:not(:disabled),.signup-form .btn-lg:active:not(:disabled),.signup-form .btn-primary:active:not(:disabled){transform:scale(.98)}.auth-form .btn-lg:focus-visible:focus,.auth-form .btn-primary:focus-visible:focus,.login-form .btn-lg:focus-visible:focus,.login-form .btn-primary:focus-visible:focus,.signup-form .btn-lg:focus-visible:focus,.signup-form .btn-primary:focus-visible:focus{outline:none}.auth-form .btn-lg:focus-visible:focus-visible,.auth-form .btn-primary:focus-visible:focus-visible,.login-form .btn-lg:focus-visible:focus-visible,.login-form .btn-primary:focus-visible:focus-visible,.signup-form .btn-lg:focus-visible:focus-visible,.signup-form .btn-primary:focus-visible:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.auth-form .btn-lg:disabled,.auth-form .btn-primary:disabled,.login-form .btn-lg:disabled,.login-form .btn-primary:disabled,.signup-form .btn-lg:disabled,.signup-form .btn-primary:disabled{cursor:not-allowed;opacity:.6}.auth-form .btn-lg .spinner,.auth-form .btn-primary .spinner,.login-form .btn-lg .spinner,.login-form .btn-primary .spinner,.signup-form .btn-lg .spinner,.signup-form .btn-primary .spinner{animation:spin 1s linear infinite}.submit-button{background-color:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-base);width:100%}.submit-button:hover:not(:disabled){background-color:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.submit-button:disabled{cursor:not-allowed;opacity:.6}.auth-footer{border-top:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);text-align:center}.auth-footer a{color:var(--color-primary);font-weight:var(--font-weight-medium);text-decoration:none}.auth-footer a:hover{text-decoration:underline}.moodle-setup-page{background-color:var(--color-bg-secondary);min-height:100vh;padding:var(--spacing-2xl)}.moodle-setup-page .setup-container{margin:0 auto;max-width:600px}.moodle-setup-page .setup-header{margin-bottom:var(--spacing-2xl);text-align:center}.moodle-setup-page .moodle-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-xl);transition:all var(--transition-base)}.moodle-setup-page .moodle-card:hover{box-shadow:var(--shadow-lg)}.verification-success-page{align-items:center;background:linear-gradient(135deg,var(--color-success) 0,var(--color-primary) 100%);justify-content:center;padding:var(--spacing-xl)}.verification-success-page .success-container{color:#fff;max-width:500px;text-align:center}.verification-success-page .success-container .success-icon{align-items:center;background-color:#fff3;border-radius:var(--radius-full);display:flex;height:80px;justify-content:center;margin:0 auto var(--spacing-xl);width:80px}.verification-success-page .success-container .success-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md)}.verification-success-page .success-container .success-message{font-size:var(--font-size-md);margin-bottom:var(--spacing-xl);opacity:.9}.welcome-page{align-items:center;background:linear-gradient(180deg,#fbfbfd,#f5f5f7);display:flex;flex-direction:column;justify-content:center;min-height:100vh;opacity:0;overflow-x:hidden;padding:5rem 1.5rem 2rem;position:relative;transition:opacity .5s ease}.welcome-page.fade-in{opacity:1}:root.dark .welcome-page{background:var(--color-bg)}.welcome-bg{display:none}.welcome-page .top-navbar{display:flex;justify-content:flex-end;left:0;padding:1.25rem 2rem;position:absolute;right:0;top:0;z-index:100}.welcome-page .nav-button,.welcome-page .navbar-buttons{align-items:center;display:flex;gap:.5rem}.welcome-page .nav-button{background:transparent;border:none;border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem .75rem;transition:all var(--transition-base)}.welcome-page .nav-button:hover{background:var(--color-gray-100);color:var(--color-text)}.welcome-page .nav-button:focus-visible:focus{outline:none}.welcome-page .nav-button:focus-visible:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}:root.dark .welcome-page .nav-button{color:var(--color-text-secondary)}:root.dark .welcome-page .nav-button:hover{background:#ffffff1a;color:var(--color-text)}.welcome-page .theme-toggle{padding:.5rem}.welcome-page .language-toggle{padding:.5rem .75rem}.welcome-page .lang-text{font-weight:500;letter-spacing:.025em}.welcome-container{display:flex;flex-direction:column;gap:2rem;max-width:680px;padding:1.5rem;position:relative;text-align:center;width:100%;z-index:1}.welcome-header{margin-bottom:0}.welcome-page .logo-section{align-items:center;display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.welcome-page .logo{align-items:center;-webkit-backdrop-filter:none;backdrop-filter:none;background:transparent;border:none;border-radius:16px;display:flex;height:64px;justify-content:center;width:64px}.welcome-page .logo-img{height:64px;-o-object-fit:contain;object-fit:contain;width:64px}.welcome-page .main-title{color:var(--color-text);font-size:2.25rem;font-weight:600;letter-spacing:-.025em;line-height:1.1;margin:0}:root.dark .welcome-page .main-title{color:var(--color-text)}.welcome-page .tagline{font-size:1.125rem;font-weight:400;line-height:1.5;margin:0}.welcome-page .tagline,:root.dark .welcome-page .tagline{color:var(--color-text-secondary)}.hero-section{display:flex;flex-direction:column;gap:1.5rem}.welcome-page .hero-title{color:var(--color-text);font-size:1.375rem;font-weight:600;letter-spacing:-.015em;margin:0}:root.dark .welcome-page .hero-title{color:var(--color-text)}.welcome-page .hero-subtitle{font-size:1rem;line-height:1.6;margin:0 auto;max-width:100%}.welcome-page .hero-subtitle,:root.dark .welcome-page .hero-subtitle{color:var(--color-text-secondary)}.welcome-page .features-grid{display:grid;gap:1rem;grid-template-columns:1fr;margin-top:.5rem}.welcome-page .feature-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:16px;padding:1.5rem;text-align:left;transition:all var(--transition-base)}.welcome-page .feature-card:hover{border-color:var(--color-gray-300);box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.welcome-page .feature-card h3{color:var(--color-text);font-size:1rem;font-weight:600;margin:.5rem 0 .25rem}.welcome-page .feature-card p{color:var(--color-text-secondary);font-size:.875rem;line-height:1.5;margin:0}:root.dark .welcome-page .feature-card{background:var(--color-bg-secondary);border-color:var(--color-border)}:root.dark .welcome-page .feature-card:hover{border-color:var(--color-gray-600);box-shadow:0 4px 12px #0000004d}:root.dark .welcome-page .feature-card h3{color:var(--color-text)}:root.dark .welcome-page .feature-card p{color:var(--color-text-secondary)}.welcome-page .feature-icon{align-items:center;border-radius:10px;color:#fff;display:flex;height:40px;justify-content:center;margin-bottom:0;width:40px}.welcome-page .feature-icon,:root.dark .welcome-page .feature-icon{background:var(--color-primary)}.welcome-page .icon-sm{height:18px;width:18px}.welcome-page .icon-lg,.welcome-page .icon-md{height:20px;width:20px}.welcome-page .cta-section{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.welcome-page .cta-buttons{align-items:center;display:flex;flex-direction:column;gap:.75rem}.welcome-page .btn{align-items:center;border:none;border-radius:var(--radius-full);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;gap:.5rem;justify-content:center;max-width:280px;padding:.875rem 2rem;text-decoration:none;transition:all var(--transition-base);width:100%}.welcome-page .btn:hover{transform:scale(1.02)}.welcome-page .btn:active{transform:scale(.98)}.welcome-page .btn:focus-visible:focus{outline:none}.welcome-page .btn:focus-visible:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.welcome-page .btn-primary{background:var(--color-primary);color:#fff}.welcome-page .btn-primary:hover{background:var(--color-primary-dark);box-shadow:0 4px 14px #667eea66}:root.dark .welcome-page .btn-primary{background:var(--color-primary)}:root.dark .welcome-page .btn-primary:hover{background:var(--color-primary-dark);box-shadow:0 4px 14px #667eea80}.welcome-page .btn-secondary{background:transparent;border:1.5px solid var(--color-primary);color:var(--color-primary)}.welcome-page .btn-secondary:hover{background:#667eea14}:root.dark .welcome-page .btn-secondary{border-color:var(--color-primary);color:var(--color-primary)}:root.dark .welcome-page .btn-secondary:hover{background:#667eea26}.welcome-page .btn-lg{font-size:1rem;padding:.875rem 2rem}.welcome-page .cta-note{font-size:.8125rem;margin:0}.welcome-page .cta-note,:root.dark .welcome-page .cta-note{color:var(--color-text-muted)}.welcome-page .welcome-footer{padding-top:1.5rem}.welcome-page .footer-text{font-size:.75rem;margin:0}.welcome-page .footer-text,:root.dark .welcome-page .footer-text{color:var(--color-text-muted)}.skip-link{background-color:var(--color-primary);border-radius:var(--radius-md);color:#fff;font-weight:500;left:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);position:absolute;text-decoration:none;top:-100px;transition:top var(--transition-fast);z-index:var(--z-tooltip)}.skip-link:focus{top:var(--spacing-md)}.loading-overlay{align-items:center;background:#fff;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}:root.dark .loading-overlay{background:var(--color-bg)}.loading-spinner{animation:spin .8s linear infinite;border:3px solid var(--color-gray-200);border-radius:50%;border-top-color:var(--color-primary);height:32px;width:32px}:root.dark .loading-spinner{border-color:var(--color-gray-700);border-top-color:var(--color-primary)}@media(min-width:480px){.welcome-page .features-grid{grid-template-columns:repeat(2,1fr)}.welcome-page .main-title{font-size:2.5rem}.welcome-page .hero-title{font-size:1.5rem}}@media(min-width:768px){.welcome-page{padding:6rem 2rem 3rem}.welcome-container{gap:3rem;max-width:800px}.welcome-page .logo,.welcome-page .logo-img{height:80px;width:80px}.welcome-page .main-title{font-size:3rem}.welcome-page .tagline{font-size:1.25rem}.welcome-page .hero-title{font-size:1.75rem}.welcome-page .hero-subtitle{font-size:1.0625rem;max-width:90%}.welcome-page .features-grid{gap:1.25rem}.welcome-page .feature-card{padding:1.75rem}.welcome-page .feature-card h3{font-size:1.0625rem}.welcome-page .feature-card p{font-size:.9375rem}.welcome-page .feature-icon{border-radius:12px;height:44px;width:44px}.welcome-page .icon-lg{height:22px;width:22px}.welcome-page .cta-buttons{flex-direction:row;gap:1rem;justify-content:center}.welcome-page .btn{min-width:180px;width:auto}}@media(min-width:1024px){.welcome-page{height:100vh;min-height:700px;overflow:hidden;padding:0}.welcome-container{gap:3rem;max-width:1100px;padding:2rem}.welcome-page .logo,.welcome-page .logo-img{height:88px;width:88px}.welcome-page .main-title{font-size:3.5rem}.welcome-page .tagline{font-size:1.375rem}.welcome-page .hero-title{font-size:1.875rem}.welcome-page .hero-subtitle{font-size:1.125rem;max-width:650px}.welcome-page .features-grid{gap:1.5rem;grid-template-columns:repeat(4,1fr)}.welcome-page .feature-card{padding:1.75rem 1.5rem;text-align:center}.welcome-page .feature-card h3{font-size:1.0625rem}.welcome-page .feature-card p{font-size:.9375rem}.welcome-page .feature-icon{margin:0 auto .75rem}.welcome-page .btn{font-size:1.0625rem;padding:1rem 2.5rem}}@media(min-width:1440px){.welcome-container{gap:3.5rem;max-width:1200px}.welcome-page .logo,.welcome-page .logo-img{height:96px;width:96px}.welcome-page .main-title{font-size:4rem}.welcome-page .tagline{font-size:1.5rem}.welcome-page .hero-title{font-size:2rem}.welcome-page .hero-subtitle{font-size:1.1875rem;max-width:700px}.welcome-page .features-grid{gap:1.75rem;grid-template-columns:repeat(4,minmax(220px,260px));justify-content:center}.welcome-page .feature-card{padding:2rem 1.75rem}.welcome-page .feature-card h3{font-size:1.125rem}.welcome-page .feature-card p{font-size:1rem}.welcome-page .feature-icon{height:48px;width:48px}.welcome-page .icon-lg{height:24px;width:24px}.welcome-page .cta-buttons{gap:1.25rem}.welcome-page .btn{font-size:1.0625rem;min-width:200px;padding:1rem 3rem}}@media(min-width:1920px){.welcome-container{gap:4rem;max-width:1400px}.welcome-page .features-grid{gap:2rem;grid-template-columns:repeat(4,minmax(260px,300px))}.welcome-page .feature-card{padding:2.25rem 2rem}.welcome-page .hero-subtitle{max-width:800px}}.error-state,.success-state{text-align:center}.error-icon,.success-icon{animation:bounce .6s ease-in-out;font-size:64px;margin-bottom:1rem}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.error-state h2,.success-state h2{color:#333;font-size:24px;margin:0 0 1rem}.error-state p,.success-state p{color:#666;font-size:14px;margin:.5rem 0}.email-display{color:#667eea;font-weight:600;word-break:break-all}.info-text{color:#999;font-size:12px}.action-buttons{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.loading-state{gap:1rem;padding:2rem 0}.loading-state p{color:#667eea;font-weight:500}.spinner{animation:spin 1s linear infinite;border:4px solid #f0f0f0;border-top-color:#667eea;height:40px;width:40px}.security-info{background-color:#f0f7ff;border-radius:6px;padding:1rem}.security-info .info-text{color:#06c;font-size:13px;margin:0;text-align:justify}.reset-password-page{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:2rem;position:relative;width:100%}.reset-password-page,.reset-password-page:before{background:linear-gradient(135deg,#667eea,#764ba2)}.reset-password-page:before{content:"";inset:0;position:absolute;z-index:-1}@media(max-width:767px){.reset-password-page{padding:1rem}}.reset-password-form{display:flex;flex-direction:column;gap:1.5rem}.requirements{background-color:#f9f9f9;border-radius:6px;padding:1rem}.requirements-title{color:#333;font-size:13px;font-weight:600;margin:0 0 .5rem}.requirements-list{list-style:none;margin:0;padding-left:1.5rem}.requirements-list li{color:#999;font-size:12px;margin:.25rem 0;padding-left:1.5rem;position:relative}.requirements-list li:before{color:#dc3545;content:"✗";left:0;position:absolute}.requirements-list li.met{color:#28a745}.requirements-list li.met:before{color:#28a745;content:"✓"}.verify-email-page{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:2rem;position:relative;width:100%}.verify-email-page,.verify-email-page:before{background:linear-gradient(135deg,#667eea,#764ba2)}.verify-email-page:before{content:"";inset:0;position:absolute;z-index:-1}@media(max-width:767px){.verify-email-page{padding:1rem}}.verify-form{display:flex;flex-direction:column;gap:1.25rem}.code-input-container{display:flex;gap:.75rem;justify-content:center;margin:1rem 0}.code-input{border:2px solid #e0e0e0;border-radius:8px;font-size:1.5rem;font-weight:700;height:50px;text-align:center;transition:all .3s ease;width:50px}.code-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.code-input:disabled{background-color:#f5f5f5;cursor:not-allowed}@media(max-width:575px){.code-input{font-size:1.25rem;height:40px;width:40px}}.paste-section{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}.paste-label{color:#999;font-size:.85rem;margin:0;text-align:center}.paste-input{border:1px solid #e0e0e0;border-radius:8px;font-family:monospace;font-size:1rem;letter-spacing:.1em;padding:.75rem 1rem;text-align:center;transition:all .3s ease}.paste-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.paste-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.success-banner{background-color:#f0fdf4;border:1px solid #86efac;border-radius:8px;color:#15803d;font-size:.9rem;padding:.75rem 1rem;text-align:center}.resend-section{padding:1rem 0;text-align:center}.resend-timer{color:#666;font-size:.9rem;margin:0}.link-button{background:none;border:none;color:#667eea;cursor:pointer;font-weight:600;text-decoration:none}.link-button:hover{text-decoration:underline}.link-button:disabled{cursor:not-allowed;opacity:.5}.info-box{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid hsla(0,0%,100%,.2);border-radius:12px;bottom:2rem;color:#fff;max-width:300px;padding:1.5rem;position:absolute;right:2rem;z-index:10}.info-box h3{font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.info-box p{font-size:.9rem;margin:.5rem 0}.info-box ul{font-size:.9rem;list-style:none;margin:0;padding:.5rem 0 0}.info-box ul li{margin:.3rem 0;padding-left:1.5rem;position:relative}.info-box ul li:before{content:"✓";left:0;position:absolute}@media(max-width:1199px){.info-box{margin-top:2rem;max-width:100%;position:static}}.verification-success-page{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;min-height:100vh}.auth-nav{justify-content:space-between;padding:1.5rem 2rem}.auth-nav,.nav-left,.nav-right{align-items:center;display:flex}.nav-left,.nav-right{gap:1rem}.auth-content{align-items:center;display:flex;flex:1;flex-direction:column;justify-content:center;padding:2rem}.success-section{background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;max-width:500px;padding:3rem;text-align:center;width:100%}.success-icon-wrapper{margin-bottom:1.5rem}.success-icon-wrapper .success-icon{color:#48bb78}.success-message{margin-bottom:2rem}.success-message h2{color:#1a1a1a;font-size:1.75rem;margin:0 0 .5rem}.success-message p{color:#666;margin:0}.action-container{margin-bottom:1.5rem}.loading-text{gap:.5rem}.loading-text,.setup-page{align-items:center;display:flex;justify-content:center}.setup-page{min-height:100vh;padding:2rem;position:relative;width:100%}.setup-page,.setup-page:before{background:linear-gradient(135deg,#667eea,#764ba2)}.setup-page:before{content:"";inset:0;position:absolute;z-index:-1}@media(max-width:767px){.setup-page{padding:1rem}}.setup-container{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;display:flex;flex-direction:column;justify-content:flex-start;max-width:500px;min-height:auto;padding:3rem;width:100%;z-index:10}@media(max-width:767px){.setup-container{max-width:100%;padding:2rem}}@media(max-width:575px){.setup-container{padding:1.5rem}}@media(min-width:1440px){.setup-container{padding:5rem 6rem}}@media(min-width:1920px){.setup-container{padding:6rem 7rem}}.progress-indicator{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:2rem}@media(max-width:575px){.progress-indicator{gap:.5rem}}.progress-step{flex:1;flex-direction:column;gap:.5rem;position:relative}.progress-step,.step-number{align-items:center;display:flex}.step-number{background:#e0e0e0;border-radius:50%;color:#666;font-size:1.1rem;font-weight:600;height:40px;justify-content:center;width:40px}.progress-step.completed .step-number{background:#48bb78;color:#fff}.progress-step.active .step-number{background:#667eea;color:#fff}.step-label{color:#666;font-size:.75rem;font-weight:600;letter-spacing:.5px;text-align:center;text-transform:uppercase}@media(max-width:575px){.step-label{font-size:.65rem}}.progress-line{background:#e0e0e0;flex:1;height:2px;margin:0 1rem}.progress-line.completed{background:#48bb78}.progress-line.active{background:#667eea}@media(max-width:575px){.progress-line{margin:0 .5rem}}.setup-header{margin-bottom:2rem;text-align:center}.setup-header h1{color:#1a1a1a;font-size:2rem;font-weight:700;margin:0 0 .5rem}@media(max-width:767px){.setup-header h1{font-size:1.5rem}}@media(min-width:1440px){.setup-header h1{font-size:2.75rem}}@media(min-width:1920px){.setup-header h1{font-size:3rem}}.setup-header p{color:#666;font-size:1rem;margin:0}.moodles-container,.setup-form{display:flex;flex-direction:column;gap:1.5rem}.moodle-form-card{border:2px solid #e0e0e0;border-radius:8px;padding:1.5rem;transition:all .3s ease}.moodle-form-card.error{background-color:#fff5f5;border-color:#e53e3e}.card-header{justify-content:space-between;margin-bottom:1rem}.card-header h3{color:#1a1a1a;font-size:1.1rem;margin:0}.remove-btn{align-items:center;background:none;border:none;border-radius:4px;color:#e53e3e;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:all .3s ease;width:30px}.remove-btn:hover{background:#fff5f5}.password-input-wrapper,.token-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper .form-input,.token-input-wrapper .form-input{padding-right:3rem;width:100%}.toggle-password,.toggle-token{background:none;border:none;cursor:pointer;font-size:18px;padding:.5rem;position:absolute;right:10px}.token-help{color:#666;font-size:.8rem;margin:.25rem 0 0}.token-help a{color:#667eea;text-decoration:none}.token-help a:hover{text-decoration:underline}.help-text{color:#999;font-size:.8rem;margin:.25rem 0 0}.optional{color:#999;font-size:.85em;font-weight:400}.connection-status{border-radius:6px;font-size:.9rem;margin-top:.5rem;padding:.75rem 1rem}.connection-status.success{background:#f0fdf4;border:1px solid #86efac;color:#15803d}.connection-status.error{background:#fff5f5;border:1px solid #feb2b2;color:#c53030}.btn-sm{font-size:.9rem;padding:.5rem 1rem}.btn-lg{font-size:1.1rem;padding:1rem 1.5rem;width:100%}.btn-outline{margin-top:.5rem}.btn-link{background:none;border:none;color:#667eea;font-size:.95rem;padding:.5rem;text-decoration:underline}.btn-link:hover:not(:disabled){color:#764ba2}.btn-link:disabled{cursor:not-allowed;opacity:.5}.password-strength{margin-top:.5rem}.strength-bar{background:var(--color-gray-200);border-radius:var(--radius-sm);height:4px;overflow:hidden}:root.dark .strength-bar{background:var(--color-gray-700)}.strength-fill{background-color:var(--progress-color,var(--color-primary));border-radius:var(--radius-sm);height:100%;transition:width var(--transition-base),background-color var(--transition-base);width:var(--progress-width,0)}.strength-text{color:var(--progress-color,var(--color-text-secondary));font-size:var(--font-size-xs);margin-top:var(--spacing-xs);text-align:right}.password-requirements{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem}.req{align-items:center;color:#999;display:flex;font-size:.75rem;gap:.5rem}.req:before{color:#ccc;content:"○"}.req.met{color:#48bb78}.req.met:before{color:#48bb78;content:"●"}.phone-input-container{display:flex;gap:.5rem}.country-code-dropdown{min-width:100px;position:relative}.country-code-button{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;font-size:1rem;gap:.5rem;padding:.75rem 1rem;transition:all .3s ease;width:100%}.country-code-button:hover{border-color:#667eea}.country-code-button:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.country-dropdown-menu{background:#fff;border:2px solid #e0e0e0;border-radius:8px;box-shadow:0 10px 40px #00000026;left:0;margin-top:.25rem;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.country-search-input{border:none;border-bottom:1px solid #e0e0e0;font-size:.9rem;padding:.75rem 1rem;width:100%}.country-search-input:focus{background:#f5f5f5;outline:none}.country-list{list-style:none;margin:0;padding:0}.country-option{align-items:center;cursor:pointer;display:flex;gap:.75rem;padding:.75rem 1rem;transition:background .2s ease}.country-option:hover{background:#f5f5f5}.country-option.selected{background:#667eea1a}.country-option .country-flag{font-size:1.25rem}.country-option .country-name{flex:1;font-size:.9rem}.country-option .country-dial-code{color:#666;font-size:.9rem}.phone-digits-wrapper{flex:1}.phone-info-text{color:#999;font-size:.75rem;margin:.25rem 0 0}.privacy-notice{background:#f9f9f9;border-radius:8px;color:#666;font-size:.85rem;padding:1rem;text-align:center}.privacy-notice a{color:#667eea;text-decoration:none}.privacy-notice a:hover{text-decoration:underline}:root.dark .setup-page{background:linear-gradient(135deg,var(--color-bg) 0,var(--color-bg-secondary) 100%)}:root.dark .auth-card,:root.dark .auth-container,:root.dark .setup-container{background:var(--color-gray-100);color:var(--color-text)}:root.dark .auth-header h1,:root.dark .card-header h3,:root.dark .error-state h2,:root.dark .setup-header h1,:root.dark .success-state h2{color:var(--color-text)}:root.dark .auth-footer p,:root.dark .error-state p,:root.dark .help-text,:root.dark .setup-header p,:root.dark .subtitle,:root.dark .success-state p,:root.dark .token-help{color:var(--color-text-secondary)}:root.dark .code-input,:root.dark .form-input,:root.dark .paste-input{background:var(--color-gray-200);border-color:var(--color-border);color:var(--color-text)}:root.dark .code-input:focus,:root.dark .form-input:focus,:root.dark .paste-input:focus{border-color:var(--color-link)}:root.dark .privacy-notice,:root.dark .requirements,:root.dark .security-info{background-color:var(--color-gray-200)}:root.dark .requirements-title{color:var(--color-text)}:root.dark .requirements-list li{color:var(--color-text-secondary)}:root.dark .security-info .info-text{color:var(--color-info)}:root.dark .moodle-form-card{border-color:var(--color-border)}:root.dark .progress-indicator{border-bottom-color:var(--color-border)}:root.dark .btn-secondary{background-color:var(--color-gray-200);color:var(--color-text)}:root.dark .btn-secondary:hover{background-color:var(--color-gray-300)}:root.dark .auth-footer{border-top-color:var(--color-border)}:root.dark .country-code-button,:root.dark .country-dropdown-menu{background:var(--color-gray-200);border-color:var(--color-border)}:root.dark .country-option:hover{background:var(--color-gray-300)}:root.dark .nav-button{background:#0003;border-color:#ffffff1a;color:var(--color-text)}:root.dark .nav-button:hover{background:#0000004d;border-color:#fff3}.calendar-page{display:grid;gap:var(--spacing-lg);grid-template-columns:1fr 320px;min-height:calc(100vh - var(--header-height, 60px));padding:var(--spacing-lg)}@media(max-width:991px){.calendar-page{grid-template-columns:1fr}}.calendar-main{background-color:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;padding:var(--spacing-lg)}.view-controls-header{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.view-controls-header .view-selector{background-color:var(--color-primary);border-radius:var(--radius-md);display:flex;gap:0;overflow:hidden}.view-controls-header .view-selector .view-btn{background-color:var(--color-primary);border:none;color:#fff;cursor:pointer;font-weight:var(--font-weight-medium);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base)}.view-controls-header .view-selector .view-btn.active,.view-controls-header .view-selector .view-btn:hover{background-color:var(--color-primary-dark,#1a5fb4)}.view-controls-header .header-nav{align-items:center;display:flex;gap:var(--spacing-sm);justify-content:flex-start}.view-controls-header .header-nav h3{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0;min-width:150px;text-align:center}.view-controls-header .header-nav .nav-btn{background-color:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base)}.view-controls-header .header-nav .nav-btn:hover{background-color:var(--color-primary-dark,#1a5fb4)}.view-controls-header .header-nav .nav-btn:focus-visible:focus{outline:none}.view-controls-header .header-nav .nav-btn:focus-visible:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.calendar-header{flex-wrap:wrap;gap:var(--spacing-md)}.calendar-header .calendar-title{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.calendar-header .calendar-nav{align-items:center;display:flex;gap:var(--spacing-sm)}.calendar-header .nav-btn{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;padding:var(--spacing-sm);transition:all var(--transition-base)}.calendar-header .nav-btn:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.calendar-header .nav-btn:focus-visible:focus{outline:none}.calendar-header .nav-btn:focus-visible:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.calendar-header .current-month{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);min-width:180px;text-align:center}.calendar-view-toggle{background-color:var(--color-bg-secondary);border-radius:var(--radius-md);display:flex;gap:var(--spacing-xs);padding:var(--spacing-xs)}.calendar-view-toggle .view-btn{background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base)}.calendar-view-toggle .view-btn:hover{color:var(--color-text)}.calendar-view-toggle .view-btn.active{background-color:var(--color-bg);box-shadow:var(--shadow-sm);color:var(--color-primary)}.calendar-grid{background-color:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-md);gap:1px;overflow:hidden}.calendar-weekday{background-color:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-md);text-align:center;text-transform:uppercase}.calendar-day{background-color:var(--color-bg);min-height:100px;transition:background-color var(--transition-base)}.calendar-day.other-month{opacity:.4}.calendar-day.today{background-color:rgba(var(--color-primary-rgb),.05)}.calendar-day.today .day-number{background-color:var(--color-primary);color:#fff}.calendar-day.selected{background-color:rgba(var(--color-primary-rgb),.1);box-shadow:inset 0 0 0 2px var(--color-primary)}.calendar-day.has-events .day-number:after{background-color:var(--color-primary);border-radius:var(--radius-full);bottom:-4px;content:"";height:4px;left:50%;position:absolute;transform:translate(-50%);width:4px}.day-number{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);height:28px;justify-content:center;margin-bottom:var(--spacing-xs);position:relative;width:28px}.day-events{display:flex;flex-direction:column;gap:2px}.day-event{background-color:var(--color-primary);border-radius:var(--radius-sm);color:#fff;font-size:var(--font-size-xs);overflow:hidden;padding:2px var(--spacing-xs);text-overflow:ellipsis;transition:all var(--transition-base);white-space:nowrap}.day-event:hover{box-shadow:var(--shadow-sm);transform:scale(1.02)}.day-event.event-assignment{background-color:var(--color-warning);color:#1a1a1a}.day-event.event-quiz{background-color:var(--color-danger)}.day-event.event-meeting{background-color:var(--color-info)}.day-event.event-milestone{background-color:var(--color-success)}.day-more{color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-xs)}.day-more:hover{color:var(--color-primary)}.calendar-sidebar{display:flex;flex-direction:column;gap:var(--spacing-lg)}@media(max-width:991px){.calendar-sidebar{display:none}}.sidebar-widget{background-color:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg)}.sidebar-widget .widget-title{align-items:center;color:var(--color-text);display:flex;font-size:var(--font-size-md);font-weight:var(--font-weight-bold);gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.upcoming-events-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.upcoming-event-item{background-color:var(--color-bg-secondary);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-md);transition:all var(--transition-base)}.upcoming-event-item:hover{background-color:var(--color-gray-100);transform:translate(4px)}:root.dark .upcoming-event-item:hover{background-color:var(--color-gray-700)}.upcoming-event-item .event-date{align-items:center;background-color:var(--color-primary);border-radius:var(--radius-md);color:#fff;display:flex;flex-direction:column;flex-shrink:0;font-weight:var(--font-weight-bold);height:48px;justify-content:center;width:48px}.upcoming-event-item .event-date .day{font-size:var(--font-size-lg);line-height:1}.upcoming-event-item .event-date .month{font-size:var(--font-size-xs);text-transform:uppercase}.upcoming-event-item .event-info{flex:1;min-width:0}.upcoming-event-item .event-info .event-title{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upcoming-event-item .event-info .event-time{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.upcoming-event-item .event-info .event-course{color:var(--color-text-muted);font-size:var(--font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-upcoming-events{color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--spacing-xl);text-align:center}.mini-calendar .mini-calendar-grid{display:grid;gap:2px;grid-template-columns:repeat(7,1fr);text-align:center}.mini-calendar .mini-weekday{color:var(--color-text-muted)}.mini-calendar .mini-day,.mini-calendar .mini-weekday{font-size:var(--font-size-xs);padding:var(--spacing-xs)}.mini-calendar .mini-day{border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast)}.mini-calendar .mini-day:hover{background-color:var(--color-bg-secondary)}.mini-calendar .mini-day.today{background-color:var(--color-primary);color:#fff}.mini-calendar .mini-day.has-events:after{background-color:var(--color-primary);border-radius:var(--radius-full);content:"";display:block;height:3px;margin:2px auto 0;width:3px}.event-categories-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.category-item{align-items:center;border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm);transition:background-color var(--transition-base)}.category-item:hover{background-color:var(--color-bg-secondary)}.category-item .category-color{border-radius:var(--radius-full);height:12px;width:12px}.category-item .category-name{color:var(--color-text);flex:1;font-size:var(--font-size-sm)}.category-item .category-count{background-color:var(--color-bg-secondary);border-radius:var(--radius-full);color:var(--color-text-muted);font-size:var(--font-size-xs);padding:.125rem .5rem}.legend-container{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-md);transition:box-shadow var(--transition-base),transform var(--transition-base)}.legend-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.legend-header .legend-title{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.legend-grid{flex-direction:column}.legend-grid,.legend-item{display:flex;gap:var(--spacing-sm)}.legend-item{align-items:center}.legend-color{background-color:var(--category-color,var(--color-primary));border:1px solid var(--category-border-color,var(--color-border));border-radius:var(--radius-sm);flex-shrink:0;height:12px;width:12px}.legend-label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.day-view{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:box-shadow var(--transition-base),transform var(--transition-base)}.day-header{border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm)}.day-header h4{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0;text-transform:capitalize}.day-events .events-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.day-events .no-events{color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--spacing-xl);text-align:center}.day-event-item{align-items:flex-start;background-color:var(--color-bg-secondary);border-left:4px solid var(--category-color,var(--color-primary));border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-md);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.day-event-item:hover{box-shadow:var(--shadow-sm);transform:translate(2px)}.day-event-item .event-icon{color:var(--category-color,var(--color-primary));flex-shrink:0}.day-event-item .event-content{flex:1;min-width:0}.day-event-item .event-content h5{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0 0 var(--spacing-xs)}.day-event-item .event-content p{color:var(--color-text-secondary);display:-webkit-box;font-size:var(--font-size-xs);-webkit-line-clamp:2;margin:0;-webkit-box-orient:vertical;overflow:hidden}.week-view{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-md);transition:box-shadow var(--transition-base),transform var(--transition-base)}.week-grid{display:grid;gap:var(--spacing-xs);grid-template-columns:repeat(7,1fr)}.week-day-column{background-color:var(--category-bg-color,var(--color-bg));border:1px solid var(--category-border-color,var(--color-border));border-radius:var(--radius-md);min-height:120px;padding:var(--spacing-sm);transition:box-shadow var(--transition-fast)}.week-day-column:hover{box-shadow:var(--shadow-sm)}.week-day-column .week-day-header{border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-xs);padding-bottom:var(--spacing-xs);text-align:center}.week-day-column .week-day-header .day-name{color:var(--color-text-secondary);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.week-day-column .week-day-header .day-date{color:var(--color-text);display:block;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.week-day-column .week-day-events{display:flex;flex-direction:column;gap:var(--spacing-xs)}.week-day-column .week-day-events .no-events{color:var(--color-text-tertiary);font-size:var(--font-size-xs);text-align:center}.week-event{align-items:center;background-color:var(--category-color,var(--color-primary));border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:var(--spacing-xs);padding:var(--spacing-xs);transition:transform var(--transition-fast)}.week-event:hover{transform:scale(1.02)}.week-event .event-icon{color:#fff;flex-shrink:0}.week-event .event-title{color:#fff;font-size:var(--font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-wrapper{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-md);transition:box-shadow var(--transition-base),transform var(--transition-base)}.weekday-header{display:grid;gap:var(--spacing-xs);grid-template-columns:repeat(7,1fr);margin-bottom:var(--spacing-sm)}.weekday-header .weekday{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-xs);text-align:center}.calendar-grid{gap:var(--spacing-xs)}.calendar-cell{background-color:var(--category-bg-color,var(--color-bg));border:1px solid var(--category-border-color,var(--color-border));border-radius:var(--radius-md);min-height:100px;padding:var(--spacing-xs);transition:box-shadow var(--transition-fast)}.calendar-cell:hover{box-shadow:var(--shadow-sm)}.calendar-cell.today{border-color:var(--color-primary);border-width:2px}.calendar-cell.today .cell-date{background-color:var(--color-primary);color:#fff}.calendar-cell.other-month{opacity:.5}.calendar-cell .cell-date{align-items:center;border-radius:var(--radius-full);color:var(--color-text);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);height:24px;justify-content:center;margin-bottom:var(--spacing-xs);width:24px}.calendar-cell .cell-events{display:flex;flex-direction:column;gap:2px}.event-badge{align-items:center;background-color:var(--category-color,var(--color-primary));border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:var(--spacing-xs);padding:2px var(--spacing-xs);transition:transform var(--transition-fast)}.event-badge:hover{transform:scale(1.02)}.event-badge .event-icon{color:#fff;flex-shrink:0}.event-badge .event-title{color:#fff;font-size:.65rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-events-badge{color:var(--color-primary);cursor:pointer;font-size:var(--font-size-xs);padding:2px;text-align:center}.more-events-badge:hover{text-decoration:underline}.dashboard-container{display:grid;gap:var(--spacing-lg)}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg)}.dashboard-header h1{margin:0}@media(max-width:767px){.dashboard-header{align-items:flex-start;flex-direction:column}}.dashboard-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}@media(max-width:767px){.dashboard-filters{width:100%}}.calendar-container{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:box-shadow var(--transition-base),transform var(--transition-base)}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg)}.calendar-header button{align-items:center;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-sm);justify-content:center;line-height:1.5;padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;transition:all var(--transition-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.calendar-header button:disabled{cursor:not-allowed;opacity:.65;pointer-events:none}.calendar-header button{background-color:#007bff;border-color:#007bff;color:#fff}.calendar-header button:focus,.calendar-header button:hover{background-color:#0062cc;border-color:#0062cc;box-shadow:var(--shadow-md);transform:translateY(-1px)}.calendar-header button:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.calendar-grid{display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(7,1fr)}@media(max-width:767px){.calendar-grid{grid-template-columns:repeat(4,1fr)}}.calendar-day{align-items:center;aspect-ratio:1;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;font-size:var(--font-size-sm);justify-content:center;padding:var(--spacing-sm);transition:all var(--transition-fast)}.calendar-day:hover{background-color:var(--color-bg-secondary)}.calendar-day.today{background-color:var(--color-primary);color:#fff;font-weight:var(--font-weight-bold)}.calendar-day.other-month{color:var(--color-text-secondary);opacity:.5}.calendar-day.has-events:after{background-color:var(--color-danger);border-radius:50%;content:"";height:4px;margin-top:2px;width:4px}.milestones-section{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:box-shadow var(--transition-base),transform var(--transition-base)}.milestones-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg)}.milestone-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.milestone-card{align-items:center;background-color:var(--color-bg-secondary);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);display:flex;padding:var(--spacing-md);transition:all var(--transition-fast)}.milestone-card:hover{box-shadow:var(--shadow-md);transform:translate(4px)}.milestone-card.pending{border-left-color:var(--color-warning)}.milestone-card.completed{border-left-color:var(--color-success);opacity:.7}.milestone-card.overdue{border-left-color:var(--color-danger)}@media(max-width:767px){.milestone-card{align-items:flex-start;flex-direction:column}}:root.dark .milestone-card{background-color:var(--color-bg-secondary)}.milestone-icon{font-size:var(--font-size-xl);margin-right:var(--spacing-md);min-width:24px}.milestone-content{flex:1}.milestone-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.milestone-meta{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.milestone-status{background-color:var(--color-bg);border-radius:var(--radius-full);color:var(--color-text);display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin-left:var(--spacing-md);padding:.25rem .75rem}.milestone-status.completed{background-color:var(--color-success);color:#fff}.milestone-status.pending{background-color:var(--color-warning);color:var(--color-gray-900)}.milestone-status.in-progress{background-color:var(--color-info);color:#fff}@media(max-width:767px){.milestone-status{margin-left:0;margin-top:var(--spacing-sm)}}.events-section{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:box-shadow var(--transition-base),transform var(--transition-base)}.event-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.event-item{background-color:var(--color-bg-secondary);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);display:grid;gap:var(--spacing-md);grid-template-columns:60px 1fr;padding:var(--spacing-md)}@media(max-width:767px){.event-item{grid-template-columns:1fr}}:root.dark .event-item{background-color:var(--color-bg-secondary)}.event-date{align-items:center;background-color:var(--color-primary);border-radius:var(--radius-md);color:#fff;display:flex;flex-direction:column;font-weight:var(--font-weight-bold);justify-content:center;padding:var(--spacing-sm);text-align:center}@media(max-width:767px){.event-date{flex-direction:row;gap:var(--spacing-sm);width:100%}}.event-date-day{font-size:var(--font-size-lg)}@media(max-width:767px){.event-date-day{text-align:left}}.event-date-month{font-size:var(--font-size-xs)}@media(max-width:767px){.event-date-month{text-align:left}}.event-info{display:flex;flex-direction:column;justify-content:center}.event-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.event-time{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--spacing-lg)}@media(max-width:767px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}:root.dark .stat-card{background-color:var(--color-bg);border-color:var(--color-border)}.stat-icon{font-size:2rem;margin-bottom:var(--spacing-md)}.stat-value{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-sm)}.dashboard-page{background-color:var(--color-bg);color:var(--color-text);flex-direction:column;margin:0 auto;max-width:100%;padding:0 var(--spacing-md) var(--spacing-md)}.dashboard-page,.stats-header{display:flex;gap:var(--spacing-sm)}.stats-header{align-items:center;padding-top:var(--spacing-sm)}.stat-pill{--pill-color:var(--color-primary);align-items:center;background:var(--color-bg-secondary);border-radius:var(--radius-md);cursor:default;display:flex;flex-direction:column;justify-content:center;min-width:60px;padding:8px 14px;transition:background-color var(--transition-fast)}.stat-pill:hover{background:var(--color-bg-hover)}.stat-pill__number{color:var(--pill-color);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:1}.stat-pill__label{color:var(--color-text-secondary);font-size:.7rem;font-weight:var(--font-weight-medium);line-height:1;margin-top:3px;text-transform:capitalize}.stat-pill--courses{--pill-color:var(--color-primary)}.stat-pill--students{--pill-color:var(--color-info)}.stat-pill--teachers{--pill-color:#8b5cf6}.stat-pill--unread{--pill-color:var(--color-success)}.stat-pill--tograde{--pill-color:var(--color-warning)}.stat-pill--deadlines{--pill-color:var(--color-danger)}.btn-customize{align-items:center;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:flex;justify-content:center;margin-left:auto;padding:var(--spacing-xs) var(--spacing-sm);transition:all var(--transition-fast)}.btn-customize:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-customize--active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.customization-panel{background:#3b82f61a;border:1px solid var(--color-primary);border-radius:var(--radius-lg);display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.checkbox-label{font-size:.8rem;gap:6px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{cursor:pointer;height:20px;width:20px}.course-controls{align-items:center;display:flex;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-sm)}.course-controls h2{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0}.courses-by-moodle{display:flex;flex-direction:column;gap:var(--spacing-lg)}.moodle-section{flex-direction:column}.moodle-header,.moodle-section{display:flex;gap:var(--spacing-xs)}.moodle-header{align-items:baseline;padding-left:var(--spacing-sm)}.moodle-title{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0}.course-count{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal)}.moodle-carousel-wrapper{padding:0 var(--spacing-md);position:relative}.moodle-carousel{display:flex;gap:var(--spacing-md);overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;padding:var(--spacing-xs) 0;scroll-snap-type:none}.moodle-carousel::-webkit-scrollbar{display:none}.moodle-carousel>*{flex:0 0 auto;width:320px}@media(min-width:768px){.moodle-carousel>*{width:360px}}@media(min-width:1024px){.moodle-carousel>*{width:400px}}.carousel-nav-btn{align-items:center;background:#fffffff2;border:2px solid var(--color-border);border-radius:50%;box-shadow:var(--shadow-md);color:var(--color-text);cursor:pointer;display:flex;height:48px;justify-content:center;padding:0;pointer-events:all;position:absolute;top:50%;transform:translateY(-50%);transition:all var(--transition-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none;width:48px;z-index:10}.carousel-nav-btn:hover{background:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-lg);color:#fff;transform:translateY(-50%) scale(1.1)}.carousel-nav-btn svg{flex-shrink:0;height:24px;width:24px}.carousel-nav-btn.carousel-nav-left{left:0}.carousel-nav-btn.carousel-nav-right{right:0}@media(max-width:767px){.carousel-nav-btn{height:40px;width:40px}.carousel-nav-btn svg{height:20px;width:20px}}.dashboard-page .empty-state{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:var(--spacing-md);justify-content:center;padding:var(--spacing-2xl);text-align:center}.dashboard-page .empty-state .empty-icon{height:64px;opacity:.5;width:64px}.dashboard-page .empty-state h3{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.dashboard-page .empty-state p{font-size:var(--font-size-sm);margin:0}@media(max-width:991px){.moodle-carousel-wrapper{padding:0 var(--spacing-md)}}@media(max-width:767px){.dashboard-page{gap:var(--spacing-sm);padding:var(--spacing-sm)}.stats-header{flex-wrap:wrap}.stat-pill{min-width:44px;padding:4px 8px}.stat-pill__number{font-size:var(--font-size-base)}.stat-pill__label{display:none}.btn-customize{padding:var(--spacing-xs)}.course-controls{margin-bottom:var(--spacing-sm)}.course-controls h2{font-size:var(--font-size-lg)}.moodle-title{font-size:var(--font-size-base)}.moodle-carousel-wrapper{padding:0 var(--spacing-xs)}.moodle-carousel{gap:var(--spacing-sm)}.courses-by-moodle{gap:var(--spacing-md)}}.timeline-container{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:box-shadow var(--transition-base),transform var(--transition-base)}.timeline-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-lg)}.timeline-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.timeline-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.timeline-filters .filter-checkbox{align-items:center;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-xs)}.timeline-filters .filter-checkbox input[type=checkbox]{accent-color:var(--color-primary)}.sync-badge{align-items:center;background-color:var(--status-color,var(--color-success));border-radius:var(--radius-full);color:#fff;display:inline-flex;font-size:var(--font-size-xs);gap:var(--spacing-xs);margin-bottom:var(--spacing-md);padding:var(--spacing-xs) var(--spacing-sm)}.sync-badge .sync-spinner{animation:spin 1s linear infinite}.timeline-empty,.timeline-loading{color:var(--color-text-secondary);padding:var(--spacing-xl);text-align:center}.timeline-empty .spinner,.timeline-loading .spinner{animation:spin .8s linear infinite;border:2px solid rgba(0,0,0,.1);border-radius:50%;border-top:2px solid var(--color-primary);height:1rem;margin:0 auto var(--spacing-md);width:1rem}.timeline-events{display:flex;flex-direction:column;gap:var(--spacing-lg)}.timeline-group .timeline-group-header{margin-bottom:var(--spacing-sm)}.timeline-group .timeline-group-header .week-label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:capitalize}.timeline-events-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.timeline-event-card{align-items:stretch;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;overflow:hidden;transition:box-shadow var(--transition-fast)}.timeline-event-card:hover{box-shadow:var(--shadow-md)}.timeline-event-card.event-overdue{border-color:var(--color-danger)}.timeline-event-card.event-read-only{opacity:.8}.event-color-bar{background-color:var(--category-color,var(--color-primary));flex-shrink:0;width:4px}.event-content{flex:1;min-width:0;padding:var(--spacing-md)}.event-content .event-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.event-content .event-header .event-icon{font-size:var(--font-size-lg)}.event-content .event-header .event-title{color:var(--color-text);font-weight:var(--font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-content .event-header .badge-readonly{color:var(--color-text-secondary)}.event-content .event-header .badge-source{align-items:center;background-color:var(--color-bg-secondary);border-radius:var(--radius-full);color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-xs);font-size:.65rem;font-weight:var(--font-weight-semibold);line-height:1;padding:.25em .5em;white-space:nowrap}.event-content .event-header .badge-source.source-milestone{background-color:var(--color-primary-10);color:var(--color-primary)}.event-content .event-meta{color:var(--color-text-secondary);display:flex;font-size:var(--font-size-xs);gap:var(--spacing-md);margin-bottom:var(--spacing-xs)}.event-content .event-status .status-badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-size:.65rem;font-weight:var(--font-weight-semibold);line-height:1;padding:.25em .5em;white-space:nowrap}.event-content .event-status .status-badge.overdue{background-color:var(--color-danger);color:#fff}.event-content .event-status .status-badge.today{background-color:var(--color-warning);color:var(--color-text)}.event-content .event-status .status-badge.upcoming{background-color:var(--color-success);color:#fff}.event-expand{align-items:center;color:var(--color-text-secondary);display:flex;justify-content:center;padding:var(--spacing-md)}.event-expand .chevron-rotated{transform:rotate(180deg)}.event-details-expanded{background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:var(--spacing-md)}.event-details-expanded .details-content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.event-details-expanded .detail-row{display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm)}.event-details-expanded .detail-row .detail-label{color:var(--color-text-secondary);min-width:100px}.event-details-expanded .detail-row .detail-value{color:var(--color-text)}.event-details-expanded .detail-badge{align-items:center;background-color:var(--category-bg-color,var(--color-bg-secondary));border-radius:var(--radius-full);color:var(--category-color,var(--color-text));display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1;padding:.25em .5em;white-space:nowrap}.event-details-expanded .detail-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.event-details-expanded .detail-actions .action-btn{align-items:center;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-sm);justify-content:center;line-height:1.5;padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;transition:all var(--transition-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.event-details-expanded .detail-actions .action-btn:disabled{cursor:not-allowed;opacity:.65;pointer-events:none}.event-details-expanded .detail-actions .action-btn{background-color:transparent;border-color:transparent;color:var(--color-text)}.event-details-expanded .detail-actions .action-btn:focus,.event-details-expanded .detail-actions .action-btn:hover{background-color:var(--color-gray-100)}.event-details-expanded .detail-actions .action-btn{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.event-details-expanded .detail-actions .action-btn.edit-btn{color:var(--color-primary)}.event-details-expanded .detail-actions .action-btn.delete-btn{color:var(--color-danger)}.event-details-expanded .detail-info{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-style:italic}.notification-panel{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:100%;transition:box-shadow var(--transition-base),transform var(--transition-base)}.panel-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}.panel-header .header-title{align-items:center;display:flex;gap:var(--spacing-sm)}.panel-header .header-title h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.panel-header .header-title .badge{align-items:center;background-color:var(--color-danger);border-radius:var(--radius-full);color:#fff;display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1;padding:.25em .5em;white-space:nowrap}.panel-header .header-actions{display:flex;gap:var(--spacing-xs)}.panel-header .header-actions .btn-action{background-color:transparent;border-color:transparent;color:var(--color-text)}.panel-header .header-actions .btn-action:focus,.panel-header .header-actions .btn-action:hover{background-color:var(--color-gray-100)}.panel-header .header-actions .btn-action{font-size:var(--font-size-sm);padding:var(--spacing-xs)}.panel-header .header-actions .btn-action.btn-danger{color:var(--color-danger)}.panel-header .header-actions .btn-action.btn-danger:hover{background-color:rgba(var(--color-danger),.1)}.panel-tabs{border-bottom:1px solid var(--color-border);display:flex}.panel-tabs .tab{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;flex:1;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.panel-tabs .tab:hover{background-color:var(--color-bg-secondary);color:var(--color-text)}.panel-tabs .tab.active{border-bottom:2px solid var(--color-primary);color:var(--color-primary);font-weight:var(--font-weight-medium)}.notifications-list{flex:1;overflow-y:auto;padding:var(--spacing-md)}.notifications-list::-webkit-scrollbar{height:8px;width:8px}.notifications-list::-webkit-scrollbar-track{background:transparent;border-radius:4px}.notifications-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.notifications-list::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.notifications-list::-webkit-scrollbar-button{display:none;height:0;width:0}.notifications-list{scrollbar-color:var(--color-border) transparent;scrollbar-width:thin}.notifications-list .empty-state{color:var(--color-text-secondary);padding:var(--spacing-xl);text-align:center}.notification-item{background-color:var(--color-bg);border-left:4px solid var(--badge-color,var(--color-primary));border-radius:var(--radius-md);margin-bottom:var(--spacing-sm);padding:var(--spacing-md);transition:background-color var(--transition-fast)}.notification-item:last-child{margin-bottom:0}.notification-item.unread{background-color:var(--color-primary-05)}.notification-item:hover{background-color:var(--color-bg-secondary)}.notification-item .notification-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs)}.notification-item .notification-header .notification-title{align-items:center;display:flex;gap:var(--spacing-sm)}.notification-item .notification-header .notification-title .icon{font-size:var(--font-size-lg)}.notification-item .notification-header .notification-title h4{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0}.notification-item .notification-header .btn-close{background-color:transparent;border-color:transparent;color:var(--color-text)}.notification-item .notification-header .btn-close:focus,.notification-item .notification-header .btn-close:hover{background-color:var(--color-gray-100)}.notification-item .notification-header .btn-close{font-size:var(--font-size-xs);opacity:.5;padding:var(--spacing-xs)}.notification-item .notification-header .btn-close:hover{opacity:1}.notification-item .notification-message{color:var(--color-text);font-size:var(--font-size-sm);margin:0 0 var(--spacing-xs)}.notification-item .notification-detail{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin:0 0 var(--spacing-sm)}.notification-item .notification-footer{align-items:center;display:flex;font-size:var(--font-size-xs);justify-content:space-between}.notification-item .notification-footer .timestamp{color:var(--color-text-tertiary)}.notification-item .notification-footer .actions{display:flex;gap:var(--spacing-sm)}.notification-item .notification-footer .actions .btn-action-primary{align-items:center;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-sm);justify-content:center;line-height:1.5;padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;transition:all var(--transition-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.notification-item .notification-footer .actions .btn-action-primary:disabled{cursor:not-allowed;opacity:.65;pointer-events:none}.notification-item .notification-footer .actions .btn-action-primary{background-color:#007bff;border-color:#007bff;color:#fff}.notification-item .notification-footer .actions .btn-action-primary:focus,.notification-item .notification-footer .actions .btn-action-primary:hover{background-color:#0062cc;border-color:#0062cc;box-shadow:var(--shadow-md);transform:translateY(-1px)}.notification-item .notification-footer .actions .btn-action-primary:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.notification-item .notification-footer .actions .btn-action-primary{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.notification-item .notification-footer .actions .btn-mark-read{background-color:transparent;border-color:transparent;color:var(--color-text)}.notification-item .notification-footer .actions .btn-mark-read:focus,.notification-item .notification-footer .actions .btn-mark-read:hover{background-color:var(--color-gray-100)}.notification-item .notification-footer .actions .btn-mark-read{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.forums-page{margin:0 auto;max-width:1200px;padding:var(--spacing-lg)}.forums-header{margin-bottom:var(--spacing-xl)}.forums-header .forums-title{color:var(--color-text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs)}.forums-header .forums-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-md)}.course-selector{margin-bottom:var(--spacing-xl)}.course-selector .selector-label{color:var(--color-text-secondary);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-sm)}.course-selector-grid{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.course-selector-card{align-items:center;background-color:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);transition:all var(--transition-base)}.course-selector-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.course-selector-card.selected{background-color:rgba(var(--color-primary-rgb),.05);border-color:var(--color-primary)}.course-selector-card .course-icon{align-items:center;background-color:var(--color-primary);border-radius:var(--radius-md);color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.course-selector-card .course-info{flex:1;min-width:0}.course-selector-card .course-info .course-name{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-selector-card .course-info .forum-count{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.forums-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.forum-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:box-shadow var(--transition-base),transform var(--transition-base);transition:all var(--transition-base)}.forum-card:hover:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.forum-card .forum-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.forum-card .forum-title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs)}.forum-card .forum-title a{color:inherit;text-decoration:none}.forum-card .forum-title a:hover{color:var(--color-primary)}.forum-card .forum-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.5}.forum-card .forum-stats{border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-lg);margin-top:var(--spacing-md);padding-top:var(--spacing-md)}.forum-card .forum-stats .stat{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-xs)}.forum-card .forum-stats .stat svg{height:16px;width:16px}.discussions-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-lg)}.discussions-header .discussions-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.discussions-header .discussions-actions{display:flex;gap:var(--spacing-sm)}.discussions-list{gap:var(--spacing-sm)}.discussion-item{display:flex;gap:var(--spacing-md)}.discussion-item:hover{box-shadow:var(--shadow-sm)}.discussion-item .discussion-avatar{flex-shrink:0}.discussion-item .discussion-content{flex:1;min-width:0}.discussion-item .discussion-title{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.discussion-item .discussion-title a{color:inherit;text-decoration:none}.discussion-item .discussion-title a:hover{color:var(--color-primary)}.discussion-item .discussion-excerpt{color:var(--color-text-secondary);display:-webkit-box;font-size:var(--font-size-sm);-webkit-line-clamp:2;margin-bottom:var(--spacing-sm);-webkit-box-orient:vertical;overflow:hidden}.discussion-item .discussion-meta{align-items:center;color:var(--color-text-muted)}.discussion-item .discussion-meta .meta-item{align-items:center;display:flex;gap:var(--spacing-xs)}.discussion-item .discussion-stats{align-items:flex-end;flex-shrink:0;gap:var(--spacing-xs)}.discussion-item .discussion-stats .stat{align-items:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);gap:var(--spacing-xs)}.discussion-item .discussion-stats .stat.has-new{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.discussion-thread{margin:0 auto;max-width:800px}.thread-header{margin-bottom:var(--spacing-xl)}.thread-header .thread-title{color:var(--color-text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md)}.thread-header .thread-meta{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-md)}.post-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-lg);transition:box-shadow var(--transition-base),transform var(--transition-base)}.post-card.is-reply{border-left:3px solid var(--color-primary);margin-left:var(--spacing-xl)}.post-card .post-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.post-card .post-author{align-items:center;display:flex;gap:var(--spacing-md)}.post-card .post-author .author-info .author-name{color:var(--color-text);font-weight:var(--font-weight-semibold)}.post-card .post-author .author-info .post-date{color:var(--color-text-muted);font-size:var(--font-size-xs)}.post-card .post-actions{display:flex;gap:var(--spacing-sm);opacity:0;transition:opacity var(--transition-base)}.post-card .post-actions .action-btn{background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);transition:all var(--transition-base)}.post-card .post-actions .action-btn:hover{background-color:var(--color-bg-secondary);color:var(--color-primary)}.post-card:hover .post-actions{opacity:1}.post-card .post-content{color:var(--color-text);font-size:var(--font-size-md);line-height:1.7}.post-card .post-content p{margin-bottom:var(--spacing-md)}.post-card .post-content p:last-child{margin-bottom:0}.post-card .post-footer{align-items:center;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;margin-top:var(--spacing-lg);padding-top:var(--spacing-md)}.reply-form{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-top:var(--spacing-xl);padding:var(--spacing-lg);transition:box-shadow var(--transition-base),transform var(--transition-base)}.reply-form .reply-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md)}.reply-form .reply-textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-md);min-height:150px;padding:var(--spacing-md);resize:vertical;transition:border-color var(--transition-fast);width:100%}.reply-form .reply-textarea:focus{border-color:var(--color-primary);outline:none}.reply-form .reply-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-md)}.discussions-empty,.forums-empty{background-color:var(--color-bg);border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-3xl);text-align:center}.discussions-empty .empty-icon,.forums-empty .empty-icon{color:var(--color-text-muted);height:64px;margin:0 auto var(--spacing-lg);width:64px}.discussions-empty .empty-title,.forums-empty .empty-title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm)}.discussions-empty .empty-description,.forums-empty .empty-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.forums-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.forums-page .forums-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-lg);justify-content:space-between}.forums-page .forums-header h1{font-size:var(--font-size-2xl);margin:0}.forums-page .forums-header .header-controls{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.forums-page .forums-header .header-buttons{display:flex;gap:var(--spacing-md)}.forums-page .forums-header .subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:var(--spacing-sm) 0 0 0}.forum-selector{display:flex;flex-direction:column;gap:var(--spacing-lg)}.forum-selector h2{font-size:var(--font-size-xl);margin:0 0 var(--spacing-md) 0}.forums-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.course-card{background-color:var(--color-bg);border:2px solid var(--color-border);border-top:4px solid var(--color-primary);padding:var(--spacing-lg)}.course-card:hover{border-color:var(--color-primary)}.course-card .course-header{align-items:start;display:flex;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-md)}.course-card .course-header h3{color:var(--color-primary);flex:1;margin:0}.course-card .course-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0 0 var(--spacing-md) 0}.course-card .course-forums{display:flex;flex-direction:column;gap:var(--spacing-sm)}.forum-count{background-color:var(--color-primary);border-radius:var(--radius-full);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:.25rem .75rem;white-space:nowrap}.forum-link{align-items:center;background-color:var(--color-bg-secondary);border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:var(--font-size-sm);justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.forum-link:hover{background-color:var(--color-primary);color:#fff}.forum-link .forum-meta{font-size:var(--font-size-xs);margin-left:auto;opacity:.8;white-space:nowrap}.moodle-label{border-radius:var(--radius-md);display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);margin-top:var(--spacing-sm);padding:4px 12px}.forum-view{display:flex;flex-direction:column;gap:var(--spacing-lg)}.forum-header-section{align-items:center;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.forum-header-section h2{flex:1;font-size:var(--font-size-xl);margin:0}.btn-back{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:var(--font-size-md);padding:0;transition:color var(--transition-fast)}.btn-back:hover{color:var(--color-primary-dark)}.filters-section{background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:var(--spacing-md);padding:var(--spacing-lg)}.search-box{min-width:250px}.filter-select,.search-input{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.filter-select:focus,.search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #007bff1a;outline:none}.search-input{width:100%}.discussions-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.discussion-item{align-items:start;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;display:grid;gap:var(--spacing-lg);grid-template-columns:80px 1fr;padding:var(--spacing-lg);transition:all var(--transition-base)}.discussion-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.discussion-item .discussion-stats{display:flex;flex-direction:column;gap:var(--spacing-md);text-align:center}.discussion-item .discussion-stats .stat{display:flex;flex-direction:column;gap:4px}.discussion-item .discussion-stats .stat-number{color:var(--color-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.discussion-item .discussion-stats .stat-label{color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:uppercase}.discussion-item .discussion-content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.discussion-item .discussion-subject{align-items:center;color:var(--color-primary);display:flex;font-size:var(--font-size-md);gap:var(--spacing-sm);margin:0}.discussion-item .discussion-message{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0}.discussion-item .discussion-meta{color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-size:var(--font-size-xs);gap:var(--spacing-md)}.discussion-item .discussion-meta .meta-author,.discussion-item .discussion-meta .meta-reply,.discussion-item .discussion-meta .meta-time{white-space:nowrap}.discussion-item .discussion-meta .meta-reply{color:var(--color-success);font-weight:var(--font-weight-semibold)}.badge-locked,.badge-pinned{font-size:var(--font-size-md)}.pagination{margin-top:var(--spacing-lg)}.pagination button{background-color:var(--color-bg-secondary);transition:all var(--transition-fast)}.pagination .page-info{color:var(--color-text-secondary);font-size:var(--font-size-sm);min-width:100px;text-align:center}.discussion-detail{display:flex;flex-direction:column;gap:var(--spacing-lg);max-height:70vh;overflow-y:auto}.post{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg)}.post.original-post{border-left:4px solid var(--color-primary)}.post .post-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md)}.post .post-author{display:flex;flex-direction:column;gap:var(--spacing-xs)}.post .post-author strong{color:var(--color-text);font-weight:var(--font-weight-bold)}.post .post-date{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.post .post-content{color:var(--color-text);line-height:var(--line-height-relaxed);white-space:pre-wrap;word-wrap:break-word}.replies-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.replies-section h4{color:var(--color-text);font-size:var(--font-size-md);margin:0}.reply-post{border-left:2px solid var(--color-secondary)}.discussion-form,.forum-form,.reply-form-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-input,.form-textarea{padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.form-input:focus,.form-textarea:focus{box-shadow:0 0 0 3px #007bff1a}.form-error{background-color:#dc35451a;border-radius:var(--radius-md);font-size:var(--font-size-sm);padding:var(--spacing-md)}.empty-state{background-color:var(--color-bg-secondary);border:2px dashed var(--color-border);border-radius:var(--radius-lg)}.empty-state .empty-icon{font-size:4rem}.empty-state h2{margin:var(--spacing-md) 0}.empty-state p{font-size:var(--font-size-sm);margin:0 0 var(--spacing-lg) 0}@media(max-width:767px){.forums-page .forums-header{align-items:flex-start;flex-direction:column}.discussion-item,.forums-grid{grid-template-columns:1fr}.filters-section{flex-direction:column}.pagination{flex-wrap:wrap}}.forum-detail-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.forum-detail-page .detail-header{border-bottom:2px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-md);padding-bottom:var(--spacing-lg)}.forum-detail-page .detail-header .btn-back{align-items:center;background-color:var(--color-bg-secondary);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:all var(--transition-fast);width:-moz-fit-content;width:fit-content}.forum-detail-page .detail-header .btn-back:hover{background-color:var(--color-primary);color:#fff}.forum-detail-page .detail-header h1{color:var(--color-text);font-size:var(--font-size-2xl);margin:0}.forum-detail-page .discussion-meta{align-items:center;color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-size:var(--font-size-sm);gap:var(--spacing-lg)}.forum-detail-page .discussion-meta .meta-item{align-items:center;display:flex;gap:var(--spacing-sm)}.forum-detail-page .badge{border-radius:var(--radius-full);display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:.25rem .75rem}.forum-detail-page .badge-success{background-color:#28a74533;color:var(--color-success)}.forum-detail-page .badge-primary{background-color:#007bff33;color:var(--color-primary)}.forum-detail-page .discussion-container{display:flex;flex-direction:column;gap:var(--spacing-lg)}.forum-detail-page .post{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg)}.forum-detail-page .post-original{border-left:4px solid var(--color-primary)}.forum-detail-page .post-reply{border-left:4px solid var(--color-success)}.forum-detail-page .post .post-header{align-items:flex-start;border-bottom:1px solid var(--color-border);display:flex;gap:var(--spacing-lg);justify-content:space-between;padding-bottom:var(--spacing-md)}.forum-detail-page .post .post-author{align-items:center;display:flex;gap:var(--spacing-md)}.forum-detail-page .post .post-author .author-avatar{align-items:center;background:linear-gradient(135deg,#007bff,#0056b3);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);height:48px;justify-content:center;width:48px}.forum-detail-page .post .post-author .author-info{display:flex;flex-direction:column;gap:2px}.forum-detail-page .post .post-author .author-name{color:var(--color-text);font-weight:var(--font-weight-semibold)}.forum-detail-page .post .post-author .author-role{color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:uppercase}.forum-detail-page .post .post-actions{display:flex;gap:var(--spacing-sm)}.forum-detail-page .post .btn-icon{align-items:center;background-color:var(--color-bg-secondary);border:none;border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-size:var(--font-size-md);height:36px;justify-content:center;padding:0;transition:all var(--transition-fast);width:36px}.forum-detail-page .post .btn-icon:hover{background-color:var(--color-primary);color:#fff}.forum-detail-page .post .post-content{color:var(--color-text);line-height:var(--line-height-relaxed);white-space:pre-wrap;word-wrap:break-word}.forum-detail-page .post .post-footer{align-items:center;border-top:1px solid var(--color-border);color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-size:var(--font-size-sm);gap:var(--spacing-lg);padding-top:var(--spacing-md)}.forum-detail-page .post .meta-stat{align-items:center;display:flex;gap:4px}.forum-detail-page .post .meta-time{font-size:var(--font-size-xs);margin-left:auto}.forum-detail-page .replies-section{margin-top:var(--spacing-lg)}.forum-detail-page .replies-section h2{color:var(--color-text);font-size:var(--font-size-lg);margin:0 0 var(--spacing-lg) 0}.forum-detail-page .empty-replies{background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--spacing-2xl);text-align:center}.forum-detail-page .replies-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.forum-detail-page .reply-form-section{background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);margin-top:var(--spacing-xl);padding:var(--spacing-lg)}.forum-detail-page .reply-form-section h3{color:var(--color-text);font-size:var(--font-size-lg);margin:0 0 var(--spacing-lg) 0}.forum-detail-page .reply-form{flex-direction:column}.forum-detail-page .reply-form,.forum-detail-page .reply-form .form-actions{display:flex;gap:var(--spacing-md)}.forum-detail-page .mention-selector-wrapper{display:flex;flex-direction:column;gap:var(--spacing-sm)}.forum-detail-page .mention-selector-wrapper .hint-text{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-style:italic;margin:0}.forum-detail-page .mentions-preview{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md)}.forum-detail-page .mentions-preview .preview-label{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0}.forum-detail-page .mentions-preview .mentions-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.forum-detail-page .mentions-preview .mention-tag{align-items:center;background-color:var(--color-primary);border-radius:var(--radius-full);color:#fff;display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:var(--spacing-xs) var(--spacing-sm)}.forum-detail-page .btn{border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-fast)}.forum-detail-page .btn-primary{background-color:var(--color-primary);color:#fff}.forum-detail-page .btn-primary:hover{background-color:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}@media(max-width:767px){.forum-detail-page .discussion-meta{flex-direction:column;gap:var(--spacing-sm)}.forum-detail-page .post .post-header{flex-direction:column}.forum-detail-page .post .post-actions{justify-content:flex-start;width:100%}}:root.dark .forum-detail-page .post{background-color:var(--color-bg);border-color:var(--color-border)}.forum-course-page{margin:0 auto;max-width:1200px;padding:var(--spacing-lg)}.forum-course-page .page-header{align-items:flex-start;display:flex;gap:var(--spacing-2xl);margin-bottom:var(--spacing-2xl)}.forum-course-page .page-header .btn-back{align-self:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;font-weight:var(--font-weight-medium);padding:var(--spacing-sm) var(--spacing-md);transition:background-color var(--transition-fast)}.forum-course-page .page-header .btn-back:hover{background:var(--color-bg-secondary)}.forum-course-page .page-header h1{color:var(--color-text);font-size:var(--font-size-2xl);margin:0 0 var(--spacing-sm) 0}.forum-course-page .page-header .subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.forum-course-page .forums-grid{display:grid;gap:var(--spacing-2xl);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:var(--spacing-2xl)}.forum-course-page .forum-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;padding:var(--spacing-2xl);transition:all var(--transition-base)}.forum-course-page .forum-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.forum-course-page .forum-card .forum-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg)}.forum-course-page .forum-card .forum-header h3{color:var(--color-text);flex:1;font-size:var(--font-size-lg);margin:0}.forum-course-page .forum-card .forum-meta{background:var(--color-bg-secondary);border-radius:var(--radius-full);color:var(--color-text-secondary);font-size:var(--font-size-xs);margin-left:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);white-space:nowrap}.forum-course-page .forum-card .forum-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0 0 var(--spacing-lg) 0}.forum-course-page .forum-card .forum-stats{border-top:1px solid var(--color-border);color:var(--color-text-secondary);display:flex;font-size:var(--font-size-xs);gap:var(--spacing-lg);padding-top:var(--spacing-lg)}.forum-course-page .forum-detail{padding:var(--spacing-lg) 0}.forum-course-page .forum-info{border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-2xl)}.forum-course-page .forum-info .forum-info-header{align-items:flex-start;display:flex;gap:var(--spacing-2xl);justify-content:space-between;margin-bottom:var(--spacing-lg)}.forum-course-page .forum-info h3{color:var(--color-text);font-size:var(--font-size-xl);margin:0 0 var(--spacing-sm) 0}.forum-course-page .forum-info .description{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:var(--spacing-sm) 0 var(--spacing-lg) 0}.forum-course-page .forum-info .meta{color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-2xl)}.forum-course-page .forum-info .meta .meta-item{align-items:center;display:flex}.forum-course-page .discussions-container h4{color:var(--color-text);font-size:var(--font-size-base);margin:0 0 var(--spacing-lg) 0}.forum-course-page .discussions-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.forum-course-page .discussion-item{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;padding:var(--spacing-lg);transition:all var(--transition-fast)}.forum-course-page .discussion-item:hover{background:var(--color-bg);border-color:var(--color-primary)}.forum-course-page .discussion-item .discussion-title{color:var(--color-text);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-sm)}.forum-course-page .discussion-item .discussion-meta{color:var(--color-text-secondary);display:flex;font-size:var(--font-size-xs);gap:var(--spacing-lg)}.forum-course-page .no-discussions{background:var(--color-bg-secondary);border-radius:var(--radius-md);color:var(--color-text-secondary);padding:var(--spacing-2xl) var(--spacing-lg);text-align:center}.forum-course-page .no-discussions p{margin:0 0 var(--spacing-lg) 0}.forum-course-page .discussion-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.forum-course-page .form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.forum-course-page .form-label{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.forum-course-page .form-input,.forum-course-page .form-textarea{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:inherit;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.forum-course-page .form-input:focus,.forum-course-page .form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #007bff1a;outline:none}.forum-course-page .form-textarea{min-height:120px;resize:vertical}.forum-course-page .form-error{background-color:#dc35451a;border-radius:var(--radius-md);color:var(--color-critical);font-size:var(--font-size-sm);padding:var(--spacing-lg)}.settings-page{margin:0 auto;max-width:900px;padding:var(--spacing-lg)}.settings-header{margin-bottom:var(--spacing-2xl)}.settings-header .settings-title{color:var(--color-text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs)}.settings-header .settings-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-md)}.settings-nav{border-bottom:1px solid var(--color-border);display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);overflow-x:auto;padding-bottom:var(--spacing-md)}.settings-nav .nav-item{background:none;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-base);white-space:nowrap}.settings-nav .nav-item:hover{background-color:var(--color-bg-secondary);color:var(--color-text)}.settings-nav .nav-item.active{background-color:rgba(var(--color-primary-rgb),.1);color:var(--color-primary)}.settings-section{background-color:var(--color-bg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-xl);padding:var(--spacing-xl)}.settings-section .section-header{border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md)}.settings-section .section-header .section-title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs)}.settings-section .section-header .section-description{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.settings-form{display:flex;flex-direction:column;gap:var(--spacing-xl)}.form-row{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group .form-hint{margin-top:var(--spacing-xs)}.form-input,.form-select,.form-textarea{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-md);padding:var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1);outline:none}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background-color:var(--color-bg-secondary);cursor:not-allowed;opacity:.7}.form-textarea{min-height:100px}.toggle-group{display:flex;flex-direction:column;gap:var(--spacing-md)}.toggle-item{align-items:center;background-color:var(--color-bg-secondary);border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:var(--spacing-md);transition:background-color var(--transition-base)}.toggle-item:hover{background-color:var(--color-gray-100)}:root.dark .toggle-item:hover{background-color:var(--color-gray-700)}.toggle-item .toggle-info{flex:1}.toggle-item .toggle-info .toggle-label{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs)}.toggle-item .toggle-info .toggle-description{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.toggle-switch{flex-shrink:0;height:24px;position:relative;width:48px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-switch input:checked+.toggle-slider{background-color:var(--color-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.2)}.toggle-switch .toggle-slider{background-color:var(--color-gray-300);border-radius:var(--radius-full);cursor:pointer;inset:0;position:absolute;transition:background-color var(--transition-base)}.toggle-switch .toggle-slider:before{background-color:#fff;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);content:"";height:20px;left:2px;position:absolute;top:2px;transition:transform var(--transition-base);width:20px}:root.dark .toggle-switch .toggle-slider{background-color:var(--color-gray-600)}.profile-picture-section{align-items:center;display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.profile-picture-section .profile-avatar{-o-object-fit:cover;object-fit:cover}.profile-picture-section .profile-avatar,.profile-picture-section .profile-avatar-placeholder{border:3px solid var(--color-border);border-radius:var(--radius-full);height:100px;width:100px}.profile-picture-section .profile-avatar-placeholder{align-items:center;background-color:var(--color-bg-secondary);color:var(--color-text-secondary);display:flex;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);justify-content:center}.profile-picture-section .profile-actions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.account-item{background-color:var(--color-bg-secondary)}.account-item .account-icon{background-color:var(--color-bg)}.account-item .account-info .account-name{color:var(--color-text);font-weight:var(--font-weight-semibold)}.account-item .account-info .account-status{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.account-item .account-info .account-status.connected{color:var(--color-success)}.danger-zone{background-color:rgba(var(--color-danger-rgb,239,68,68),.05);border:1px solid var(--color-danger)}.danger-zone .section-header{border-bottom-color:var(--color-danger)}.danger-zone .section-header .section-title{color:var(--color-danger)}.danger-zone .danger-item{align-items:center;background-color:var(--color-bg);border-radius:var(--radius-md);display:flex;justify-content:space-between;margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.danger-zone .danger-item:last-child{margin-bottom:0}.danger-zone .danger-item .danger-info .danger-title{color:var(--color-text);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.danger-zone .danger-item .danger-info .danger-description{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.form-actions{border-top:1px solid var(--color-border);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.moodle-instances-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.moodle-instance-card{align-items:center;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);transition:all var(--transition-base)}.moodle-instance-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.moodle-instance-card .instance-icon{align-items:center;background-color:var(--color-primary);border-radius:var(--radius-md);color:#fff;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.moodle-instance-card .instance-info{flex:1}.moodle-instance-card .instance-info .instance-name{color:var(--color-text);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.moodle-instance-card .instance-info .instance-url{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.moodle-instance-card .instance-status{align-items:center;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-xs)}.moodle-instance-card .instance-status.active{color:var(--color-success)}.moodle-instance-card .instance-status.inactive{color:var(--color-text-muted)}.moodle-instance-card .instance-actions{display:flex;gap:var(--spacing-sm)}.settings-page{max-width:800px;padding:var(--spacing-2xl)}.settings-page h1{margin:0 0 var(--spacing-md) 0}.settings-page .subtitle{color:var(--color-text-secondary);margin:0}.settings-container{display:flex;flex-direction:column;gap:var(--spacing-2xl)}.settings-section{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.settings-section h2{font-size:var(--font-size-lg);margin:0 0 var(--spacing-lg) 0}.setting-item{align-items:center;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.setting-item:last-child{margin-bottom:0}.setting-item label{align-items:center;cursor:pointer;display:flex;gap:var(--spacing-sm);margin:0}.setting-item input[type=checkbox]{cursor:pointer;height:20px;width:20px}.setting-item select{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md)}.btn-secondary{background:var(--color-bg);padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-fast)}.btn-secondary:hover{background:var(--color-border)}@media(max-width:767px){.settings-page{padding:var(--spacing-lg)}.settings-section{padding:var(--spacing-md)}}.troubleshooting-section{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.troubleshooting-card{background-color:rgba(var(--color-warning-rgb,245,158,11),.08);border:1px solid var(--color-warning);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.troubleshooting-header{align-items:flex-start;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.troubleshooting-icon{align-items:center;background-color:var(--color-warning);border-radius:var(--radius-md);color:#fff;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.troubleshooting-info{flex:1}.troubleshooting-info h3{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-xs) 0}.troubleshooting-info .troubleshooting-moodle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.troubleshooting-content{margin-bottom:var(--spacing-lg)}.troubleshooting-content .error-message{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0 0 var(--spacing-md) 0}.troubleshooting-tips{list-style-type:disc;margin:0;padding-left:var(--spacing-lg)}.troubleshooting-tips li{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.troubleshooting-tips li:last-child{margin-bottom:0}.troubleshooting-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.smartmail-container{background-color:var(--color-border);display:grid;gap:1px;grid-template-columns:260px 1fr 350px;height:100vh;overflow:hidden}@media(max-width:1199px){.smartmail-container{grid-template-columns:260px 1fr}}@media(max-width:767px){.smartmail-container{grid-template-columns:1fr}}.smartmail-sidebar{background-color:var(--color-bg-secondary);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow-y:auto}@media(max-width:767px){.smartmail-sidebar{bottom:0;left:0;position:fixed;top:0;transform:translate(-100%);transition:transform var(--transition-base);width:260px;z-index:100}.smartmail-sidebar.show{transform:translate(0)}}.sidebar-header{border-bottom:1px solid var(--color-border);padding:var(--spacing-lg)}.sidebar-header h2{font-size:var(--font-size-xl);margin:0}.smartmail-nav{display:flex;flex:1;flex-direction:column;padding:var(--spacing-md) 0}.nav-item{align-items:center;border-left:3px solid transparent;border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--color-text);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base),transform var(--transition-base)}.nav-item:hover{background-color:var(--color-primary-10);color:var(--color-primary);transform:translate(2px)}.nav-item.active{background-color:var(--color-primary);border-left-color:var(--color-primary-dark,#0056b3);box-shadow:var(--shadow-sm);color:#fff;font-weight:var(--font-weight-semibold)}.nav-item .icon{font-size:var(--font-size-lg);text-align:center;transition:transform var(--transition-base);width:20px}.nav-item:hover .icon{transform:scale(1.1)}.nav-item .unread-badge{background-color:var(--color-danger);border-radius:var(--radius-full);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);margin-left:auto;padding:.125rem .5rem;transition:transform var(--transition-base)}.nav-item:hover .unread-badge{transform:scale(1.1)}.compose-button{background-color:#007bff;border-color:#007bff;color:#fff;margin:var(--spacing-md);padding:var(--spacing-md)}.compose-button:focus,.compose-button:hover{background-color:#0062cc;border-color:#0062cc;box-shadow:var(--shadow-md);transform:translateY(-1px)}.compose-button:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.compose-button{border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-semibold);width:calc(100% - var(--spacing-lg)*2)}.compose-button:hover{background-color:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-2px)}.smartmail-main{display:flex;flex-direction:column;overflow-y:auto}.smartmail-main,:root.dark .smartmail-main{background-color:var(--color-bg)}.smartmail-header{align-items:center;background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);display:flex;gap:var(--spacing-md);padding:var(--spacing-md)}.search-box{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:block;flex:1;font-family:inherit;font-size:var(--font-size-base);line-height:1.5;padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.search-box::-moz-placeholder{color:var(--color-placeholder)}.search-box::placeholder{color:var(--color-placeholder)}.search-box:disabled{background-color:var(--color-disabled-bg);color:var(--color-disabled);cursor:not-allowed}.search-box:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.email-list{border-right:1px solid var(--color-border);flex:1;overflow-y:auto}.email-item{align-items:center;background-color:var(--color-bg);border-bottom:1px solid var(--color-border);cursor:pointer;display:flex;padding:var(--spacing-md);transition:all var(--transition-fast)}.email-item.unread,.email-item:hover{background-color:var(--color-bg-secondary)}.email-item.unread{font-weight:var(--font-weight-semibold)}.email-item.selected{background-color:var(--color-primary-10);border-left:3px solid var(--color-primary);padding-left:calc(var(--spacing-md) - 3px)}:root.dark .email-item{background-color:var(--color-bg)}:root.dark .email-item.unread,:root.dark .email-item:hover{background-color:var(--color-bg-secondary)}.email-item-checkbox{cursor:pointer;margin-right:var(--spacing-md)}.email-avatar{align-items:center;background-color:var(--color-primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:var(--font-weight-bold);height:40px;justify-content:center;margin-right:var(--spacing-md);width:40px}.email-content{flex:1;min-width:0}.email-from{color:var(--color-text);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.email-subject{color:var(--color-text);margin-bottom:var(--spacing-xs)}.email-preview,.email-subject{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-preview{font-size:var(--font-size-sm)}.email-date,.email-preview{color:var(--color-text-secondary)}.email-date{font-size:var(--font-size-xs);margin-left:var(--spacing-md);white-space:nowrap}.loading{align-items:center;color:var(--color-text-secondary);display:flex;height:200px;justify-content:center}.smartmail-preview{background-color:var(--color-bg);display:flex;flex-direction:column;overflow-y:auto}@media(max-width:1199px){.smartmail-preview{display:none}.smartmail-preview.show{bottom:0;display:flex;position:absolute;right:0;top:0;width:350px;z-index:10}}@media(max-width:767px){.smartmail-preview.show{width:100%}}:root.dark .smartmail-preview{background-color:var(--color-bg)}.preview-placeholder{align-items:center;color:var(--color-text-secondary);display:flex;height:100%;justify-content:center;padding:var(--spacing-lg);text-align:center}.preview-header{border-bottom:1px solid var(--color-border);padding:var(--spacing-lg)}.preview-subject{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md)}.preview-from{gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.preview-avatar,.preview-from{align-items:center;display:flex}.preview-avatar{background-color:var(--color-primary);border-radius:50%;color:#fff;font-weight:var(--font-weight-bold);height:40px;justify-content:center;width:40px}.preview-from-info{display:flex;flex-direction:column}.preview-from-name{font-weight:var(--font-weight-semibold)}.preview-date,.preview-from-email{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.preview-body{flex:1;font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);padding:var(--spacing-lg)}.modal-body form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-sm)}.form-group input,.form-group textarea{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:block;font-family:inherit;font-size:var(--font-size-base);line-height:1.5;padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.form-group input::-moz-placeholder,.form-group textarea::-moz-placeholder{color:var(--color-placeholder)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-placeholder)}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.form-group input:disabled,.form-group textarea:disabled{background-color:var(--color-disabled-bg);color:var(--color-disabled);cursor:not-allowed}.form-group textarea{min-height:150px;resize:vertical}.smartmail-page{display:flex;flex-direction:column;gap:var(--spacing-sm)}.smartmail-page .smartmail-header{align-items:center;display:flex;gap:var(--spacing-md);justify-content:space-between;padding-bottom:var(--spacing-xs)}.smartmail-page .smartmail-header h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0}.smartmail-page .header-actions{align-items:center;display:flex;gap:var(--spacing-sm)}.smartmail-layout{background-color:var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:grid;gap:1px;grid-template-columns:180px 1fr 2fr;height:calc(100vh - 160px);min-height:400px;overflow:hidden}@media(max-width:1199px){.smartmail-layout{grid-template-columns:160px 1fr}.smartmail-layout .preview-panel{display:none}}@media(max-width:767px){.smartmail-layout{grid-template-columns:1fr;height:auto;min-height:auto}.smartmail-layout .folders-sidebar{display:none}}.folders-sidebar{background-color:var(--color-bg-secondary);border-right:1px solid var(--color-border);overflow-y:auto;padding:var(--spacing-md)}.folder-section h3{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.05em;margin:0 0 var(--spacing-sm) 0;text-transform:uppercase}.folder-item,.folder-section h3{color:var(--color-text-secondary)}.folder-item{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-xs);margin-bottom:var(--spacing-2xs);padding:var(--spacing-xs) var(--spacing-sm);text-align:left;transition:all var(--transition-base);width:100%}.folder-item:hover{background-color:var(--color-bg);color:var(--color-text)}.folder-item.active{background-color:var(--color-primary);box-shadow:var(--shadow-sm);color:#fff;font-weight:var(--font-weight-medium)}.folder-item.active .folder-icon-lucide{color:#fff}.folder-item.active .folder-count{background-color:#ffffff40;color:#fff}.folder-icon{flex-shrink:0;font-size:var(--font-size-md)}.folder-icon-lucide{align-items:center;color:currentColor;display:flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.folder-name{flex:1;min-width:0}@media(min-width:768px){.folder-name{overflow:visible;text-overflow:clip;white-space:normal}}@media(max-width:767px){.folder-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.folder-count{background-color:#0003;border-radius:var(--radius-full);flex-shrink:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:.125rem .5rem}.smartmail-page .smartmail-main{background-color:var(--color-bg);border-right:1px solid var(--color-border);display:flex;flex-direction:column}.smartmail-container .search-bar,.smartmail-page .search-bar{background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);padding:var(--spacing-sm)}.smartmail-container .search-input,.smartmail-page .search-input{background-color:var(--color-bg);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");background-position:var(--spacing-sm) center;background-repeat:no-repeat;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);padding-left:var(--spacing-lg);transition:all var(--transition-base);width:100%}.smartmail-container .search-input:focus,.smartmail-page .search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.smartmail-container .search-input::-moz-placeholder,.smartmail-page .search-input::-moz-placeholder{color:var(--color-text-secondary)}.smartmail-container .search-input::placeholder,.smartmail-page .search-input::placeholder{color:var(--color-text-secondary)}.email-list-container{display:flex;flex:1;flex-direction:column;overflow-y:auto}.loading-state{gap:var(--spacing-md);height:100%}.spinner{animation:spin .8s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:32px;width:32px}.empty-state{gap:var(--spacing-lg);height:100%;min-height:200px}.empty-state i,.empty-state svg{color:var(--color-text-secondary);font-size:48px;opacity:.3}.empty-state p{font-size:var(--font-size-base);line-height:1.5;max-width:300px}@media(prefers-reduced-motion:no-preference){.empty-state svg{animation:float 3s ease-in-out infinite}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.smartmail-page .email-list{align-items:stretch;display:flex;flex-direction:column}.smartmail-page .email-item{align-items:flex-start;background-color:var(--color-bg);border-bottom:1px solid var(--color-border);cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:var(--spacing-md);position:relative;transition:all var(--transition-base)}.smartmail-page .email-item:hover{background-color:var(--color-bg-secondary)}.smartmail-page .email-item.unread{background-color:var(--color-primary-05);border-left:3px solid var(--color-primary);font-weight:var(--font-weight-semibold);padding-left:calc(var(--spacing-md) - 3px)}.smartmail-page .email-item.unread:before{background-color:var(--color-primary);border-radius:50%;content:"";flex-shrink:0;height:8px;left:var(--spacing-xs);position:absolute;top:var(--spacing-md);width:8px}.smartmail-page .email-item.selected{background-color:var(--color-primary-10);border-left:4px solid var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary-30);padding-left:calc(var(--spacing-md) - 4px)}.smartmail-page .email-item.selected .email-subject{color:var(--color-primary)}.smartmail-page .email-item.selected:before{display:none}:root.dark .smartmail-page .email-item.selected{background-color:var(--color-primary-15)}.smartmail-page .email-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;z-index:1}.email-sender-line{align-items:center;display:flex;margin-bottom:0;width:100%}.email-sender-line strong{color:var(--color-text);font-size:var(--font-size-sm)}.email-address{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:400}.email-date-line{margin-bottom:0;width:100%}.email-time{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.sender-with-badge{align-items:center;display:flex;flex:1;gap:var(--spacing-sm)}.moodle-badge{border-radius:var(--radius-sm);display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.5px;padding:var(--spacing-xs) var(--spacing-sm);white-space:nowrap}.smartmail-page .email-subject{color:var(--color-text);display:-webkit-box;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);-webkit-line-clamp:2;line-height:1.3;-webkit-box-orient:vertical;margin:0;overflow:hidden;text-align:left;width:100%}.pagination{align-items:center;background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-md);justify-content:center;padding:var(--spacing-md)}.pagination button{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base)}.pagination button:hover:not(:disabled){background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.pagination button:disabled{cursor:not-allowed;opacity:.5}.preview-panel{background-color:var(--color-bg);overflow-y:auto}.no-selection,.preview-panel{display:flex;flex-direction:column}.no-selection{align-items:center;color:var(--color-text-secondary);gap:var(--spacing-md);height:100%;justify-content:center}.no-selection i,.no-selection svg{color:var(--color-text-secondary);opacity:.3}.email-detail{display:flex;flex-direction:column;height:100%}.email-header{border-bottom:1px solid var(--color-border);padding:var(--spacing-md);position:relative}.email-header h3{color:var(--color-text);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-xs) 0;padding-right:var(--spacing-2xl);text-align:left}.close-btn,.email-header h3{font-size:var(--font-size-base)}.close-btn{align-items:center;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:var(--spacing-md);top:var(--spacing-md);transition:all var(--transition-base);width:32px}.close-btn:hover{background-color:var(--color-danger-10);border-color:var(--color-danger);color:var(--color-danger)}.close-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.email-meta{color:var(--color-text-secondary);display:flex;flex-direction:column;font-size:var(--font-size-xs);gap:var(--spacing-2xs);text-align:left}.email-body,.email-meta strong{color:var(--color-text)}.email-body{flex:1;font-size:var(--font-size-sm);line-height:1.6;overflow-y:auto;padding:var(--spacing-md);text-align:left;white-space:normal;word-break:break-word}.email-body p{color:var(--color-text);margin:.5rem 0}.email-body img{display:block;height:auto;margin:.5rem 0;max-width:100%}.email-body a{color:var(--color-primary);cursor:pointer;text-decoration:underline}.email-body a:hover{text-decoration:none}.email-body blockquote{border-left:3px solid var(--color-border);color:var(--color-text-secondary);margin:var(--spacing-md) 0;padding-left:var(--spacing-md)}.email-body table{background-color:var(--color-bg-secondary);border-collapse:collapse;margin:var(--spacing-md) 0;width:100%}.email-body table td,.email-body table th{border:1px solid var(--color-border);padding:var(--spacing-sm)}.email-body ol,.email-body ul{color:var(--color-text);margin:.5rem 0;padding-left:1.5rem}.email-body li{margin:.25rem 0}.email-body h1,.email-body h2,.email-body h3,.email-body h4,.email-body h5,.email-body h6{color:var(--color-text);font-weight:var(--font-weight-semibold);margin:var(--spacing-md) 0}.email-actions{background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.btn-action{align-items:center;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;display:flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);transition:all var(--transition-base);white-space:nowrap}.btn-action svg{color:var(--color-text-secondary);flex-shrink:0;height:16px;width:16px}.btn-action:hover{background-color:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm);color:#fff;transform:translateY(-1px)}.btn-action:hover svg{color:#fff}.btn-action:active{box-shadow:none;transform:translateY(0)}.btn-action.btn-action-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-action.btn-action-primary svg{color:#fff}.btn-action.btn-action-primary:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn-action.btn-action-danger:hover{background-color:var(--color-danger);border-color:var(--color-danger)}.email-attachments{background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);margin-top:var(--spacing-lg);padding:var(--spacing-lg)}.email-attachments h4{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-md) 0}.attachments-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.attachment-item{align-items:center;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm);transition:all var(--transition-base)}.attachment-item:hover{background-color:var(--color-bg-secondary);border-color:var(--color-primary)}.attachment-item i{color:var(--color-text-secondary);font-size:var(--font-size-base)}.attachment-name{color:var(--color-text);flex:1;font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-size{color:var(--color-text-secondary)}.attachment-size,.btn-download{font-size:var(--font-size-xs);white-space:nowrap}.btn-download{align-items:center;background-color:var(--color-primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:flex;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);transition:all var(--transition-base)}.btn-download:hover{background-color:var(--color-primary-dark)}.btn-download i{color:#fff;font-size:var(--font-size-sm)}.no-attachments{color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--spacing-sm);text-align:center}.settings-panel-overlay{align-items:flex-start;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#0000004d;display:flex;inset:0;justify-content:flex-end;padding:var(--spacing-lg);position:fixed;z-index:var(--z-modal)}.settings-panel{animation:slideIn .3s ease-out;background-color:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:calc(100vh - var(--spacing-lg)*2);max-width:500px;overflow:hidden;width:100%}@media(max-width:767px){.settings-panel{max-width:100%}}:root.dark .settings-panel{box-shadow:var(--shadow-xl),0 0 0 1px var(--color-border)}.settings-panel-header{align-items:center;background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.settings-panel-header .close-btn{position:static}.settings-panel-title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.settings-tabs{background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);display:flex}.tab-btn{background:none;flex:1;justify-content:center;transition:all var(--transition-base)}.tab-btn.active,.tab-btn:hover{background-color:var(--color-bg)}.tab-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.settings-content{flex:1;overflow-y:auto;padding:var(--spacing-lg)}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.settings-panel,.settings-panel-overlay{animation:none}}.smartmeet-container{background-color:var(--color-bg);padding:var(--spacing-lg)}.smartmeet-header{align-items:center;border-bottom:2px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-lg)}@media(max-width:767px){.smartmeet-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}}.header-content h1{font-size:var(--font-size-3xl);margin:0 0 var(--spacing-sm) 0}.header-content p{color:var(--color-text-secondary);margin:0}.header-actions{display:flex;gap:var(--spacing-md)}@media(max-width:767px){.header-actions,.header-actions .btn-primary{width:100%}}.recordings-section,.rooms-section{margin-bottom:var(--spacing-2xl)}.section-header{align-items:center;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.section-header h2{margin:0}.count-badge{align-items:center;background-color:var(--color-primary);border-radius:50%;color:#fff;display:flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);height:24px;justify-content:center;width:24px}.rooms-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}@media(max-width:767px){.rooms-grid{grid-template-columns:1fr}}.room-card{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:all var(--transition-base)}.room-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}:root.dark .room-card{background-color:var(--color-bg);border-color:var(--color-border)}.room-card-header{align-items:center;align-items:flex-start;background:linear-gradient(135deg,var(--color-primary),var(--color-info));color:#fff;display:flex;justify-content:space-between;padding:var(--spacing-lg)}.room-card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0}.room-status{align-items:center;background-color:#fff3;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);gap:var(--spacing-xs);padding:.25rem .75rem}.status-dot{animation:pulse 2s infinite;background-color:var(--color-success);border-radius:50%;height:8px;width:8px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.room-card-body{flex:1;padding:var(--spacing-lg)}.room-info{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.room-info-item{align-items:center;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-md)}.room-info-icon{color:var(--color-primary);text-align:center;width:20px}.room-info-text{flex:1}.room-info-label{color:var(--color-text-secondary);display:block;font-size:var(--font-size-xs)}.room-info-value{color:var(--color-text);display:block;font-weight:var(--font-weight-semibold)}.room-card-footer{border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-md);padding:var(--spacing-lg)}.btn-enter,.btn-manage{border:none;border-radius:var(--radius-md);cursor:pointer;flex:1;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.btn-enter{background-color:var(--color-success);color:#fff}.btn-enter:hover{filter:brightness(.85);transform:translateY(-1px)}.btn-manage{background-color:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text)}.btn-manage:hover,.placeholder{background-color:var(--color-bg-secondary)}.placeholder{align-items:center;border:2px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-secondary);display:flex;height:200px;justify-content:center;text-align:center}.recordings-list{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}@media(max-width:767px){.recordings-list{grid-template-columns:1fr}}.recording-card{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base)}:root.dark .recording-card{background-color:var(--color-bg);border-color:var(--color-border)}.recording-thumbnail{align-items:center;background-color:#000;color:var(--color-text-secondary);display:flex;font-size:2rem;height:160px;justify-content:center;width:100%}.recording-info{padding:var(--spacing-md)}.recording-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.recording-meta{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin-bottom:var(--spacing-md)}.recording-duration{background-color:var(--color-danger);border-radius:var(--radius-full);color:#fff;display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:.25rem .75rem}.btn-cancel,.btn-secondary{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-cancel:focus,.btn-cancel:hover,.btn-secondary:focus,.btn-secondary:hover{background-color:#545b62;border-color:#545b62;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-cancel:active,.btn-secondary:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-cancel,.btn-secondary{border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-lg)}.btn-send{background-color:#28a745;border-color:#28a745;color:#fff}.btn-send:focus,.btn-send:hover{background-color:#1e7e34;border-color:#1e7e34;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-send:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-send{border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-lg)}.smartmeet-page{background-color:var(--color-bg);display:flex;flex-direction:column;height:100vh}.smartmeet-page .smartmeet-header{align-items:center;background-color:var(--color-bg);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.smartmeet-page .smartmeet-header h1{font-size:var(--font-size-2xl);margin:0}.smartmeet-page .smartmeet-header .subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:var(--spacing-xs) 0 0 0}@media(max-width:767px){.smartmeet-page .smartmeet-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-md)}.smartmeet-page .smartmeet-header .header-actions{flex-direction:column;width:100%}}.video-section{display:flex;flex-direction:column;height:100%;width:100%}.video-container{display:flex;flex:1;flex-direction:column}.jitsi-container{flex:1;width:100%}.video-controls{background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:center;padding:var(--spacing-lg)}.btn-control{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-semibold);padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-fast)}.btn-control:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-control.active{background-color:var(--color-danger);border-color:var(--color-danger);color:#fff}.btn-control.danger{background-color:#dc35451a;border-color:var(--color-danger);color:var(--color-danger)}.btn-control.danger:hover{background-color:var(--color-danger);color:#fff}.smartmeet-main{display:flex;flex:1;flex-direction:column;gap:var(--spacing-2xl);overflow-y:auto;padding:var(--spacing-lg)}@media(max-width:767px){.smartmeet-main{padding:var(--spacing-md)}}.section{display:flex;flex-direction:column;gap:var(--spacing-md)}.section .section-header{align-items:center;border-bottom:2px solid var(--color-border);display:flex;justify-content:space-between;padding-bottom:var(--spacing-md)}.section .section-header h2{font-size:var(--font-size-xl);margin:0}.badge{background-color:var(--color-primary);border-radius:var(--radius-full);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:.25rem .75rem}.room-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.room-header h3{flex:1;margin:0}.status-badge{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:.25rem .75rem}.status-badge.active{background-color:#28a7451a}.room-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0 0 var(--spacing-md) 0}.room-actions{display:flex;gap:var(--spacing-md)}.btn-primary-sm,.btn-secondary-sm,.btn-small{border:none;border-radius:var(--radius-md);cursor:pointer;flex:1;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.btn-primary-sm{background-color:var(--color-primary);color:#fff}.btn-primary-sm:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-primary-sm:disabled{cursor:not-allowed;opacity:.5}.btn-secondary-sm{background-color:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text)}.btn-secondary-sm:hover{background-color:var(--color-border)}.btn-small{background-color:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.btn-small:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.meetings-list,.past-meetings-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.meeting-item,.past-meeting-item{align-items:center;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;gap:var(--spacing-lg);padding:var(--spacing-lg);transition:all var(--transition-fast)}.meeting-item:hover,.past-meeting-item:hover{background-color:var(--color-bg);border-color:var(--color-primary)}@media(max-width:767px){.meeting-item,.past-meeting-item{align-items:flex-start;flex-direction:column}}.meeting-left{flex-shrink:0}.meeting-time{display:flex;flex-direction:column;gap:var(--spacing-xs)}.meeting-time .time{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.meeting-time .date{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.meeting-center{flex:1}.meeting-center h3{font-size:var(--font-size-lg);margin:0 0 var(--spacing-xs) 0}.meeting-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0 0 var(--spacing-sm) 0}.meeting-meta{color:var(--color-text-secondary);display:flex;font-size:var(--font-size-xs);gap:var(--spacing-md)}.meeting-right{flex-shrink:0;min-width:120px}.past-meeting-header{flex:1}.past-meeting-header h4{margin:0}.past-date{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.past-meeting-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.empty-state{color:var(--color-text-secondary);padding:var(--spacing-3xl) var(--spacing-lg)}.empty-icon{font-size:3rem;margin-bottom:var(--spacing-md)}.loading-state{text-align:center}.form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group{gap:var(--spacing-sm)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.form-input,.form-textarea{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:inherit;font-size:var(--font-size-sm);padding:var(--spacing-md)}.form-input:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.form-textarea{resize:vertical}.recording-player{display:flex;flex-direction:column;gap:var(--spacing-lg)}.video-player{background-color:#000;border-radius:var(--radius-lg);width:100%}.info-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:1fr 1fr;margin-bottom:var(--spacing-lg)}@media(max-width:767px){.info-grid{grid-template-columns:1fr}}.info-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.info-item .label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.recording-actions{display:flex;gap:var(--spacing-md)}.transcript-viewer{display:flex;flex-direction:column;gap:var(--spacing-lg)}.transcription-progress{display:flex;flex-direction:column;gap:var(--spacing-md)}.progress-bar{background-color:var(--color-bg-secondary);border-radius:var(--radius-full);height:8px;overflow:hidden;width:100%}.progress-fill{background-color:var(--color-primary);height:100%;transition:width .3s ease}.transcript-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.transcript-meta{border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-lg);padding-bottom:var(--spacing-md)}.transcript-text{background-color:var(--color-bg-secondary);border-radius:var(--radius-md);line-height:var(--line-height-relaxed);max-height:400px;overflow-y:auto;padding:var(--spacing-md)}.participants-panel{display:flex;flex-direction:column;gap:var(--spacing-lg)}.stats-summary{background-color:var(--color-bg-secondary);border-radius:var(--radius-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr;padding:var(--spacing-md)}.stat-item{align-items:center;display:flex;justify-content:space-between}.stat-label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.stat-value{color:var(--color-primary);font-weight:var(--font-weight-bold)}.participants-list{display:flex;flex-direction:column;gap:var(--spacing-md);max-height:300px;overflow-y:auto}.participant-item{align-items:center;background-color:var(--color-bg-secondary);border-left:3px solid var(--color-primary);border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:var(--spacing-md)}.participant-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.participant-name{font-weight:var(--font-weight-semibold)}.participant-username{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.participant-meta{display:flex;font-size:var(--font-size-sm);gap:var(--spacing-md)}.status-active{color:var(--color-success)}.duration,.no-participants,.status-left{color:var(--color-text-secondary)}.no-participants{padding:var(--spacing-lg);text-align:center}.stats-panel{display:flex;flex-direction:column;gap:var(--spacing-lg)}.stats-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}@media(max-width:767px){.stats-grid{grid-template-columns:1fr 1fr}}.stat-card{background-color:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-lg);text-align:center}.stat-card .stat-value{color:var(--color-primary);margin-bottom:var(--spacing-sm)}.participants-table{display:flex;flex-direction:column}.table-header{background-color:var(--color-bg-secondary);border-bottom:2px solid var(--color-border);border-radius:var(--radius-md) var(--radius-md) 0 0;display:grid;font-weight:var(--font-weight-semibold);gap:var(--spacing-md);grid-template-columns:1fr 1fr 1fr;padding:var(--spacing-md)}@media(max-width:767px){.table-header{grid-template-columns:1fr}}.table-row{align-items:center;border-bottom:1px solid var(--color-border);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr 1fr;padding:var(--spacing-md)}.table-row:last-child{border-bottom:none;border-radius:0 0 var(--radius-md) var(--radius-md)}@media(max-width:767px){.table-row{grid-template-columns:1fr}}.video-room-page{background-color:#000;display:grid;gap:var(--spacing-sm);grid-template-columns:1fr 300px 250px;grid-template-rows:60px 1fr;height:100vh;padding:var(--spacing-sm)}.video-room-page .room-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#000000b3;border:1px solid hsla(0,0%,100%,.1);border-radius:var(--radius-md);display:flex;grid-column:1/-1;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}.video-room-page .room-info{align-items:center;display:flex;flex:1;gap:var(--spacing-md)}.video-room-page .room-info h1{color:#fff;font-size:var(--font-size-xl);margin:0}.video-room-page .btn-back{background-color:#ffffff1a;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.video-room-page .btn-back:hover{background-color:#fff3}.video-room-page .status-live{animation:pulse 2s infinite;background-color:var(--color-critical);border-radius:var(--radius-full);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:var(--spacing-xs) var(--spacing-sm)}.video-room-page .room-controls{display:flex;gap:var(--spacing-sm)}.video-room-page .btn-icon{align-items:center;background-color:#ffffff1a;border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-xl);height:48px;justify-content:center;padding:0;transition:all var(--transition-fast);width:48px}.video-room-page .btn-icon:hover{background-color:#fff3}.video-room-page .btn-icon.disabled,.video-room-page .btn-icon.muted{background-color:#dc35454d;color:#ff6b6b}.video-room-page .btn-icon.btn-danger{background-color:#dc354533}.video-room-page .btn-icon.btn-danger:hover{background-color:#dc3545}.video-room-page .jitsi-container{background-color:#1c1c1c;border-radius:var(--radius-md);grid-column:1;grid-row:2;overflow:hidden}.video-room-page .jitsi-iframe{height:100%;width:100%}.video-room-page .participants-sidebar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#000000b3;border:1px solid hsla(0,0%,100%,.1);border-radius:var(--radius-md);display:flex;flex-direction:column;grid-column:2;grid-row:2;overflow:hidden}.video-room-page .sidebar-header{border-bottom:1px solid hsla(0,0%,100%,.1);padding:var(--spacing-md)}.video-room-page .sidebar-header h3{color:#fff;font-size:var(--font-size-sm);margin:0}.video-room-page .participants-list{display:flex;flex:1;flex-direction:column;gap:var(--spacing-sm);overflow-y:auto;padding:var(--spacing-md)}.video-room-page .empty-state{color:#ffffff80;font-size:var(--font-size-sm);padding:var(--spacing-lg);text-align:center}.video-room-page .participant-item{align-items:center;background-color:#ffffff0d;border-radius:var(--radius-md);display:flex;gap:var(--spacing-md);padding:var(--spacing-sm)}.video-room-page .participant-avatar{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);height:40px;justify-content:center;width:40px}.video-room-page .participant-info{flex:1;min-width:0}.video-room-page .participant-name{color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-room-page .participant-status{color:#ffffff80;font-size:var(--font-size-xs);margin-top:2px}.video-room-page .chat-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#000000b3;border:1px solid hsla(0,0%,100%,.1);border-radius:var(--radius-md);display:flex;flex-direction:column;grid-column:3;grid-row:2;overflow:hidden}.video-room-page .chat-header{border-bottom:1px solid hsla(0,0%,100%,.1);padding:var(--spacing-md)}.video-room-page .chat-header h3{color:#fff;font-size:var(--font-size-sm);margin:0}.video-room-page .chat-messages{display:flex;flex:1;flex-direction:column;gap:var(--spacing-sm);overflow-y:auto;padding:var(--spacing-md)}.video-room-page .chat-message{background-color:#ffffff0d;border-left:3px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--spacing-sm)}.video-room-page .message-author{color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.video-room-page .message-content{color:#fff;font-size:var(--font-size-sm);margin-top:var(--spacing-xs);word-wrap:break-word}.video-room-page .message-time{color:#ffffff4d;font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.video-room-page .chat-input-form{border-top:1px solid hsla(0,0%,100%,.1);display:flex;gap:var(--spacing-sm);padding:var(--spacing-md)}.video-room-page .chat-input{background-color:#ffffff0d;border:1px solid hsla(0,0%,100%,.1);border-radius:var(--radius-md);color:#fff;flex:1;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.video-room-page .chat-input:focus{background-color:#ffffff1a;border-color:var(--color-primary);outline:none}.video-room-page .chat-input::-moz-placeholder{color:#ffffff4d}.video-room-page .chat-input::placeholder{color:#ffffff4d}.video-room-page .btn-sm{font-size:var(--font-size-sm);min-width:auto;padding:var(--spacing-sm) var(--spacing-md)}@media(max-width:1199px){.video-room-page{grid-template-columns:1fr 250px}.video-room-page .chat-panel{display:none}}@media(max-width:991px){.video-room-page{grid-template-columns:1fr}.video-room-page .chat-panel,.video-room-page .participants-sidebar{display:none}.video-room-page .room-header{flex-direction:column;gap:var(--spacing-md)}.video-room-page .room-controls{justify-content:center;width:100%}}.smartmeet-page .stats-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.smartmeet-page .stat-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center}.smartmeet-page .stat-card .stat-number{color:var(--color-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold)}.smartmeet-page .stat-card .stat-label{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-sm)}.smartmeet-page .tabs{border-bottom:1px solid var(--color-border);display:flex;gap:var(--spacing-sm)}.smartmeet-page .tab{background:none;border:none;border-bottom:3px solid transparent;color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-fast)}.smartmeet-page .tab:hover{color:var(--color-text)}.smartmeet-page .tab.active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.smartmeet-page .recordings-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.smartmeet-page .recording-thumbnail{align-items:center;background-color:#000;display:flex;font-size:3rem;height:150px;justify-content:center;width:100%}.smartmeet-page .recording-date{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin:0 0 var(--spacing-md) 0}.smartmeet-page .room-form{display:flex;flex-direction:column;gap:var(--spacing-md)}@media(max-width:767px){.smartmeet-page .tabs{overflow-x:auto}.smartmeet-page .recordings-grid{grid-template-columns:1fr}}:root.dark .smartmeet-page .stat-card{background-color:var(--color-bg);border-color:var(--color-border)}.analytics-page{margin:0 auto;max-width:1400px;padding:var(--spacing-xl)}.analytics-header{margin-bottom:var(--spacing-2xl)}.analytics-header .page-title{color:var(--color-text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm)}.analytics-header .page-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-md)}.stats-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:var(--spacing-2xl)}.stat-card{align-items:flex-start;background-color:var(--color-bg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);gap:var(--spacing-md);padding:var(--spacing-xl);transition:box-shadow var(--transition-base),transform var(--transition-base)}.stat-card,.stat-card .stat-icon{border-radius:var(--radius-lg);display:flex}.stat-card .stat-icon{align-items:center;flex-shrink:0;height:48px;justify-content:center;width:48px}.stat-card .stat-icon.primary{background-color:rgba(var(--color-primary-rgb),.1);color:var(--color-primary)}.stat-card .stat-icon.success{background-color:rgba(var(--color-success-rgb),.1);color:var(--color-success)}.stat-card .stat-icon.warning{background-color:rgba(var(--color-warning-rgb),.1);color:var(--color-warning)}.stat-card .stat-icon.info{background-color:rgba(var(--color-info-rgb),.1);color:var(--color-info)}.stat-card .stat-content{flex:1;min-width:0}.stat-card .stat-value{color:var(--color-text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:1.2}.stat-card .stat-label{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.stat-card .stat-change{align-items:center;display:flex;font-size:var(--font-size-xs);gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.stat-card .stat-change.positive{color:var(--color-success)}.stat-card .stat-change.negative{color:var(--color-danger)}.charts-grid{display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:var(--spacing-2xl)}@media(max-width:767px){.charts-grid{grid-template-columns:1fr}}.chart-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-xl);transition:box-shadow var(--transition-base),transform var(--transition-base)}.chart-card .chart-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg)}.chart-card .chart-title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.chart-card .chart-actions{display:flex;gap:var(--spacing-sm)}.chart-card .chart-container{min-height:300px;position:relative;width:100%}.progress-list{flex-direction:column}.progress-item,.progress-list{display:flex;gap:var(--spacing-md)}.progress-item{align-items:center;background-color:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-md);transition:background-color var(--transition-fast)}.progress-item:hover{background-color:var(--color-bg-tertiary)}.progress-item .progress-info{flex:1;min-width:0}.progress-item .progress-name{color:var(--color-text);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-item .progress-meta{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.progress-item .progress-bar-container{flex-shrink:0;width:200px}@media(max-width:575px){.progress-item .progress-bar-container{width:100px}}.progress-item .progress-percentage{color:var(--color-text);flex-shrink:0;font-weight:var(--font-weight-semibold);text-align:right;width:50px}.time-range-selector{background-color:var(--color-bg-secondary);border-radius:var(--radius-md);display:flex;gap:var(--spacing-xs);padding:var(--spacing-xs)}.time-range-selector .range-btn{background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.time-range-selector .range-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-text)}.time-range-selector .range-btn.active{background-color:var(--color-primary);color:#fff}.analytics-empty{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-3xl);text-align:center;transition:box-shadow var(--transition-base),transform var(--transition-base)}.analytics-empty .empty-icon{color:var(--color-text-muted);height:64px;margin:0 auto var(--spacing-lg);opacity:.5;width:64px}.analytics-empty .empty-title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm)}.analytics-empty .empty-description{color:var(--color-text-secondary);font-size:var(--font-size-md);margin:0 auto;max-width:400px}.insights-achievements{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:box-shadow var(--transition-base),transform var(--transition-base)}.insights-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.insights-group .group-title{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.insight-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-left:4px solid var(--card-accent-color,var(--color-primary));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-md);transition:box-shadow var(--transition-base),transform var(--transition-base)}.insight-card .insight-header{align-items:center;display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.insight-card .insight-header .insight-icon{font-size:var(--font-size-lg)}.insight-card .insight-header h5{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.insight-card .insight-message{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0 0 var(--spacing-sm)}.insight-card .insight-action .btn-action{align-items:center;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-sm);justify-content:center;line-height:1.5;padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;transition:all var(--transition-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.insight-card .insight-action .btn-action:disabled{cursor:not-allowed;opacity:.65;pointer-events:none}.insight-card .insight-action .btn-action{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff;font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.insight-card .insight-action .btn-action:focus,.insight-card .insight-action .btn-action:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.achievement-progress{margin-bottom:var(--spacing-lg)}.achievement-progress .progress-info{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);justify-content:space-between;margin-bottom:var(--spacing-sm)}.achievement-progress .progress-info .progress-percentage{color:var(--color-text);font-weight:var(--font-weight-semibold)}.achievement-progress .progress-bar-container{background-color:var(--color-bg-secondary);border-radius:var(--radius-full);height:8px;overflow:hidden}.achievement-progress .progress-bar-container .progress-bar{background-color:var(--color-primary);border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow);width:var(--progress-width,0)}.achievements-grid{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.achievement-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-md);text-align:center;transition:box-shadow var(--transition-base),transform var(--transition-base);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.achievement-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.achievement-card.unlocked{background-color:#10b9810d;border:1px solid var(--color-success)}.achievement-card .achievement-icon{font-size:2rem;margin-bottom:var(--spacing-sm)}.achievement-card h4{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-xs)}.achievement-card .achievement-description{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin:0 0 var(--spacing-sm)}.achievement-card .achievement-progress-bar{align-items:center;display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.achievement-card .mini-progress{background-color:var(--color-bg-secondary);border-radius:var(--radius-full);flex:1;height:4px;overflow:hidden}.achievement-card .mini-bar{background-color:var(--color-primary);border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow);width:var(--progress-width,0)}.achievement-card .progress-text{color:var(--color-text-muted);font-size:var(--font-size-xs);white-space:nowrap}.achievement-card .locked-badge,.achievement-card .unlocked-badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.achievement-card .unlocked-badge{background-color:var(--color-success);color:#fff}.achievement-card .locked-badge{background-color:var(--color-bg-tertiary);color:var(--color-text-muted)}.courses-list-page{margin:0 auto;max-width:1400px;padding:var(--spacing-xl) var(--spacing-2xl)}@media(max-width:767px){.courses-list-page{padding:var(--spacing-lg)}}.courses-header{margin-bottom:var(--spacing-xl)}@media(max-width:767px){.courses-header{flex-direction:column}}.courses-header .header-title h1{color:var(--color-text);font-size:2rem;font-weight:700;letter-spacing:-.02em;margin:0 0 var(--spacing-xs)}.courses-header .header-title .subtitle{color:var(--color-text-secondary);font-size:.9375rem;margin:0}.courses-header .header-search{min-width:280px;position:relative}@media(max-width:767px){.courses-header .header-search{width:100%}}.courses-header .header-search .search-icon{color:var(--color-text-tertiary);font-size:.875rem;left:var(--spacing-md);position:absolute;top:50%;transform:translateY(-50%)}.courses-header .header-search .search-input{background:var(--color-bg-secondary);border:1px solid transparent;border-radius:var(--radius-full);color:var(--color-text);font-size:.875rem;padding:var(--spacing-sm) var(--spacing-md) var(--spacing-sm) var(--spacing-2xl);transition:all var(--transition-fast);width:100%}.courses-header .header-search .search-input::-moz-placeholder{color:var(--color-text-tertiary)}.courses-header .header-search .search-input::placeholder{color:var(--color-text-tertiary)}.courses-header .header-search .search-input:focus{background:var(--color-bg-primary);border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1);outline:none}.filter-tab{background:transparent;border:none;border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;font-size:.875rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-base);white-space:nowrap}.filter-tab:focus{box-shadow:none;outline:none}.filter-tab:hover:not(.active){background:var(--color-bg-tertiary);color:var(--color-text)}.filter-tab.active{box-shadow:0 2px 8px #007aff4d}.filter-tab.active,.filter-tab.active:hover{background:var(--color-primary);color:#fff}.courses-grid{grid-template-columns:repeat(3,1fr)}@media(max-width:991px){.courses-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:575px){.courses-grid{grid-template-columns:1fr}}.course-card{background:var(--color-bg-primary);box-shadow:0 1px 3px #00000014;display:flex;flex-direction:column}.course-card:hover{border-color:var(--color-border);box-shadow:0 8px 24px #0000001f}.course-card .card-accent{background:var(--accent-color,var(--color-primary));height:4px}.course-card .card-body{display:flex;flex:1;flex-direction:column;padding:var(--spacing-lg)}.course-card .card-title{color:var(--color-text);display:-webkit-box;font-size:1.0625rem;font-weight:600;-webkit-line-clamp:2;line-height:1.4;margin:0 0 var(--spacing-xs);-webkit-box-orient:vertical;overflow:hidden}.course-card .card-code{color:var(--color-text-tertiary);font-size:.75rem;margin-bottom:var(--spacing-sm)}.course-card .card-summary{color:var(--color-text-secondary);display:-webkit-box;font-size:.875rem;-webkit-line-clamp:2;line-height:1.6;margin-bottom:var(--spacing-lg);-webkit-box-orient:vertical;flex:1;overflow:hidden}.course-card .card-stats{border-bottom:1px solid var(--color-border-light);display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.course-card .card-stats .stat{align-items:center;color:var(--color-text-secondary);display:flex;font-size:.8125rem;gap:var(--spacing-xs)}.course-card .card-stats .stat i{color:var(--color-text-tertiary);font-size:.875rem}.course-card .card-progress{margin-bottom:var(--spacing-md);position:relative;width:100%}.course-card .card-progress .progress-bar-bg{background:var(--color-bg-tertiary);border-radius:var(--radius-full);height:4px;overflow:hidden;width:100%}.course-card .card-progress .progress-bar-fill{background:var(--color-success);border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow)}.course-card .card-progress .progress-text{align-items:center;color:var(--color-text-tertiary);display:flex;font-size:.75rem;justify-content:space-between;margin-top:var(--spacing-xs);width:100%}.course-card .card-progress .progress-text span{display:inline-block}.course-card .card-action{display:flex;justify-content:flex-end;margin-top:auto}.course-card .card-action .view-link{align-items:center;color:var(--color-primary);display:flex;font-size:.875rem;font-weight:500;gap:var(--spacing-xs);text-decoration:none;transition:gap var(--transition-fast)}.course-card .card-action .view-link:hover{gap:var(--spacing-sm)}.course-card .card-action .view-link i{font-size:.75rem;transition:transform var(--transition-fast)}.course-card .card-action .view-link:hover i{transform:translate(2px)}.course-card[data-accent=blue] .card-accent{background:#007aff}.course-card[data-accent=purple] .card-accent{background:#5856d6}.course-card[data-accent=pink] .card-accent{background:#ff2d55}.course-card[data-accent=orange] .card-accent{background:#ff9500}.course-card[data-accent=green] .card-accent{background:#34c759}.course-card[data-accent=teal] .card-accent{background:#5ac8fa}.courses-loading{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-3xl)}.courses-loading .spinner{animation:spin .8s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:40px;margin-bottom:var(--spacing-md);width:40px}.courses-loading p{font-size:.9375rem;margin:0}.courses-empty{padding:var(--spacing-3xl)}.courses-empty .empty-icon{align-items:center;background:var(--color-bg-secondary);border-radius:var(--radius-lg);display:flex;height:64px;justify-content:center;margin-bottom:var(--spacing-lg);width:64px}.courses-empty .empty-icon i{color:var(--color-text-tertiary);font-size:1.5rem}.courses-empty h3{font-size:1.125rem;font-weight:600;margin:0 0 var(--spacing-xs)}.courses-empty p{font-size:.9375rem;max-width:400px}.course-detail-page{margin:0 auto;max-width:1200px;padding:var(--spacing-xl) var(--spacing-2xl)}@media(max-width:767px){.course-detail-page{padding:var(--spacing-lg)}}.course-hero{margin-bottom:var(--spacing-xl)}.course-hero .back-link{align-items:center;color:var(--color-text-tertiary);display:inline-flex;font-size:.875rem;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);text-decoration:none;transition:color var(--transition-fast)}.course-hero .back-link:hover{color:var(--color-primary)}.course-hero .back-link i{font-size:.75rem}.course-hero .course-title{color:var(--color-text);font-size:2.25rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0 0 var(--spacing-sm)}@media(max-width:575px){.course-hero .course-title{font-size:1.75rem}}.course-hero .course-code{color:var(--color-text-tertiary);font-size:.875rem;margin-bottom:var(--spacing-md)}.course-hero .course-description{color:var(--color-text-secondary);font-size:1rem;line-height:1.6;margin-bottom:var(--spacing-xl);max-width:800px}.course-stats{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(4,1fr);margin-bottom:var(--spacing-xl)}@media(max-width:767px){.course-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:575px){.course-stats{grid-template-columns:1fr}}.course-stats .stat-card{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-lg);text-align:center;transition:all var(--transition-fast)}.course-stats .stat-card:hover{background:var(--color-bg-tertiary)}.course-stats .stat-card .stat-icon{color:var(--color-primary);display:block;font-size:1.25rem;margin-bottom:var(--spacing-sm)}.course-stats .stat-card .stat-value{color:var(--color-text);font-size:1.75rem;font-weight:700;line-height:1;margin-bottom:var(--spacing-xs)}.course-stats .stat-card .stat-label{color:var(--color-text-tertiary);font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.course-tabs{margin-bottom:var(--spacing-xl)}.course-tabs .tabs-list{display:flex;gap:var(--spacing-xl);overflow-x:auto;-webkit-overflow-scrolling:touch}.course-tabs .tabs-list::-webkit-scrollbar{display:none}@media(max-width:575px){.course-tabs .tabs-list{gap:var(--spacing-lg)}}.course-tabs .tab-btn{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;font-size:.9375rem;font-weight:500;padding:var(--spacing-md) 0;position:relative;transition:color var(--transition-fast);white-space:nowrap}.course-tabs .tab-btn.active,.course-tabs .tab-btn:hover{color:var(--color-text)}.course-tabs .tab-btn.active:after{background:var(--color-primary);border-radius:var(--radius-full);bottom:-1px;content:"";height:2px;left:0;position:absolute;right:0}.tab-content{animation:fadeIn var(--transition-base) ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.overview-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(2,1fr)}@media(max-width:767px){.overview-grid{grid-template-columns:1fr}}.info-card{background:var(--color-bg-primary)}.info-card .card-title{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-light);color:var(--color-text);font-size:.875rem;font-weight:600;margin:0;padding:var(--spacing-md) var(--spacing-lg)}.info-card .card-content{padding:var(--spacing-lg)}.info-card .card-content p{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.6;margin:0}.info-card .card-content .empty-text{color:var(--color-text-tertiary);font-style:italic}.info-card .info-row{border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;padding:var(--spacing-sm) 0}.info-card .info-row:last-child{border-bottom:none}.info-card .info-row .label{color:var(--color-text-secondary);font-size:.875rem}.info-card .info-row .value{color:var(--color-text);font-size:.875rem;font-weight:500}.item-card{background:var(--color-bg-primary)}.item-card:hover{border-color:var(--color-border);box-shadow:0 2px 8px #0000000f}.item-card .item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm)}.item-card .item-header h4{color:var(--color-text);font-size:1rem;font-weight:600;margin:0}.item-card .item-badge{border-radius:var(--radius-full);font-size:.6875rem;font-weight:500;letter-spacing:.5px;padding:var(--spacing-xs) var(--spacing-sm);text-transform:uppercase}.item-card .item-badge.assignment-badge{background:#007aff1a;color:#007aff}.item-card .item-badge.quiz-badge{background:#ff2d551a;color:#ff2d55}.item-card .item-description{color:var(--color-text-secondary);font-size:.875rem;line-height:1.6;margin-bottom:var(--spacing-md)}.item-card .item-footer .item-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.item-card .item-footer .item-meta .meta-item{align-items:center;color:var(--color-text-tertiary);display:inline-flex;font-size:.8125rem;gap:var(--spacing-xs)}.item-card .item-footer .item-meta .meta-item i{color:var(--color-text-tertiary);font-size:.875rem}.users-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.user-card{background:var(--color-bg-primary);padding:var(--spacing-lg)}.user-card:hover{border-color:var(--color-border);box-shadow:0 2px 8px #0000000f}.user-card .user-avatar{align-items:center;background:var(--color-bg-secondary);color:var(--color-text-secondary);display:flex;font-size:1rem;font-weight:600;height:48px;justify-content:center;width:48px}.user-card h4{color:var(--color-text);font-size:.9375rem;font-weight:600;margin:0 0 var(--spacing-xs)}.user-card .user-username{color:var(--color-text-tertiary);font-size:.8125rem;margin:0 0 var(--spacing-xs)}.user-card .user-email{font-size:.75rem;margin:0;word-break:break-all}.loading-state .spinner{border:2px solid var(--color-border)}.loading-state p{font-size:.875rem}.empty-state .empty-icon{font-size:2rem;margin-bottom:var(--spacing-md);opacity:.4}.empty-state p{margin:0}.study-materials-viewer{padding:var(--spacing-lg) 0}.study-materials-viewer .loading-state{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-2xl)}.study-materials-viewer .loading-state .spinner{animation:spin .8s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:40px;width:40px}.study-materials-viewer .loading-state p{font-size:var(--font-size-sm);margin-top:var(--spacing-md)}.study-materials-viewer .error-state{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-2xl);text-align:center}.study-materials-viewer .error-state i{color:var(--color-danger);font-size:2.5rem;margin-bottom:var(--spacing-md)}.study-materials-viewer .error-state .retry-btn{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-xs);margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-fast)}.study-materials-viewer .error-state .retry-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.study-materials-viewer .empty-state{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-2xl)}.study-materials-viewer .empty-state i{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.5}.study-materials-viewer .empty-state p{font-size:var(--font-size-sm)}.study-materials-viewer .progress-overview{background:var(--color-bg-secondary);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg)}.study-materials-viewer .progress-overview .progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm)}.study-materials-viewer .progress-overview .progress-label{color:var(--color-text);font-size:var(--font-size-sm);font-weight:500}.study-materials-viewer .progress-overview .progress-value{color:var(--color-primary);font-size:var(--font-size-sm);font-weight:600}.study-materials-viewer .progress-overview .progress-bar-container{background:var(--color-border);border-radius:var(--radius-full);height:6px;overflow:hidden}.study-materials-viewer .progress-overview .progress-bar{background:var(--color-primary);border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow)}.study-materials-viewer .section-actions{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.study-materials-viewer .section-actions .action-btn{align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-xs);gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);transition:all var(--transition-fast)}.study-materials-viewer .section-actions .action-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text)}.study-materials-viewer .sections-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.study-materials-viewer .section-card{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base)}.study-materials-viewer .section-card:hover{border-color:var(--color-border)}.study-materials-viewer .section-card.expanded{box-shadow:0 2px 12px #00000014}.study-materials-viewer .section-header{align-items:center;background:var(--color-bg-secondary);cursor:pointer;display:flex;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);transition:background var(--transition-fast)}.study-materials-viewer .section-header:hover{background:var(--color-bg-tertiary)}.study-materials-viewer .section-header .section-title-group{align-items:center;display:flex;gap:var(--spacing-sm)}.study-materials-viewer .section-header .section-title-group i{color:var(--color-text-tertiary);font-size:.75rem;transition:transform var(--transition-fast)}.study-materials-viewer .section-header .section-title{color:var(--color-text);font-size:1rem;font-weight:600;margin:0}.study-materials-viewer .section-header .section-meta{align-items:center;display:flex;gap:var(--spacing-sm)}.study-materials-viewer .section-header .module-count{background:var(--color-bg-tertiary);border-radius:var(--radius-full);color:var(--color-text-secondary);font-size:.75rem;padding:2px var(--spacing-sm)}.study-materials-viewer .section-header .completion-badge{background:#34c7591a;border-radius:var(--radius-full);color:var(--color-success);font-size:.6875rem;font-weight:600;padding:2px var(--spacing-sm)}.study-materials-viewer .section-summary{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.6;padding:var(--spacing-sm) var(--spacing-lg)}.study-materials-viewer .modules-list{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm)}.study-materials-viewer .module-card{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);overflow:visible;transition:all var(--transition-fast)}.study-materials-viewer .module-card:hover{border-color:var(--color-border)}.study-materials-viewer .module-card.completed{border-left:3px solid var(--color-success)}.study-materials-viewer .module-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);transition:background var(--transition-fast)}.study-materials-viewer .module-header:hover{background:var(--color-bg-secondary)}.study-materials-viewer .module-header .module-info{align-items:center;display:flex;gap:var(--spacing-md)}.study-materials-viewer .module-header .module-icon{align-items:center;background:var(--color-bg-secondary);border-radius:var(--radius-sm);color:var(--color-text-secondary);display:flex;font-size:1rem;height:36px;justify-content:center;width:36px}.study-materials-viewer .module-header .module-icon.icon-scorm{background:#5856d61a;color:#5856d6}.study-materials-viewer .module-header .module-icon.icon-book{background:#ff95001a;color:#ff9500}.study-materials-viewer .module-header .module-icon.icon-assign{background:#007aff1a;color:#007aff}.study-materials-viewer .module-header .module-icon.icon-quiz{background:#ff2d551a;color:#ff2d55}.study-materials-viewer .module-header .module-icon.icon-lesson{background:#34c7591a;color:#34c759}.study-materials-viewer .module-header .module-icon.icon-page{background:#5ac8fa1a;color:#5ac8fa}.study-materials-viewer .module-header .module-icon.icon-resource{background:#af52de1a;color:#af52de}.study-materials-viewer .module-header .module-icon.icon-folder{background:#ffcc001a;color:#fc0}.study-materials-viewer .module-header .module-icon.icon-url{background:#00c7be1a;color:#00c7be}.study-materials-viewer .module-header .module-icon.icon-label{background:#8f8f941a;color:#8e8e93}.study-materials-viewer .module-header .module-details{display:flex;flex-direction:column;gap:2px}.study-materials-viewer .module-header .module-title{color:var(--color-text);font-size:var(--font-size-sm);font-weight:500;margin:0}.study-materials-viewer .module-header .module-type{color:var(--color-text-tertiary);font-size:.6875rem}.study-materials-viewer .module-header .module-actions{align-items:center;display:flex;gap:var(--spacing-sm)}.study-materials-viewer .module-header .complete-badge{color:var(--color-success);font-size:1rem}.study-materials-viewer .module-header .expand-icon{align-items:center;background:var(--color-bg-secondary);border-radius:var(--radius-sm);color:var(--color-text-secondary);display:flex;font-size:.75rem;height:24px;justify-content:center;width:24px}.study-materials-viewer .module-content{background:var(--color-bg-secondary);border-top:1px solid var(--color-border-light);padding:var(--spacing-md)}.assignment-module-card .module-description,.book-module-card .module-description,.folder-module-card .module-description,.label-module-card .module-description,.lesson-module-card .module-description,.page-module-card .module-description,.quiz-module-card .module-description,.resource-module-card .module-description,.scorm-module-card .module-description,.url-module-card .module-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.6;margin-bottom:var(--spacing-md)}.assignment-module-card .module-description p,.book-module-card .module-description p,.folder-module-card .module-description p,.label-module-card .module-description p,.lesson-module-card .module-description p,.page-module-card .module-description p,.quiz-module-card .module-description p,.resource-module-card .module-description p,.scorm-module-card .module-description p,.url-module-card .module-description p{margin:0 0 var(--spacing-sm)}.assignment-module-card .module-description a,.book-module-card .module-description a,.folder-module-card .module-description a,.label-module-card .module-description a,.lesson-module-card .module-description a,.page-module-card .module-description a,.quiz-module-card .module-description a,.resource-module-card .module-description a,.scorm-module-card .module-description a,.url-module-card .module-description a{color:var(--color-primary)}.assignment-info,.lesson-info,.quiz-info,.scorm-info{display:grid;gap:var(--spacing-sm);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin-bottom:var(--spacing-md)}.assignment-info .info-item,.lesson-info .info-item,.quiz-info .info-item,.scorm-info .info-item{align-items:flex-start;background:var(--color-bg-primary);border-radius:var(--radius-sm);display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm)}.assignment-info .info-item>i,.lesson-info .info-item>i,.quiz-info .info-item>i,.scorm-info .info-item>i{color:var(--color-primary);font-size:.875rem;margin-top:2px}.assignment-info .info-item .info-content,.lesson-info .info-item .info-content,.quiz-info .info-item .info-content,.scorm-info .info-item .info-content{display:flex;flex-direction:column;gap:2px}.assignment-info .info-item .info-label,.lesson-info .info-item .info-label,.quiz-info .info-item .info-label,.scorm-info .info-item .info-label{color:var(--color-text-tertiary);font-size:.625rem;letter-spacing:.05em;text-transform:uppercase}.assignment-info .info-item .info-value,.lesson-info .info-item .info-value,.quiz-info .info-item .info-value,.scorm-info .info-item .info-value{color:var(--color-text);font-size:var(--font-size-sm);font-weight:500}.assignment-info .info-item .info-value.overdue,.lesson-info .info-item .info-value.overdue,.quiz-info .info-item .info-value.overdue,.scorm-info .info-item .info-value.overdue{color:var(--color-danger)}.sco-list{margin-top:var(--spacing-sm)}.sco-list .sco-list-title{color:var(--color-text-secondary);font-size:.6875rem;font-weight:600;letter-spacing:.05em;margin-bottom:var(--spacing-xs);text-transform:uppercase}.sco-list .sco-item{align-items:center;background:var(--color-bg-primary);border-radius:var(--radius-sm);display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);transition:background var(--transition-fast)}.sco-list .sco-item:hover{background:var(--color-bg-tertiary)}.sco-list .sco-item .sco-info{align-items:center;display:flex;gap:var(--spacing-sm)}.sco-list .sco-item .sco-info i{color:var(--color-primary);font-size:.875rem}.sco-list .sco-item .sco-info .sco-title{font-size:var(--font-size-sm);font-weight:500}.sco-list .sco-item .sco-launch-btn{align-items:center;background:var(--color-primary);border-radius:var(--radius-full);color:#fff;display:flex;font-size:.6875rem;font-weight:500;gap:var(--spacing-xs);padding:4px var(--spacing-sm);text-decoration:none;transition:all var(--transition-fast)}.sco-list .sco-item .sco-launch-btn:hover{background:var(--color-primary-dark)}.book-chapters{display:grid;gap:var(--spacing-md);grid-template-columns:180px 1fr;min-height:200px}@media(max-width:768px){.book-chapters{grid-template-columns:1fr}}.book-chapters .chapter-nav{border-right:1px solid var(--color-border-light);padding-right:var(--spacing-sm)}@media(max-width:768px){.book-chapters .chapter-nav{border-bottom:1px solid var(--color-border-light);border-right:none;padding:0 0 var(--spacing-sm)}}.book-chapters .chapter-nav .nav-title{color:var(--color-text-secondary);font-size:.625rem;font-weight:600;letter-spacing:.05em;margin-bottom:var(--spacing-xs);text-transform:uppercase}.book-chapters .chapter-nav .chapter-list{list-style:none;margin:0;padding:0}.book-chapters .chapter-nav .chapter-item{border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);transition:all var(--transition-fast)}.book-chapters .chapter-nav .chapter-item:hover:not(.active){background:var(--color-bg-secondary);color:var(--color-text)}.book-chapters .chapter-nav .chapter-item.active{background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary);font-weight:500}.book-chapters .chapter-nav .chapter-item.subchapter{font-size:.8125rem;padding-left:var(--spacing-lg)}.book-chapters .chapter-nav .chapter-item.hidden{opacity:.5}.book-chapters .chapter-content{color:var(--color-text);line-height:1.7}.book-chapters .chapter-content .chapter-body p{margin:0 0 var(--spacing-md)}.book-chapters .chapter-content .chapter-body img{border-radius:var(--radius-sm);max-width:100%}.file-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.file-list .file-item{align-items:center;background:var(--color-bg-primary);border-radius:var(--radius-sm);color:var(--color-text);display:flex;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:background var(--transition-fast)}.file-list .file-item:hover{background:var(--color-bg-tertiary)}.file-list .file-item .file-info{align-items:center;display:flex;gap:var(--spacing-sm)}.file-list .file-item .file-info>i{color:var(--color-primary);font-size:1rem}.file-list .file-item .file-details{display:flex;flex-direction:column;gap:2px}.file-list .file-item .file-name{font-size:var(--font-size-sm);font-weight:500}.file-list .file-item .file-meta{color:var(--color-text-tertiary);font-size:.625rem}.file-list .file-item .download-icon{color:var(--color-text-secondary)}.url-preview{background:var(--color-bg-primary);gap:var(--spacing-md);margin-bottom:var(--spacing-sm);padding:var(--spacing-sm)}.url-preview,.url-preview .url-icon{align-items:center;border-radius:var(--radius-sm);display:flex}.url-preview .url-icon{background:#00c7be1a;color:#00c7be;height:36px;justify-content:center;width:36px}.url-preview .url-details{display:flex;flex-direction:column;gap:2px}.url-preview .url-label{color:var(--color-text-tertiary);font-size:.625rem;text-transform:uppercase}.url-preview .url-value{color:var(--color-primary);font-size:var(--font-size-sm);word-break:break-all}.label-content,.page-content{background:var(--color-bg-primary);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--font-size-sm);line-height:1.7;padding:var(--spacing-md)}.label-content p,.page-content p{margin:0 0 var(--spacing-sm)}.label-content img,.page-content img{border-radius:var(--radius-sm);max-width:100%}.label-content a,.page-content a{color:var(--color-primary)}.assignment-action,.folder-action,.launch-action,.lesson-action,.page-action,.quiz-action,.url-action{margin-top:var(--spacing-sm)}.assignment-action .main-launch-btn,.assignment-action .open-btn,.assignment-action .start-btn,.assignment-action .submit-btn,.assignment-action .view-btn,.folder-action .main-launch-btn,.folder-action .open-btn,.folder-action .start-btn,.folder-action .submit-btn,.folder-action .view-btn,.launch-action .main-launch-btn,.launch-action .open-btn,.launch-action .start-btn,.launch-action .submit-btn,.launch-action .view-btn,.lesson-action .main-launch-btn,.lesson-action .open-btn,.lesson-action .start-btn,.lesson-action .submit-btn,.lesson-action .view-btn,.page-action .main-launch-btn,.page-action .open-btn,.page-action .start-btn,.page-action .submit-btn,.page-action .view-btn,.quiz-action .main-launch-btn,.quiz-action .open-btn,.quiz-action .start-btn,.quiz-action .submit-btn,.quiz-action .view-btn,.url-action .main-launch-btn,.url-action .open-btn,.url-action .start-btn,.url-action .submit-btn,.url-action .view-btn{align-items:center;background:var(--color-primary);border-radius:var(--radius-full);color:#fff;display:inline-flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);text-decoration:none;transition:all var(--transition-fast)}.assignment-action .main-launch-btn:hover,.assignment-action .open-btn:hover,.assignment-action .start-btn:hover,.assignment-action .submit-btn:hover,.assignment-action .view-btn:hover,.folder-action .main-launch-btn:hover,.folder-action .open-btn:hover,.folder-action .start-btn:hover,.folder-action .submit-btn:hover,.folder-action .view-btn:hover,.launch-action .main-launch-btn:hover,.launch-action .open-btn:hover,.launch-action .start-btn:hover,.launch-action .submit-btn:hover,.launch-action .view-btn:hover,.lesson-action .main-launch-btn:hover,.lesson-action .open-btn:hover,.lesson-action .start-btn:hover,.lesson-action .submit-btn:hover,.lesson-action .view-btn:hover,.page-action .main-launch-btn:hover,.page-action .open-btn:hover,.page-action .start-btn:hover,.page-action .submit-btn:hover,.page-action .view-btn:hover,.quiz-action .main-launch-btn:hover,.quiz-action .open-btn:hover,.quiz-action .start-btn:hover,.quiz-action .submit-btn:hover,.quiz-action .view-btn:hover,.url-action .main-launch-btn:hover,.url-action .open-btn:hover,.url-action .start-btn:hover,.url-action .submit-btn:hover,.url-action .view-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.no-chapters,.no-content,.no-files{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-lg);text-align:center}.no-chapters i,.no-content i,.no-files i{font-size:1.5rem;margin-bottom:var(--spacing-sm);opacity:.5}.no-chapters p,.no-content p,.no-files p{font-size:var(--font-size-sm);margin:0}.quiz-module-card .quiz-player-container,.quiz-module-card .quiz-results-container{margin-top:var(--spacing-md)}.quiz-module-card .results-actions{border-top:1px solid var(--color-border-light);display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md);padding-top:var(--spacing-md)}.quiz-module-card .results-actions .action-btn{align-items:center;border:none;border-radius:var(--radius-full);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);text-decoration:none;transition:all var(--transition-fast)}.quiz-module-card .results-actions .action-btn.retry-btn{background:var(--color-primary);color:#fff}.quiz-module-card .results-actions .action-btn.retry-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.quiz-module-card .results-actions .action-btn.moodle-btn{background:var(--color-bg-tertiary);color:var(--color-text)}.quiz-module-card .results-actions .action-btn.moodle-btn:hover{background:var(--color-bg-secondary)}.quiz-player{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:visible;position:relative;z-index:1}.quiz-player .quiz-loading{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-2xl);text-align:center}.quiz-player .quiz-loading i{color:var(--color-warning);font-size:2rem;margin-bottom:var(--spacing-md)}.quiz-player .quiz-loading p{font-size:var(--font-size-sm);margin:0}.quiz-player .quiz-sync-status{align-items:center;color:var(--color-text-tertiary);display:flex;font-size:.75rem;gap:var(--spacing-xs)}.quiz-player .quiz-sync-status .spin{animation:spin 1s linear infinite}.quiz-player .quiz-sync-status.syncing{color:var(--color-primary)}.quiz-player .quiz-sync-status.error{color:var(--color-danger)}.quiz-player .quiz-sync-status .sync-error-text{font-size:.7rem}.quiz-player .quiz-player-header{align-items:center;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}.quiz-player .quiz-player-header .quiz-progress{display:flex;flex:1;flex-direction:column;gap:var(--spacing-xs);max-width:300px}.quiz-player .quiz-player-header .quiz-progress .progress-text{color:var(--color-text-secondary);font-size:.75rem}.quiz-player .quiz-player-header .quiz-progress .progress-bar{background:var(--color-border);border-radius:var(--radius-full);height:4px;overflow:hidden}.quiz-player .quiz-player-header .quiz-progress .progress-bar .progress-fill{background:var(--color-primary);border-radius:var(--radius-full);height:100%;transition:width var(--transition-base)}.quiz-player .quiz-player-header .quiz-timer{align-items:center;background:var(--color-bg-primary);border-radius:var(--radius-sm);color:var(--color-text);display:flex;font-size:var(--font-size-sm);font-weight:600;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.quiz-player .quiz-player-header .quiz-timer i{color:var(--color-text-secondary)}.quiz-player .quiz-player-header .quiz-timer.warning{background:#ff2d551a;color:var(--color-danger)}.quiz-player .quiz-player-header .quiz-timer.warning i{color:var(--color-danger)}.quiz-player .quiz-question-container{min-height:250px;padding:var(--spacing-lg);position:relative;z-index:10}.quiz-player .quiz-question-container .answer-options,.quiz-player .quiz-question-container .essay-textarea,.quiz-player .quiz-question-container .matching-pairs,.quiz-player .quiz-question-container .short-answer-input,.quiz-player .quiz-question-container button,.quiz-player .quiz-question-container input,.quiz-player .quiz-question-container label,.quiz-player .quiz-question-container select{pointer-events:auto;position:relative;z-index:11}.quiz-player .quiz-navigation{align-items:center;background:var(--color-bg-secondary);border-top:1px solid var(--color-border-light);display:flex;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}.quiz-player .quiz-navigation .nav-btn{align-items:center;border:none;border-radius:var(--radius-full);cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);position:relative;transition:all var(--transition-fast);z-index:15}.quiz-player .quiz-navigation .nav-btn.prev-btn{background:var(--color-bg-tertiary);color:var(--color-text)}.quiz-player .quiz-navigation .nav-btn.prev-btn:hover:not(:disabled){background:var(--color-border)}.quiz-player .quiz-navigation .nav-btn.prev-btn:disabled{cursor:not-allowed;opacity:.5}.quiz-player .quiz-navigation .nav-btn.next-btn,.quiz-player .quiz-navigation .nav-btn.submit-btn{background:var(--color-primary);color:#fff}.quiz-player .quiz-navigation .nav-btn.next-btn:hover:not(:disabled),.quiz-player .quiz-navigation .nav-btn.submit-btn:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px)}.quiz-player .quiz-navigation .nav-btn.next-btn:disabled,.quiz-player .quiz-navigation .nav-btn.submit-btn:disabled{cursor:not-allowed;opacity:.5}.quiz-player .quiz-navigation .nav-btn.submit-btn{background:var(--color-success)}.quiz-player .quiz-navigation .nav-btn.submit-btn:hover:not(:disabled){background:#299f47}.quiz-player .quiz-navigation .question-dots{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);justify-content:center}.quiz-player .quiz-navigation .question-dots .dot{align-items:center;background:var(--color-bg-tertiary);border:2px solid var(--color-border-light);border-radius:50%;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:.75rem;font-weight:500;height:28px;justify-content:center;position:relative;transition:all var(--transition-fast);width:28px;z-index:12}.quiz-player .quiz-navigation .question-dots .dot:hover:not(.active){background:var(--color-bg-secondary);border-color:var(--color-border);color:var(--color-text)}.quiz-player .quiz-navigation .question-dots .dot.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:scale(1.1)}.quiz-player .quiz-navigation .question-dots .dot.answered:not(.active){background:#34c7591a;border-color:var(--color-success);color:var(--color-success)}.quiz-question-container .question-number{color:var(--color-text-tertiary);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:var(--spacing-sm);text-transform:uppercase}.quiz-question-container .question-text{color:var(--color-text);font-size:1rem;line-height:1.6;margin-bottom:var(--spacing-lg)}.quiz-question-container .question-text p{margin:0 0 var(--spacing-sm)}.quiz-question-container .question-text img{border-radius:var(--radius-sm);max-width:100%}.quiz-question-container .question-description{background:var(--color-bg-secondary);border-left:3px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--spacing-md)}.quiz-question-container .question-description .description-note{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.quiz-question-container .question-unsupported{align-items:center;background:#ff95001a;border-radius:var(--radius-md);color:#ff9500;display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-lg);text-align:center}.quiz-question-container .question-unsupported i{font-size:1.5rem;margin-bottom:var(--spacing-sm)}.quiz-question-container .question-unsupported p{font-size:var(--font-size-sm);margin:0}.hint-text{align-items:center;color:var(--color-text-tertiary);display:flex;font-size:.75rem;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.hint-text i{color:var(--color-text-secondary);font-size:.875rem}.quiz-question-multichoice .answer-options{display:flex;flex-direction:column;gap:var(--spacing-sm)}.quiz-question-multichoice .answer-option{align-items:flex-start;background:var(--color-bg-secondary);border:2px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-md);position:relative;transition:all var(--transition-fast);z-index:12}.quiz-question-multichoice .answer-option:hover:not(.disabled){background:var(--color-bg-tertiary);border-color:var(--color-border)}.quiz-question-multichoice .answer-option.selected{background:rgba(var(--color-primary-rgb),.05);border-color:var(--color-primary)}.quiz-question-multichoice .answer-option.disabled{cursor:not-allowed;opacity:.7}.quiz-question-multichoice .answer-option input[type=checkbox],.quiz-question-multichoice .answer-option input[type=radio]{accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;height:18px;margin-top:3px;width:18px}.quiz-question-multichoice .answer-option .option-text{color:var(--color-text);flex:1;font-size:var(--font-size-sm);line-height:1.5}.quiz-question-truefalse .tf-options{display:flex;gap:var(--spacing-md)}@media(max-width:480px){.quiz-question-truefalse .tf-options{flex-direction:column}}.quiz-question-truefalse .tf-option{align-items:center;background:var(--color-bg-secondary);border:2px solid var(--color-border-light);border-radius:var(--radius-lg);cursor:pointer;display:flex;flex:1;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-lg);position:relative;transition:all var(--transition-fast);z-index:12}.quiz-question-truefalse .tf-option i{color:var(--color-text-secondary);font-size:1.5rem}.quiz-question-truefalse .tf-option span{color:var(--color-text);font-size:var(--font-size-sm);font-weight:500}.quiz-question-truefalse .tf-option:hover:not(.disabled):not(:disabled){background:var(--color-bg-tertiary);border-color:var(--color-border)}.quiz-question-truefalse .tf-option.selected{background:rgba(var(--color-primary-rgb),.05);border-color:var(--color-primary)}.quiz-question-truefalse .tf-option.selected i{color:var(--color-primary)}.quiz-question-truefalse .tf-option.disabled,.quiz-question-truefalse .tf-option:disabled{cursor:not-allowed;opacity:.7}.quiz-question-match .match-instructions{align-items:center;color:var(--color-text-tertiary);display:flex;font-size:.75rem;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.quiz-question-match .match-instructions i{color:var(--color-text-secondary);font-size:.875rem}.quiz-question-match .match-pairs{display:flex;flex-direction:column;gap:var(--spacing-sm)}.quiz-question-match .match-pair{align-items:center;background:var(--color-bg-secondary);border-radius:var(--radius-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr auto 1fr;padding:var(--spacing-sm)}@media(max-width:640px){.quiz-question-match .match-pair{gap:var(--spacing-xs);grid-template-columns:1fr}}.quiz-question-match .match-pair .match-question{background:var(--color-bg-primary);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--font-size-sm);padding:var(--spacing-sm)}.quiz-question-match .match-pair .match-arrow{color:var(--color-text-tertiary);font-size:.75rem}@media(max-width:640px){.quiz-question-match .match-pair .match-arrow{display:none}}.quiz-question-match .match-pair .match-select select{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);position:relative;width:100%;z-index:12}.quiz-question-match .match-pair .match-select select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.1);outline:none}.quiz-question-match .match-pair .match-select select:disabled{cursor:not-allowed;opacity:.7}.quiz-question-shortanswer .answer-input-wrapper{width:100%}.quiz-question-shortanswer .answer-input{background:var(--color-bg-secondary);border:2px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);padding:var(--spacing-md);position:relative;transition:all var(--transition-fast);width:100%;z-index:12}.quiz-question-shortanswer .answer-input::-moz-placeholder{color:var(--color-text-tertiary)}.quiz-question-shortanswer .answer-input::placeholder{color:var(--color-text-tertiary)}.quiz-question-shortanswer .answer-input:focus{background:var(--color-bg-primary);border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1);outline:none}.quiz-question-shortanswer .answer-input:disabled{cursor:not-allowed;opacity:.7}.quiz-question-essay .answer-textarea-wrapper{width:100%}.quiz-question-essay .answer-textarea{background:var(--color-bg-secondary);border:2px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text);font-family:inherit;font-size:var(--font-size-sm);line-height:1.6;min-height:150px;padding:var(--spacing-md);position:relative;resize:vertical;transition:all var(--transition-fast);width:100%;z-index:12}.quiz-question-essay .answer-textarea::-moz-placeholder{color:var(--color-text-tertiary)}.quiz-question-essay .answer-textarea::placeholder{color:var(--color-text-tertiary)}.quiz-question-essay .answer-textarea:focus{background:var(--color-bg-primary);border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1);outline:none}.quiz-question-essay .answer-textarea:disabled{cursor:not-allowed;opacity:.7;resize:none}.quiz-question .question-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.quiz-question .question-header .question-number{color:var(--color-text-tertiary);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.quiz-question .question-header .question-type{background:var(--color-bg-secondary);border-radius:var(--radius-full);color:var(--color-text-secondary);font-size:.6875rem;padding:var(--spacing-xs) var(--spacing-sm)}.quiz-question .question-header .question-marks{color:var(--color-primary);font-size:.75rem;font-weight:500}.quiz-question .question-text{color:var(--color-text);font-size:1rem;line-height:1.6;margin-bottom:var(--spacing-lg)}.quiz-question .question-text p{margin:0 0 var(--spacing-sm)}.quiz-question .question-text img{border-radius:var(--radius-sm);max-width:100%}.multichoice-options{display:flex;flex-direction:column;gap:var(--spacing-sm)}.multichoice-options .option-item{align-items:flex-start;background:var(--color-bg-secondary);border:2px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);transition:all var(--transition-fast)}.multichoice-options .option-item:hover:not(.disabled){background:var(--color-bg-tertiary);border-color:var(--color-border)}.multichoice-options .option-item.selected{background:rgba(var(--color-primary-rgb),.05);border-color:var(--color-primary)}.multichoice-options .option-item.disabled{cursor:not-allowed;opacity:.7}.multichoice-options .option-item input[type=checkbox],.multichoice-options .option-item input[type=radio]{accent-color:var(--color-primary);margin-top:2px}.multichoice-options .option-item .option-text{color:var(--color-text);flex:1;font-size:var(--font-size-sm);line-height:1.5}.truefalse-options{display:flex;gap:var(--spacing-md)}@media(max-width:480px){.truefalse-options{flex-direction:column}}.truefalse-options .tf-btn{align-items:center;background:var(--color-bg-secondary);border:2px solid var(--color-border-light);border-radius:var(--radius-lg);cursor:pointer;display:flex;flex:1;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-lg);transition:all var(--transition-fast)}.truefalse-options .tf-btn i{color:var(--color-text-secondary);font-size:1.5rem}.truefalse-options .tf-btn span{color:var(--color-text);font-size:var(--font-size-sm);font-weight:500}.truefalse-options .tf-btn:hover:not(.disabled){background:var(--color-bg-tertiary);border-color:var(--color-border)}.truefalse-options .tf-btn.selected{background:rgba(var(--color-primary-rgb),.05);border-color:var(--color-primary)}.truefalse-options .tf-btn.selected i{color:var(--color-primary)}.truefalse-options .tf-btn.disabled{cursor:not-allowed;opacity:.7}.matching-pairs{display:flex;flex-direction:column;gap:var(--spacing-sm)}.matching-pairs .match-pair{align-items:center;background:var(--color-bg-secondary);border-radius:var(--radius-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr auto 1fr;padding:var(--spacing-sm)}@media(max-width:640px){.matching-pairs .match-pair{gap:var(--spacing-xs);grid-template-columns:1fr}}.matching-pairs .match-pair .match-question{background:var(--color-bg-primary);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--font-size-sm);padding:var(--spacing-sm)}.matching-pairs .match-pair .match-arrow{color:var(--color-text-tertiary);font-size:.75rem}@media(max-width:640px){.matching-pairs .match-pair .match-arrow{display:none}}.matching-pairs .match-pair .match-select{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-sm)}.matching-pairs .match-pair .match-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.1);outline:none}.matching-pairs .match-pair .match-select:disabled{cursor:not-allowed;opacity:.7}.shortanswer-input .answer-input{background:var(--color-bg-secondary);border:2px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);padding:var(--spacing-md);transition:all var(--transition-fast);width:100%}.shortanswer-input .answer-input::-moz-placeholder{color:var(--color-text-tertiary)}.shortanswer-input .answer-input::placeholder{color:var(--color-text-tertiary)}.shortanswer-input .answer-input:focus{background:var(--color-bg-primary);border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1);outline:none}.shortanswer-input .answer-input:disabled{cursor:not-allowed;opacity:.7}.shortanswer-input .input-hint{color:var(--color-text-tertiary);font-size:.75rem;margin-top:var(--spacing-xs)}.essay-input .essay-textarea{background:var(--color-bg-secondary);border:2px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text);font-family:inherit;font-size:var(--font-size-sm);line-height:1.6;min-height:150px;padding:var(--spacing-md);resize:vertical;transition:all var(--transition-fast);width:100%}.essay-input .essay-textarea::-moz-placeholder{color:var(--color-text-tertiary)}.essay-input .essay-textarea::placeholder{color:var(--color-text-tertiary)}.essay-input .essay-textarea:focus{background:var(--color-bg-primary);border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1);outline:none}.essay-input .essay-textarea:disabled{cursor:not-allowed;opacity:.7;resize:none}.essay-input .essay-note{align-items:center;color:var(--color-text-tertiary);display:flex;font-size:.75rem;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.essay-input .essay-note i{font-size:.875rem}.quiz-results .results-summary{align-items:center;background:var(--color-bg-secondary);border-radius:var(--radius-lg);display:flex;gap:var(--spacing-xl);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg)}@media(max-width:480px){.quiz-results .results-summary{flex-direction:column;text-align:center}}.quiz-results .results-summary .score-circle{align-items:center;background:var(--color-bg-primary);border:4px solid;border-radius:50%;display:flex;flex-direction:column;flex-shrink:0;height:100px;justify-content:center;width:100px}.quiz-results .results-summary .score-circle.excellent{border-color:var(--color-success)}.quiz-results .results-summary .score-circle.good{border-color:#007aff}.quiz-results .results-summary .score-circle.fair{border-color:#ff9500}.quiz-results .results-summary .score-circle.poor{border-color:var(--color-danger)}.quiz-results .results-summary .score-circle .score-percentage{color:var(--color-text);font-size:1.5rem;font-weight:700}.quiz-results .results-summary .score-circle .score-label{color:var(--color-text-tertiary);font-size:.625rem;font-weight:500;text-transform:uppercase}.quiz-results .results-summary .score-details{display:flex;flex-wrap:wrap;gap:var(--spacing-lg)}.quiz-results .results-summary .score-details .detail-item{display:flex;flex-direction:column;gap:2px}.quiz-results .results-summary .score-details .detail-item .detail-value{color:var(--color-text);font-size:1.25rem;font-weight:600}.quiz-results .results-summary .score-details .detail-item .detail-label{color:var(--color-text-tertiary);font-size:.75rem}.quiz-results .results-breakdown .breakdown-title{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--spacing-md)}.quiz-results .results-breakdown .question-result{background:var(--color-bg-secondary);border-left:3px solid transparent;border-radius:var(--radius-md);margin-bottom:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md)}.quiz-results .results-breakdown .question-result.correct{border-left-color:var(--color-success)}.quiz-results .results-breakdown .question-result.incorrect{border-left-color:var(--color-danger)}.quiz-results .results-breakdown .question-result .qr-header{align-items:center;display:flex;gap:var(--spacing-md)}.quiz-results .results-breakdown .question-result .qr-header .qr-number{color:var(--color-text-secondary);font-size:.75rem;font-weight:600}.quiz-results .results-breakdown .question-result .qr-header .qr-status{align-items:center;display:flex;font-size:.75rem;font-weight:500;gap:var(--spacing-xs)}.quiz-results .results-breakdown .question-result .qr-header .qr-status .bi-check-circle-fill{color:var(--color-success)}.quiz-results .results-breakdown .question-result .qr-header .qr-status .bi-x-circle-fill{color:var(--color-danger)}.quiz-results .results-breakdown .question-result .qr-header .qr-status .bi-dash-circle{color:var(--color-text-tertiary)}.quiz-results .results-breakdown .question-result .qr-header .qr-score{color:var(--color-text-secondary);font-size:.75rem;font-weight:500;margin-left:auto}.quiz-results .results-breakdown .question-result .qr-feedback{align-items:flex-start;border-top:1px solid var(--color-border-light);color:var(--color-text-secondary);display:flex;font-size:.75rem;gap:var(--spacing-xs);margin-top:var(--spacing-xs);padding-top:var(--spacing-xs)}.quiz-results .results-breakdown .question-result .qr-feedback i{color:var(--color-text-tertiary)}.quiz-results .results-breakdown .question-result .qr-answer{font-size:.75rem;margin-top:var(--spacing-xs)}.quiz-results .results-breakdown .question-result .qr-answer .answer-label{color:var(--color-text-tertiary);margin-right:var(--spacing-xs)}.quiz-results .results-breakdown .question-result .qr-answer .answer-value{color:var(--color-success);font-weight:500}.lesson-module-card .lesson-viewer-container{margin-top:var(--spacing-md)}.lesson-viewer{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:hidden}.lesson-viewer .lesson-viewer-header{align-items:center;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}.lesson-viewer .lesson-viewer-header .lesson-progress{display:flex;flex:1;flex-direction:column;gap:var(--spacing-xs);max-width:300px}.lesson-viewer .lesson-viewer-header .lesson-progress .progress-text{color:var(--color-text-secondary);font-size:.75rem}.lesson-viewer .lesson-viewer-header .lesson-progress .progress-bar{background:var(--color-border);border-radius:var(--radius-full);height:4px;overflow:hidden}.lesson-viewer .lesson-viewer-header .lesson-progress .progress-bar .progress-fill{background:var(--color-success);border-radius:var(--radius-full);height:100%;transition:width var(--transition-base)}.lesson-viewer .lesson-viewer-header .lesson-timer{align-items:center;background:var(--color-bg-primary);border-radius:var(--radius-sm);color:var(--color-text);display:flex;font-size:var(--font-size-sm);font-weight:600;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.lesson-viewer .lesson-viewer-header .lesson-timer i{color:var(--color-text-secondary)}.lesson-viewer .lesson-viewer-header .lesson-timer.warning{background:#ff2d551a;color:var(--color-danger)}.lesson-viewer .lesson-viewer-header .lesson-timer.warning i{color:var(--color-danger)}.lesson-viewer .lesson-page-container{min-height:200px;padding:var(--spacing-lg)}.lesson-viewer .lesson-complete{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-2xl);text-align:center}.lesson-viewer .lesson-complete .complete-icon{align-items:center;background:#34c7591a;border-radius:50%;display:flex;height:64px;justify-content:center;margin-bottom:var(--spacing-md);width:64px}.lesson-viewer .lesson-complete .complete-icon i{color:var(--color-success);font-size:2rem}.lesson-viewer .lesson-complete h3{color:var(--color-text);font-size:1.25rem;font-weight:600;margin:0 0 var(--spacing-xs)}.lesson-viewer .lesson-complete p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0 0 var(--spacing-lg)}.lesson-viewer .lesson-complete .lesson-score{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--spacing-lg)}.lesson-viewer .lesson-complete .lesson-score .score-value{color:var(--color-primary);font-size:1.5rem;font-weight:700}.lesson-viewer .lesson-complete .lesson-score .score-label{color:var(--color-text-tertiary);font-size:.75rem}.lesson-viewer .lesson-complete .restart-btn{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-fast)}.lesson-viewer .lesson-complete .restart-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.lesson-viewer .lesson-navigation{align-items:center;background:var(--color-bg-secondary);border-top:1px solid var(--color-border-light);display:flex;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}.lesson-viewer .lesson-navigation .nav-btn{align-items:center;border:none;border-radius:var(--radius-full);cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-fast)}.lesson-viewer .lesson-navigation .nav-btn.prev-btn{background:var(--color-bg-tertiary);color:var(--color-text)}.lesson-viewer .lesson-navigation .nav-btn.prev-btn:hover:not(:disabled){background:var(--color-border)}.lesson-viewer .lesson-navigation .nav-btn.prev-btn:disabled{cursor:not-allowed;opacity:.5}.lesson-viewer .lesson-navigation .nav-btn.next-btn{background:var(--color-primary);color:#fff}.lesson-viewer .lesson-navigation .nav-btn.next-btn:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px)}.lesson-viewer .lesson-navigation .page-indicator{display:flex;gap:var(--spacing-xs)}.lesson-viewer .lesson-navigation .page-indicator .page-dot{background:var(--color-border);border-radius:50%;height:8px;transition:all var(--transition-fast);width:8px}.lesson-viewer .lesson-navigation .page-indicator .page-dot.current{background:var(--color-primary);transform:scale(1.25)}.lesson-viewer .lesson-navigation .page-indicator .page-dot.visited{background:var(--color-success)}.lesson-page .page-title{color:var(--color-text);font-size:1.125rem;font-weight:600;margin:0 0 var(--spacing-md)}.lesson-page .page-content{color:var(--color-text);font-size:var(--font-size-sm);line-height:1.7;margin-bottom:var(--spacing-lg)}.lesson-page .page-content p{margin:0 0 var(--spacing-sm)}.lesson-page .page-content img{border-radius:var(--radius-sm);max-width:100%}.lesson-page .page-content a{color:var(--color-primary)}.lesson-page .page-question{background:var(--color-bg-secondary);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.lesson-page .page-question .answer-input{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);width:100%}.lesson-page .page-question .answer-input::-moz-placeholder{color:var(--color-text-tertiary)}.lesson-page .page-question .answer-input::placeholder{color:var(--color-text-tertiary)}.lesson-page .page-question .answer-input:focus{border-color:var(--color-primary);outline:none}.lesson-page .page-question .answer-input:disabled{cursor:not-allowed;opacity:.7}.lesson-page .page-question .submit-btn{background:var(--color-primary);border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;font-size:var(--font-size-sm);font-weight:500;margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-fast)}.lesson-page .page-question .submit-btn:hover:not(:disabled){background:var(--color-primary-dark)}.lesson-page .page-question .submit-btn:disabled{cursor:not-allowed;opacity:.5}.lesson-page .question-truefalse .tf-options{display:flex;gap:var(--spacing-md)}@media(max-width:480px){.lesson-page .question-truefalse .tf-options{flex-direction:column}}.lesson-page .question-truefalse .tf-options .tf-btn{align-items:center;background:var(--color-bg-primary);border:2px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;display:flex;flex:1;gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-md);transition:all var(--transition-fast)}.lesson-page .question-truefalse .tf-options .tf-btn i{color:var(--color-text-secondary);font-size:1.25rem}.lesson-page .question-truefalse .tf-options .tf-btn:hover:not(.disabled){background:var(--color-bg-tertiary);border-color:var(--color-border)}.lesson-page .question-truefalse .tf-options .tf-btn.selected{background:rgba(var(--color-primary-rgb),.05);border-color:var(--color-primary)}.lesson-page .question-truefalse .tf-options .tf-btn.selected i{color:var(--color-primary)}.lesson-page .question-truefalse .tf-options .tf-btn.disabled{cursor:not-allowed;opacity:.7}.lesson-page .question-multichoice .answer-options{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.lesson-page .question-multichoice .answer-options .answer-option{align-items:flex-start;background:var(--color-bg-primary);border:2px solid var(--color-border-light);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.lesson-page .question-multichoice .answer-options .answer-option:hover:not(.disabled){border-color:var(--color-border)}.lesson-page .question-multichoice .answer-options .answer-option.selected{background:rgba(var(--color-primary-rgb),.05);border-color:var(--color-primary)}.lesson-page .question-multichoice .answer-options .answer-option.disabled{cursor:not-allowed;opacity:.7}.lesson-page .question-multichoice .answer-options .answer-option input{accent-color:var(--color-primary);margin-top:2px}.lesson-page .question-multichoice .answer-options .answer-option .option-text{color:var(--color-text);flex:1;font-size:var(--font-size-sm);line-height:1.5}.lesson-page .question-matching .match-instructions{color:var(--color-text-tertiary);font-size:.75rem;margin-bottom:var(--spacing-sm)}.lesson-page .question-matching .matching-pairs{display:flex;flex-direction:column;gap:var(--spacing-sm)}.lesson-page .question-matching .matching-pairs .match-pair{align-items:center;display:flex;gap:var(--spacing-md)}@media(max-width:480px){.lesson-page .question-matching .matching-pairs .match-pair{align-items:stretch;flex-direction:column}}.lesson-page .question-matching .matching-pairs .match-pair .match-question{background:var(--color-bg-primary);border-radius:var(--radius-sm);color:var(--color-text);flex:1;font-size:var(--font-size-sm);padding:var(--spacing-sm)}.lesson-page .question-matching .matching-pairs .match-pair .match-select{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--font-size-sm);min-width:150px;padding:var(--spacing-sm)}.lesson-page .question-matching .matching-pairs .match-pair .match-select:focus{border-color:var(--color-primary);outline:none}.lesson-page .question-matching .matching-pairs .match-pair .match-select:disabled{cursor:not-allowed;opacity:.7}.lesson-page .question-essay .essay-textarea{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text);font-family:inherit;font-size:var(--font-size-sm);line-height:1.6;min-height:120px;padding:var(--spacing-md);resize:vertical;width:100%}.lesson-page .question-essay .essay-textarea::-moz-placeholder{color:var(--color-text-tertiary)}.lesson-page .question-essay .essay-textarea::placeholder{color:var(--color-text-tertiary)}.lesson-page .question-essay .essay-textarea:focus{border-color:var(--color-primary);outline:none}.lesson-page .question-essay .essay-textarea:disabled{cursor:not-allowed;opacity:.7;resize:none}.lesson-page .question-essay .essay-note{align-items:center;color:var(--color-text-tertiary);display:flex;font-size:.75rem;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.lesson-page .question-essay .essay-note i{font-size:.875rem}.lesson-page .page-feedback{align-items:flex-start;border-radius:var(--radius-md);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);line-height:1.5;padding:var(--spacing-md)}.lesson-page .page-feedback i{font-size:1rem;margin-top:2px}.lesson-page .page-feedback.correct{background:#34c7591a;color:var(--color-success)}.lesson-page .page-feedback.correct i{color:var(--color-success)}.lesson-page .page-feedback.incorrect{background:#ff2d551a;color:var(--color-danger)}.lesson-page .page-feedback.incorrect i{color:var(--color-danger)}.scorm-module-card .scorm-player-active{margin-top:var(--spacing-md)}.scorm-player{background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden}.scorm-player .scorm-player-header{align-items:center;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md)}.scorm-player .scorm-player-header .sco-info{align-items:center;display:flex;gap:var(--spacing-sm)}.scorm-player .scorm-player-header .sco-info i{color:var(--color-primary);font-size:.875rem}.scorm-player .scorm-player-header .sco-info .sco-title{color:var(--color-text);font-size:var(--font-size-sm);font-weight:500}.scorm-player .scorm-player-header .player-actions{display:flex;gap:var(--spacing-xs)}.scorm-player .scorm-player-header .player-actions .action-btn{align-items:center;background:var(--color-bg-tertiary);border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:.75rem;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);transition:all var(--transition-fast)}.scorm-player .scorm-player-header .player-actions .action-btn:hover{background:var(--color-border);color:var(--color-text)}.scorm-player .scorm-player-header .player-actions .action-btn.close-btn:hover{background:#ff2d551a;color:var(--color-danger)}.scorm-player .scorm-loading{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-2xl)}.scorm-player .scorm-loading .spinner{animation:spin .8s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:32px;margin-bottom:var(--spacing-md);width:32px}.scorm-player .scorm-loading p{font-size:var(--font-size-sm);margin:0}.scorm-player .scorm-error{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-2xl);text-align:center}.scorm-player .scorm-error>i{color:var(--color-danger);font-size:2rem;margin-bottom:var(--spacing-md)}.scorm-player .scorm-error p{font-size:var(--font-size-sm);margin:0 0 var(--spacing-md)}.scorm-player .scorm-error .retry-btn{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-fast)}.scorm-player .scorm-error .retry-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.scorm-player .scorm-fallback{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-2xl);text-align:center}.scorm-player .scorm-fallback>i{color:var(--color-text-tertiary);font-size:2rem;margin-bottom:var(--spacing-md)}.scorm-player .scorm-fallback p{font-size:var(--font-size-sm);margin:0 0 var(--spacing-md)}.scorm-player .scorm-fallback .external-btn{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-full);color:#fff;display:flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;transition:all var(--transition-fast)}.scorm-player .scorm-fallback .external-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.scorm-player .scorm-frame{background:#fff;border:none;height:500px;width:100%}.scorm-player .scorm-frame.fullscreen{height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:9999}.assignment-module-card .assignment-status{align-items:center;background:var(--color-bg-primary);border-radius:var(--radius-md);display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.assignment-module-card .assignment-status .status-badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:.6875rem;font-weight:600;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);text-transform:uppercase}.assignment-module-card .assignment-status .status-badge.submitted{background:#34c7591a;color:var(--color-success)}.assignment-module-card .assignment-status .status-badge.draft{background:#ff95001a;color:#ff9500}.assignment-module-card .assignment-status .status-badge.new{background:#007aff1a;color:#007aff}.assignment-module-card .assignment-status .status-badge.reopened{background:#af52de1a;color:#af52de}.assignment-module-card .assignment-status .days-remaining{color:var(--color-text-secondary);font-size:.75rem;margin-left:auto}.assignment-module-card .assignment-status .days-remaining.overdue{color:var(--color-danger);font-weight:500}.assignment-module-card .submission-details{background:var(--color-bg-primary);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.assignment-module-card .submission-details .submission-header{color:var(--color-text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:var(--spacing-sm);text-transform:uppercase}.assignment-module-card .submission-details .submission-files{display:flex;flex-direction:column;gap:var(--spacing-xs)}.assignment-module-card .submission-details .submission-files .submission-file{align-items:center;background:var(--color-bg-secondary);border-radius:var(--radius-sm);display:flex;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm)}.assignment-module-card .submission-details .submission-files .submission-file i{color:var(--color-primary);font-size:.875rem}.assignment-module-card .submission-details .submission-files .submission-file .file-name{color:var(--color-text);font-size:var(--font-size-sm)}.assignment-module-card .submission-details .submission-files .submission-file .file-size{color:var(--color-text-tertiary);font-size:.625rem;margin-left:auto}.assignment-module-card .submission-details .submission-text{background:var(--color-bg-secondary);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--font-size-sm);line-height:1.6;max-height:150px;overflow-y:auto;padding:var(--spacing-sm)}.assignment-module-card .submission-details .submission-text p{margin:0 0 var(--spacing-xs)}.courses-page{margin:0 auto;max-width:1400px;padding:var(--spacing-lg)}.courses-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--spacing-lg);justify-content:space-between;margin-bottom:var(--spacing-lg)}.courses-header__title-group h1{color:var(--color-text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-xs)}.courses-header__subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.courses-header__actions{align-items:center;display:flex;gap:var(--spacing-md)}.courses-header__search{align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-full);display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.courses-header__search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.courses-header__search i{color:var(--color-text-tertiary);font-size:14px}.courses-header__search input{background:transparent;border:none;color:var(--color-text);font-size:var(--font-size-sm);outline:none;width:200px}.courses-header__search input::-moz-placeholder{color:var(--color-text-tertiary)}.courses-header__search input::placeholder{color:var(--color-text-tertiary)}.courses-filters{background:transparent;border-radius:0;display:flex;flex-wrap:wrap;margin-bottom:var(--spacing-xl);padding:0;width:auto}.courses-filters,.filter-pill{align-items:center;gap:var(--spacing-sm)}.filter-pill{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.filter-pill i{font-size:14px}.filter-pill:hover{background:var(--color-bg-secondary);color:var(--color-text)}.filter-pill.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.courses-filters .moodle-dropdown{margin-left:auto;position:relative}.courses-filters .moodle-dropdown .moodle-dropdown__trigger{align-items:center;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.courses-filters .moodle-dropdown .moodle-dropdown__trigger .bi-chevron-down{font-size:12px;transition:transform var(--transition-fast)}.courses-filters .moodle-dropdown .moodle-dropdown__trigger .bi-chevron-down.rotated{transform:rotate(180deg)}.courses-filters .moodle-dropdown .moodle-dropdown__trigger:hover{background:var(--color-bg-secondary);border-color:var(--color-border-dark)}.courses-filters .moodle-dropdown .moodle-dropdown__trigger.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.courses-filters .moodle-dropdown .moodle-dropdown__menu{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);left:0;max-width:calc(100vw - 2rem);min-width:220px;padding:var(--spacing-sm);position:absolute;top:calc(100% + var(--spacing-xs));z-index:100}.courses-filters .moodle-dropdown .moodle-dropdown__item{align-items:center;border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:background var(--transition-fast)}.courses-filters .moodle-dropdown .moodle-dropdown__item input[type=checkbox]{display:none}.courses-filters .moodle-dropdown .moodle-dropdown__item:hover{background:var(--color-bg-secondary)}.courses-filters .moodle-dropdown .moodle-dropdown__checkbox{align-items:center;border:2px solid var(--color-border);border-radius:var(--radius-sm);display:flex;flex-shrink:0;height:18px;justify-content:center;position:relative;transition:all var(--transition-fast);width:18px}.courses-filters .moodle-dropdown .moodle-dropdown__checkbox:after{background:var(--color-primary);border-radius:2px;content:"";height:10px;opacity:0;transform:scale(0);transition:all var(--transition-fast);width:10px}.courses-filters .moodle-dropdown .moodle-dropdown__item input:checked+.moodle-dropdown__checkbox{border-color:var(--color-primary)}.courses-filters .moodle-dropdown .moodle-dropdown__item input:checked+.moodle-dropdown__checkbox:after{opacity:1;transform:scale(1)}.courses-filters .moodle-dropdown .moodle-dropdown__dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.courses-filters .moodle-dropdown .moodle-dropdown__divider{background:var(--color-border-light);height:1px;margin:var(--spacing-sm) 0}.platform-filter{margin-left:auto;position:relative;z-index:50}.platform-filter__btn{align-items:center;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.platform-filter__btn .bi-chevron-down{font-size:12px;transition:transform var(--transition-fast)}.platform-filter__btn .bi-chevron-down.is-rotated{transform:rotate(180deg)}.platform-filter__btn:hover{background:var(--color-bg-secondary);border-color:var(--color-border-dark)}.platform-filter__btn--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.platform-filter__dropdown{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:0 4px 20px #00000026;left:0;min-width:240px;padding:var(--spacing-sm);position:absolute;top:calc(100% + 8px);z-index:1000}.platform-filter__option{align-items:center;border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);transition:background var(--transition-fast)}.platform-filter__option input[type=checkbox]{opacity:0;pointer-events:none;position:absolute}.platform-filter__option:hover{background:var(--color-bg-secondary)}.platform-filter__check{align-items:center;border:2px solid var(--color-border);display:flex;flex-shrink:0;height:18px;justify-content:center;position:relative;width:18px}.platform-filter__check,.platform-filter__check:after{border-radius:50%;transition:all var(--transition-fast)}.platform-filter__check:after{background:var(--color-primary);content:"";height:10px;opacity:0;transform:scale(0);width:10px}.platform-filter__option input:checked+.platform-filter__check{border-color:var(--color-primary)}.platform-filter__option input:checked+.platform-filter__check:after{opacity:1;transform:scale(1)}.platform-filter__dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.platform-filter__separator{background:var(--color-border-light);border:none;height:1px;margin:var(--spacing-sm) 0}.dropdown-enter-active,.dropdown-leave-active{transition:all var(--transition-fast)}.dropdown-enter-from,.dropdown-leave-to{opacity:0;transform:translateY(-8px)}.courses-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}@media(max-width:768px){.courses-grid{grid-template-columns:1fr}}.courses-grid--loading .course-card--skeleton{pointer-events:none}.course-card{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);cursor:pointer;overflow:hidden;position:relative;transition:all var(--transition-base)}.course-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.course-card:hover .course-card__arrow{opacity:1;transform:translate(0)}.course-card:hover .course-card__image{transform:scale(1.05)}.course-card__image-wrapper{background:var(--color-bg-tertiary);height:180px;overflow:hidden;position:relative}.course-card__image{height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--transition-slow);width:100%}.course-card__image-placeholder{align-items:center;background:linear-gradient(135deg,var(--color-bg-secondary) 0,var(--color-bg-tertiary) 100%);display:flex;height:100%;justify-content:center;width:100%}.course-card__image-placeholder i{color:var(--color-text-tertiary);font-size:3rem}.course-card__progress-ring{align-items:center;background:var(--color-bg);border-radius:var(--radius-full);box-shadow:var(--shadow-md);display:flex;height:44px;justify-content:center;position:absolute;right:var(--spacing-md);top:var(--spacing-md);width:44px}.course-card__progress-ring svg{height:36px;position:absolute;transform:rotate(-90deg);width:36px}.course-card__progress-ring .progress-bg{stroke:var(--color-border)}.course-card__progress-ring .progress-fill{stroke:var(--color-primary);transition:stroke-dasharray var(--transition-slow)}.course-card__progress-ring .progress-text{color:var(--color-text);font-size:10px;font-weight:var(--font-weight-semibold);z-index:1}.course-card__completion-badge{align-items:center;background:var(--color-success);border-radius:var(--radius-full);box-shadow:var(--shadow-md);color:#fff;display:flex;font-size:14px;height:28px;justify-content:center;left:var(--spacing-md);position:absolute;top:var(--spacing-md);width:28px}.course-card__moodle-badge{border-radius:var(--radius-sm);bottom:var(--spacing-md);box-shadow:var(--shadow-sm);color:#fff;font-size:10px;font-weight:var(--font-weight-semibold);left:var(--spacing-md);letter-spacing:.03em;padding:3px var(--spacing-sm);position:absolute;text-transform:uppercase;z-index:2}.course-card__content{padding:var(--spacing-lg)}.course-card__category{background:rgba(var(--color-primary-rgb),.1);border-radius:var(--radius-sm);color:var(--color-primary);display:inline-block;font-size:11px;font-weight:var(--font-weight-semibold);letter-spacing:.05em;margin-bottom:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);text-transform:uppercase}.course-card__title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);margin:0 0 var(--spacing-sm)}.course-card__summary,.course-card__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-card__summary{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin:0 0 var(--spacing-md)}.course-card__progress-bar{background:var(--color-bg-tertiary);border-radius:2px;height:4px;margin-bottom:var(--spacing-md);overflow:hidden}.course-card__progress-bar .progress-fill{background:var(--color-primary);border-radius:2px;height:100%;transition:width var(--transition-slow)}.course-card__progress-bar .progress-fill.is-complete{background:var(--color-success)}.course-card__progress-bar .progress-fill.is-halfway{background:#007aff}.course-card__progress-bar .progress-fill.is-started{background:var(--color-primary)}.course-card__meta{color:var(--color-text-tertiary);display:flex;font-size:var(--font-size-xs);gap:var(--spacing-md)}.course-card__meta span{align-items:center;display:flex;gap:var(--spacing-xs)}.course-card__meta i{font-size:14px}.course-card__arrow{align-items:center;background:var(--color-primary);border-radius:var(--radius-full);bottom:var(--spacing-lg);color:#fff;display:flex;height:32px;justify-content:center;opacity:0;position:absolute;right:var(--spacing-lg);transform:translate(-8px);transition:all var(--transition-fast);width:32px}.course-card--skeleton .course-card__image{height:180px}.skeleton-shimmer{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--color-bg-secondary) 0,var(--color-bg) 50%,var(--color-bg-secondary) 100%);background-size:200% 100%}.skeleton-line{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--color-bg-secondary) 0,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 100%);background-size:200% 100%;border-radius:var(--radius-sm);height:16px}.skeleton-line--category{height:20px;margin-bottom:var(--spacing-sm);width:60px}.skeleton-line--title{height:22px;margin-bottom:var(--spacing-sm);width:85%}.skeleton-line--summary{height:14px;margin-bottom:var(--spacing-md);width:100%}.skeleton-line--progress{height:4px;margin-bottom:var(--spacing-md);width:100%}.skeleton-line--meta{height:14px;width:50%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.courses-empty{flex-direction:column;padding:var(--spacing-2xl);text-align:center}.courses-empty,.courses-empty__icon{align-items:center;display:flex;justify-content:center}.courses-empty__icon{background:var(--color-bg-secondary);border-radius:var(--radius-full);height:80px;margin-bottom:var(--spacing-lg);width:80px}.courses-empty__icon i{color:var(--color-text-tertiary);font-size:2.5rem}.courses-empty h3{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-sm)}.courses-empty p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.course-detail{min-height:100vh}.course-hero{align-items:flex-end;display:flex;margin-bottom:var(--spacing-lg);min-height:320px;overflow:hidden;position:relative}.course-hero__background{inset:0;position:absolute}.course-hero__image{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.course-hero__placeholder{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);height:100%;width:100%}.course-hero__overlay{background:linear-gradient(0deg,#000000d9 0,#00000080 50%,#0000004d);inset:0;position:absolute}.course-hero__content{align-items:end;display:grid;gap:var(--spacing-md);grid-template-columns:1fr auto;grid-template-rows:auto auto auto;margin:0 auto;max-width:1200px;padding:var(--spacing-xl);position:relative;width:100%;z-index:1}@media(max-width:768px){.course-hero__content{grid-template-columns:1fr;padding:var(--spacing-lg)}}.course-hero__breadcrumb{grid-column:1/-1;margin-bottom:var(--spacing-sm)}.course-hero__breadcrumb-link{align-items:center;background:#ffffff26;border-radius:var(--radius-full);color:#fffc;display:inline-flex;font-size:var(--font-size-sm);gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:background var(--transition-fast)}.course-hero__breadcrumb-link:hover{background:#ffffff40;color:#fff}.course-hero__info{grid-column:1}.course-hero__category{background:#fff3;border-radius:var(--radius-sm);color:#fff;display:inline-block;font-size:12px;font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);text-transform:uppercase}.course-hero__title{color:#fff;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-xs);text-shadow:0 2px 8px rgba(0,0,0,.3)}@media(min-width:768px){.course-hero__title{font-size:var(--font-size-3xl)}}.course-hero__code{color:#ffffffb3;font-size:var(--font-size-sm);margin:0}.course-hero__progress-card{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);grid-column:2;grid-row:2;padding:var(--spacing-lg);text-align:center}@media(max-width:768px){.course-hero__progress-card{grid-column:1;grid-row:auto;margin-top:var(--spacing-md)}}.course-hero__progress-circle{height:80px;margin:0 auto var(--spacing-sm);position:relative;width:80px}.course-hero__progress-circle svg{height:100%;transform:rotate(-90deg);width:100%}.course-hero__progress-circle .progress-bg{stroke:var(--color-border)}.course-hero__progress-circle .progress-fill{stroke:var(--color-success);transition:stroke-dashoffset var(--transition-slow)}.course-hero__progress-circle .progress-value{align-items:center;display:flex;flex-direction:row;inset:0;justify-content:center;position:absolute}.course-hero__progress-circle .progress-number{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.course-hero__progress-circle .progress-percent{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.course-hero__progress-label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.05em;text-transform:uppercase}.course-hero__stats{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);grid-column:1/-1}@media(max-width:768px){.course-hero__stats{gap:var(--spacing-md)}}.course-hero__stat{align-items:center;color:#ffffffe6;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm)}.course-hero__stat i{font-size:16px;opacity:.8}.course-hero--loading{background:var(--color-bg-secondary)}.course-hero--loading .course-hero__skeleton{margin:0 auto;max-width:1200px;padding:var(--spacing-xl);width:100%}.course-hero__skeleton .skeleton-line--breadcrumb{border-radius:var(--radius-full);height:32px;margin-bottom:var(--spacing-lg);width:120px}.course-hero__skeleton .skeleton-line--category{height:24px;margin-bottom:var(--spacing-sm);width:100px}.course-hero__skeleton .skeleton-line--title{height:36px;margin-bottom:var(--spacing-xs);width:60%}.course-hero__skeleton .skeleton-line--code{height:18px;width:30%}.course-tabs{background:var(--color-bg);border-bottom:1px solid var(--color-border-light);padding:0 var(--spacing-lg)}.course-tabs .tabs-container{display:flex;gap:var(--spacing-xs);margin:0 auto;max-width:1200px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.course-tabs .tabs-container::-webkit-scrollbar{display:none}.tab-btn{align-items:center;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-fast);white-space:nowrap}.tab-btn i{font-size:16px}.tab-btn:hover{color:var(--color-text)}.tab-btn.active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.tab-content{margin:0 auto;max-width:1200px;padding:var(--spacing-lg)}.overview-section .overview-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.info-card{background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);overflow:hidden}.info-card__title{align-items:center;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-light);color:var(--color-text);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-sm);margin:0;padding:var(--spacing-md) var(--spacing-lg)}.info-card__title i{color:var(--color-primary)}.info-card__content{padding:var(--spacing-lg)}.info-card__empty{color:var(--color-text-tertiary);font-style:italic}.info-row{align-items:center;border-bottom:1px solid var(--color-border-light);display:flex;justify-content:space-between;padding:var(--spacing-sm) 0}.info-row:last-child{border-bottom:none}.info-row__label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.info-row__value{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.items-list{flex-direction:column}.item-card,.items-list{display:flex;gap:var(--spacing-md)}.item-card{align-items:flex-start;background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-fast)}.item-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.item-card__icon{align-items:center;background:rgba(var(--color-primary-rgb),.1);border-radius:var(--radius-md);color:var(--color-primary);display:flex;flex-shrink:0;font-size:20px;height:48px;justify-content:center;width:48px}.item-card__icon.quiz{background:#af52de1a;color:#af52de}.item-card__content{flex:1;min-width:0}.item-card__title{color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-xs)}.item-card__description{color:var(--color-text-secondary);display:-webkit-box;font-size:var(--font-size-sm);-webkit-line-clamp:2;margin:0 0 var(--spacing-sm);-webkit-box-orient:vertical;overflow:hidden}.item-card__meta{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.item-card__meta .meta-item{align-items:center;color:var(--color-text-tertiary);display:flex;font-size:var(--font-size-xs);gap:var(--spacing-xs)}.item-card__meta .meta-item i{font-size:14px}.item-card__badge{border-radius:var(--radius-sm);flex-shrink:0;font-size:10px;font-weight:var(--font-weight-semibold);padding:var(--spacing-xs) var(--spacing-sm);text-transform:uppercase}.item-card__badge.assignment{background:rgba(var(--color-primary-rgb),.1);color:var(--color-primary)}.item-card__badge.quiz{background:#af52de1a;color:#af52de}.users-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.user-card{align-items:center;background:var(--color-bg);border:1px solid var(--color-border-light);display:flex;gap:var(--spacing-md);padding:var(--spacing-md);transition:all var(--transition-fast)}.user-card:hover{box-shadow:var(--shadow-md)}.user-card__avatar{align-items:center;background:var(--color-primary);border-radius:var(--radius-full);color:#fff;display:flex;flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);height:48px;justify-content:center;width:48px}.user-card__info{flex:1;min-width:0}.user-card__name{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0 0 2px}.user-card__username{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin:0}.user-card__email{color:var(--color-text-tertiary);font-size:var(--font-size-xs);margin:var(--spacing-xs) 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loading-state{padding:var(--spacing-2xl)}.loading-state .spinner{animation:spin .8s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:32px;margin-bottom:var(--spacing-md);width:32px}.loading-state p{font-size:var(--font-size-sm);margin:0}.empty-state{justify-content:center;padding:var(--spacing-2xl)}.empty-state__icon{align-items:center;background:var(--color-bg-secondary);border-radius:var(--radius-full);display:flex;height:64px;justify-content:center;margin-bottom:var(--spacing-md);width:64px}.empty-state__icon i{color:var(--color-text-tertiary);font-size:1.5rem}.empty-state h3{color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0}.learning-path{margin:0 auto;max-width:900px;padding:var(--spacing-lg)}@media(max-width:768px){.learning-path{padding:var(--spacing-md)}}.learning-path__empty,.learning-path__error,.learning-path__loading{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-2xl);text-align:center}.learning-path__empty i,.learning-path__error i,.learning-path__loading i{color:var(--color-text-tertiary);font-size:3rem;margin-bottom:var(--spacing-md)}.learning-path__empty .spinner,.learning-path__error .spinner,.learning-path__loading .spinner{animation:spin .8s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:40px;margin-bottom:var(--spacing-md);width:40px}.learning-path__empty .retry-btn,.learning-path__error .retry-btn,.learning-path__loading .retry-btn{background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-fast)}.learning-path__empty .retry-btn:hover,.learning-path__error .retry-btn:hover,.learning-path__loading .retry-btn:hover{background:var(--color-primary-dark)}.learning-path__header{margin-bottom:var(--spacing-xl);text-align:center}.learning-path__header h2{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-xs)}.learning-path__subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.learning-path__progress{margin:0 auto;max-width:400px}.learning-path__progress .progress-bar{background:var(--color-bg-tertiary);border-radius:4px;height:8px;overflow:hidden}.learning-path__progress .progress-fill{background:linear-gradient(90deg,var(--color-primary) 0,var(--color-success) 100%);border-radius:4px;height:100%;transition:width var(--transition-slow)}.path-section{margin-bottom:var(--spacing-md)}.path-section__header{align-items:center;background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);transition:all var(--transition-fast)}.path-section__header:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.path-section.is-expanded .path-section__header{border-bottom-color:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0}.path-section__marker{align-items:center;background:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);display:flex;flex-shrink:0;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);height:40px;justify-content:center;transition:all var(--transition-fast);width:40px}.path-section__marker.is-complete{background:var(--color-success);border-color:var(--color-success);color:#fff}.path-section__marker.is-complete i{font-size:18px}.path-section__info{flex:1;min-width:0}.path-section__info h3{color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1.3;margin:0 0 var(--spacing-xs)}.path-section__count{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.path-section__progress-ring{flex-shrink:0;height:44px;width:44px}.path-section__progress-ring svg{height:100%;transform:rotate(-90deg);width:100%}.path-section__progress-ring .progress-bg{stroke:var(--color-border)}.path-section__progress-ring .progress-fill{stroke:var(--color-success);transition:stroke-dasharray var(--transition-slow)}.path-section__chevron{color:var(--color-text-tertiary);flex-shrink:0;font-size:18px;transition:transform var(--transition-fast)}.path-section.is-expanded .path-section__chevron{transform:rotate(180deg)}.path-activities{background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:none;padding:var(--spacing-md) var(--spacing-md) var(--spacing-md) calc(24px + var(--spacing-lg))}@media(max-width:768px){.path-activities{padding-left:var(--spacing-md)}}.path-activities__empty{align-items:center;color:var(--color-text-tertiary);display:flex;flex-direction:column;padding:var(--spacing-xl)}.path-activities__empty i{font-size:2rem;margin-bottom:var(--spacing-sm)}.path-activities__empty p{font-size:var(--font-size-sm);margin:0}.path-activity{align-items:stretch;display:flex;margin-bottom:var(--spacing-sm)}.path-activity:last-child{margin-bottom:0}.path-activity:last-child .connector-line{display:none}.path-activity__connector{align-items:center;display:flex;flex-direction:column;flex-shrink:0;width:48px}@media(max-width:768px){.path-activity__connector{width:36px}}.path-activity__connector .connector-line{background:var(--color-border);flex:1;min-height:12px;width:2px}.path-activity__connector .connector-line.filled{background:var(--color-success)}.path-activity__connector .connector-dot{align-items:center;background:var(--color-bg);border:2px solid var(--color-border);border-radius:50%;color:var(--color-text-secondary);display:flex;flex-shrink:0;font-size:12px;font-weight:var(--font-weight-bold);height:32px;justify-content:center;transition:all var(--transition-fast);width:32px}@media(max-width:768px){.path-activity__connector .connector-dot{font-size:11px;height:28px;width:28px}}.path-activity__connector .connector-dot.filled{background:var(--color-success);border-color:var(--color-success);color:#fff}.path-activity__connector .connector-dot.filled i{font-size:14px}.path-activity__card{align-items:center;background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);cursor:pointer;display:flex;flex:1;gap:var(--spacing-md);margin-left:var(--spacing-md);padding:var(--spacing-md);transition:all var(--transition-fast)}@media(max-width:768px){.path-activity__card{gap:var(--spacing-sm);margin-left:var(--spacing-sm);padding:var(--spacing-sm)}}.path-activity__card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translate(4px)}.path-activity__icon{align-items:center;background:var(--color-bg-secondary);border-radius:var(--radius-md);color:var(--color-text-secondary);display:flex;flex-shrink:0;font-size:22px;height:52px;justify-content:center;width:52px}@media(max-width:768px){.path-activity__icon{font-size:18px;height:40px;width:40px}}.path-activity__icon.scorm{background:#007aff1a;color:#007aff}.path-activity__icon.quiz{background:#af52de1a;color:#af52de}.path-activity__icon.assign{background:#ff95001a;color:#ff9500}.path-activity__icon.lesson{background:#34c7591a;color:#34c759}.path-activity__icon.book{background:#5ac8fa1a;color:#5ac8fa}.path-activity__icon.resource{background:#5856d61a;color:#5856d6}.path-activity__icon.page{background:#ff3b301a;color:#ff3b30}.path-activity__icon.folder{background:#ffcc001a;color:#fc0}.path-activity__icon.url{background:#00c7be1a;color:#00c7be}.path-activity__content{flex:1;min-width:0}.path-activity__type{color:var(--color-text-tertiary);display:block;font-size:10px;font-weight:var(--font-weight-semibold);letter-spacing:.05em;margin-bottom:2px;text-transform:uppercase}.path-activity__title{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1.3;margin:0 0 var(--spacing-xs)}@media(max-width:768px){.path-activity__title{font-size:var(--font-size-xs)}}.path-activity__meta{color:var(--color-text-tertiary);display:flex;flex-wrap:wrap;font-size:var(--font-size-xs);gap:var(--spacing-md)}.path-activity__meta span{align-items:center;display:flex;gap:var(--spacing-xs)}.path-activity__status{align-items:center;display:flex;flex-shrink:0;gap:var(--spacing-sm)}.path-activity__status .status-badge{border-radius:var(--radius-sm);font-size:10px;font-weight:var(--font-weight-semibold);padding:var(--spacing-xs) var(--spacing-sm);white-space:nowrap}.path-activity__status .status-badge.complete{background:#34c7591a;color:var(--color-success)}.path-activity__status .status-badge.current{background:var(--color-primary);color:#fff}.path-activity__status .bi-chevron-right{color:var(--color-text-tertiary);opacity:0;transition:opacity var(--transition-fast)}.path-activity:hover .path-activity__status .bi-chevron-right{opacity:1}.path-activity.is-complete .path-activity__card{border-left:3px solid var(--color-success)}.path-activity.is-current .path-activity__card{background:rgba(var(--color-primary-rgb),.02);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.path-activity.is-locked{opacity:.5;pointer-events:none}.path-completion{background:linear-gradient(135deg,#34c7591a,#34c75908);border:1px solid rgba(52,199,89,.2);border-radius:var(--radius-lg);margin-top:var(--spacing-lg);padding:var(--spacing-2xl);text-align:center}.path-completion__badge{align-items:center;background:linear-gradient(135deg,#34c759,#30b350);border-radius:50%;box-shadow:0 8px 24px #34c7594d;color:#fff;display:flex;font-size:32px;height:72px;justify-content:center;margin:0 auto var(--spacing-md);width:72px}.path-completion h3{color:var(--color-success);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-xs)}.path-completion p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.module-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:flex;justify-content:center;inset:0;padding:var(--spacing-lg);position:fixed;z-index:1000}.module-modal{background:var(--color-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:min(600px,80vh);max-width:500px;overflow:hidden;width:100%}.module-modal__header{align-items:center;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-light);display:flex;gap:var(--spacing-md);padding:var(--spacing-lg)}.module-modal__icon{align-items:center;background:var(--color-bg);border-radius:var(--radius-md);display:flex;flex-shrink:0;font-size:20px;height:48px;justify-content:center;width:48px}.module-modal__icon.scorm{background:#007aff1a;color:#007aff}.module-modal__icon.quiz{background:#af52de1a;color:#af52de}.module-modal__icon.assign{background:#ff95001a;color:#ff9500}.module-modal__icon.lesson{background:#34c7591a;color:#34c759}.module-modal__icon.book{background:#5856d61a;color:#5856d6}.module-modal__icon.page{background:#5ac8fa1a;color:#5ac8fa}.module-modal__icon.resource{background:#ff3b301a;color:#ff3b30}.module-modal__icon.folder{background:#ffcc001a;color:#fc0}.module-modal__icon.url{background:#00c7be1a;color:#00c7be}.module-modal__icon.label{background:#8f8f941a;color:#8e8e93}.module-modal__title{flex:1;min-width:0}.module-modal__title span{color:var(--color-text-tertiary);display:block;font-size:10px;font-weight:var(--font-weight-semibold);letter-spacing:.05em;margin-bottom:2px;text-transform:uppercase}.module-modal__title h3{color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1.3;margin:0}.module-modal__close{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:all var(--transition-fast);width:36px}.module-modal__close:hover{background:var(--color-bg-tertiary);color:var(--color-text)}.module-modal__content{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.slide-enter-active,.slide-leave-active{overflow:hidden;transition:all var(--transition-base)}.slide-enter-from,.slide-leave-to{max-height:0;opacity:0;padding-bottom:0;padding-top:0}.slide-enter-to,.slide-leave-from{max-height:2000px;opacity:1}.generic-module p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.6;margin-bottom:var(--spacing-md)}.generic-module .open-link-btn{align-items:center;background:var(--color-primary);border-radius:var(--radius-md);color:#fff;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:all var(--transition-fast)}.generic-module .open-link-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px)}:root.dark .path-section__header{background:var(--color-bg-secondary)}:root.dark .path-activities{background:var(--color-bg-tertiary)}:root.dark .module-modal,:root.dark .path-activity__card{background:var(--color-bg-secondary)}:root.dark .module-modal__header{background:var(--color-bg-tertiary)}:root.dark .path-activity__connector .connector-dot{background:var(--color-bg-secondary)}:root.dark .module-detail .stat-card{background:var(--color-bg-tertiary)}:root.dark .module-detail .sco-item{background:var(--color-bg-tertiary);border-color:var(--color-border)}:root.dark .module-detail .time-window{background:var(--color-bg-tertiary)}.module-detail__header{align-items:flex-start;border-bottom:1px solid var(--color-border-light);display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.module-detail__icon{align-items:center;border-radius:var(--radius-lg);display:flex;flex-shrink:0;font-size:24px;height:56px;justify-content:center;width:56px}.module-detail__icon.scorm{background:#007aff1a;color:#007aff}.module-detail__icon.quiz{background:#af52de1a;color:#af52de}.module-detail__icon.assign{background:#ff95001a;color:#ff9500}.module-detail__icon.book{background:#34c7591a;color:#34c759}.module-detail__icon.page{background:#5ac8fa1a;color:#5ac8fa}.module-detail__icon.resource{background:#5856d61a;color:#5856d6}.module-detail__title-group{flex:1;min-width:0}.module-detail__type{color:var(--color-text-tertiary);display:block;font-size:11px;font-weight:var(--font-weight-semibold);letter-spacing:.05em;margin-bottom:var(--spacing-xs);text-transform:uppercase}.module-detail h3{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1.3;margin:0}.module-detail__status{align-items:center;border-radius:var(--radius-full);display:flex;flex-shrink:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);white-space:nowrap}.module-detail__status.completed{background:#34c7591a;color:var(--color-success)}.module-detail__status.in-progress{background:#ff95001a;color:#ff9500}.module-detail__status.not-started{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.module-detail__status.closed{background:#ff3b301a;color:#ff3b30}.module-detail__status.upcoming{background:#007aff1a;color:#007aff}.module-detail__stats{display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:center;margin-bottom:var(--spacing-lg)}.module-detail .stat-card{align-items:center;background:var(--color-bg-secondary);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--spacing-sm);min-width:100px;padding:var(--spacing-md) var(--spacing-lg);text-align:center}.module-detail .stat-card>i{color:var(--color-primary);font-size:24px}.module-detail .stat-card__content{align-items:center;display:flex;flex-direction:column;gap:2px}.module-detail .stat-card__label{color:var(--color-text-tertiary);font-size:11px;letter-spacing:.03em;text-transform:uppercase}.module-detail .stat-card__value{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.module-detail__section{margin-bottom:var(--spacing-lg)}.module-detail__section-title{align-items:center;color:var(--color-text);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-sm);margin:0 0 var(--spacing-md)}.module-detail__description,.module-detail__section-title i{color:var(--color-text-secondary)}.module-detail__description{font-size:var(--font-size-sm);line-height:1.6}.module-detail__description p{margin:0 0 var(--spacing-sm)}.module-detail .sco-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.module-detail .sco-item{align-items:center;background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);display:flex;gap:var(--spacing-md);padding:var(--spacing-md);transition:all var(--transition-fast)}.module-detail .sco-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.module-detail .sco-item.completed{border-left:3px solid var(--color-success)}.module-detail .sco-item__number{align-items:center;background:var(--color-primary);border-radius:var(--radius-full);color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:var(--font-weight-bold);height:28px;justify-content:center;width:28px}.module-detail .sco-item__info{flex:1;min-width:0}.module-detail .sco-item__title{color:var(--color-text);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.module-detail .sco-item__type{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.module-detail .sco-item__action{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);text-decoration:none;transition:all var(--transition-fast)}.module-detail .sco-item__action:hover{background:var(--color-primary-dark)}.module-detail .time-window{background:var(--color-bg-secondary);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md)}.module-detail .time-window__item{align-items:center;display:flex;justify-content:space-between}.module-detail .time-window__label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.module-detail .time-window__value{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.module-detail .time-window__value.is-overdue{color:#ff3b30}.module-detail__notice{align-items:center;border-radius:var(--radius-lg);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.module-detail__notice.info{background:#007aff1a;color:#007aff}.module-detail__notice.warning{background:#ff95001a;color:#ff9500}.module-detail__notice.success{background:#34c7591a;color:var(--color-success)}.module-detail__notice.error{background:#ff3b301a;color:#ff3b30}.module-detail__actions{border-top:1px solid var(--color-border-light);display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.module-detail .btn-primary{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;display:flex;flex:1;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:var(--spacing-sm);justify-content:center;min-width:200px;padding:var(--spacing-md) var(--spacing-xl);text-decoration:none;transition:all var(--transition-fast)}.module-detail .btn-primary:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px)}.module-detail .btn-primary:disabled{cursor:not-allowed;opacity:.5}.module-detail .btn-primary.btn-lg{padding:var(--spacing-lg) var(--spacing-xl)}.module-detail .btn-secondary{align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-fast)}.module-detail .btn-secondary:hover{background:var(--color-bg-tertiary)}.scorm-stats-row{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.scorm-grade-card,.scorm-progress-card{align-items:center;background:var(--color-bg-secondary);border-radius:var(--radius-lg);display:flex;flex:1;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);text-align:center}.scorm-grade-card{justify-content:center}.scorm-grade-card>i{color:gold;font-size:24px}.scorm-grade-card__content{align-items:center;display:flex;flex-direction:column}.scorm-grade-card__value{color:var(--color-text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:1}.scorm-grade-card__label{color:var(--color-text-tertiary);font-size:var(--font-size-xs);letter-spacing:.05em;margin-top:var(--spacing-xs);text-transform:uppercase}.scorm-progress-ring{flex-shrink:0;height:80px;position:relative;width:80px}.scorm-progress-ring svg{height:100%;transform:rotate(-90deg);width:100%}.scorm-progress-ring .progress-bg{stroke:var(--color-border-light)}.scorm-progress-ring .progress-fill{stroke:var(--color-text-tertiary);transition:stroke-dasharray .5s ease}.scorm-progress-ring.is-started .progress-fill{stroke:#ff9500}.scorm-progress-ring.is-halfway .progress-fill{stroke:#007aff}.scorm-progress-ring.is-complete .progress-fill{stroke:var(--color-success)}.scorm-progress-ring .progress-content{align-items:center;display:flex;flex-direction:column;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.scorm-progress-ring .progress-percent{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:1}.scorm-progress-ring .progress-label{color:var(--color-text-tertiary);font-size:10px;letter-spacing:.05em;margin-top:2px;text-transform:uppercase}.scorm-stats-compact{display:flex;flex:1;flex-direction:column;gap:var(--spacing-md)}.scorm-slide-info{align-items:baseline;display:flex;gap:var(--spacing-xs);justify-content:center}.scorm-slide-info__viewed{color:var(--color-text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.scorm-slide-info__separator{color:var(--color-text-tertiary);font-size:var(--font-size-lg)}.scorm-slide-info__total{color:var(--color-text-secondary);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.scorm-slide-info__label{margin-left:var(--spacing-xs)}.scorm-progress-label,.scorm-slide-info__label{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.scorm-progress-label{letter-spacing:.05em;text-align:center;text-transform:uppercase}.module-detail__stats--centered{justify-content:center}.module-detail__stats--centered .stat-card{flex-direction:column;min-width:100px;text-align:center}.module-detail__stats--centered .stat-card>i{margin-bottom:var(--spacing-xs)}.module-detail__stats--centered .stat-card__content{align-items:center}.moodle-chat-page{height:calc(100vh - var(--header-height, 60px))}.chat-sidebar,.moodle-chat-page{background-color:var(--color-bg);display:flex}.chat-sidebar{border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:320px}@media(max-width:767px){.chat-sidebar{bottom:0;left:0;position:absolute;top:0;transform:translate(-100%);transition:transform var(--transition-base);width:100%;z-index:var(--z-dropdown)}.chat-sidebar.open{transform:translate(0)}}.chat-sidebar-header{border-bottom:1px solid var(--color-border);padding:var(--spacing-lg)}.chat-sidebar-header .header-title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md)}.chat-search{position:relative}.chat-search .search-input{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);padding-left:calc(var(--spacing-md)*2 + 16px);width:100%}.chat-search .search-input:focus{background-color:var(--color-bg);border-color:var(--color-primary);outline:none}.chat-search .search-input::-moz-placeholder{color:var(--color-text-muted)}.chat-search .search-input::placeholder{color:var(--color-text-muted)}.chat-search .search-icon{color:var(--color-text-muted);left:var(--spacing-md);position:absolute;top:50%;transform:translateY(-50%)}.conversation-item{align-items:center;border-bottom:1px solid var(--color-border-light);cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);transition:background-color var(--transition-fast)}.conversation-item:hover{background-color:var(--color-bg-secondary)}.conversation-item.active{background-color:rgba(var(--color-primary-rgb),.1);border-left:3px solid var(--color-primary)}.conversation-item.unread .conversation-preview{color:var(--color-text);font-weight:var(--font-weight-semibold)}.conversation-avatar{background-color:var(--color-bg-secondary);border-radius:var(--radius-full);flex-shrink:0;height:48px;-o-object-fit:cover;object-fit:cover;width:48px}.conversation-info{flex:1;min-width:0}.conversation-header{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs)}.conversation-name{color:var(--color-text);font-weight:var(--font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-time{color:var(--color-text-muted);flex-shrink:0;font-size:var(--font-size-xs)}.conversation-preview{color:var(--color-text-secondary);font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unread-badge{align-items:center;background-color:var(--color-primary);border-radius:var(--radius-full);color:#fff;display:flex;flex-shrink:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);height:20px;justify-content:center;min-width:20px;padding:0 var(--spacing-xs)}.chat-main{display:flex;flex:1;flex-direction:column;min-width:0}.chat-header{align-items:center;background-color:var(--color-bg);border-bottom:1px solid var(--color-border);display:flex;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg)}.chat-header .back-btn{background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;display:none;padding:var(--spacing-sm)}@media(max-width:767px){.chat-header .back-btn{display:flex}}.chat-header .back-btn:hover{color:var(--color-text)}.chat-header .user-info{flex:1;min-width:0}.chat-header .user-name{color:var(--color-text);font-weight:var(--font-weight-semibold)}.chat-header .user-status{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-xs)}.chat-header .user-status.online:before{background-color:var(--color-success);border-radius:var(--radius-full);content:"";height:8px;width:8px}.chat-header .chat-actions{display:flex;gap:var(--spacing-sm)}.messages-container{display:flex;flex:1;flex-direction:column;gap:var(--spacing-md);overflow-y:auto;padding:var(--spacing-lg)}.message-group{flex-direction:column;gap:var(--spacing-xs)}.message{border-radius:var(--radius-lg);font-size:var(--font-size-md);line-height:1.5;max-width:70%;padding:var(--spacing-md);word-wrap:break-word}.message.sent{align-self:flex-end;background-color:var(--color-primary);border-bottom-right-radius:var(--radius-sm);color:#fff}.message.received{align-self:flex-start;background-color:var(--color-bg-secondary);border-bottom-left-radius:var(--radius-sm);color:var(--color-text)}.message-time{color:var(--color-text-muted);font-size:var(--font-size-xs);padding:var(--spacing-sm) 0;text-align:center}.message-date-divider{align-items:center;display:flex;gap:var(--spacing-md);padding:var(--spacing-md) 0}.message-date-divider:after,.message-date-divider:before{background-color:var(--color-border);content:"";flex:1;height:1px}.message-date-divider .divider-text{color:var(--color-text-muted);font-size:var(--font-size-xs);white-space:nowrap}.chat-input-container{background-color:var(--color-bg);border-top:1px solid var(--color-border);padding:var(--spacing-md) var(--spacing-lg)}.chat-input-wrapper{align-items:flex-end;background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm)}.chat-input{background:transparent;border:none;color:var(--color-text);flex:1;font-size:var(--font-size-md);max-height:150px;min-height:40px;padding:var(--spacing-sm) var(--spacing-md);resize:none}.chat-input:focus{outline:none}.chat-input::-moz-placeholder{color:var(--color-text-muted)}.chat-input::placeholder{color:var(--color-text-muted)}.chat-input-actions{display:flex;gap:var(--spacing-xs)}.input-action-btn{background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-sm);transition:all var(--transition-fast)}.input-action-btn:hover{background-color:var(--color-bg-tertiary);color:var(--color-text)}.send-btn{background-color:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);transition:background-color var(--transition-fast)}.send-btn:hover:not(:disabled){background-color:var(--color-primary-dark)}.send-btn:disabled{cursor:not-allowed;opacity:.5}.chat-empty{align-items:center;display:flex;flex:1;flex-direction:column;justify-content:center;padding:var(--spacing-2xl);text-align:center}.chat-empty .empty-icon{color:var(--color-text-muted);height:80px;margin-bottom:var(--spacing-lg);opacity:.5;width:80px}.chat-empty .empty-title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm)}.chat-empty .empty-description{color:var(--color-text-secondary);font-size:var(--font-size-md);max-width:300px}.typing-indicator{align-items:center;display:flex;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md)}.typing-indicator .typing-dots{display:flex;gap:4px}.typing-indicator .typing-dots span{animation:typingBounce 1.4s ease-in-out infinite;background-color:var(--color-text-muted);border-radius:var(--radius-full);height:6px;width:6px}.typing-indicator .typing-dots span:nth-child(2){animation-delay:.2s}.typing-indicator .typing-dots span:nth-child(3){animation-delay:.4s}.chat-page{flex-direction:column;height:100vh}.chat-page,.chat-page .chat-header{background-color:var(--color-bg);display:flex}.chat-page .chat-header{align-items:center;border-bottom:1px solid var(--color-border);justify-content:space-between;padding:var(--spacing-lg)}.chat-page .chat-header h1{font-size:var(--font-size-2xl);margin:0}.chat-page .chat-header .subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:var(--spacing-xs) 0 0 0}.chat-page .chat-header .header-actions{align-items:center;display:flex;gap:var(--spacing-md)}.chat-page .chat-container{display:flex;flex:1;gap:0;overflow:hidden}.conversations-sidebar{background-color:var(--color-bg-secondary);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden;width:300px}.conversations-sidebar .sidebar-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.conversations-sidebar .sidebar-header h2{font-size:var(--font-size-lg);margin:0}.conversations-sidebar .search-box{border-bottom:1px solid var(--color-border);padding:var(--spacing-md)}.conversations-sidebar .search-input{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);width:100%}.conversations-sidebar .search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.btn-new-chat{align-items:center;background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all var(--transition-fast);width:32px}.btn-new-chat:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.conversations-list{display:flex;flex:1;flex-direction:column;gap:var(--spacing-xs);overflow-y:auto;padding:var(--spacing-sm)}.conversations-list .conversation-item{background-color:transparent;border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-md);transition:all var(--transition-fast)}.conversations-list .conversation-item:hover{background-color:var(--color-bg)}.conversations-list .conversation-item.active{background-color:var(--color-primary);color:#fff}.conversations-list .conversation-item.active .last-message,.conversations-list .conversation-item.active .timestamp{color:#ffffffb3}.conversations-list .conversation-avatar{align-items:center;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.conversations-list .conversation-info{flex:1;min-width:0}.conversations-list .conversation-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-xs) 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversations-list .last-message{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversations-list .conversation-meta{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:var(--spacing-xs)}.conversations-list .unread-indicator{align-items:center;background-color:var(--color-danger);border-radius:var(--radius-full);color:#fff;display:flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);height:20px;justify-content:center;width:20px}.conversations-list .timestamp{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.chat-view .chat-header-bar{align-items:center;background-color:var(--color-bg);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.chat-view .conversation-header{align-items:center;display:flex;gap:var(--spacing-md)}.chat-view .conversation-header .header-avatar{flex-shrink:0}.chat-view .conversation-header .header-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.chat-view .conversation-header h2{font-size:var(--font-size-lg);margin:0}.chat-view .conversation-header .member-count{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin:0}.chat-view .header-buttons{display:flex;gap:var(--spacing-sm)}.btn-icon{align-items:center;background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:var(--font-size-md);height:36px;justify-content:center;transition:all var(--transition-fast);width:36px}.btn-icon:hover{background-color:var(--color-bg-secondary)}.messages-list{flex-direction:column}.message-group,.messages-list{display:flex;gap:var(--spacing-md)}.message-group{align-items:flex-end;margin-bottom:var(--spacing-md)}.message-group.same-author{gap:40px;margin-bottom:var(--spacing-md);margin-top:-.5rem}.message-group .message-avatar{align-items:center;display:flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.message-group .message-avatar-spacer{flex-shrink:0;width:24px}.message-group .message-content{clear:both;display:flex;flex:1;flex-direction:column;gap:var(--spacing-sm)}.message-group .message-author{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding-left:var(--spacing-sm)}.message-bubble-wrapper{display:inline-block;max-width:70%;position:relative}.message-bubble-wrapper.own-message{clear:both;float:right;margin-left:auto}.message-bubble{background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-md);word-wrap:break-word;display:inline-block;max-width:100%;transition:all var(--transition-fast)}.message-bubble:hover{background-color:var(--color-bg-tertiary)}.message-bubble.own-message{background-color:var(--color-primary);border-bottom-right-radius:var(--radius-sm);color:#fff}.message-bubble .message-text{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.message-bubble :deep(p){margin:0}.message-bubble :deep(ol),.message-bubble :deep(ul){margin:var(--spacing-sm) 0;padding-left:var(--spacing-lg)}.message-bubble :deep(blockquote){border-left:2px solid var(--color-border);margin:var(--spacing-sm) 0;opacity:.8;padding-left:var(--spacing-md)}.message-bubble :deep(code){background-color:#0000001a;border-radius:2px;font-family:monospace;padding:.125rem .25rem}.message-bubble :deep(pre){background-color:#0000001a;border-radius:var(--radius-sm);overflow-x:auto;padding:var(--spacing-sm)}.edited-label{font-size:var(--font-size-xs);font-style:italic;margin-left:var(--spacing-xs);opacity:.7}.deleted-message{align-items:center;color:var(--color-text);display:flex;font-style:italic;gap:var(--spacing-xs);opacity:.7}.deleted-message .deleted-icon{flex-shrink:0;opacity:.6}.message-reactions{display:inline-flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-right:var(--spacing-sm)}.reaction-badge{align-items:center;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;display:inline-flex;font-size:var(--font-size-xs);gap:2px;padding:2px 8px;transition:all var(--transition-fast)}.reaction-badge:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-primary);transform:scale(1.05)}.message-actions{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:flex;gap:var(--spacing-xs);left:0;padding:var(--spacing-xs);position:absolute;top:-10px;z-index:5}.message-bubble-wrapper.own-message .message-actions{left:auto;right:0}.action-btn{align-items:center;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;font-size:var(--font-size-md);height:28px;justify-content:center;padding:0;transition:all var(--transition-fast);width:28px}.action-btn:hover{background-color:var(--color-bg-secondary)}.action-btn.delete:hover{background-color:#dc35451a}.message-meta{align-items:center;clear:both;color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-size:var(--font-size-xs);gap:var(--spacing-sm);margin-top:2px;padding-left:var(--spacing-sm)}.message-bubble-wrapper.own-message+.message-meta{justify-content:flex-end;padding-left:0;padding-right:var(--spacing-sm)}.message-bubble-wrapper.own-message+.message-meta .message-reactions{margin-left:var(--spacing-sm);margin-right:0;order:-1}.message-meta .read-receipt{color:var(--color-primary);font-weight:var(--font-weight-bold)}.no-messages{align-items:center;color:var(--color-text-secondary);display:flex;flex:1;flex-direction:column;justify-content:center;text-align:center}.no-messages p{font-size:var(--font-size-lg);margin:0 0 var(--spacing-sm) 0}.no-messages small{font-size:var(--font-size-sm);margin:0}.typing-indicator{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-style:italic;padding:0 var(--spacing-lg)}.message-input-area{background-color:var(--color-bg);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg)}.message-input-area .input-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}.message-input-area .btn-send{background-color:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-fast)}.message-input-area .btn-send:hover:not(:disabled){background-color:var(--color-primary-dark)}.message-input-area .btn-send:disabled{cursor:not-allowed;opacity:.5}.no-conversation-selected{align-items:center;background-color:var(--color-bg);display:flex;height:100%;justify-content:center}.no-conversation-selected .empty-state-large{color:var(--color-text-secondary);text-align:center}.no-conversation-selected .empty-state-large .empty-icon{font-size:4rem;margin-bottom:var(--spacing-lg)}.no-conversation-selected .empty-state-large h2{color:var(--color-text);margin:0 0 var(--spacing-md) 0}.no-conversation-selected .empty-state-large p{margin:0}.chat-info-panel,.new-chat-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.members-list,.user-list{display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:300px;overflow-y:auto}.member-item,.user-item{align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-md);transition:all var(--transition-fast)}.member-item:hover,.user-item:hover{background-color:var(--color-bg-secondary);border-color:var(--color-primary)}.member-item.selected,.user-item.selected{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.member-item.selected .user-username,.user-item.selected .user-username{color:#ffffffb3}.member-info,.user-info{flex:1}.member-name,.user-name{font-weight:var(--font-weight-semibold);margin:0}.member-username,.user-username{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin:0}.options{flex-direction:column}.option-checkbox,.options{display:flex;gap:var(--spacing-md)}.option-checkbox{align-items:center;background-color:var(--color-bg-secondary);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-md)}.option-checkbox input{accent-color:var(--color-primary);cursor:pointer}.edit-message-form{min-height:200px}.delete-confirmation{padding:var(--spacing-md) 0}.delete-confirmation p{color:var(--color-text);margin:0}.reaction-picker-popover{animation:slideUp .2s ease-out;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;gap:var(--spacing-xs);left:0;margin-top:var(--spacing-xs);padding:var(--spacing-sm);position:absolute;top:100%;z-index:10}.message-bubble-wrapper.own-message .reaction-picker-popover{left:auto;right:0}.reaction-btn{align-items:center;background:none;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:var(--font-size-xl);height:36px;justify-content:center;padding:var(--spacing-xs);transition:all var(--transition-fast);width:36px}.reaction-btn:hover{background-color:var(--color-bg-secondary);border-color:var(--color-border);transform:scale(1.15)}.message-status{align-items:center;display:inline-flex;font-size:.75rem;line-height:1;margin-left:var(--spacing-xs);vertical-align:middle}.message-status__icon{font-size:.875rem;line-height:1}.message-status__icon--spin{animation:message-status-spin 1s linear infinite}.message-status--sending{color:var(--color-text-muted)}.message-status--delivered,.message-status--sent{color:var(--color-success)}.message-status--failed{color:var(--color-danger)}.message-status--failed .message-status__failed{align-items:center;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;gap:var(--spacing-xs);padding:2px 4px;transition:background-color var(--transition-fast)}.message-status--failed .message-status__failed:hover{background-color:rgba(var(--color-danger-rgb,220,53,69),.1)}.message-status--failed .message-status__retry-text{font-size:.7rem;font-weight:500;letter-spacing:.02em;text-transform:uppercase}.message-status--pending_retry{color:var(--color-warning)}@keyframes message-status-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.message-bubble .message-status{bottom:var(--spacing-xs);opacity:.8;position:absolute;right:var(--spacing-sm)}.message-bubble .message-status:hover{opacity:1}.message-bubble.has-status{padding-bottom:calc(var(--spacing-sm) + 1rem)}@media(max-width:767px){.chat-page .chat-container{flex-direction:column}.conversations-sidebar{border-bottom:1px solid var(--color-border);border-right:none;max-height:40%;width:100%}.message-bubble-wrapper{max-width:90%}.message-editor :deep(.ql-toolbar){display:none}.reaction-picker-popover{flex-wrap:wrap;max-width:90%}.reaction-btn{font-size:var(--font-size-lg);height:32px;width:32px}}.smartmessage-page{--sm-sidebar-width:340px;--sm-header-height:64px;--sm-input-min-height:52px;--sm-bubble-max-width:65%;--sm-bubble-own-bg:var(--color-primary);--sm-bubble-own-color:#fff;--sm-bubble-other-bg:var(--color-bg-secondary);--sm-bubble-other-color:var(--color-text);--sm-bubble-radius:18px;--sm-bubble-radius-tail:4px;--sm-message-gap:2px;--sm-group-gap:16px}.content-container:has(.smartmessage-page){overflow:hidden;padding:var(--spacing-sm)}.smartmessage-page{border:1px solid var(--color-border);border-radius:var(--radius-lg);height:100%;overflow:hidden}.sm-sidebar,.smartmessage-page{background-color:var(--color-bg);display:flex}.sm-sidebar{border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:var(--sm-sidebar-width)}@media(max-width:991px){.sm-sidebar{width:280px}}@media(max-width:767px){.sm-sidebar{bottom:0;box-shadow:var(--shadow-xl);left:0;max-width:360px;position:absolute;top:0;transform:translate(-100%);transition:transform var(--transition-base);width:100%;z-index:var(--z-dropdown)}.sm-sidebar.is-open{transform:translate(0)}}.sm-sidebar-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;min-height:var(--sm-header-height);padding:var(--spacing-md) var(--spacing-lg)}.sm-sidebar-header .sm-sidebar-title{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0}.sm-btn-new{align-items:center;background-color:var(--color-primary);border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all var(--transition-fast);width:36px}.sm-btn-new:hover{background-color:var(--color-primary-dark);transform:scale(1.05)}.sm-btn-new:active{transform:scale(.98)}.sm-search{padding:var(--spacing-sm) var(--spacing-md)}.sm-search-wrapper{align-items:center;display:flex;position:relative;width:100%}.sm-search-icon{color:var(--color-text-muted);left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:2}input.sm-search-input{background-color:var(--color-bg-secondary);border:1px solid transparent;border-radius:var(--radius-lg);color:var(--color-text);font-size:var(--font-size-sm);padding:8px 16px 8px 36px;transition:all var(--transition-fast);width:100%}input.sm-search-input::-moz-placeholder{color:var(--color-text-muted)}input.sm-search-input::placeholder{color:var(--color-text-muted)}input.sm-search-input:focus{background-color:var(--color-bg);border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.sm-search-clear{align-items:center;background-color:var(--color-text-muted);border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;display:flex;height:20px;justify-content:center;opacity:0;position:absolute;right:var(--spacing-sm);transition:opacity var(--transition-fast);width:20px}.sm-search-clear.is-visible{opacity:1}.sm-search-clear:hover{background-color:var(--color-text-secondary)}.sm-conversations{flex:1;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth}.sm-conversations::-webkit-scrollbar{width:6px}.sm-conversations::-webkit-scrollbar-track{background:transparent}.sm-conversations::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:3px}.sm-conversations::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-muted)}.sm-conversation{align-items:center;border-left:3px solid transparent;cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);transition:background-color var(--transition-fast)}.sm-conversation:hover{background-color:var(--color-bg-secondary)}.sm-conversation.is-active{background-color:rgba(var(--color-primary-rgb),.08);border-left-color:var(--color-primary)}.sm-conversation.is-active .sm-conversation-name{color:var(--color-primary)}.sm-conversation.is-unread .sm-conversation-name{font-weight:var(--font-weight-bold)}.sm-conversation.is-unread .sm-conversation-preview{color:var(--color-text);font-weight:var(--font-weight-medium)}.sm-conversation-avatar{flex-shrink:0;position:relative}.sm-conversation-avatar .online-indicator{background-color:var(--color-success);border:2px solid var(--color-bg);border-radius:var(--radius-full);bottom:0;height:12px;position:absolute;right:0;width:12px}.sm-conversation-content{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.sm-conversation-header{align-items:baseline;display:flex;gap:var(--spacing-sm);justify-content:space-between}.sm-conversation-name{color:var(--color-text);flex:1;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm-conversation-time{color:var(--color-text-muted);flex-shrink:0;font-size:var(--font-size-xs)}.sm-conversation-footer{align-items:center;display:flex;gap:var(--spacing-sm);justify-content:space-between}.sm-conversation-preview{color:var(--color-text-secondary);flex:1;font-size:var(--font-size-xs);line-height:1.4;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm-unread-badge{align-items:center;background-color:var(--color-primary);border-radius:var(--radius-full);color:#fff;display:flex;flex-shrink:0;font-size:11px;font-weight:var(--font-weight-bold);height:20px;justify-content:center;min-width:20px;padding:0 6px}.sm-sidebar-empty,.sm-sidebar-loading{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-2xl);text-align:center}.sm-sidebar-empty .empty-icon,.sm-sidebar-loading .empty-icon{font-size:48px;margin-bottom:var(--spacing-md);opacity:.5}.sm-sidebar-empty p,.sm-sidebar-loading p{font-size:var(--font-size-sm);margin:0}.sm-main{flex:1;flex-direction:column;min-width:0}.sm-chat-header,.sm-main{background-color:var(--color-bg);display:flex}.sm-chat-header{align-items:center;border-bottom:1px solid var(--color-border);justify-content:space-between;min-height:var(--sm-header-height);padding:var(--spacing-md) var(--spacing-lg)}.sm-chat-header .sm-back-btn{display:none}@media(max-width:767px){.sm-chat-header .sm-back-btn{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;display:flex;height:36px;justify-content:center;margin-right:var(--spacing-sm);width:36px}.sm-chat-header .sm-back-btn:hover{background-color:var(--color-bg-secondary)}}.sm-chat-user{align-items:center;display:flex;flex:1;gap:var(--spacing-md);min-width:0}.sm-chat-user-info{display:flex;flex-direction:column;min-width:0}.sm-chat-user-info .user-name{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm-chat-user-info .user-status{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-xs);gap:var(--spacing-xs);margin:0}.sm-chat-user-info .user-status.is-online{color:var(--color-success)}.sm-chat-user-info .user-status.is-online:before{background-color:currentColor;border-radius:var(--radius-full);content:"";height:6px;width:6px}.sm-chat-actions{align-items:center;display:flex;gap:var(--spacing-xs)}.sm-action-btn{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all var(--transition-fast);width:36px}.sm-action-btn:hover{background-color:var(--color-bg-secondary);color:var(--color-text)}.sm-dropdown-wrapper{position:relative}.sm-dropdown-menu{animation:dropdown-fade-in .15s ease-out;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:180px;padding:var(--spacing-xs);position:absolute;right:0;top:100%;z-index:100}@keyframes dropdown-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.sm-dropdown-item{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);text-align:left;transition:all var(--transition-fast);width:100%}.sm-dropdown-item:hover{background-color:var(--color-bg-secondary)}.sm-dropdown-item--danger{color:var(--color-danger)}.sm-dropdown-item--danger:hover{background-color:color-mix(in srgb,var(--color-danger) 10%,transparent)}.sm-messages{display:flex;flex:1;flex-direction:column;overflow-x:hidden;overflow-y:auto;padding:var(--spacing-lg);scroll-behavior:smooth}.sm-messages::-webkit-scrollbar{width:6px}.sm-messages::-webkit-scrollbar-track{background:transparent}.sm-messages::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:3px}.sm-date-divider{align-items:center;display:flex;justify-content:center;margin:var(--spacing-sm) 0;padding:var(--spacing-md) 0}.sm-date-divider .divider-text{background-color:var(--color-bg-secondary);border-radius:var(--radius-full);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-md)}.sm-message-group{display:flex;flex-direction:column;margin-bottom:var(--sm-group-gap)}.sm-message-group.is-own{align-items:flex-end}.sm-message-group.is-own .sm-message-bubble{background-color:var(--sm-bubble-own-bg);border-bottom-right-radius:var(--sm-bubble-radius-tail);color:var(--sm-bubble-own-color)}.sm-message-group.is-own .sm-message-bubble:not(:last-child){border-bottom-right-radius:var(--sm-bubble-radius-tail);margin-bottom:var(--sm-message-gap)}.sm-message-group.is-own .sm-message-bubble:not(:first-child){border-top-right-radius:var(--sm-bubble-radius-tail)}.sm-message-group.is-own .sm-message-meta{justify-content:flex-end}.sm-message-group.is-other{align-items:flex-start}.sm-message-group.is-other .sm-message-bubble{background-color:var(--sm-bubble-other-bg);border-bottom-left-radius:var(--sm-bubble-radius-tail);color:var(--sm-bubble-other-color)}.sm-message-group.is-other .sm-message-bubble:not(:last-child){border-bottom-left-radius:var(--sm-bubble-radius-tail);margin-bottom:var(--sm-message-gap)}.sm-message-group.is-other .sm-message-bubble:not(:first-child){border-top-left-radius:var(--sm-bubble-radius-tail)}.sm-message-author{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs);padding-left:var(--spacing-sm)}.sm-message{max-width:var(--sm-bubble-max-width);position:relative}@media(max-width:767px){.sm-message{max-width:85%}}.sm-message-bubble{border-radius:var(--sm-bubble-radius);padding:var(--spacing-sm) var(--spacing-md);word-wrap:break-word;overflow-wrap:break-word;position:relative}.sm-message-bubble .message-text{font-size:var(--font-size-sm);line-height:1.45}.sm-message-bubble .message-text p{margin:0}.sm-message-bubble .message-text p+p{margin-top:var(--spacing-xs)}.sm-message-bubble .message-text a{color:inherit;text-decoration:underline;text-underline-offset:2px}.sm-message-bubble .message-text code{background-color:#0000001a;border-radius:4px;font-family:var(--font-mono);font-size:.9em;padding:2px 4px}.sm-message-bubble .message-text pre{background-color:#0000001a;border-radius:var(--radius-sm);margin:var(--spacing-xs) 0;overflow-x:auto;padding:var(--spacing-sm)}.sm-message-bubble .message-text blockquote{border-left:2px solid;margin:var(--spacing-xs) 0;opacity:.8;padding-left:var(--spacing-md)}.sm-message-bubble .message-text ol,.sm-message-bubble .message-text ul{margin:var(--spacing-xs) 0;padding-left:var(--spacing-lg)}.sm-message-deleted{align-items:center;display:flex;font-style:italic;gap:var(--spacing-xs);opacity:.7}.sm-message-deleted .deleted-icon{opacity:.6}.sm-message-meta{align-items:center;display:flex;gap:var(--spacing-sm);margin-top:2px;padding:0 var(--spacing-sm)}.sm-message-edited,.sm-message-time{color:var(--color-text-muted);font-size:11px}.sm-message-edited{font-style:italic}.sm-read-status{align-items:center;display:flex;font-size:12px}.sm-read-status.is-sent{color:var(--color-text-muted)}.sm-read-status.is-delivered{color:var(--color-text-secondary)}.sm-read-status.is-read{color:var(--color-primary)}.sm-read-status .check-icon{height:14px;width:14px}.sm-read-status .check-icon:last-child{margin-left:-6px}.sm-message-actions{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;gap:2px;opacity:0;padding:4px;pointer-events:none;position:absolute;top:-8px;transition:opacity var(--transition-fast);z-index:5}.is-own .sm-message-actions{right:0}.is-other .sm-message-actions{left:0}.sm-message:hover .sm-message-actions{opacity:1;pointer-events:auto}.sm-message-actions .action-btn{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;height:28px;justify-content:center;transition:all var(--transition-fast);width:28px}.sm-message-actions .action-btn:hover{background-color:var(--color-bg-secondary);color:var(--color-text)}.sm-message-actions .action-btn.is-danger:hover{background-color:rgba(var(--color-danger-rgb),.1);color:var(--color-danger)}.sm-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.sm-reaction{align-items:center;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;display:inline-flex;font-size:var(--font-size-xs);gap:2px;padding:2px 8px;transition:all var(--transition-fast)}.sm-reaction.is-own,.sm-reaction:hover{background-color:rgba(var(--color-primary-rgb),.1);border-color:var(--color-primary)}.sm-reaction .reaction-emoji{font-size:14px}.sm-reaction .reaction-count{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.sm-reaction-picker{animation:slideUp var(--transition-fast) ease-out;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-xs);padding:var(--spacing-sm);position:absolute;top:100%;z-index:10}.is-own .sm-reaction-picker{right:0}.is-other .sm-reaction-picker{left:0}.sm-reaction-picker .reaction-option{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:20px;height:36px;justify-content:center;transition:all var(--transition-fast);width:36px}.sm-reaction-picker .reaction-option:hover{background-color:var(--color-bg-secondary);transform:scale(1.15)}@keyframes slideUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sm-typing{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);font-style:italic;gap:var(--spacing-sm);padding:var(--spacing-sm) 0}.sm-typing .typing-dots{display:flex;gap:3px}.sm-typing .typing-dots span{animation:typingBounce 1.4s ease-in-out infinite;background-color:var(--color-text-muted);border-radius:var(--radius-full);height:6px;width:6px}.sm-typing .typing-dots span:nth-child(2){animation-delay:.16s}.sm-typing .typing-dots span:nth-child(3){animation-delay:.32s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.sm-no-messages{align-items:center;color:var(--color-text-secondary);display:flex;flex:1;flex-direction:column;justify-content:center;text-align:center}.sm-no-messages .empty-icon{font-size:48px;margin-bottom:var(--spacing-md);opacity:.5}.sm-no-messages h3{color:var(--color-text);font-size:var(--font-size-lg);margin:0 0 var(--spacing-xs) 0}.sm-no-messages p{font-size:var(--font-size-sm);margin:0}.sm-input-area{background-color:var(--color-bg);border-top:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md)}.sm-input-wrapper{background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);display:flex;flex-direction:column;position:relative;transition:all var(--transition-fast)}.sm-input-wrapper:focus-within{background-color:var(--color-bg);box-shadow:0 0 0 2px var(--color-primary)}.sm-editor-container{flex:1;min-width:0}.sm-editor-container :deep(.editor-toolbar){background-color:transparent;border-bottom:1px solid var(--color-border);border-radius:var(--radius-md) var(--radius-md) 0 0;display:flex;flex-wrap:nowrap;gap:2px;overflow-x:auto;padding:4px 8px;scrollbar-width:none;-ms-overflow-style:none}.sm-editor-container :deep(.editor-toolbar)::-webkit-scrollbar{display:none}.sm-editor-container :deep(.editor-toolbar) button{flex-shrink:0;height:24px;min-width:24px;padding:0;width:24px}.sm-editor-container :deep(.editor-toolbar) .divider{flex-shrink:0;height:16px;margin:0 4px;width:1px}.sm-editor-container :deep(.editor-box){background:transparent!important;border:none!important}.sm-editor-container :deep(.ProseMirror){font-size:var(--font-size-sm);max-height:120px;min-height:40px;padding:10px 52px 10px 12px}.sm-editor-container :deep(.ProseMirror):focus{outline:none}.sm-editor-container :deep(.ProseMirror) p{margin:0}.sm-editor-container :deep(.ProseMirror).ProseMirror-focused{outline:none}.sm-input-actions{bottom:8px;gap:var(--spacing-xs);position:absolute;right:8px;z-index:1}.sm-input-actions,.sm-send-btn{align-items:center;display:flex}.sm-send-btn{background-color:var(--color-primary);border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;flex-shrink:0;height:36px;justify-content:center;transition:all var(--transition-fast);width:36px}.sm-send-btn svg{height:18px;width:18px}.sm-send-btn:hover:not(:disabled){background-color:var(--color-primary-dark);transform:scale(1.05)}.sm-send-btn:active:not(:disabled){transform:scale(.98)}.sm-send-btn:disabled{cursor:not-allowed;opacity:.4;transform:none}.sm-empty-state{background-color:var(--color-bg);flex:1;flex-direction:column;padding:var(--spacing-2xl);text-align:center}.sm-empty-state,.sm-empty-state .empty-illustration{align-items:center;display:flex;justify-content:center}.sm-empty-state .empty-illustration{background-color:var(--color-bg-secondary);border-radius:var(--radius-full);height:120px;margin-bottom:var(--spacing-lg);width:120px}.sm-empty-state .empty-illustration .icon{font-size:48px;opacity:.5}.sm-empty-state h2{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-sm) 0}.sm-empty-state p{color:var(--color-text-secondary);font-size:var(--font-size-md);margin:0;max-width:300px}.sm-empty-state .sm-empty-cta{background-color:var(--color-primary);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-top:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-fast)}.sm-empty-state .sm-empty-cta:hover{background-color:var(--color-primary-dark)}.sm-new-chat-form{gap:var(--spacing-lg)}.sm-new-chat-form,.sm-user-list{display:flex;flex-direction:column}.sm-user-list{gap:var(--spacing-sm);max-height:300px;overflow-y:auto}.sm-user-item{align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-md);transition:all var(--transition-fast)}.sm-user-item:hover{background-color:var(--color-bg-secondary);border-color:var(--color-primary)}.sm-user-item.is-selected{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.sm-user-item.is-selected .user-email{color:#ffffffb3}.sm-user-item .user-info{flex:1;min-width:0}.sm-user-item .user-name{font-weight:var(--font-weight-semibold);margin:0}.sm-user-item .user-email{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm-chat-info{display:flex;flex-direction:column;gap:var(--spacing-lg)}.sm-chat-info h3{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0}.sm-members-list{display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:200px;overflow-y:auto}.sm-member-item{align-items:center;display:flex;gap:var(--spacing-md);padding:var(--spacing-sm)}.sm-member-item .member-info{flex:1}.sm-member-item .member-name{font-weight:var(--font-weight-medium);margin:0}.sm-member-item .member-username{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin:0}.sm-options{display:flex;flex-direction:column;gap:var(--spacing-sm)}.sm-option{align-items:center;background-color:var(--color-bg-secondary);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-md);transition:background-color var(--transition-fast)}.sm-option:hover{background-color:var(--color-bg-tertiary)}.sm-option input[type=checkbox]{accent-color:var(--color-primary);height:18px;width:18px}.sm-option span{font-size:var(--font-size-sm)}.sm-edit-form{min-height:150px}.sm-delete-confirm{padding:var(--spacing-md) 0;text-align:center}.sm-delete-confirm p{color:var(--color-text);margin:0}:root.dark .smartmessage-page{--sm-bubble-other-bg:var(--color-bg-tertiary)}:root.dark .sm-message-bubble code,:root.dark .sm-message-bubble pre{background-color:#ffffff1a}@media(max-width:767px){.smartmessage-page{--sm-bubble-max-width:85%}.sm-chat-header{padding:var(--spacing-sm) var(--spacing-md)}.sm-messages{padding:var(--spacing-md)}.sm-input-area{padding:var(--spacing-sm) var(--spacing-md)}.sm-editor-container .editor-toolbar{display:none!important}}.chat-view{display:flex;flex-direction:column;height:100%}.profile-header{align-items:flex-start;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:var(--spacing-xl);margin-bottom:var(--spacing-xl);padding:var(--spacing-2xl);transition:box-shadow var(--transition-base),transform var(--transition-base)}@media(max-width:575px){.profile-header{align-items:center;flex-direction:column;text-align:center}}.profile-avatar-section{flex-shrink:0;position:relative}.profile-avatar{background-color:var(--color-bg-secondary);border:4px solid var(--color-bg);border-radius:var(--radius-full);box-shadow:var(--shadow-md);height:120px;-o-object-fit:cover;object-fit:cover;width:120px}.avatar-edit-btn{align-items:center;background-color:var(--color-primary);border:3px solid var(--color-bg);border-radius:var(--radius-full);bottom:0;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:0;transition:background-color var(--transition-fast);width:36px}.avatar-edit-btn:hover{background-color:var(--color-primary-dark)}.profile-info{flex:1;min-width:0}.profile-name{color:var(--color-text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs)}.profile-username{font-size:var(--font-size-md);margin-bottom:var(--spacing-md)}.profile-meta,.profile-username{color:var(--color-text-secondary)}.profile-meta{display:flex;flex-wrap:wrap;font-size:var(--font-size-sm);gap:var(--spacing-lg)}.profile-meta .meta-item{align-items:center;display:flex;gap:var(--spacing-xs)}.profile-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}@media(max-width:575px){.profile-actions{justify-content:center}}.profile-stats{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:var(--spacing-xl)}.stat-item{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);text-align:center;transition:box-shadow var(--transition-base),transform var(--transition-base)}.stat-item .stat-value{color:var(--color-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs)}.stat-item .stat-label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.profile-section{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-xl);transition:box-shadow var(--transition-base),transform var(--transition-base)}.profile-section .section-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.profile-section .section-title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.profile-section .section-action{color:var(--color-primary);cursor:pointer;font-size:var(--font-size-sm);text-decoration:none}.profile-section .section-action:hover{text-decoration:underline}.profile-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-row{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-group .form-label{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.form-group .form-input,.form-group .form-select,.form-group .form-textarea{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-md);padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast)}.form-group .form-input:focus,.form-group .form-select:focus,.form-group .form-textarea:focus{border-color:var(--color-primary);outline:none}.form-group .form-input:disabled,.form-group .form-select:disabled,.form-group .form-textarea:disabled{background-color:var(--color-bg-secondary);cursor:not-allowed}.form-group .form-textarea{min-height:100px;resize:vertical}.form-group .form-hint{color:var(--color-text-muted);font-size:var(--font-size-xs)}.form-actions{justify-content:flex-end;margin-top:var(--spacing-md)}.activity-list,.form-actions{display:flex;gap:var(--spacing-md)}.activity-list{flex-direction:column}.activity-item{background-color:var(--color-bg-secondary);border-radius:var(--radius-md);display:flex;gap:var(--spacing-md);padding:var(--spacing-md);transition:background-color var(--transition-fast)}.activity-item:hover{background-color:var(--color-bg-tertiary)}.activity-item .activity-icon{align-items:center;background-color:var(--color-bg);border-radius:var(--radius-full);color:var(--color-primary);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.activity-item .activity-content{flex:1;min-width:0}.activity-item .activity-title{color:var(--color-text);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs)}.activity-item .activity-meta{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.connected-accounts{flex-direction:column}.account-item,.connected-accounts{display:flex;gap:var(--spacing-md)}.account-item{align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);transition:border-color var(--transition-fast)}.account-item:hover{border-color:var(--color-primary)}.account-item .account-icon{align-items:center;border-radius:var(--radius-md);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.account-item .account-icon.moodle{background-color:#f98012;color:#fff}.account-item .account-icon.email{background-color:var(--color-primary);color:#fff}.account-item .account-info{flex:1;min-width:0}.account-item .account-name{color:var(--color-text);font-weight:var(--font-weight-medium)}.account-item .account-status{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.account-item .account-status.connected{color:var(--color-success)}.account-item .account-action{flex-shrink:0}.danger-zone{background-color:rgba(var(--color-danger-rgb),.05);border-color:var(--color-danger)}.danger-zone .section-title{color:var(--color-danger)}.danger-item{align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;justify-content:space-between;padding:var(--spacing-md)}.danger-item:not(:last-child){margin-bottom:var(--spacing-md)}.danger-item .danger-info .danger-title{color:var(--color-text);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs)}.danger-item .danger-info .danger-description{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.profile-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.profile-page h1{margin:0}.profile-page .subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.profile-tabs{border-bottom:1px solid var(--color-border);display:flex;gap:var(--spacing-sm)}.tab{background:none;border:none;border-bottom:3px solid transparent;color:var(--color-text-secondary);cursor:pointer;font-weight:var(--font-weight-semibold);padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-fast)}.tab:hover{color:var(--color-text)}.tab.active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.tab-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.preference-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.preference-item{background-color:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-md)}.preference-label{align-items:center;display:flex;font-weight:var(--font-weight-semibold);gap:var(--spacing-lg);justify-content:space-between}.preference-label,.preference-select{color:var(--color-text);cursor:pointer}.preference-select{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md)}.preference-select:focus{border-color:var(--color-primary);outline:none}.checkbox-label{align-items:center;color:var(--color-text);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-md)}.checkbox-label input{accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}.checkbox-content{display:flex;flex-direction:column;gap:.25rem}.checkbox-title{color:var(--color-text);display:block;font-weight:var(--font-weight-semibold)}.checkbox-description{color:var(--color-text-secondary);display:block;font-size:var(--font-size-xs)}.card-danger{border-left:4px solid var(--color-danger)}.card-danger .card-header{background-color:#dc35451a}.card-info{border-left:4px solid var(--color-primary)}.card-info .card-header{background-color:#667eea1a}.danger-text{background-color:#dc35451a;border-left:4px solid var(--color-danger);border-radius:var(--radius-md);color:var(--color-danger);padding:var(--spacing-md)}.danger-text,.section-description{font-size:var(--font-size-sm);margin:0 0 var(--spacing-lg) 0}.section-description{color:var(--color-text-secondary)}.roles-table-wrapper{overflow-x:auto}.roles-table{border-collapse:collapse;width:100%}.roles-table thead{background-color:var(--color-bg-secondary);border-bottom:2px solid var(--color-border)}.roles-table th{color:var(--color-text);font-weight:var(--font-weight-semibold);text-align:left}.roles-table td,.roles-table th{font-size:var(--font-size-sm);padding:var(--spacing-md) var(--spacing-lg)}.roles-table td{border-bottom:1px solid var(--color-border)}.role-row:hover{background-color:#00000005}:root.dark .role-row:hover{background-color:#ffffff05}.instance-cell{align-items:center;display:flex;gap:var(--spacing-md)}.instance-badge{border-radius:var(--radius-md);color:#fff;font-weight:var(--font-weight-semibold);padding:.25rem .75rem}.instance-badge,.instance-url{font-size:var(--font-size-xs);white-space:nowrap}.instance-url{color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis}.role-cell{text-align:center}.role-label{border-radius:var(--radius-md);display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:.35rem .75rem;text-transform:capitalize;white-space:nowrap}.role-label.role-administrator{background-color:#dc354526;color:#dc3545}.role-label.role-teacher{background-color:#1c6bad26;color:#1c6bad}.role-label.role-student{background-color:#28a74526;color:#28a745}.role-label.role-user{background-color:#6d767e26;color:#6c757d}.picture-section{display:flex;flex-wrap:wrap;gap:var(--spacing-lg)}.picture-display{align-items:center;display:flex;flex-shrink:0;justify-content:center}.current-picture,.no-picture,.picture-preview{align-items:center;background-color:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:12px;display:flex;height:150px;justify-content:center;overflow:hidden;width:150px}.current-picture img,.no-picture img,.picture-preview img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.placeholder-icon{font-size:48px;opacity:.5}.picture-controls{flex:1;flex-direction:column;min-width:250px}.file-input-wrapper,.picture-controls{display:flex;gap:var(--spacing-md)}.file-input{display:none}.btn{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast);white-space:nowrap}.btn:hover{background-color:var(--color-border)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{border-color:var(--color-primary)}.btn-primary:hover{background-color:var(--color-primary-dark,#5568d3)}.btn-danger{background-color:var(--color-danger,#dc3545);border-color:var(--color-danger,#dc3545)}.btn-danger:hover{background-color:var(--color-danger-dark,#c82333)}.file-info{background-color:var(--color-bg-secondary);border-left:3px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--spacing-md)}.file-name{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0 0 .25rem;word-break:break-word}.file-size{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin:0}.error-message{background-color:#dc35451a;border-left:3px solid var(--color-danger,#dc3545);border-radius:var(--radius-md);color:var(--color-danger,#dc3545);font-size:var(--font-size-sm);padding:var(--spacing-md)}.button-group{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.picture-info{background-color:var(--color-bg-secondary);border-left:3px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-xs);margin:0;padding:var(--spacing-md)}@media(max-width:767px){.profile-tabs{flex-wrap:wrap}.tab{font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md)}.form-actions,.picture-section{flex-direction:column}.picture-section{align-items:center}.picture-display{justify-content:center;width:100%}.picture-controls{width:100%}}.search-page{padding:var(--spacing-xl)}.search-header{margin-bottom:var(--spacing-2xl)}.search-header .page-title{color:var(--color-text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-lg)}.search-input-container{margin-bottom:var(--spacing-lg);position:relative}.search-input-wrapper{align-items:center;background-color:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-lg);display:flex;padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-input-wrapper:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.search-icon{color:var(--color-text-muted);flex-shrink:0;margin-right:var(--spacing-md)}.search-input{background:transparent;border:none;color:var(--color-text);flex:1;font-size:var(--font-size-lg);padding:var(--spacing-sm) 0}.search-input:focus{outline:none}.search-input::-moz-placeholder{color:var(--color-text-muted)}.search-input::placeholder{color:var(--color-text-muted)}.search-clear-btn{background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;padding:var(--spacing-xs);transition:color var(--transition-fast)}.search-clear-btn:hover{color:var(--color-text)}.search-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl)}.filter-chip{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.filter-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-chip.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.search-results{display:flex;flex-direction:column;gap:var(--spacing-md)}.results-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg)}.results-header .results-count{color:var(--color-text-secondary);font-size:var(--font-size-md)}.results-header .results-count strong{color:var(--color-text)}.results-header .results-sort{align-items:center;display:flex;gap:var(--spacing-sm)}.results-header .results-sort .sort-label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.results-header .results-sort .sort-select{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm)}.search-result-item{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);transition:box-shadow var(--transition-base),transform var(--transition-base);transition:box-shadow var(--transition-fast)}.search-result-item:hover{box-shadow:var(--shadow-md)}.search-result-item .result-icon{align-items:center;background-color:var(--color-bg-secondary);border-radius:var(--radius-md);color:var(--color-primary);display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.search-result-item .result-icon.course{background-color:rgba(var(--color-primary-rgb),.1)}.search-result-item .result-icon.forum{background-color:rgba(var(--color-info-rgb),.1);color:var(--color-info)}.search-result-item .result-icon.message{background-color:rgba(var(--color-success-rgb),.1);color:var(--color-success)}.search-result-item .result-icon.file{background-color:rgba(var(--color-warning-rgb),.1);color:var(--color-warning)}.search-result-item .result-content{flex:1;min-width:0}.search-result-item .result-title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.search-result-item .result-title a{color:inherit;text-decoration:none}.search-result-item .result-title a:hover{color:var(--color-primary)}.search-result-item .result-title mark{background-color:rgba(var(--color-warning-rgb),.3);border-radius:2px;color:inherit;padding:0 2px}.search-result-item .result-excerpt{color:var(--color-text-secondary);display:-webkit-box;font-size:var(--font-size-md);-webkit-line-clamp:2;margin-bottom:var(--spacing-sm);-webkit-box-orient:vertical;overflow:hidden}.search-result-item .result-excerpt mark{background-color:rgba(var(--color-warning-rgb),.3);border-radius:2px;color:inherit;padding:0 2px}.search-result-item .result-meta{color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:var(--font-size-sm);gap:var(--spacing-md)}.search-result-item .result-meta .meta-item{align-items:center;display:flex;gap:var(--spacing-xs)}.search-result-item .result-type{color:var(--color-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.05em;text-transform:uppercase}.search-suggestions{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);left:0;margin-top:var(--spacing-xs);max-height:400px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:var(--z-dropdown)}.suggestion-item{align-items:center;cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);transition:background-color var(--transition-fast)}.suggestion-item.highlighted,.suggestion-item:hover{background-color:var(--color-bg-secondary)}.suggestion-item .suggestion-icon{color:var(--color-text-muted);flex-shrink:0}.suggestion-item .suggestion-text{color:var(--color-text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-item .suggestion-text mark{background:none;color:var(--color-primary);font-weight:var(--font-weight-semibold)}.suggestion-item .suggestion-type{flex-shrink:0}.suggestion-item .suggestion-type,.suggestions-section{color:var(--color-text-muted);font-size:var(--font-size-xs)}.suggestions-section{background-color:var(--color-bg-secondary);font-weight:var(--font-weight-medium);letter-spacing:.05em;padding:var(--spacing-sm) var(--spacing-lg);text-transform:uppercase}.recent-searches{margin-bottom:var(--spacing-xl)}.recent-searches .section-title{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);justify-content:space-between;margin-bottom:var(--spacing-md)}.recent-searches .section-title .clear-btn{color:var(--color-primary);cursor:pointer;font-size:var(--font-size-xs)}.recent-searches .section-title .clear-btn:hover{text-decoration:underline}.recent-search-list{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.recent-search-item{align-items:center;background-color:var(--color-bg-secondary);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);transition:all var(--transition-fast)}.recent-search-item:hover{background-color:var(--color-bg-tertiary);color:var(--color-text)}.recent-search-item .remove-btn{background:transparent;border:none;border-radius:var(--radius-full);color:var(--color-text-muted);cursor:pointer;opacity:0;padding:2px;transition:opacity var(--transition-fast)}.recent-search-item .remove-btn:hover{color:var(--color-danger)}.recent-search-item:hover .remove-btn{opacity:1}.search-empty{padding:var(--spacing-3xl);text-align:center}.search-empty .empty-icon{color:var(--color-text-muted);height:80px;margin:0 auto var(--spacing-lg);opacity:.5;width:80px}.search-empty .empty-title{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm)}.search-empty .empty-description{color:var(--color-text-secondary);font-size:var(--font-size-md);margin:0 auto var(--spacing-lg);max-width:400px}.search-empty .empty-suggestions{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.search-empty .empty-suggestions ul{list-style:none;margin-top:var(--spacing-md);padding:0}.search-empty .empty-suggestions li{margin-bottom:var(--spacing-xs)}.search-loading{flex-direction:column;padding:var(--spacing-xl)}.search-loading,.search-loading .loading-item{display:flex;gap:var(--spacing-md)}.search-loading .loading-item .skeleton-icon{animation:skeletonShimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--color-bg-secondary) 25%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 75%);background-size:200% 100%;border-radius:var(--radius-md);height:48px;width:48px}.search-loading .loading-item .skeleton-content{flex:1}.search-loading .loading-item .skeleton-content .skeleton-title{height:20px;margin-bottom:var(--spacing-sm);width:60%}.search-loading .loading-item .skeleton-content .skeleton-text,.search-loading .loading-item .skeleton-content .skeleton-title{animation:skeletonShimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--color-bg-secondary) 25%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 75%);background-size:200% 100%;border-radius:var(--radius-md)}.search-loading .loading-item .skeleton-content .skeleton-text{height:16px;margin-bottom:var(--spacing-xs);width:80%}.search-loading .loading-item .skeleton-content .skeleton-meta{animation:skeletonShimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--color-bg-secondary) 25%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 75%);background-size:200% 100%;border-radius:var(--radius-md);height:14px;width:40%}.search-pagination{align-items:center;border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-sm);justify-content:center;margin-top:var(--spacing-2xl);padding-top:var(--spacing-xl)}.search-pagination .page-btn{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;height:40px;min-width:40px;padding:var(--spacing-sm);transition:all var(--transition-fast)}.search-pagination .page-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.search-pagination .page-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.search-pagination .page-btn:disabled{cursor:not-allowed;opacity:.5}.search-pagination .page-ellipsis{color:var(--color-text-muted)}.search-page{display:flex;flex-direction:column;gap:var(--spacing-2xl);margin:0 auto;max-width:1000px;padding:var(--spacing-2xl)}.search-page .search-header{margin-bottom:var(--spacing-xl);text-align:center}.search-page .search-header h1{font-size:var(--font-size-3xl);margin:0 0 var(--spacing-sm) 0}.search-page .subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.search-page .search-bar-container{display:flex;flex-direction:column;gap:var(--spacing-lg)}.search-page .search-bar{display:flex;gap:var(--spacing-md)}.search-page .search-input{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);flex:1;font-size:var(--font-size-base);padding:var(--spacing-md) var(--spacing-lg);transition:border-color var(--transition-fast)}.search-page .search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.search-page .search-button{background:var(--color-primary);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;font-weight:var(--font-weight-semibold);padding:var(--spacing-md) var(--spacing-xl);transition:background var(--transition-fast)}.search-page .search-button:hover:not(:disabled){background:var(--color-primary-dark,#4f46e5)}.search-page .search-button:disabled{cursor:not-allowed;opacity:.6}.search-page .search-filters{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.search-page .filter-checkbox{align-items:center;cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm)}.search-page .filter-checkbox input{accent-color:var(--color-primary);cursor:pointer}.search-page .alert{border-left:4px solid;border-radius:var(--radius-md);padding:var(--spacing-md)}.search-page .alert-danger{background:#dc35451a;border-left-color:var(--color-danger);color:var(--color-danger)}.search-page .empty-state,.search-page .no-results{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-4xl) var(--spacing-2xl);text-align:center}.search-page .empty-icon,.search-page .no-results-icon{font-size:3rem;margin:0 0 var(--spacing-md) 0}.search-page .empty-text,.search-page .no-results-text{color:var(--color-text-secondary);font-size:var(--font-size-base);margin:0}.search-page .search-results{display:flex;flex-direction:column;gap:var(--spacing-lg)}.search-page .results-header{background:var(--color-bg-secondary);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--spacing-lg)}.search-page .results-count{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.search-page .results-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.search-page .result-item{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-fast)}.search-page .result-item:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #0000001a}.search-page .result-content{align-items:flex-start;display:flex;gap:var(--spacing-lg)}.search-page .result-icon{flex-shrink:0;font-size:1.5rem}.search-page .result-details{flex:1;min-width:0}.search-page .result-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-sm) 0;word-break:break-word}.search-page .result-email,.search-page .result-meta{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:var(--spacing-sm) 0}.search-page .result-summary{color:var(--color-text);font-size:var(--font-size-sm);line-height:1.5;margin:var(--spacing-sm) 0}.search-page .result-time{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin:var(--spacing-sm) 0}.search-page .result-action{background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-md);transition:background var(--transition-fast)}.search-page .result-action:hover{background:var(--color-primary-dark,#4f46e5)}.search-page .pagination{border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-sm);justify-content:center;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.search-page .page-button{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;min-width:40px;padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.search-page .page-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.search-page .page-button.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.search-page .loading-state{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-lg);justify-content:center;padding:var(--spacing-4xl) var(--spacing-2xl)}.search-page .spinner{animation:spin 1s linear infinite;border:4px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:40px;width:40px}@media(max-width:767px){.search-page{padding:var(--spacing-lg)}.search-page .search-bar{flex-direction:column}.search-page .search-button{width:100%}.search-page .result-content{flex-direction:column}.search-page .result-action{width:100%}.search-page .search-filters{gap:var(--spacing-sm)}}.admin-page{margin:0 auto;max-width:1400px;padding:var(--spacing-xl)}.admin-header{margin-bottom:var(--spacing-2xl)}.admin-header .page-title{color:var(--color-text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm)}.admin-header .page-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-md)}.admin-nav{border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-xl);overflow-x:auto;padding-bottom:var(--spacing-md)}.admin-nav,.admin-nav .nav-item{display:flex;gap:var(--spacing-sm)}.admin-nav .nav-item{align-items:center;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-fast);white-space:nowrap}.admin-nav .nav-item:hover{background-color:var(--color-bg-secondary);color:var(--color-text)}.admin-nav .nav-item.active{background-color:rgba(var(--color-primary-rgb),.1);color:var(--color-primary)}.admin-stats{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--spacing-2xl)}.admin-stat-card{background-color:var(--color-bg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);gap:var(--spacing-md);padding:var(--spacing-lg);transition:box-shadow var(--transition-base),transform var(--transition-base)}.admin-stat-card,.admin-stat-card .stat-icon{align-items:center;border-radius:var(--radius-lg);display:flex}.admin-stat-card .stat-icon{flex-shrink:0;height:48px;justify-content:center;width:48px}.admin-stat-card .stat-icon.users{background-color:rgba(var(--color-primary-rgb),.1);color:var(--color-primary)}.admin-stat-card .stat-icon.courses{background-color:rgba(var(--color-success-rgb),.1);color:var(--color-success)}.admin-stat-card .stat-icon.tokens{background-color:rgba(var(--color-warning-rgb),.1);color:var(--color-warning)}.admin-stat-card .stat-icon.moodles{background-color:rgba(var(--color-info-rgb),.1);color:var(--color-info)}.admin-stat-card .stat-content{flex:1}.admin-stat-card .stat-value{color:var(--color-text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.admin-stat-card .stat-label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.admin-table-container{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--transition-base),transform var(--transition-base)}.admin-table-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between;padding:var(--spacing-lg)}.admin-table-header .table-title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.admin-table-header .table-actions{display:flex;gap:var(--spacing-sm)}.admin-table-filters{align-items:center;background-color:var(--color-bg-secondary);display:flex;flex-wrap:wrap;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg)}.admin-table-filters .filter-input{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);min-width:200px;padding:var(--spacing-sm) var(--spacing-md)}.admin-table-filters .filter-input:focus{border-color:var(--color-primary);outline:none}.admin-table-filters .filter-select{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md)}.admin-table{border-collapse:collapse;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid var(--color-border);padding:var(--spacing-md) var(--spacing-lg);text-align:left}.admin-table th{background-color:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.admin-table th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.admin-table th.sortable:hover{color:var(--color-text)}.admin-table th.sortable .sort-icon{margin-left:var(--spacing-xs);opacity:.5}.admin-table th.sortable.sorted .sort-icon{color:var(--color-primary);opacity:1}.admin-table td{color:var(--color-text);font-size:var(--font-size-sm);vertical-align:middle}.admin-table tbody tr{transition:background-color var(--transition-fast)}.admin-table tbody tr:hover{background-color:var(--color-bg-secondary)}.table-cell-user{align-items:center;display:flex;gap:var(--spacing-sm)}.table-cell-user .user-avatar{background-color:var(--color-bg-secondary);border-radius:var(--radius-full);height:32px;-o-object-fit:cover;object-fit:cover;width:32px}.table-cell-user .user-info .user-name{font-weight:var(--font-weight-medium)}.table-cell-user .user-info .user-email{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.table-cell-status .status-badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.table-cell-status .status-badge.active{background-color:rgba(var(--color-success-rgb),.1);color:var(--color-success)}.table-cell-status .status-badge.inactive{background-color:rgba(var(--color-text-muted-rgb),.1);color:var(--color-text-muted)}.table-cell-status .status-badge.pending{background-color:rgba(var(--color-warning-rgb),.1);color:var(--color-warning)}.table-cell-status .status-badge.expired{background-color:rgba(var(--color-danger-rgb),.1);color:var(--color-danger)}.table-cell-actions{display:flex;gap:var(--spacing-xs)}.table-cell-actions .action-btn{background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs);transition:all var(--transition-fast)}.table-cell-actions .action-btn:hover{background-color:var(--color-bg-secondary);color:var(--color-text)}.table-cell-actions .action-btn.danger:hover{background-color:rgba(var(--color-danger-rgb),.1);color:var(--color-danger)}.admin-table-pagination{align-items:center;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}.admin-table-pagination .pagination-info{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.admin-table-pagination .pagination-controls{display:flex;gap:var(--spacing-xs)}.admin-table-pagination .pagination-btn{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.admin-table-pagination .pagination-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.admin-table-pagination .pagination-btn:disabled{cursor:not-allowed;opacity:.5}.admin-form-container{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);max-width:600px;padding:var(--spacing-xl);transition:box-shadow var(--transition-base),transform var(--transition-base)}.admin-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.admin-form .form-section:not(:last-child){border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-lg)}.admin-form .form-section .section-title{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md)}.admin-form .form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.admin-form .form-group .form-label{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.admin-form .form-group .form-label .required{color:var(--color-danger)}.admin-form .form-group .form-input,.admin-form .form-group .form-select,.admin-form .form-group .form-textarea{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-md);padding:var(--spacing-sm) var(--spacing-md)}.admin-form .form-group .form-input:focus,.admin-form .form-group .form-select:focus,.admin-form .form-group .form-textarea:focus{border-color:var(--color-primary);outline:none}.admin-form .form-group .form-hint{color:var(--color-text-muted);font-size:var(--font-size-xs)}.admin-form .form-group .form-error{color:var(--color-danger);font-size:var(--font-size-xs)}.admin-form .form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-md)}.token-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-lg);transition:box-shadow var(--transition-base),transform var(--transition-base)}.token-card .token-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.token-card .token-name{color:var(--color-text);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.token-card .token-meta{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.token-card .token-value{align-items:center;background-color:var(--color-bg-secondary);border-radius:var(--radius-md);color:var(--color-text);display:flex;font-family:var(--font-family-mono);font-size:var(--font-size-sm);gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.token-card .token-value .token-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.token-card .token-value .copy-btn{background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs)}.token-card .token-value .copy-btn:hover{color:var(--color-primary)}.token-card .token-permissions{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.token-card .token-permissions .permission-tag{background-color:var(--color-bg-secondary);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.admin-empty{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-3xl);text-align:center;transition:box-shadow var(--transition-base),transform var(--transition-base)}.admin-empty .empty-icon{color:var(--color-text-muted);height:64px;margin:0 auto var(--spacing-lg);opacity:.5;width:64px}.admin-empty .empty-title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm)}.admin-empty .empty-description{color:var(--color-text-secondary);font-size:var(--font-size-md);margin-bottom:var(--spacing-lg)}.admin-dashboard{padding:var(--spacing-lg)}.admin-dashboard .page-header{margin-bottom:var(--spacing-xl)}.admin-dashboard .page-header h1{font-size:var(--font-size-2xl);margin:0}.admin-dashboard .page-header .subtitle{color:var(--color-text-secondary);margin:var(--spacing-sm) 0 0 0}.admin-dashboard .dashboard-grid{display:grid;gap:var(--spacing-lg)}.admin-dashboard .actions-section,.admin-dashboard .activity-section,.admin-dashboard .metrics-section,.admin-dashboard .status-section{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.admin-dashboard h2{color:var(--color-text);font-size:var(--font-size-lg);margin:0 0 var(--spacing-md) 0}.admin-dashboard .metrics-grid{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.admin-dashboard .metric-card{background:var(--color-bg);border-left:4px solid var(--color-primary);border-radius:var(--radius-lg);display:flex;gap:var(--spacing-md);padding:var(--spacing-md);transition:all var(--transition-fast)}.admin-dashboard .metric-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.admin-dashboard .metric-icon{align-items:center;display:flex;font-size:var(--font-size-2xl);min-width:50px}.admin-dashboard .metric-value{color:var(--color-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.admin-dashboard .metric-label{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.admin-dashboard .status-grid{display:flex;flex-direction:column;gap:var(--spacing-sm)}.admin-dashboard .status-item{align-items:center;display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) 0}.admin-dashboard .status-indicator{background:var(--color-medium);border-radius:50%;display:inline-block;height:12px;width:12px}.admin-dashboard .status-indicator.active{background:var(--color-low)}.admin-dashboard .status-text{color:var(--color-text)}.admin-dashboard .activity-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.admin-dashboard .activity-item{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--spacing-sm) 0}.admin-dashboard .activity-item:last-child{border-bottom:none}.admin-dashboard .activity-time{color:var(--color-text-secondary);font-size:var(--font-size-xs);min-width:80px}.admin-dashboard .activity-text{color:var(--color-text)}.admin-dashboard .actions-grid{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.admin-dashboard .action-card{align-items:center;background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);cursor:pointer;display:flex;flex-direction:column;gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-lg);text-decoration:none;transition:all var(--transition-fast)}.admin-dashboard .action-card:hover{background:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-lg);color:#fff}.admin-dashboard .action-icon{font-size:var(--font-size-2xl)}.admin-dashboard .action-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center}.admin-users-page{padding:var(--spacing-lg)}.admin-users-page .page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-xl)}.admin-users-page .page-header h1{font-size:2em;margin:0}.admin-users-page .page-header .subtitle{color:var(--color-text-secondary);margin:var(--spacing-sm) 0 0 0}.admin-users-page .admin-container{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.admin-users-page .search-section{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.admin-users-page .filter-select,.admin-users-page .search-input{border:1px solid var(--color-border);border-radius:var(--radius-lg);font-family:inherit;padding:var(--spacing-sm) var(--spacing-md)}.admin-users-page .search-input{flex:1}.admin-users-page .stats-grid{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--spacing-lg)}.admin-users-page .stat-card{background:var(--color-bg);border-left:4px solid var(--color-primary);border-radius:var(--radius-lg);padding:var(--spacing-md)}.admin-users-page .stat-number{color:var(--color-primary);display:block;font-size:1.8em;font-weight:700}.admin-users-page .stat-label{color:var(--color-text-secondary);display:block;font-size:.9em;margin-top:var(--spacing-xs)}.admin-users-page .users-table{overflow-x:auto}.admin-users-page .users-table table{border-collapse:collapse;width:100%}.admin-users-page .users-table thead{background:var(--color-bg);border-bottom:2px solid var(--color-border)}.admin-users-page .users-table th{color:var(--color-text-secondary);font-weight:600;padding:var(--spacing-md);text-align:left}.admin-users-page .users-table td{border-bottom:1px solid var(--color-border);padding:var(--spacing-md)}.admin-users-page .users-table tbody tr:hover{background:var(--color-bg)}.admin-users-page .status-badge{border-radius:var(--radius-lg);display:inline-block;font-size:.85em;font-weight:600;padding:var(--spacing-xs) var(--spacing-sm)}.admin-users-page .status-badge.active{background:var(--color-success);color:#fff}.admin-users-page .status-badge.inactive{background:var(--color-warning);color:#fff}.admin-users-page .btn-small{background:var(--color-primary);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;font-size:.85em;padding:var(--spacing-xs) var(--spacing-sm)}.admin-users-page .btn-small:hover{opacity:.9}.admin-users-page .empty-state,.admin-users-page .loading-state{color:var(--color-text-secondary);padding:var(--spacing-xl);text-align:center}.admin-tokens-page{background-color:var(--color-bg);display:flex;flex-direction:column;min-height:100vh}.admin-tokens-page .page-header{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);border-bottom:4px solid var(--color-primary-dark);border-radius:10px;color:#fff;display:flex;justify-content:space-between;padding:var(--spacing-2xl) var(--spacing-lg)}.admin-tokens-page .page-header h1{font-size:var(--font-size-3xl);margin:0 0 var(--spacing-sm) 0}.admin-tokens-page .page-header .subtitle{font-size:var(--font-size-sm);margin:0;opacity:.9}.admin-tokens-page .btn-primary{background-color:#fff;border:none;border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-fast)}.admin-tokens-page .btn-primary:hover{opacity:.9;transform:translateY(-2px)}.admin-tokens-page .admin-container{flex:1;margin:0 auto;max-width:1200px;padding:var(--spacing-2xl) var(--spacing-lg);width:100%}.admin-tokens-page .search-section{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-2xl)}.admin-tokens-page .filter-select,.admin-tokens-page .search-input{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:inherit;font-size:var(--font-size-sm);padding:var(--spacing-md)}.admin-tokens-page .filter-select:focus,.admin-tokens-page .search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #007bff1a;outline:none}.admin-tokens-page .search-input{flex:1}.admin-tokens-page .stats-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--spacing-2xl)}.admin-tokens-page .stat-card{align-items:center;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg);text-align:center}.admin-tokens-page .stat-number{color:var(--color-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold)}.admin-tokens-page .stat-label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.admin-tokens-page .users-table{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.admin-tokens-page .table-header{background-color:var(--color-bg);border-bottom:2px solid var(--color-border);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.admin-tokens-page .table-header,.admin-tokens-page .table-row{display:grid;gap:var(--spacing-md);grid-template-columns:2fr 2fr 1fr 1.5fr 1.5fr;padding:var(--spacing-lg)}.admin-tokens-page .table-row{align-items:center;border-bottom:1px solid var(--color-border);transition:all var(--transition-fast)}.admin-tokens-page .table-row:hover{background-color:var(--color-bg)}.admin-tokens-page .col-user,.admin-tokens-page .user-info{display:flex;flex-direction:column}.admin-tokens-page .user-info{gap:var(--spacing-xs)}.admin-tokens-page .user-name{font-weight:var(--font-weight-semibold)}.admin-tokens-page .user-username{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.admin-tokens-page .badge{border-radius:var(--radius-full);display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:.25rem .75rem;width:-moz-fit-content;width:fit-content}.admin-tokens-page .badge.badge-active{background-color:#28a7451a;color:#28a745}.admin-tokens-page .badge.badge-inactive{background-color:#c7c7c71a;color:var(--color-text-secondary)}.admin-tokens-page .col-actions{display:flex;gap:var(--spacing-sm)}.admin-tokens-page .btn-danger-sm,.admin-tokens-page .btn-primary-sm{border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.admin-tokens-page .btn-primary-sm{background-color:var(--color-primary);color:#fff}.admin-tokens-page .btn-primary-sm:hover{background-color:var(--color-primary-dark)}.admin-tokens-page .btn-danger-sm{background-color:#dc35451a;border:1px solid var(--color-danger);color:var(--color-danger)}.admin-tokens-page .btn-danger-sm:hover{background-color:var(--color-danger);border-color:var(--color-danger);color:#fff}.admin-tokens-page .form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.admin-tokens-page .form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.admin-tokens-page .form-label{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.admin-tokens-page .form-select{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:inherit;font-size:var(--font-size-sm);padding:var(--spacing-md)}.admin-tokens-page .form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #007bff1a;outline:none}.admin-tokens-page .result-box{border-left:4px solid;border-radius:var(--radius-md);padding:var(--spacing-lg)}.admin-tokens-page .result-box.success{background-color:#28a7451a;border-left-color:#28a745}.admin-tokens-page .result-box.error{background-color:#dc35451a;border-left-color:var(--color-danger)}.admin-tokens-page .result-header{font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm)}.admin-tokens-page .result-message{font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.admin-tokens-page .token-display{display:flex;flex-direction:column;gap:var(--spacing-sm)}.admin-tokens-page .token-display label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.admin-tokens-page .token-box{align-items:center;display:flex;gap:var(--spacing-sm)}.admin-tokens-page .token-box code{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);flex:1;font-family:monospace;font-size:var(--font-size-xs);padding:var(--spacing-md);word-break:break-all}.admin-tokens-page .btn-copy{background-color:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast);white-space:nowrap}.admin-tokens-page .btn-copy:hover{background-color:var(--color-primary-dark)}.admin-tokens-page .user-display{background-color:var(--color-bg-secondary);border-radius:var(--radius-md);margin-top:var(--spacing-md);padding:var(--spacing-lg)}.admin-tokens-page .empty-state,.admin-tokens-page .loading-state{color:var(--color-text-secondary);padding:var(--spacing-3xl) var(--spacing-lg);text-align:center}@media(max-width:991px){.admin-tokens-page .table-header,.admin-tokens-page .table-row{grid-template-columns:1fr 1fr}.admin-tokens-page .col-created,.admin-tokens-page .col-status{display:none}}@media(max-width:767px){.admin-tokens-page .page-header{align-items:flex-start;flex-direction:column}.admin-tokens-page .btn-primary{width:100%}.admin-tokens-page .search-section{flex-direction:column}.admin-tokens-page .filter-select,.admin-tokens-page .search-input{width:100%}.admin-tokens-page .stats-grid{grid-template-columns:1fr}.admin-tokens-page .table-header,.admin-tokens-page .table-row{gap:var(--spacing-md);grid-template-columns:1fr}}.users-page{margin:0 auto;max-width:1200px;padding:var(--spacing-xl)}.users-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-xl)}.users-header .page-title{color:var(--color-text);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.users-header .header-actions{display:flex;gap:var(--spacing-sm)}.users-filters{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.search-input-wrapper{flex:1;max-width:400px;min-width:250px;position:relative}.search-input-wrapper .search-icon{color:var(--color-text-muted);left:var(--spacing-md);position:absolute;top:50%;transform:translateY(-50%)}.search-input-wrapper .search-input{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);padding-left:calc(var(--spacing-md)*2 + 16px);width:100%}.search-input-wrapper .search-input:focus{border-color:var(--color-primary);outline:none}.filter-group{align-items:center;display:flex;gap:var(--spacing-sm)}.filter-group .filter-label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.filter-group .filter-select{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md)}.users-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.user-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),transform var(--transition-base)}.user-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.user-card{padding:var(--spacing-xl);text-align:center}.user-card .user-avatar{background-color:var(--color-bg-secondary);border:3px solid var(--color-bg);border-radius:var(--radius-full);box-shadow:var(--shadow-md);height:80px;margin:0 auto var(--spacing-md);-o-object-fit:cover;object-fit:cover;width:80px}.user-card .user-name{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.user-card .user-email{font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card .user-email,.user-card .user-role{color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.user-card .user-role{background-color:var(--color-bg-secondary);border-radius:var(--radius-full);display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-md)}.user-card .user-role.admin{background-color:rgba(var(--color-primary-rgb),.1);color:var(--color-primary)}.user-card .user-role.teacher{background-color:rgba(var(--color-success-rgb),.1);color:var(--color-success)}.user-card .user-meta{border-top:1px solid var(--color-border);color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-lg);justify-content:center;padding-top:var(--spacing-md)}.user-card .user-meta .meta-item{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-xs)}.user-card .user-meta .meta-item .meta-value{color:var(--color-text);font-weight:var(--font-weight-semibold)}.users-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.user-list-item{align-items:center;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);transition:box-shadow var(--transition-base),transform var(--transition-base);transition:background-color var(--transition-fast)}.user-list-item .user-avatar,.user-list-item:hover{background-color:var(--color-bg-secondary)}.user-list-item .user-avatar{border-radius:var(--radius-full);flex-shrink:0;height:48px;-o-object-fit:cover;object-fit:cover;width:48px}.user-list-item .user-info{flex:1;min-width:0}.user-list-item .user-info .user-name{color:var(--color-text);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs)}.user-list-item .user-info .user-email{color:var(--color-text-secondary);font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-list-item .user-role{background-color:var(--color-bg-secondary);border-radius:var(--radius-full);color:var(--color-text-secondary);flex-shrink:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-md)}.user-list-item .user-status{align-items:center;display:flex;flex-shrink:0;font-size:var(--font-size-sm);gap:var(--spacing-xs)}.user-list-item .user-status .status-dot{border-radius:var(--radius-full);height:8px;width:8px}.user-list-item .user-status .status-dot.online{background-color:var(--color-success)}.user-list-item .user-status .status-dot.offline{background-color:var(--color-text-muted)}.user-list-item .user-actions{display:flex;flex-shrink:0;gap:var(--spacing-xs)}.user-detail-content{display:flex;flex-direction:column;gap:var(--spacing-xl)}.user-detail-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:var(--spacing-lg);padding-bottom:var(--spacing-lg)}@media(max-width:575px){.user-detail-header{flex-direction:column;text-align:center}}.user-detail-header .user-avatar{border-radius:var(--radius-full);flex-shrink:0;height:100px;-o-object-fit:cover;object-fit:cover;width:100px}.user-detail-header .user-info{flex:1}.user-detail-header .user-info .user-name{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs)}.user-detail-header .user-info .user-email{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.user-detail-header .user-info .user-badges{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}@media(max-width:575px){.user-detail-header .user-info .user-badges{justify-content:center}}.user-detail-section .section-title{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md)}.user-detail-grid{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.user-detail-grid .detail-item .detail-label{color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.05em;margin-bottom:var(--spacing-xs);text-transform:uppercase}.user-detail-grid .detail-item .detail-value{color:var(--color-text);font-size:var(--font-size-md);font-weight:var(--font-weight-medium)}.invite-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.invite-form .form-row{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.invite-form .form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.invite-form .form-group .form-label{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.invite-form .form-group .form-input,.invite-form .form-group .form-select{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-md);padding:var(--spacing-sm) var(--spacing-md)}.invite-form .form-group .form-input:focus,.invite-form .form-group .form-select:focus{border-color:var(--color-primary);outline:none}.users-empty{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-3xl);text-align:center;transition:box-shadow var(--transition-base),transform var(--transition-base)}.users-empty .empty-icon{color:var(--color-text-muted);height:64px;margin:0 auto var(--spacing-lg);opacity:.5;width:64px}.users-empty .empty-title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm)}.users-empty .empty-description{color:var(--color-text-secondary);font-size:var(--font-size-md)}.users-loading{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.users-loading .skeleton-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-xl);text-align:center;transition:box-shadow var(--transition-base),transform var(--transition-base)}.users-loading .skeleton-card .skeleton-avatar{border-radius:var(--radius-full);height:80px;margin:0 auto var(--spacing-md);width:80px}.users-loading .skeleton-card .skeleton-avatar,.users-loading .skeleton-card .skeleton-name{animation:skeletonShimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--color-bg-secondary) 25%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 75%);background-size:200% 100%;border-radius:var(--radius-md)}.users-loading .skeleton-card .skeleton-name{height:24px;margin:0 auto var(--spacing-xs);width:60%}.users-loading .skeleton-card .skeleton-email{border-radius:var(--radius-md);height:16px;margin:0 auto var(--spacing-md);width:80%}.users-loading .skeleton-card .skeleton-email,.users-loading .skeleton-card .skeleton-role{animation:skeletonShimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--color-bg-secondary) 25%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 75%);background-size:200% 100%}.users-loading .skeleton-card .skeleton-role{border-radius:var(--radius-full);border-radius:var(--radius-md);height:24px;margin:0 auto;width:80px}.users-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.users-page .users-header{align-items:flex-start;display:flex;gap:var(--spacing-lg);justify-content:space-between}.users-page .users-header h1{margin:0 0 var(--spacing-sm) 0}.users-page .subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.users-page .alert{border-radius:var(--radius-lg);font-size:var(--font-size-sm);padding:var(--spacing-lg)}.users-page .alert-danger{background-color:#dc35451a;border:1px solid rgba(220,53,69,.3);color:var(--color-danger)}.users-page .filters-section{background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;gap:var(--spacing-md);padding:var(--spacing-lg)}.users-page .search-box{flex:1;min-width:250px}.users-page .filter-select,.users-page .search-input{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-fast)}.users-page .search-input{width:100%}.users-page .filter-select:focus,.users-page .search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #007bff1a;outline:none}.users-page .table-container{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.users-page .users-table{border-collapse:collapse;width:100%}.users-page .users-table thead{background-color:var(--color-bg-secondary);border-bottom:2px solid var(--color-border)}.users-page .users-table th{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.05em;padding:var(--spacing-md) var(--spacing-lg);text-align:left;text-transform:uppercase}.users-page .user-row{border-bottom:1px solid var(--color-border);transition:background-color var(--transition-fast)}.users-page .user-row:hover{background-color:var(--color-bg-secondary)}.users-page .user-row td{padding:var(--spacing-md) var(--spacing-lg);vertical-align:middle}.users-page .col-avatar{width:60px}.users-page .col-name{width:200px}.users-page .col-email{width:180px}.users-page .col-role,.users-page .col-status{width:100px}.users-page .col-actions,.users-page .col-joined{width:120px}.users-page .avatar{align-items:center;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));border-radius:50%;color:#fff;display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);height:40px;justify-content:center;width:40px}.users-page .user-name{color:var(--color-text);font-weight:var(--font-weight-semibold)}.users-page .user-username{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin-top:2px}.users-page .role-badge,.users-page .status-badge{border-radius:var(--radius-full);display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:.25rem .75rem;text-transform:capitalize}.users-page .role-admin{background-color:#dc354533;color:var(--color-danger)}.users-page .role-teacher{background-color:#28a74533;color:var(--color-success)}.users-page .role-student{background-color:#007bff33;color:var(--color-primary)}.users-page .status-active{background-color:#28a74533;color:var(--color-success)}.users-page .status-inactive{background-color:#6d767e33;color:var(--color-secondary)}.users-page .status-suspended{background-color:#ffc10733;color:var(--color-warning)}.users-page .btn-icon{align-items:center;background-color:var(--color-bg-secondary);border:none;border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:inline-flex;font-size:var(--font-size-md);height:32px;justify-content:center;padding:0;transition:all var(--transition-fast);width:32px}.users-page .btn-icon:hover{background-color:var(--color-primary);color:#fff}.users-page .empty-state{background-color:var(--color-bg);border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-2xl);text-align:center}.users-page .empty-icon{font-size:4rem;margin-bottom:var(--spacing-md)}.users-page .empty-state h2{color:var(--color-text);margin:var(--spacing-md) 0}.users-page .empty-state p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0 0 var(--spacing-lg) 0}.users-page .user-form{display:flex;flex-direction:column;gap:var(--spacing-md)}@media(max-width:1199px){.users-page .col-actions,.users-page .col-avatar,.users-page .col-email,.users-page .col-joined,.users-page .col-name,.users-page .col-role,.users-page .col-status{width:auto}.users-page .table-container{overflow-x:auto}}@media(max-width:767px){.users-page .filters-section,.users-page .users-header{flex-direction:column}.users-page .table-container{display:none}.users-page .empty-state{display:block}}.moodles-page,:root.dark .users-page .user-row:hover,:root.dark .users-page .users-table thead{background-color:var(--color-bg-secondary)}.moodles-page{min-height:100vh}:root.dark .moodles-page{background-color:var(--color-bg)}.page-container{margin:0 auto;max-width:960px;padding:var(--spacing-xl) var(--spacing-lg)}@media(max-width:767px){.page-container{padding:var(--spacing-lg) var(--spacing-md)}}.page-header{align-items:flex-start;display:flex;gap:var(--spacing-lg);justify-content:space-between;margin-bottom:var(--spacing-xl)}@media(max-width:575px){.page-header{flex-direction:column;gap:var(--spacing-md)}}.header-content{flex:1}.back-link{align-items:center;color:var(--color-primary);display:inline-flex;font-size:.875rem;font-weight:500;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);text-decoration:none;transition:opacity var(--transition-fast)}.back-link:hover{opacity:.8}.back-link svg{flex-shrink:0}.header-title h1{color:var(--color-text);font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0 0 var(--spacing-xs)}.header-subtitle{color:var(--color-text-secondary);font-size:.9375rem;margin:0}.btn-add-header{align-items:center;background-color:var(--color-primary);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);transition:background-color var(--transition-fast),transform var(--transition-fast);white-space:nowrap}.btn-add-header:hover{background-color:var(--color-primary-dark);transform:translateY(-1px)}.btn-add-header:active{transform:translateY(0)}@media(max-width:575px){.btn-add-header{justify-content:center;width:100%}}.loading-state{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-2xl) var(--spacing-lg)}.loading-state .spin{animation:spin 1s linear infinite;color:var(--color-primary)}.loading-state p{font-size:.9375rem;margin-top:var(--spacing-md)}.empty-state{align-items:center;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);display:flex;flex-direction:column;padding:var(--spacing-2xl) var(--spacing-lg);text-align:center}.empty-icon,:root.dark .empty-state{background-color:var(--color-bg-secondary)}.empty-icon{align-items:center;border-radius:50%;color:var(--color-text-secondary);display:flex;height:96px;justify-content:center;margin-bottom:var(--spacing-lg);width:96px}:root.dark .empty-icon{background-color:var(--color-bg)}.empty-state h2{color:var(--color-text);font-size:1.25rem;font-weight:600;margin:0 0 var(--spacing-sm)}.empty-state p{color:var(--color-text-secondary);font-size:.9375rem;margin:0 0 var(--spacing-lg);max-width:320px}.moodles-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}@media(max-width:575px){.moodles-grid{grid-template-columns:1fr}}.moodle-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);outline:none;padding:var(--spacing-lg);transition:transform var(--transition-base),box-shadow var(--transition-base)}:root.dark .moodle-card{background-color:var(--color-bg-secondary)}.moodle-card:hover{box-shadow:0 8px 24px #00000014;transform:translateY(-2px)}:root.dark .moodle-card:hover{box-shadow:0 8px 24px #0000003d}.moodle-card:focus,.moodle-card:focus-visible{outline:none}.card-header{gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.card-header,.moodle-badge{align-items:center;display:flex}.moodle-badge{border-radius:var(--radius-lg);color:#fff;flex-shrink:0;font-size:1.125rem;font-weight:700;height:44px;justify-content:center;text-transform:uppercase;width:44px}.card-info{flex:1;min-width:0}.card-title{color:var(--color-text);font-size:1rem;font-weight:600;margin:0 0 var(--spacing-xs)}.card-title,.card-url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-url{color:var(--color-text-secondary);font-size:.8125rem;margin:0}.status-badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:600;padding:var(--spacing-xs) var(--spacing-sm)}.status-badge.active{background-color:rgba(var(--color-success-rgb),.12);color:var(--color-success)}.status-badge.inactive{background-color:rgba(var(--color-text-muted-rgb),.12);color:var(--color-text-secondary)}.status-badge.error{background-color:rgba(var(--color-danger-rgb),.12);color:var(--color-danger)}.card-meta{border-bottom:1px solid var(--color-border);border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-md);padding:var(--spacing-md) 0}.meta-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.meta-label{color:var(--color-text-secondary);font-size:.75rem;letter-spacing:.02em;text-transform:uppercase}.meta-value{color:var(--color-text);font-size:.875rem;font-weight:500}.meta-value.role-badge{text-transform:capitalize}.card-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.btn-primary{align-items:center;background-color:var(--color-primary);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);transition:background-color var(--transition-fast),opacity var(--transition-fast)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-primary:disabled{cursor:not-allowed;opacity:.6}.btn-primary.btn-lg{font-size:1rem;padding:var(--spacing-md) var(--spacing-xl)}.btn-secondary{align-items:center;background-color:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-sm) var(--spacing-md);transition:background-color var(--transition-fast),border-color var(--transition-fast)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-secondary);border-color:var(--color-text-secondary)}.btn-secondary:disabled{cursor:not-allowed;opacity:.6}.btn-secondary.btn-sm{font-size:.8125rem;padding:var(--spacing-xs) var(--spacing-sm)}.btn-danger{align-items:center;background-color:var(--color-danger);border:none;border-radius:var(--radius-lg);color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);transition:background-color var(--transition-fast),opacity var(--transition-fast)}.btn-danger:hover:not(:disabled){background-color:#c62232}.btn-danger:disabled{cursor:not-allowed;opacity:.6}.btn-danger-outline{align-items:center;background-color:transparent;border:1px solid rgba(var(--color-danger-rgb),.3);border-radius:var(--radius-md);color:var(--color-danger);cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:500;gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-xs) var(--spacing-sm);transition:background-color var(--transition-fast),border-color var(--transition-fast)}.btn-danger-outline:hover:not(:disabled){background-color:rgba(var(--color-danger-rgb),.08);border-color:var(--color-danger)}.btn-danger-outline:disabled{cursor:not-allowed;opacity:.6}.btn-close{align-items:center;background-color:var(--color-bg-secondary);border:none;border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;transition:background-color var(--transition-fast),color var(--transition-fast);width:36px}.btn-close:hover{background-color:var(--color-border);color:var(--color-text)}:root.dark .btn-close{background-color:var(--color-bg)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0006;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:var(--z-modal)}.modal-panel{background-color:var(--color-bg);box-shadow:-8px 0 24px #0000001f;display:flex;flex-direction:column;height:100%;max-width:480px;overflow:hidden;width:100%}:root.dark .modal-panel{background-color:var(--color-bg-secondary)}@media(max-width:575px){.modal-panel{max-width:100%}}.modal-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.modal-header h2{color:var(--color-text);font-size:1.25rem;font-weight:600;margin:0}.modal-form{display:flex;flex:1;flex-direction:column;gap:var(--spacing-lg);overflow-y:auto;padding:var(--spacing-lg)}.modal-actions{border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-md);margin-top:auto;padding-top:var(--spacing-lg)}.modal-actions .btn-primary{flex:1}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-label{color:var(--color-text);font-size:.875rem;font-weight:600}.form-label .required{color:var(--color-danger)}.form-label .optional{color:var(--color-text-secondary);font-size:.8125rem;font-weight:400}.form-input{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:.9375rem;outline:none;padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}:root.dark .form-input{background-color:var(--color-bg-secondary)}.form-input::-moz-placeholder{color:var(--color-text-secondary);opacity:.6}.form-input::placeholder{color:var(--color-text-secondary);opacity:.6}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.15)}.form-input:disabled{background-color:var(--color-bg-secondary);cursor:not-allowed;opacity:.7}.form-input.has-error{border-color:var(--color-danger)}.form-input.has-error:focus{box-shadow:0 0 0 3px rgba(var(--color-danger-rgb),.15)}.input-with-toggle{position:relative}.input-with-toggle .form-input{padding-right:44px}.input-with-toggle .toggle-visibility{align-items:center;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;display:flex;justify-content:center;padding:var(--spacing-xs);position:absolute;right:var(--spacing-sm);top:50%;transform:translateY(-50%)}.input-with-toggle .toggle-visibility:hover{color:var(--color-text)}.form-error{color:var(--color-danger)}.form-error,.form-hint{font-size:.8125rem;margin:0}.form-hint{color:var(--color-text-secondary)}.form-help-link{align-items:center;color:var(--color-primary);display:inline-flex;font-size:.8125rem;gap:var(--spacing-xs);margin-top:var(--spacing-xs);text-decoration:none}.form-help-link:hover{text-decoration:underline}.form-error-banner{align-items:center;background-color:rgba(var(--color-danger-rgb),.08);border:1px solid rgba(var(--color-danger-rgb),.2);color:var(--color-danger);font-size:.875rem;gap:var(--spacing-sm)}.form-error-banner,.test-connection-section{border-radius:var(--radius-md);display:flex;padding:var(--spacing-md)}.test-connection-section{background-color:var(--color-bg-secondary);flex-direction:column;gap:var(--spacing-md)}:root.dark .test-connection-section{background-color:var(--color-bg)}.btn-test-connection{align-items:center;background-color:transparent;border:1px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-primary);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-sm) var(--spacing-md);transition:background-color var(--transition-fast)}.btn-test-connection:hover:not(:disabled){background-color:rgba(var(--color-primary-rgb),.08)}.btn-test-connection:disabled{cursor:not-allowed;opacity:.6}.connection-status{align-items:center;border-radius:var(--radius-md);display:flex;font-size:.875rem;font-weight:500;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md)}.connection-status.success{background-color:rgba(var(--color-success-rgb),.1);color:var(--color-success)}.connection-status.error{background-color:rgba(var(--color-danger-rgb),.1);color:var(--color-danger)}.connection-status.testing{background-color:rgba(var(--color-primary-rgb),.1);color:var(--color-primary)}.confirm-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;display:flex;inset:0;justify-content:center;padding:var(--spacing-lg);position:fixed;z-index:var(--z-modal)}.confirm-modal{background-color:var(--color-bg);border-radius:var(--radius-xl);max-width:400px;padding:var(--spacing-xl);text-align:center;width:100%}:root.dark .confirm-modal{background-color:var(--color-bg-secondary)}.confirm-modal h3{color:var(--color-text);font-size:1.25rem;font-weight:600;margin:0 0 var(--spacing-sm)}.confirm-modal p{color:var(--color-text-secondary);font-size:.9375rem;margin:0 0 var(--spacing-md)}.confirm-icon{align-items:center;border-radius:var(--radius-full);display:flex;height:64px;justify-content:center;margin:0 auto var(--spacing-lg);width:64px}.confirm-icon.danger{background-color:rgba(var(--color-danger-rgb),.1);color:var(--color-danger)}.confirm-warning{color:var(--color-danger);font-size:.8125rem;font-weight:500}.confirm-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.confirm-actions button{flex:1}.modal-enter-active,.modal-leave-active{transition:opacity var(--transition-slow)}.modal-enter-active .modal-panel,.modal-leave-active .modal-panel{transition:transform var(--transition-slow)}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-from .modal-panel,.modal-leave-to .modal-panel{transform:translate(100%)}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-base)}.fade-enter-from,.fade-leave-to{opacity:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.spin{animation:spin 1s linear infinite}.flex{display:flex}.inline-flex{display:inline-flex}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-center{justify-content:center}.flex-between,.flex-center{align-items:center;display:flex}.flex-between{justify-content:space-between}.flex-start{justify-content:flex-start}.flex-end,.flex-start{align-items:center;display:flex}.flex-end{justify-content:flex-end}.flex-around{justify-content:space-around}.flex-around,.flex-evenly{align-items:center;display:flex}.flex-evenly{justify-content:space-evenly}.flex-col-center{align-items:center}.flex-col-center,.flex-col-start{display:flex;flex-direction:column}.flex-col-start{align-items:flex-start}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-center{align-self:center}.self-end{align-self:flex-end}.self-stretch{align-self:stretch}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.gap-0{gap:0}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.gap-2xl{gap:var(--spacing-2xl)}.gap-x-xs{-moz-column-gap:var(--spacing-xs);column-gap:var(--spacing-xs)}.gap-x-sm{-moz-column-gap:var(--spacing-sm);column-gap:var(--spacing-sm)}.gap-x-md{-moz-column-gap:var(--spacing-md);column-gap:var(--spacing-md)}.gap-x-lg{-moz-column-gap:var(--spacing-lg);column-gap:var(--spacing-lg)}.gap-y-xs{row-gap:var(--spacing-xs)}.gap-y-sm{row-gap:var(--spacing-sm)}.gap-y-md{row-gap:var(--spacing-md)}.gap-y-lg{row-gap:var(--spacing-lg)}.stack{display:flex;flex-direction:column}.stack-xs{gap:var(--spacing-xs)}.stack-sm{gap:var(--spacing-sm)}.stack-md{gap:var(--spacing-md)}.stack-lg{gap:var(--spacing-lg)}.stack-xl{gap:var(--spacing-xl)}.inline{align-items:center;display:flex}.inline-xs{gap:var(--spacing-xs)}.inline-sm{gap:var(--spacing-sm)}.inline-md{gap:var(--spacing-md)}.inline-lg{gap:var(--spacing-lg)}.grid{display:grid}.inline-grid{display:inline-grid}.grid-auto-fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-auto-fill{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-5{grid-template-columns:repeat(5,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr)}.col-span-1{grid-column:span 1}.col-span-2{grid-column:span 2}.col-span-3{grid-column:span 3}.col-span-full{grid-column:1/-1}@media(max-width:767px){.grid-2,.grid-3,.grid-4,.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-1{grid-template-columns:1fr}}@media(max-width:575px){.grid-2,.grid-3,.grid-4,.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}.container{margin-left:auto;margin-right:auto;max-width:var(--breakpoint-xl);padding-left:var(--spacing-md);padding-right:var(--spacing-md);width:100%}.container-sm{max-width:var(--breakpoint-sm)}.container-md{max-width:var(--breakpoint-md)}.container-lg{max-width:var(--breakpoint-lg)}.container-fluid{max-width:100%}.w-full{width:100%}.w-screen{width:100vw}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.h-full{height:100%}.h-screen{height:100vh}.h-auto{height:auto}.h-fit{height:-moz-fit-content;height:fit-content}.min-w-0{min-width:0}.min-h-0{min-height:0}.min-h-screen{min-height:100vh}.max-w-full{max-width:100%}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.static{position:static}.inset-0{inset:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-auto{z-index:auto}.m-0{margin:0!important}.m-xs{margin:var(--spacing-xs)!important}.m-sm{margin:var(--spacing-sm)!important}.m-md{margin:var(--spacing-md)!important}.m-lg{margin:var(--spacing-lg)!important}.m-xl{margin:var(--spacing-xl)!important}.m-2xl{margin:var(--spacing-2xl)!important}.m-auto{margin:auto!important}.mx-0{margin-left:0!important;margin-right:0!important}.mx-xs{margin-left:var(--spacing-xs)!important;margin-right:var(--spacing-xs)!important}.mx-sm{margin-left:var(--spacing-sm)!important;margin-right:var(--spacing-sm)!important}.mx-md{margin-left:var(--spacing-md)!important;margin-right:var(--spacing-md)!important}.mx-lg{margin-left:var(--spacing-lg)!important;margin-right:var(--spacing-lg)!important}.mx-xl{margin-left:var(--spacing-xl)!important;margin-right:var(--spacing-xl)!important}.mx-2xl{margin-left:var(--spacing-2xl)!important;margin-right:var(--spacing-2xl)!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-0{margin-bottom:0!important;margin-top:0!important}.my-xs{margin-bottom:var(--spacing-xs)!important;margin-top:var(--spacing-xs)!important}.my-sm{margin-bottom:var(--spacing-sm)!important;margin-top:var(--spacing-sm)!important}.my-md{margin-bottom:var(--spacing-md)!important;margin-top:var(--spacing-md)!important}.my-lg{margin-bottom:var(--spacing-lg)!important;margin-top:var(--spacing-lg)!important}.my-xl{margin-bottom:var(--spacing-xl)!important;margin-top:var(--spacing-xl)!important}.my-2xl{margin-bottom:var(--spacing-2xl)!important;margin-top:var(--spacing-2xl)!important}.mt-0{margin-top:0!important}.mt-xs{margin-top:var(--spacing-xs)!important}.mt-sm{margin-top:var(--spacing-sm)!important}.mt-md{margin-top:var(--spacing-md)!important}.mt-lg{margin-top:var(--spacing-lg)!important}.mt-xl{margin-top:var(--spacing-xl)!important}.mt-2xl{margin-top:var(--spacing-2xl)!important}.mb-0{margin-bottom:0!important}.mb-xs{margin-bottom:var(--spacing-xs)!important}.mb-sm{margin-bottom:var(--spacing-sm)!important}.mb-md{margin-bottom:var(--spacing-md)!important}.mb-lg{margin-bottom:var(--spacing-lg)!important}.mb-xl{margin-bottom:var(--spacing-xl)!important}.mb-2xl{margin-bottom:var(--spacing-2xl)!important}.ml-0{margin-left:0!important}.ml-xs{margin-left:var(--spacing-xs)!important}.ml-sm{margin-left:var(--spacing-sm)!important}.ml-md{margin-left:var(--spacing-md)!important}.ml-lg{margin-left:var(--spacing-lg)!important}.ml-xl{margin-left:var(--spacing-xl)!important}.ml-2xl{margin-left:var(--spacing-2xl)!important}.mr-0{margin-right:0!important}.mr-xs{margin-right:var(--spacing-xs)!important}.mr-sm{margin-right:var(--spacing-sm)!important}.mr-md{margin-right:var(--spacing-md)!important}.mr-lg{margin-right:var(--spacing-lg)!important}.mr-xl{margin-right:var(--spacing-xl)!important}.mr-2xl{margin-right:var(--spacing-2xl)!important}.ml-auto{margin-left:auto!important}.mr-auto{margin-right:auto!important}.p-0{padding:0!important}.p-xs{padding:var(--spacing-xs)!important}.p-sm{padding:var(--spacing-sm)!important}.p-md{padding:var(--spacing-md)!important}.p-lg{padding:var(--spacing-lg)!important}.p-xl{padding:var(--spacing-xl)!important}.p-2xl{padding:var(--spacing-2xl)!important}.px-0{padding-left:0!important;padding-right:0!important}.px-xs{padding-left:var(--spacing-xs)!important;padding-right:var(--spacing-xs)!important}.px-sm{padding-left:var(--spacing-sm)!important;padding-right:var(--spacing-sm)!important}.px-md{padding-left:var(--spacing-md)!important;padding-right:var(--spacing-md)!important}.px-lg{padding-left:var(--spacing-lg)!important;padding-right:var(--spacing-lg)!important}.px-xl{padding-left:var(--spacing-xl)!important;padding-right:var(--spacing-xl)!important}.px-2xl{padding-left:var(--spacing-2xl)!important;padding-right:var(--spacing-2xl)!important}.py-0{padding-bottom:0!important;padding-top:0!important}.py-xs{padding-bottom:var(--spacing-xs)!important;padding-top:var(--spacing-xs)!important}.py-sm{padding-bottom:var(--spacing-sm)!important;padding-top:var(--spacing-sm)!important}.py-md{padding-bottom:var(--spacing-md)!important;padding-top:var(--spacing-md)!important}.py-lg{padding-bottom:var(--spacing-lg)!important;padding-top:var(--spacing-lg)!important}.py-xl{padding-bottom:var(--spacing-xl)!important;padding-top:var(--spacing-xl)!important}.py-2xl{padding-bottom:var(--spacing-2xl)!important;padding-top:var(--spacing-2xl)!important}.pt-0{padding-top:0!important}.pt-xs{padding-top:var(--spacing-xs)!important}.pt-sm{padding-top:var(--spacing-sm)!important}.pt-md{padding-top:var(--spacing-md)!important}.pt-lg{padding-top:var(--spacing-lg)!important}.pt-xl{padding-top:var(--spacing-xl)!important}.pt-2xl{padding-top:var(--spacing-2xl)!important}.pb-0{padding-bottom:0!important}.pb-xs{padding-bottom:var(--spacing-xs)!important}.pb-sm{padding-bottom:var(--spacing-sm)!important}.pb-md{padding-bottom:var(--spacing-md)!important}.pb-lg{padding-bottom:var(--spacing-lg)!important}.pb-xl{padding-bottom:var(--spacing-xl)!important}.pb-2xl{padding-bottom:var(--spacing-2xl)!important}.pl-0{padding-left:0!important}.pl-xs{padding-left:var(--spacing-xs)!important}.pl-sm{padding-left:var(--spacing-sm)!important}.pl-md{padding-left:var(--spacing-md)!important}.pl-lg{padding-left:var(--spacing-lg)!important}.pl-xl{padding-left:var(--spacing-xl)!important}.pl-2xl{padding-left:var(--spacing-2xl)!important}.pr-0{padding-right:0!important}.pr-xs{padding-right:var(--spacing-xs)!important}.pr-sm{padding-right:var(--spacing-sm)!important}.pr-md{padding-right:var(--spacing-md)!important}.pr-lg{padding-right:var(--spacing-lg)!important}.pr-xl{padding-right:var(--spacing-xl)!important}.pr-2xl{padding-right:var(--spacing-2xl)!important}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-3{-webkit-line-clamp:3}.line-clamp-3,.line-clamp-4{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4}.line-clamp-none{display:block;-webkit-line-clamp:unset;-webkit-box-orient:initial;overflow:visible}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.font-extrabold{font-weight:var(--font-weight-extrabold)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.text-4xl{font-size:var(--font-size-4xl)}.leading-none{line-height:1}.leading-tight{line-height:var(--line-height-tight)}.leading-snug{line-height:var(--line-height-snug)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.leading-loose{line-height:var(--line-height-loose)}.tracking-tighter{letter-spacing:-.05em}.tracking-tight{letter-spacing:-.025em}.tracking-normal{letter-spacing:0}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.text-warning{color:var(--color-warning)}.text-info{color:var(--color-info)}.text-muted{color:var(--color-gray-400)}.text-white{color:#fff}.text-black{color:#000}.text-inherit{color:inherit}.text-current{color:currentColor}.text-gray-50{color:var(--color-gray-50)}.text-gray-100{color:var(--color-gray-100)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.underline{text-decoration:underline}.no-underline{text-decoration:none}.line-through{text-decoration:line-through}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-normal{overflow-wrap:normal;word-break:normal}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.italic{font-style:italic}.not-italic{font-style:normal}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-top{vertical-align:text-top}.align-text-bottom{vertical-align:text-bottom}.list-none{list-style-type:none}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.list-inside{list-style-position:inside}.list-outside{list-style-position:outside}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.not-sr-only{height:auto;margin:0;overflow:visible;padding:0;position:static;width:auto;clip:auto;white-space:normal}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-grid{display:grid!important}.d-table{display:table!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-1{flex:1!important}.justify-start{justify-content:flex-start!important}.justify-center{justify-content:center!important}.justify-end{justify-content:flex-end!important}.justify-between{justify-content:space-between!important}.justify-around{justify-content:space-around!important}.items-start{align-items:flex-start!important}.items-center{align-items:center!important}.items-end{align-items:flex-end!important}.items-stretch{align-items:stretch!important}.gap-xs{gap:var(--spacing-xs)!important}.gap-sm{gap:var(--spacing-sm)!important}.gap-md{gap:var(--spacing-md)!important}.gap-lg{gap:var(--spacing-lg)!important}.gap-xl{gap:var(--spacing-xl)!important}.relative{position:relative!important}.absolute{position:absolute!important}.fixed{position:fixed!important}.sticky{position:sticky!important}.top-0{top:0!important}.bottom-0{bottom:0!important}.left-0{left:0!important}.right-0{right:0!important}.overflow-hidden{overflow:hidden!important}.overflow-auto{overflow:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-y-auto{overflow-y:auto!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.w-full{width:100%!important}.w-screen{width:100vw!important}.h-full{height:100%!important}.h-screen{height:100vh!important}.max-w-full{max-width:100%!important}.max-w-screen{max-width:100vw!important}.min-w-0{min-width:0!important}.max-h-screen{max-height:100vh!important}.object-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fill{-o-object-fit:fill!important;object-fit:fill!important}.rounded-none{border-radius:0!important}.rounded-sm{border-radius:var(--radius-sm)!important}.rounded-md{border-radius:var(--radius-md)!important}.rounded-lg{border-radius:var(--radius-lg)!important}.rounded-xl{border-radius:var(--radius-xl)!important}.rounded-full{border-radius:var(--radius-full)!important}.border{border:1px solid var(--color-border)!important}.border-top{border-top:1px solid var(--color-border)!important}.border-bottom{border-bottom:1px solid var(--color-border)!important}.border-left{border-left:1px solid var(--color-border)!important}.border-right{border-right:1px solid var(--color-border)!important}.shadow-none{box-shadow:none!important}.shadow-sm{box-shadow:var(--shadow-sm)!important}.shadow-md{box-shadow:var(--shadow-md)!important}.shadow-lg{box-shadow:var(--shadow-lg)!important}.shadow-xl{box-shadow:var(--shadow-xl)!important}.bg-primary{background-color:var(--color-primary)!important;color:#fff}.bg-secondary{background-color:var(--color-secondary)!important;color:#fff}.bg-success{background-color:var(--color-success)!important;color:#fff}.bg-danger{background-color:var(--color-danger)!important;color:#fff}.bg-warning{background-color:var(--color-warning)!important;color:#111827}.bg-info{background-color:var(--color-info)!important;color:#fff}.bg-gray-100{background-color:var(--color-gray-100)!important}.bg-gray-200{background-color:var(--color-gray-200)!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.cursor-pointer{cursor:pointer!important}.cursor-default{cursor:default!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-text{cursor:text!important}.pointer-events-none{pointer-events:none!important}.pointer-events-auto{pointer-events:auto!important}.select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.select-text{-webkit-user-select:text!important;-moz-user-select:text!important;user-select:text!important}.select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.clearfix:after{clear:both;content:"";display:table}.transition-all{transition:all var(--transition-base)!important}.transition-colors{transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base)!important}.transition-opacity{transition:opacity var(--transition-base)!important}.transition-transform{transition:transform var(--transition-base)!important}.scale-100{transform:scale(1)!important}.scale-110{transform:scale(1.1)!important}.translate-y-0{transform:translateY(0)!important}.translate-y-1{transform:translateY(4px)!important}.translate-y-2{transform:translateY(8px)!important}.z-0{z-index:0!important}.z-10{z-index:10!important}.z-20{z-index:20!important}.z-50{z-index:50!important}.z-auto{z-index:auto!important}@media(max-width:767px){.hidden-mobile{display:none!important}}@media(min-width:768px){.visible-mobile-only{display:none!important}}@media(max-width:767px){.container{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}}@media(max-width:575px){.container{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}}:root{transition:background-color var(--transition-base),color var(--transition-base)}:root.dark{color-scheme:dark}:root.dark ::-webkit-scrollbar{height:8px;width:8px}:root.dark ::-webkit-scrollbar-track{background:var(--color-gray-100);border-radius:var(--radius-full)}:root.dark ::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:var(--radius-full)}:root.dark ::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}:root.dark{scrollbar-color:var(--color-gray-400) var(--color-gray-100);scrollbar-width:thin}:root.dark select{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="none" stroke="%23f1f5f9" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2 5l6 6 6-6"/></svg>')}:root.dark input:-webkit-autofill,:root.dark input:-webkit-autofill:focus,:root.dark input:-webkit-autofill:hover,:root.dark select:-webkit-autofill,:root.dark select:-webkit-autofill:focus,:root.dark select:-webkit-autofill:hover,:root.dark textarea:-webkit-autofill,:root.dark textarea:-webkit-autofill:focus,:root.dark textarea:-webkit-autofill:hover{-webkit-text-fill-color:var(--color-text);-webkit-box-shadow:0 0 0 1000px var(--color-bg-secondary) inset;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}:root.dark ::-moz-placeholder{color:var(--color-placeholder);opacity:1}:root.dark ::placeholder{color:var(--color-placeholder);opacity:1}:root.dark .tooltip-inner{background-color:var(--color-gray-700);color:var(--color-text)}:root.dark .tooltip .tooltip-arrow:before{border-top-color:var(--color-gray-700)}:root.dark .popover{background-color:var(--color-bg-secondary);border-color:var(--color-border)}:root.dark .popover-header{background-color:var(--color-bg);border-bottom-color:var(--color-border);color:var(--color-text)}:root.dark .popover-body{color:var(--color-text)}:root.dark .dropdown-menu{background-color:var(--color-bg-secondary);border-color:var(--color-border);box-shadow:var(--shadow-lg)}:root.dark .dropdown-item{color:var(--color-text)}:root.dark .dropdown-item:focus,:root.dark .dropdown-item:hover{background-color:#007bff1a;color:var(--color-primary)}:root.dark .dropdown-item.active,:root.dark .dropdown-item:active{background-color:var(--color-primary);color:#fff}:root.dark .dropdown-divider{border-top-color:var(--color-border)}:root.dark .alert{border-color:var(--color-border)}:root.dark img:not([src*=".svg"]){filter:brightness(.95)}:root.dark svg{filter:none}:root.dark .logo-invert{filter:invert(1)}:root.dark :focus-visible{outline-color:var(--color-primary);outline-offset:2px}:root.dark ::-moz-selection{background-color:#007bff66;color:var(--color-text)}:root.dark ::selection{background-color:#007bff66;color:var(--color-text)}
