@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}.pvt-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;width:75%}.pvt-tooltip{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);width:max-content;max-width:200px;padding:var(--space-2-5) var(--space-3);background:var(--color-bg-card);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:var(--font-size-xs);line-height:var(--line-height-base);z-index:var(--z-tooltip);text-align:center;animation:pvt-fade-in .3s ease-out forwards}.pvt-tooltip:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:9px solid transparent;border-top-color:var(--color-border)}.pvt-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-top-color:var(--color-bg-card)}.pvt-message{margin:0;padding-right:var(--space-4);font-weight:var(--font-weight-medium)}.pvt-dismiss{position:absolute;top:4px;right:4px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text-tertiary);font-size:14px;cursor:pointer;border-radius:var(--radius-sm);padding:0;line-height:1;transition:color var(--transition-fast),background var(--transition-fast)}.pvt-dismiss:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.pvt-glow{animation:pvt-glow-pulse 2s ease-in-out infinite;border-radius:20px}@keyframes pvt-glow-pulse{0%{box-shadow:0 0 4px 2px #0081c766}50%{box-shadow:0 0 12px 6px #00a2fa99}to{box-shadow:0 0 4px 2px #0081c766}}@keyframes pvt-fade-in{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(prefers-reduced-motion:reduce){.pvt-glow{animation:none;box-shadow:0 0 8px 4px #0081c780}.pvt-tooltip{animation:none}}.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}.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;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:1px solid var(--color-border-light)}.nav2-brand__logo{height:26px;width:auto;flex-shrink:0}.nav2-brand__text{display:flex;flex-direction:column;align-items:center;width:100%}.nav2-brand__campus{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-heading);line-height:1.3;text-align:center;word-break:break-word;display:flex;align-items:center;justify-content:center;gap:6px}.nav2-brand__campus-link{display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);border-radius:var(--radius-sm);padding:2px;flex-shrink:0;transition:color var(--transition-fast),background var(--transition-fast)}.nav2-brand__campus-link svg{width:14px;height:14px;min-width:14px;min-height:14px}.nav2-brand__campus-link:hover{color:var(--color-primary);background:var(--color-bg-hover)}.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__role{font-size:xx-small;margin-left:.15rem}.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__label{display:flex;align-items:center;gap:5px}.nav2-impersonate__icon-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-success-text);cursor:pointer;padding:0;border-radius:0;transition:opacity .15s}.nav2-impersonate__icon-btn:hover{background:none;opacity:.7}.nav2-impersonate__stop:hover{opacity:.7;background:none}.nav2-impersonate-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#0006}.nav2-impersonate-dialog{background:var(--color-bg-primary, #fff);border-radius:var(--radius-lg, .75rem);box-shadow:var(--shadow-xl);padding:1.5rem;width:100%;max-width:380px}.nav2-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}.nav2-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}.nav2-impersonate-dialog__actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.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}}.pm-page{position:relative;width:100%;height:100vh;overflow:hidden}.pm-panel{position:absolute;top:16px;right:16px;width:340px;max-height:calc(100% - 32px);background:var(--color-bg-primary, #fff);border-radius:12px;box-shadow:0 4px 24px #0000001f;z-index:10;display:flex;flex-direction:column;overflow:hidden;transition:width .2s,max-height .2s}.pm-panel--collapsed{width:auto;max-height:none}.pm-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--color-border, #e5e7eb);flex-shrink:0}.pm-panel__title{font-size:var(--font-size-base, .9375rem);font-weight:600;color:var(--color-text-primary, #111827);margin:0}.pm-panel__toggle{background:none;border:none;cursor:pointer;color:var(--color-text-secondary, #6b7280);padding:4px;border-radius:4px;transition:background .15s}.pm-panel__toggle:hover{background:var(--color-bg-secondary, #f9fafb)}.pm-panel__body{flex:1;overflow-y:auto;padding:12px 16px}.pm-panel__search{width:100%;padding:8px 12px;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;font-size:var(--font-size-sm, .875rem);margin-bottom:12px;background:var(--color-bg-secondary, #f9fafb);outline:none;transition:border-color .15s}.pm-panel__search:focus{border-color:var(--color-primary, #3b82f6)}.pm-location-empty{text-align:center;font-size:var(--font-size-sm, .875rem);color:var(--color-text-muted, #9ca3af);padding:20px 0}.pm-location{display:flex;align-items:center;justify-content:space-between;padding:10px 4px;border-bottom:1px solid var(--color-border, #e5e7eb);cursor:pointer;transition:background .1s;border-radius:4px}.pm-location:hover{background:var(--color-bg-secondary, #f9fafb)}.pm-location:last-child{border-bottom:none}.pm-location--tracked{background:#22c55e1a;border-left:3px solid var(--color-success, #22c55e);padding-left:8px}.pm-location--alerted .pm-location__name{color:var(--color-danger, #ef4444);font-weight:600}.pm-location__info{flex:1;min-width:0}.pm-location__name{font-size:var(--font-size-sm, .875rem);font-weight:500;color:var(--color-text-primary, #111827);display:flex;align-items:center;gap:6px}.pm-location__alert-badge{color:var(--color-danger, #ef4444);font-weight:700;font-size:16px}.pm-location__device{font-size:var(--font-size-xs, .75rem);color:var(--color-text-muted, #9ca3af);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pm-location__ping{flex-shrink:0;margin-left:8px}.pm-panel__footer{border-top:1px solid var(--color-border, #e5e7eb);padding:10px 16px;flex-shrink:0}.pm-tracking-counter{text-align:center;font-size:var(--font-size-xs, .75rem);color:var(--color-text-muted, #9ca3af);margin-bottom:8px}.pm-tracking-toggle{display:flex;align-items:center;justify-content:center;gap:8px}.pm-tracking-label{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6b7280)}.pm-tracking-info-btn{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-muted, #9ca3af);opacity:.6;transition:opacity var(--transition-fast, .15s) ease,color var(--transition-fast, .15s) ease;border:none;background:none;padding:0;line-height:1;outline:none}.pm-tracking-info-btn:hover,.pm-tracking-info-btn:focus-visible{opacity:1;color:var(--color-text-secondary, #6b7280)}.pm-tracking-popover{position:fixed;z-index:9999;background:var(--color-bg-surface, #fff);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0,0,0,.1));padding:var(--space-2, 8px) var(--space-3, 12px);display:flex;flex-direction:column;gap:4px}.pm-tracking-popover__title{font-size:var(--font-size-xs, .75rem);color:var(--color-text-muted, #9ca3af);font-weight:var(--font-weight-semibold, 600)}.pm-tracking-popover__text{font-size:var(--font-size-xs, .75rem);color:var(--color-text-body, #374151);line-height:1.45}.pm-campus-row{padding:0 0 12px;border-bottom:1px solid var(--color-border, #e5e7eb);margin-bottom:12px}.pm-campus-select{width:100%;padding:6px 10px;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;font-size:var(--font-size-sm, .875rem);background:var(--color-bg-secondary, #f9fafb);outline:none}.pm-campus-select:focus{border-color:var(--color-primary, #3b82f6)}.pm-popup{padding:12px 16px}.pm-popup__row{margin-bottom:8px}.pm-popup__row:last-child{margin-bottom:0}.pm-popup__label{font-size:11px;font-weight:600;color:var(--color-text-muted, #9ca3af);text-transform:uppercase;letter-spacing:.05em}.pm-popup__value{font-size:var(--font-size-sm, .875rem);font-weight:500;color:var(--color-text-primary, #111827)}.pm-popup__alert{display:inline-block;margin-top:8px;padding:2px 8px;background:var(--color-danger, #ef4444);color:#fff;font-size:11px;font-weight:600;border-radius:4px;text-transform:uppercase}@media(max-width:600px){.pm-panel{width:calc(100% - 32px);max-height:50vh}}.md-page{min-height:100vh;background:var(--color-bg-primary)}.md-content{padding:var(--space-5) var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.md-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.md-stat-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-card);text-align:center}.md-stat-card__value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-heading);margin-bottom:var(--space-1)}.md-stat-card__label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.md-two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.md-two-col>*{min-width:0}.md-two-col .dp-th,.md-two-col .dp-td{padding:var(--space-1-5) var(--space-2);font-size:var(--font-size-xs);white-space:nowrap}.md-section{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-card)}.md-section__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.md-section__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0}.md-chart-container{position:relative;width:100%;height:350px}.md-chart-container--pie{height:320px}.md-shift--day{background:#2c7be514}.md-shift--evening{background:#2c7be529}.md-shift--night{background:#2c7be547}.md-shift-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em}.md-row--low{border-left:4px solid var(--color-success-text);background:#38a1690a}.md-row--medium{border-left:4px solid var(--color-warning-text);background:#ed89360f}.md-row--high{border-left:4px solid var(--color-danger);background:#e637570f}.md-row--extreme{border-left:4px solid var(--color-danger);background:#e637571a}.md-review-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.4;white-space:nowrap}.md-review-badge--low{background:#38a1691f;color:var(--color-success-text)}.md-review-badge--medium{background:#ed893624;color:var(--color-warning-text)}.md-review-badge--high{background:#e637571f;color:var(--color-danger)}.md-review-badge--extreme{background:#e637572e;color:var(--color-danger);font-weight:var(--font-weight-bold)}.md-review--low{color:var(--color-success-text)}.md-review--medium{color:var(--color-warning-text)}.md-review--high{color:var(--color-danger)}.md-review--extreme{color:var(--color-danger);font-weight:var(--font-weight-bold)}.md-filter-list{max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-1)}.md-filter-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1-5) var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;border-radius:var(--radius-sm)}.md-filter-item:hover{background:var(--color-bg-hover)}.md-filter-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary)}.md-filter-search{width:100%;border:1px solid var(--color-border-input);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-bg-surface);margin-bottom:var(--space-3)}.md-filter-search:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 2px var(--color-primary-light)}.md-filter-actions{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.md-section .dp-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:1400px){.md-two-col{grid-template-columns:1fr}.md-section{padding:var(--space-4)}}@media(max-width:1280px){.md-two-col{gap:var(--space-4)}.md-section .dp-th,.md-section .dp-td{padding:var(--space-2) var(--space-2);font-size:var(--font-size-xs);white-space:nowrap}}@media(max-width:768px){.md-stat-row{grid-template-columns:1fr}.md-content{padding:var(--space-3);gap:var(--space-4)}.md-section{padding:var(--space-3)}.md-section__header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.md-chart-container{height:280px}.md-chart-container--pie{height:250px}}.cd-perf-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-bottom:var(--space-4)}.cd-perf-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-card)}.cd-perf-card__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-2)}.cd-perf-card__value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-heading)}.cd-perf-card__delta{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin-top:var(--space-1);padding:2px 8px;border-radius:var(--radius-full)}.cd-perf-card__delta--better{background:var(--color-success-bg);color:var(--color-success-text)}.cd-perf-card__delta--worse{background:var(--color-danger-bg);color:var(--color-danger)}.cd-perf-card__delta--equal{background:var(--color-bg-tertiary);color:var(--color-text-muted)}.cd-perf-card__avg{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.cd-radio-cell{display:flex;align-items:center;justify-content:center}.cd-radio-cell input[type=radio]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.cd-kpi-selector{display:flex;gap:var(--space-2);align-items:center}.cd-kpi-btn{padding:var(--space-1-5) var(--space-3);border:1px solid var(--color-border-input);border-radius:var(--radius-md);background:var(--color-bg-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.cd-kpi-btn.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.cd-kpi-btn:hover:not(.is-active){background:var(--color-bg-hover)}.cd-split .dp-thead .dp-th{position:sticky;top:0;z-index:2;background:var(--color-bg-tertiary)}.cd-split{display:flex;flex-direction:column;gap:var(--space-5)}@media(max-width:1400px){.cd-perf-row{grid-template-columns:1fr}}@media(max-width:768px){.cd-perf-row{grid-template-columns:1fr}}.auth-page{min-height:100vh;display:flex;flex-direction:column;font-family:var(--font-family-base);background:linear-gradient(165deg,var(--color-bg-primary) 0%,var(--color-bg-tertiary) 50%,var(--color-primary-light) 100%)}.auth-navbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-8);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-xs);position:relative;z-index:var(--z-sticky)}.auth-navbar__logo{height:28px;width:auto}.auth-navbar__links{display:flex;align-items:center;gap:var(--space-1);list-style:none;margin:0;padding:0}.auth-navbar__link{display:inline-flex;align-items:center;gap:var(--space-1-5);padding:var(--space-1-5) var(--space-3);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;transition:color var(--transition-fast),background-color var(--transition-fast)}.auth-navbar__link:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.auth-content{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4)}.auth-card{width:100%;max-width:420px;background:var(--color-bg-card);border:1px solid var(--color-border-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-10) var(--space-8);display:flex;flex-direction:column;align-items:center}.auth-card__logo{width:200px;height:auto;margin-bottom:var(--space-8)}.auth-card__icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--color-primary-light);color:var(--color-primary);margin-bottom:var(--space-4);font-size:var(--font-size-xl)}.auth-card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0 0 var(--space-3) 0}.auth-card__message{text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0 0 var(--space-6) 0}.auth-card__message strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.auth-form{width:100%;display:flex;flex-direction:column;gap:var(--space-5)}.auth-field{display:flex;flex-direction:column;gap:var(--space-1)}.auth-field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.auth-field__input{width:100%;height:var(--input-min-height);padding:0 var(--space-3);font-size:var(--font-size-sm);font-family:var(--font-family-base);color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.auth-field__input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #2c7be526}.auth-field__input::placeholder{color:var(--color-text-tertiary)}.auth-field__input-group{position:relative;display:flex;align-items:center}.auth-field__input-group .auth-field__input{padding-right:var(--space-10)}.auth-field__eye-toggle{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);background:none;border:none;padding:var(--space-1);color:var(--color-text-tertiary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:var(--font-size-base);transition:color var(--transition-fast)}.auth-field__eye-toggle:hover{color:var(--color-text-primary)}.auth-btn-primary{width:100%;height:var(--btn-min-height);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--color-primary);color:var(--color-text-on-primary);border:none;border-radius:var(--radius-lg);font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color var(--transition-fast),box-shadow var(--transition-fast)}.auth-btn-primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-sm)}.auth-btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-error{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-3);background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.4;text-align:center}.auth-link{font-size:var(--font-size-sm);color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-medium);transition:color var(--transition-fast)}.auth-link:hover{color:var(--color-primary-hover);text-decoration:underline}.auth-spinner{display:inline-block;width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:var(--radius-full);animation:auth-spin .6s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}@media(max-width:768px){.auth-navbar{padding:var(--space-3) var(--space-4)}.auth-card{max-width:380px;padding:var(--space-8) var(--space-6)}}@media(max-width:480px){.auth-navbar{padding:var(--space-2) var(--space-4)}.auth-navbar__links{display:none}.auth-content{padding:var(--space-6) var(--space-3)}.auth-card{max-width:100%;padding:var(--space-8) var(--space-5);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.auth-card__logo{width:160px;margin-bottom:var(--space-6)}}.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}.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}.sr-day-picker{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.sr-day-chip{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 var(--space-2);border-radius:var(--radius-md);border:1px solid var(--color-border-input);background:var(--color-bg-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);-webkit-user-select:none;user-select:none}.sr-day-chip:hover{background:var(--color-bg-hover)}.sr-day-chip.is-selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.sr-time-input{border:1px solid var(--color-border-input);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-bg-surface);min-height:var(--input-min-height)}.sr-time-input:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 2px var(--color-primary-light)}.sr-attachments{display:flex;flex-direction:column;gap:var(--space-2)}.sr-attachment-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer}.sr-attachment-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary)}.sr-email-list{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.sr-email-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1-5) var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--color-text-primary)}.sr-email-chip__remove{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:0;line-height:1;font-size:14px}.sr-email-chip__remove:hover{color:var(--color-danger)}.sr-email-add-row{display:flex;gap:var(--space-2);align-items:center;margin-top:var(--space-2)}.sr-email-input{flex:1;border:1px solid var(--color-border-input);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-primary);background:var(--color-bg-surface);min-height:var(--input-min-height)}.sr-email-input:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 2px var(--color-primary-light)}.sr-filters-summary{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-md);min-height:40px}.sr-filter-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.sr-filter-tag__label{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.sr-no-filters{font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic}.sr-form-card{background:var(--color-bg-primary, #fff);border:1px solid var(--color-border);border-radius:var(--radius-lg, 8px);padding:var(--space-5);margin-bottom:var(--space-5)}.sr-form-card>.sr-form-section:last-child{margin-bottom:0}.sr-form-card__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0 0 var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.sr-form-section{margin-bottom:var(--space-5)}.sr-form-section__label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin-bottom:var(--space-2)}.sr-form-section__sublabel{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--space-2);display:block}.sr-receiver-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-confirm-backdrop{position:fixed;inset:0;background:#0006;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center}.sr-confirm-dialog{background:var(--color-bg-surface);border-radius:var(--radius-lg);padding:var(--space-6);max-width:420px;width:90%;box-shadow:var(--shadow-xl)}.sr-confirm-dialog__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0 0 var(--space-3)}.sr-confirm-dialog__text{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--space-5)}.sr-confirm-dialog__actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.hs-metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.hs-top-residents{margin-top:var(--space-6);max-width:500px}.hs-hourly-section{margin-top:var(--space-6)}.hs-summary-controls{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);margin-bottom:var(--space-3)}.wr-report-type-select{border-radius:var(--radius-lg);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);padding:var(--space-1-5) 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);cursor:pointer}.wr-report-type-select:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.wr-bool{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.wr-bool--yes{color:var(--color-success-text)}.wr-bool--no{color:var(--color-danger)}.wr-bool__icon{width:14px;height:14px;flex-shrink:0}.wr-phone-link{color:var(--color-primary);text-decoration:none;font-size:var(--font-size-sm)}.wr-phone-link:hover{text-decoration:underline}.wr-stacked-cell{display:flex;flex-direction:column;gap:1px}.wr-stacked-cell__sub{font-size:var(--font-size-xs);color:var(--color-text-muted)}.wr-time-disabled{opacity:.5;pointer-events:none}.er-report-type-select{border-radius:var(--radius-lg);border:1px solid var(--color-border-medium);background:var(--color-bg-secondary);padding:var(--space-1-5) 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);cursor:pointer}.er-report-type-select:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.er-unit{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-left:2px}.er-stacked-cell{display:flex;flex-direction:column;gap:1px}.er-stacked-cell__sub{font-size:var(--font-size-xs);color:var(--color-text-muted)}.er-time-disabled{opacity:.5;pointer-events:none}.ar-page{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--color-bg-primary)}.ar-page-header{flex-shrink:0;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.ar-page-header__inner{max-width:100%;margin:0 auto;padding:var(--space-4) var(--space-6)}.ar-breadcrumb-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.ar-breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm)}.ar-breadcrumb__text,.ar-breadcrumb__separator{color:var(--color-text-tertiary)}.ar-breadcrumb__current{color:var(--color-text-heading);font-weight:var(--font-weight-medium)}.ar-icon-md{width:1rem;height:1rem}.ar-campus-row{display:flex;align-items:center;gap:var(--space-2)}.ar-campus-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.ar-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)}.ar-campus-select:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.ar-campus-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading)}.ar-page-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-heading);margin:0}.ar-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.ar-title-row__left{display:flex;align-items:center;gap:var(--space-3)}.ar-title-row__actions{display:flex;align-items:center;gap:var(--space-2)}.ar-time-badge-wrap{position:relative}.ar-time-summary{display:inline-flex;align-items:center;font-size:var(--font-size-sm);color:var(--color-text-muted);padding:var(--space-1) var(--space-3);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);white-space:nowrap;cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.ar-time-summary:hover{border-color:var(--color-primary);color:var(--color-primary);box-shadow:var(--shadow-xs)}.ar-time-summary--open{border-color:var(--color-primary);color:var(--color-primary);box-shadow:var(--shadow-sm)}.ar-time-summary__chevron{width:14px;height:14px;margin-left:4px;transition:transform var(--transition-fast);flex-shrink:0}.ar-time-summary--open .ar-time-summary__chevron{transform:rotate(180deg)}.ar-time-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:280px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-3);animation:ar-pop-in .15s ease-out}@keyframes ar-pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ar-time-popover__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1-5)}.ar-time-popover__btn{display:flex;align-items:center;justify-content:center;padding:var(--space-1-5) var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.ar-time-popover__btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-medium);color:var(--color-text-primary)}.ar-time-popover__btn--active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary);font-weight:var(--font-weight-semibold)}.ar-time-popover__btn--active:hover{opacity:.9;background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.ar-time-popover__divider{height:1px;background:var(--color-border);margin:var(--space-2) 0}.ar-time-popover__custom{display:flex;align-items:center;justify-content:center;gap:var(--space-1-5);width:100%;padding:var(--space-1-5) var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.ar-time-popover__custom:hover{background:var(--color-bg-hover);border-color:var(--color-border-medium);color:var(--color-text-primary)}.ar-time-popover__custom--active{background:var(--color-primary-muted, #e8f0fe);border-color:var(--color-primary);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.ar-subtab-bar{flex-shrink:0;padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--color-border);background:var(--color-bg-primary)}.ar-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;overflow-y:auto}.ar-time-bar{display:flex;flex-direction:column;gap:var(--space-3)}.ar-time-bar__ranges{display:flex;flex-wrap:wrap;gap:var(--space-1)}.ar-time-btn{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all .15s ease;white-space:nowrap}.ar-time-btn:hover{background:var(--color-bg-secondary);border-color:var(--color-border-hover, var(--color-border))}.ar-time-btn--active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.ar-time-btn--active:hover{background:var(--color-primary-hover, var(--color-primary));border-color:var(--color-primary-hover, var(--color-primary))}.ar-custom-range{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);width:100%}.ar-custom-range__input{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg-primary);color:var(--color-text);width:190px;max-width:100%;min-width:0;box-sizing:border-box}.ar-custom-range__sep{color:var(--color-text-muted);font-size:var(--font-size-sm)}.ar-filter-chips{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;margin-bottom:var(--space-3)}.ar-filter-chip{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-2);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full, 9999px);font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;max-width:300px;overflow:hidden;text-overflow:ellipsis}.ar-filter-chips__clear{padding:var(--space-1) var(--space-2);background:none;border:none;color:var(--color-primary);font-size:var(--font-size-xs);cursor:pointer;text-decoration:underline}.ar-filter-badge{position:absolute;top:-6px;right:-6px;background:var(--color-primary);color:#fff;font-size:10px;font-weight:var(--font-weight-bold);min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}.ar-detail-view{flex:1;display:flex;flex-direction:column;min-height:0}.ar-detail-view .ap-controls{flex-shrink:0}.ar-detail-view .ap-table-container{flex:1;display:flex;flex-direction:column;min-height:0}.ar-summary__range{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}.ar-summary .pp-section__title{padding:var(--space-3) var(--space-4)}.ar-summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.ar-summary-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);text-align:center}.ar-summary-card__value{font-size:var(--font-size-2xl, 1.75rem);font-weight:var(--font-weight-bold);color:var(--color-text);line-height:1.2}.ar-summary-card__label{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.ar-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--space-6);margin-top:var(--space-6)}.ar-summary-empty{text-align:center;padding:var(--space-8)}.ar-init-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12, 80px) var(--space-4);text-align:center;color:var(--color-text-muted)}.ar-init-message p{font-size:var(--font-size-base);max-width:400px}.ar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12, 80px) var(--space-4);text-align:center;color:var(--color-text-muted)}.ar-loading__spinner{width:36px;height:36px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:ar-spin .8s linear infinite;margin-bottom:var(--space-3)}@keyframes ar-spin{to{transform:rotate(360deg)}}.ar-overlimit{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4);text-align:center;gap:var(--space-3);margin-bottom:var(--space-6)}.ar-overlimit h3{margin:0;font-size:var(--font-size-lg);color:var(--color-text)}.ar-overlimit p{color:var(--color-text-muted);max-width:400px}.ar-export-group{display:flex;gap:var(--space-2)}.ar-reason-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;background:var(--color-warning-bg, #fef3cd);border:1px solid var(--color-warning, #f0ad4e);border-radius:50%;color:var(--color-warning, #f0ad4e);flex-shrink:0}.dp-drawer--xl{width:660px;max-width:90vw}.ar-accordion{border-bottom:1px solid var(--color-border)}.ar-accordion__header{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);border:none;background:none;cursor:pointer;font-size:var(--font-size-base);color:var(--color-text);text-align:left;transition:background .15s ease}.ar-accordion__header:hover{background:var(--color-bg-secondary)}.ar-accordion__icon{font-size:var(--font-size-xs);width:16px;text-align:center;color:var(--color-text-muted)}.ar-accordion__label{font-weight:var(--font-weight-semibold);flex:1}.ar-accordion__count{font-size:var(--font-size-xs);color:var(--color-primary);background:var(--color-primary-bg, rgba(0, 129, 199, .1));padding:2px 8px;border-radius:var(--radius-full, 9999px)}.ar-accordion__body{padding:0 var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.ar-filter-section{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-bg-primary)}.ar-filter-section__search{width:100%;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg-primary);color:var(--color-text);margin-bottom:var(--space-2)}.ar-filter-list{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.ar-filter-list__item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-1);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;border-radius:var(--radius-sm, 4px)}.ar-filter-list__item--has-subtext{align-items:flex-start;padding:var(--space-1) var(--space-1)}.ar-filter-list__item--has-subtext input[type=checkbox]{margin-top:2px}.ar-filter-list__item-name{line-height:1.4}.ar-filter-list__item--disabled{opacity:.5;cursor:not-allowed}.ar-filter-list__item--disabled input[type=checkbox]{cursor:not-allowed}.ar-resp-filter{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) 0}.ar-resp-filter__toggle{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer}.ar-resp-filter__controls{display:flex;align-items:center;gap:var(--space-2)}.ar-resp-filter__select{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg-primary);color:var(--color-text)}.ar-resp-filter__input{width:80px;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg-primary);color:var(--color-text)}.ar-resp-filter__unit{font-size:var(--font-size-sm);color:var(--color-text-muted)}.ex-section{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-card)}.ex-section__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.ex-section__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0;padding-left:var(--space-2);padding-bottom:var(--space-3);text-align:left}.ex-threshold-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.ex-threshold-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ex-threshold-input{width:60px;border:1px solid var(--color-border-input);border-radius:var(--radius-md);padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary);text-align:center;background:var(--color-bg-surface)}.ex-threshold-input:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 2px var(--color-primary-light)}.ex-threshold-unit{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ex-chart-container{position:relative;width:100%;height:350px}.ex-chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-5)}.ex-chart-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-card)}.ex-chart-card__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0 0 var(--space-3);text-align:center}.ex-chart-card__canvas{position:relative;width:100%;height:280px;overflow:hidden}.ex-notes-count{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--color-primary);cursor:pointer;background:none;border:none;padding:2px 4px}.ex-notes-count:hover{text-decoration:underline}.ex-reason-edited{display:inline-flex;align-items:center;gap:4px}.ex-reason-edited__badge{font-size:10px;color:var(--color-warning)}.ex-stack-cell{display:flex;flex-direction:column;gap:1px}.ex-stack-cell__sub{font-size:var(--font-size-xs);color:var(--color-text-muted)}.ex-sections{display:flex;flex-direction:column;gap:var(--space-6)}@media(max-width:768px){.ex-chart-grid{grid-template-columns:1fr}.ex-threshold-row{flex-direction:column;align-items:flex-start}}.ss-page{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--color-bg-primary)}.ss-section-desc{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:var(--space-0-5) 0 0;line-height:1.4;font-weight:var(--font-weight-normal)}.ss-field{display:flex;flex-direction:column;gap:var(--space-1)}.ss-field__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.ss-field__input,.ss-field__select{height:44px;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 var(--transition-fast),box-shadow var(--transition-fast)}.ss-field__input:focus,.ss-field__select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #2563eb26}.ss-field__input.is-invalid{border-color:var(--color-danger, #dc2626)}.ss-field__input.is-invalid:focus{box-shadow:0 0 0 3px #dc262626}.ss-field__error{font-size:var(--font-size-xs);color:var(--color-danger, #dc2626);margin:0}.ss-field__hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0}.ss-field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-6)}@media(max-width:768px){.ss-field-row{grid-template-columns:1fr}}.ss-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border-light)}.ss-toggle-row:last-child{border-bottom:none}.ss-toggle-row.is-disabled{opacity:.45;pointer-events:none}.ss-toggle-row__info{flex:1;min-width:0;display:flex;flex-direction:column}.ss-toggle-row__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0}.ss-toggle-row__desc{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:var(--space-0-5) 0 0;line-height:1.4}.ss-toggle-row__control{flex-shrink:0}.ss-toggle__track{position:relative;display:inline-flex;align-items:center;width:44px;height:24px;background:var(--color-bg-tertiary);border:1px solid var(--color-border-medium);border-radius:var(--radius-full);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.ss-toggle__track.is-active{background:var(--color-primary);border-color:var(--color-primary)}.ss-toggle__knob{position:absolute;left:2px;width:18px;height:18px;background:#fff;border-radius:var(--radius-full);box-shadow:var(--shadow-xs);transition:transform var(--transition-fast)}.ss-toggle__track.is-active .ss-toggle__knob{transform:translate(20px)}.ss-range{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-4);margin-top:var(--space-4);border-top:1px solid var(--color-border-light)}.ss-range__header{display:flex;align-items:center;justify-content:space-between}.ss-range__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0}.ss-range__desc{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0}.ss-range__track-wrap{position:relative;padding-top:var(--space-6)}.ss-range__value{position:absolute;top:0;display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:2px var(--space-2);background:var(--color-primary);color:var(--color-text-on-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);transform:translate(-50%);white-space:nowrap}.ss-range__input{width:100%;height:6px;-webkit-appearance:none;appearance:none;background:var(--color-bg-tertiary);border-radius:3px;outline:none;cursor:pointer}.ss-range__input::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:var(--color-primary);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer}.ss-range__input::-moz-range-thumb{width:18px;height:18px;background:var(--color-primary);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);cursor:pointer;border:none}.ss-range__labels{display:flex;justify-content:space-between;font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.ss-checkbox-row{display:flex;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-2) 0}.ss-checkbox-item{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.ss-checkbox-item__input{width:1rem;height:1rem;accent-color:var(--color-primary);cursor:pointer}.ss-checkbox-item__label{font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.ss-device-list{display:flex;flex-direction:column;gap:0}.ss-device-list__item{padding:var(--space-2-5) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-primary);border-bottom:1px solid var(--color-border-light)}.ss-device-list__item:last-child{border-bottom:none}.ss-reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}@media(max-width:1024px){.ss-reason-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.ss-reason-grid{grid-template-columns:1fr}}.ss-reason-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.ss-reason-card__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2-5) var(--space-3);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border-light)}.ss-reason-card__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0}.ss-reason-card__delete{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;border-radius:var(--radius-md);color:var(--color-danger, #dc2626);cursor:pointer;transition:background var(--transition-fast)}.ss-reason-card__delete:hover{background:var(--color-danger-bg, #fef2f2)}.ss-reason-card__body{padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.ss-reason-card__field{display:flex;flex-direction:column;gap:var(--space-1)}.ss-reason-card__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em}.ss-reason-card__input,.ss-reason-card__select{height:36px;padding:0 var(--space-2-5);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 var(--transition-fast),box-shadow var(--transition-fast)}.ss-reason-card__input:focus,.ss-reason-card__select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 2px #2563eb1f}.ss-warning{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-warning-bg, #fffbeb);border:1px solid var(--color-warning-border, #fde68a);border-radius:var(--radius-lg);font-size:var(--font-size-sm);color:var(--color-warning-text, #92400e);margin-bottom:var(--space-4)}.ss-drawer-list{display:flex;flex-direction:column;gap:0;max-height:400px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.ss-drawer-list__item{padding:var(--space-2-5) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;transition:background var(--transition-fast);border-bottom:1px solid var(--color-border-light);-webkit-user-select:none;user-select:none}.ss-drawer-list__item:last-child{border-bottom:none}.ss-drawer-list__item:hover{background:var(--color-bg-hover)}.ss-drawer-list__item.is-selected{background:var(--color-primary-light);color:var(--color-primary);font-weight:var(--font-weight-medium)}.ss-skeleton{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}.ss-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10) var(--space-4);text-align:center}.ss-empty__text{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}@media(max-width:768px){.ss-toggle-row{flex-direction:column;align-items:flex-start;gap:var(--space-2)}}.ss-tag-input{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1-5);min-height:44px;padding:var(--space-1-5) var(--space-2);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);background:var(--color-bg-secondary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);cursor:text}.ss-tag-input:focus-within{border-color:var(--color-border-focus);box-shadow:0 0 0 3px #2563eb26}.ss-tag-input.is-invalid{border-color:var(--color-danger, #dc2626)}.ss-tag-input.is-invalid:focus-within{box-shadow:0 0 0 3px #dc262626}.ss-tag-input__tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-0-5) var(--space-2);background:var(--color-primary);color:var(--color-text-on-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);white-space:nowrap;line-height:1.6}.ss-tag-input__remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:#ffffff40;border-radius:var(--radius-full);color:inherit;font-size:11px;cursor:pointer;transition:background var(--transition-fast);padding:0;line-height:1}.ss-tag-input__remove:hover{background:#fff6}.ss-tag-input__input{flex:1;min-width:140px;border:none;outline:none;background:transparent;font-size:var(--font-size-sm);color:var(--color-text-primary);padding:var(--space-0-5) 0}.ss-tag-input__input::placeholder{color:var(--color-text-tertiary)}.ss-tag-input__error{font-size:var(--font-size-xs);color:var(--color-danger, #dc2626);margin:var(--space-1) 0 0}.ss-tag-input__hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:var(--space-1) 0 0}.ss-note-table{width:100%;border-collapse:collapse;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.ss-note-table__header{background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border)}.ss-note-table__header-cell{padding:var(--space-2-5) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;text-align:left;white-space:nowrap;-webkit-user-select:none;user-select:none}.ss-note-table__header-cell.is-sortable{cursor:pointer;transition:color var(--transition-fast)}.ss-note-table__header-cell.is-sortable:hover{color:var(--color-text-primary)}.ss-note-table__header-cell.is-sorted{color:var(--color-primary)}.ss-note-table__row{border-bottom:1px solid var(--color-border-light);transition:background var(--transition-fast)}.ss-note-table__row:last-child{border-bottom:none}.ss-note-table__row:hover{background:var(--color-bg-hover)}.ss-note-table__row.is-selected{background:var(--color-primary-light)}.ss-note-table__cell{padding:var(--space-2-5) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-primary);vertical-align:middle}.ss-note-table__checkbox{width:40px;text-align:center}.ss-note-table__actions{width:60px;text-align:center}.ss-search{position:relative;max-width:320px}.ss-search__icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none;font-size:var(--font-size-sm)}.ss-search__input{width:100%;height:40px;padding:0 var(--space-3) 0 var(--space-8);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 var(--transition-fast),box-shadow var(--transition-fast)}.ss-search__input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #2563eb26}.ss-number-input{width:80px;height:44px;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 var(--transition-fast),box-shadow var(--transition-fast);text-align:center}.ss-number-input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #2563eb26}.ss-checkbox-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2) var(--space-6);padding:var(--space-2) 0}@media(max-width:768px){.ss-checkbox-grid{grid-template-columns:1fr}}.ss-action-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0}.ss-action-bar__group{display:flex;align-items:center;gap:var(--space-2)}.sh-legend{display:flex;gap:1.5rem;align-items:center;margin-bottom:var(--space-3, .75rem);flex-wrap:wrap}.sh-legend__item{display:flex;align-items:center;gap:.5rem}.sh-legend__swatch{width:16px;height:16px;border-radius:4px;flex-shrink:0;box-shadow:0 1px 2px #0000001a}.sh-legend__label{font-size:var(--font-size-sm, .875rem);font-weight:500;color:var(--color-text-primary, #1f2937)}.sh-instructions{font-size:var(--font-size-sm, .875rem);color:var(--color-text-muted, #6b7280);margin-bottom:var(--space-4, 1rem)}.sh-timeline{margin-bottom:var(--space-2, .5rem)}.sh-timeline__bar{display:flex;border-radius:8px;overflow:hidden;height:56px;cursor:pointer;user-select:none;box-shadow:0 2px 6px #0000001f,0 1px 3px #00000014;-webkit-user-select:none;touch-action:none}.sh-timeline__segment{flex:1;display:flex;align-items:center;justify-content:center;transition:filter .12s ease,transform .12s ease;border-right:1px solid rgba(255,255,255,.2);position:relative}.sh-timeline__segment:last-child{border-right:none}.sh-timeline__segment:hover{filter:brightness(1.15);z-index:1}.sh-timeline__segment:active{filter:brightness(.9)}.sh-timeline__segment-label{font-size:.6rem;color:#ffffffe6;font-weight:600;text-transform:uppercase;pointer-events:none;letter-spacing:.02em;line-height:1}@media(min-width:900px){.sh-timeline__segment-label{font-size:.65rem}}.sh-timeline__hours{display:flex;margin-top:6px;padding:0 1px}.sh-timeline__hour-label{flex:1;text-align:center;font-size:.6rem;color:var(--color-text-muted, #9ca3af);font-weight:500;line-height:1}@media(min-width:900px){.sh-timeline__hour-label{font-size:.65rem}}@media(max-width:640px){.sh-timeline__hour-label:nth-child(odd){visibility:hidden}.sh-timeline__segment-label{font-size:.5rem}}.sh-summary{margin-top:var(--space-3, .75rem);font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #4b5563);line-height:1.5}.sh-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:var(--space-5, 1.25rem);padding-top:var(--space-4, 1rem);border-top:1px solid var(--color-border-light, #e5e7eb)}.ws-group-list{max-height:400px;overflow-y:auto;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md, .375rem)}.ws-group-row{display:flex;align-items:center;gap:var(--space-3, .75rem);padding:var(--space-2, .5rem) var(--space-3, .75rem);border-bottom:1px solid var(--color-border-light, #f3f4f6);cursor:pointer;transition:background var(--transition-fast, .15s)}.ws-group-row:last-child{border-bottom:none}.ws-group-row:hover{background:var(--color-bg-hover, #f9fafb)}.ws-group-row.is-selected{background:var(--color-primary-bg, #dbeafe)}.ws-group-info{flex:1;min-width:0}.ws-group-name{font-size:var(--font-size-sm, .875rem);font-weight:500;color:var(--color-text-primary, #111827)}.ws-group-desc{font-size:var(--font-size-xs, .75rem);color:var(--color-text-muted, #6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-group-controls{display:flex;align-items:center;gap:var(--space-3, .75rem);margin-bottom:var(--space-3, .75rem)}.ws-group-controls .ap-search{flex:1}.ws-group-show-selected{display:flex;align-items:center;gap:var(--space-2, .5rem);font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #374151);white-space:nowrap}.ws-group-header{display:flex;align-items:center;gap:var(--space-3, .75rem);padding:var(--space-2, .5rem) var(--space-3, .75rem);background:var(--color-bg-tertiary, #f9fafb);border-bottom:1px solid var(--color-border, #e5e7eb);font-size:var(--font-size-sm, .875rem);font-weight:600;color:var(--color-text-secondary, #374151);position:sticky;top:0;z-index:1}.ws-device-picker__header{margin-bottom:var(--space-2, .5rem)}.ws-device-picker__count{margin-left:var(--space-1, .25rem);font-weight:var(--font-weight-normal, 400);color:var(--color-text-muted, #6b7280)}.ws-device-picker__search{position:relative;margin-bottom:var(--space-2, .5rem)}.ws-device-picker__search-icon{position:absolute;left:var(--space-2-5, .625rem);top:50%;transform:translateY(-50%);font-size:var(--font-size-sm, .875rem);color:var(--color-text-muted, #6b7280);pointer-events:none}.ws-device-picker__search-input{width:100%;padding:var(--space-2, .5rem) var(--space-2, .5rem) var(--space-2, .5rem) var(--space-8, 2rem);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md, .375rem);font-size:var(--font-size-sm, .875rem);outline:none}.ws-device-picker__search-input:focus{border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 2px #2563eb26}.ws-device-picker__actions{display:flex;gap:var(--space-2, .5rem);margin-bottom:var(--space-2, .5rem)}.ws-device-picker__action-btn{padding:var(--space-1, .25rem) var(--space-2-5, .625rem);font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-medium, 500);color:var(--color-primary, #2563eb);background:transparent;border:none;cursor:pointer;border-radius:var(--radius-sm, .25rem);transition:background-color var(--transition-fast, .15s)}.ws-device-picker__action-btn:hover{background:var(--color-bg-hover, #f9fafb)}.ws-device-picker__action-btn--active{font-weight:var(--font-weight-bold, 700);color:var(--color-primary-hover, var(--color-primary, #2563eb));border-bottom:2px solid var(--color-primary, #2563eb)}.ws-device-picker__list{max-height:320px;overflow-y:auto;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md, .375rem)}.ws-device-picker__empty{text-align:center;padding:var(--space-4, 1rem);color:var(--color-text-muted, #6b7280);font-size:var(--font-size-sm, .875rem);margin:0}.ws-device-picker__item{display:flex;align-items:center;gap:var(--space-3, .75rem);padding:var(--space-2, .5rem) var(--space-3, .75rem);border-bottom:1px solid var(--color-border-light, #f3f4f6);cursor:pointer;transition:background var(--transition-fast, .15s)}.ws-device-picker__item:last-child{border-bottom:none}.ws-device-picker__item:hover{background:var(--color-bg-hover, #f9fafb)}.ws-device-picker__item.is-selected{background:var(--color-primary-bg, #dbeafe)}.ws-device-picker__item-info{display:flex;flex-direction:column;gap:1px;min-width:0}.ws-device-picker__item-name{font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary, #111827)}.ws-device-picker__item-desc{font-size:var(--font-size-xs, .75rem);color:var(--color-text-muted, #6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-time-row{display:flex;gap:var(--space-3, .75rem)}.ws-time-row>*{flex:1}.ws-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2, .5rem) 0}.ws-toggle-label{font-size:var(--font-size-sm, .875rem);font-weight:500;color:var(--color-text-primary, #111827)}.ws-status{display:inline-flex;align-items:center;gap:var(--space-1-5, .375rem);border-radius:var(--radius-full, 9999px);padding:2px var(--space-2-5, .625rem);font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-medium, 500)}.ws-status--active{background:var(--color-success-bg, #d1fae5);color:var(--color-success-text, #065f46);box-shadow:inset 0 0 0 1px #00d97e33}.ws-status--inactive{background:var(--color-bg-tertiary, #f3f4f6);color:var(--color-text-secondary, #6b7280);box-shadow:inset 0 0 0 1px var(--color-border-light, #e5e7eb)}.ws-status__dot{display:inline-block;width:6px;height:6px;border-radius:var(--radius-full, 9999px)}.ws-status--active .ws-status__dot{background:var(--color-success, #00d97e)}.ws-status--inactive .ws-status__dot{background:var(--color-text-tertiary, #9ca3af)}.ws-count-cell{position:relative;display:inline-block}.ws-count-badge{display:inline-flex;align-items:center;gap:var(--space-1, .25rem);border-radius:var(--radius-md, .375rem);padding:2px var(--space-2, .5rem);font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-medium, 500);background:var(--color-primary-light, #e0f2fe);color:var(--color-primary, #0081c7);box-shadow:inset 0 0 0 1px #0081c71a;border:none;cursor:pointer;transition:background-color var(--transition-fast, .15s)}.ws-count-badge:hover{background:#0081c726}.ws-count-popover{position:absolute;z-index:var(--z-popover, 50);margin-top:var(--space-1, .25rem);width:16rem;max-height:320px;border-radius:var(--radius-lg, .5rem);background:var(--color-bg-secondary, #fff);box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1));border:1px solid var(--color-border-light, #f3f4f6);padding:var(--space-2, .5rem);left:50%;transform:translate(-50%);overflow:hidden}.ws-count-popover__title{font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-semibold, 600);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide, .05em);color:var(--color-text-secondary, #6b7280);padding:0 var(--space-2, .5rem) var(--space-1, .25rem);margin-bottom:var(--space-1, .25rem);border-bottom:1px solid var(--color-border-light, #f3f4f6)}.ws-count-popover__list{list-style:none;padding:0;margin:0;max-height:260px;overflow-y:auto}.ws-count-popover__item{padding:var(--space-1, .25rem) var(--space-2, .5rem);border-radius:var(--radius-sm, .25rem);font-size:var(--font-size-sm, .875rem);color:var(--color-text-heading, #111827);font-weight:var(--font-weight-medium, 500)}.ws-count-popover__item:hover{background:var(--color-bg-hover, #f9fafb)}.ws-count-popover--up,.ws-menu--up{bottom:100%;top:auto;margin-top:0;margin-bottom:var(--space-1, .25rem)}.ws-careflow-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3, .75rem);margin-bottom:var(--space-4, 1rem);flex-wrap:wrap}.ws-careflow-header .pp-subtab-toggle{flex:0 0 auto}.ws-subtab-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) .ws-subtab-badge{background:var(--color-primary, #0081c7);color:#fff}.ws-offsite-dialog{display:flex;flex-direction:column;gap:var(--space-3, .75rem)}.ws-offsite-dialog__field{display:flex;flex-direction:column;gap:var(--space-1, .25rem)}.ws-offsite-dialog__label{font-size:var(--font-size-sm, .875rem);font-weight:500;color:var(--color-text-primary, #111827)}.lc-page-actions{display:flex;align-items:center;gap:var(--space-3, .75rem);margin-top:var(--space-3, .75rem)}.lc-controller-info{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4, 1rem);padding:var(--space-3, .75rem) 0;font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6b7280);border-bottom:1px solid var(--color-border, #e5e7eb);margin-bottom:var(--space-4, 1rem)}.lc-color-swatch{width:14px;height:14px;border-radius:50%;display:inline-block;vertical-align:middle;border:1px solid rgba(0,0,0,.15);flex-shrink:0}.lc-color-preview{width:40px;height:40px;border-radius:8px;border:2px solid var(--color-border, #e5e7eb);flex-shrink:0}.lc-rgb-field{display:flex;align-items:center;gap:.75rem;margin-bottom:var(--space-2, .5rem)}.lc-rgb-field__label{width:20px;font-weight:600;font-size:var(--font-size-sm, .875rem);text-align:center;flex-shrink:0}.lc-rgb-field__slider{flex:1;cursor:pointer;accent-color:var(--color-primary, #3b82f6)}.lc-rgb-field__slider:disabled{opacity:.4;cursor:not-allowed}.lc-rgb-field__value{width:40px;text-align:right;font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6b7280);font-variant-numeric:tabular-nums;flex-shrink:0}.dp-btn--danger-outline{background:transparent;color:var(--color-danger, #ef4444);border:1px solid var(--color-danger, #ef4444);padding:.5rem 1rem;border-radius:var(--radius-md, .5rem);font-size:var(--font-size-sm, .875rem);font-weight:500;cursor:pointer;transition:background-color .15s,color .15s;display:inline-flex;align-items:center}.dp-btn--danger-outline:hover{background:var(--color-danger, #ef4444);color:#fff}.dp-btn--danger-outline:disabled{opacity:.5;cursor:not-allowed}.pp-tab-content .ap-table-wrap{overflow:auto}.pp-pendant-row{display:flex;gap:12px;margin-bottom:20px;justify-content:center}.pp-pendant{flex:1;max-width:160px;cursor:pointer;border:2px solid var(--color-border, #e5e7eb);border-radius:12px;padding:8px;background:var(--color-bg-secondary, #f9fafb);transition:border-color .15s,box-shadow .15s;text-align:center;-webkit-user-select:none;user-select:none}.pp-pendant:hover{border-color:var(--color-border-hover, #d1d5db)}.pp-pendant--active{border-color:var(--color-primary, #3b82f6);box-shadow:0 0 0 2px #3b82f633}.pp-pendant__screen{background:#1a1a2e;color:#c8c8d0;border-radius:6px;padding:4px 6px;font-family:Courier New,monospace;font-size:10px;line-height:1.3;min-height:56px;text-align:left}.pp-pendant__screen--large{min-height:44px}.pp-pendant__header{display:flex;justify-content:space-between;border-bottom:1px solid #333;padding-bottom:2px;margin-bottom:3px;font-size:9px;color:#888}.pp-pendant__line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-pendant__line--large{font-size:13px;line-height:1.4}.pp-pendant__label{font-size:11px;font-weight:600;margin-top:6px;color:var(--color-text-secondary, #6b7280)}.pp-pendant__label--idle{color:var(--color-text-secondary, #6b7280)}.pp-pendant__label--panic{color:var(--color-danger, #ef4444)}.pp-pendant__label--accepted{color:var(--color-success, #22c55e)}.pp-mode-tabs{display:flex;gap:var(--space-6, 1.5rem);padding:0 var(--space-6, 1.5rem);border-bottom:1px solid var(--color-border, #e5e7eb);margin-bottom:16px}.pp-mode-tab{position:relative;flex:1;padding:var(--space-3, .75rem) 0;border:none;background:none;font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:color var(--transition-fast, .15s);display:flex;align-items:center;justify-content:center;gap:6px}.pp-mode-tab:hover,.pp-mode-tab:focus,.pp-mode-tab:active{color:var(--color-text-primary, #111827);background:transparent;outline:none;box-shadow:none}.pp-mode-tab.is-active,.pp-mode-tab.is-active:hover,.pp-mode-tab.is-active:focus,.pp-mode-tab.is-active:active{color:var(--color-primary, #3b82f6);background:transparent;outline:none;box-shadow:none}.pp-mode-tab.is-active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-primary, #3b82f6);border-radius:1px 1px 0 0}.pp-mode-tab__badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--color-danger, #ef4444);color:#fff;font-size:11px;font-weight:600;line-height:1}.pp-mode-config{padding-top:4px}.pp-line-config{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--color-border, #e5e7eb)}.pp-line-config:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.pp-line-label{font-size:12px;font-weight:600;color:var(--color-text-muted, #6b7280);margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}.pp-line-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}@media(max-width:420px){.pp-line-row{grid-template-columns:1fr}}.pp-suffix-toggle{display:flex;align-items:center;gap:8px;margin-top:8px;white-space:nowrap}.pp-suffix-label{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6b7280)}.dp-drawer--lg{width:560px;max-width:95vw}.cf-page{padding:var(--space-6, 1.5rem);max-width:1200px}.cf-tab-info{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;margin-bottom:var(--space-5, 1.25rem);background:var(--color-bg-secondary, #f8f9fa);border-left:4px solid var(--color-primary, #2563eb);border-radius:var(--radius-md, .5rem);font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6b7280);line-height:1.5}.cf-tab-info__icon{flex-shrink:0;width:1rem;height:1rem;margin-top:.125rem;color:var(--color-primary, #2563eb)}.cf-tab-info strong{color:var(--color-primary, #2563eb)}.cf-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1rem;border-radius:var(--radius-lg, .75rem);text-align:center}.cf-empty--danger{background:var(--color-danger-bg, #fef2f2);border:1px solid var(--color-danger, #dc2626)}.cf-empty--warning{background:var(--color-warning-bg, #fffbeb);border:1px solid var(--color-warning, #ca8a04)}.cf-empty__icon{width:2.5rem;height:2.5rem;margin-bottom:.75rem}.cf-empty__text{margin:0;font-size:var(--font-size-base, 1rem);font-weight:var(--font-weight-semibold, 600)}.cf-empty--danger .cf-empty__icon,.cf-empty--danger .cf-empty__text{color:var(--color-danger, #dc2626)}.cf-empty--warning .cf-empty__icon,.cf-empty--warning .cf-empty__text{color:var(--color-warning, #ca8a04)}.cf-card{background:var(--color-bg-primary, #fff);border:1px solid var(--color-border-light, #e5e7eb);border-radius:var(--radius-lg, .75rem);padding:var(--space-5, 1.25rem) var(--space-6, 1.5rem);margin-bottom:var(--space-4, 1rem);box-shadow:var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .05))}.cf-card--danger{border-color:var(--color-danger, #dc2626)}.cf-card--warning{border-color:var(--color-warning, #ca8a04)}.cf-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:var(--space-3, .75rem)}.cf-card__title{margin:0;font-size:var(--font-size-lg, 1.125rem);font-weight:var(--font-weight-bold, 700);color:var(--color-text-primary, #111827)}.cf-card__desc{margin:.25rem 0 0;font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6b7280)}.cf-card__actions{display:flex;gap:.5rem;flex-shrink:0}.cf-card__alert{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:var(--radius-md, .5rem);font-size:var(--font-size-sm, .875rem);margin-bottom:var(--space-3, .75rem)}.cf-card__alert--danger{background:var(--color-danger-bg, #fef2f2);color:var(--color-danger, #dc2626);border-left:3px solid var(--color-danger, #dc2626)}.cf-card__alert--warning{background:var(--color-warning-bg, #fffbeb);color:var(--color-warning, #ca8a04);border-left:3px solid var(--color-warning, #ca8a04)}.cf-card__alert-icon{flex-shrink:0;width:1rem;height:1rem}.cf-entity-badges{display:flex;flex-wrap:wrap;gap:.375rem}.cf-entity-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:var(--radius-sm, .25rem);background:var(--color-primary-bg, #eff6ff);color:var(--color-primary, #2563eb);font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-medium, 500);white-space:nowrap}.cf-card__footer{display:flex;justify-content:flex-start;margin-top:var(--space-4, 1rem);padding-top:var(--space-3, .75rem);border-top:1px solid var(--color-border-light, #e5e7eb)}.cf-workflow-section{margin-top:var(--space-4, 1rem)}.cf-workflow-section__title{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-primary, #2563eb);margin:0 0 var(--space-3, .75rem);padding-bottom:var(--space-2, .5rem);border-bottom:2px solid var(--color-border-light, #e5e7eb)}.cf-workflow-section__icon{width:1rem;height:1rem}.cf-workflow{background:var(--color-bg-primary, #fff);border:1px solid var(--color-primary, #2563eb);border-radius:var(--radius-md, .5rem);padding:var(--space-4, 1rem) var(--space-5, 1.25rem);margin-bottom:var(--space-3, .75rem);box-shadow:0 0 4px var(--color-border-light, #e5e7eb)}.cf-workflow--danger{border-color:var(--color-danger, #dc2626)}.cf-workflow__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.cf-workflow__name{margin:0;font-size:var(--font-size-base, 1rem);font-weight:var(--font-weight-bold, 700);color:var(--color-text-primary, #111827)}.cf-workflow__time{margin:.25rem 0 0;font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6b7280)}.cf-workflow__badge{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)}.cf-workflow__badge--muted{background:var(--color-warning-bg, #fef9c3);color:var(--color-warning, #ca8a04)}.cf-workflow__footer{display:flex;justify-content:flex-end;margin-top:var(--space-3, .75rem)}.cf-escalation-section{margin-top:var(--space-4, 1rem)}.cf-escalation-section__title{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-primary, #2563eb);margin:0 0 var(--space-3, .75rem);padding-bottom:var(--space-2, .5rem);border-bottom:1px solid var(--color-border-light, #e5e7eb)}.cf-escalation{background:var(--color-bg-primary, #fff);border:1px solid var(--color-border-light, #e5e7eb);border-radius:var(--radius-md, .5rem);padding:var(--space-3, .75rem) var(--space-4, 1rem);margin-bottom:var(--space-2, .5rem);box-shadow:var(--color-border-light, #e5e7eb) 1px 1px 0}.cf-escalation--warning{border-color:var(--color-warning, #ca8a04)}.cf-escalation__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.cf-escalation__info{flex:1;min-width:0}.cf-escalation__name{margin:0;font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-bold, 700);color:var(--color-text-primary, #111827)}.cf-escalation__period{margin:.125rem 0 0;font-size:var(--font-size-xs, .75rem);color:var(--color-text-secondary, #6b7280)}.cf-escalation__actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.cf-output-list{margin-top:var(--space-3, .75rem);padding-top:var(--space-3, .75rem);border-top:1px solid var(--color-border-light, #e5e7eb);list-style:none;padding-left:0}.cf-output-item{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.25rem 0;font-size:var(--font-size-sm, .875rem)}.cf-output-badge{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);min-width:58px;justify-content:center}.cf-output-badge--enabled{background:var(--color-success-bg, #dcfce7);color:var(--color-success, #16a34a)}.cf-output-badge--disabled{background:var(--color-bg-tertiary, #e5e7eb);color:var(--color-text-secondary, #6b7280)}.cf-output-badge--warning{background:var(--color-warning-bg, #fef9c3);color:var(--color-warning, #ca8a04)}.cf-output-name{color:var(--color-text-primary, #111827)}.cf-output-entities{font-size:var(--font-size-xs, .75rem);font-weight:var(--font-weight-semibold, 600);color:var(--color-text-secondary, #6b7280)}.cf-output-repeat{font-size:var(--font-size-xs, .75rem);color:var(--color-text-secondary, #6b7280)}.cf-output-empty{font-size:var(--font-size-sm, .875rem);color:var(--color-text-tertiary, #9ca3af);padding:.5rem 0}.cf-slider{padding:var(--space-4, 1rem) 0}.cf-slider__labels{display:flex;justify-content:space-between;margin-bottom:var(--space-2, .5rem);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary, #111827)}.cf-slider__track{position:relative;height:8px;background:var(--color-bg-tertiary, #e5e7eb);border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.cf-slider__fill{position:absolute;height:100%;background:var(--color-primary, #2563eb);border-radius:4px}.cf-slider__handle{position:absolute;top:50%;width:20px;height:20px;background:var(--color-bg-primary, #fff);border:2px solid var(--color-primary, #2563eb);border-radius:50%;transform:translate(-50%,-50%);cursor:grab;z-index:1;transition:box-shadow .15s ease}.cf-slider__handle:hover,.cf-slider__handle:active{box-shadow:0 0 0 4px var(--color-primary-bg, rgba(37, 99, 235, .15))}.cf-slider__handle:active{cursor:grabbing}.cf-slider__ticks{display:flex;justify-content:space-between;margin-top:.375rem;font-size:var(--font-size-2xs, .65rem);color:var(--color-text-tertiary, #9ca3af)}.cf-entity-selector{margin-top:var(--space-3, .75rem)}.ar-filter-section{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-bg-primary);margin-top:var(--space-2, .5rem)}.ar-filter-section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.ar-filter-section__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text)}.ar-filter-section__actions{display:flex;gap:var(--space-2)}.ar-filter-section__btn{padding:0;border:none;background:none;color:var(--color-primary);font-size:var(--font-size-xs);cursor:pointer;text-decoration:underline}.ar-filter-section__btn--active{font-weight:var(--font-weight-bold);color:var(--color-primary-hover, var(--color-primary));text-decoration:none;border-bottom:2px solid var(--color-primary)}.ar-filter-section__search{width:100%;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg-primary);color:var(--color-text);margin-bottom:var(--space-2);outline:none}.ar-filter-section__search:focus{border-color:var(--color-primary)}.cf-entity-col-headers{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-1) var(--space-1);border-bottom:1px solid var(--color-border-light, #e5e7eb);margin-bottom:var(--space-1)}.cf-entity-col-headers__check{width:18px;flex-shrink:0}.cf-entity-col-headers__col{flex:1;font-size:var(--font-size-xs, .75rem);font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;-webkit-user-select:none;user-select:none}.cf-entity-col-headers__col:hover{color:var(--color-text-secondary)}.ar-filter-list{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch;gap:2px}.ar-filter-list__item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;border-radius:var(--radius-sm, 4px);width:100%;min-width:0;box-sizing:border-box}.ar-filter-list__item:hover{background:var(--color-bg-secondary)}.ar-filter-list__item input[type=checkbox]{flex-shrink:0;accent-color:var(--color-primary)}.ar-filter-list__item--multi-col{width:100%}.ar-filter-list__item--multi-col .ar-filter-list__item-content--row{display:flex;flex-direction:row;flex:1;gap:var(--space-2);min-width:0}.ar-filter-list__item-content--row>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ar-filter-list__item-name{flex:1;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ar-filter-list__item-subtext{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.3}.ar-filter-list__item-content{display:flex;flex-direction:column;gap:0;min-width:0}.ar-filter-list__empty{font-size:var(--font-size-xs);color:var(--color-text-muted);padding:var(--space-2);text-align:center}.cf-delete-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:420px;margin:auto}.cf-delete-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}.cf-delete-dialog__message{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6b7280);margin:0 0 1.25rem;line-height:1.5}.cf-delete-dialog__actions{display:flex;justify-content:flex-end;gap:.75rem}.cf-output-toggles{padding:0}.cf-output-toggle-row{display:flex;align-items:flex-start;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--color-border-light, #f0f0f0)}.cf-output-toggle-row:last-child{border-bottom:none}.cf-output-toggle-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.cf-output-toggle-label{font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary, #111827)}.cf-output-repeat-input{display:flex;align-items:center;gap:.5rem;margin-top:var(--space-2, .5rem);font-size:var(--font-size-xs, .75rem);color:var(--color-text-secondary, #6b7280)}.cf-output-repeat-input input{width:60px}@media(max-width:768px){.cf-page,.cf-card{padding:var(--space-4, 1rem)}.cf-card__header{flex-direction:column;gap:.5rem}.cf-workflow{padding:var(--space-3, .75rem)}.cf-workflow__header{flex-direction:column;gap:.5rem}.cf-escalation__header{flex-direction:column;gap:.5rem;align-items:flex-start}.cf-slider__handle{width:24px;height:24px}}.cf-entity-section-label{font-size:var(--font-size-xs, .75rem);font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin:var(--space-2, .5rem) 0 var(--space-1, .25rem)}.cf-inline-confirm{width:100%;padding:var(--space-3, .75rem);border-radius:var(--radius-md, .5rem);background:#e637570f;border:1px solid rgba(230,55,87,.2)}.cf-inline-confirm__message{margin:0 0 var(--space-3, .75rem);font-size:var(--font-size-sm, .8125rem);color:var(--color-text-primary);line-height:1.4}.cf-inline-confirm__actions{display:flex;justify-content:flex-end;gap:var(--space-2, .5rem)}.ct-page{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--color-bg-primary)}.ct-page-header{flex-shrink:0;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.ct-page-header__inner{max-width:100%;margin:0 auto;padding:var(--space-4) var(--space-6)}.ct-breadcrumb-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.ct-breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm)}.ct-breadcrumb__text,.ct-breadcrumb__separator{color:var(--color-text-tertiary)}.ct-breadcrumb__current{color:var(--color-text-heading);font-weight:var(--font-weight-medium)}.ct-campus-row{display:flex;align-items:center;gap:var(--space-2)}.ct-campus-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.ct-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)}.ct-campus-select:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.ct-campus-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading)}.ct-page-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-heading);margin:0}.ct-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}.ct-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)}.ct-controls__left{display:flex;align-items:center;gap:var(--space-3)}.ct-controls__right{display:flex;align-items:center;gap:var(--space-2)}.ct-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}.ct-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)}.ct-btn--secondary:hover{background:var(--color-bg-hover)}.ct-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)}.ct-btn--primary:hover{opacity:.9}.ct-search{position:relative}.ct-search__icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.ct-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)}.ct-search__input::placeholder{color:var(--color-text-tertiary)}.ct-search__input:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.ct-icon-md{width:1rem;height:1rem;flex-shrink:0}.ct-icon-xl{width:2.5rem;height:2.5rem}.ct-toast{position:fixed;top:var(--space-4);left:50%;transform:translate(-50%);z-index:9999;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);max-width:420px;box-shadow:var(--shadow-lg);animation:ct-toast-in .25s ease-out}.ct-toast--success{background:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-success-border)}.ct-toast--error{background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid var(--color-danger-border)}.ct-toast__close{background:none;border:none;font-size:18px;cursor:pointer;color:inherit;opacity:.7;padding:0;line-height:1}.ct-toast__close:hover{opacity:1}@keyframes ct-toast-in{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.ct-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)}.ct-table{width:100%;min-width:100%;border-collapse:separate;border-spacing:0}.ct-thead{position:sticky;top:0;z-index:10;background:var(--color-bg-tertiary)}.ct-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:capitalize;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);white-space:nowrap}.ct-th--checkbox{width:2.5rem;padding:var(--space-3)}.ct-th--actions{width:3rem;padding:var(--space-3)}.ct-th__content{display:flex;align-items:center}.ct-th__sort-btn{display:flex;align-items:center;gap:2px;background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.ct-th__sort-btn:hover{color:var(--color-text-primary);background-color:transparent}.ct-sort-icon{margin-left:var(--space-1)}.ct-sort-icon--neutral{opacity:.4}.ct-tbody .ct-tr{transition:background-color var(--transition-fast)}.ct-tbody .ct-tr+.ct-tr{border-top:1px solid var(--color-border-light)}.ct-tbody .ct-tr:hover{background:var(--color-bg-hover)}.ct-tbody .ct-tr.is-selected{background:var(--color-primary-light)}.ct-td{padding:var(--space-2-5) var(--space-4);white-space:nowrap;font-size:var(--font-size-sm);color:var(--color-text-primary)}.ct-td--checkbox{width:2.5rem;padding:var(--space-2-5) var(--space-3)}.ct-td--actions{width:3rem;padding:var(--space-2-5) var(--space-3)}.ct-checkbox{width:1rem;height:1rem;border-radius:var(--radius-sm);accent-color:var(--color-primary);cursor:pointer}.ct-checkbox:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.ct-checkbox:disabled{opacity:.5}.ct-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ct-output-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap}.ct-output-badge--global{background:var(--color-info-bg);color:var(--color-info-text)}.ct-output-badge--mobile{background:var(--color-success-bg);color:var(--color-success-text)}.ct-output-badge--text{background:#e8f4fd;color:#1565c0}.ct-output-badge--voice{background:#f3e5f5;color:#7b1fa2}.ct-output-badge--email{background:#fff3e0;color:#e65100}.ct-output-badge--pager{background:var(--color-warning-bg);color:var(--color-warning-text)}[data-theme=dark] .ct-output-badge--text{background:#1565c033;color:#64b5f6}[data-theme=dark] .ct-output-badge--voice{background:#7b1fa233;color:#ce93d8}[data-theme=dark] .ct-output-badge--email{background:#e6510033;color:#ffb74d}.ct-td--format{white-space:normal}.ct-format-cell{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.ct-preview-cell{position:relative;display:inline-block}.ct-preview-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);white-space:nowrap}.ct-preview-badge:hover{background:#0081c726}.ct-preview-badge--empty{background:var(--color-bg-tertiary);color:var(--color-text-tertiary);box-shadow:none;cursor:default}.ct-icon-sm{width:.875rem;height:.875rem;flex-shrink:0}.ct-preview-popover{position:absolute;z-index:var(--z-popover);width:20rem;border-radius:var(--radius-lg);background:var(--color-bg-secondary);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);padding:0;overflow:hidden}.ct-preview-popover__title{display:block;width:100%;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:var(--space-2) var(--space-3);margin:0;border-bottom:1px solid var(--color-border-light);background:var(--color-bg-tertiary)}.ct-preview-popover__body{padding:var(--space-3)}.ct-preview-popover__text{margin:0;font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:1.6;word-break:break-word;white-space:normal;overflow-wrap:break-word}.ct-token{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1.6}.ct-token--field{background:#0081c71f;color:var(--color-brand);border:1px solid rgba(0,129,199,.25)}.ct-token--custom{background:#f5a6231f;color:#b87a00;border:1px solid rgba(245,166,35,.3)}[data-theme=dark] .ct-token--custom{color:#f5a623}.ct-token--preview{padding:1px 6px;font-size:11px;border:none;background:#0081c714;color:var(--color-text-secondary)}.ct-token--preview.ct-token--custom{background:#f5a62314;color:#b87a00}[data-theme=dark] .ct-token--preview.ct-token--custom{color:#f5a623}.ct-token__label{white-space:nowrap}.ct-token__input{background:transparent;border:none;border-bottom:1px dashed currentColor;color:inherit;font:inherit;font-size:var(--font-size-xs);width:100px;min-width:60px;padding:0 2px;outline:none}.ct-token__input:focus{border-bottom-style:solid}.ct-token__input::placeholder{color:inherit;opacity:.5}.ct-token__remove{background:none;border:none;cursor:pointer;color:inherit;font-size:14px;line-height:1;padding:0 2px;opacity:.6}.ct-token__remove:hover{opacity:1}.ct-row-actions{position:relative;display:inline-block}.ct-row-actions__trigger{background:none;border:none;cursor:pointer;padding:var(--space-1);border-radius:var(--radius-md);color:var(--color-text-tertiary);display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;transition:background var(--transition-fast)}.ct-row-actions__trigger:hover{background:var(--color-bg-hover);color:var(--color-text-body)}.ct-row-actions__menu{position:absolute;left:0;z-index:var(--z-popover);min-width:180px;background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-1) 0}.ct-row-actions__item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:none;border:none;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-body);transition:background var(--transition-fast);text-align:left}.ct-row-actions__item:hover{background:var(--color-bg-hover)}.ct-row-actions__item--danger{color:var(--color-danger)}.ct-row-actions__item--danger:hover{background:var(--color-danger-bg)}.ct-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-4);text-align:center}.ct-empty__icon-wrap{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;margin-bottom:var(--space-4)}.ct-empty__icon{color:var(--color-text-tertiary)}.ct-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)}.ct-empty__text{font-size:var(--font-size-sm);color:var(--color-text-secondary);max-width:24rem;margin-bottom:var(--space-6)}.ct-bulk-bar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);background:var(--color-info-bg);border:1px solid var(--color-info-border);border-radius:var(--radius-lg);font-size:var(--font-size-sm)}.ct-bulk-bar__count{font-weight:var(--font-weight-semibold);color:var(--color-info-text)}.ct-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)}.ct-pagination__info{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ct-pagination__emphasis{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.ct-pagination__controls{display:flex;align-items:center;gap:var(--space-3)}.ct-per-page{display:flex;align-items:center;gap:var(--space-1-5)}.ct-per-page__label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ct-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)}.ct-per-page__select:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.ct-page-nav{display:flex;align-items:center;gap:var(--space-1)}.ct-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)}.ct-page-btn:hover:not(:disabled){background:var(--color-bg-hover)}.ct-page-btn:disabled{opacity:.4;cursor:not-allowed}.ct-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)}.ct-page-num:hover{background:var(--color-bg-hover)}.ct-page-num.is-active{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.ct-drawer__overlay{position:fixed;inset:0;z-index:var(--z-modal-bg);background:var(--color-bg-overlay);animation:ct-fade-in .2s ease-out}.ct-drawer{position:fixed;top:0;right:0;bottom:0;z-index:var(--z-modal);display:flex;flex-direction:column;background:var(--color-bg-primary);box-shadow:var(--shadow-xl);animation:ct-slide-in .25s ease-out;overflow:hidden}.ct-drawer--lg{width:560px;max-width:100vw}@keyframes ct-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ct-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.ct-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}.ct-drawer__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-heading);margin:0}.ct-drawer__close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--color-text-tertiary);padding:0;line-height:1}.ct-drawer__close:hover{color:var(--color-text-body)}.ct-drawer__body{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.ct-drawer__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border);flex-shrink:0;position:sticky;bottom:0;background:var(--color-bg-primary)}.ct-drawer__section-card{border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);background:var(--color-bg-secondary)}.ct-drawer__section-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:0 0 var(--space-2) 0}.ct-drawer__select{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-text-body);font-size:var(--font-size-sm);min-height:var(--input-min-height)}.ct-drawer__readonly-value{padding:var(--space-2) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-body)}.ct-builder__composition{min-height:80px}.ct-builder__empty{display:flex;align-items:center;justify-content:center;min-height:80px;color:var(--color-text-tertiary);font-size:var(--font-size-sm);border:2px dashed var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-3)}.ct-builder__empty p{margin:0}.ct-builder__tokens{display:flex;flex-direction:column;gap:var(--space-2)}.ct-builder__token-row{display:flex;align-items:center;gap:var(--space-2)}.ct-builder__token-order{display:flex;flex-direction:column;gap:0;flex-shrink:0}.ct-builder__move-btn{background:none;border:none;cursor:pointer;padding:0;color:var(--color-text-tertiary);font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;width:20px;height:14px;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.ct-builder__move-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-body)}.ct-builder__move-btn:disabled{opacity:.25;cursor:not-allowed}.ct-builder__fields{display:flex;flex-direction:column;gap:var(--space-1)}.ct-field-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-bg-primary);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-body);transition:all var(--transition-fast);text-align:left}.ct-field-btn:hover:not(:disabled){border-color:var(--color-brand);background:#0081c70a}.ct-field-btn--disabled{opacity:.5;cursor:not-allowed;background:var(--color-bg-tertiary)}.ct-field-btn--custom{border-style:dashed;color:#b87a00}[data-theme=dark] .ct-field-btn--custom{color:#f5a623}.ct-field-btn--custom:hover:not(:disabled){border-color:#f5a623;background:#f5a6230a}.ct-field-btn__label{font-weight:var(--font-weight-medium);display:flex;align-items:center}.ct-field-btn__added{margin-left:var(--space-2);font-weight:var(--font-weight-normal);color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.ct-field-btn__example{font-size:var(--font-size-xs);color:var(--color-text-tertiary);white-space:nowrap}.ct-preview-card{padding:var(--space-3);border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-bg-primary);min-height:48px}.ct-preview-card__text{margin:0;font-size:var(--font-size-sm);color:var(--color-text-body);line-height:1.6;word-break:break-word}.ct-preview-card__placeholder{margin:0;font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-style:italic}@media(max-width:768px){.ct-page-header__inner,.ct-content{padding-left:var(--space-3);padding-right:var(--space-3)}.ct-breadcrumb-row{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.ct-controls{flex-direction:column;align-items:stretch}.ct-search__input{width:100%}.ct-controls__right{justify-content:flex-end}.ct-drawer--lg{width:100vw}.ct-pagination{flex-direction:column;align-items:stretch;gap:var(--space-2)}}@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;text-transform:capitalize;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);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);background-color:transparent}.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-login-cell{position:relative;display:inline-block}.up-login-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);cursor:default;border:none;background:transparent;transition:background-color var(--transition-fast)}.up-login-badge:hover{cursor:pointer}.up-login-badge--online{background:var(--color-success-bg);color:var(--color-success-text);box-shadow:inset 0 0 0 1px #00d97e33}.up-login-badge--online:hover{background:#00d97e26}.up-login-badge--offline{background:var(--color-bg-tertiary);color:var(--color-text-secondary);box-shadow:inset 0 0 0 1px var(--color-border-light)}.up-login-badge--offline:hover{background:var(--color-bg-hover)}.up-login-badge__dot{display:inline-block;width:6px;height:6px;border-radius:var(--radius-full)}.up-login-badge--online .up-login-badge__dot{background:var(--color-success)}.up-login-badge--offline .up-login-badge__dot{background:var(--color-text-tertiary)}.up-login-popover{position:fixed;z-index:9999;width:max-content;max-width:20rem;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) var(--space-3)}.up-login-popover__text{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:1.4;white-space:nowrap}.up-login-popover__devices{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border-light)}.up-login-popover__devices-label{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.up-login-popover__device-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.up-login-popover__device-item{display:flex;align-items:flex-start;gap:var(--space-2)}.up-login-popover__device-icon{width:1rem;height:1rem;color:var(--color-text-tertiary);flex-shrink:0;margin-top:1px}.up-login-popover__device-info{display:flex;flex-direction:column;gap:1px;min-width:0}.up-login-popover__device-model{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap}.up-login-popover__device-os{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--color-text-tertiary);white-space:nowrap}.up-users-cell{position:relative;display:inline-block}.up-group-pills{display:flex;flex-wrap:wrap;gap:4px}.up-group-pill{display:inline-block;padding:2px 10px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:var(--color-bg-hover, #e8ecf1);border-radius:var(--radius-full, 9999px);white-space:nowrap;line-height:1.5}.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%);overflow:hidden}.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);min-width:11rem;width:max-content;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;white-space:nowrap;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;gap:var(--space-6);padding:0 var(--space-6);border-bottom:1px solid var(--color-border)}.up-drawer-tab{position:relative;flex:1;padding:var(--space-3) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:center;color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;transition:color var(--transition-fast)}.up-drawer-tab:hover,.up-drawer-tab:focus,.up-drawer-tab:active{color:var(--color-text-primary);background:transparent;outline:none;box-shadow:none}.up-drawer-tab.is-active,.up-drawer-tab.is-active:hover,.up-drawer-tab.is-active:focus,.up-drawer-tab.is-active:active{color:var(--color-primary);background:transparent;outline:none;box-shadow:none}.up-drawer-tab.is-active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-primary);border-radius:1px 1px 0 0}.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:hidden}.up-form__body{flex:1 1 0;overflow-y:auto;padding:var(--space-5) var(--space-6)}.up-form__body>*+*{margin-top:var(--space-5)}.up-form-section{background:var(--color-bg-primary, #fff);border:1px solid var(--color-border);border-radius:var(--radius-lg, 8px);padding:var(--space-5) var(--space-5)}.up-form-section>*+*{margin-top:var(--space-4)}.up-form-section__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0 0 var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.up-form__footer{flex-shrink:0;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);background:var(--color-bg-secondary)}.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__action-btn--active{font-weight:var(--font-weight-bold);color:var(--color-primary-hover, var(--color-primary));border-bottom:2px solid var(--color-primary)}.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)}.up-users-popover--up,.up-row-actions__menu--up{bottom:100%;top:auto;margin-top:0;margin-bottom:var(--space-1, .25rem)}.na-page{min-height:100vh;background:var(--color-bg-primary);display:flex;flex-direction:column}.na-page--fullscreen{position:fixed;inset:0;z-index:9000}.na-header{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);padding:var(--space-3) var(--space-6);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.na-header__left{display:flex;align-items:center;gap:var(--space-4)}.na-header__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-heading);margin:0}.na-header__right{display:flex;align-items:center;gap:var(--space-3)}.na-tab-bar{display:flex;gap:var(--space-6);padding:0 var(--space-6);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);flex-shrink:0}.na-tab{position:relative;padding:var(--space-3) 0;cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);background:none;border:none;display:flex;align-items:center;gap:var(--space-2);transition:color var(--transition-fast)}.na-tab:hover,.na-tab:focus,.na-tab:active{color:var(--color-text-primary);background:transparent;outline:none;box-shadow:none}.na-tab.is-active,.na-tab.is-active:hover,.na-tab.is-active:focus,.na-tab.is-active:active{color:var(--color-primary);background:transparent;outline:none;box-shadow:none}.na-tab.is-active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-primary);border-radius:1px 1px 0 0}.na-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-bold);line-height:1}.na-badge--danger{background:var(--color-danger);color:#fff}.na-badge--info{background:var(--color-primary);color:#fff}.na-content{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-6)}.na-row-border{border-left-width:6px;border-left-style:solid}.na-status{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:default}.na-status--waiting{background:var(--color-warning-bg);color:var(--color-warning-text)}.na-status--overdue{background:var(--color-danger-bg);color:var(--color-danger)}.na-status--accepted,.na-status--cleared,.na-status--arrived{background:#0081c71a;color:var(--color-primary)}.na-duration{font-family:monospace;font-size:var(--font-size-sm);color:var(--color-text-primary)}.na-sound-toggle{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:pointer}.na-sound-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary)}.na-sync-dot{width:10px;height:10px;border-radius:var(--radius-full);flex-shrink:0}.na-sync-dot--connected{background:var(--color-success)}.na-sync-dot--stale{background:var(--color-warning)}.na-sync-dot--disconnected{background:var(--color-danger)}.na-sync{display:flex;align-items:center;gap:6px;font-size:var(--font-size-xs);color:var(--color-text-muted);cursor:default}.na-stack{display:flex;flex-direction:column;gap:1px}.na-stack__sub{font-size:var(--font-size-xs);color:var(--color-text-muted)}.na-type-tag{display:inline-flex;align-items:center;border-radius:var(--radius-sm);background:var(--color-bg-tertiary);padding:2px var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:default;white-space:nowrap}.na-type-popover{position:fixed;z-index:9999;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-2) var(--space-3);display:flex;flex-direction:column;gap:2px;white-space:nowrap}.na-clear-btn{padding:4px 12px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border:1px solid var(--color-border-input);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.na-clear-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-focus)}.na-clear-btn:disabled{opacity:.5;cursor:not-allowed}.na-status-popover{position:fixed;z-index:9999;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-3) var(--space-4);max-width:280px;font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.5;word-wrap:break-word;overflow-wrap:break-word;white-space:normal}.na-empty{text-align:center;padding:var(--space-8);color:var(--color-text-muted)}.na-empty__icon{font-size:40px;margin-bottom:var(--space-3)}.na-empty__text{font-size:var(--font-size-sm)}@media(max-width:768px){.na-header{flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4)}.na-content{padding:var(--space-3) var(--space-4)}.na-tab-bar{padding:0 var(--space-4);overflow-x:auto}}.dm-page{min-height:100vh;background:var(--color-bg-primary);display:flex;flex-direction:column}.dm-content{flex:1;padding:var(--space-4) var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.dm-card-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}@media(max-width:768px){.dm-card-row{grid-template-columns:1fr}}.dm-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-card)}.dm-card__header{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0 0 var(--space-4) 0;padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.dm-card__body{display:flex;flex-direction:column;gap:var(--space-3)}.dm-field__label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--space-1)}.dm-field__select,.dm-field__input{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) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-primary);box-shadow:var(--shadow-xs)}.dm-field__select:focus,.dm-field__input:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.dm-field__select:disabled,.dm-field__input:disabled{opacity:.5;cursor:not-allowed}.dm-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.dm-btn--danger{display:inline-flex;align-items:center;gap:var(--space-1-5);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border:none;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:var(--color-danger);color:#fff}.dm-btn--danger:hover{background:#cc1f1f}.dm-btn--danger:disabled{opacity:.5;cursor:not-allowed}.dm-spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:dm-spin .8s linear infinite;margin-right:var(--space-1)}@keyframes dm-spin{to{transform:rotate(360deg)}}.dm-sim-config{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--space-3)}@media(max-width:768px){.dm-sim-config{grid-template-columns:1fr}}.dm-sim-results{border:1px solid var(--color-border-medium);border-radius:var(--radius-md);background:var(--color-bg-secondary);overflow-y:auto;max-height:350px;min-height:200px;padding:var(--space-2) var(--space-3);margin-top:var(--space-3)}.dm-sim-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.dm-sim-table th{border-bottom:2px solid var(--color-border);text-align:left;padding:var(--space-2);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);white-space:nowrap}.dm-sim-table td{border-bottom:1px solid var(--color-border);padding:var(--space-2);vertical-align:top;color:var(--color-text-primary)}.dm-section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0 0 var(--space-3) 0}.dm-sim-empty{display:flex;align-items:center;justify-content:center;height:100%;min-height:160px;font-size:var(--font-size-sm);color:var(--color-text-muted)}.dm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}@media(max-width:768px){.dm-form-grid{grid-template-columns:1fr}}.dm-sim-config--2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}@media(max-width:768px){.dm-sim-config--2col{grid-template-columns:1fr}}@media(max-width:768px){.dm-content{padding:var(--space-3) var(--space-4)}}@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-campus-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading)}.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:capitalize;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);background-color:transparent}.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);min-width:11rem;width:max-content;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;white-space:nowrap;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-group-pills{display:flex;flex-wrap:wrap;gap:4px}.rp-group-pill{display:inline-block;padding:2px 10px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:var(--color-bg-hover, #e8ecf1);border-radius:var(--radius-full, 9999px);white-space:nowrap;line-height:1.5}.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{min-width:14rem;max-width:22rem;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)}.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:baseline;gap:var(--space-3);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm);white-space:nowrap}.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;display:flex;flex-direction:column}.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;gap:var(--space-6);padding:0 var(--space-6);border-bottom:1px solid var(--color-border)}.rp-drawer-tab{position:relative;flex:1;padding:var(--space-3) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:center;color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;transition:color var(--transition-fast)}.rp-drawer-tab:hover,.rp-drawer-tab:focus,.rp-drawer-tab:active{color:var(--color-text-primary);background:transparent;outline:none;box-shadow:none}.rp-drawer-tab.is-active,.rp-drawer-tab.is-active:hover,.rp-drawer-tab.is-active:focus,.rp-drawer-tab.is-active:active{color:var(--color-primary);background:transparent;outline:none;box-shadow:none}.rp-drawer-tab.is-active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-primary);border-radius:1px 1px 0 0}.rp-drawer__body{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.rp-drawer__body-padded{padding:var(--space-4);flex:1;overflow-y:auto;min-height:0}.rp-drawer-sticky{flex-shrink:0;padding:var(--space-4);padding-bottom:var(--space-1);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border)}.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);margin:0}.rp-drawer-item__meta{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0}.rp-drawer-item__link{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-semibold)}.rp-drawer-item__link:hover{text-decoration:underline}.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,.rp-drawer-empty__link:focus,.rp-drawer-empty__link:active{color:var(--color-primary-hover);background:transparent;outline:none;box-shadow:none}.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%);overflow:hidden}.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__action-btn--active{font-weight:var(--font-weight-bold);color:var(--color-primary-hover, var(--color-primary));border-bottom:2px solid var(--color-primary)}.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)}.rp-group-residents-popover--up,.rp-row-actions__menu--up{bottom:100%;top:auto;margin-top:0;margin-bottom:var(--space-1, .25rem)}@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-campus-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading)}.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:capitalize;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);background-color:transparent}.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%);overflow:hidden}.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-group-pills{display:flex;flex-wrap:wrap;gap:4px}.ap-group-pill{display:inline-block;padding:2px 10px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:var(--color-bg-hover, #e8ecf1);border-radius:var(--radius-full, 9999px);white-space:nowrap;line-height:1.5}.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{min-width:14rem;max-width:22rem;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);overflow:hidden}.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;flex-direction:column;gap:2px;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);word-break:break-word;overflow-wrap:break-word}.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%);overflow:hidden}.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);min-width:11rem;width:max-content;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;white-space:nowrap;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);flex-shrink:0;width:1rem;height:1rem;font-size:1rem;line-height:1}i.ap-row-actions__item-icon:hover{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;gap:var(--space-6);padding:0 var(--space-6);border-bottom:1px solid var(--color-border)}.ap-drawer-tab{position:relative;flex:1;padding:var(--space-3) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:center;color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;transition:color var(--transition-fast)}.ap-drawer-tab:hover,.ap-drawer-tab:focus,.ap-drawer-tab:active{color:var(--color-text-primary);background:transparent;outline:none;box-shadow:none}.ap-drawer-tab.is-active,.ap-drawer-tab.is-active:hover,.ap-drawer-tab.is-active:focus,.ap-drawer-tab.is-active:active{color:var(--color-primary);background:transparent;outline:none;box-shadow:none}.ap-drawer-tab.is-active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-primary);border-radius:1px 1px 0 0}.ap-drawer__body{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.ap-drawer__body-padded{padding:var(--space-4);flex:1;overflow-y:auto;min-height:0}.ap-drawer-sticky{flex-shrink:0;padding:var(--space-4);padding-bottom:var(--space-1);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border)}.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__info{min-width:0;flex:1}.ap-drawer-item__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading)}.ap-drawer-item__meta{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:2px}.ap-drawer-item__link{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-semibold)}.ap-drawer-item__link:hover{text-decoration:underline}.ap-drawer-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-drawer-btn--remove{color:var(--color-danger);background:transparent}.ap-drawer-btn--remove:hover{background:var(--color-danger-bg)}.ap-drawer-btn--assign{color:var(--color-primary);background:var(--color-primary-light, rgba(0, 129, 199, .08))}.ap-drawer-btn--assign:hover{background:#0081c726}.ap-drawer-btn--reassign{color:var(--color-warning-text, #92600a);background:var(--color-warning-bg, #fff8e6);border:1px solid var(--color-warning-border, #f0c674)}.ap-drawer-btn--reassign:hover{background:var(--color-warning-bg-hover, #fff3d0)}.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,.ap-drawer-empty__link:focus,.ap-drawer-empty__link:active{color:var(--color-primary-hover);background:transparent;outline:none;box-shadow:none}.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, #92600a)}.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__action-btn--active{font-weight:var(--font-weight-bold);color:var(--color-primary-hover, var(--color-primary));border-bottom:2px solid var(--color-primary)}.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-popover--up,.ap-device-popover--up,.ap-areas-popover--up,.ap-row-actions__menu--up{bottom:100%;top:auto;margin-top:0;margin-bottom:var(--space-1, .25rem)}.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{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__link{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-semibold)}.ap-device-picker__link:hover{text-decoration:underline}.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:repeat(2,minmax(500px,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;height:400px}.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 1fr;gap:var(--space-4) var(--space-6);flex:1;min-width:0}@media(max-width:768px){.rpp-info-grid{grid-template-columns:1fr 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-contacts-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-3)}.rpp-contact-card{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg-secondary, #f8f9fa);transition:box-shadow var(--transition-fast)}.rpp-contact-card:hover{box-shadow:var(--shadow-sm)}.rpp-contact-card__header{display:flex;align-items:baseline;gap:var(--space-2);padding-right:var(--space-6)}.rpp-contact-card__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.rpp-contact-card__relationship{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-style:italic}.rpp-contact-card__details{display:flex;flex-direction:column;gap:var(--space-1)}.rpp-contact-card__item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.rpp-contact-card__icon{width:.875rem;height:.875rem;flex-shrink:0;color:var(--color-text-tertiary)}.rpp-contact-card__link{color:var(--color-primary);text-decoration:none}.rpp-contact-card__link:hover{text-decoration:underline}.rpp-contact-card__actions{position:absolute;top:var(--space-2);right:var(--space-2);display:flex;gap:2px;opacity:0;transition:opacity var(--transition-fast)}.rpp-contact-card:hover .rpp-contact-card__actions{opacity:1}.rpp-contact-card__action-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:all var(--transition-fast);font-size:16px}.rpp-contact-card__action-btn:hover{background:var(--color-bg-hover);color:var(--color-primary)}.rpp-contact-card__action-btn--danger:hover{background:#e637571a;color:#e63757}.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{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__link{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-semibold)}.rpp-device-picker__link:hover{text-decoration:underline}.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}.cup-header-actions{display:flex;gap:.5rem;align-items:center}.cup-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;padding:0 .375rem;margin-left:.375rem;font-size:var(--font-size-xs, .75rem);font-weight:600;line-height:1.25rem;color:var(--color-text-muted, #6b7280);background:var(--color-bg-muted, #f3f4f6);border-radius:9999px}.pp-tab.is-active .cup-tab-count{color:var(--color-primary, #2563eb);background:var(--color-primary-bg, #dbeafe)}.upp-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-6)}@media(max-width:768px){.upp-info-grid{grid-template-columns:1fr}}.upp-groups-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.upp-group-tag{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.upp-role-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background:#0081c71a;color:var(--color-primary)}.upp-lifecycle-actions{display:flex;gap:var(--space-2);align-items:center}.upp-title-row{display:flex;gap:var(--space-2);align-items:flex-start}.upp-title-row>select,.upp-title-row>input{flex:1}.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;gap:var(--space-6);padding:0 var(--space-6);border-bottom:1px solid var(--color-border)}.crpp-drawer-tab{position:relative;flex:1;padding:var(--space-3) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:center;color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;transition:color var(--transition-fast)}.crpp-drawer-tab:hover,.crpp-drawer-tab:focus,.crpp-drawer-tab:active{color:var(--color-text-primary);background:transparent;outline:none;box-shadow:none}.crpp-drawer-tab.is-active,.crpp-drawer-tab.is-active:hover,.crpp-drawer-tab.is-active:focus,.crpp-drawer-tab.is-active:active{color:var(--color-primary);background:transparent;outline:none;box-shadow:none}.crpp-drawer-tab.is-active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-primary);border-radius:1px 1px 0 0}.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}.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{height:40px;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}.cpp-location-map{position:relative;z-index:0;height:250px;border-radius:var(--radius-lg, .75rem);overflow:hidden;margin-top:var(--space-4, 1rem)}.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}.cpp-location-map{height:200px}.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}}.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:var(--space-6);padding:0 var(--space-6);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.pp-tab{position:relative;flex:0 0 auto;padding:var(--space-3) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;transition:color var(--transition-fast);white-space:nowrap}.pp-tab:hover,.pp-tab:focus,.pp-tab:active{color:var(--color-text-primary);background:transparent;outline:none;box-shadow:none}.pp-tab.is-active,.pp-tab.is-active:hover,.pp-tab.is-active:focus,.pp-tab.is-active:active{color:var(--color-primary);background:transparent;outline:none;box-shadow:none}.pp-tab.is-active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-primary);border-radius:1px 1px 0 0}.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 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}.dp-toggle{position:relative;display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0}.dp-toggle input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;margin:0;padding:0;pointer-events:none}.dp-toggle__track{position:relative;display:inline-block;width:36px;min-width:36px;height:20px;background:var(--color-bg-tertiary, #d1d5db);border-radius:9999px;transition:background .2s ease}.dp-toggle__track: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}.dp-toggle input[type=checkbox]:checked+.dp-toggle__track{background:var(--color-primary, #2563eb)}.dp-toggle input[type=checkbox]:checked+.dp-toggle__track:after{transform:translate(16px)}.dp-toggle input[type=checkbox]:focus-visible+.dp-toggle__track{box-shadow:0 0 0 2px var(--color-primary-light, #93c5fd)}.dp-toggle input[type=checkbox]:disabled+.dp-toggle__track{opacity:.4;cursor:not-allowed}.dp-toggle:has(input[type=checkbox]:disabled){cursor:not-allowed}@media(max-width:768px){.dp-toggle input[type=checkbox]{min-height:0}.pp-field-grid{grid-template-columns:1fr}}.ep-flow-timeline{display:flex;align-items:flex-start;gap:0;overflow-x:auto;padding:var(--space-2) 0}.ep-flow-step{display:flex;flex-direction:column;align-items:center;min-width:120px;text-align:center;flex-shrink:0}.ep-flow-step__dot{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#fff;background:var(--color-primary);border:3px solid var(--color-primary);margin-bottom:var(--space-2);position:relative;z-index:1}.ep-flow-step--pending .ep-flow-step__dot{background:var(--color-bg-tertiary);border-color:var(--color-border-medium);color:var(--color-text-tertiary)}.ep-flow-step__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin-bottom:2px}.ep-flow-step--pending .ep-flow-step__label{color:var(--color-text-tertiary)}.ep-flow-step__time{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-family:var(--font-mono, monospace);white-space:nowrap}.ep-flow-step--pending .ep-flow-step__time{color:var(--color-text-tertiary)}.ep-flow-step__badge{font-size:10px;color:var(--color-text-muted);margin-top:2px}.ep-flow-connector{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-width:80px;padding-top:6px}.ep-flow-connector__line{width:100%;height:2px;background:var(--color-primary);position:relative}.ep-flow-connector--pending .ep-flow-connector__line{background:var(--color-border-medium);border-style:dashed}.ep-flow-connector__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-top:var(--space-1);white-space:nowrap}.ep-flow-connector__duration{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);font-family:var(--font-mono, monospace)}.ep-flow-connector--pending .ep-flow-connector__label,.ep-flow-connector--pending .ep-flow-connector__duration{color:var(--color-text-tertiary)}.ep-flow-totals{display:flex;gap:var(--space-9);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.ep-flow-total{display:flex;flex-direction:column;gap:2px}.ep-flow-total__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.ep-flow-total__value{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);font-family:var(--font-mono, monospace)}.ep-notes-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.ep-notes-controls__left,.ep-notes-controls__right{display:flex;align-items:center;gap:var(--space-2)}.ep-edit-reason-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:var(--color-bg-tertiary);color:var(--color-primary);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast),color var(--transition-fast);margin-left:var(--space-2);vertical-align:middle;font-size:14px}.ep-edit-reason-btn:hover{background:var(--color-bg-hover);color:var(--color-primary-hover, var(--color-primary))}.cp-stacked-cell{display:flex;flex-direction:column;gap:.125rem;line-height:1.3}.cp-drawer-tabs{display:flex;gap:var(--space-6);padding:0 var(--space-6);border-bottom:1px solid var(--color-border)}.cp-drawer-tab{position:relative;flex:1;padding:var(--space-3) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:center;color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;transition:color var(--transition-fast)}.cp-drawer-tab:hover,.cp-drawer-tab:focus,.cp-drawer-tab:active{color:var(--color-text-primary);background:transparent;outline:none;box-shadow:none}.cp-drawer-tab.is-active,.cp-drawer-tab.is-active:hover,.cp-drawer-tab.is-active:focus,.cp-drawer-tab.is-active:active{color:var(--color-primary);background:transparent;outline:none;box-shadow:none}.cp-drawer-tab.is-active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-primary);border-radius:1px 1px 0 0}.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}.cp-drawer-title-row{display:flex;align-items:center}.crp-campuses-cell{display:block;max-width:28rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crp-drawer-tabs{display:flex;gap:var(--space-6);padding:0 var(--space-6);border-bottom:1px solid var(--color-border)}.crp-drawer-tab{position:relative;flex:1;padding:var(--space-3) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:center;color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;transition:color var(--transition-fast)}.crp-drawer-tab:hover,.crp-drawer-tab:focus,.crp-drawer-tab:active{color:var(--color-text-primary);background:transparent;outline:none;box-shadow:none}.crp-drawer-tab.is-active,.crp-drawer-tab.is-active:hover,.crp-drawer-tab.is-active:focus,.crp-drawer-tab.is-active:active{color:var(--color-primary);background:transparent;outline:none;box-shadow:none}.crp-drawer-tab.is-active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-primary);border-radius:1px 1px 0 0}.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)}@media(max-width:768px){.dp-breadcrumb,.dp-breadcrumb__separator{display:none}.dp-campus-select{max-width:320px}}.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:capitalize;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);background-color:transparent}.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);min-width:11rem;width:max-content;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;white-space:nowrap;transition:background-color var(--transition-fast)}a.dp-row-actions__item{text-decoration:none;color:inherit}.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-sticky{flex-shrink:0;padding:var(--space-5);padding-bottom:var(--space-2);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-3)}.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}}.dp-row-actions__menu--up{bottom:100%;top:auto;margin-top:0;margin-bottom:var(--space-1, .25rem)}.dp-listen-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.dp-listen-progress{position:relative;height:22px;background:var(--color-bg-hover);border-radius:var(--radius-sm);margin-top:var(--space-2);overflow:hidden}.dp-listen-progress__bar{height:100%;background:var(--color-primary);border-radius:var(--radius-sm);transition:width 1s linear;opacity:.25}.dp-listen-progress__text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}@keyframes dp-listen-pulse{0%,to{opacity:.25}50%{opacity:.45}}.dp-listen-progress__bar{animation:dp-listen-pulse 2s ease-in-out infinite}.ehr-tab-bar{flex-shrink:0;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.ehr-tab-bar__inner{display:flex;gap:var(--space-6);max-width:100%;margin:0 auto;padding:0 var(--space-6)}.ehr-tab{position:relative;flex:0 0 auto;padding:var(--space-3) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);background:transparent;border:none;cursor:pointer;transition:color var(--transition-fast);white-space:nowrap}.ehr-tab:hover,.ehr-tab:focus,.ehr-tab:active{color:var(--color-text-primary);background:transparent;outline:none;box-shadow:none}.ehr-tab.is-active,.ehr-tab.is-active:hover,.ehr-tab.is-active:focus,.ehr-tab.is-active:active{color:var(--color-primary);background:transparent;outline:none;box-shadow:none}.ehr-tab.is-active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-primary);border-radius:1px 1px 0 0}.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-task-row--pending{cursor:not-allowed;opacity:.55;background:var(--color-bg-tertiary, #f9fafb)}.ehr-task-row--pending:hover{background:var(--color-bg-tertiary, #f9fafb)}.ehr-pending-banner-row{border-bottom:1px solid var(--color-border, #e5e7eb)}.ehr-pending-banner-row:hover{background:transparent}.ehr-pending-banner-cell{padding:0!important}.ehr-pending-banner{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem 1rem .625rem;background:var(--color-warning-bg, #fffbeb);border-top:1px solid var(--color-warning-border, #fde68a);border-bottom:1px solid var(--color-warning-border, #fde68a);font-size:var(--font-size-xs, .75rem);color:var(--color-warning-text, #92400e);line-height:1.5}.ehr-pending-banner__icon{flex-shrink:0;color:var(--color-warning, #f59e0b);margin-top:1px}.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)}@keyframes bp-shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.bp-page{min-height:100vh;background:var(--color-bg-primary)}.bp-page-header{flex-shrink:0;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.bp-page-header__inner{max-width:100%;margin:0 auto;padding:var(--space-4) var(--space-6)}.bp-breadcrumb-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.bp-breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm)}.bp-breadcrumb__text,.bp-breadcrumb__separator{color:var(--color-text-tertiary)}.bp-breadcrumb__current{color:var(--color-text-heading);font-weight:var(--font-weight-medium)}.bp-icon-md{width:16px;height:16px}.bp-campus-row{display:flex;align-items:center;gap:var(--space-2)}.bp-campus-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.bp-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)}.bp-campus-select:focus{border-color:var(--color-border-focus);outline:none;box-shadow:0 0 0 1px var(--color-border-focus)}.bp-campus-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-heading)}.bp-page-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-heading);margin:0}.bp-content{display:flex;flex-direction:column;gap:var(--space-6);max-width:1100px;padding:var(--space-6) var(--space-6)}.bp-section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0;display:flex;align-items:center;gap:var(--space-2)}.bp-section-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-full);background:var(--color-bg-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.bp-subs-section{display:flex;flex-direction:column;gap:var(--space-4)}.bp-subs-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.bp-toggle{display:inline-flex;border:1px solid var(--color-border-medium);border-radius:var(--radius-md);overflow:hidden}.bp-toggle__btn{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:var(--color-bg-surface);border:none;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast);line-height:1.6}.bp-toggle__btn:not(:last-child){border-right:1px solid var(--color-border-medium)}.bp-toggle__btn:hover:not(.bp-toggle__btn--active){background:var(--color-bg-hover)}.bp-toggle__btn--active{background:var(--color-primary);color:#fff}.bp-subs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}.bp-subs-grid--single{grid-template-columns:1fr}.bp-invoices-section{display:flex;flex-direction:column;gap:var(--space-4)}.bp-invoices-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.bp-sub-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-card)}.bp-sub-card--inactive{opacity:.7}.bp-sub-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-5)}.bp-sub-card__plan{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-heading);margin:0}.bp-sub-card__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4) var(--space-5)}.bp-sub-card__item{display:flex;flex-direction:column;gap:var(--space-1)}.bp-sub-card__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.bp-sub-card__value{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.bp-autopay{display:inline-flex;align-items:center;gap:4px}.bp-autopay__icon{width:16px;height:16px;flex-shrink:0}.bp-autopay--enabled{color:var(--color-success-text)}.bp-autopay--disabled{color:var(--color-text-muted)}.bp-badge{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-full);padding:2px 10px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1.6;white-space:nowrap}.bp-badge__dot{width:6px;height:6px;border-radius:var(--radius-full);flex-shrink:0}.bp-badge--success{background:var(--color-success-bg);color:var(--color-success-text)}.bp-badge--success .bp-badge__dot{background:var(--color-success)}.bp-badge--danger{background:var(--color-danger-bg);color:var(--color-danger)}.bp-badge--danger .bp-badge__dot{background:var(--color-danger)}.bp-badge--warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.bp-badge--warning .bp-badge__dot{background:var(--color-warning)}.bp-badge--info{background:#17a2b81f;color:var(--color-info)}.bp-badge--info .bp-badge__dot{background:var(--color-info)}.bp-badge--muted{background:var(--color-bg-tertiary);color:var(--color-text-muted)}.bp-badge--muted .bp-badge__dot{background:var(--color-text-muted)}.bp-total-banner{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-card)}.bp-total-banner__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.bp-total-banner__amount{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-heading)}.bp-total-banner--overdue .bp-total-banner__amount{color:var(--color-danger)}.bp-actions{display:flex;align-items:center;gap:var(--space-3)}.bp-export-btn{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--color-bg-surface);border:1px solid var(--color-border-input);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);cursor:pointer;min-height:var(--btn-min-height);transition:background var(--transition-fast),border-color var(--transition-fast)}.bp-export-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-focus)}.bp-table-wrap{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card)}.bp-table{width:100%;border-collapse:collapse}.bp-table__head{background:var(--color-bg-tertiary)}.bp-table__th{padding:var(--space-3) var(--space-4);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-align:left;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--color-border)}.bp-table__th--sortable{cursor:pointer;transition:color var(--transition-fast)}.bp-table__th--sortable:hover{color:var(--color-text-primary)}.bp-table__th--right{text-align:right}.bp-table__sort-icon{display:inline-block;width:14px;height:14px;vertical-align:middle;margin-left:4px;opacity:.5}.bp-table__th--active .bp-table__sort-icon{opacity:1;color:var(--color-primary)}.bp-table__row{border-bottom:1px solid var(--color-border);transition:background var(--transition-fast)}.bp-table__row:last-child{border-bottom:none}.bp-table__row:hover{background:var(--color-bg-hover)}.bp-table__td{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:nowrap}.bp-table__td--right{text-align:right;font-variant-numeric:tabular-nums}.bp-table__td--bold{font-weight:var(--font-weight-semibold)}.bp-empty{text-align:center;padding:var(--space-12) var(--space-6);color:var(--color-text-muted)}.bp-empty__icon{width:48px;height:48px;color:var(--color-text-disabled);margin-bottom:var(--space-3)}.bp-empty__text{font-size:var(--font-size-sm);margin:0}.bp-skeleton{display:flex;flex-direction:column;gap:var(--space-6)}.bp-skeleton-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.bp-skeleton-block{background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-shine) 50%,var(--skeleton-base) 75%);background-size:200% 100%;animation:bp-shimmer 1.5s infinite;border-radius:var(--radius-sm)}.bp-skeleton-row{display:flex;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.bp-toast{position:fixed;top:var(--space-4);left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);max-width:420px;box-shadow:var(--shadow-lg);animation:bp-slide-down .25s ease}@keyframes bp-slide-down{0%{opacity:0;transform:translate(-50%) translateY(-12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.bp-toast--error{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger)}.bp-toast__close{background:none;border:none;color:inherit;cursor:pointer;padding:2px;margin-left:var(--space-2);line-height:1}@media(max-width:768px){.bp-content{padding:var(--space-4)}.bp-page-header__inner{padding:var(--space-3) var(--space-4)}.bp-subs-grid{grid-template-columns:1fr}.bp-sub-card__header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.bp-sub-card__grid{grid-template-columns:1fr}.bp-total-banner,.bp-invoices-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.bp-table__td,.bp-table__th{padding:var(--space-2) var(--space-3)}}
