@charset "UTF-8";:root{--color-bg-primary: #f9fbfd;--color-bg-secondary: #ffffff;--color-bg-tertiary: #f1f4f8;--color-bg-input: #dcf3ff;--color-bg-surface: #ffffff;--color-bg-overlay: rgba(0, 0, 0, .45);--color-bg-hover: rgba(0, 0, 0, .04);--color-bg-sidebar: #ffffff;--color-bg-header: #f9fbfd;--color-bg-footer: #f9fbfd;--color-bg-card: #ffffff;--color-bg-modal-header: rgba(0, 129, 199, .66);--color-bg-table-header: #0081c7;--color-bg-readonly: #e9e9e9;--color-bg-code: #f3f4f6;--color-bg-badge: #e63757;--color-text-primary: #12263f;--color-text-secondary: #6e84a3;--color-text-tertiary: #95aac9;--color-text-muted: #7a7a7a;--color-text-inverse: #ffffff;--color-text-heading: #12263f;--color-text-link: #6cadff;--color-text-link-hover: #1f6cd3;--color-text-label: #7a7a7a;--color-text-on-primary: #ffffff;--color-primary: #0081c7;--color-primary-hover: #006da8;--color-primary-gradient-start: #009ff6;--color-primary-gradient-end: #0085ce;--color-primary-light: #dcf3ff;--color-success: #00d97e;--color-success-text: #106800;--color-success-bg: #d4edda;--color-danger: #e63757;--color-danger-hover: #c82333;--color-danger-gradient-start: #da6177;--color-danger-gradient-end: #e63757;--color-danger-bg: #f8d7da;--color-warning: #ffc107;--color-warning-bg: #fff3cd;--color-warning-text: #856404;--color-risk: #ff7815;--color-risk-bg: rgba(190, 77, 37, .47);--color-info: #17a2b8;--color-border: #e3ebf6;--color-border-input: #7a7a7a;--color-border-light: #dee2e6;--color-border-medium: #c1c1c1;--color-border-focus: #2c7be5;--color-border-card: #edf2f9;--color-icon: #363f3cd6;--color-icon-hover: #009ff6;--color-shadow: rgba(0, 0, 0, .08);--color-shadow-strong: rgba(34, 46, 46, 1);--color-toggle-inactive: linear-gradient(180deg, #b4b4b4, #d3d3d3);--color-toggle-active: linear-gradient(180deg, #36ef00, #2bd500);--font-family-base: "Mulish", "Cerebri Sans", system-ui, -apple-system, sans-serif;--font-family-mono: "SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", monospace;--font-size-2xs: .65rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1.125rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 1.875rem;--font-size-3xl: 2.25rem;--font-size-h1: clamp(1.25rem, 1.1rem + .6vw, 1.625rem);--font-size-h2: clamp(1.125rem, 1rem + .4vw, 1.375rem);--font-size-h3: clamp(1rem, .95rem + .25vw, 1.125rem);--font-size-h4: clamp(.9375rem, .9rem + .2vw, 1.0625rem);--font-size-h5: clamp(.8125rem, .8rem + .15vw, .9375rem);--font-size-h6: clamp(.75rem, .73rem + .1vw, .8125rem);--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-base: 1.6;--line-height-relaxed: 1.75;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .02em;--space-0: 0;--space-px: 1px;--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-11: 2.75rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px var(--color-shadow);--shadow-sm: 0 1px 3px var(--color-shadow), 0 1px 2px var(--color-shadow);--shadow-md: 0 4px 6px -1px var(--color-shadow), 0 2px 4px -2px var(--color-shadow);--shadow-lg: 0 10px 15px -3px var(--color-shadow), 0 4px 6px -4px var(--color-shadow);--shadow-xl: 0 20px 25px -5px var(--color-shadow), 0 8px 10px -6px var(--color-shadow);--shadow-card: 0 4px 7px rgba(34, 46, 46, .08);--shadow-nav: 0 4px 7px rgba(34, 46, 46, .12);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--transition-spring: .5s cubic-bezier(.25, .46, .45, .94);--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-bg: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-banner: 1000;--sidebar-width: 250px;--header-height: 80px;--footer-height: 90px;--container-max-sm: 640px;--container-max-md: 768px;--container-max-lg: 1024px;--container-max-xl: 1280px;--container-max-2xl: 1536px;--input-min-height: 44px;--btn-min-height: 44px;--tap-target-min: 44px;--skeleton-base: #f0f0f0;--skeleton-shine: #e0e0e0;--skeleton-header-base: #d5d5d5;--skeleton-header-shine: #c5c5c5;--skeleton-border: #e0e0e0}[data-theme=dark]{--color-bg-primary: #0f1117;--color-bg-secondary: #1a1d27;--color-bg-tertiary: #242836;--color-bg-input: #242836;--color-bg-surface: #1a1d27;--color-bg-overlay: rgba(0, 0, 0, .65);--color-bg-hover: rgba(255, 255, 255, .06);--color-bg-sidebar: #1a1d27;--color-bg-header: #0f1117;--color-bg-footer: #0f1117;--color-bg-card: #1a1d27;--color-bg-modal-header: rgba(0, 129, 199, .45);--color-bg-table-header: #1e3a5f;--color-bg-readonly: #2a2e3a;--color-bg-code: #242836;--color-bg-badge: #e63757;--color-text-primary: #e1e4ea;--color-text-secondary: #9ba4b5;--color-text-tertiary: #6b7280;--color-text-muted: #6b7280;--color-text-inverse: #0f1117;--color-text-heading: #f0f2f5;--color-text-link: #7cb8ff;--color-text-link-hover: #a5d0ff;--color-text-label: #9ba4b5;--color-text-on-primary: #ffffff;--color-primary: #3da5db;--color-primary-hover: #5bb8e8;--color-primary-gradient-start: #3da5db;--color-primary-gradient-end: #2b8abf;--color-primary-light: rgba(61, 165, 219, .15);--color-success: #34d399;--color-success-text: #6ee7b7;--color-success-bg: rgba(52, 211, 153, .12);--color-danger: #f87171;--color-danger-hover: #fca5a5;--color-danger-gradient-start: #f87171;--color-danger-gradient-end: #ef4444;--color-danger-bg: rgba(248, 113, 113, .12);--color-warning: #fbbf24;--color-warning-bg: rgba(251, 191, 36, .12);--color-warning-text: #fde68a;--color-risk: #fb923c;--color-risk-bg: rgba(251, 146, 60, .15);--color-info: #38bdf8;--color-border: #2d3348;--color-border-input: #3d4459;--color-border-light: #2d3348;--color-border-medium: #3d4459;--color-border-focus: #3da5db;--color-border-card: #2d3348;--color-icon: #9ba4b5;--color-icon-hover: #3da5db;--color-shadow: rgba(0, 0, 0, .3);--color-shadow-strong: rgba(0, 0, 0, .5);--color-toggle-inactive: linear-gradient(180deg, #3d4459, #4b5569);--color-toggle-active: linear-gradient(180deg, #34d399, #10b981);--skeleton-base: #242836;--skeleton-shine: #2d3348;--skeleton-header-base: #2a2e3a;--skeleton-header-shine: #353a48;--skeleton-border: var(--color-border);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .25);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .35), 0 2px 4px -2px rgba(0, 0, 0, .25);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .45), 0 8px 10px -6px rgba(0, 0, 0, .35);--shadow-card: 0 2px 8px rgba(0, 0, 0, .25);--shadow-nav: 0 2px 8px rgba(0, 0, 0, .35)}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);color:var(--color-text-primary);background-color:var(--color-bg-primary);transition:background-color var(--transition-base),color var(--transition-base)}h1,h2,h3,h4,h5,h6{color:var(--color-text-heading);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);transition:color var(--transition-base)}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}h4{font-size:var(--font-size-h4)}h5{font-size:var(--font-size-h5)}h6{font-size:var(--font-size-h6)}p{font-family:var(--font-family-base);line-height:var(--line-height-base);color:var(--color-text-primary);transition:color var(--transition-base)}small,.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}a{color:var(--color-text-link);text-decoration:underline;transition:color var(--transition-fast)}a:hover{color:var(--color-text-link-hover)}button{font-family:var(--font-family-base);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}button:disabled{cursor:not-allowed;opacity:.6}input,textarea,select{font-family:var(--font-family-base);font-size:var(--font-size-base);color:var(--color-text-primary);transition:background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-base)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #0081c726}label{color:var(--color-text-label);font-size:var(--font-size-md);transition:color var(--transition-base)}img,picture,video,canvas,svg{display:block;max-width:100%}table{border-collapse:collapse;width:100%}ul,ol{list-style:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-medium);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-medium) transparent}::selection{background-color:var(--color-primary-light);color:var(--color-text-primary)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}[data-theme=dark]{--bs-body-color: var(--color-text-primary);--bs-body-color-rgb: 225, 228, 234;--bs-body-bg: var(--color-bg-primary);--bs-body-bg-rgb: 15, 17, 23;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: var(--color-text-secondary);--bs-tertiary-color: var(--color-text-tertiary);--bs-border-color: var(--color-border);color-scheme:dark}[data-theme=dark] .card{background-color:var(--color-bg-card);border-color:var(--color-border-card);color:var(--color-text-primary)}[data-theme=dark] .modal-content{background-color:var(--color-bg-surface);border-color:var(--color-border);color:var(--color-text-primary)}[data-theme=dark] .modal-header{border-bottom-color:var(--color-border)}[data-theme=dark] .modal-footer{border-top-color:var(--color-border)}[data-theme=dark] .dropdown-menu{background-color:var(--color-bg-surface);border-color:var(--color-border);color:var(--color-text-primary)}[data-theme=dark] .dropdown-item{color:var(--color-text-primary)}[data-theme=dark] .dropdown-item:hover,[data-theme=dark] .dropdown-item:focus{background-color:var(--color-bg-hover);color:var(--color-text-primary)}[data-theme=dark] .table{--bs-table-color: var(--color-text-primary);--bs-table-bg: transparent;--bs-table-border-color: var(--color-border);--bs-table-striped-color: var(--color-text-primary);--bs-table-striped-bg: rgba(255, 255, 255, .03);--bs-table-hover-color: var(--color-text-primary);--bs-table-hover-bg: var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-border)}[data-theme=dark] .table>thead{color:var(--color-text-on-primary)}[data-theme=dark] .table>tbody>tr{border-color:var(--color-border);color:var(--color-text-primary)}[data-theme=dark] .table>tbody>tr>td{color:var(--color-text-primary)}[data-theme=dark] .table-hover>tbody>tr:hover{--bs-table-hover-bg: var(--color-bg-hover);--bs-table-hover-color: var(--color-text-primary);background-color:var(--color-bg-hover);color:var(--color-text-primary)}[data-theme=dark] .form-control:focus{background-color:var(--color-bg-surface);border-color:var(--color-border-focus);color:var(--color-text-primary)}[data-theme=dark] .form-control:read-only{background-color:var(--color-bg-readonly)}[data-theme=dark] .form-select{background-color:var(--color-bg-input);border-color:var(--color-border-input);color:var(--color-text-primary);--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%239ba4b5' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}[data-theme=dark] .form-floating>label{color:var(--color-text-label)}[data-theme=dark] .form-floating>.form-control:focus~label:after,[data-theme=dark] .form-floating>.form-control:not(:placeholder-shown)~label:after,[data-theme=dark] .form-floating>.form-select~label:after{background-color:var(--color-bg-input)}[data-theme=dark] .form-label{color:var(--color-text-label)}[data-theme=dark] .form-text{color:var(--color-text-muted)}[data-theme=dark] .input-group-text{background-color:var(--color-bg-tertiary);border-color:var(--color-border-input);color:var(--color-text-primary)}[data-theme=dark] .btn-primary{background-image:linear-gradient(180deg,var(--color-primary-gradient-start),var(--color-primary-gradient-end));background-color:var(--color-primary);border-color:var(--color-primary)}[data-theme=dark] .btn-secondary{background-color:var(--color-bg-tertiary);border-color:var(--color-border);color:var(--color-text-primary)}[data-theme=dark] .btn-outline-primary{color:var(--color-primary);border-color:var(--color-primary)}[data-theme=dark] .btn-outline-primary:hover{background-color:var(--color-primary)!important;color:var(--color-text-on-primary)}[data-theme=dark] .btn-danger{background-image:linear-gradient(180deg,var(--color-danger-gradient-start),var(--color-danger-gradient-end));background-color:var(--color-danger)}[data-theme=dark] .list-group-item{background-color:var(--color-bg-surface);border-color:var(--color-border);color:var(--color-text-primary)}[data-theme=dark] .list-group-item.active{background-color:var(--color-primary);border-color:var(--color-primary)}[data-theme=dark] .page-link{background-color:var(--color-bg-surface);border-color:var(--color-border);color:var(--color-text-primary)}[data-theme=dark] .page-item.active .page-link{background-color:var(--color-primary);border-color:var(--color-primary)}[data-theme=dark] .navbar{background-color:var(--color-bg-sidebar)!important}[data-theme=dark] .navbar-light .navbar-nav .nav-link{color:var(--color-text-primary)}[data-theme=dark] .navbar-light .navbar-nav .nav-link:hover{color:var(--color-primary)}[data-theme=dark] .alert-warning{background-color:var(--color-warning-bg);border-color:var(--color-warning);color:var(--color-warning-text)}[data-theme=dark] .alert-danger{background-color:var(--color-danger-bg);border-color:var(--color-danger);color:var(--color-danger)}[data-theme=dark] .badge.bg-light{background-color:var(--color-bg-tertiary)!important;color:var(--color-text-primary)!important}[data-theme=dark] .tooltip-inner{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}[data-theme=dark] .nav-tabs{border-bottom-color:var(--color-border)}[data-theme=dark] .nav-tabs .nav-link{color:var(--color-text-secondary)}[data-theme=dark] .nav-tabs .nav-link.active{background-color:var(--color-bg-surface);border-color:var(--color-border) var(--color-border) var(--color-bg-surface);color:var(--color-text-primary)}[data-theme=dark] .breadcrumb{background-color:transparent}[data-theme=dark] .breadcrumb-item+.breadcrumb-item:before{color:var(--color-text-muted)}[data-theme=dark] .btn-close{filter:invert(1) grayscale(100%) brightness(200%)}[data-theme=dark] .text-muted{color:var(--color-text-muted)!important}[data-theme=dark] .text-dark{color:var(--color-text-primary)!important}[data-theme=dark] .border{border-color:var(--color-border)!important}[data-theme=dark] .bg-white{background-color:var(--color-bg-surface)!important}[data-theme=dark] .bg-light{background-color:var(--color-bg-tertiary)!important}[data-theme=dark] .accordion-item{background-color:var(--color-bg-surface);border-color:var(--color-border)}[data-theme=dark] .accordion-button{background-color:var(--color-bg-surface);color:var(--color-text-primary)}[data-theme=dark] .accordion-button:not(.collapsed){background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}[data-theme=dark] .Toastify__toast{background-color:var(--color-bg-surface);color:var(--color-text-primary)}[data-theme=dark] .select__control{background-color:var(--color-bg-input);border-color:var(--color-border-input)}[data-theme=dark] .select__menu{background-color:var(--color-bg-surface);border-color:var(--color-border)}[data-theme=dark] .select__menu-list{background-color:var(--color-bg-surface)}[data-theme=dark] .select__option{background-color:var(--color-bg-surface);color:var(--color-text-primary)}[data-theme=dark] .select__option--is-focused{background-color:var(--color-bg-tertiary)}[data-theme=dark] .select__option--is-selected{background-color:var(--color-primary);color:var(--color-text-on-primary)}[data-theme=dark] .select__single-value,[data-theme=dark] .select__input-container{color:var(--color-text-primary)}[data-theme=dark] .select__placeholder{color:var(--color-text-muted)}[data-theme=dark] .select__indicator-separator{background-color:var(--color-border)}[data-theme=dark] .select__dropdown-indicator,[data-theme=dark] .select__clear-indicator{color:var(--color-text-muted)}[data-theme=dark] .react-datepicker{background-color:var(--color-bg-surface);border-color:var(--color-border);color:var(--color-text-primary)}[data-theme=dark] .react-datepicker__header{background-color:var(--color-bg-tertiary);border-bottom-color:var(--color-border)}[data-theme=dark] .react-datepicker__day{color:var(--color-text-primary)}[data-theme=dark] .react-datepicker__day:hover{background-color:var(--color-bg-hover)}[data-theme=dark] .react-datepicker__day--selected,[data-theme=dark] .react-datepicker__day--keyboard-selected{background-color:var(--color-primary);color:var(--color-text-on-primary)}[data-theme=dark] .react-datepicker__day-name,[data-theme=dark] .react-datepicker__current-month,[data-theme=dark] .react-datepicker-time__header{color:var(--color-text-primary)}[data-theme=dark] .react-datepicker__navigation-icon:before{border-color:var(--color-text-muted)}[data-theme=dark] .react-datepicker__year-dropdown,[data-theme=dark] .react-datepicker__month-dropdown{background-color:var(--color-bg-surface);border-color:var(--color-border)}[data-theme=dark] .react-datepicker__day--outside-month{color:var(--color-text-tertiary)}[data-theme=dark] .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before{border-bottom-color:var(--color-border)}[data-theme=dark] .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:after{border-bottom-color:var(--color-bg-tertiary)}[data-theme=dark] .Toastify__toast-theme--light{background-color:var(--color-bg-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}[data-theme=dark] .Toastify__close-button--light{color:var(--color-text-muted)}[data-theme=dark] .Toastify__progress-bar--default{background:var(--color-primary)}[data-theme=dark] .header{background-color:var(--color-bg-header)}[data-theme=dark] .footer{background-color:var(--color-bg-footer)!important}[data-theme=dark] .landing-body{background-color:var(--color-bg-primary);color:var(--color-text-primary)}[data-theme=dark] .light-overlay{background-color:var(--color-bg-primary)}[data-theme=dark] .landing-navbar{border-bottom-color:var(--color-primary)}[data-theme=dark] .card-shadow{box-shadow:var(--shadow-nav)}[data-theme=dark] .table.table-header{background-color:var(--color-bg-table-header)}[data-theme=dark] .form-control{background-color:var(--color-bg-input);border-color:var(--color-border-input);color:var(--color-text-primary)}[data-theme=dark] .legend-1,[data-theme=dark] .legend-2,[data-theme=dark] .legend-3{background-color:var(--color-bg-surface);color:var(--color-text-primary)}[data-theme=dark] .btn-secondary{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}[data-theme=dark] .btn-secondary:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}[data-theme=dark] .btn-secondary:focus,[data-theme=dark] .btn-secondary:active{background-color:var(--color-bg-tertiary);color:var(--color-text-primary)}[data-theme=dark] .bg-dark{background-color:var(--color-bg-tertiary)!important}[data-theme=dark] .sidebar{background-color:var(--color-bg-sidebar)}[data-theme=dark] .zone-list{background-color:var(--color-bg-surface);border-color:var(--color-border)}[data-theme=dark] .zone-item{border-bottom-color:var(--color-border)}[data-theme=dark] .zone-item.child{background-color:var(--color-bg-tertiary)}[data-theme=dark] .zone-item.parent{background-color:var(--color-bg-secondary)}[data-theme=dark] .zone-item.active{background-color:var(--color-primary-light)}[data-theme=dark] .help-panel{background-color:var(--color-bg-surface)}[data-theme=dark] .data-display{background-color:var(--color-bg-tertiary);border-color:var(--color-border)}[data-theme=dark] .popover-header1{background-color:var(--color-bg-tertiary)!important;color:var(--color-warning)}[data-theme=dark] .popover1{background-color:var(--color-bg-tertiary)}[data-theme=dark] .backend-preview .data-display{background-color:var(--color-bg-tertiary);border-color:var(--color-border)}[data-theme=dark] .importantTR{background-color:#fbff7a26;color:var(--color-text-primary)}[data-theme=dark] .bg-pal-warning{color:var(--color-text-primary)}[data-theme=dark] .bg-pal-risk{color:#12263f}[data-theme=dark] .bg-pal-danger{color:#fff}[data-theme=dark] .hover-white:hover{background-color:var(--color-bg-surface)}[data-theme=dark] .table-white{background-color:var(--color-bg-card)}[data-theme=dark] .header-banner{background-color:var(--color-primary)}[data-theme=dark] .setHover:hover{background-color:var(--color-bg-hover)}[data-theme=dark] .material-icons{color:var(--color-icon)}[data-theme=dark] .material-icons:hover,[data-theme=dark] .fe:hover{color:var(--color-icon-hover)}[data-theme=dark] .table-header .fe:hover{color:#fff}[data-theme=dark] .modal-header.bg-pal{background-color:var(--color-bg-modal-header)}[data-theme=dark] input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px var(--color-bg-input) inset;-webkit-text-fill-color:var(--color-text-primary)}[data-theme=dark] input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 30px var(--color-bg-surface) inset;-webkit-text-fill-color:var(--color-text-primary)}[data-theme=dark] .ai-chatbot-window{background:var(--color-bg-surface)}[data-theme=dark] .ai-chatbot-header{background:var(--color-bg-surface);border-bottom-color:var(--color-border)}[data-theme=dark] .ai-chatbot-messages{background:var(--color-bg-surface)}[data-theme=dark] .ai-chatbot-input-area{background:var(--color-bg-surface);border-top-color:var(--color-border)}[data-theme=dark] .ai-chatbot-input-container{background:var(--color-bg-tertiary);border-color:var(--color-border)}[data-theme=dark] .ai-chatbot-input{color:var(--color-text-primary)}[data-theme=dark] .ai-chatbot-title{color:var(--color-text-heading)}[data-theme=dark] .ai-chatbot-subtitle{color:var(--color-text-muted)}[data-theme=dark] .ai-chatbot-btn{background:var(--color-bg-tertiary);border-color:var(--color-border);color:var(--color-text-primary)}[data-theme=dark] .ai-chatbot-message-bubble-ai{background:var(--color-bg-tertiary);color:var(--color-text-primary)}@media(max-width:768px){button,a,input[type=checkbox],input[type=radio],select{min-height:var(--tap-target-min)}.main-content{overflow-x:hidden}}@media print{body{background:#fff;color:#000}.navbar,.footer,.header-banner,.ai-chatbot-fab,.ai-chatbot-window,.help-corner-button{display:none!important}}@font-face{font-family:Mulish;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/mulish-cyrillic-ext-400-normal-CpUHyHQX.woff2) format("woff2"),url(/assets/mulish-all-400-normal-VqFhIOS7.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Mulish;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/mulish-cyrillic-400-normal-C87OzwpL.woff2) format("woff2"),url(/assets/mulish-all-400-normal-VqFhIOS7.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Mulish;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA0IABAAAAAAJHwAAAyoAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnAbhGIcMAZgP1NUQVRIAII4EQgKsAyoYQuCNAABNgIkA4QgBCAFhQAHIAwHG4seUZSS1vYRfHFgGzMbugI0QlObVGDQLgxZyONje7r5YebD02m9/2eCZiZpCmXbNAUdFowKKNj1ST2jXai3RvaoHOzuDs//fsNzHyZTE0xiNFqyCIJFu6EvlLWy1BfiyvrvfwDYgcO2saY+x1hEhNFddO/g/7613mx3aitEINyvMCpAGz3Q/WnSAZzNBJg2OBAgkoR8oICEOgso5Wl374TXZ8tSveBWpMEEczKWcanfvPLLE4CgFAAA6EPJ+b+VUFIi/IUhVolAREpBpMlDFChGlDIi6rQiLGyIdsOIUbOIeS4EQQE8gEcABCCjFo9Z9fVmaI51jilo7n7XDDTINeyYgRKhEAgACICSovzFgiCAAEj8wQLYqEns+p1BowEL5CTHwZMBIPwRAAAEr7T+NwV2fc5XKNII/zaZsOI3F41N+zvUVfivaib6ayglCAec44UChOPRdqJjDKrNk+kXEpcmWCYWVjZE5JZgWEwlzjZ1KO4JA0AOCgiGMIi3Mp6tlfNUoQSMrpb3xIwB5lY+0qSTyZBLJA8gsyRhwHJ6qTGccTPEZgFce2mwRfMBCyywwCgRNjYxvXlRfZQY0W8aaiAUwqcMBwDSO8yFu7OlI7dDBPRF7QDq5MHJhtSkomireVoJqfFfpL9inCdUs8z8SAzsQJI0IG8AIH/qCdBgEIQUBQSigFj0GR1zEQB/0fpQEgCCFYgB0DDkdoB+ADAImq9BJnAYaLGITMMmdoQ/JSbiTf1IEhknS2S/+t9pWRAAUkRJEskYWST71ItWROHg4+ef6f/KBQoWSiWcGgBQpZRMItjkmRWvT4ZxcgYKRlLVZLQ4Ojw9HzUYZUQqiFWSqMIqF6JZqBZhWvmrE6hBkEbBmgSoF85qFYtYPeL0itQuSqdoXWJ00+iQoF+SQcmGpBiWaECaUenGZJqQbUqOablmZJlUyKHAvCJOxVwI0gT4AoAHAIBMAOqB+QXRDIh3gFkAAABtMDxVA4kxFjxgiclmIXrPb7q8KbaeQaoKoLfuxZwPzyp5fz6Uj+CjWFYbGhQQwfLTMiTKMJWcVSlTK1Rh4VAFS3lCFSoJu8lQiUr/ArlJblxmLeJLzJP2ZHliByfiFt58E1d4vTIrt/A2ufItmYwTycHb6L4xbOeVb7/tnuSmt96yXfHmEPsmb78+gDAcnZl7Lu2VM1kjXLuskxvKoS5tIkLuEyWzcfcvgvaEW/RaJ7E4QqQ3llSMY+go6xTf/QMUSTQRwEcee4CFDJcsyTru5RiO9hAOUq5j8kce0c+S3ew4o8V67IVzkTnhPddwYNfj3he9M/+shDuZiRxHn6bHyll6bJy5HmaRWc2iiB7RhjdPdTObbtHr7cnf8ja3cCLpkezaJvra8ha9g/ueTN69HUMf7yFXLhfaUtcutjVWveMYt/ASrthJzwV0FpNjpw4RwkF7XzQTDjSK7VrxXORk6One1m1HrJhBAbKz6ms1LL02tt+I0Y1D63lRzPHSFO8+alLCHa5TRHr3qIPIcVlGx1ABy9uV1caZjbpZOctOVy7v2HEbQid0d+boggdeyvzKqrxFO3/LG9z3SNy2bSJu+YdxXpXddDT53sFq56W6bFdt2W6C2Kdf13xPIg9bwPB/yvXU2pPxC4h/f//888aS81bbs9p9LsuzbP/ShnmX37YNsHu+cy81tz3smG97ZKnFfa/+jtsXbr7l1oWF2++A3XNBO/9np67z0rwOdk+bB2V9c/WLt9tGBu+wNS7OzjUt3W4fHLnN3rBknblhzf3uuY3333Djhnvn3WvuxbT0tpvuuHV36/bp3umxgeHp6e2tu2+99Q6ITSEx+/q+7gn6qqcrel+ICXJpzWB5vrOlNd85WFajHdD+x8tWN6bWhl/Vspr7b7Amq8rYNtDbVxdmNJgH+nr7gpdWN4yV72huzp+XL1ldM1DzL/eip8zT3dLdW9arb17Dyfq12VV6S19PNxWmN5j7unu+KqRJV19/w/qmEtdkpV7XXZQ1YVJfm9PMNxvaDXVtY+0+PV195rRGVflx36FoNP3V8lfHaOdQ5+aiCJcaJ8qLXM0tRU7qYDTROMXOluZilybOMo95wGBoY23fA0Ha3tE/XNiSryuoLKlushjVLX81zctNXRUo/sy/+rsfHvv8Qb/3YD98XHXwuOXryIqMyrGqEEil5R1lmY76hoxZ/pgVZeZyFf/cvQX3TrZM1hXUlTc7OJW54q/LC7YUvOOpNHZ3dRp7KytMvZ1dpNE48Vc/Zxt5jtgIu3roXfFTzzWWdmHnXeObIS6tJi3OnBzLVOca09NnGveNVcWbrZvj2obXm4q0qcE1rra98hxZo8oKv1dBbddW71WovoEqPigkzRWnUEyHKJ9OeG7Vt6vSo6PCup8aD1Ii8dBDwbf/nZWgNIanaaq+RNpJe5cdPnf5vt5bps0MvdvZ8qqvWmoZsdJHCrvHUS0sQor5VtEdLQEpX2Un+A2/ZLT2z1SoV+5c7nQvM3OzO4curqxfri/tssHV45vhH0Nnu6gh3vhxTs7PhfGKpj4EZDm+r/dWarNCPhN9JviqQ4dHvCL37/lLasWXg1UrysDEKzN4bjJE+VTi8zWFaVHhQe3nLQEcllsXghe/ykrwSz78mK5ytvJOXK43T5sSGHVf663y7NHD52uTg7VD1Y/y2YiraWsS6bzN7qwsd7OXz6y1aXjecovFcYsjdfu8o+yWH422tblrPih0Rs3xtmD5F+IjIferUr8PDdQtav0RV9pa/Pq755wpKc5z715oK378UU92dEKAoqG7XRYyXuKJ9k8MyLhi+0ZF8PiDZUt9lwq6pqtDnxy13NM4c4+V+rPRmbJYHt8zGhQ258tztmC5V3xEslOV8n1oYP7BPH83u7rv1fndZlpD/4e7L9k/d6L8/imff5LyXGbR4dD70n0XGkT+Se1pK0lzISsmdWO3PfdY6YWogKSa29hYuVbKtVLWlWQcX8VhadSVJXwAP43GgwBAAkdmoEY90iRg03y83hP0onfwE0otfelHf68ABvBNl3BS+fUHI/qhUZoSEUw/+lNBA3pQ1S5wJQ3olTopXIVqvEqyRATTj/5U0JBJkZchwaB6GXJTvQRZCNYtwQEovalPjqRKNVOkTZAg8gWt5XKLcutyB5QC6FV+F3emSjUN6KGkdkLiWUku3HyyQXFerIJooz14hFJMV7qRXcTEkGJhqrYjqLEWo9xqb8JVIkIlu4iJgZeFKQre1l8MsXEK5srYGqBee0a0UzW1Uzu1ox3UxC6pACetUIYSdLPFiIQB9RIkIhi2BDNg9ozcO6lyBkTkgwM4ggc2HQ1wuUW5YbkZZgFOOVFzaeFOodYOiQ9lCeg7VVw696Hw98WfPfb15ReFtQAA/gB9idkh2T+rEOgGUrBQxFb/+1272CSXQIYvBfWk2Qcat4e5Pc7UFmcnR8XsogSq4gAaywhdWAKdBdQ+aT8Is53EvtxJAL5OLBxIQlrHLReiTzP/g3Pt0k2EhC4s8aWgz8O+Xs8yNbB2IUIXwH1mjsR1gy5ZGgzkYERMDd/loUvgPvVgu/2g8Ie/b01QDyUGNEjgPg08c4A//QZIwkR76BI0pX0il+3XhPHCl5wIyejfbTXtyfO7xgLJyf/Jye8aBDToELDfhQ4XsZs+gUgAH9qFCU8ASRXxMhfyyCOPPPKMlxLXGvChR/qdd1GfL91fqI//R+agI3Qt/9WDJfBv9W77zO+BFyKohPwFHQL499f5LggAmAd7fvrunG+vb+mfUob5BgDeN3aZAODDDfuvvnTDpd/YX9CwPAAxCgAI/I7cQTS6El/cuwlEcf6vyR9Av/nXab7P3lq06mFPFoabWVIbLhwYi/LGr/cy171X+KPR2JFZgZosfoJONUkWedwLT9ASZKLBq1Bf9wDwr2ZHBQi9PhemjKi3kyC8LhT5VaNPbdsmw+oXBKPHGqzSDZjyHdB/XgTwAFpJNBIhCovFvXj3gkE6HwCbAa0AEW1zAUrhyQIMvdcLsLITWkBEldoCYpkZyq+Qm7tLIACfZ11MdEcSYKP3IwVClk+qMWvOOg7jRo1x0ciWKUs+DTODDw9r4Dbl5M4razRzmDVh2GBbuIpbxo1ZcQ52NBLjwi5zarhYRuWMGudx3QakG2ywps24Wf4rR00ZNmLWDBenDNNd/ZIyhHXWrsc49KtPPqLVsFH339fPIUe6fJlylGjUpJFOSdj8pz5pWNjufpqZYzV8H6zxK3Jp8izaDPIuyqnjNPiUrLm7ZKV3Ck9JZ+64UYYmevVshmPjTGT1d3YGtd7zX63fDAYAQFguVTH+cSJce/YWAAAA) format("woff2"),url(/assets/mulish-all-400-normal-VqFhIOS7.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Mulish;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/mulish-latin-ext-400-normal-BlpNjT2Q.woff2) format("woff2"),url(/assets/mulish-all-400-normal-VqFhIOS7.woff) format("woff");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Mulish;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/mulish-latin-400-normal-DdpZOsbr.woff2) format("woff2"),url(/assets/mulish-all-400-normal-VqFhIOS7.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.mapboxgl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-left,.mapboxgl-ctrl-right,.mapboxgl-ctrl-top,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top{left:50%;top:0;transform:translate(-50%)}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-right{right:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl-bottom{bottom:0;left:50%;transform:translate(-50%)}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-left{left:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.mapboxgl-ctrl-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-bottom .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapboxgl-ctrl-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media(-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:initial;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media(-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:initial}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:#0000000d}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-buildings-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M3.3335 11.6666C3.3335 12.5871 4.07969 13.3333 5.00016 13.3333C5.92064 13.3333 6.66683 12.5871 6.66683 11.6666L6.66683 6.66659L11.6668 6.66659C12.5873 6.66659 13.3335 5.92039 13.3335 4.99992C13.3335 4.07944 12.5873 3.33325 11.6668 3.33325H3.3335V11.6666Z' fill='currentColor'/%3E%3Cpath d='M26.6668 11.6666C26.6668 12.5871 25.9206 13.3333 25.0002 13.3333C24.0797 13.3333 23.3335 12.5871 23.3335 11.6666L23.3335 6.66659L18.3335 6.66659C17.413 6.66659 16.6668 5.92039 16.6668 4.99992C16.6668 4.07944 17.413 3.33325 18.3335 3.33325H26.6668L26.6668 11.6666Z' fill='currentColor'/%3E%3Cpath d='M13.3335 24.9999C13.3335 25.9204 12.5873 26.6666 11.6668 26.6666H3.3335V18.3333C3.3335 17.4128 4.07969 16.6666 5.00016 16.6666C5.92064 16.6666 6.66683 17.4128 6.66683 18.3333V23.3333H11.6668C12.5873 23.3333 13.3335 24.0794 13.3335 24.9999Z' fill='currentColor'/%3E%3Cpath d='M18.3335 26.6666C17.413 26.6666 16.6668 25.9204 16.6668 24.9999C16.6668 24.0794 17.413 23.3333 18.3335 23.3333H23.3335V18.3333C23.3335 17.4128 24.0797 16.6666 25.0002 16.6666C25.9206 16.6666 26.6668 17.4128 26.6668 18.3333V26.6666H18.3335Z' fill='currentColor'/%3E%3C/svg%3E");background-size:26px 26px}.mapboxgl-ctrl button.mapboxgl-ctrl-buildings-toggle.mapboxgl-ctrl-level-button-selected .mapboxgl-ctrl-icon{filter:invert(1) brightness(1)}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media(-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media(-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}@media(-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;box-sizing:initial;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:#0000000d}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:#000000bf;text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid #0000;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:initial;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:#0000000d}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:"";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid #0000;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid #0000;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:#000000b3;color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-ctrl-separator{background-color:#e0e0e0;height:1px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button{color:#333;font-size:18px;font-weight:700;height:50px;width:50px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:hover{background-color:#f5f5f5}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected{background-color:#4a5568;color:#fff}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected:hover{background-color:#2d3748}.mpp-dialog-backdrop{position:fixed;inset:0;z-index:var(--z-modal-bg);background:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center}.mpp-dialog{position:relative;background:var(--color-bg-primary, #fff);border-radius:var(--radius-lg, .75rem);box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04));width:100%;max-width:420px;margin:auto;display:flex;flex-direction:column;animation:mpp-slide-down .2s ease-out}@keyframes mpp-slide-down{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.mpp-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border-light, #e5e7eb)}.mpp-dialog__title{font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #111827);margin:0}.mpp-dialog__subtitle{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6b7280);margin:.25rem 0 0;line-height:1.3}.mpp-dialog__body{padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:var(--space-4, 1rem)}.mpp-dialog__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3, .75rem);padding:1rem 1.5rem;border-top:1px solid var(--color-border-light, #e5e7eb)}.mpp-dialog__error-banner{display:flex;align-items:center;gap:var(--space-2, .5rem);padding:var(--space-2-5, .625rem) var(--space-3, .75rem);background:var(--color-danger-bg, #fef2f2);color:var(--color-danger, #dc2626);border-radius:var(--radius-md, .5rem);font-size:var(--font-size-sm, .875rem);line-height:1.4}.mpp-field__label{display:block;font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary, #111827);margin-bottom:var(--space-1, .25rem)}.mpp-field__required{color:var(--color-danger, #dc2626)}.mpp-field__input{width:100%;height:38px;padding:0 var(--space-3, .75rem);font-size:var(--font-size-sm, .875rem);color:var(--color-text-primary, #111827);background:var(--color-bg-secondary, #f9fafb);border:1px solid var(--color-border, #d1d5db);border-radius:var(--radius-md, .5rem);transition:border-color var(--transition-fast, .15s) ease,box-shadow var(--transition-fast, .15s) ease}.mpp-field__input:focus{outline:none;border-color:var(--color-border-focus, #2563eb);box-shadow:0 0 0 3px #2563eb1a}.mpp-field__input:disabled{opacity:.5;cursor:not-allowed}.mpp-field__error{font-size:var(--font-size-xs, .75rem);color:var(--color-danger, #dc2626);margin:var(--space-1, .25rem) 0 0}.mpp-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2, .5rem);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);line-height:1;border-radius:var(--radius-md, .5rem);border:none;cursor:pointer;transition:background var(--transition-fast, .15s) ease,opacity var(--transition-fast, .15s) ease}.mpp-btn:disabled{opacity:.5;cursor:not-allowed}.mpp-btn--primary{padding:var(--space-2, .5rem) var(--space-4, 1rem);background:var(--color-primary, #2563eb);color:#fff}.mpp-btn--primary:hover:not(:disabled){background:var(--color-primary-hover, #1d4ed8)}.mpp-btn--cancel{padding:var(--space-2, .5rem) var(--space-4, 1rem);background:var(--color-bg-secondary, #f9fafb);color:var(--color-text-primary, #111827);border:1px solid var(--color-border, #d1d5db)}.mpp-btn--cancel:hover:not(:disabled){background:var(--color-bg-tertiary, #f3f4f6)}.mpp-saving-text{display:inline-flex;align-items:center;gap:var(--space-2, .5rem)}.mpp-spinner{animation:mpp-spin .75s linear infinite}@keyframes mpp-spin{to{transform:rotate(360deg)}}.mpp-security-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3, .75rem) 0}.mpp-security-row__info{display:flex;flex-direction:column;gap:var(--space-1, .25rem)}.mpp-security-row__label{font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary, #111827)}.mpp-security-row__hint{font-size:var(--font-size-xs, .75rem);color:var(--color-text-tertiary, #9ca3af)}.mpp-group-list{max-height:300px;overflow-y:auto;border:1px solid var(--color-border-light, #e5e7eb);border-radius:var(--radius-md, .5rem);background:var(--color-bg-secondary, #f9fafb)}.mpp-group-item{display:flex;align-items:center;gap:var(--space-2-5, .625rem);padding:var(--space-2, .5rem) var(--space-3, .75rem);border-bottom:1px solid var(--color-border-light, #e5e7eb);font-size:var(--font-size-sm, .875rem);color:var(--color-text-primary, #111827);cursor:pointer;transition:background var(--transition-fast, .15s) ease}.mpp-group-item:last-child{border-bottom:none}.mpp-group-item:hover{background:var(--color-bg-tertiary, #f3f4f6)}.mpp-group-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary, #2563eb);cursor:pointer}.mpp-icon-sm{width:16px;height:16px;flex-shrink:0}.mpp-icon-md{width:20px;height:20px;flex-shrink:0}.mpp-icon-lg{width:24px;height:24px;flex-shrink:0}.nav2-sidebar{position:fixed;top:0;left:0;z-index:200;width:220px;height:100vh;display:flex;flex-direction:column;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);transition:width var(--transition-base),transform var(--transition-base),background-color var(--transition-base);overflow:hidden}.nav2-main{margin-left:220px;min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg-primary);transition:margin-left var(--transition-base),background-color var(--transition-base)}.nav2-brand{flex-shrink:0;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border-light)}.nav2-brand__logo{height:28px;width:auto;flex-shrink:0}.nav2-brand__text{display:flex;flex-direction:column;min-width:0}.nav2-brand__campus{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.nav2-brand__sub{font-size:10px;font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}.nav2-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-2) 0}.nav2-body::-webkit-scrollbar{width:4px}.nav2-body::-webkit-scrollbar-track{background:transparent}.nav2-body::-webkit-scrollbar-thumb{background:var(--color-border-light);border-radius:4px}.nav2-section{padding:var(--space-1) 0}.nav2-section+.nav2-section{border-top:1px solid var(--color-border-light);margin-top:var(--space-1);padding-top:var(--space-2)}.nav2-section-label{display:block;padding:var(--space-1) var(--space-4) var(--space-1);font-size:10px;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-tertiary);-webkit-user-select:none;user-select:none}.nav2-item{display:flex;align-items:center;gap:var(--space-2-5);padding:7px var(--space-4);margin:1px var(--space-2);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-decoration:none;cursor:pointer;transition:all .15s ease;border:none;background:transparent;width:calc(100% - var(--space-4));text-align:left}.nav2-item:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.nav2-item.is-active{color:var(--color-primary);background:var(--color-primary-light);font-weight:var(--font-weight-semibold)}.nav2-item__icon{display:inline-flex;align-items:center;justify-content:center;width:18px;font-size:16px;flex-shrink:0;opacity:.7}.nav2-item.is-active .nav2-item__icon{opacity:1}.nav2-item__text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav2-item__external{display:inline-flex;align-items:center;justify-content:center;width:12px;font-size:11px;opacity:.4;flex-shrink:0}.nav2-expand-btn{display:flex;align-items:center;gap:var(--space-2-5);padding:7px var(--space-4);margin:1px var(--space-2);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease;border:none;background:transparent;width:calc(100% - var(--space-4));text-align:left}.nav2-expand-btn:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.nav2-expand-btn.is-active{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.nav2-expand-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;font-size:16px;flex-shrink:0;opacity:.7}.nav2-expand-btn.is-active .nav2-expand-icon{opacity:1}.nav2-expand-chevron{display:inline-flex;align-items:center;justify-content:center;width:14px;font-size:12px;margin-left:auto;opacity:.4;transition:transform .2s ease;flex-shrink:0}.nav2-expand-btn.is-open .nav2-expand-chevron{transform:rotate(90deg)}.nav2-subnav{overflow:hidden;max-height:0;transition:max-height .25s ease}.nav2-subnav.is-open{max-height:300px}.nav2-subitem{display:block;padding:5px var(--space-4) 5px 46px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-sm);margin:0 var(--space-2);transition:all .15s ease}.nav2-subitem:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.nav2-subitem.is-active{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.nav2-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-weight-bold);background:var(--color-danger);color:#fff;margin-left:auto;flex-shrink:0}.nav2-badge--empty{background:var(--color-bg-tertiary);color:var(--color-text-tertiary)}.nav2-footer{flex-shrink:0;border-top:1px solid var(--color-border-light);padding:var(--space-3) var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.nav2-footer__actions{display:flex;align-items:center;gap:var(--space-2)}.nav2-logout-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .15s ease}.nav2-logout-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.nav2-logout-btn__icon{font-size:14px}.nav2-version-toggle{display:flex;align-items:center;justify-content:center;gap:var(--space-1-5);width:100%;padding:var(--space-1-5) var(--space-3);border-radius:var(--radius-md);border:1px dashed var(--color-border-medium);background:transparent;color:var(--color-text-tertiary);font-size:11px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all .15s ease}.nav2-version-toggle:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.nav2-version-info{text-align:center;font-size:10px;color:var(--color-text-tertiary);padding-top:var(--space-1)}.nav2-impersonate{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1-5) var(--space-3);background:var(--color-success-bg);border-bottom:1px solid rgba(0,217,126,.2);font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-success-text)}.nav2-impersonate__stop{background:none;border:none;color:var(--color-success-text);cursor:pointer;font-size:11px;font-weight:var(--font-weight-medium);text-decoration:underline;padding:0}.nav2-impersonate__stop:hover{opacity:.7}.nav2-mobile-toggle{display:none;position:fixed;top:12px;left:12px;z-index:250;width:40px;height:40px;align-items:center;justify-content:center;border:none;border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:20px;cursor:pointer;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000000f;transition:all .15s ease}.nav2-mobile-toggle:hover{background:var(--color-bg-hover)}.nav2-backdrop{position:fixed;inset:0;z-index:199;background:var(--color-bg-overlay);opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility var(--transition-base)}.nav2-backdrop.is-visible{opacity:1;visibility:visible}body.nav2-body-locked{overflow:hidden}@media(max-width:767px){.nav2-mobile-toggle{display:flex}.nav2-sidebar{transform:translate(-100%);width:280px;z-index:201}.nav2-sidebar.is-mobile-open{transform:translate(0);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.nav2-main{margin-left:0}.nav2-main{padding-top:56px}}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{margin-left:-4px;position:absolute;width:0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before,.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:after,.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:after{box-sizing:content-box;position:absolute;border:8px solid transparent;height:0;width:1px;content:"";z-index:-1;border-width:8px;left:-8px}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before,.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before{border-bottom-color:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{top:0;margin-top:-8px}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before,.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:after{border-top:none;border-bottom-color:#f0f0f0}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:after{top:0}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle:before{top:-1px;border-bottom-color:#aeaeae}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{bottom:0;margin-bottom:-8px}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:after{border-bottom:none;border-top-color:#fff}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:after{bottom:0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle:before{bottom:-1px;border-top-color:#aeaeae}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative}.react-datepicker--time-only .react-datepicker__triangle{left:35px}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__triangle{position:absolute;left:50px}.react-datepicker-popper{z-index:1}.react-datepicker-popper[data-placement^=bottom]{padding-top:10px}.react-datepicker-popper[data-placement=bottom-end] .react-datepicker__triangle,.react-datepicker-popper[data-placement=top-end] .react-datepicker__triangle{left:auto;right:50px}.react-datepicker-popper[data-placement^=top]{padding-bottom:10px}.react-datepicker-popper[data-placement^=right]{padding-left:8px}.react-datepicker-popper[data-placement^=right] .react-datepicker__triangle{left:auto;right:42px}.react-datepicker-popper[data-placement^=left]{padding-right:8px}.react-datepicker-popper[data-placement^=left] .react-datepicker__triangle{left:42px;right:auto}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.3rem;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + .85rem);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected,.react-datepicker__week-number--keyboard-selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__week-number--keyboard-selected{border-radius:.3rem;background-color:#2a87d0;color:#fff}.react-datepicker__week-number--keyboard-selected:hover{background-color:#1d5d90}.react-datepicker__day-names{white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:hover,.react-datepicker__month-text:hover,.react-datepicker__quarter-text:hover,.react-datepicker__year-text:hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:hover,.react-datepicker__month-text--highlighted:hover,.react-datepicker__quarter-text--highlighted:hover,.react-datepicker__year-text--highlighted:hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .holiday-overlay,.react-datepicker__month-text--holidays .holiday-overlay,.react-datepicker__quarter-text--holidays .holiday-overlay,.react-datepicker__year-text--holidays .holiday-overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:hover,.react-datepicker__month-text--holidays:hover,.react-datepicker__quarter-text--holidays:hover,.react-datepicker__year-text--holidays:hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .holiday-overlay,.react-datepicker__month-text--holidays:hover .holiday-overlay,.react-datepicker__quarter-text--holidays:hover .holiday-overlay,.react-datepicker__year-text--holidays:hover .holiday-overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:hover,.react-datepicker__day--in-selecting-range:hover,.react-datepicker__day--in-range:hover,.react-datepicker__month-text--selected:hover,.react-datepicker__month-text--in-selecting-range:hover,.react-datepicker__month-text--in-range:hover,.react-datepicker__quarter-text--selected:hover,.react-datepicker__quarter-text--in-selecting-range:hover,.react-datepicker__quarter-text--in-range:hover,.react-datepicker__year-text--selected:hover,.react-datepicker__year-text--in-selecting-range:hover,.react-datepicker__year-text--in-range:hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:hover,.react-datepicker__month-text--keyboard-selected:hover,.react-datepicker__quarter-text--keyboard-selected:hover,.react-datepicker__year-text--keyboard-selected:hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled:hover,.react-datepicker__month-text--disabled:hover,.react-datepicker__quarter-text--disabled:hover,.react-datepicker__year-text--disabled:hover{background-color:transparent}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.5rem;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:3rem;line-height:3rem}@media(max-width:400px),(max-height:550px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:2rem;line-height:2rem}}.react-datepicker__portal .react-datepicker__current-month,.react-datepicker__portal .react-datepicker-time__header{font-size:1.44rem}.react-datepicker__children-container{width:13.8rem;margin:.4rem;padding-right:.2rem;padding-left:.2rem;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}@keyframes up-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes up-spin{to{transform:rotate(360deg)}}@keyframes up-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.up-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.up-icon-xs{width:.75rem;height:.75rem}.up-icon-sm{width:.875rem;height:.875rem}.up-icon-md{width:1rem;height:1rem}.up-icon-lg{width:1.25rem;height:1.25rem}.up-icon-xl{width:2rem;height:2rem}.up-checkbox{width:1rem;height:1rem;border-radius:var(--radius-sm);accent-color:var(--color-primary);cursor:pointer}.up-checkbox:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.up-checkbox:disabled{opacity:.5}.up-spinner{animation:up-spin 1s linear infinite}.up-page{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--color-bg-primary)}.up-toast{position:fixed;top:var(--space-4);left:50%;transform:translate(-50%);z-index:9999;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-lg);animation:up-toast-slide-in .3s ease-out;max-width:420px}@keyframes up-toast-slide-in{0%{opacity:0;transform:translateY(-10px) translate(-50%)}to{opacity:1;transform:translateY(0) translate(-50%)}}.up-toast--success{background:var(--color-success-bg, #ecfdf5);color:var(--color-success-text, #065f46);border:1px solid var(--color-success-border, #a7f3d0)}.up-toast--error{background:var(--color-danger-bg, #fef2f2);color:var(--color-danger, #dc2626);border:1px solid var(--color-danger-border, #fecaca)}.up-toast__close{margin-left:auto;flex-shrink:0;background:none;border:none;cursor:pointer;color:inherit;opacity:.6;padding:var(--space-1);border-radius:var(--radius-sm);transition:opacity var(--transition-fast)}.up-toast__close:hover{opacity:1}.up-page-header{flex-shrink:0;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.up-page-header__inner{max-width:100%;margin:0 auto;padding:var(--space-4) var(--space-6)}.up-breadcrumb-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.up-breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm)}.up-breadcrumb__text,.up-breadcrumb__separator{color:var(--color-text-tertiary)}.up-breadcrumb__current{color:var(--color-text-heading);font-weight:var(--font-weight-medium)}.up-campus-row{display:flex;align-items:center;gap:var(--space-2)}.up-campus-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.up-campus-select{border-radius:var(--radius-lg);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);box-shadow:var(--shadow-xs)}.up-campus-select:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.up-campus-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading)}.up-page-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-heading);margin:0}.up-tab-bar{flex-shrink:0;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.up-tab-bar__inner{max-width:100%;margin:0 auto;padding:0 var(--space-6)}.up-tab-nav{display:flex;gap:var(--space-6);list-style:none;padding:0;margin:0}.up-tab{position:relative;padding:var(--space-3) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-decoration:none;background:none;border:none;cursor:pointer;transition:color var(--transition-fast)}.up-tab:hover{color:var(--color-text-primary)}.up-tab.is-active{color:var(--color-primary)}.up-tab__indicator{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-primary);border-radius:1px 1px 0 0}.up-content{display:flex;flex-direction:column;flex:1;min-height:0;max-width:100%;margin:0 auto;padding:var(--space-5) var(--space-6) 0}.up-controls{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.up-controls__left{display:flex;align-items:center;gap:var(--space-3)}.up-controls__right{display:flex;align-items:center;gap:var(--space-2)}.up-toolbar{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.up-search{position:relative}.up-search__icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.up-search__input{width:18rem;border-radius:var(--radius-lg);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);padding:var(--space-2) var(--space-3) var(--space-2) 2.25rem;font-size:var(--font-size-sm);color:var(--color-text-primary);box-shadow:var(--shadow-xs)}.up-search__input::placeholder{color:var(--color-text-tertiary)}.up-search__input:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.up-toggle-group{display:flex;align-items:center;border-radius:var(--radius-lg);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);overflow:hidden;box-shadow:var(--shadow-xs)}.up-toggle-btn{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast)}.up-toggle-btn:hover:not(.is-active){background:var(--color-bg-hover)}.up-toggle-btn.is-active{background:var(--color-primary);color:var(--color-text-on-primary)}.up-btn{display:inline-flex;align-items:center;gap:var(--space-1-5);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.up-btn--secondary{border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);color:var(--color-text-primary);padding:var(--space-2) var(--space-3);box-shadow:var(--shadow-xs)}.up-btn--secondary:hover{background:var(--color-bg-hover)}.up-btn--primary{border:none;background:var(--color-primary);color:var(--color-text-on-primary);padding:var(--space-2) var(--space-4);box-shadow:var(--shadow-xs);font-weight:var(--font-weight-semibold)}.up-btn--primary:hover{background:var(--color-primary-hover)}.up-btn--primary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.up-btn--outline{border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);color:var(--color-text-primary);padding:var(--space-2-5) var(--space-4);font-weight:var(--font-weight-semibold)}.up-btn--outline:hover{background:var(--color-bg-hover)}.up-btn--outline:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.up-btn--cancel{border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);color:var(--color-text-primary);padding:var(--space-2-5) var(--space-4);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-xs)}.up-btn--cancel:hover{background:var(--color-bg-hover)}.up-btn--icon{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.up-btn--danger{border:none;background:var(--color-danger);color:#fff;padding:var(--space-2) var(--space-4);font-weight:var(--font-weight-semibold)}.up-btn--danger:hover{background:#b91c1c}.up-btn--danger-solid{background:var(--color-danger);color:#fff;border:none}.up-btn--danger-solid:hover{background:var(--color-danger-hover)}.up-btn--sm{padding:var(--space-1-5) var(--space-3);font-size:var(--font-size-xs)}.up-btn:disabled,.up-btn[disabled]{opacity:.5;cursor:not-allowed}.up-table-wrap{flex:1;min-height:0;overflow:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg-secondary)}.up-table{width:100%;min-width:100%;border-collapse:separate;border-spacing:0}.up-thead{position:sticky;top:0;z-index:10;background:var(--color-bg-tertiary)}.up-th{padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.up-th--checkbox{width:2.5rem;padding:var(--space-3)}.up-th--actions{width:3rem;padding:var(--space-3)}.up-th__content{display:flex;align-items:center}.up-th__sort-btn{display:flex;align-items:center;gap:2px;background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;transition:color var(--transition-fast)}.up-th__sort-btn:hover{color:var(--color-text-primary)}.up-sort-icon{margin-left:var(--space-1)}.up-sort-icon--neutral{color:var(--color-text-tertiary)}.up-sort-icon--active{color:var(--color-primary)}.up-tbody .up-tr{transition:background-color var(--transition-fast)}.up-tbody .up-tr+.up-tr{border-top:1px solid var(--color-border-light)}.up-tbody .up-tr:hover{background:var(--color-bg-hover)}.up-tbody .up-tr.is-selected{background:var(--color-primary-light)}.up-td{padding:var(--space-2-5) var(--space-4);white-space:nowrap;font-size:var(--font-size-sm);color:var(--color-text-primary)}.up-td--checkbox{width:2.5rem;padding:var(--space-2-5) var(--space-3)}.up-td--actions{width:3rem;padding:var(--space-2-5) var(--space-3)}.up-cell-text{font-size:var(--font-size-sm);color:var(--color-text-primary)}.up-cell-text--muted{color:var(--color-text-tertiary)}.up-cell-text--secondary{color:var(--color-text-secondary)}.up-cell-text--link{color:var(--color-primary);font-weight:var(--font-weight-medium)}.up-cell-text--nowrap{white-space:nowrap}.up-cell-text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px;display:block}.up-group-badge{display:inline-flex;align-items:center;border-radius:var(--radius-md);padding:2px var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;background:var(--color-primary-light);color:var(--color-primary);box-shadow:inset 0 0 0 1px #0081c71a}.up-cell-groups{display:flex;flex-wrap:wrap;gap:var(--space-1)}.up-role-badge{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-full);padding:2px var(--space-2-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.up-role-badge--admin{background:var(--color-danger-bg);color:var(--color-danger);box-shadow:inset 0 0 0 1px #e6375733}.up-role-badge--manager{background:var(--color-primary-light);color:var(--color-primary);box-shadow:inset 0 0 0 1px #0081c733}.up-role-badge--staff{background:var(--color-success-bg);color:var(--color-success-text);box-shadow:inset 0 0 0 1px #00d97e33}.up-role-badge--viewer{background:var(--color-bg-tertiary);color:var(--color-text-secondary);box-shadow:inset 0 0 0 1px var(--color-border-light)}.up-status{display:inline-flex;align-items:center;gap:var(--space-1-5);border-radius:var(--radius-full);padding:2px var(--space-2-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.up-status--active{background:var(--color-success-bg);color:var(--color-success-text);box-shadow:inset 0 0 0 1px #00d97e33}.up-status--inactive{background:var(--color-bg-tertiary);color:var(--color-text-secondary);box-shadow:inset 0 0 0 1px var(--color-border-light)}.up-status--pending{background:var(--color-primary-light);color:var(--color-primary);box-shadow:inset 0 0 0 1px #0081c733}.up-status--locked{background:var(--color-danger-bg);color:var(--color-danger);box-shadow:inset 0 0 0 1px #e6375733}.up-status__dot{display:inline-block;width:6px;height:6px;border-radius:var(--radius-full)}.up-status--active .up-status__dot{background:var(--color-success)}.up-status--inactive .up-status__dot{background:var(--color-text-tertiary)}.up-status--pending .up-status__dot{background:var(--color-primary)}.up-status--locked .up-status__dot{background:var(--color-danger)}.up-users-cell{position:relative;display:inline-block}.up-users-badge{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-md);padding:2px var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:var(--color-primary-light);color:var(--color-primary);box-shadow:inset 0 0 0 1px #0081c71a;cursor:pointer;border:none;transition:background-color var(--transition-fast)}.up-users-badge:hover{background:#0081c726}.up-users-popover{position:absolute;z-index:var(--z-popover);margin-top:var(--space-1);width:18rem;max-height:320px;border-radius:var(--radius-lg);background:var(--color-bg-secondary);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);padding:var(--space-2);left:50%;transform:translate(-50%)}.up-users-popover__title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary);padding:0 var(--space-2) var(--space-1);margin-bottom:var(--space-1);border-bottom:1px solid var(--color-border-light)}.up-users-popover__list{list-style:none;padding:0;margin:0;max-height:260px;overflow-y:auto}.up-users-popover__item{display:flex;flex-direction:column;gap:1px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.up-users-popover__item:hover{background:var(--color-bg-hover)}.up-users-popover__name{color:var(--color-text-heading);font-weight:var(--font-weight-medium);line-height:1.3}.up-users-popover__role{color:var(--color-text-tertiary);font-size:var(--font-size-xs);line-height:1.3}.up-row-actions{position:relative}.up-row-actions__trigger{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:var(--radius-md);color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast);font-size:16px;line-height:1}.up-row-actions__trigger:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.up-row-actions__menu{position:absolute;right:0;z-index:var(--z-popover);margin-top:var(--space-1);width:11rem;border-radius:var(--radius-lg);background:var(--color-bg-secondary);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);overflow:hidden}.up-row-actions__item{display:flex;width:100%;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-primary);background:transparent;border:none;cursor:pointer;transition:background-color var(--transition-fast)}.up-row-actions__item:hover{background:var(--color-bg-hover)}.up-row-actions__item--danger{color:var(--color-danger)}.up-row-actions__item--danger:hover{background:var(--color-danger-bg)}.up-row-actions__item-icon{color:var(--color-text-tertiary)}.up-row-actions__item--danger .up-row-actions__item-icon{color:var(--color-danger)}.up-bulk-bar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-lg);background:var(--color-primary);padding:var(--space-2-5) var(--space-4);margin-bottom:var(--space-3);box-shadow:var(--shadow-sm);animation:up-slide-down .15s ease-out}.up-bulk-bar__left{display:flex;align-items:center;gap:var(--space-3)}.up-bulk-bar__count{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-on-primary)}.up-bulk-bar__deselect{font-size:var(--font-size-xs);color:#ffffffb3;background:none;border:none;cursor:pointer;text-decoration:underline;transition:color var(--transition-fast)}.up-bulk-bar__deselect:hover{color:var(--color-text-on-primary)}.up-bulk-bar__right{display:flex;align-items:center;gap:var(--space-2)}.up-bulk-btn{display:inline-flex;align-items:center;gap:var(--space-1-5);border-radius:var(--radius-md);background:#ffffff26;padding:var(--space-1-5) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-on-primary);border:none;cursor:pointer;transition:background-color var(--transition-fast)}.up-bulk-btn:hover{background:#ffffff40}.up-bulk-btn--danger{background:#ff505040;color:#ffc9c9}.up-bulk-btn--danger:hover{background:#ff505066;color:#fff}.up-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-4);text-align:center}.up-empty__icon-wrap{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:var(--radius-full);background:var(--color-bg-tertiary);margin-bottom:var(--space-4)}.up-empty__icon{color:var(--color-text-tertiary)}.up-empty__icon-fe{font-size:2.5rem;color:var(--color-text-tertiary)}.up-empty__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0 0 var(--space-1)}.up-empty__text{font-size:var(--font-size-sm);color:var(--color-text-secondary);max-width:24rem;margin-bottom:var(--space-6)}.up-skeleton-wrap{overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.up-skeleton-table{width:100%;min-width:100%;border-collapse:separate;border-spacing:0}.up-skeleton-thead tr{background:var(--color-bg-tertiary)}.up-skeleton-th{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border)}.up-skeleton-block{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-shine) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:up-shimmer 1.5s ease-in-out infinite}.up-skeleton-block--header{background:linear-gradient(90deg,var(--skeleton-header-base) 25%,var(--skeleton-header-shine) 50%,var(--skeleton-header-base) 75%);background-size:200% 100%;animation:up-shimmer 1.5s ease-in-out infinite}.up-skeleton-td{padding:var(--space-3) var(--space-4)}.up-skeleton-tbody .up-skeleton-row+.up-skeleton-row{border-top:1px solid var(--color-border-light)}.up-skeleton-groups{display:flex;gap:var(--space-1)}.up-drawer-backdrop{position:fixed;inset:0;z-index:var(--z-modal-bg);background:var(--color-bg-overlay);transition:opacity var(--transition-base)}.up-drawer{position:fixed;top:0;right:0;z-index:var(--z-modal);height:100%;width:100%;background:var(--color-bg-secondary);box-shadow:var(--shadow-xl);transform:translate(100%);transition:transform .3s ease-in-out}.up-drawer.is-open{transform:translate(0)}.up-drawer--md{max-width:28rem}.up-drawer--lg{max-width:32rem}.up-drawer__header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);padding:var(--space-4) var(--space-6)}.up-drawer__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0}.up-drawer__subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px}.up-drawer__close{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-md);color:var(--color-text-tertiary);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast)}.up-drawer__close:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.up-drawer-tabs{display:flex;border-bottom:1px solid var(--color-border)}.up-drawer-tab{flex:1;padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center;color:var(--color-text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--transition-fast)}.up-drawer-tab:hover{color:var(--color-text-primary)}.up-drawer-tab.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.up-drawer__body{flex:1;overflow-y:auto;height:calc(100% - 140px)}.up-drawer__body-padded{padding:var(--space-4)}.up-drawer-items{display:flex;flex-direction:column;gap:var(--space-2)}.up-drawer-item{display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:var(--space-3) var(--space-4);transition:background-color var(--transition-fast)}.up-drawer-item:hover{background:var(--color-bg-hover)}.up-drawer-item__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-heading)}.up-drawer-item__meta{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.up-drawer-btn--remove{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-md);padding:var(--space-1) var(--space-2-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-danger);background:transparent;border:none;cursor:pointer;transition:background-color var(--transition-fast)}.up-drawer-btn--remove:hover{background:var(--color-danger-bg)}.up-drawer-btn--assign{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-md);padding:var(--space-1) var(--space-2-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary);background:var(--color-primary-light);border:none;cursor:pointer;transition:background-color var(--transition-fast)}.up-drawer-btn--assign:hover{background:#0081c726}.up-drawer-empty{text-align:center;padding:var(--space-12) 0}.up-drawer-empty__icon{margin:0 auto;color:var(--color-text-tertiary)}.up-drawer-empty__text{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.up-drawer-empty__link{display:inline-block;margin-top:var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-primary);background:none;border:none;cursor:pointer}.up-drawer-empty__link:hover{color:var(--color-primary-hover)}.up-drawer-search{position:relative;margin-bottom:var(--space-3)}.up-drawer-search__icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.up-drawer-search__input{width:100%;border-radius:var(--radius-lg);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);padding:var(--space-2-5) var(--space-3) var(--space-2-5) 2.25rem;font-size:var(--font-size-sm);color:var(--color-text-primary)}.up-drawer-search__input::placeholder{color:var(--color-text-tertiary)}.up-drawer-search__input:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.up-drawer-no-results{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center;padding:var(--space-8) 0}.up-drawer-toast{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);animation:up-toast-in .25s ease-out}@keyframes up-toast-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.up-drawer-toast--success{background:var(--color-success-bg, #ecfdf5);color:var(--color-success-text, #065f46);border-bottom:1px solid var(--color-success-border, #a7f3d0)}.up-drawer-toast--error{background:var(--color-danger-bg, #fef2f2);color:var(--color-danger, #dc2626);border-bottom:1px solid var(--color-danger-border, #fecaca)}.up-drawer-toast__close{margin-left:auto;background:none;border:none;cursor:pointer;color:inherit;opacity:.6;padding:var(--space-1);border-radius:var(--radius-sm);transition:opacity var(--transition-fast)}.up-drawer-toast__close:hover{opacity:1}.up-drawer-busy{display:flex;align-items:center;justify-content:center;padding:var(--space-2) 0;color:var(--color-primary)}.up-form{display:flex;flex-direction:column;height:calc(100% - 65px);overflow-y:auto}.up-form__body{flex:1;padding:var(--space-5) var(--space-6)}.up-form__body>*+*{margin-top:var(--space-5)}.up-form__footer{border-top:1px solid var(--color-border);padding:var(--space-4) var(--space-6);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3)}.up-field__label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--space-1)}.up-field__required{color:var(--color-danger)}.up-field__input,.up-field__select{display:block;width:100%;border-radius:var(--radius-lg);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);padding:var(--space-2-5) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-primary);box-shadow:var(--shadow-xs)}.up-field__input::placeholder{color:var(--color-text-tertiary)}.up-field__input:focus,.up-field__select:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.up-field__textarea{width:100%;padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-medium);font-size:var(--font-size-sm);font-family:var(--font-family-base);color:var(--color-text-primary);background:var(--color-bg-secondary);resize:vertical;min-height:80px;transition:border-color var(--transition-fast)}.up-field__textarea:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 1px var(--color-border-focus)}.up-field__hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:var(--space-1)}.up-field__error{font-size:var(--font-size-xs);color:var(--color-danger);margin-top:var(--space-1)}.up-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.up-password-section{margin-top:var(--space-5)}.up-password-section__divider{border:none;border-top:1px solid var(--color-border);margin:0 0 var(--space-4)}.up-password-section__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0 0 var(--space-3)}.up-password-section__hint{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--space-1);line-height:1.4}.up-password-section__actions{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.up-group-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.up-group-option{display:flex;align-items:center;gap:var(--space-2);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);padding:var(--space-2) var(--space-3);cursor:pointer;transition:all var(--transition-fast);background:var(--color-bg-secondary);color:var(--color-text-primary)}.up-group-option:hover{background:var(--color-bg-hover)}.up-group-option.is-selected{border-color:#0081c74d;background:var(--color-primary-light);color:var(--color-primary)}.up-group-option__text{font-size:var(--font-size-sm)}.up-user-picker{margin-top:var(--space-2)}.up-user-picker__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.up-user-picker__count{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);margin-left:var(--space-2)}.up-user-picker__search{display:flex;align-items:center;border-radius:var(--radius-md);background:var(--color-bg-secondary);border:1px solid var(--color-border-medium);padding:0 var(--space-3);margin-bottom:var(--space-2);transition:border-color var(--transition-fast)}.up-user-picker__search:focus-within{border-color:var(--color-border-focus);box-shadow:0 0 0 1px var(--color-border-focus)}.up-user-picker__search-icon{font-size:14px;color:var(--color-text-tertiary);flex-shrink:0}.up-user-picker__search-input{flex:1;border:none;background:transparent;padding:var(--space-2) var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary);outline:none}.up-user-picker__search-input::placeholder{color:var(--color-text-tertiary)}.up-user-picker__actions{display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.up-user-picker__action-btn{padding:var(--space-1) var(--space-2-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary);background:transparent;border:none;cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.up-user-picker__action-btn:hover{background:var(--color-bg-hover)}.up-user-picker__list{max-height:280px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary)}.up-user-picker__list::-webkit-scrollbar{width:4px}.up-user-picker__list::-webkit-scrollbar-track{background:transparent}.up-user-picker__list::-webkit-scrollbar-thumb{background:var(--color-border-light);border-radius:4px}.up-user-picker__item{display:flex;align-items:center;gap:var(--space-2-5);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:background-color var(--transition-fast)}.up-user-picker__item:last-child{border-bottom:none}.up-user-picker__item:hover{background:var(--color-bg-hover)}.up-user-picker__item.is-selected{background:var(--color-primary-light)}.up-user-picker__item-info{flex:1;display:flex;flex-direction:column;min-width:0}.up-user-picker__item-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:1.3}.up-user-picker__item-role,.up-user-picker__item-type{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.3}.up-user-picker__empty{padding:var(--space-4);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.up-pagination{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0 var(--space-3);border-top:1px solid var(--color-border)}.up-pagination__info{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.up-pagination__emphasis{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.up-pagination__controls{display:flex;align-items:center;gap:var(--space-3)}.up-per-page{display:flex;align-items:center;gap:var(--space-1-5)}.up-per-page__label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.up-per-page__select{border-radius:var(--radius-md);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary)}.up-per-page__select:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.up-page-nav{display:flex;align-items:center;gap:var(--space-1)}.up-page-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-md);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.up-page-btn:hover:not(:disabled){background:var(--color-bg-hover)}.up-page-btn:disabled{opacity:.4;cursor:not-allowed}.up-page-num{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.up-page-num:hover{background:var(--color-bg-hover)}.up-page-num.is-active{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.up-delete-confirm{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-3);background:var(--color-danger-bg);border-radius:var(--radius-md);flex:1}.up-delete-confirm__text{flex:1;font-size:var(--font-size-sm);color:var(--color-text-primary)}.up-delete-confirm__text strong{font-weight:var(--font-weight-semibold)}.up-delete-confirm__message{display:flex;gap:var(--space-2);align-items:flex-start}.up-delete-confirm__icon{flex-shrink:0;color:var(--color-danger);margin-top:1px}.up-delete-confirm__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-danger);margin-bottom:2px}.up-delete-confirm__detail{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.4}.up-delete-confirm__actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-3)}.up-dialog-backdrop{position:fixed;inset:0;z-index:var(--z-modal-bg);background:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center}.up-dialog{position:relative;background:var(--color-bg-primary, #fff);border-radius:var(--radius-lg, .75rem);box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04));width:100%;max-width:420px;margin:auto;display:flex;flex-direction:column;animation:up-slide-down .2s ease-out}.up-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border-light, #e5e7eb)}.up-dialog__title{font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #111827);margin:0}.up-dialog__subtitle{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6b7280);margin:.25rem 0 0;line-height:1.3}.up-dialog__username{color:var(--color-text-tertiary, #9ca3af)}.up-dialog__body{padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:var(--space-4, 1rem)}.up-dialog__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3, .75rem);padding:1rem 1.5rem;border-top:1px solid var(--color-border-light, #e5e7eb)}.up-dialog__error-banner{display:flex;align-items:center;gap:var(--space-2, .5rem);padding:var(--space-2-5, .625rem) var(--space-3, .75rem);background:var(--color-danger-bg, #fef2f2);color:var(--color-danger, #dc2626);border-radius:var(--radius-md, .5rem);font-size:var(--font-size-sm, .875rem);line-height:1.4}.up-saving-text{display:flex;align-items:center;gap:var(--space-2)}@keyframes rp-spin{to{transform:rotate(360deg)}}@keyframes rp-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.rp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.rp-icon-xs{width:.75rem;height:.75rem}.rp-icon-md{width:1rem;height:1rem}.rp-icon-lg{width:1.25rem;height:1.25rem}.rp-icon-xl{width:2rem;height:2rem}.rp-checkbox:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.rp-checkbox:disabled{opacity:.5}.rp-page{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--color-bg-primary)}.rp-toast{position:fixed;top:var(--space-4);left:50%;transform:translate(-50%);z-index:9999;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-lg);animation:rp-toast-slide-in .3s ease-out;max-width:420px}@keyframes rp-toast-slide-in{0%{opacity:0;transform:translateY(-10px) translate(-50%)}to{opacity:1;transform:translateY(0) translate(-50%)}}.rp-toast--success{background:var(--color-success-bg, #ecfdf5);color:var(--color-success-text, #065f46);border:1px solid var(--color-success-border, #a7f3d0)}.rp-toast--error{background:var(--color-danger-bg, #fef2f2);color:var(--color-danger, #dc2626);border:1px solid var(--color-danger-border, #fecaca)}.rp-toast__close{margin-left:auto;flex-shrink:0;background:none;border:none;cursor:pointer;color:inherit;opacity:.6;padding:var(--space-1);border-radius:var(--radius-sm);transition:opacity var(--transition-fast)}.rp-toast__close:hover{opacity:1}.rp-page-header{flex-shrink:0;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.rp-page-header__inner{max-width:100%;margin:0 auto;padding:var(--space-4) var(--space-6)}.rp-breadcrumb-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.rp-breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm)}.rp-breadcrumb__text,.rp-breadcrumb__separator{color:var(--color-text-tertiary)}.rp-breadcrumb__current{color:var(--color-text-heading);font-weight:var(--font-weight-medium)}.rp-campus-row{display:flex;align-items:center;gap:var(--space-2)}.rp-campus-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.rp-campus-select{border-radius:var(--radius-lg);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);box-shadow:var(--shadow-xs)}.rp-campus-select:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.rp-page-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-heading);margin:0}.rp-tab-bar{flex-shrink:0;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.rp-tab-bar__inner{max-width:100%;margin:0 auto;padding:0 var(--space-6)}.rp-tab-nav{display:flex;gap:var(--space-6);list-style:none;padding:0;margin:0}.rp-tab{position:relative;padding:var(--space-3) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-decoration:none;background:none;border:none;cursor:pointer;transition:color var(--transition-fast)}.rp-tab:hover{color:var(--color-text-primary)}.rp-tab.is-active{color:var(--color-primary)}.rp-tab__indicator{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-primary);border-radius:1px 1px 0 0}.rp-content{display:flex;flex-direction:column;flex:1;min-height:0;max-width:100%;margin:0 auto;padding:var(--space-5) var(--space-6) 0}.rp-controls{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.rp-controls__left{display:flex;align-items:center;gap:var(--space-3)}.rp-controls__right{display:flex;align-items:center;gap:var(--space-2)}.rp-search{position:relative}.rp-search__icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.rp-search__input{width:18rem;border-radius:var(--radius-lg);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);padding:var(--space-2) var(--space-3) var(--space-2) 2.25rem;font-size:var(--font-size-sm);color:var(--color-text-primary);box-shadow:var(--shadow-xs)}.rp-search__input::placeholder{color:var(--color-text-tertiary)}.rp-search__input:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.rp-toggle-group{display:flex;align-items:center;border-radius:var(--radius-lg);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);overflow:hidden;box-shadow:var(--shadow-xs)}.rp-toggle-btn{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast)}.rp-toggle-btn:hover:not(.is-active){background:var(--color-bg-hover)}.rp-toggle-btn.is-active{background:var(--color-primary);color:var(--color-text-on-primary)}.rp-btn--primary{border:none;background:var(--color-primary);color:var(--color-text-on-primary);padding:var(--space-2) var(--space-4);box-shadow:var(--shadow-xs);font-weight:var(--font-weight-semibold)}.rp-btn--primary:hover{background:var(--color-primary-hover)}.rp-btn--primary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rp-btn--outline{border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);color:var(--color-text-primary);padding:var(--space-2-5) var(--space-4);font-weight:var(--font-weight-semibold)}.rp-btn--outline:hover{background:var(--color-bg-hover)}.rp-btn--outline:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rp-btn--cancel{border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);color:var(--color-text-primary);padding:var(--space-2-5) var(--space-4);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-xs)}.rp-btn--cancel:hover{background:var(--color-bg-hover)}.rp-btn--icon{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.rp-btn:disabled,.rp-btn[disabled]{opacity:.5;cursor:not-allowed}.rp-table-wrap{flex:1;min-height:0;overflow:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg-secondary)}.rp-table{width:100%;min-width:100%;border-collapse:separate;border-spacing:0}.rp-thead{position:sticky;top:0;z-index:10;background:var(--color-bg-tertiary)}.rp-th{padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.rp-th--checkbox{width:2.5rem;padding:var(--space-3)}.rp-th--actions{width:3rem;padding:var(--space-3)}.rp-th__content{display:flex;align-items:center}.rp-th__sort-btn{display:flex;align-items:center;gap:2px;background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;transition:color var(--transition-fast)}.rp-th__sort-btn:hover{color:var(--color-text-primary)}.rp-sort-icon{margin-left:var(--space-1)}.rp-sort-icon--neutral{color:var(--color-text-tertiary)}.rp-sort-icon--active{color:var(--color-primary)}.rp-tbody .rp-tr{transition:background-color var(--transition-fast)}.rp-tbody .rp-tr+.rp-tr{border-top:1px solid var(--color-border-light)}.rp-tbody .rp-tr:hover{background:var(--color-bg-hover)}.rp-tbody .rp-tr.is-selected{background:var(--color-primary-light)}.rp-td{padding:var(--space-2-5) var(--space-4);white-space:nowrap;font-size:var(--font-size-sm);color:var(--color-text-primary)}.rp-td--checkbox{width:2.5rem;padding:var(--space-2-5) var(--space-3)}.rp-td--actions{width:3rem;padding:var(--space-2-5) var(--space-3)}.rp-cell-text{font-size:var(--font-size-sm);color:var(--color-text-primary)}.rp-cell-text--muted{color:var(--color-text-tertiary)}.rp-cell-text--secondary{color:var(--color-text-secondary)}.rp-cell-text--link{color:var(--color-primary);font-weight:var(--font-weight-medium)}.rp-cell-text--nowrap{white-space:nowrap}.rp-cell-text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px;display:block}.rp-area-type-tag{display:inline-flex;align-items:center;border-radius:var(--radius-sm);background:var(--color-bg-tertiary);padding:2px var(--space-1-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.rp-cell-groups{display:flex;flex-wrap:wrap;gap:var(--space-1)}.rp-row-actions{position:relative}.rp-row-actions__trigger{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:var(--radius-md);color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast);font-size:16px;line-height:1}.rp-row-actions__trigger:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.rp-row-actions__menu{position:absolute;right:0;z-index:var(--z-popover);margin-top:var(--space-1);width:11rem;border-radius:var(--radius-lg);background:var(--color-bg-secondary);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);overflow:hidden}.rp-row-actions__item{display:flex;width:100%;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-primary);background:transparent;border:none;cursor:pointer;transition:background-color var(--transition-fast)}.rp-row-actions__item:hover{background:var(--color-bg-hover)}.rp-row-actions__item-icon{color:var(--color-text-tertiary)}.rp-status{display:inline-flex;align-items:center;gap:var(--space-1-5);border-radius:var(--radius-full);padding:2px var(--space-2-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.rp-status--active{background:var(--color-success-bg);color:var(--color-success-text);box-shadow:inset 0 0 0 1px #00d97e33}.rp-status--moved-out{background:var(--color-bg-tertiary);color:var(--color-text-secondary);box-shadow:inset 0 0 0 1px var(--color-border-light)}.rp-status--pending{background:var(--color-primary-light);color:var(--color-primary);box-shadow:inset 0 0 0 1px #0081c733}.rp-status__dot{display:inline-block;width:6px;height:6px;border-radius:var(--radius-full)}.rp-status--active .rp-status__dot{background:var(--color-success)}.rp-status--moved-out .rp-status__dot{background:var(--color-text-tertiary)}.rp-status--pending .rp-status__dot{background:var(--color-primary)}.rp-group-badge{display:inline-flex;align-items:center;border-radius:var(--radius-md);padding:2px var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;background:var(--color-primary-light);color:var(--color-primary);box-shadow:inset 0 0 0 1px #0081c71a}.rp-device-cell{position:relative;display:inline-block}.rp-device-badge{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-md);padding:2px var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:var(--color-primary-light);color:var(--color-primary);box-shadow:inset 0 0 0 1px #0081c71a;cursor:pointer;border:none;transition:background-color var(--transition-fast)}.rp-device-badge:hover{background:#0081c726}.rp-device-popover{position:absolute;z-index:var(--z-popover);margin-top:var(--space-1);width:14rem;border-radius:var(--radius-lg);background:var(--color-bg-secondary);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);padding:var(--space-2);left:50%;transform:translate(-50%)}.rp-device-popover__title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary);padding:0 var(--space-2) var(--space-1);margin-bottom:var(--space-1);border-bottom:1px solid var(--color-border-light)}.rp-device-popover__list{list-style:none;padding:0;margin:0}.rp-device-popover__item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.rp-device-popover__item:hover{background:var(--color-bg-hover)}.rp-device-popover__name{color:var(--color-text-heading);font-weight:var(--font-weight-medium)}.rp-device-popover__uuid{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.rp-bulk-bar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-lg);background:var(--color-primary);padding:var(--space-2-5) var(--space-4);margin-bottom:var(--space-3);box-shadow:var(--shadow-sm);animation:rp-slide-down .15s ease-out}.rp-bulk-bar__left{display:flex;align-items:center;gap:var(--space-3)}.rp-bulk-bar__count{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-on-primary)}.rp-bulk-bar__deselect{font-size:var(--font-size-xs);color:#ffffffb3;background:none;border:none;cursor:pointer;text-decoration:underline;transition:color var(--transition-fast)}.rp-bulk-bar__deselect:hover{color:var(--color-text-on-primary)}.rp-bulk-bar__right{display:flex;align-items:center;gap:var(--space-2)}.rp-bulk-btn{display:inline-flex;align-items:center;gap:var(--space-1-5);border-radius:var(--radius-md);background:#ffffff26;padding:var(--space-1-5) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-on-primary);border:none;cursor:pointer;transition:background-color var(--transition-fast)}.rp-bulk-btn:hover{background:#ffffff40}.rp-bulk-btn--danger{background:#ff505040;color:#ffc9c9}.rp-bulk-btn--danger:hover{background:#ff505066;color:#fff}.rp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-4);text-align:center}.rp-empty__icon-wrap{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:var(--radius-full);background:var(--color-bg-tertiary);margin-bottom:var(--space-4)}.rp-empty__icon{color:var(--color-text-tertiary)}.rp-empty__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0 0 var(--space-1)}.rp-empty__text{font-size:var(--font-size-sm);color:var(--color-text-secondary);max-width:24rem;margin-bottom:var(--space-6)}.rp-drawer-backdrop{position:fixed;inset:0;z-index:var(--z-modal-bg);background:var(--color-bg-overlay);transition:opacity var(--transition-base)}.rp-drawer{position:fixed;top:0;right:0;z-index:var(--z-modal);height:100%;width:100%;background:var(--color-bg-secondary);box-shadow:var(--shadow-xl);transform:translate(100%);transition:transform .3s ease-in-out}.rp-drawer.is-open{transform:translate(0)}.rp-drawer--md{max-width:28rem}.rp-drawer--lg{max-width:32rem}.rp-drawer__header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);padding:var(--space-4) var(--space-6)}.rp-drawer__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0}.rp-drawer__subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px}.rp-drawer__close{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-md);color:var(--color-text-tertiary);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast)}.rp-drawer__close:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.rp-drawer-tabs{display:flex;border-bottom:1px solid var(--color-border)}.rp-drawer-tab{flex:1;padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center;color:var(--color-text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--transition-fast)}.rp-drawer-tab:hover{color:var(--color-text-primary)}.rp-drawer-tab.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.rp-drawer__body{flex:1;overflow-y:auto;height:calc(100% - 140px)}.rp-drawer__body-padded{padding:var(--space-4)}.rp-drawer-items{display:flex;flex-direction:column;gap:var(--space-2)}.rp-drawer-item{display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:var(--space-3) var(--space-4);transition:background-color var(--transition-fast)}.rp-drawer-item:hover{background:var(--color-bg-hover)}.rp-drawer-item__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-heading)}.rp-drawer-item__meta{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.rp-drawer-btn--remove{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-md);padding:var(--space-1) var(--space-2-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-danger);background:transparent;border:none;cursor:pointer;transition:background-color var(--transition-fast)}.rp-drawer-btn--remove:hover{background:var(--color-danger-bg)}.rp-drawer-btn--assign{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-md);padding:var(--space-1) var(--space-2-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary);background:var(--color-primary-light);border:none;cursor:pointer;transition:background-color var(--transition-fast)}.rp-drawer-btn--assign:hover{background:#0081c726}.rp-drawer-empty{text-align:center;padding:var(--space-12) 0}.rp-drawer-empty__icon{margin:0 auto;color:var(--color-text-tertiary)}.rp-drawer-empty__text{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.rp-drawer-empty__link{display:inline-block;margin-top:var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-primary);background:none;border:none;cursor:pointer}.rp-drawer-empty__link:hover{color:var(--color-primary-hover)}.rp-drawer-search{position:relative;margin-bottom:var(--space-3)}.rp-drawer-search__icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.rp-drawer-search__input{width:100%;border-radius:var(--radius-lg);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);padding:var(--space-2-5) var(--space-3) var(--space-2-5) 2.25rem;font-size:var(--font-size-sm);color:var(--color-text-primary)}.rp-drawer-search__input::placeholder{color:var(--color-text-tertiary)}.rp-drawer-search__input:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.rp-drawer-no-results{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center;padding:var(--space-8) 0}.rp-drawer-toast{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);animation:rp-toast-in .25s ease-out}@keyframes rp-toast-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.rp-drawer-toast--success{background:var(--color-success-bg, #ecfdf5);color:var(--color-success-text, #065f46);border-bottom:1px solid var(--color-success-border, #a7f3d0)}.rp-drawer-toast--error{background:var(--color-danger-bg, #fef2f2);color:var(--color-danger, #dc2626);border-bottom:1px solid var(--color-danger-border, #fecaca)}.rp-drawer-toast__close{margin-left:auto;background:none;border:none;cursor:pointer;color:inherit;opacity:.6;padding:var(--space-1);border-radius:var(--radius-sm);transition:opacity var(--transition-fast)}.rp-drawer-toast__close:hover{opacity:1}.rp-drawer-busy{display:flex;align-items:center;justify-content:center;padding:var(--space-2) 0;color:var(--color-primary)}.rp-drawer-item--assigned-other{border-color:var(--color-warning-border, #f0c674);background:var(--color-warning-bg, #fff8e6)}.rp-drawer-item--assigned-other:hover{background:var(--color-warning-bg-hover, #fff3d0)}.rp-drawer-item__assigned-to{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:2px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-warning-text, #8a6d3b)}.rp-drawer-btn--reassign{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-md);padding:var(--space-1) var(--space-2-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-warning-text, #8a6d3b);background:var(--color-warning-bg-hover, #fff3d0);border:1px solid var(--color-warning-border, #f0c674);cursor:pointer;transition:background-color var(--transition-fast);white-space:nowrap}.rp-drawer-btn--reassign:hover{background:var(--color-warning-border, #f0c674);color:#fff}.rp-device-confirm{border-radius:var(--radius-lg);border:1px solid var(--color-warning-border, #f0c674);background:var(--color-warning-bg, #fff8e6);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3)}.rp-device-confirm__message{display:flex;gap:var(--space-2);align-items:flex-start}.rp-device-confirm__icon{flex-shrink:0;color:var(--color-warning-text, #8a6d3b);margin-top:1px}.rp-device-confirm__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-warning-text, #8a6d3b);margin-bottom:2px}.rp-device-confirm__detail{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.4}.rp-device-confirm__actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-3)}.rp-btn--warning{background:var(--color-warning-border, #f0c674);color:#fff;border:none;font-weight:var(--font-weight-medium)}.rp-btn--warning:hover{background:#e0b654}.rp-form{display:flex;flex-direction:column;height:calc(100% - 65px);overflow-y:auto}.rp-form__body{flex:1;padding:var(--space-5) var(--space-6)}.rp-form__body>*+*{margin-top:var(--space-5)}.rp-form__footer{border-top:1px solid var(--color-border);padding:var(--space-4) var(--space-6);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3)}.rp-field__label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--space-1)}.rp-field__required{color:var(--color-danger)}.rp-field__input,.rp-field__select{display:block;width:100%;border-radius:var(--radius-lg);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);padding:var(--space-2-5) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-primary);box-shadow:var(--shadow-xs)}.rp-field__input::placeholder{color:var(--color-text-tertiary)}.rp-field__input:focus,.rp-field__select:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.rp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.rp-group-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.rp-group-option{display:flex;align-items:center;gap:var(--space-2);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);padding:var(--space-2) var(--space-3);cursor:pointer;transition:all var(--transition-fast);background:var(--color-bg-secondary);color:var(--color-text-primary)}.rp-group-option:hover{background:var(--color-bg-hover)}.rp-group-option.is-selected{border-color:#0081c74d;background:var(--color-primary-light);color:var(--color-primary)}.rp-group-option__text{font-size:var(--font-size-sm)}.rp-spinner{animation:rp-spin 1s linear infinite}.rp-saving-text{display:flex;align-items:center;gap:var(--space-2)}.rp-pagination{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0 var(--space-3);border-top:1px solid var(--color-border)}.rp-pagination__info{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.rp-pagination__emphasis{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.rp-pagination__controls{display:flex;align-items:center;gap:var(--space-3)}.rp-per-page{display:flex;align-items:center;gap:var(--space-1-5)}.rp-per-page__label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.rp-per-page__select{border-radius:var(--radius-md);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary)}.rp-per-page__select:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.rp-page-nav{display:flex;align-items:center;gap:var(--space-1)}.rp-page-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-md);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.rp-page-btn:hover:not(:disabled){background:var(--color-bg-hover)}.rp-page-btn:disabled{opacity:.4;cursor:not-allowed}.rp-page-num{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.rp-page-num:hover{background:var(--color-bg-hover)}.rp-page-num.is-active{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.rp-group-residents-cell{position:relative;display:inline-block}.rp-group-residents-badge{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-md);padding:2px var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:var(--color-primary-light);color:var(--color-primary);box-shadow:inset 0 0 0 1px #0081c71a;cursor:pointer;border:none;transition:background-color var(--transition-fast)}.rp-group-residents-badge:hover{background:#0081c726}.rp-group-residents-badge .fe{font-size:12px}.rp-group-residents-popover{position:absolute;z-index:var(--z-popover);margin-top:var(--space-1);width:18rem;max-height:320px;border-radius:var(--radius-lg);background:var(--color-bg-secondary);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);padding:var(--space-2);left:50%;transform:translate(-50%)}.rp-group-residents-popover__title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary);padding:0 var(--space-2) var(--space-1);margin-bottom:var(--space-1);border-bottom:1px solid var(--color-border-light)}.rp-group-residents-popover__list{list-style:none;padding:0;margin:0;max-height:260px;overflow-y:auto}.rp-group-residents-popover__item{display:flex;flex-direction:column;gap:1px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.rp-group-residents-popover__item:hover{background:var(--color-bg-hover)}.rp-group-residents-popover__name{color:var(--color-text-heading);font-weight:var(--font-weight-medium);line-height:1.3}.rp-group-residents-popover__area{display:flex;align-items:center;gap:var(--space-1-5);color:var(--color-text-tertiary);font-size:var(--font-size-xs);line-height:1.3}.rp-area-type-tag--sm{font-size:.625rem;padding:0 4px;line-height:1.4}.rp-resident-picker{margin-top:var(--space-2)}.rp-resident-picker__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.rp-resident-picker__count{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);margin-left:var(--space-2)}.rp-resident-picker__search{display:flex;align-items:center;border-radius:var(--radius-md);background:var(--color-bg-secondary);border:1px solid var(--color-border-medium);padding:0 var(--space-3);margin-bottom:var(--space-2);transition:border-color var(--transition-fast)}.rp-resident-picker__search:focus-within{border-color:var(--color-border-focus);box-shadow:0 0 0 1px var(--color-border-focus)}.rp-resident-picker__search-icon{font-size:14px;color:var(--color-text-tertiary);flex-shrink:0}.rp-resident-picker__search-input{flex:1;border:none;background:transparent;padding:var(--space-2) var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary);outline:none}.rp-resident-picker__search-input::placeholder{color:var(--color-text-tertiary)}.rp-resident-picker__actions{display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.rp-resident-picker__action-btn{padding:var(--space-1) var(--space-2-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary);background:transparent;border:none;cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.rp-resident-picker__action-btn:hover{background:var(--color-bg-hover)}.rp-resident-picker__list{max-height:280px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary)}.rp-resident-picker__list::-webkit-scrollbar{width:4px}.rp-resident-picker__list::-webkit-scrollbar-track{background:transparent}.rp-resident-picker__list::-webkit-scrollbar-thumb{background:var(--color-border-light);border-radius:4px}.rp-resident-picker__item{display:flex;align-items:center;gap:var(--space-2-5);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:background-color var(--transition-fast)}.rp-resident-picker__item:last-child{border-bottom:none}.rp-resident-picker__item:hover{background:var(--color-bg-hover)}.rp-resident-picker__item.is-selected{background:var(--color-primary-light)}.rp-resident-picker__item-info{flex:1;display:flex;flex-direction:column;min-width:0}.rp-resident-picker__item-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:1.3}.rp-resident-picker__item-area{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.3}.rp-resident-picker__empty{padding:var(--space-4);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.rp-delete-confirm{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-3);background:var(--color-danger-bg);border-radius:var(--radius-md);flex:1}.rp-delete-confirm__text{flex:1;font-size:var(--font-size-sm);color:var(--color-text-primary)}.rp-delete-confirm__text strong{font-weight:var(--font-weight-semibold)}.rp-btn--danger{background:transparent;color:var(--color-danger);border:1px solid var(--color-danger)}.rp-btn--danger:hover{background:var(--color-danger);color:#fff}.rp-btn--danger-solid{background:var(--color-danger);color:#fff;border:none}.rp-btn--danger-solid:hover{background:var(--color-danger-hover)}.rp-btn--sm{padding:var(--space-1-5) var(--space-3);font-size:var(--font-size-xs)}.rp-field__textarea{width:100%;padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-medium);font-size:var(--font-size-sm);font-family:var(--font-family-base);color:var(--color-text-primary);background:var(--color-bg-secondary);resize:vertical;min-height:80px;transition:border-color var(--transition-fast)}.rp-field__textarea:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 1px var(--color-border-focus)}.rp-empty__icon-fe{font-size:2.5rem;color:var(--color-text-tertiary)}.rp-row-actions__item--danger{color:var(--color-danger)}.rp-row-actions__item--danger:hover{background:var(--color-danger-bg)}.rp-row-actions__item--danger .rp-row-actions__item-icon{color:var(--color-danger)}@keyframes ap-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes ap-spin{to{transform:rotate(360deg)}}@keyframes ap-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ap-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.ap-icon-xs{width:.75rem;height:.75rem}.ap-icon-sm{width:.875rem;height:.875rem}.ap-icon-md{width:1rem;height:1rem}.ap-icon-lg{width:1.25rem;height:1.25rem}.ap-icon-xl{width:2rem;height:2rem}.ap-checkbox{width:1rem;height:1rem;border-radius:var(--radius-sm);accent-color:var(--color-primary);cursor:pointer}.ap-checkbox:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.ap-checkbox:disabled{opacity:.5}.ap-page{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--color-bg-primary)}.ap-toast{position:fixed;top:var(--space-4);left:50%;transform:translate(-50%);z-index:9999;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-lg);animation:ap-toast-slide-in .3s ease-out;max-width:420px}@keyframes ap-toast-slide-in{0%{opacity:0;transform:translateY(-10px) translate(-50%)}to{opacity:1;transform:translateY(0) translate(-50%)}}.ap-toast--success{background:var(--color-success-bg, #ecfdf5);color:var(--color-success-text, #065f46);border:1px solid var(--color-success-border, #a7f3d0)}.ap-toast--error{background:var(--color-danger-bg, #fef2f2);color:var(--color-danger, #dc2626);border:1px solid var(--color-danger-border, #fecaca)}.ap-toast__close{margin-left:auto;flex-shrink:0;background:none;border:none;cursor:pointer;color:inherit;opacity:.6;padding:var(--space-1);border-radius:var(--radius-sm);transition:opacity var(--transition-fast)}.ap-toast__close:hover{opacity:1}.ap-page-header{flex-shrink:0;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.ap-page-header__inner{max-width:100%;margin:0 auto;padding:var(--space-4) var(--space-6)}.ap-breadcrumb-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.ap-breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm)}.ap-breadcrumb__text,.ap-breadcrumb__separator{color:var(--color-text-tertiary)}.ap-breadcrumb__current{color:var(--color-text-heading);font-weight:var(--font-weight-medium)}.ap-campus-row{display:flex;align-items:center;gap:var(--space-2)}.ap-campus-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.ap-campus-select{border-radius:var(--radius-lg);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);box-shadow:var(--shadow-xs)}.ap-campus-select:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.ap-page-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-heading);margin:0}.ap-tab-bar{flex-shrink:0;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.ap-tab-bar__inner{max-width:100%;margin:0 auto;padding:0 var(--space-6)}.ap-tab-nav{display:flex;gap:var(--space-6);list-style:none;padding:0;margin:0}.ap-tab{position:relative;padding:var(--space-3) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-decoration:none;background:none;border:none;cursor:pointer;transition:color var(--transition-fast)}.ap-tab:hover{color:var(--color-text-primary)}.ap-tab.is-active{color:var(--color-primary)}.ap-tab__indicator{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-primary);border-radius:1px 1px 0 0}.ap-content{display:flex;flex-direction:column;flex:1;min-height:0;max-width:100%;margin:0 auto;padding:var(--space-5) var(--space-6) 0}.ap-controls{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.ap-controls__left{display:flex;align-items:center;gap:var(--space-3)}.ap-controls__right{display:flex;align-items:center;gap:var(--space-2)}.ap-search{position:relative}.ap-search__icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.ap-search__input{width:18rem;border-radius:var(--radius-lg);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);padding:var(--space-2) var(--space-3) var(--space-2) 2.25rem;font-size:var(--font-size-sm);color:var(--color-text-primary);box-shadow:var(--shadow-xs)}.ap-search__input::placeholder{color:var(--color-text-tertiary)}.ap-search__input:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.ap-btn{display:inline-flex;align-items:center;gap:var(--space-1-5);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.ap-btn--secondary{border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);color:var(--color-text-primary);padding:var(--space-2) var(--space-3);box-shadow:var(--shadow-xs)}.ap-btn--secondary:hover{background:var(--color-bg-hover)}.ap-btn--primary{border:none;background:var(--color-primary);color:var(--color-text-on-primary);padding:var(--space-2) var(--space-4);box-shadow:var(--shadow-xs);font-weight:var(--font-weight-semibold)}.ap-btn--primary:hover{background:var(--color-primary-hover)}.ap-btn--primary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ap-btn--outline{border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);color:var(--color-text-primary);padding:var(--space-2-5) var(--space-4);font-weight:var(--font-weight-semibold)}.ap-btn--outline:hover{background:var(--color-bg-hover)}.ap-btn--outline:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.ap-btn--cancel{border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);color:var(--color-text-primary);padding:var(--space-2-5) var(--space-4);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-xs)}.ap-btn--cancel:hover{background:var(--color-bg-hover)}.ap-btn--icon{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.ap-btn--danger{border:none;background:var(--color-danger);color:#fff;padding:var(--space-2) var(--space-4);font-weight:var(--font-weight-semibold)}.ap-btn--danger:hover{background:#b91c1c}.ap-btn:disabled,.ap-btn[disabled]{opacity:.5;cursor:not-allowed}.ap-table-wrap{flex:1;min-height:0;overflow:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg-secondary)}.ap-table{width:100%;min-width:100%;border-collapse:separate;border-spacing:0}.ap-thead{position:sticky;top:0;z-index:10;background:var(--color-bg-tertiary)}.ap-th{padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.ap-th--checkbox{width:2.5rem;padding:var(--space-3)}.ap-th--actions{width:3rem;padding:var(--space-3)}.ap-th__content{display:flex;align-items:center}.ap-th__sort-btn{display:flex;align-items:center;gap:2px;background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;transition:color var(--transition-fast)}.ap-th__sort-btn:hover{color:var(--color-text-primary)}.ap-sort-icon{margin-left:var(--space-1)}.ap-sort-icon--neutral{color:var(--color-text-tertiary)}.ap-sort-icon--active{color:var(--color-primary)}.ap-tbody .ap-tr{transition:background-color var(--transition-fast)}.ap-tbody .ap-tr+.ap-tr{border-top:1px solid var(--color-border-light)}.ap-tbody .ap-tr:hover{background:var(--color-bg-hover)}.ap-tbody .ap-tr.is-selected{background:var(--color-primary-light)}.ap-td{padding:var(--space-2-5) var(--space-4);white-space:nowrap;font-size:var(--font-size-sm);color:var(--color-text-primary)}.ap-td--checkbox{width:2.5rem;padding:var(--space-2-5) var(--space-3)}.ap-td--actions{width:3rem;padding:var(--space-2-5) var(--space-3)}.ap-cell-text{font-size:var(--font-size-sm);color:var(--color-text-primary)}.ap-cell-text--muted{color:var(--color-text-tertiary)}.ap-cell-text--secondary{color:var(--color-text-secondary)}.ap-cell-text--link{color:var(--color-primary);font-weight:var(--font-weight-medium)}.ap-cell-text--nowrap{white-space:nowrap}.ap-cell-text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px;display:block}.ap-area-type-tag{display:inline-flex;align-items:center;border-radius:var(--radius-sm);background:var(--color-bg-tertiary);padding:2px var(--space-1-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.ap-cell-groups{display:flex;flex-wrap:wrap;gap:var(--space-1)}.ap-group-badge{display:inline-flex;align-items:center;border-radius:var(--radius-md);padding:2px var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;background:var(--color-primary-light);color:var(--color-primary);box-shadow:inset 0 0 0 1px #0081c71a}.ap-residents-cell{position:relative;display:inline-block}.ap-residents-badge{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-md);padding:2px var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:var(--color-primary-light);color:var(--color-primary);box-shadow:inset 0 0 0 1px #0081c71a;cursor:pointer;border:none;transition:background-color var(--transition-fast)}.ap-residents-badge:hover{background:#0081c726}.ap-residents-popover{position:absolute;z-index:var(--z-popover);margin-top:var(--space-1);width:16rem;max-height:320px;border-radius:var(--radius-lg);background:var(--color-bg-secondary);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);padding:var(--space-2);left:50%;transform:translate(-50%)}.ap-residents-popover__title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary);padding:0 var(--space-2) var(--space-1);margin-bottom:var(--space-1);border-bottom:1px solid var(--color-border-light)}.ap-residents-popover__list{list-style:none;padding:0;margin:0;max-height:260px;overflow-y:auto}.ap-residents-popover__item{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-heading);font-weight:var(--font-weight-medium)}.ap-residents-popover__item:hover{background:var(--color-bg-hover)}.ap-device-cell{position:relative;display:inline-block}.ap-device-badge{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-md);padding:2px var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:var(--color-primary-light);color:var(--color-primary);box-shadow:inset 0 0 0 1px #0081c71a;cursor:pointer;border:none;transition:background-color var(--transition-fast)}.ap-device-badge:hover{background:#0081c726}.ap-device-popover{position:absolute;z-index:var(--z-popover);margin-top:var(--space-1);width:14rem;border-radius:var(--radius-lg);background:var(--color-bg-secondary);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);padding:var(--space-2);left:50%;transform:translate(-50%)}.ap-device-popover__title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary);padding:0 var(--space-2) var(--space-1);margin-bottom:var(--space-1);border-bottom:1px solid var(--color-border-light)}.ap-device-popover__list{list-style:none;padding:0;margin:0}.ap-device-popover__item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.ap-device-popover__item:hover{background:var(--color-bg-hover)}.ap-device-popover__name{color:var(--color-text-heading);font-weight:var(--font-weight-medium)}.ap-device-popover__uuid{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.ap-areas-cell{position:relative;display:inline-block}.ap-areas-badge{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-md);padding:2px var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:var(--color-primary-light);color:var(--color-primary);box-shadow:inset 0 0 0 1px #0081c71a;cursor:pointer;border:none;transition:background-color var(--transition-fast)}.ap-areas-badge:hover{background:#0081c726}.ap-areas-popover{position:absolute;z-index:var(--z-popover);margin-top:var(--space-1);width:18rem;max-height:320px;border-radius:var(--radius-lg);background:var(--color-bg-secondary);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);padding:var(--space-2);left:50%;transform:translate(-50%)}.ap-areas-popover__title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary);padding:0 var(--space-2) var(--space-1);margin-bottom:var(--space-1);border-bottom:1px solid var(--color-border-light)}.ap-areas-popover__list{list-style:none;padding:0;margin:0;max-height:260px;overflow-y:auto}.ap-areas-popover__item{display:flex;flex-direction:column;gap:1px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.ap-areas-popover__item:hover{background:var(--color-bg-hover)}.ap-areas-popover__name{color:var(--color-text-heading);font-weight:var(--font-weight-medium);line-height:1.3}.ap-areas-popover__type{color:var(--color-text-tertiary);font-size:var(--font-size-xs);line-height:1.3}.ap-row-actions{position:relative}.ap-row-actions__trigger{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:var(--radius-md);color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast);font-size:16px;line-height:1}.ap-row-actions__trigger:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.ap-row-actions__menu{position:absolute;right:0;z-index:var(--z-popover);margin-top:var(--space-1);width:11rem;border-radius:var(--radius-lg);background:var(--color-bg-secondary);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);overflow:hidden}.ap-row-actions__item{display:flex;width:100%;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-primary);background:transparent;border:none;cursor:pointer;transition:background-color var(--transition-fast)}.ap-row-actions__item:hover{background:var(--color-bg-hover)}.ap-row-actions__item--danger{color:var(--color-danger)}.ap-row-actions__item--danger:hover{background:var(--color-danger-bg)}.ap-row-actions__item-icon{color:var(--color-text-tertiary)}.ap-bulk-bar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-lg);background:var(--color-primary);padding:var(--space-2-5) var(--space-4);margin-bottom:var(--space-3);box-shadow:var(--shadow-sm);animation:ap-slide-down .15s ease-out}.ap-bulk-bar__left{display:flex;align-items:center;gap:var(--space-3)}.ap-bulk-bar__count{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-on-primary)}.ap-bulk-bar__deselect{font-size:var(--font-size-xs);color:#ffffffb3;background:none;border:none;cursor:pointer;text-decoration:underline;transition:color var(--transition-fast)}.ap-bulk-bar__deselect:hover{color:var(--color-text-on-primary)}.ap-bulk-bar__right{display:flex;align-items:center;gap:var(--space-2)}.ap-bulk-btn{display:inline-flex;align-items:center;gap:var(--space-1-5);border-radius:var(--radius-md);background:#ffffff26;padding:var(--space-1-5) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-on-primary);border:none;cursor:pointer;transition:background-color var(--transition-fast)}.ap-bulk-btn:hover{background:#ffffff40}.ap-bulk-btn--danger{background:#ff505040;color:#ffc9c9}.ap-bulk-btn--danger:hover{background:#ff505066;color:#fff}.ap-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-4);text-align:center}.ap-empty__icon-wrap{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:var(--radius-full);background:var(--color-bg-tertiary);margin-bottom:var(--space-4)}.ap-empty__icon{color:var(--color-text-tertiary)}.ap-empty__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0 0 var(--space-1)}.ap-empty__text{font-size:var(--font-size-sm);color:var(--color-text-secondary);max-width:24rem;margin-bottom:var(--space-6)}.ap-skeleton-wrap{overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.ap-skeleton-table{width:100%;min-width:100%;border-collapse:separate;border-spacing:0}.ap-skeleton-thead tr{background:var(--color-bg-tertiary)}.ap-skeleton-th{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border)}.ap-skeleton-block{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-shine) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:ap-shimmer 1.5s ease-in-out infinite}.ap-skeleton-block--header{background:linear-gradient(90deg,var(--skeleton-header-base) 25%,var(--skeleton-header-shine) 50%,var(--skeleton-header-base) 75%);background-size:200% 100%;animation:ap-shimmer 1.5s ease-in-out infinite}.ap-skeleton-td{padding:var(--space-3) var(--space-4)}.ap-skeleton-tbody .ap-skeleton-row+.ap-skeleton-row{border-top:1px solid var(--color-border-light)}.ap-skeleton-groups{display:flex;gap:var(--space-1)}.ap-drawer-backdrop{position:fixed;inset:0;z-index:var(--z-modal-bg);background:var(--color-bg-overlay);transition:opacity var(--transition-base)}.ap-drawer{position:fixed;top:0;right:0;z-index:var(--z-modal);height:100%;width:100%;background:var(--color-bg-secondary);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease-in-out}.ap-drawer.is-open{transform:translate(0)}.ap-drawer--md{max-width:28rem}.ap-drawer--lg{max-width:32rem}.ap-drawer__header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);padding:var(--space-4) var(--space-6)}.ap-drawer__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0}.ap-drawer__subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px}.ap-drawer__close{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-md);color:var(--color-text-tertiary);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast)}.ap-drawer__close:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.ap-drawer-tabs{display:flex;border-bottom:1px solid var(--color-border)}.ap-drawer-tab{flex:1;padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center;color:var(--color-text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--transition-fast)}.ap-drawer-tab:hover{color:var(--color-text-primary)}.ap-drawer-tab.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.ap-drawer__body{flex:1;overflow-y:auto;height:calc(100% - 140px)}.ap-drawer__body-padded{padding:var(--space-4)}.ap-drawer-items{display:flex;flex-direction:column;gap:var(--space-2)}.ap-drawer-item{display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:var(--space-3) var(--space-4);transition:background-color var(--transition-fast)}.ap-drawer-item:hover{background:var(--color-bg-hover)}.ap-drawer-item__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-heading)}.ap-drawer-item__meta{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.ap-drawer-btn--remove{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-md);padding:var(--space-1) var(--space-2-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-danger);background:transparent;border:none;cursor:pointer;transition:background-color var(--transition-fast)}.ap-drawer-btn--remove:hover{background:var(--color-danger-bg)}.ap-drawer-btn--assign{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-md);padding:var(--space-1) var(--space-2-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary);background:var(--color-primary-light);border:none;cursor:pointer;transition:background-color var(--transition-fast)}.ap-drawer-btn--assign:hover{background:#0081c726}.ap-drawer-empty{text-align:center;padding:var(--space-12) 0}.ap-drawer-empty__icon{margin:0 auto;color:var(--color-text-tertiary)}.ap-drawer-empty__text{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ap-drawer-empty__link{display:inline-block;margin-top:var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-primary);background:none;border:none;cursor:pointer}.ap-drawer-empty__link:hover{color:var(--color-primary-hover)}.ap-drawer-search{position:relative;margin-bottom:var(--space-3)}.ap-drawer-search__icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.ap-drawer-search__input{width:100%;border-radius:var(--radius-lg);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);padding:var(--space-2-5) var(--space-3) var(--space-2-5) 2.25rem;font-size:var(--font-size-sm);color:var(--color-text-primary)}.ap-drawer-search__input::placeholder{color:var(--color-text-tertiary)}.ap-drawer-search__input:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.ap-drawer-no-results{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center;padding:var(--space-8) 0}.ap-drawer-toast{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);animation:ap-toast-in .25s ease-out}@keyframes ap-toast-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ap-drawer-toast--success{background:var(--color-success-bg, #ecfdf5);color:var(--color-success-text, #065f46);border-bottom:1px solid var(--color-success-border, #a7f3d0)}.ap-drawer-toast--error{background:var(--color-danger-bg, #fef2f2);color:var(--color-danger, #dc2626);border-bottom:1px solid var(--color-danger-border, #fecaca)}.ap-drawer-toast__close{margin-left:auto;background:none;border:none;cursor:pointer;color:inherit;opacity:.6;padding:var(--space-1);border-radius:var(--radius-sm);transition:opacity var(--transition-fast)}.ap-drawer-toast__close:hover{opacity:1}.ap-drawer-busy{display:flex;align-items:center;justify-content:center;padding:var(--space-2) 0;color:var(--color-primary)}.ap-drawer-item--assigned-other{border-color:var(--color-warning-border, #f0c674);background:var(--color-warning-bg, #fff8e6)}.ap-drawer-item--assigned-other:hover{background:var(--color-warning-bg-hover, #fff3d0)}.ap-drawer-item__assigned-to{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:2px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-warning-text, #8a6d3b)}.ap-form{display:flex;flex-direction:column;flex:1;min-height:0}.ap-form__body{flex:1;overflow-y:auto;padding:var(--space-5) var(--space-6)}.ap-form__body>*+*{margin-top:var(--space-5)}.ap-form__footer{border-top:1px solid var(--color-border);padding:var(--space-4) var(--space-6);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);flex-shrink:0}.ap-field__label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--space-1)}.ap-field__required{color:var(--color-danger)}.ap-field__input,.ap-field__select{display:block;width:100%;border-radius:var(--radius-lg);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);padding:var(--space-2-5) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-primary);box-shadow:var(--shadow-xs)}.ap-field__input::placeholder{color:var(--color-text-tertiary)}.ap-field__input:focus,.ap-field__select:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.ap-field__textarea{width:100%;padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border-medium);font-size:var(--font-size-sm);font-family:var(--font-family-base);color:var(--color-text-primary);background:var(--color-bg-secondary);resize:vertical;min-height:80px;transition:border-color var(--transition-fast)}.ap-field__textarea::placeholder{color:var(--color-text-tertiary)}.ap-field__textarea:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 1px var(--color-border-focus)}.ap-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.ap-area-picker{margin-top:var(--space-2)}.ap-area-picker__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.ap-area-picker__count{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);margin-left:var(--space-2)}.ap-area-picker__search{display:flex;align-items:center;border-radius:var(--radius-md);background:var(--color-bg-secondary);border:1px solid var(--color-border-medium);padding:0 var(--space-3);margin-bottom:var(--space-2);transition:border-color var(--transition-fast)}.ap-area-picker__search:focus-within{border-color:var(--color-border-focus);box-shadow:0 0 0 1px var(--color-border-focus)}.ap-area-picker__search-icon{font-size:14px;color:var(--color-text-tertiary);flex-shrink:0}.ap-area-picker__search-input{flex:1;border:none;background:transparent;padding:var(--space-2) var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary);outline:none}.ap-area-picker__search-input::placeholder{color:var(--color-text-tertiary)}.ap-area-picker__actions{display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.ap-area-picker__action-btn{padding:var(--space-1) var(--space-2-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary);background:transparent;border:none;cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.ap-area-picker__action-btn:hover{background:var(--color-bg-hover)}.ap-area-picker__list{max-height:280px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary)}.ap-area-picker__list::-webkit-scrollbar{width:4px}.ap-area-picker__list::-webkit-scrollbar-track{background:transparent}.ap-area-picker__list::-webkit-scrollbar-thumb{background:var(--color-border-light);border-radius:4px}.ap-area-picker__item{display:flex;align-items:center;gap:var(--space-2-5);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-light);cursor:pointer;transition:background-color var(--transition-fast)}.ap-area-picker__item:last-child{border-bottom:none}.ap-area-picker__item:hover{background:var(--color-bg-hover)}.ap-area-picker__item.is-selected{background:var(--color-primary-light)}.ap-area-picker__item-info{flex:1;display:flex;flex-direction:column;min-width:0}.ap-area-picker__item-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:1.3}.ap-area-picker__item-type{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.3}.ap-area-picker__empty{padding:var(--space-4);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.ap-group-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.ap-group-option{display:flex;align-items:center;gap:var(--space-2);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);padding:var(--space-2) var(--space-3);cursor:pointer;transition:all var(--transition-fast);background:var(--color-bg-secondary);color:var(--color-text-primary)}.ap-group-option:hover{background:var(--color-bg-hover)}.ap-group-option.is-selected{border-color:#0081c74d;background:var(--color-primary-light);color:var(--color-primary)}.ap-group-option__text{font-size:var(--font-size-sm)}.ap-add-toggle{display:flex;align-items:center;border-radius:var(--radius-lg);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);overflow:hidden;box-shadow:var(--shadow-xs);margin-bottom:var(--space-4)}.ap-add-toggle__btn{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast)}.ap-add-toggle__btn:hover:not(.is-active){background:var(--color-bg-hover)}.ap-add-toggle__btn.is-active{background:var(--color-primary);color:var(--color-text-on-primary)}.ap-spinner{animation:ap-spin 1s linear infinite}.ap-saving-text{display:flex;align-items:center;gap:var(--space-2)}.ap-pagination{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0 var(--space-3);border-top:1px solid var(--color-border)}.ap-pagination__info{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ap-pagination__emphasis{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.ap-pagination__controls{display:flex;align-items:center;gap:var(--space-3)}.ap-per-page{display:flex;align-items:center;gap:var(--space-1-5)}.ap-per-page__label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ap-per-page__select{border-radius:var(--radius-md);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary)}.ap-per-page__select:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.ap-page-nav{display:flex;align-items:center;gap:var(--space-1)}.ap-page-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-md);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.ap-page-btn:hover:not(:disabled){background:var(--color-bg-hover)}.ap-page-btn:disabled{opacity:.4;cursor:not-allowed}.ap-page-num{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.ap-page-num:hover{background:var(--color-bg-hover)}.ap-page-num.is-active{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.ap-building-stack{display:flex;flex-direction:column;line-height:1.3}.ap-building-stack__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-heading)}.ap-building-stack__address{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.ap-delete-confirm{border-radius:var(--radius-lg);border:1px solid var(--color-danger-border, #fecaca);background:var(--color-danger-bg, #fef2f2);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3)}.ap-delete-confirm__message{display:flex;gap:var(--space-2);align-items:flex-start}.ap-delete-confirm__icon{flex-shrink:0;color:var(--color-danger);margin-top:1px}.ap-delete-confirm__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-danger);margin-bottom:2px}.ap-delete-confirm__detail{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.4}.ap-delete-confirm__actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-3)}.ap-residents-list{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2)}.ap-resident-chip{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-full, 9999px);background:var(--color-primary-bg, #e8f4fd);font-size:var(--font-size-sm);color:var(--color-primary, #0081C7);text-decoration:none;transition:background var(--transition-fast)}.ap-resident-chip:hover{background:var(--color-primary-bg-hover, #d0eafb);text-decoration:none}.ap-groups-list{display:flex;flex-wrap:wrap;gap:var(--space-1)}.ap-group-tag{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-secondary, #f8f9fa);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.ap-device-list{display:flex;flex-direction:column;gap:0}.ap-device-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light, #eee);transition:background var(--transition-fast)}.ap-device-row:last-child{border-bottom:none}.ap-device-row:hover{background:var(--color-bg-secondary, #f8f9fa)}.ap-device-row__info{display:flex;flex-direction:column;gap:2px;min-width:0}.ap-device-row__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary, #0081C7);text-decoration:none}.ap-device-row__name:hover{text-decoration:underline}.ap-device-row__detail{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.ap-device-row__actions{display:flex;align-items:center;gap:var(--space-2)}.ap-remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-tertiary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.ap-remove-btn:hover{background:var(--color-danger-bg, #fde8e8);color:var(--color-danger, #c53030)}.ap-device-picker{max-height:360px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.ap-device-picker__empty{padding:var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.ap-device-picker__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-light, #eee);transition:background var(--transition-fast)}.ap-device-picker__item:last-child{border-bottom:none}.ap-device-picker__item:hover{background:var(--color-bg-secondary, #f8f9fa)}.ap-device-picker__item--assigned{border-color:var(--color-warning-border, #f0c674);background:var(--color-warning-bg, #fff8e6)}.ap-device-picker__item--assigned:hover{background:var(--color-warning-bg-hover, #fff3d0)}.ap-device-picker__info{min-width:0;flex:1}.ap-device-picker__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.ap-device-picker__meta{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:2px}.ap-device-picker__assigned-to{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:2px;font-size:var(--font-size-xs);color:var(--color-warning-text, #92600a);font-weight:var(--font-weight-medium)}.ap-device-picker__btn{display:inline-flex;align-items:center;gap:var(--space-1);white-space:nowrap;border-radius:var(--radius-md);padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border:none;cursor:pointer;transition:background var(--transition-fast);flex-shrink:0}.ap-device-picker__btn--assign{color:var(--color-primary);background:var(--color-primary-light, rgba(0, 129, 199, .08))}.ap-device-picker__btn--assign:hover{background:#0081c726}.ap-device-picker__btn--reassign{color:var(--color-warning-text, #92600a);background:var(--color-warning-bg, #fff8e6);border:1px solid var(--color-warning-border, #f0c674)}.ap-device-picker__btn--reassign:hover{background:var(--color-warning-bg-hover, #fff3d0)}.ap-device-picker__btn:disabled{opacity:.5;cursor:not-allowed}.ap-reassign-confirm{border-radius:var(--radius-lg);border:1px solid var(--color-warning-border, #f0c674);background:var(--color-warning-bg, #fff8e6);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3)}.ap-reassign-confirm__message{display:flex;gap:var(--space-2);align-items:flex-start}.ap-reassign-confirm__icon{flex-shrink:0;width:20px;height:20px;color:var(--color-warning-text, #92600a);margin-top:1px}.ap-reassign-confirm__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-warning-text, #92600a);margin:0 0 2px}.ap-reassign-confirm__detail{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.4;margin:0}.ap-reassign-confirm__actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-3)}.dp-btn--warning{background:var(--color-warning, #d9a406);color:#fff;border:none;border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast)}.dp-btn--warning:hover{background:var(--color-warning-hover, #b8900a)}.dp-btn--warning:disabled{opacity:.5;cursor:not-allowed}.ap-wellness-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media(max-width:768px){.ap-wellness-grid{grid-template-columns:1fr}}.ip-device-image{display:inline-flex;align-items:flex-start;border-radius:var(--radius-lg);background:var(--color-bg-primary);overflow:hidden;flex-shrink:0}.ip-device-image__img{max-height:200px;width:auto;padding:var(--space-1);border-radius:var(--radius-lg);object-fit:contain}.ip-battery{display:inline-flex;align-items:center;gap:var(--space-1-5);font-size:var(--font-size-sm)}.ip-battery__icon{font-size:1.25rem;line-height:1}.ip-battery--full .ip-battery__icon,.ip-battery--good .ip-battery__icon{color:var(--color-success)}.ip-battery--low .ip-battery__icon{color:#d9a406}.ip-battery--critical .ip-battery__icon{color:var(--color-danger, #ef4444)}.ip-battery__label{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.ip-sensor-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.ip-sensor-value__unit{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-left:1px}.ip-chart-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.ip-chart-section{min-height:280px;position:relative}.ip-chart-section canvas{max-height:350px}.ip-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.ip-reason-total{font-weight:var(--font-weight-semibold);background:var(--color-bg-tertiary)}.ip-percent-bar{display:flex;align-items:center;gap:var(--space-2)}.ip-percent-bar__track{flex:1;height:20px;background:var(--color-bg-tertiary);border-radius:var(--radius-sm);overflow:hidden;min-width:60px}.ip-percent-bar__fill{height:100%;border-radius:var(--radius-sm);background:var(--color-primary, #0081C7);transition:width .4s ease}.ip-percent-bar__label{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap;min-width:42px;text-align:right}.ip-careflow-item{display:flex;align-items:baseline;gap:var(--space-3);padding:var(--space-2) 0;font-size:var(--font-size-sm)}.ip-careflow-item+.ip-careflow-item{border-top:1px solid var(--color-border-light, var(--color-border))}.ip-careflow-item__name{min-width:160px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.ip-careflow-item__window{color:var(--color-text-secondary)}.ip-careflow-item__type{font-size:var(--font-size-xs);color:var(--color-text-tertiary);padding:1px var(--space-2);border-radius:var(--radius-full);background:var(--color-bg-tertiary)}.ip-debug-table{font-size:var(--font-size-xs)}.ip-debug-table .dp-td{text-align:center;font-family:monospace;padding:var(--space-1-5) var(--space-2)}.ip-debug-table .dp-th{text-align:center;font-size:.65rem;white-space:nowrap}.ip-raw-bytes-btn{background:none;border:none;cursor:pointer;color:var(--color-primary);font-size:var(--font-size-sm);padding:2px var(--space-1);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.ip-raw-bytes-btn:hover{background:var(--color-bg-hover)}.ip-logging-control{display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap}.ip-logging-control__field{display:flex;flex-direction:column;gap:var(--space-1)}.ip-logging-control__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em}.ip-existing-notes{margin-top:var(--space-4);border-top:1px solid var(--color-border);padding-top:var(--space-3)}.ip-existing-notes__title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);margin-bottom:var(--space-2)}.ip-find-grid{display:grid;grid-template-columns:200px 1fr;gap:var(--space-4);min-height:500px}.ip-find-controls{display:flex;flex-direction:column;align-items:center;padding:var(--space-3) var(--space-4)}.ip-find-panel{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-secondary, var(--color-bg-primary))}.ip-find-panel__title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);margin-bottom:var(--space-1)}.ip-find-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#fff;cursor:pointer;transition:background var(--transition-fast),opacity var(--transition-fast)}.ip-find-btn--find{background:var(--color-primary, #0081C7)}.ip-find-btn--find:hover:not(:disabled){opacity:.9}.ip-find-btn--alarm{background:var(--color-primary, #0081C7)}.ip-find-btn--alarm:hover:not(:disabled){opacity:.9}.ip-find-btn--active{background:var(--color-success, #16a34a);cursor:default}.ip-find-btn:disabled{opacity:.6;cursor:not-allowed}.ip-find-status{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-align:center;min-height:1.2em}.ip-map-container{border-radius:var(--radius-lg);overflow:hidden;min-height:400px;height:100%}.ip-map-container .leaflet-container{height:100%;width:100%;border-radius:var(--radius-lg)}@media(max-width:960px){.ip-chart-row,.ip-report-grid,.ip-find-grid{grid-template-columns:1fr}}.rpp-photo-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--color-bg-secondary, #f8f9fa);flex-shrink:0}.rpp-photo{width:150px;height:150px;border-radius:var(--radius-lg);object-fit:cover}.rpp-photo-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--color-primary, #0081C7);border-radius:var(--radius-md);background:transparent;color:var(--color-primary, #0081C7);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.rpp-photo-btn:hover{background:var(--color-primary, #0081C7);color:#fff}.rpp-photo-btn:disabled{opacity:.5;cursor:not-allowed}.rpp-basic-layout{display:flex;gap:var(--space-5);align-items:flex-start}@media(max-width:768px){.rpp-basic-layout{flex-direction:column;align-items:center}}.rpp-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-6);flex:1;min-width:0}@media(max-width:768px){.rpp-info-grid{grid-template-columns:1fr}}.rpp-moved-out-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);margin-bottom:var(--space-4);border-radius:var(--radius-md);background:var(--color-danger-bg, #fde8e8);color:var(--color-danger, #c53030);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.rpp-review-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-md);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:default}.rpp-groups-list{display:flex;flex-wrap:wrap;gap:var(--space-1)}.rpp-group-tag{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-secondary, #f8f9fa);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.rpp-remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-tertiary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.rpp-remove-btn:hover{background:var(--color-danger-bg, #fde8e8);color:var(--color-danger, #c53030)}.rpp-device-picker{max-height:360px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.rpp-device-picker__empty{padding:var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.rpp-device-picker__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-light, #eee);transition:background var(--transition-fast)}.rpp-device-picker__item:last-child{border-bottom:none}.rpp-device-picker__item:hover{background:var(--color-bg-secondary, #f8f9fa)}.rpp-device-picker__item--assigned{border-color:var(--color-warning-border, #f0c674);background:var(--color-warning-bg, #fff8e6)}.rpp-device-picker__item--assigned:hover{background:var(--color-warning-bg-hover, #fff3d0)}.rpp-device-picker__info{min-width:0;flex:1}.rpp-device-picker__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.rpp-device-picker__meta{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:2px}.rpp-device-picker__assigned-to{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:2px;font-size:var(--font-size-xs);color:var(--color-warning-text, #92600a);font-weight:var(--font-weight-medium)}.rpp-device-picker__btn{display:inline-flex;align-items:center;gap:var(--space-1);white-space:nowrap;border-radius:var(--radius-md);padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border:none;cursor:pointer;transition:background var(--transition-fast);flex-shrink:0}.rpp-device-picker__btn--assign{color:var(--color-primary);background:var(--color-primary-light, rgba(0, 129, 199, .08))}.rpp-device-picker__btn--assign:hover{background:#0081c726}.rpp-device-picker__btn--reassign{color:var(--color-warning-text, #92600a);background:var(--color-warning-bg, #fff8e6);border:1px solid var(--color-warning-border, #f0c674)}.rpp-device-picker__btn--reassign:hover{background:var(--color-warning-bg-hover, #fff3d0)}.rpp-device-picker__btn:disabled{opacity:.5;cursor:not-allowed}.rpp-reassign-confirm{border-radius:var(--radius-lg);border:1px solid var(--color-warning-border, #f0c674);background:var(--color-warning-bg, #fff8e6);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3)}.rpp-reassign-confirm__message{display:flex;gap:var(--space-2);align-items:flex-start}.rpp-reassign-confirm__icon{flex-shrink:0;width:20px;height:20px;color:var(--color-warning-text, #92600a);margin-top:1px}.rpp-reassign-confirm__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-warning-text, #92600a);margin:0 0 2px}.rpp-reassign-confirm__detail{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.4;margin:0}.rpp-reassign-confirm__actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-3)}.rpp-wellness-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media(max-width:768px){.rpp-wellness-grid{grid-template-columns:1fr}}.rpp-careflow-item{display:flex;gap:var(--space-2);padding:var(--space-2) 0;align-items:baseline}.rpp-careflow-name{min-width:175px;max-width:175px;font-size:var(--font-size-sm);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rpp-careflow-time{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.rpp-careflow-type{display:inline-flex;align-items:center;padding:1px var(--space-2);border-radius:var(--radius-full, 9999px);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:var(--color-bg-secondary, #f8f9fa);color:var(--color-text-tertiary)}.rpp-lifecycle-actions{display:flex;gap:var(--space-2);align-items:center}.rpp-photo-preview{display:flex;justify-content:center;padding:var(--space-3)}.rpp-photo-preview img{max-width:250px;max-height:250px;border-radius:var(--radius-lg);object-fit:cover}.rpp-file-input-label{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:2px dashed var(--color-border);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:border-color var(--transition-fast),background var(--transition-fast);width:100%;justify-content:center}.rpp-file-input-label:hover{border-color:var(--color-primary, #0081C7);background:var(--color-primary-bg, #e8f4fd)}.rpp-file-input-hidden{display:none}.mapbox-gl-draw_ctrl-bottom-left,.mapbox-gl-draw_ctrl-top-left{margin-left:0;border-radius:0 4px 4px 0}.mapbox-gl-draw_ctrl-top-right,.mapbox-gl-draw_ctrl-bottom-right{margin-right:0;border-radius:4px 0 0 4px}.mapbox-gl-draw_ctrl-draw-btn{border-color:#000000e6;color:#ffffff80;width:30px;height:30px}.mapbox-gl-draw_ctrl-draw-btn.active,.mapbox-gl-draw_ctrl-draw-btn.active:hover{background-color:#0000000d}.mapbox-gl-draw_ctrl-draw-btn{background-repeat:no-repeat;background-position:center}.mapbox-gl-draw_point{background-image:url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="m10 2c-3.3 0-6 2.7-6 6s6 9 6 9 6-5.7 6-9-2.7-6-6-6zm0 2c2.1 0 3.8 1.7 3.8 3.8 0 1.5-1.8 3.9-2.9 5.2h-1.7c-1.1-1.4-2.9-3.8-2.9-5.2-.1-2.1 1.6-3.8 3.7-3.8z"/>%3C/svg>')}.mapbox-gl-draw_polygon{background-image:url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="m15 12.3v-4.6c.6-.3 1-1 1-1.7 0-1.1-.9-2-2-2-.7 0-1.4.4-1.7 1h-4.6c-.3-.6-1-1-1.7-1-1.1 0-2 .9-2 2 0 .7.4 1.4 1 1.7v4.6c-.6.3-1 1-1 1.7 0 1.1.9 2 2 2 .7 0 1.4-.4 1.7-1h4.6c.3.6 1 1 1.7 1 1.1 0 2-.9 2-2 0-.7-.4-1.4-1-1.7zm-8-.3v-4l1-1h4l1 1v4l-1 1h-4z"/>%3C/svg>')}.mapbox-gl-draw_line{background-image:url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="m13.5 3.5c-1.4 0-2.5 1.1-2.5 2.5 0 .3 0 .6.2.9l-3.8 3.8c-.3-.1-.6-.2-.9-.2-1.4 0-2.5 1.1-2.5 2.5s1.1 2.5 2.5 2.5 2.5-1.1 2.5-2.5c0-.3 0-.6-.2-.9l3.8-3.8c.3.1.6.2.9.2 1.4 0 2.5-1.1 2.5-2.5s-1.1-2.5-2.5-2.5z"/>%3C/svg>')}.mapbox-gl-draw_trash{background-image:url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="M10,3.4 c-0.8,0-1.5,0.5-1.8,1.2H5l-1,1v1h12v-1l-1-1h-3.2C11.5,3.9,10.8,3.4,10,3.4z M5,8v7c0,1,1,2,2,2h6c1,0,2-1,2-2V8h-2v5.5h-1.5V8h-3 v5.5H7V8H5z"/>%3C/svg>')}.mapbox-gl-draw_uncombine{background-image:url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="m12 2c-.3 0-.5.1-.7.3l-1 1c-.4.4-.4 1 0 1.4l1 1c.4.4 1 .4 1.4 0l1-1c.4-.4.4-1 0-1.4l-1-1c-.2-.2-.4-.3-.7-.3zm4 4c-.3 0-.5.1-.7.3l-1 1c-.4.4-.4 1 0 1.4l1 1c.4.4 1 .4 1.4 0l1-1c.4-.4.4-1 0-1.4l-1-1c-.2-.2-.4-.3-.7-.3zm-7 1c-1 0-1 1-.5 1.5.3.3 1 1 1 1l-1 1s-.5.5 0 1 1 0 1 0l1-1 1 1c.5.5 1.5.5 1.5-.5v-4zm-5 3c-.3 0-.5.1-.7.3l-1 1c-.4.4-.4 1 0 1.4l4.9 4.9c.4.4 1 .4 1.4 0l1-1c.4-.4.4-1 0-1.4l-4.9-4.9c-.1-.2-.4-.3-.7-.3z"/>%3C/svg>')}.mapbox-gl-draw_combine{background-image:url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="M12.1,2c-0.3,0-0.5,0.1-0.7,0.3l-1,1c-0.4,0.4-0.4,1,0,1.4l4.9,4.9c0.4,0.4,1,0.4,1.4,0l1-1 c0.4-0.4,0.4-1,0-1.4l-4.9-4.9C12.6,2.1,12.3,2,12.1,2z M8,8C7,8,7,9,7.5,9.5c0.3,0.3,1,1,1,1l-1,1c0,0-0.5,0.5,0,1s1,0,1,0l1-1l1,1 C11,13,12,13,12,12V8H8z M4,10c-0.3,0-0.5,0.1-0.7,0.3l-1,1c-0.4,0.4-0.4,1,0,1.4l1,1c0.4,0.4,1,0.4,1.4,0l1-1c0.4-0.4,0.4-1,0-1.4 l-1-1C4.5,10.1,4.3,10,4,10z M8,14c-0.3,0-0.5,0.1-0.7,0.3l-1,1c-0.4,0.4-0.4,1,0,1.4l1,1c0.4,0.4,1,0.4,1.4,0l1-1 c0.4-0.4,0.4-1,0-1.4l-1-1C8.5,14.1,8.3,14,8,14z"/>%3C/svg>')}.mapboxgl-map.mouse-pointer .mapboxgl-canvas-container.mapboxgl-interactive{cursor:pointer}.mapboxgl-map.mouse-move .mapboxgl-canvas-container.mapboxgl-interactive{cursor:move}.mapboxgl-map.mouse-add .mapboxgl-canvas-container.mapboxgl-interactive{cursor:crosshair}.mapboxgl-map.mouse-move.mode-direct_select .mapboxgl-canvas-container.mapboxgl-interactive{cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}.mapboxgl-map.mode-direct_select.feature-vertex.mouse-move .mapboxgl-canvas-container.mapboxgl-interactive{cursor:move}.mapboxgl-map.mode-direct_select.feature-midpoint.mouse-pointer .mapboxgl-canvas-container.mapboxgl-interactive{cursor:cell}.mapboxgl-map.mode-direct_select.feature-feature.mouse-move .mapboxgl-canvas-container.mapboxgl-interactive{cursor:move}.mapboxgl-map.mode-static.mouse-pointer .mapboxgl-canvas-container.mapboxgl-interactive{cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}.mapbox-gl-draw_boxselect{pointer-events:none;position:absolute;top:0;left:0;width:0;height:0;background:#0000001a;border:2px dotted #fff;opacity:.5}.crpp-campuses-list{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2)}.crpp-campus-chip{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-full, 9999px);background:var(--color-primary-bg, #e8f4fd);font-size:var(--font-size-sm);color:var(--color-primary, #0081C7);text-decoration:none;transition:background var(--transition-fast)}.crpp-campus-chip:hover{background:var(--color-primary-bg-hover, #d0eafb);text-decoration:none}.crpp-header-actions{display:flex;gap:.5rem;align-items:center}.crpp-drawer-tabs{display:flex;border-bottom:1px solid var(--color-border)}.crpp-drawer-tab{flex:1;padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center;color:var(--color-text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--transition-fast)}.crpp-drawer-tab:hover{color:var(--color-text-primary)}.crpp-drawer-tab.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.crpp-drawer-address-row{display:flex;gap:.75rem;align-items:flex-start}.crpp-impersonate-dialog{position:relative;background:var(--color-bg-primary, #fff);border-radius:var(--radius-lg, .75rem);box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04));padding:1.5rem;width:100%;max-width:400px;margin:auto}.crpp-impersonate-dialog__title{font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #111827);margin:0 0 .5rem}.crpp-impersonate-dialog__corp{font-size:var(--font-size-sm, .875rem);color:var(--color-text-primary, #111827);font-weight:var(--font-weight-medium, 500);margin:0 0 1rem}.crpp-impersonate-dialog__campuses{font-weight:var(--font-weight-normal, 400);color:var(--color-text-secondary, #6b7280)}.crpp-impersonate-dialog__actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.pp-profile-banner{flex-shrink:0;display:flex;align-items:center;gap:var(--space-10);padding:var(--space-4) var(--space-6);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.pp-profile-banner__identity{display:flex;align-items:center;gap:var(--space-3);min-width:0}.pp-profile-banner__name{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-heading);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-profile-banner__subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0;font-family:monospace}.pp-profile-banner__status{display:inline-flex;align-items:center;gap:var(--space-1-5);border-radius:var(--radius-full);padding:2px var(--space-2-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.pp-profile-banner__status--online{background:var(--color-success-bg);color:var(--color-success-text)}.pp-profile-banner__status--offline{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.pp-profile-banner__status--unknown{background:#fef9ee;color:#92600a}.pp-profile-banner__status-dot{display:inline-block;width:6px;height:6px;border-radius:var(--radius-full)}.pp-profile-banner__status--online .pp-profile-banner__status-dot{background:var(--color-success)}.pp-profile-banner__status--offline .pp-profile-banner__status-dot{background:var(--color-text-tertiary)}.pp-profile-banner__status--unknown .pp-profile-banner__status-dot{background:#d9a406}.pp-profile-banner__meta{display:grid;grid-template-columns:repeat(3,auto);gap:var(--space-1) var(--space-6);flex:1;min-width:0}.pp-profile-banner__meta-item{display:flex;flex-direction:column;gap:1px;min-width:0}.pp-profile-banner__meta-label{font-size:.65rem;font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.pp-profile-banner__meta-value{font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-profile-banner__actions{flex-shrink:0;display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.pp-tab-bar{flex-shrink:0;display:flex;gap:0;padding:0 var(--space-6);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.pp-tab{flex:0 0 auto;padding:var(--space-3) var(--space-5);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.pp-tab:hover{color:var(--color-text-primary)}.pp-tab.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.pp-section{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.pp-section__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.pp-section__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0}.pp-section__count{font-weight:var(--font-weight-normal);font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-left:var(--space-2)}.pp-section__actions{display:flex;align-items:center;gap:var(--space-2)}.pp-section__body{padding:var(--space-4)}.pp-section__body--flush{padding:0}.pp-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-6)}.pp-field-grid--3col{grid-template-columns:1fr 1fr 1fr}.pp-field{display:flex;flex-direction:column;gap:2px}.pp-field__label{font-size:.7rem;font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em}.pp-field__value{font-size:var(--font-size-sm);color:var(--color-text-primary)}.pp-field__value--link{color:var(--color-primary);cursor:pointer;text-decoration:none}.pp-field__value--link:hover{text-decoration:underline}.pp-field__value--muted{color:var(--color-text-tertiary)}.pp-field__value--mono{font-family:monospace}.pp-subtab-toggle{display:inline-flex;align-items:center;border-radius:var(--radius-lg);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);overflow:hidden;box-shadow:var(--shadow-xs);margin-bottom:var(--space-4)}.pp-subtab-btn{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast)}.pp-subtab-btn:hover:not(.is-active){background:var(--color-bg-hover)}.pp-subtab-btn.is-active{background:var(--color-primary);color:var(--color-text-on-primary)}.dp-drawer--wide{width:540px}.pp-drawer-section{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);padding-bottom:var(--space-1);border-bottom:1px solid var(--color-border-light);margin-bottom:var(--space-1)}.pp-drawer-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-3)}.pp-drawer-grid--full{grid-column:1 / -1}.sp-validation{margin-bottom:var(--space-4)}.sp-validation__bar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.sp-validation__badge{display:inline-flex;align-items:center;gap:var(--space-1-5);border-radius:var(--radius-full);padding:2px var(--space-2-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.sp-validation__badge--exists{background:var(--color-success-bg);color:var(--color-success-text)}.sp-validation__badge--missing{background:var(--color-danger-bg, #fef2f2);color:var(--color-danger, #ef4444)}.sp-validation__results{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);background:var(--color-bg-tertiary);margin-top:var(--space-3)}.sp-validation__results-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0 0 var(--space-2)}.sp-validation__results-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-1)}.sp-validation__results-item{font-size:var(--font-size-sm);color:var(--color-text-primary);padding:var(--space-1) 0}.sp-validation__results-item--missing{color:var(--color-danger, #ef4444)}.sp-validation__results-item--extra{color:#92600a}.pp-clickable-row{cursor:pointer}.pp-clickable-row:hover{background:var(--color-bg-hover, #f9fafb)}.pp-dialog-backdrop{position:fixed;inset:0;z-index:var(--z-modal-bg);background:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center}.pp-dialog{position:relative;background:var(--color-bg-primary, #fff);border-radius:var(--radius-lg, .75rem);box-shadow:var(--shadow-xl);width:100%;max-width:480px;margin:auto;max-height:90vh;display:flex;flex-direction:column}.pp-dialog--wide{max-width:640px}.pp-dialog__header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border, #e5e7eb);flex-shrink:0}.pp-dialog__title{font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #111827);margin:0}.pp-dialog__body{padding:1.25rem 1.5rem;overflow-y:auto;flex:1 1 auto}.pp-dialog__text{font-size:var(--font-size-sm, .875rem);color:var(--color-text-primary, #111827);line-height:1.6;margin:0}.pp-dialog__footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border, #e5e7eb);flex-shrink:0}.pp-tab-content{flex:1;overflow-y:auto;padding:var(--space-5) var(--space-6)}.pp-profile-banner--loading .pp-profile-banner__name,.pp-profile-banner--loading .pp-profile-banner__subtitle,.pp-profile-banner--loading .pp-profile-banner__meta-value{background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-shine) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:dp-shimmer 1.5s ease-in-out infinite;color:transparent;border-radius:var(--radius-sm);min-width:60px;display:inline-block}.cpp-header-actions{display:flex;gap:.5rem;align-items:center}.cpp-drawer-address-row{display:flex;gap:.75rem;align-items:flex-start}.cpp-impersonate-dialog{position:relative;background:var(--color-bg-primary, #fff);border-radius:var(--radius-lg, .75rem);box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04));padding:1.5rem;width:100%;max-width:400px;margin:auto}.cpp-impersonate-dialog__title{font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #111827);margin:0 0 .5rem}.cpp-impersonate-dialog__campus{font-size:var(--font-size-sm, .875rem);color:var(--color-text-primary, #111827);font-weight:var(--font-weight-medium, 500);margin:0 0 1rem}.cpp-impersonate-dialog__actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.cpp-toggle-group{padding:0}.cpp-toggle-row{display:flex;align-items:flex-start;justify-content:space-between;padding:.75rem 1.25rem;border-bottom:1px solid var(--color-border-light, #f0f0f0)}.cpp-toggle-row:last-child{border-bottom:none}.cpp-toggle-row--child{padding-left:2.5rem;background:var(--color-bg-secondary, #fafbfc)}.cpp-toggle-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.cpp-toggle-label{font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary, #111827)}.cpp-toggle-description{font-size:var(--font-size-xs, .75rem);color:var(--color-text-tertiary, #9ca3af);line-height:1.4}.cpp-toggle-switch{position:relative;width:36px;min-width:36px;height:20px;min-height:20px;max-height:20px;flex:0 0 36px;align-self:flex-start;margin-left:1rem;margin-top:2px;-webkit-appearance:none;appearance:none;background:var(--color-bg-tertiary, #d1d5db);border-radius:9999px;border:none;cursor:pointer;transition:background .2s ease;outline:none}.cpp-toggle-switch:checked{background:var(--color-primary, #2563eb)}.cpp-toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:9999px;background:#fff;box-shadow:0 1px 2px #00000026;transition:transform .2s ease}.cpp-toggle-switch:checked:after{transform:translate(16px)}.cpp-toggle-switch:disabled{opacity:.4;cursor:not-allowed}.cpp-toggle-switch:focus-visible{box-shadow:0 0 0 2px var(--color-primary-light, #93c5fd)}@media(max-width:768px){.cpp-toggle-switch{min-height:20px!important;max-height:20px!important;height:20px!important}}.cpp-int-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:var(--radius-md, .5rem);font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-semibold, 600);white-space:nowrap}.cpp-int-badge--active{background:var(--color-primary, #2563eb);color:#fff}.cpp-int-badge--available{background:var(--color-bg-tertiary, #e5e7eb);color:var(--color-text-secondary, #6b7280)}.cpp-int-card{display:flex;align-items:flex-start;gap:1.25rem;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border-light, #f0f0f0)}.cpp-int-card:last-child{border-bottom:none}.cpp-int-card__logo-col{flex:0 0 140px;display:flex;align-items:center;justify-content:center;min-height:40px}.cpp-int-card__logo{max-width:120px;max-height:36px;object-fit:contain}.cpp-int-card__name-link{font-size:var(--font-size-base, 1rem);font-weight:var(--font-weight-bold, 700);color:var(--color-primary, #2563eb);text-decoration:none}.cpp-int-card__name-link:hover{text-decoration:underline}.cpp-int-card__name-text{font-size:var(--font-size-base, 1rem);font-weight:var(--font-weight-bold, 700);color:var(--color-text-primary, #111827)}.cpp-int-card__details{flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem}.cpp-int-card__field-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.cpp-int-card__field-label{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:var(--radius-sm, .25rem);background:var(--color-bg-secondary, #f3f4f6);color:var(--color-text-secondary, #6b7280);font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-medium, 500);white-space:nowrap}.cpp-int-card__field-value{display:inline-flex;align-items:center;gap:.375rem;font-size:var(--font-size-sm, .875rem);color:var(--color-text-primary, #111827);word-break:break-all}.cpp-credential-text{font-family:var(--font-mono, "SF Mono", "Cascadia Code", "Consolas", monospace);cursor:pointer;-webkit-user-select:none;user-select:none}.cpp-reveal-btn{padding:.125rem!important;min-height:auto!important}.cpp-int-status{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:var(--radius-sm, .25rem);font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-semibold, 600)}.cpp-int-status--active{background:var(--color-success-bg, #dcfce7);color:var(--color-success, #16a34a)}.cpp-int-status--inactive{background:var(--color-warning-bg, #fef9c3);color:var(--color-warning, #ca8a04)}.cpp-int-card__actions{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;margin-left:auto}.cpp-int-template-group{display:flex;align-items:center}.cpp-int-template-btns{display:flex;gap:.375rem}.cpp-int-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem}.cpp-int-empty__icon{width:3rem;height:3rem;margin-bottom:.75rem}.cpp-int-empty__title{margin:0;font-size:var(--font-size-sm, .875rem);color:var(--color-text-tertiary, #9ca3af);font-weight:var(--font-weight-medium, 500)}.cpp-int-empty__subtitle{margin:.25rem 0 0;font-size:var(--font-size-xs, .75rem);color:var(--color-text-tertiary, #9ca3af)}.cpp-int-card__actions .dp-btn{justify-content:center}.cpp-mig-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;margin-left:.375rem;border-radius:9999px;font-size:var(--font-size-2xs, .65rem);font-weight:var(--font-weight-bold, 700);line-height:1;background:#ffffff40;color:inherit}.pp-subtab-btn:not(.is-active) .cpp-mig-badge{background:var(--color-primary, #2563eb);color:#fff}.cpp-map-container{height:500px;border-radius:var(--radius-lg, .75rem);overflow:hidden}.gft-layout{display:flex;min-height:650px;border-radius:var(--radius-lg, .75rem);overflow:hidden}.gft-sidebar{flex:0 0 280px;padding:var(--space-4, 1rem);background:var(--color-bg-secondary, #f9fafb);border-right:1px solid var(--color-border-light, #e5e7eb);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4, 1rem)}.gft-sidebar__title{font-size:var(--font-size-base, 1rem);font-weight:var(--font-weight-bold, 700);color:var(--color-text-primary, #111827);margin:0;padding-bottom:var(--space-3, .75rem);border-bottom:1px solid var(--color-border-light, #e5e7eb)}.gft-group{display:flex;flex-direction:column;gap:var(--space-2, .5rem)}.gft-section-label{font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.03em;margin:0}.gft-search-row{display:flex;gap:var(--space-2, .5rem)}.gft-search-row .dp-drawer__input{flex:1;min-width:0}.gft-error{color:var(--color-danger, #dc2626);font-size:var(--font-size-xs, .75rem)}.gft-btn-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2, .5rem)}.gft-footer-actions{display:flex;gap:var(--space-2, .5rem);flex-wrap:wrap;padding-top:var(--space-3, .75rem);border-top:1px solid var(--color-border-light, #e5e7eb);margin-top:auto}.gft-help-panel{background:var(--color-bg-primary, #fff);border-radius:var(--radius-md, .5rem);padding:var(--space-4, 1rem);border:1px solid var(--color-border-light, #e5e7eb)}.gft-help-panel p{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6b7280);margin-bottom:var(--space-2, .5rem);line-height:1.5}.gft-map{flex:1;min-height:650px;z-index:0}@media(max-width:768px){.cpp-int-card{flex-direction:column;gap:.75rem}.cpp-int-card__logo-col{flex:none;justify-content:flex-start}.cpp-int-card__actions{flex-direction:row;flex-wrap:wrap;margin-left:0;align-items:flex-start}.cpp-map-container{height:350px}.gft-layout{flex-direction:column}.gft-sidebar{flex:none;border-right:none;border-bottom:1px solid var(--color-border-light, #e5e7eb)}.gft-map{min-height:400px}}.cp-stacked-cell{display:flex;flex-direction:column;gap:.125rem;line-height:1.3}.cp-drawer-tabs{display:flex;border-bottom:1px solid var(--color-border)}.cp-drawer-tab{flex:1;padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center;color:var(--color-text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--transition-fast)}.cp-drawer-tab:hover{color:var(--color-text-primary)}.cp-drawer-tab.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.cp-drawer-address-row{display:flex;gap:.75rem;align-items:flex-start}.cp-impersonate-dialog{position:relative;background:var(--color-bg-primary, #fff);border-radius:var(--radius-lg, .75rem);box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04));padding:1.5rem;width:100%;max-width:400px;margin:auto}.cp-impersonate-dialog__title{font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #111827);margin:0 0 .5rem}.cp-impersonate-dialog__campus{font-size:var(--font-size-sm, .875rem);color:var(--color-text-primary, #111827);font-weight:var(--font-weight-medium, 500);margin:0 0 1rem}.cp-impersonate-dialog__corp{font-weight:var(--font-weight-normal, 400);color:var(--color-text-secondary, #6b7280)}.cp-impersonate-dialog__actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.crp-campuses-cell{display:block;max-width:28rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crp-drawer-tabs{display:flex;border-bottom:1px solid var(--color-border)}.crp-drawer-tab{flex:1;padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center;color:var(--color-text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--transition-fast)}.crp-drawer-tab:hover{color:var(--color-text-primary)}.crp-drawer-tab.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.crp-drawer-address-row{display:flex;gap:.75rem;align-items:flex-start}.crp-impersonate-dialog{position:relative;background:var(--color-bg-primary, #fff);border-radius:var(--radius-lg, .75rem);box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04));padding:1.5rem;width:100%;max-width:400px;margin:auto}.crp-impersonate-dialog__title{font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #111827);margin:0 0 .5rem}.crp-impersonate-dialog__corp{font-size:var(--font-size-sm, .875rem);color:var(--color-text-primary, #111827);font-weight:var(--font-weight-medium, 500);margin:0 0 1rem}.crp-impersonate-dialog__campuses{font-weight:var(--font-weight-normal, 400);color:var(--color-text-secondary, #6b7280)}.crp-impersonate-dialog__actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}@keyframes dp-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes dp-spin{to{transform:rotate(360deg)}}@keyframes dp-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dp-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.dp-icon-xs{width:.75rem;height:.75rem}.dp-icon-sm{width:.875rem;height:.875rem}.dp-icon-md{width:1rem;height:1rem}.dp-icon-lg{width:1.25rem;height:1.25rem}.dp-icon-xl{width:2rem;height:2rem}.dp-checkbox{width:1rem;height:1rem;border-radius:var(--radius-sm);accent-color:var(--color-primary);cursor:pointer}.dp-checkbox:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.dp-checkbox:disabled{opacity:.5}.dp-page{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--color-bg-primary)}.dp-toast{position:fixed;top:var(--space-4);left:50%;transform:translate(-50%);z-index:9999;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-lg);animation:dp-toast-slide-in .3s ease-out;max-width:420px}@keyframes dp-toast-slide-in{0%{opacity:0;transform:translateY(-10px) translate(-50%)}to{opacity:1;transform:translateY(0) translate(-50%)}}.dp-toast--success{background:var(--color-success-bg, #ecfdf5);color:var(--color-success-text, #065f46);border:1px solid var(--color-success-border, #a7f3d0)}.dp-toast--error{background:var(--color-danger-bg, #fef2f2);color:var(--color-danger, #dc2626);border:1px solid var(--color-danger-border, #fecaca)}.dp-toast__close{margin-left:auto;flex-shrink:0;background:none;border:none;cursor:pointer;color:inherit;opacity:.6;padding:var(--space-1);border-radius:var(--radius-sm);transition:opacity var(--transition-fast)}.dp-toast__close:hover{opacity:1}.dp-page-header{flex-shrink:0;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.dp-page-header__inner{max-width:100%;margin:0 auto;padding:var(--space-4) var(--space-6)}.dp-breadcrumb-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.dp-breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm)}.dp-breadcrumb__text,.dp-breadcrumb__separator{color:var(--color-text-tertiary)}.dp-breadcrumb__current{color:var(--color-text-heading);font-weight:var(--font-weight-medium)}.dp-campus-row{display:flex;align-items:center;gap:var(--space-2)}.dp-campus-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.dp-campus-select{border-radius:var(--radius-lg);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);box-shadow:var(--shadow-xs)}.dp-campus-select:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.dp-campus-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading)}.dp-page-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-heading);margin:0}.dp-tab-bar{flex-shrink:0;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.dp-tab-bar__inner{max-width:100%;margin:0 auto;padding:0 var(--space-6)}.dp-tab-nav{display:flex;gap:var(--space-6);list-style:none;padding:0;margin:0}.dp-tab{position:relative;padding:var(--space-3) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-decoration:none;background:none;border:none;cursor:pointer;transition:color var(--transition-fast)}.dp-tab:hover{color:var(--color-text-primary)}.dp-tab.is-active{color:var(--color-primary)}.dp-tab__indicator{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-primary);border-radius:1px 1px 0 0}.dp-content{display:flex;flex-direction:column;flex:1;min-height:0;max-width:100%;margin:0 auto;padding:var(--space-5) var(--space-6) 0}.dp-controls{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.dp-controls__left{display:flex;align-items:center;gap:var(--space-3)}.dp-controls__right{display:flex;align-items:center;gap:var(--space-2)}.dp-search{position:relative}.dp-search__icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.dp-search__input{width:18rem;border-radius:var(--radius-lg);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);padding:var(--space-2) var(--space-3) var(--space-2) 2.25rem;font-size:var(--font-size-sm);color:var(--color-text-primary);box-shadow:var(--shadow-xs)}.dp-search__input::placeholder{color:var(--color-text-tertiary)}.dp-search__input:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.dp-btn{display:inline-flex;align-items:center;gap:var(--space-1-5);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.dp-btn--secondary{border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);color:var(--color-text-primary);padding:var(--space-2) var(--space-3);box-shadow:var(--shadow-xs)}.dp-btn--secondary:hover{background:var(--color-bg-hover)}.dp-btn--primary{border:none;background:var(--color-primary);color:var(--color-text-on-primary);padding:var(--space-2) var(--space-4);box-shadow:var(--shadow-xs);font-weight:var(--font-weight-semibold)}.dp-btn--primary:hover{background:var(--color-primary-hover)}.dp-btn--primary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.dp-btn--cancel{border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);color:var(--color-text-primary);padding:var(--space-2-5) var(--space-4);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-xs)}.dp-btn--cancel:hover{background:var(--color-bg-hover)}.dp-btn--danger{border:none;background:var(--color-danger);color:#fff;padding:var(--space-2) var(--space-4);font-weight:var(--font-weight-semibold)}.dp-btn--danger:hover{background:#b91c1c}.dp-btn--danger-solid{background:var(--color-danger);color:#fff;border:none}.dp-btn--danger-solid:hover{background:var(--color-danger-hover)}.dp-btn--sm{padding:var(--space-1-5) var(--space-3);font-size:var(--font-size-xs)}.dp-btn:disabled,.dp-btn[disabled]{opacity:.5;cursor:not-allowed}.dp-table-wrap{flex:1;min-height:0;overflow:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg-secondary)}.dp-table{width:100%;min-width:100%;border-collapse:separate;border-spacing:0}.dp-thead{position:sticky;top:0;z-index:10;background:var(--color-bg-tertiary)}.dp-th{padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.dp-th--checkbox{width:2.5rem;padding:var(--space-3)}.dp-th--actions{width:3rem;padding:var(--space-3)}.dp-th__content{display:flex;align-items:center}.dp-th__sort-btn{display:flex;align-items:center;gap:2px;background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;transition:color var(--transition-fast)}.dp-th__sort-btn:hover{color:var(--color-text-primary)}.dp-sort-icon{margin-left:var(--space-1)}.dp-sort-icon--neutral{color:var(--color-text-tertiary)}.dp-sort-icon--active{color:var(--color-primary)}.dp-tbody .dp-tr{transition:background-color var(--transition-fast)}.dp-tbody .dp-tr+.dp-tr{border-top:1px solid var(--color-border-light)}.dp-tbody .dp-tr:hover{background:var(--color-bg-hover)}.dp-tbody .dp-tr.is-selected{background:var(--color-primary-light)}.dp-td{padding:var(--space-2-5) var(--space-4);white-space:nowrap;font-size:var(--font-size-sm);color:var(--color-text-primary)}.dp-td--checkbox{width:2.5rem;padding:var(--space-2-5) var(--space-3)}.dp-td--actions{width:3rem;padding:var(--space-2-5) var(--space-3)}.dp-cell-text{font-size:var(--font-size-sm);color:var(--color-text-primary)}.dp-cell-text--muted{color:var(--color-text-tertiary)}.dp-cell-text--secondary{color:var(--color-text-secondary)}.dp-cell-text--link{color:var(--color-primary);font-weight:var(--font-weight-medium)}.dp-cell-text--nowrap{white-space:nowrap}.dp-cell-text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px;display:block}.dp-row-actions{position:relative}.dp-row-actions__trigger{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:var(--radius-md);color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast);font-size:16px;line-height:1}.dp-row-actions__trigger:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.dp-row-actions__menu{position:absolute;right:0;z-index:var(--z-popover);margin-top:var(--space-1);width:11rem;border-radius:var(--radius-lg);background:var(--color-bg-secondary);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);overflow:hidden}.dp-row-actions__item{display:flex;width:100%;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-primary);background:transparent;border:none;cursor:pointer;transition:background-color var(--transition-fast)}.dp-row-actions__item:hover{background:var(--color-bg-hover)}.dp-row-actions__item--danger{color:var(--color-danger)}.dp-row-actions__item--danger:hover{background:var(--color-danger-bg)}.dp-row-actions__item-icon{color:var(--color-text-tertiary)}.dp-bulk-bar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-lg);background:var(--color-primary);padding:var(--space-2-5) var(--space-4);margin-bottom:var(--space-3);box-shadow:var(--shadow-sm);animation:dp-slide-down .15s ease-out}.dp-bulk-bar__left{display:flex;align-items:center;gap:var(--space-3)}.dp-bulk-bar__count{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-on-primary)}.dp-bulk-bar__deselect{font-size:var(--font-size-xs);color:#ffffffb3;background:none;border:none;cursor:pointer;text-decoration:underline;transition:color var(--transition-fast)}.dp-bulk-bar__deselect:hover{color:var(--color-text-on-primary)}.dp-bulk-bar__right{display:flex;align-items:center;gap:var(--space-2)}.dp-bulk-btn{display:inline-flex;align-items:center;gap:var(--space-1-5);border-radius:var(--radius-md);background:#ffffff26;padding:var(--space-1-5) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-on-primary);border:none;cursor:pointer;transition:background-color var(--transition-fast)}.dp-bulk-btn:hover{background:#ffffff40}.dp-bulk-btn--danger{background:#ff505040;color:#ffc9c9}.dp-bulk-btn--danger:hover{background:#ff505066;color:#fff}.dp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-4);text-align:center}.dp-empty__icon-wrap{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:var(--radius-full);background:var(--color-bg-tertiary);margin-bottom:var(--space-4)}.dp-empty__icon{color:var(--color-text-tertiary)}.dp-empty__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0 0 var(--space-1)}.dp-empty__text{font-size:var(--font-size-sm);color:var(--color-text-secondary);max-width:24rem;margin-bottom:var(--space-6)}.dp-skeleton-wrap{overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.dp-skeleton-table{width:100%;min-width:100%;border-collapse:separate;border-spacing:0}.dp-skeleton-thead tr{background:var(--color-bg-tertiary)}.dp-skeleton-th{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border)}.dp-skeleton-block{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-shine) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:dp-shimmer 1.5s ease-in-out infinite}.dp-skeleton-block--header{background:linear-gradient(90deg,var(--skeleton-header-base) 25%,var(--skeleton-header-shine) 50%,var(--skeleton-header-base) 75%);background-size:200% 100%;animation:dp-shimmer 1.5s ease-in-out infinite}.dp-skeleton-td{padding:var(--space-3) var(--space-4)}.dp-skeleton-tbody .dp-skeleton-row+.dp-skeleton-row{border-top:1px solid var(--color-border-light)}.dp-skeleton-groups{display:flex;gap:var(--space-1)}.dp-spinner{animation:dp-spin 1s linear infinite}.dp-saving-text{display:flex;align-items:center;gap:var(--space-2)}.dp-pagination{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0 var(--space-3);border-top:1px solid var(--color-border)}.dp-pagination__info{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dp-pagination__emphasis{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.dp-pagination__controls{display:flex;align-items:center;gap:var(--space-3)}.dp-per-page{display:flex;align-items:center;gap:var(--space-1-5)}.dp-per-page__label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dp-per-page__select{border-radius:var(--radius-md);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary)}.dp-per-page__select:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.dp-select{height:36px;padding:0 var(--space-3);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-bg-secondary);transition:border-color .15s ease,box-shadow .15s ease;cursor:pointer}.dp-select:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 3px #2563eb26}.dp-page-nav{display:flex;align-items:center;gap:var(--space-1)}.dp-page-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-md);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.dp-page-btn:hover:not(:disabled){background:var(--color-bg-hover)}.dp-page-btn:disabled{opacity:.4;cursor:not-allowed}.dp-page-num{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.dp-page-num:hover{background:var(--color-bg-hover)}.dp-page-num.is-active{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.dp-status-icon{display:inline-flex;align-items:center;justify-content:center}.dp-status-icon--ok{color:#1abb27}.dp-status-icon--error{color:#bb271a}.dp-toggle-group{display:flex;align-items:center;border-radius:var(--radius-lg);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);overflow:hidden;box-shadow:var(--shadow-xs)}.dp-toggle-btn{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);background:transparent;border:none;cursor:pointer;transition:all var(--transition-fast)}.dp-toggle-btn:hover:not(.is-active){background:var(--color-bg-hover)}.dp-toggle-btn.is-active{background:var(--color-primary);color:var(--color-text-on-primary)}.dp-resident-list{display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:center}.dp-resident-badge{display:inline-flex;align-items:center;padding:var(--space-0-5) var(--space-2);background:var(--color-bg-tertiary);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-primary);text-decoration:none;transition:background var(--transition-fast);white-space:nowrap}.dp-resident-badge:hover{background:var(--color-primary-light);text-decoration:none}.dp-status{display:inline-flex;align-items:center;gap:var(--space-1-5);border-radius:var(--radius-full);padding:2px var(--space-2-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.dp-status--active{background:var(--color-success-bg);color:var(--color-success-text);box-shadow:inset 0 0 0 1px #00d97e33}.dp-status--warning{background:#fef9ee;color:#92600a;box-shadow:inset 0 0 0 1px #d9a40640}.dp-status--inactive{background:var(--color-bg-tertiary);color:var(--color-text-secondary);box-shadow:inset 0 0 0 1px var(--color-border-light)}.dp-status__dot{display:inline-block;width:6px;height:6px;border-radius:var(--radius-full)}.dp-status--active .dp-status__dot{background:var(--color-success)}.dp-status--warning .dp-status__dot{background:#d9a406}.dp-status--inactive .dp-status__dot{background:var(--color-text-tertiary)}.dp-device-link{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-semibold);transition:color var(--transition-fast)}.dp-device-link:hover{color:var(--color-primary-dark, var(--color-primary));text-decoration:underline}.rp-filter{position:relative;display:inline-block}.rp-filter__trigger{margin-left:var(--space-1-5);display:inline-flex;align-items:center;justify-content:center;width:1.375rem;height:1.375rem;border-radius:var(--radius-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border-light);cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-secondary);font-size:11px;line-height:1}.rp-filter__trigger:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary);border-color:var(--color-border-medium)}.rp-filter__trigger.is-active{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.rp-filter__popover{position:absolute;z-index:var(--z-popover);margin-top:var(--space-2);width:14rem;border-radius:var(--radius-lg);background:var(--color-bg-secondary);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);overflow:hidden;left:50%;transform:translate(-50%)}.rp-filter__search{padding:var(--space-2);border-bottom:1px solid var(--color-border-light)}.rp-filter__search-input{width:100%;border-radius:var(--radius-md);border:1px solid var(--color-border-light);padding:var(--space-1-5) var(--space-2-5);font-size:var(--font-size-xs);color:var(--color-text-primary);background:var(--color-bg-secondary)}.rp-filter__search-input::placeholder{color:var(--color-text-tertiary)}.rp-filter__search-input:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.rp-filter__actions{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1-5) var(--space-3);border-bottom:1px solid var(--color-border-light);background:var(--color-bg-tertiary)}.rp-filter__action-btn{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:none;border:none;cursor:pointer;transition:color var(--transition-fast)}.rp-filter__action-btn--select{color:var(--color-primary)}.rp-filter__action-btn--select:hover{color:var(--color-primary-hover)}.rp-filter__action-btn--clear{color:var(--color-text-secondary)}.rp-filter__action-btn--clear:hover{color:var(--color-text-primary)}.rp-filter__list{max-height:12rem;overflow-y:auto;padding:var(--space-1) 0}.rp-filter__option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-primary);transition:background-color var(--transition-fast)}.rp-filter__option:hover{background:var(--color-bg-hover)}.rp-filter__option-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rp-filter__empty{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-align:center;padding:var(--space-3)}.rp-checkbox{width:1rem;height:1rem;border-radius:var(--radius-sm);accent-color:var(--color-primary);cursor:pointer}.rp-active-filters{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-primary-light);border:1px solid rgba(0,129,199,.15);border-radius:var(--radius-lg);margin-bottom:var(--space-3)}.rp-active-filters__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin-right:var(--space-1)}.rp-filter-chip{display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-full);background:var(--color-bg-secondary);padding:2px var(--space-2-5);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary);border:1px solid var(--color-border-light);box-shadow:var(--shadow-xs)}.rp-filter-chip__label{color:var(--color-text-secondary)}.rp-filter-chip__remove{display:inline-flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;border-radius:var(--radius-full);background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;margin-left:2px;margin-right:-4px;transition:all var(--transition-fast);font-size:12px;line-height:1}.rp-filter-chip__remove:hover{color:var(--color-danger);background:var(--color-danger-bg)}.rp-active-filters__clear{margin-left:auto;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary);background:none;border:none;cursor:pointer;transition:color var(--transition-fast)}.rp-active-filters__clear:hover{color:var(--color-primary-hover)}.rp-col-toggle{position:relative}.rp-col-toggle__dropdown{position:absolute;right:0;z-index:var(--z-popover);margin-top:var(--space-2);width:13rem;border-radius:var(--radius-lg);background:var(--color-bg-secondary);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);overflow:hidden}.rp-col-toggle__header{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-light)}.rp-col-toggle__title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary);margin:0}.rp-col-toggle__list{padding:var(--space-1) 0;max-height:16rem;overflow-y:auto}.rp-col-toggle__option{display:flex;align-items:center;gap:var(--space-2-5);padding:var(--space-1-5) var(--space-3);font-size:var(--font-size-sm);cursor:pointer;color:var(--color-text-primary);transition:background-color var(--transition-fast)}.rp-col-toggle__option:hover{background:var(--color-bg-hover)}.rp-col-toggle__option--disabled{color:var(--color-text-tertiary);cursor:not-allowed}.rp-col-toggle__required{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-left:auto}.rp-icon-sm{width:.875rem;height:.875rem}.rp-btn{display:inline-flex;align-items:center;gap:var(--space-1-5);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.rp-btn--secondary{border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);color:var(--color-text-primary);padding:var(--space-2) var(--space-3);box-shadow:var(--shadow-xs)}.rp-btn--secondary:hover{background:var(--color-bg-hover)}@keyframes rp-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.rp-skeleton-wrap{overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--color-border)}.rp-skeleton-table{width:100%;min-width:100%;border-collapse:separate;border-spacing:0}.rp-skeleton-thead tr{background:var(--color-bg-tertiary)}.rp-skeleton-th{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-border)}.rp-skeleton-block{border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-shine) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:rp-shimmer 1.5s ease-in-out infinite}.rp-skeleton-block--header{background:linear-gradient(90deg,var(--skeleton-header-base) 25%,var(--skeleton-header-shine) 50%,var(--skeleton-header-base) 75%);background-size:200% 100%;animation:rp-shimmer 1.5s ease-in-out infinite}.rp-skeleton-td{padding:var(--space-3) var(--space-4)}.rp-skeleton-tbody .rp-skeleton-row+.rp-skeleton-row{border-top:1px solid var(--color-border-light)}.rp-skeleton-groups{display:flex;gap:var(--space-1)}.dp-drawer-backdrop{position:fixed;inset:0;z-index:var(--z-modal-bg);background:var(--color-bg-overlay);transition:opacity var(--transition-base)}.dp-drawer{position:fixed;top:0;right:0;z-index:var(--z-modal);height:100%;width:420px;max-width:90vw;background:var(--color-bg-secondary);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;transform:translate(100%);transition:transform .3s ease-in-out}.dp-drawer.is-open{transform:translate(0)}.dp-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);flex-shrink:0}.dp-drawer__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.dp-drawer__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer}.dp-drawer__close:hover{background:var(--color-hover);color:var(--color-text)}.dp-drawer__body{flex:1;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.dp-drawer__field{display:flex;flex-direction:column;gap:var(--space-1)}.dp-drawer__field--row{flex-direction:row;align-items:center;gap:var(--space-2)}.dp-drawer__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.dp-drawer__label--inline{margin:0;cursor:pointer}.dp-drawer__required{color:var(--color-danger, #dc2626)}.dp-drawer__input,.dp-drawer__select{height:38px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-surface);transition:border-color .15s ease,box-shadow .15s ease}.dp-drawer__input:focus,.dp-drawer__select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb26}.dp-drawer__input.is-invalid{border-color:var(--color-danger, #dc2626)}.dp-drawer__input.is-invalid:focus{box-shadow:0 0 0 3px #dc262626}.dp-drawer__textarea{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:inherit;color:var(--color-text);background:var(--color-surface);resize:vertical;min-height:100px;line-height:1.5;transition:border-color .15s ease,box-shadow .15s ease}.dp-drawer__textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb26}.dp-drawer__textarea::placeholder{color:var(--color-text-muted)}.dp-drawer__error{font-size:var(--font-size-xs);color:var(--color-danger, #dc2626);margin:0}.dp-drawer__footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);margin-top:auto;flex-shrink:0}@keyframes dp-fade-in{0%{opacity:0}to{opacity:1}}.ehr-tab-bar{display:flex;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-4);gap:0}.ehr-tab{flex:0 0 auto;padding:var(--space-3) var(--space-5);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.ehr-tab:hover{color:var(--color-text-primary)}.ehr-tab.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.ehr-tab__badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;margin-left:.5rem;font-size:.7rem;font-weight:var(--font-weight-semibold, 600);color:#fff;background-color:var(--color-danger, #ef4444);border-radius:9999px;line-height:1}.ehr-task-row{cursor:pointer}.ehr-task-row:hover{background:var(--color-bg-hover, #f9fafb)}.ehr-empty{display:flex;align-items:center;justify-content:center;padding:var(--space-10, 3rem) var(--space-4)}.ehr-empty__text{font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-secondary, #6b7280);margin:0}.ehr-dialog{position:relative;background:var(--color-bg-primary, #fff);border-radius:var(--radius-lg, .75rem);box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04));width:100%;max-width:480px;margin:auto;max-height:90vh;display:flex;flex-direction:column}.ehr-dialog--wide{max-width:640px}.ehr-dialog__header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border, #e5e7eb);flex-shrink:0}.ehr-dialog__title{font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #111827);margin:0}.ehr-dialog__body{padding:1.25rem 1.5rem;overflow-y:auto;flex:1 1 auto}.ehr-dialog__footer{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid var(--color-border, #e5e7eb);flex-shrink:0}.ehr-dialog__footer-left,.ehr-dialog__footer-right{display:flex;gap:.5rem}.ehr-dialog__warning{padding:.75rem 1.5rem;background:var(--color-danger-bg, #fef2f2);color:var(--color-danger, #ef4444);font-weight:var(--font-weight-semibold, 600);font-size:var(--font-size-sm, .875rem);text-align:center;border-bottom:1px solid var(--color-border, #e5e7eb)}.ehr-dialog__field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1.5rem;margin-bottom:.75rem}.ehr-dialog__field-row:first-child{grid-template-columns:1fr}.ehr-dialog__field-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1.5rem}.ehr-dialog__field{display:flex;flex-direction:column;gap:.125rem}.ehr-dialog__field-label{font-size:.7rem;font-weight:var(--font-weight-medium, 500);color:var(--color-text-tertiary, #9ca3af);text-transform:uppercase;letter-spacing:.04em}.ehr-dialog__field-value{font-size:var(--font-size-sm, .875rem);color:var(--color-text-primary, #111827)}.ehr-dialog__divider{border:0;border-top:1px solid var(--color-border, #e5e7eb);margin:1rem 0}.ehr-dialog__confirm-text{font-size:var(--font-size-sm, .875rem);color:var(--color-text-primary, #111827);line-height:1.6;margin:0}.ehr-group-picker{margin-top:.5rem}.ehr-group-picker__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.ehr-group-picker__title{font-size:var(--font-size-base, 1rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary, #111827);margin:0}.ehr-group-picker__controls{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.ehr-group-picker__toggle{display:flex;align-items:center;gap:.375rem;cursor:pointer;white-space:nowrap}.ehr-group-picker__toggle-label{font-size:var(--font-size-xs, .75rem);color:var(--color-text-secondary, #6b7280)}.ehr-group-picker__scroll{max-height:300px;overflow-y:auto;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md, .5rem)}
