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