body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.side-menu{background-color:var(--gray-100);width:250px;height:100vh;padding:var(--spacing-xl) 0;border-right:1px solid var(--gray-300);flex-direction:column;justify-content:flex-start;display:flex}.side-menu nav ul{margin:0;padding:0;list-style:none}.side-menu nav li{margin:0;padding:0}.side-menu button{width:100%;padding:var(--spacing-lg) var(--spacing-xl);text-align:left;cursor:pointer;color:var(--gray-800);transition:background-color var(--transition);background:0 0;border:none;font-size:1rem}.side-menu button:hover{background-color:var(--gray-200)}.side-menu button.active{background-color:var(--primary);color:var(--white)}.side-menu-bottom{padding:var(--spacing-xl);border-top:1px solid var(--gray-300);flex-direction:column;align-items:flex-start;margin-top:auto;display:flex}.user-name{color:var(--gray-600);margin-bottom:var(--spacing-md);font-size:.9375rem}.logout-button{background:var(--danger);color:var(--white);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);cursor:pointer;transition:background var(--transition);border:none;font-size:.9375rem}.logout-button:hover{background:var(--danger-hover)}.data-table{background-color:var(--white);border:1px solid var(--gray-300);border-radius:var(--radius);table-layout:auto;width:100%;min-height:200px;display:table;overflow:hidden}.info-header{background-color:var(--gray-100);display:table-row}.field-header{padding:var(--spacing-sm) var(--spacing-md);color:var(--gray-700);border-bottom:2px solid var(--gray-300);text-transform:capitalize;white-space:nowrap;vertical-align:top;text-align:left;font-weight:600;display:table-cell}.field-header.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;padding-right:1.5rem;position:relative}.field-header.sortable:hover{background-color:var(--gray-200)}.header-content{margin-bottom:var(--spacing-sm)}.filter-input{width:100%;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--gray-400);border-radius:var(--radius-sm);background-color:var(--white);box-sizing:border-box;font-size:.875rem}.filter-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 .2rem #007bff40}.filter-input::placeholder{color:var(--gray-500);font-style:italic}.info-row{min-height:48px;display:table-row}.info-row:nth-child(2n){background-color:var(--gray-100)}.field-value,.field-actions{padding:var(--spacing-md);border-bottom:1px solid var(--gray-300);text-align:left;min-height:48px;display:table-cell}.field-value{color:var(--gray-900);word-break:break-word;text-overflow:ellipsis;white-space:normal;min-width:80px;max-width:300px;overflow:hidden}.field-value:has(>div[style*="border: 1px solid #e0e0e0"]){width:50%;min-width:400px;max-width:none}.field-actions{vertical-align:middle;min-width:140px}.field-actions .action-buttons{justify-content:flex-start}.field-header .btn{width:100%}.page-layout{padding:var(--spacing-xl);max-width:100%;margin:0 auto;overflow-x:auto}.header{margin-bottom:var(--spacing-xl);justify-content:space-between;align-items:center;display:flex}.header h2{color:var(--gray-800);margin:0}.account-modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.account-modal-content{background:var(--white);border-radius:var(--radius-lg);width:90%;min-width:50%;max-width:1200px;max-height:90vh;box-shadow:var(--shadow);padding:0;overflow-y:auto}.account-modal-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--gray-300);justify-content:space-between;align-items:center;display:flex}.account-modal-header h3{color:var(--gray-800);margin:0;font-size:1.25rem;font-weight:600}.account-modal-close-btn{cursor:pointer;color:var(--gray-600);border-radius:var(--radius);width:32px;height:32px;transition:background-color var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.5rem;display:flex}.account-modal-close-btn:hover{background-color:var(--gray-100)}.account-modal-form{padding:var(--spacing-lg);gap:var(--spacing-md) var(--spacing-lg);grid-template-columns:max-content 1fr;align-items:center;display:grid}.account-modal-form-group{margin-bottom:var(--spacing-md);display:contents}.account-modal-form-group label{min-width:140px;color:var(--gray-800);text-align:left;justify-self:start;margin-bottom:0;font-weight:500}.account-modal-form-control{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--radius);box-sizing:border-box;transition:border-color var(--transition);font-size:.875rem}.account-modal-form-control:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #007bff40}.account-modal-form-control:disabled{background-color:var(--gray-100);color:var(--gray-600);cursor:not-allowed}.account-modal-form-control[disabled]{background-color:var(--gray-50);color:var(--gray-500);cursor:not-allowed;border-color:var(--gray-200)}.account-modal-form-control.error{border-color:var(--danger);box-shadow:0 0 0 2px #dc354540}.account-modal-field-error{color:var(--danger);margin-top:var(--spacing-xs);grid-column:2;font-size:.75rem;font-weight:500}:is(.account-modal-form-group:has(.account-modal-roles-container),.account-modal-form-group:has(.account-modal-location-groups-container)){grid-column:1/-1}:is(.account-modal-form-group:has(.account-modal-roles-container) label,.account-modal-form-group:has(.account-modal-location-groups-container) label){margin-bottom:var(--spacing-xs);padding-top:var(--spacing-sm)}.account-modal-error{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--danger-50);border:1px solid var(--danger);border-radius:var(--radius);color:var(--danger);margin-bottom:var(--spacing-md);grid-column:1/-1;font-size:.875rem}.account-modal-actions{justify-content:flex-end;gap:var(--spacing-md);margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--gray-300);grid-column:1/-1;display:flex}.account-modal-btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);cursor:pointer;transition:background-color var(--transition);border:none;justify-content:center;align-items:center;min-width:80px;font-size:.875rem;font-weight:500;line-height:1.5;text-decoration:none;display:inline-flex}.account-modal-btn:disabled{opacity:.6;cursor:not-allowed}.account-modal-location-groups-container{flex-direction:column;grid-column:2;width:100%;display:flex}.account-modal-location-groups-list{border:1px solid var(--gray-300);border-radius:var(--radius);max-height:200px;padding:var(--spacing-sm);background-color:var(--white);overflow-y:auto}.account-modal-location-group-item{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius);transition:background-color var(--transition);align-items:center;gap:var(--spacing-sm);display:flex}.account-modal-location-group-item:hover{background-color:var(--gray-50)}.account-modal-location-group-item.selected{background-color:var(--primary-50)}.account-modal-location-group-item input[type=checkbox]{margin-right:var(--spacing-sm);margin-bottom:0}.account-modal-location-group-text{color:var(--gray-800);flex:1;font-size:.875rem}.account-modal-no-data-message{text-align:center;color:var(--gray-500);padding:var(--spacing-md);font-style:italic}.account-modal-roles-container{flex-direction:column;grid-column:2;width:100%;display:flex}.account-modal-roles-list{gap:var(--spacing-sm);padding:var(--spacing-sm);border:1px solid var(--gray-300);border-radius:var(--radius);background-color:var(--white);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.account-modal-role-item{padding:var(--spacing-xs);border-radius:var(--radius);transition:background-color var(--transition);align-items:center;display:flex}.account-modal-role-item:hover{background-color:var(--gray-50)}.account-modal-role-item input[type=checkbox]{margin-right:var(--spacing-xs);margin-bottom:0}.account-modal-role-text{color:var(--gray-800);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.875rem}.account-modal-btn-primary{background-color:var(--primary);color:var(--white)}.account-modal-btn-primary:hover:not(:disabled){background-color:var(--primary-hover)}.account-modal-btn-secondary{background-color:var(--gray-600);color:var(--white)}.account-modal-btn-secondary:hover:not(:disabled){background-color:var(--gray-700)}.account-modal-btn-danger{background-color:var(--danger);color:var(--white)}.account-modal-btn-danger:hover:not(:disabled){background-color:var(--danger-hover)}@media (width<=700px){.account-modal-content{width:95%;max-height:95vh}.account-modal-actions{flex-direction:column}.account-modal-btn{width:100%}}.location-modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.location-modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;position:relative;overflow-y:auto;box-shadow:0 4px 20px #00000026}.location-modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.location-modal-header h3{color:#111827;margin:0;font-size:1.25rem;font-weight:600}.location-modal-close-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:24px;transition:background-color .2s;display:flex}.location-modal-close-btn:hover{color:#374151;background-color:#f3f4f6}.location-modal-form{padding:24px}.location-modal-form-group{margin-bottom:20px}.location-modal-form-group label{color:#374151;margin-bottom:6px;font-size:.875rem;font-weight:500;display:block}.location-modal-form-control{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:10px 12px;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.location-modal-form-control:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.location-modal-form-control:disabled{color:#6b7280;cursor:not-allowed;background-color:#f9fafb}.location-modal-form-control.error{border-color:#ef4444}.location-modal-form-control.error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.location-modal-field-error{color:#ef4444;margin-top:4px;font-size:.75rem}.location-modal-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:20px;padding:12px;font-size:.875rem}.location-modal-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;display:flex}.location-modal-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:10px 20px;font-size:.875rem;font-weight:500;transition:all .2s}.location-modal-btn:disabled{opacity:.6;cursor:not-allowed}.location-modal-btn-secondary{color:#374151;background-color:#f9fafb;border-color:#d1d5db}.location-modal-btn-secondary:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.location-modal-btn-primary{color:#fff;background-color:#3b82f6;border-color:#3b82f6}.location-modal-btn-primary:hover:not(:disabled){background-color:#2563eb;border-color:#2563eb}.location-modal-layouts-container{background-color:#f9fafb;border:1px solid #d1d5db;border-radius:6px;padding:12px}.location-modal-layouts-list{margin-bottom:12px}.location-modal-layout-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:8px 12px;display:flex}.location-modal-layout-item:last-child{margin-bottom:0}.location-modal-layout-name{color:#374151;font-size:.875rem;font-weight:500}.location-modal-remove-layout-btn{color:#ef4444;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:18px;transition:background-color .2s;display:flex}.location-modal-remove-layout-btn:hover:not(:disabled){background-color:#fef2f2}.location-modal-remove-layout-btn:disabled{opacity:.5;cursor:not-allowed}.location-modal-no-layouts{text-align:center;color:#6b7280;padding:12px;font-size:.875rem;font-style:italic}.location-modal-add-layout{border-top:1px solid #e5e7eb;padding-top:12px}@media (width<=640px){.location-modal-content{width:95%;margin:20px}.location-modal-form{padding:16px}.location-modal-header{padding:16px 20px}.location-modal-actions{flex-direction:column}.location-modal-btn{width:100%}}.locations-overview-table .field-header:first-child,.locations-overview-table .field-value:first-child{box-sizing:border-box;text-align:center;vertical-align:middle;width:56px;min-width:56px;max-width:56px;padding:6px 8px}.locations-container{width:100%}.integrator-selector{margin-bottom:var(--spacing-xl);padding:var(--spacing-md);background-color:var(--gray-100);border:1px solid var(--gray-300);border-radius:var(--radius)}.integrator-selector label{margin-bottom:var(--spacing-sm);color:var(--gray-700);font-weight:500;display:block}.integrator-selector select{width:100%;max-width:400px;padding:var(--spacing-sm);border:1px solid var(--gray-400);border-radius:var(--radius);background-color:var(--white);cursor:pointer;font-size:1rem}.integrator-selector select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 .2rem #007bff40}.integrator-selector select:disabled{background-color:var(--gray-200);cursor:not-allowed}.dialog-content{padding:var(--spacing-md);background-color:var(--gray-100);border:1px solid var(--gray-300);border-radius:var(--radius);max-height:400px;margin-bottom:var(--spacing-md);overflow-y:auto}.dialog-content p{margin:0 0 var(--spacing-sm) 0;white-space:pre-wrap;word-break:break-all}.loading-overlay{z-index:var(--z-modal);background:#ffffffb3;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.spinner{border:6px solid var(--gray-200);border-top:6px solid var(--primary);border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-overlay{z-index:1000;background:#00000059;justify-content:center;align-items:flex-start;padding-top:5vh;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border:1.5px solid #e0e0e0;border-radius:12px;flex-direction:column;width:98%;min-width:400px;max-width:900px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #00000040}.modal-header{background-color:#f8f9fa;border-bottom:1px solid #ececec;justify-content:space-between;align-items:center;padding:18px 24px 10px;display:flex}.modal-header h3{color:#222;margin:0;font-size:19px;font-weight:600}.modal-header button{cursor:pointer;color:#888;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:26px;transition:background .15s;display:flex}.modal-header button:hover{color:#222;background-color:#f1f3f4}.modal-body{background:#fcfcfc;flex:1;padding:18px 24px 10px;overflow-y:auto}.modal-body p{color:#333;margin:0 0 10px}.modal-body ul{background:#f5f5f5;border:1px solid #ececec;border-radius:6px;max-height:220px;margin:0;padding:10px 16px;font-family:Fira Mono,Menlo,Consolas,monospace;font-size:14px;overflow-y:auto}.modal-body li{color:#444;word-break:break-word;margin-bottom:6px}.modal-footer{background-color:#f8f9fa;border-top:1px solid #ececec;justify-content:flex-end;padding:14px 24px 18px;display:flex}.modal-footer button{color:#fff;cursor:pointer;background:#1976d2;border:none;border-radius:6px;min-width:90px;padding:8px 18px;font-size:15px;font-weight:500;transition:background .15s}.modal-footer button:hover{background:#1256a3}.audit{padding:var(--spacing-xl);max-width:100%;margin:0 auto;overflow-x:auto}.header{margin-bottom:var(--spacing-xl);flex-direction:column;display:flex}.header h2{color:var(--gray-800);margin:0;margin-bottom:var(--spacing-md)}.filters{gap:var(--spacing-xl);flex-wrap:wrap;display:flex}.filter-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.filter-group label{color:var(--gray-600);font-size:.9em}.filter-group input{padding:var(--spacing-sm);border:1px solid var(--gray-300);border-radius:var(--radius);min-width:200px}.filter-actions{gap:var(--spacing-sm);flex-direction:column;align-self:flex-end;display:flex}.apply-filters-button,.clear-filters-button{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);cursor:pointer;transition:background var(--transition);border:none;min-width:120px;font-size:.9em}.apply-filters-button{background:var(--primary);color:var(--white)}.apply-filters-button:hover:not(:disabled){background:var(--primary-hover)}.clear-filters-button{background:var(--gray-200);color:var(--gray-700)}.clear-filters-button:hover:not(:disabled){background:var(--gray-300)}.apply-filters-button:disabled,.clear-filters-button:disabled{opacity:.6;cursor:not-allowed}.load-more{margin-top:var(--spacing-xl);justify-content:center;display:flex}.loading,.error,.no-data{text-align:center;padding:var(--spacing-xl);color:var(--gray-600);font-size:1.2rem}.error{color:var(--danger)}.accounts{padding:var(--spacing-lg)}.accounts .header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.accounts .header h2{color:var(--gray-800);margin:0}.accounts .filters{gap:var(--spacing-md);align-items:center;display:flex}.accounts .filter-group{align-items:center;gap:var(--spacing-sm);display:flex}.accounts .filter-group label{color:var(--gray-700);font-weight:500}.accounts .filter-group input{padding:var(--spacing-sm);border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.875rem}.accounts .filter-group input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 .2rem #007bff40}.update-dialog-overlay{z-index:var(--z-modal);background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.update-dialog-content{background:var(--white);border-radius:var(--radius-lg);width:95%;max-width:1200px;max-height:90vh;box-shadow:var(--shadow);flex-direction:column;padding:0;display:flex}.update-dialog-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--gray-300);justify-content:space-between;align-items:center;display:flex}.update-dialog-header h3{color:var(--gray-800);margin:0;font-size:1.25rem;font-weight:600}.update-dialog-close-btn{cursor:pointer;color:var(--gray-600);border-radius:var(--radius);width:32px;height:32px;transition:background-color var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.5rem;display:flex}.update-dialog-close-btn:hover{background-color:var(--gray-100)}.update-dialog-close-btn:disabled{opacity:.6;cursor:not-allowed}.update-dialog-body{padding:var(--spacing-lg);flex:1;min-height:0;overflow-y:auto}.update-dialog-body form{gap:var(--spacing-md) var(--spacing-lg);grid-template-columns:max-content 1fr;align-items:start;display:grid}.update-dialog-footer{justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--gray-300);display:flex}.update-dialog-body .form-group{margin-bottom:var(--spacing-md);display:contents}:is(.update-dialog-body .form-group:has(.location-group-modal-locations-container),.update-dialog-body .form-group:has(.array-container)){gap:var(--spacing-md) var(--spacing-lg);grid-column:1/-1;grid-template-columns:max-content 1fr;align-items:start;display:grid}.update-dialog-body .form-group label{min-width:140px;color:var(--gray-800);text-align:left;padding-top:var(--spacing-sm);place-self:start;margin-bottom:0;font-weight:500}:is(.update-dialog-body .form-group:has(.location-group-modal-locations-container) label,.update-dialog-body .form-group:has(.array-container) label){padding-top:var(--spacing-sm);margin-bottom:0}.update-dialog-body .form-control{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--radius);box-sizing:border-box;font-size:.875rem}.update-dialog-body .form-control:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #007bff40}.update-dialog-body .form-control:disabled{background-color:var(--gray-100);color:var(--gray-600);cursor:not-allowed}.update-dialog-body .array-container{border:1px solid var(--gray-300);border-radius:var(--radius);padding:var(--spacing-md);background-color:var(--gray-100);grid-column:1/-1}.update-dialog-body .array-item{margin-bottom:var(--spacing-md);padding:var(--spacing-sm);border:1px solid var(--gray-200);border-radius:var(--radius);background-color:var(--white)}.update-dialog-body .form-row{gap:var(--spacing-sm);grid-template-columns:1fr 1fr auto;align-items:end;display:grid}.update-dialog-body .btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);cursor:pointer;border:none;font-size:.875rem;font-weight:500;transition:all .2s}.update-dialog-body .btn:disabled{opacity:.5;cursor:not-allowed}.update-dialog-body .btn-primary{background-color:var(--primary);color:var(--white)}.update-dialog-body .btn-primary:hover:not(:disabled){background-color:var(--primary-dark)}.update-dialog-body .btn-secondary{background-color:var(--gray-500);color:var(--white)}.update-dialog-body .btn-secondary:hover:not(:disabled){background-color:var(--gray-600)}.update-dialog-body .btn-danger{background-color:var(--danger);color:var(--white)}.update-dialog-body .btn-danger:hover:not(:disabled){background-color:var(--danger-dark)}.update-dialog-body .btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem}.update-dialog-body .error-message{background-color:var(--danger);color:var(--white);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);margin-bottom:var(--spacing-md);grid-column:1/-1;font-size:.875rem}.update-dialog-body .error-message:before{content:"⚠️ ";margin-right:var(--spacing-xs)}.location-group-modal-overlay{z-index:var(--z-modal);background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.location-group-modal-content{background:var(--white);border-radius:var(--radius-lg);width:90%;max-width:800px;max-height:90vh;box-shadow:var(--shadow);padding:0;overflow-y:auto}.location-group-modal-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--gray-300);justify-content:space-between;align-items:center;display:flex}.location-group-modal-header h3{color:var(--gray-800);margin:0;font-size:1.25rem;font-weight:600}.location-group-modal-body{padding:var(--spacing-lg)}.location-group-modal-body form{gap:var(--spacing-md) var(--spacing-lg);grid-template-columns:max-content 1fr;align-items:center;display:grid}.location-group-modal-footer{justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--gray-300);display:flex}.location-group-modal-form-group{margin-bottom:var(--spacing-md);display:contents}.location-group-modal-form-group label{min-width:140px;color:var(--gray-800);text-align:left;justify-self:start;margin-bottom:0;font-weight:500}.location-group-modal-form-control{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--gray-300);border-radius:var(--radius);box-sizing:border-box;font-size:.875rem}.location-group-modal-form-control:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #007bff40}.location-group-modal-form-control:disabled{background-color:var(--gray-100);color:var(--gray-600);cursor:not-allowed}.location-group-modal-array-container{border:1px solid var(--gray-300);border-radius:var(--radius);padding:var(--spacing-md);background-color:var(--gray-100);grid-column:1/-1}.location-group-modal-array-item{background:var(--white);border:1px solid var(--gray-300);border-radius:var(--radius);padding:var(--spacing-md);margin-bottom:var(--spacing-sm)}.location-group-modal-array-item:last-child{margin-bottom:0}.location-group-modal-form-row{gap:var(--spacing-sm);grid-template-columns:1fr 1fr 1fr auto;align-items:center;display:grid}.location-group-modal-form-row .location-group-modal-form-group{flex-direction:column;align-items:stretch;margin-bottom:0;display:flex}.location-group-modal-form-row .location-group-modal-form-group label{text-align:left;min-width:auto;margin-bottom:var(--spacing-xs)}.location-group-modal-form-row .location-group-modal-form-control{flex:none}.location-group-modal-btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);cursor:pointer;transition:background-color var(--transition);border:none;justify-content:center;align-items:center;font-size:.875rem;font-weight:500;line-height:1.5;text-decoration:none;display:inline-flex}.location-group-modal-btn:disabled{opacity:.6;cursor:not-allowed}.location-group-modal-btn-primary{background-color:var(--primary);color:var(--white)}.location-group-modal-btn-primary:hover:not(:disabled){background-color:var(--primary-hover)}.location-group-modal-btn-secondary{background-color:var(--gray-600);color:var(--white)}.location-group-modal-btn-secondary:hover:not(:disabled){background-color:var(--gray-700)}.location-group-modal-btn-danger{background-color:var(--danger);color:var(--white)}.location-group-modal-btn-danger:hover:not(:disabled){background-color:var(--danger-hover)}.location-group-modal-btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem}.location-group-modal-btn-xs{padding:var(--spacing-xs);min-width:24px;height:24px;font-size:.7rem}.location-group-modal-checkbox-list-container{width:100%;display:block!important}.location-group-modal-checkbox-list-container .location-group-modal-checkbox-list{gap:var(--spacing-xs)!important;flex-direction:column!important;display:flex!important}.location-group-modal-locations-container{width:100%;display:block;position:relative}.location-group-modal-locations-list{border:1px solid var(--gray-300);border-radius:var(--radius);padding:var(--spacing-md);background-color:var(--gray-50);width:100%;height:150px;display:block;overflow-y:auto}.location-group-modal-location-item{align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-xs);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition);width:100%;margin-bottom:var(--spacing-xs);box-sizing:border-box;justify-content:flex-start;display:flex}.location-group-modal-location-item:last-child{margin-bottom:0}.location-group-modal-location-item:hover{background-color:var(--gray-100)}.location-group-modal-location-item.selected{background-color:var(--primary);color:var(--white)}.location-group-modal-location-item input[type=checkbox]{flex-shrink:0;min-width:16px;height:16px;margin:0}.location-group-modal-location-text{text-align:left;word-wrap:break-word;overflow-wrap:break-word;flex:1;margin-top:2px;padding-left:0;font-size:.875rem;font-weight:500;line-height:1.4}.location-group-modal-checkbox-list{border:1px solid var(--gray-300);border-radius:var(--radius);padding:var(--spacing-md);background-color:var(--gray-50);gap:var(--spacing-xs);box-sizing:border-box;flex-direction:column;width:100%;height:200px;display:flex;overflow-y:auto;text-align:left!important}.location-group-modal-checkbox-item{align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-xs);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition);text-align:left;flex-flow:row;width:100%;min-height:32px;margin-bottom:0;display:flex}.location-group-modal-checkbox-item:hover{background-color:var(--gray-100)}.location-group-modal-checkbox-item.selected{background-color:var(--primary);color:var(--white)}.location-group-modal-checkbox-item input[type=checkbox]{flex-shrink:0;min-width:16px;height:16px;margin:2px 0 0}.location-group-modal-checkbox-label{word-wrap:break-word;overflow-wrap:break-word;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.875rem;font-weight:500;line-height:1.4;overflow:hidden;text-align:left!important}.location-group-modal-no-data-message{padding:var(--spacing-md);text-align:center;color:var(--gray-600);font-size:.875rem;font-style:italic}@media (width<=700px){.modal-body form{grid-template-columns:1fr}.form-group label{margin-bottom:var(--spacing-xs);justify-self:start}}.lg-locations-container{width:100%}.lg-columns{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.lg-column{flex-direction:column;min-width:0;display:flex}.lg-column-title{align-items:center;gap:var(--spacing-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--gray-600);margin-bottom:var(--spacing-xs);font-size:.8rem;font-weight:600;display:flex}.lg-column-count{background-color:var(--gray-200);min-width:20px;height:18px;color:var(--gray-700);border-radius:9px;justify-content:center;align-items:center;padding:0 6px;font-size:.7rem;font-weight:600;display:inline-flex}.lg-column-list{border:1px solid var(--gray-300);border-radius:var(--radius);background-color:var(--gray-50);height:280px;padding:var(--spacing-xs);box-sizing:border-box;overflow-y:auto}.lg-group{margin-bottom:var(--spacing-xs)}.lg-group:last-child{margin-bottom:0}.lg-group-header{align-items:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--white);border:1px solid var(--gray-300);border-radius:var(--radius-sm);cursor:pointer;text-align:left;color:var(--gray-800);font-size:.875rem;font-weight:600;display:flex}.lg-group-header:hover{background-color:var(--gray-100)}.lg-caret{width:12px;color:var(--gray-600);flex-shrink:0;font-size:.7rem}.lg-group-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.lg-group-count{background-color:var(--gray-200);min-width:20px;height:18px;color:var(--gray-700);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;padding:0 6px;font-size:.7rem;font-weight:600;display:inline-flex}.lg-group-items{padding:var(--spacing-xs) 0 var(--spacing-xs) var(--spacing-md);flex-direction:column;gap:2px;display:flex}.lg-item{align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);cursor:pointer;text-align:left;color:var(--gray-800);background-color:#0000;border:1px solid #0000;font-size:.85rem;display:flex}.lg-item:hover:not(:disabled){background-color:var(--white);border-color:var(--gray-300)}.lg-item:disabled{opacity:.6;cursor:not-allowed}.lg-item-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.lg-item-action{width:18px;height:18px;color:var(--white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;line-height:1;display:inline-flex}.lg-column .lg-item .lg-item-action{background-color:var(--gray-500)}.lg-column:first-child .lg-item:hover:not(:disabled) .lg-item-action{background-color:var(--danger)}.lg-column:last-child .lg-item:hover:not(:disabled) .lg-item-action{background-color:var(--primary)}@media (width<=700px){.lg-columns{grid-template-columns:1fr}}.location-groups{padding:var(--spacing-lg)}.location-groups .header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.location-groups .header h2{color:var(--gray-800);margin:0}.location-groups .filters{gap:var(--spacing-md);align-items:center;display:flex}.location-groups .filter-group{align-items:center;gap:var(--spacing-sm);display:flex}.location-groups .filter-group label{color:var(--gray-700);font-weight:500}.location-groups .filter-group input{padding:var(--spacing-sm);border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.875rem}.location-groups .filter-group input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 .2rem #007bff40}.lg-locations-cell{gap:var(--spacing-xs);flex-direction:column;align-items:flex-start;display:flex}.lg-locations-toggle{align-items:center;gap:var(--spacing-xs);cursor:pointer;color:var(--gray-700);background:0 0;border:none;padding:2px 4px;font-size:.85rem;font-weight:500;display:inline-flex}.lg-locations-toggle:hover{color:var(--primary)}.lg-locations-toggle .lg-caret{color:var(--gray-600);font-size:.7rem}.lg-locations-detail{gap:var(--spacing-xs);flex-direction:column;width:100%;display:flex}.lg-location-row{align-items:baseline;gap:var(--spacing-xs) var(--spacing-sm);flex-wrap:wrap;display:flex}.lg-location-name{color:var(--gray-800);font-size:.8rem;font-weight:600}.lg-location-layouts{flex-wrap:wrap;gap:4px;display:inline-flex}.lg-layout-chip{background-color:var(--gray-200);color:var(--gray-700);border-radius:4px;padding:1px 6px;font-size:.75rem;display:inline-block}.lg-no-layout{color:var(--gray-500);font-size:.75rem;font-style:italic}.integrations-container{padding:var(--spacing-xl)}.integrations-header{margin-bottom:var(--spacing-xl);justify-content:space-between;align-items:center;display:flex}.integrations-header h2{color:var(--gray-800);margin:0}.integrations-actions{gap:var(--spacing-sm);display:flex}.integration-type-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius);text-transform:uppercase;font-size:.75rem;font-weight:500;display:inline-block}.integration-type-pagerduty{background-color:var(--primary);color:var(--white)}.integration-type-twilio_sms{background-color:var(--success);color:var(--white)}.integration-type-dect{background-color:var(--warning);color:var(--dark)}.update-dialog-body .measurement-modal-form{gap:var(--spacing-lg);flex-direction:column;grid-column:1/-1;display:flex}.update-dialog-content:has(.measurement-modal-form){max-width:56rem}.measurement-modal-section{gap:var(--spacing-sm);flex-direction:column;display:flex}.measurement-modal-section-title{color:var(--gray-600);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.8125rem;font-weight:600}.measurement-modal-fields{gap:var(--spacing-sm) var(--spacing-md);flex-wrap:wrap;align-items:flex-end;display:flex}.measurement-field{flex-direction:column;gap:2px;min-width:0;display:flex}.measurement-field label{color:var(--gray-700);white-space:nowrap;margin:0;padding-top:0;font-size:.75rem;font-weight:500}.measurement-modal-form .form-control{width:auto;min-width:0;padding:var(--spacing-xs) var(--spacing-sm)}.measurement-modal-form .form-control-xs{width:5.5rem}.measurement-modal-form .form-control-sm{width:7rem}.measurement-modal-form .form-control-md{width:11rem}.measurement-modal-form .form-control-lg{width:16rem}.measurement-modal-form .form-control-xl{width:22rem;max-width:100%}.measurement-modal-form select.form-control{width:auto;min-width:7rem}.measurement-modal-form input[type=checkbox].form-control{width:auto;margin-top:var(--spacing-xs);padding:0}.measurement-modal-divider{border-top:1px solid var(--gray-300);margin:var(--spacing-xs) 0 var(--spacing-sm);flex-basis:100%}.measurement-field-checkbox{padding-bottom:var(--spacing-xs);align-self:flex-end}.measurement-field-error{color:var(--danger);font-size:.6875rem;line-height:1.2}.measurement-modal-form .form-control.error{border-color:var(--danger)}.measurement-modal-validation-summary{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);color:var(--danger);background-color:#dc35451a;font-size:.8125rem}.layout{height:100vh;min-height:100vh;display:flex}.main-content{min-height:100vh;padding:var(--spacing-xl);background-color:var(--white);flex:1;overflow:auto}.page-layout .header{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--gray-300);justify-content:space-between;align-items:center;display:flex}.page-layout .header h2{color:var(--gray-800);margin:0}.create-button{background-color:var(--success);color:var(--white);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);cursor:pointer;transition:background-color var(--transition);border:none;font-size:.875rem}.create-button:hover{background-color:var(--success-hover)}.create-button-small{padding:var(--spacing-sm) var(--spacing-md);font-size:.875rem}.login-container{background-color:var(--gray-100);justify-content:center;align-items:center;height:100vh;display:flex}.login-box{background:var(--white);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow);text-align:center}.login-box h1{margin-bottom:var(--spacing-md);color:var(--gray-800)}.login-box p{margin-bottom:var(--spacing-xl);color:var(--gray-600)}.login-button{background-color:var(--primary);color:var(--white);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);cursor:pointer;transition:background-color var(--transition);border:none;font-size:1rem}.login-button:hover{background-color:var(--primary-hover)}:root{--primary:#007bff;--primary-hover:#0056b3;--primary-dark:#0056b3;--success:#28a745;--success-hover:#218838;--danger:#dc3545;--danger-hover:#c82333;--danger-dark:#c82333;--warning:#ffc107;--warning-hover:#e0a800;--info:#17a2b8;--info-hover:#138496;--light:#f8f9fa;--dark:#343a40;--white:#fff;--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-300:#dee2e6;--gray-400:#ced4da;--gray-500:#adb5bd;--gray-600:#6c757d;--gray-700:#495057;--gray-800:#343a40;--gray-900:#212529;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--radius-sm:3px;--radius:4px;--radius-lg:8px;--shadow-sm:0 2px 4px #0000001a;--shadow:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a;--transition:.2s ease;--z-modal:1050;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-popover:1060;--z-tooltip:1070}.btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);cursor:pointer;transition:background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;font-size:.875rem;font-weight:500;line-height:1.25;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background-color:var(--primary);color:var(--white)}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover)}.btn-success{background-color:var(--success);color:var(--white)}.btn-success:hover:not(:disabled){background-color:var(--success-hover)}.btn-danger{background-color:var(--danger);color:var(--white)}.btn-danger:hover:not(:disabled){background-color:var(--danger-hover)}.btn-secondary{background-color:var(--gray-600);color:var(--white)}.btn-secondary:hover:not(:disabled){background-color:var(--gray-700)}.btn-warning{background-color:var(--warning);color:var(--dark)}.btn-warning:hover:not(:disabled){background-color:var(--warning-hover)}.btn-info{background-color:var(--info);color:var(--white)}.btn-info:hover:not(:disabled){background-color:var(--info-hover)}.btn-sm{min-height:1.75rem;padding:.3125rem .625rem;font-size:.75rem}.btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:1rem}.btn-icon{padding:var(--spacing-xs);min-width:32px;height:32px}.btn-group,.action-buttons{flex-wrap:wrap;align-items:center;gap:.375rem;display:flex}.App{text-align:left}
