.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 40px #00000026}.modal-small{max-width:500px}.modal-medium{max-width:800px}.modal-large{max-width:1200px}.modal-fullscreen{width:95vw!important;max-width:95vw!important;height:95vh!important;max-height:95vh!important}.modal .modal-header{border-bottom:1px solid #e9ecef;flex-shrink:0;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.modal .modal-header h3{color:#2c3e50;margin:0;font-size:1.25rem}.modal .modal-header-buttons{align-items:center;gap:4px;display:flex}.modal .modal-close,.modal .modal-maximize{cursor:pointer;color:#6c757d;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1.5rem;transition:all .2s;display:flex}.modal .modal-close:hover,.modal .modal-maximize:hover{color:#495057;background:#f8f9fa}.modal .modal-maximize{font-size:1.25rem}.modal .modal-body{flex:1;min-height:0;padding:1.5rem 2rem;overflow:hidden auto}.modal .modal-actions{background:#f8f9fa;border-top:1px solid #e9ecef;border-radius:0 0 12px 12px;flex-shrink:0;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;display:flex}.modal__form-group{flex-direction:column;gap:6px;margin-bottom:1.5rem;display:flex}.modal__form-group label{color:#495057;align-items:center;gap:6px;font-size:14px;font-weight:500;display:flex}.modal__form-control{box-sizing:border-box;border:1px solid #ced4da;border-radius:4px;width:100%;padding:8px 12px;font-size:14px;transition:border-color .2s}.modal__form-control:focus{border-color:#2196f3;outline:none;box-shadow:0 0 0 3px #2196f31a}.modal__form-control--error{border-color:#dc3545}.modal__form-control--textarea{resize:vertical;min-height:80px;font-family:monospace}.modal__form-control--readonly{cursor:default;background-color:#f5f5f5}.modal__form-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:16px;display:grid}.modal__form-hint{color:#868e96;font-size:12px}.modal__tooltip{cursor:help;color:#6c757d;font-size:14px}.modal__loading{text-align:center;color:#6c757d;padding:40px 20px;font-size:14px}.modal__error-message{color:#721c24;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 16px;display:flex}.modal__error-message p{margin:0;font-size:14px}.modal__empty-state{text-align:center;padding:40px 20px}.modal__empty-state p{color:#6c757d;margin-bottom:20px;font-size:14px}.modal__validation-error{color:#dc3545;margin-top:4px;font-size:12px}.modal__schedules-list{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.modal__schedule-item{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;align-items:center;gap:16px;padding:16px;transition:all .2s;display:flex}.modal__schedule-item:hover{background:#e9ecef;box-shadow:0 2px 4px #0000001a}.modal__schedule-toggle{flex-shrink:0}.modal__schedule-info{flex:1;min-width:0}.modal__schedule-type{color:#495057;margin-bottom:4px;font-size:14px;font-weight:600}.modal__schedule-description{color:#6c757d;margin-bottom:4px;font-size:13px}.modal__schedule-next-run{color:#868e96;font-size:12px}.modal__schedule-menu-btn{cursor:pointer;color:#6c757d;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px 8px;font-size:20px;transition:all .2s}.modal__schedule-menu-btn:hover{color:#495057;background:#dee2e6}.modal__toggle-switch{width:48px;height:26px;display:inline-block;position:relative}.modal__toggle-switch input{opacity:0;width:0;height:0}.modal__toggle-slider{cursor:pointer;background-color:#ccc;border-radius:26px;transition:all .4s;position:absolute;inset:0}.modal__toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .4s;position:absolute;bottom:3px;left:3px}.modal__toggle-switch input:checked+.modal__toggle-slider{background-color:#2196f3}.modal__toggle-switch input:checked+.modal__toggle-slider:before{transform:translate(22px)}.modal__toggle-switch input:disabled+.modal__toggle-slider{opacity:.5;cursor:not-allowed}.modal__trigger-config{margin-top:20px}.modal__trigger-description{color:#6c757d;background:#f8f9fa;border-radius:4px;margin-bottom:16px;padding:12px;font-size:14px}.modal__cron-examples{background:#f8f9fa;border-radius:4px;margin-top:20px;padding:16px}.modal__cron-examples strong{color:#495057;margin-bottom:12px;display:block}.modal__cron-examples table{width:100%;font-size:13px}.modal__cron-examples tr{line-height:1.8}.modal__cron-examples td{color:#6c757d}.modal__cron-examples code{color:#495057;background:#fff;border:1px solid #dee2e6;border-radius:3px;padding:2px 6px;font-family:Courier New,monospace}.modal__queue-config{flex-direction:column;gap:1rem;display:flex}.modal__queue-config-header{justify-content:flex-end;display:flex}.modal__queue-config-table-wrapper{border:1px solid #ddd;border-radius:4px;max-height:calc(70vh - 250px);overflow-y:auto}.modal__queue-config-table{border-collapse:collapse;width:100%;min-width:1200px;font-size:.9rem}.modal__queue-config-table thead{z-index:10;background-color:#f5f5f5;position:sticky;top:0}.modal__queue-config-table th{text-align:left;white-space:nowrap;border-bottom:2px solid #ddd;padding:.75rem .5rem;font-weight:600}.modal__queue-config-table td{vertical-align:middle;border-bottom:1px solid #eee;padding:.5rem}.modal__queue-config-table tbody tr:hover{background-color:#f9f9f9}.modal__queue-config-table tbody tr:last-child{border-bottom:none}.modal__queue-config-table tbody tr:last-child td{text-align:right;border-bottom:none;padding:1rem .5rem}.modal__queue-col-reorder{text-align:center;width:80px}.modal__queue-col-name{width:220px}.modal__queue-col-minwidth{width:90px}.modal__queue-col-datatype{width:150px}.modal__queue-col-order{width:100px}.modal__queue-col-checkbox{text-align:center;width:100px}.modal__queue-col-method{width:180px}.modal__queue-col-param{width:150px}.modal__queue-col-actions{text-align:center;width:80px}.modal__reorder-buttons{flex-direction:column;align-items:center;gap:2px;display:flex}.modal__btn-icon{cursor:pointer;color:#333;background:0 0;border:1px solid #ccc;border-radius:3px;padding:2px 6px;font-size:.75rem;line-height:1;transition:all .2s}.modal__btn-icon--reorder{font-size:.66rem;padding:1px 6px!important}.modal__btn-icon:hover:not(:disabled){color:#fff;background-color:#007bff;border-color:#007bff}.modal__btn-icon:disabled{opacity:.3;cursor:not-allowed}.modal__queue-add-row{margin-left:auto;padding:.5rem 1rem}.modal__queue-config-table input[type=text],.modal__queue-config-table input[type=number],.modal__queue-config-table select{border:1px solid #ddd;border-radius:4px;width:100%;padding:.4rem;font-size:.875rem}.modal__queue-config-table input[type=checkbox]{cursor:pointer;width:18px;height:18px}.modal__queue-config-table input[type=text]:focus,.modal__queue-config-table input[type=number]:focus,.modal__queue-config-table select:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff1a}.modal__queue-config-table select:disabled{cursor:not-allowed;opacity:.6;background-color:#f5f5f5}.modal__regex-validation-status{border-radius:4px;align-items:center;gap:.75rem;padding:1rem;font-size:1rem;font-weight:500;display:flex}.modal__regex-validation-status--pass{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb}.modal__regex-validation-status--fail{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb}.modal__regex-validation-icon{font-size:1.5rem;font-weight:700}.modal__regex-validation-text{flex:1}.modal__regex-highlight-container{white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;width:100%;min-height:120px;padding:.5rem;font-family:monospace;font-size:.9rem}.modal__regex-highlight-match{color:#004085;background-color:#cce5ff;border-radius:2px;padding:2px 0;font-weight:500}.modal__form-control--validation-pass{color:#155724;background-color:#d4edda!important;border-color:#c3e6cb!important}.modal__form-control--validation-fail{color:#721c24;background-color:#f8d7da!important;border-color:#f5c6cb!important}.modal__queue-v2{flex-direction:column;gap:12px;display:flex}.modal__queue-v2-toolbar{flex-shrink:0;gap:8px;display:flex}.modal__queue-v2-panels{border:1px solid #dee2e6;border-radius:8px;height:calc(75vh - 230px);min-height:380px;display:flex;overflow:hidden}.modal__queue-v2-list-panel{background:#f8f9fa;border-right:1px solid #dee2e6;flex-direction:column;flex-shrink:0;width:265px;display:flex}.modal__queue-v2-list-header{color:#6c757d;text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid #dee2e6;flex-shrink:0;padding:9px 12px;font-size:11px;font-weight:700}.modal__queue-v2-list-scroll{flex:1;padding:4px 0;overflow-y:auto}.modal__queue-v2-list-empty{color:#9ca3af;text-align:center;padding:20px 12px;font-size:13px}.modal__queue-v2-list-footer{border-top:1px solid #dee2e6;flex-shrink:0;padding:8px 10px}.modal__queue-v2-field-item{cursor:pointer;border-left:3px solid #0000;align-items:center;gap:6px;padding:7px 10px;transition:background .12s;display:flex}.modal__queue-v2-field-item:hover{background:#e9ecef}.modal__queue-v2-field-item--selected{background:#e8f0fe;border-left-color:#1a73e8}.modal__queue-v2-reorder{flex-direction:column;flex-shrink:0;gap:1px;display:flex}.modal__queue-v2-reorder-btn{cursor:pointer;color:#adb5bd;background:0 0;border:none;border-radius:2px;padding:1px 3px;font-size:9px;line-height:1;transition:all .12s}.modal__queue-v2-reorder-btn:hover:not(:disabled){color:#495057;background:#dee2e6}.modal__queue-v2-reorder-btn:disabled{opacity:.2;cursor:default}.modal__queue-v2-field-info{flex:1;min-width:0}.modal__queue-v2-field-name{color:#212529;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.modal__queue-v2-field-label{color:#6c757d;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.modal__queue-v2-type-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:3px;flex-shrink:0;padding:2px 5px;font-size:10px;font-weight:700}.modal__queue-v2-delete-btn{cursor:pointer;color:#dc3545;opacity:0;background:0 0;border:none;border-radius:3px;flex-shrink:0;padding:1px 4px;font-size:16px;line-height:1;transition:opacity .12s}.modal__queue-v2-field-item:hover .modal__queue-v2-delete-btn{opacity:1}.modal__queue-v2-detail-panel{background:#fff;flex:1;overflow-y:auto}.modal__queue-v2-empty{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100%;font-size:14px;display:flex}.modal__queue-v2-detail-content{flex-direction:column;gap:22px;padding:18px 22px;display:flex}.modal__queue-v2-section{flex-direction:column;gap:12px;display:flex}.modal__queue-v2-section-title{color:#6c757d;text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid #e9ecef;align-items:baseline;gap:6px;padding-bottom:7px;font-size:11px;font-weight:700;display:flex}.modal__queue-v2-section-hint{color:#adb5bd;text-transform:none;letter-spacing:0;font-size:11px;font-weight:400}.modal__queue-v2-row{gap:12px;display:grid}.modal__queue-v2-row--2col{grid-template-columns:1fr 1fr}.modal__queue-v2-row--3col{grid-template-columns:1fr 1fr 1fr}.modal__queue-v2-field-group{flex-direction:column;gap:5px;display:flex}.modal__queue-v2-label{color:#374151;font-size:12px;font-weight:600}.modal__queue-v2-label-hint{color:#9ca3af;margin-left:3px;font-weight:400}.modal__queue-v2-input{box-sizing:border-box;background:#fff;border:1px solid #ced4da;border-radius:5px;width:100%;padding:7px 10px;font-size:13px;transition:border-color .15s,box-shadow .15s}.modal__queue-v2-input:focus{border-color:#1a73e8;outline:none;box-shadow:0 0 0 3px #1a73e81f}.modal__queue-v2-toggle-row{flex-wrap:wrap;gap:24px;display:flex}.modal__queue-v2-toggle-item{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.modal__queue-v2-toggle-label{color:#374151;font-size:13px}.modal__queue-v2-redact-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.modal__queue-v2-redact-method{flex:0 0 175px}.modal__queue-v2-redact-param{flex:1;min-width:140px}.modal__queue-v2-schema-table{border-collapse:collapse;width:100%;font-size:12px}.modal__queue-v2-schema-table th{text-align:left;color:#4b5563;background:#f0f4ff;border-bottom:1px solid #dee2e6;padding:5px 7px;font-weight:600}.modal__queue-v2-schema-table td{vertical-align:middle;border-bottom:1px solid #f0f0f0;padding:4px 5px}.modal__queue-v2-schema-table input[type=text],.modal__queue-v2-schema-table select{box-sizing:border-box;border:1px solid #ddd;border-radius:4px;width:100%;padding:4px 6px;font-size:12px}.modal__queue-v2-schema-table input[type=text]:focus,.modal__queue-v2-schema-table select:focus{border-color:#1a73e8;outline:none}.modal__queue-v2-schema-table input[type=checkbox]{cursor:pointer;width:14px;height:14px}@media (width<=768px){.modal{max-width:calc(100% - 2rem);max-height:calc(100vh - 2rem);margin:1rem}.modal .modal-header,.modal .modal-body,.modal .modal-actions{padding:1rem 1.25rem}.modal .modal-actions{flex-direction:column}.modal .modal-actions button{width:100%}}@media (width<=480px){.modal{max-width:calc(100% - 1rem);max-height:calc(100vh - 1rem);margin:.5rem}.modal .modal-header,.modal .modal-body,.modal .modal-actions{padding:1rem}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c2c2c;background-color:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{min-height:100vh}.layout{flex-direction:column;min-height:100vh;display:flex}.header{color:#2c2c2c;z-index:1000;background-color:#fff;border-bottom:1px solid #e0e0e0;padding:0;position:fixed;top:0;left:0;right:0;box-shadow:0 4px 20px #0000001a}.header-content{justify-content:space-between;display:flex}.header-left{align-items:center;gap:1rem;display:flex}.sidebar-toggle{color:#2c2c2c;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.5rem;font-size:1.2rem;transition:background-color .3s}.sidebar-toggle:hover{background-color:#0000000d}.logo{align-items:center;margin:0;display:flex}.logo-img{object-fit:contain;width:auto;height:64px}.logo-login{object-fit:contain;width:auto;height:128px}.header-right{align-items:center;gap:1rem;padding-right:1rem;display:flex}.tenant-selector{border-radius:4px;align-items:center;display:flex}.tenant-dropdown{color:#fff;cursor:pointer;background:#2c2c2c;border:1px solid #ffffff4d;border-radius:4px;padding:.3rem 1rem;font-size:.9rem}.tenant-dropdown option{color:#fff;background:#2c2c2c}.tenant-dropdown:disabled{opacity:.6;cursor:not-allowed}.account-icon{margin-right:.5rem;font-size:1.5rem}.layout-body{min-height:calc(100vh - 70px);margin-top:70px;display:flex}.sidebar{background-color:#171c24;border-right:1px solid #2c3e50;width:280px;min-height:calc(100vh - 70px);transition:width .3s;overflow-y:auto}.sidebar.collapsed{width:60px}.sidebar-content{padding:1rem 0}.nav-section{margin-bottom:2rem}.nav-section-title{color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;padding:0 1rem;font-size:.8rem;font-weight:600}.sidebar.collapsed .nav-section-title{display:none}.admin-section{border-top:1px solid #ffffff1a;padding-top:1rem}.admin-title{color:#e74c3c}.nav-list{margin:0;padding:0;list-style:none}.nav-item{margin-bottom:.25rem}.nav-link{color:#fff;border-left:3px solid #0000;align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:500;text-decoration:none;transition:all .3s;display:flex}.nav-icon{flex-shrink:0;font-size:1.25rem}.nav-text{white-space:nowrap;overflow:hidden}.nav-link:hover{background-color:#ffffff1a;border-left-color:#039dff}.nav-link.active{background-color:#039dff;border-left-color:#1976d2}.admin-nav-link:hover{border-left-color:#ff3b2d}.admin-nav-link.active{background-color:#ff3b2d;border-left-width:medium;border-left-color:#e53935}.sidebar.collapsed .nav-link{justify-content:center;gap:0;padding:.75rem .5rem}.sidebar.collapsed .nav-text{display:none}.sidebar.collapsed .nav-icon{font-size:1.5rem}.main-content{background-color:#f8f9fa;flex:1;padding:2rem;overflow-y:auto}.page{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000001a}.page h2{color:#2c3e50;margin-bottom:1rem;font-size:2rem;font-weight:600}.page-content{margin-top:1.5rem}.dashboard-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:2rem;display:grid}.card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;transition:box-shadow .3s}.card:hover{box-shadow:0 4px 8px #0000001a}.card h3{color:#2c3e50;margin-bottom:.5rem;font-size:1.25rem}.btn{cursor:pointer;border:none;border-radius:4px;margin-right:.5rem;padding:.75rem 1.5rem;font-weight:500;text-decoration:none;transition:background-color .3s;display:inline-block}.btn-primary{color:#fff;background-color:#039dff;border:none;transition:all .3s}.btn-primary:hover{background-color:#1976d2;transform:translateY(-1px);box-shadow:0 4px 15px #1e9bff4d}.btn-secondary{color:#fff;background-color:#9b9b9b;border:1px solid #9b9b9b;transition:all .3s}.btn-secondary:hover{background-color:gray;transform:translateY(-1px)}.job-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:1.5rem 0;display:flex}.job-actions{gap:.5rem;display:flex}.job-filters{align-items:center;gap:.5rem;display:flex}.job-filters label{color:#495057;font-weight:500}.status-filter{background-color:#fff;border:1px solid #ced4da;border-radius:4px;padding:.5rem}.data-table{border-collapse:collapse;background:#fff;border-radius:8px;width:100%;margin-top:1rem;overflow:hidden;box-shadow:0 2px 4px #0000001a}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #e9ecef;padding:1rem}.data-table th{color:#495057;background-color:#f8f9fa;font-weight:600;position:sticky;top:0}.data-table tbody tr:hover{background-color:#f8f9fa}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr.new-job-highlight{animation:3s ease-out highlightFade}@keyframes highlightFade{0%{background-color:#039dff}to{background-color:#0000}}.status-badge{text-transform:uppercase;border-radius:12px;padding:.25rem .5rem;font-size:.875rem;font-weight:500}.status-initiated{color:#1976d2;background-color:#e3f2fd}.status-running{color:#f57c00;background-color:#fff3e0}.status-completed{color:#2e7d32;background-color:#e8f5e8}.status-failed{color:#c62828;background-color:#ffebee}.status-queued{color:#1976d2;background-color:#ffebee}.status-aborted{color:#c62828;background-color:#ffebee}.btn:disabled{opacity:.6;cursor:not-allowed}.loading{text-align:center;color:#6c757d;padding:2rem}.error-message{color:#721c24;background-color:#ffebee;border:1px solid #f5c6cb;border-radius:8px;margin:1rem 0;padding:1rem}.success-message{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb;border-radius:8px;margin:1rem 0;padding:1rem}.validation-warning{color:#856404;background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;margin-bottom:16px;padding:8px 12px}.empty-state{text-align:center;color:#6c757d;padding:3rem}.jobs-table{margin-top:2rem}.automation-actions{margin:1.5rem 0}.automations-grid{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:2rem;padding:2rem}.queue-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:1.5rem 0;display:grid}.stat-card{text-align:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem}.stat-card h4{color:#6c757d;text-transform:uppercase;margin-bottom:.5rem;font-size:.9rem}.stat-value{color:#2c3e50;font-size:2rem;font-weight:600}.queues-list{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-top:2rem;padding:2rem}.settings-sections{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:2rem;display:grid}.settings-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1.5rem;transition:all .3s}.settings-section.clickable{cursor:pointer}.settings-section.clickable:hover{background:#e9ecef;border-color:#039dff;transform:translateY(-2px);box-shadow:0 4px 12px #039dff26}.settings-section h3{color:#2c3e50;-webkit-user-select:none;user-select:none;margin-bottom:.5rem;font-size:1.25rem}.settings-section p{-webkit-user-select:none;user-select:none}@media (width<=768px){.header-content{padding:.75rem 1rem}.header-right{gap:.5rem}.tenant-dropdown{padding:.4rem .6rem;font-size:.8rem}.sidebar{z-index:999;width:60px;position:fixed;top:70px;left:0}.sidebar .nav-text,.sidebar .nav-section-title{display:none}.sidebar .nav-link{justify-content:center;gap:0;padding:.75rem .5rem}.sidebar .nav-icon{font-size:1.5rem}.layout-body{margin-left:60px}.main-content{margin-left:0;padding:1rem}.dashboard-cards,.queue-stats,.settings-sections{grid-template-columns:1fr}.job-controls{flex-direction:column;align-items:stretch}.job-actions,.job-filters{justify-content:center}.data-table-container{overflow-x:auto}.data-table{min-width:800px}.data-table th,.data-table td{padding:.5rem;font-size:.875rem}}@media (width<=1400px){.data-table th.jobs-hide-xl,.data-table td.jobs-hide-xl{display:none}}@media (width<=1200px){.data-table th.jobs-hide-lg,.data-table td.jobs-hide-lg{display:none}}@media (width<=992px){.data-table th.jobs-hide-md,.data-table td.jobs-hide-md{display:none}}@media (width<=768px){.data-table th.jobs-hide-sm,.data-table td.jobs-hide-sm{display:none}}@media (width<=1400px){.data-table th.automations-hide-xl,.data-table td.automations-hide-xl{display:none}}@media (width<=1200px){.data-table th.automations-hide-lg,.data-table td.automations-hide-lg{display:none}}@media (width<=992px){.data-table th.automations-hide-md,.data-table td.automations-hide-md{display:none}}@media (width<=768px){.data-table th.automations-hide-sm,.data-table td.automations-hide-sm{display:none}.data-table{min-width:unset;table-layout:fixed;width:100%}.data-table td,.data-table th{word-wrap:break-word;overflow-wrap:break-word}.data-table td:first-child,.data-table th:first-child{width:60%}.data-table td:nth-child(2),.data-table th:nth-child(2){width:25%}.data-table td:nth-child(3),.data-table th:nth-child(3){text-align:center;width:15%}}.login-container{background:linear-gradient(45deg,#330bc2 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-card{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:400px;padding:3rem;box-shadow:0 20px 40px #0000001a}.login-header h1{color:#2c3e50;margin-bottom:.5rem;font-size:2rem;font-weight:600}.login-header p{color:#6c757d;margin-bottom:2rem;font-size:1rem}.login-form{text-align:left}.form-group{margin-bottom:1.5rem}.form-group label{color:#495057;margin-bottom:.5rem;font-weight:500;display:block}.form-group input,.form-group select{box-sizing:border-box;border:2px solid #e9ecef;border-radius:8px;width:100%;padding:.875rem;font-size:1rem;transition:border-color .3s,box-shadow .3s}.form-group input:focus,.form-group select:focus{border-color:#3498db;outline:none;box-shadow:0 0 0 3px #3498db1a}.form-group input:disabled,.form-group select:disabled{cursor:not-allowed;background-color:#f8f9fa}.input-with-button{gap:8px;display:flex}.input-with-button input{flex:1}.input-with-button .btn{white-space:nowrap;flex-shrink:0}.secret-input{-webkit-text-security:disc;text-security:disc}.secret-input-visible{-webkit-text-security:none;text-security:none}.form-input,.form-select{box-sizing:border-box;border:2px solid #e9ecef;border-radius:8px;width:100%;padding:.875rem;font-size:1rem;transition:border-color .3s,box-shadow .3s}.form-input:focus,.form-select:focus{border-color:#3498db;outline:none;box-shadow:0 0 0 3px #3498db1a}.form-input:disabled,.form-select:disabled{cursor:not-allowed;background-color:#f8f9fa}.login-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);border:none;border-radius:8px;width:100%;margin-bottom:1rem;padding:1rem;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #3498db4d}.login-button:disabled{cursor:not-allowed;box-shadow:none;background:#95a5a6;transform:none}.login-footer{border-top:1px solid #e9ecef;margin-top:2rem;padding-top:1.5rem}.demo-credentials{color:#6c757d;background-color:#f8f9fa;border-left:4px solid #3498db;border-radius:8px;margin:0;padding:1rem;font-size:.875rem}.demo-credentials strong{color:#495057}.user-menu{align-items:center;display:flex;position:relative}.user-account{cursor:pointer;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:4px;align-items:center;gap:.5rem;transition:background-color .3s;display:flex}.user-account:hover{background:#fff3}.user-info,.credit-notice{font-size:.9rem;font-weight:500}.user-dropdown{z-index:1001;background:#fff;border-radius:4px;min-width:120px;margin-top:.5rem;position:absolute;top:100%;right:.5rem;box-shadow:0 4px 12px #00000026}.user-dropdown-item{cursor:pointer;color:#495057;border-bottom:1px solid #f8f9fa;padding:.75rem 1rem;font-size:.9rem;transition:background-color .3s}.user-dropdown-item:last-child{border-bottom:none}.user-dropdown-item:hover{background-color:#f8f9fa}.user-dropdown-divider{background-color:#dee2e6;height:1px;margin:.5rem 0}.app-loading{background-color:#f5f5f5;justify-content:center;align-items:center;min-height:100vh;display:flex}.loading-spinner{text-align:center}.loading-spinner p{color:#6c757d;font-size:1.1rem}@media (width<=768px){.login-container{padding:1rem}.login-card{padding:2rem}.user-menu{position:static}.user-account{padding:.4rem .6rem}.user-info{font-size:.8rem}.user-dropdown{width:150px;position:fixed;top:70px;left:auto;right:1rem}}.admin-separator{border-left:1px solid #ffffff4d;margin-left:2rem;padding-left:2rem}.admin-label{color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.admin-nav-link{background:#ffffff0d;border:1px solid #ffffff1a}.admin-nav-link:hover{background:#ffffff1a}.admin-nav-link.active{background:#ffa12c}.admin-header{border-bottom:2px solid #3498db;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.admin-header h2{color:#2c3e50;margin:0}.admin-header p{color:#6c757d;margin:.5rem 0 0;font-size:.9rem}.admin-content{margin-top:1rem}.modal-form{padding:1.5rem 2rem}.modal-form .form-group{margin-bottom:1.5rem}.modal-form .form-group:last-of-type{margin-bottom:2rem}.modal-form textarea{resize:vertical;box-sizing:border-box;border:2px solid #e9ecef;border-radius:8px;width:100%;min-height:100px;padding:.875rem;font-family:inherit;font-size:1rem;transition:border-color .3s,box-shadow .3s}.modal-form textarea:focus{border-color:#3498db;outline:none;box-shadow:0 0 0 3px #3498db1a}.action-buttons{gap:.5rem;display:flex}.btn-danger{color:#fff;background-color:#ff3b2d;border:none;transition:all .3s}.btn-danger:hover{background-color:#e53935;transform:translateY(-1px);box-shadow:0 4px 15px #ff3b2d4d}.btn-warning{color:#212529;background-color:#ffc107;border:none;transition:all .3s}.btn-warning:hover{background-color:#ffca2c;transform:translateY(-1px);box-shadow:0 4px 15px #ffc1074d}.role-badge{text-transform:uppercase;color:#fff;background-color:#3498db;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.tenants-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1rem;display:grid}.tenant-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;transition:box-shadow .3s,transform .3s;overflow:hidden;box-shadow:0 2px 4px #0000001a}.tenant-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.tenant-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.tenant-header h3{color:#2c3e50;margin:0;font-size:1.25rem}.tenant-id{color:#6c757d;background:#fff;border:1px solid #dee2e6;border-radius:4px;padding:.25rem .5rem;font-size:.75rem}.tenant-body{padding:1.5rem}.tenant-body p{color:#495057;margin:0;line-height:1.5}.tenant-actions{background:#f8f9fa;border-top:1px solid #e9ecef;justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem;display:flex}.environments-grid{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.environment-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;width:100%;transition:box-shadow .3s;overflow:hidden;box-shadow:0 2px 4px #0000001a}.environment-card:hover{box-shadow:0 4px 12px #00000026}.environment-header{background:#f8f9fa;border-bottom:1px solid #e9ecef;justify-content:space-between;align-items:center;padding:1.5rem;transition:background-color .2s;display:flex}.environment-header:hover{background:#e9ecef}.environment-header-left{align-items:center;gap:.75rem;display:flex}.toggle-icon{color:#6c757d;-webkit-user-select:none;user-select:none;font-size:.75rem;transition:transform .2s}.environment-header h3{color:#2c3e50;margin:0;font-size:1.25rem}.environment-id{color:#6c757d;background:#fff;border:1px solid #dee2e6;border-radius:4px;padding:.25rem .5rem;font-size:.75rem}.environment-body{padding:1.5rem}.environment-body .description{color:#495057;margin:0 0 1.5rem;line-height:1.5}.environment-actions{background:#f8f9fa;border-top:1px solid #e9ecef;justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem;display:flex}.workers-section{margin-top:1rem}.workers-section h4{color:#495057;margin-bottom:.75rem;font-size:1rem;font-weight:600}.no-workers{color:#6c757d;margin:.5rem 0;font-size:.9rem;font-style:italic}.workers-table{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;overflow:hidden}.workers-header{color:#495057;text-transform:uppercase;letter-spacing:.03em;background:#e9ecef;grid-template-columns:1fr 1fr 1fr 1fr 140px;gap:.5rem;padding:.75rem 1rem;font-size:.85rem;font-weight:600;display:grid}.worker-row{border-top:1px solid #e9ecef;grid-template-columns:1fr 1fr 1fr 1fr 140px;align-items:center;gap:.5rem;padding:.75rem 1rem;transition:background-color .2s;display:grid}.worker-row:first-of-type{border-top:none}.worker-row:hover{background-color:#fff}.worker-card{background:#fff}.worker-col-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.worker-col-status,.worker-col-created,.worker-col-actions{align-items:center;display:flex}.worker-col-actions{justify-content:flex-end;gap:.5rem}.worker-status-badge{text-transform:uppercase;border-radius:12px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.status-online{color:#2e7d32;background-color:#e8f5e8}.status-offline{color:#757575;background-color:#f5f5f5}.status-busy{color:#f57c00;background-color:#fff3e0}.status-error{color:#c62828;background-color:#ffebee}.status-pending{color:#1976d2;background-color:#e3f2fd}.attach-key-container{align-items:center;gap:.5rem;display:flex}.attach-key-input{flex:1}.readonly-input{color:#495057;cursor:default;background-color:#f8f9fa}.instruction-text{background:#e8f4fd;border:1px solid #bee5eb;border-radius:8px;margin-top:1rem;padding:1rem}.instruction-text h4{color:#055160;margin:0 0 .75rem;font-size:1rem}.instruction-text ol{color:#055160;margin:0;padding-left:1.5rem}.instruction-text li{margin-bottom:.5rem;line-height:1.5}.instruction-text li:last-child{margin-bottom:0}.assignments-container{flex-direction:column;gap:1.5rem;display:flex}.user-assignment-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.user-info{align-items:center;gap:1rem;padding:.5rem;display:flex}.user-info h3{color:#2c3e50;flex:1;margin:0}.user-email{color:#6c757d;font-size:.9rem}.user-role{color:#fff;text-transform:uppercase;background:#3498db;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.tenant-assignments{padding:1.5rem}.tenant-assignments h4{color:#495057;margin:0 0 1rem;font-size:1rem}.tenant-list{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.tenant-assignment{background:#e8f4fd;border:1px solid #bee5eb;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.tenant-name{color:#055160;font-size:.9rem;font-weight:500}.no-assignments{color:#6c757d;margin:1rem 0;font-style:italic}.assignment-actions{border-top:1px solid #e9ecef;margin-top:1rem;padding-top:1rem}.tenant-select{background-color:#fff;border:2px solid #e9ecef;border-radius:8px;width:100%;padding:.875rem;font-size:1rem;transition:border-color .3s,box-shadow .3s}.tenant-select:focus{border-color:#3498db;outline:none;box-shadow:0 0 0 3px #3498db1a}.info-message{color:#0c5460;background:#d1ecf1;border-left:4px solid #17a2b8;border-radius:8px;margin:1rem 0;padding:1rem}@media (width<=768px){.admin-header{flex-direction:column;align-items:stretch;gap:1rem}.admin-separator{border-top:1px solid #ffffff4d;border-left:none;margin-top:1rem;margin-left:0;padding-top:1rem;padding-left:0}.modal{max-width:calc(100% - 2rem);margin:1rem}.modal-actions{flex-direction:column}.tenants-grid,.environments-grid{grid-template-columns:1fr}.environment-header{flex-wrap:wrap;gap:.5rem}.environment-header-left{flex:1;min-width:200px}.workers-header,.worker-row{grid-template-columns:1fr;gap:.25rem}.workers-header span,.worker-row span{padding:.25rem 0}.worker-col-name:before{content:"Name: ";font-weight:600}.worker-col-status:before{content:"Status: ";font-weight:600}.worker-col-created:before{content:"Created: ";font-weight:600}.workers-header{display:none}.user-info{flex-direction:column;align-items:stretch;gap:.5rem}.tenant-list{flex-direction:column}.tenant-assignment{justify-content:space-between}}.header-controls{align-items:center;gap:1rem;display:flex}.search-input{border:2px solid #e0e0e0;border-radius:8px;min-width:200px;padding:.5rem .75rem;font-size:.9rem;transition:all .3s}.search-input:focus{border-color:#039dff;outline:none;box-shadow:0 0 0 3px #1e9bff1a}.scope-badge{text-transform:uppercase;color:#fff;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.scope-global{background-color:#039dff}.scope-tenant{background-color:#00e581}.scope-automation{background-color:#e220cc}.scope-package{background-color:#ff9f0a}.filter-select{cursor:pointer;background-color:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:.5rem .75rem;font-size:.9rem;transition:all .3s}.filter-select:focus{border-color:#039dff;outline:none;box-shadow:0 0 0 3px #1e9bff1a}.three-dot-menu{cursor:pointer;color:#fff;background-color:#9b9b9b;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:.25rem .5rem;font-size:1.2rem;transition:all .3s;display:flex}.three-dot-menu:hover{background-color:#04e5b1;transform:scale(1.1)}.context-menu{z-index:2000;background:#fff;border:1px solid #e0e0e0;border-radius:8px;min-width:120px;overflow:hidden;box-shadow:0 8px 32px #3030c226}.context-menu button{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:.5rem 1rem;transition:background-color .2s;display:block}.context-menu button:hover{color:#fff;background-color:#039dff}.context-menu button:first-child{border-radius:4px 4px 0 0}.context-menu button:last-child{border-radius:0 0 4px 4px}.context-menu button:disabled{color:#aaa;cursor:not-allowed}.context-menu button:disabled:hover{color:#aaa;background-color:#0000}.parameter-badge{border-radius:4px;padding:.25rem .5rem;font-size:.8rem;font-weight:500}.parameter-badge.active{color:#fff;background-color:#04e5b1}.parameter-badge.inactive{color:#fff;background-color:#9b9b9b}.form-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.checkbox-group{align-items:center;display:flex}.checkbox-label{cursor:pointer;vertical-align:middle;align-items:center;gap:.5rem;font-weight:500;display:inline-flex}.checkbox-label input[type=checkbox]{cursor:pointer;vertical-align:middle;flex-shrink:0;margin:0;padding:0;position:relative;top:0}.checkbox-label span{vertical-align:middle;line-height:1.2;display:inline-block}.form-group textarea{resize:vertical;min-height:80px;font-family:inherit}.form-group input[type=checkbox]{width:30px}.artefacts-list{flex-direction:column;gap:.75rem;display:flex}.artefact-item{background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;align-items:center;padding:1rem;transition:background-color .2s,border-color .2s;display:flex}.artefact-item:hover{background-color:#e9ecef;border-color:#dee2e6}.artefact-icon{flex-shrink:0;margin-right:.75rem;font-size:1.5rem}.artefact-name{color:#2c2c2c;text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.artefact-actions{gap:.5rem;margin-left:1rem;display:flex}.btn-icon{cursor:pointer;background:0 0;border:1px solid #dee2e6;border-radius:4px;justify-content:center;align-items:center;padding:.5rem .75rem;font-size:1.25rem;transition:all .2s;display:flex}.btn-icon:hover{background-color:#fff;border-color:#06c;transform:translateY(-1px)}.btn-icon:active{transform:translateY(0)}@media (width<=768px){.header-controls{flex-direction:column;align-items:stretch;gap:.5rem}.search-input,.filter-select{min-width:auto}.form-row{grid-template-columns:1fr}.artefact-item{flex-wrap:wrap}.artefact-name{flex-basis:100%;margin-bottom:.5rem}.artefact-actions{margin-left:auto}}.validation-error{color:#dc3545;margin-top:.25rem;font-size:.875rem;display:block}.input-error{border-color:#dc3545!important}.input-error:focus{border-color:#dc3545!important;box-shadow:0 0 0 3px #dc35451a!important}.multi-select-group{background-color:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;flex-direction:column;gap:.5rem;padding:.5rem;display:flex}.multi-select-group .checkbox-label{margin:0;padding:.25rem}.multi-select-group .checkbox-label:hover{background-color:#3498db0d;border-radius:4px}.multi-select-group select,.multi-select-group input[type=text],.multi-select-group input[type=datetime-local],.filter-group input,.filter-group select,.filters-section select,.filters-section input[type=text],.filters-section input[type=datetime-local]{background-color:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:.5rem .75rem;font-size:.9rem;transition:border-color .3s,box-shadow .3s}.multi-select-group select:focus,.multi-select-group input[type=text]:focus,.multi-select-group input[type=datetime-local]:focus,.filter-group input:focus,.filter-group select:focus,.filters-section select:focus,.filters-section input[type=text]:focus,.filters-section input[type=datetime-local]:focus{border-color:#3498db;outline:none;box-shadow:0 0 0 3px #3498db1a}.filter-group{flex-direction:column;gap:.25rem;display:flex}.filter-group label{color:#495057;font-size:.85rem;font-weight:500}.multi-select-checkbox-container{background-color:#f8f9fa;border:1px solid #ddd;border-radius:4px;flex-wrap:wrap;gap:.5rem;max-height:120px;padding:.5rem;display:flex;overflow-y:auto}.multi-select-checkbox-container .multi-select-item{background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;margin:0;padding:.25rem .5rem;font-size:.875rem}.multi-select-checkbox-container .multi-select-item:hover{background-color:#3498db1a;border-color:#3498db}.modal-resizable{resize:both;flex-direction:column;width:900px;min-width:600px;max-width:95vw;height:700px;min-height:400px;max-height:95vh;display:flex;position:relative;overflow:hidden}.modal-resizable .modal-form{flex-direction:column;flex:1;display:flex;overflow-y:auto}.modal-resizable .form-group{flex-direction:column;flex:1;display:flex}.modal-resizable .form-group .rsw-editor{flex-direction:column;flex:1;min-height:400px;display:flex}.modal-resizable .form-group .rsw-ce{flex:1;overflow-y:auto}.modal-resizable:after{content:"";cursor:nwse-resize;pointer-events:none;background:linear-gradient(135deg,#0000 50%,#ddd 50%);width:20px;height:20px;position:absolute;bottom:0;right:0}.email-field-container{align-items:flex-start;gap:8px;display:flex}.email-chips{border:1px solid var(--border-color,#ddd);background-color:var(--bg-color,#fff);border-radius:4px;flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-height:42px;padding-left:6px;display:flex}.email-contact{width:80px}.email-chip{color:#fff;background-color:#007bff;border-radius:4px;align-items:center;gap:6px;padding:4px 8px;font-size:14px;display:inline-flex}.email-chip span{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.email-chip-remove{color:#fff;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:16px;height:16px;margin:0;padding:0;font-size:18px;line-height:1;display:flex}.email-chip-remove:hover{background-color:#fff3;border-radius:50%}.email-input{background-color:#0000;border:none;outline:none;flex:1;min-width:200px;font-size:14px;border:none!important;border-radius:0!important;padding:0!important}.email-input:focus{outline:none}.contact-list{border:1px solid var(--border-color,#ddd);border-radius:4px;max-height:400px;margin-bottom:16px;overflow-y:auto}.contact-item{border-bottom:1px solid var(--border-color,#ddd);cursor:pointer;padding:12px 16px;transition:background-color .2s}.contact-item:last-child{border-bottom:none}.contact-item:hover{background-color:#f5f5f5}.contact-name{color:var(--text-color,#333);margin-bottom:4px;font-size:14px;font-weight:600}.contact-email{color:#666;font-size:13px}.job-header{border-bottom:1px solid #ddd;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:15px;display:flex}.job-info h3{margin:0 0 10px}.job-meta{align-items:center;gap:10px;display:flex}.connection-indicator{border-radius:4px;padding:4px 8px;font-size:.9em}.connection-indicator.connected{color:#28a745;font-weight:700}.connection-indicator.disconnected{color:#dc3545}.job-details{background:#f8f9fa;border-radius:4px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-bottom:30px;padding:15px;display:grid}.detail-item{flex-direction:column;gap:5px;display:flex}.detail-item strong{color:#555;font-size:.9em}.logs-section{margin-top:20px}.logs-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.logs-header h4{margin:0}.logs-controls{align-items:center;gap:10px;display:flex}.autoscroll-checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;font-size:.9em;display:flex}.autoscroll-checkbox input[type=checkbox]{cursor:pointer}.logs-container{color:#d4d4d4;background:#1e1e1e;border:1px solid #ddd;border-radius:4px;height:500px;font-family:Courier New,Courier,monospace;font-size:.9em;overflow-y:auto}.logs-empty{color:#888;justify-content:center;align-items:center;height:100%;display:flex}.logs-content{padding:10px}.log-entry{border-left:3px solid #0000;gap:10px;margin-bottom:2px;padding:4px 8px;display:flex}.log-entry:hover{background:#2d2d2d}.log-timestamp{color:#858585;white-space:nowrap}.log-level{min-width:70px;font-weight:700}.log-message{word-break:break-word;flex:1}.log-error{border-left-color:#f48771}.log-error .log-level{color:#f48771}.log-warning{border-left-color:#dcdcaa}.log-warning .log-level{color:#dcdcaa}.log-info{border-left-color:#4fc1ff}.log-info .log-level{color:#4fc1ff}.log-debug{border-left-color:#b5cea8}.log-debug .log-level{color:#b5cea8}.btn-small{padding:5px 10px;font-size:.85em}.btn-small:disabled{opacity:.5;cursor:not-allowed}.dashboard-error{color:#721c24;background-color:#ffebee;border:1px solid #f5c6cb;border-radius:8px;margin-bottom:20px;padding:1rem}.dashboard-charts-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px;display:grid}.chart-loading{text-align:center;color:#6c757d;padding:50px}.chart-error{text-align:center;color:#ff4d4f;padding:50px}.chart-placeholder{color:#999;justify-content:center;align-items:center;height:100%;font-size:1rem;display:flex}.date-filter-group{flex-direction:column;gap:5px;display:flex}.date-filter-label{color:#333;font-size:.9rem;font-weight:500}@media (width<=1024px){.dashboard-charts-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.dashboard-charts-grid{grid-template-columns:1fr}}.tenant-multi-select{min-width:250px;position:relative}.multi-select-trigger{cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#fff;border:1px solid #ddd;border-radius:4px;justify-content:space-between;align-items:center;padding:.5rem 1rem;transition:border-color .2s;display:flex}.multi-select-trigger:hover:not(.disabled){border-color:#4a90e2}.multi-select-trigger.disabled{cursor:not-allowed;opacity:.6;background-color:#f5f5f5}.dropdown-arrow{color:#666;margin-left:.5rem;font-size:.8rem}.multi-select-dropdown{z-index:1000;background-color:#fff;border:1px solid #ddd;border-radius:4px;flex-direction:column;max-height:300px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 4px 12px #00000026}.multi-select-header{background-color:#f9f9f9;border-bottom:1px solid #eee;padding:.5rem}.select-all-btn{color:#fff;cursor:pointer;background-color:#4a90e2;border:none;border-radius:3px;width:100%;padding:.4rem;font-size:.85rem;font-weight:500;transition:background-color .2s}.select-all-btn:hover{background-color:#357abd}.multi-select-options{max-height:240px;overflow-y:auto}.multi-select-option{cursor:pointer;border-bottom:1px solid #f0f0f0;align-items:center;padding:.6rem 1rem;transition:background-color .2s;display:flex}.multi-select-option:hover{background-color:#f5f5f5}.multi-select-option:last-child{border-bottom:none}.multi-select-option input[type=checkbox]{cursor:pointer;width:16px;height:16px;margin-right:.75rem}.option-label{color:#333;flex:1;font-size:.9rem}.admin-reports-controls{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.control-group{flex-direction:column;gap:.3rem;display:flex}.control-group label{color:#555;font-size:.85rem;font-weight:500}.rate-limit-warning{z-index:1100;animation:.3s ease-out slideIn;position:fixed;top:80px;right:20px}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.rate-limit-content{background-color:#fff3cd;border:1px solid #ffc107;border-radius:6px;align-items:center;gap:.75rem;min-width:350px;max-width:500px;padding:.875rem 1.25rem;display:flex;box-shadow:0 4px 12px #00000026}.warning-icon{flex-shrink:0;font-size:1.25rem}.warning-message{color:#856404;flex:1;font-size:.9rem;line-height:1.4}.dismiss-button{color:#856404;cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:1.5rem;transition:background-color .2s;display:flex}.dismiss-button:hover{background-color:#0000001a}.date-range-warning{z-index:1100;animation:.3s ease-out slideIn;position:fixed;top:140px;right:20px}.date-range-content{background-color:#ffe6e6;border:1px solid #dc3545;border-radius:6px;align-items:center;gap:.75rem;min-width:350px;max-width:500px;padding:.875rem 1.25rem;display:flex;box-shadow:0 4px 12px #00000026}.date-range-content .warning-message,.date-range-content .dismiss-button{color:#721c24}.page-header h1{margin:0 0 .5rem}.page-header .page-description{color:#666;margin:0;font-size:.95rem}.download-button{color:#fff;cursor:pointer;white-space:nowrap;background-color:#007bff;border:none;border-radius:6px;padding:.625rem 1.5rem;font-size:.95rem;font-weight:500;transition:background-color .2s,transform .1s;box-shadow:0 2px 4px #0000001a}.download-button:hover:not(:disabled){background-color:#0056b3;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.download-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0000001a}.download-button:disabled{cursor:not-allowed;opacity:.6;background-color:#ccc}.dual-mode-editor{flex-direction:column;gap:.5rem;display:flex}.editor-mode-toggle{gap:.5rem;margin-bottom:.5rem;display:flex}.mode-toggle-btn{color:#2c2c2c;cursor:pointer;background-color:#fff;border:2px solid #e0e0e0;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.mode-toggle-btn:hover{background-color:#f8f9fa;border-color:#3498db}.mode-toggle-btn.active{color:#fff;background-color:#3498db;border-color:#3498db}.mode-toggle-btn.active:hover{background-color:#2980b9;border-color:#2980b9}.html-editor{resize:vertical;color:#2c2c2c;background-color:#f8f9fa;border:2px solid #e0e0e0;border-radius:6px;width:100%;min-height:300px;padding:1rem;font-family:Courier New,Courier,monospace;font-size:.875rem;line-height:1.5;transition:border-color .2s}.html-editor:focus{background-color:#fff;border-color:#3498db;outline:none;box-shadow:0 0 0 3px #3498db1a}.html-editor::placeholder{color:#999;font-style:italic}.editor-validation-error{color:#721c24;background-color:#ffe6e6;border:1px solid #dc3545;border-radius:6px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.editor-validation-error:before{content:"⚠";font-size:1.2rem}.editor-help-text{color:#666;margin-top:.25rem;padding-left:.25rem;font-size:.8rem;font-style:italic}.editor-with-palette{align-items:flex-start;gap:.75rem;display:flex}.editor-area{flex:1;min-width:0}.subject-editor{color:#2c2c2c;white-space:nowrap;box-sizing:border-box;background-color:#fff;border:2px solid #e0e0e0;border-radius:6px;outline:none;width:100%;min-height:38px;padding:8px 12px;font-family:inherit;font-size:.875rem;line-height:1.5;transition:border-color .2s;display:block;overflow-x:auto}.subject-editor:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.subject-editor--empty:before{content:attr(data-placeholder);color:#aaa;pointer-events:none}.content-editable-editor{color:#2c2c2c;background-color:#fff;border:2px solid #e0e0e0;border-radius:6px;outline:none;min-height:300px;padding:1rem;font-family:inherit;font-size:.875rem;line-height:1.5;transition:border-color .2s;overflow-y:auto}.content-editable-editor:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.placeholder-chip-inline{color:#1a5276;cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap;background-color:#ebf5fb;border:1px solid #aed6f1;border-radius:4px;align-items:center;gap:3px;padding:1px 4px 1px 7px;font-family:Courier New,monospace;font-size:.8rem;display:inline-flex}.chip-inline-remove{color:#1a5276;cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;padding:0;font-size:.7rem;display:inline-flex}.chip-inline-remove:after{content:"×"}.placeholder-chip-inline:hover .chip-inline-remove{opacity:1}.chip-inline-remove:hover{color:#fff;opacity:1;background-color:#dc3545}.placeholder-palette{background-color:#fafafa;border:2px solid #e0e0e0;border-radius:6px;flex-direction:column;flex-shrink:0;width:200px;display:flex;overflow:hidden}.palette-header{text-transform:uppercase;letter-spacing:.05em;color:#666;background-color:#f0f0f0;border-bottom:1px solid #e0e0e0;padding:.5rem .75rem;font-size:.75rem;font-weight:600}.palette-tabs{border-bottom:1px solid #e0e0e0;display:flex}.palette-tab{color:#555;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:.4rem .5rem;font-size:.8rem;transition:all .15s}.palette-tab:hover{color:#3498db;background-color:#f5f5f5}.palette-tab.active{color:#3498db;border-bottom-color:#3498db;font-weight:600}.palette-section{flex-direction:column;gap:.5rem;max-height:400px;padding:.5rem;display:flex;overflow-y:auto}.param-input-row{gap:.35rem;display:flex}.param-name-input{border:1px solid #d0d0d0;border-radius:4px;flex:1;min-width:0;padding:.3rem .5rem;font-size:.8rem}.param-name-input:focus{border-color:#3498db;outline:none}.palette-chips{flex-direction:column;gap:.35rem;display:flex}.palette-chip{color:#1a5276;cursor:grab;-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;background-color:#ebf5fb;border:1px solid #aed6f1;border-radius:4px;padding:4px 10px;font-family:Courier New,monospace;font-size:.78rem;transition:background-color .15s,border-color .15s;display:inline-block;overflow:hidden}.palette-chip:hover{background-color:#d6eaf8;border-color:#3498db}.palette-chip:active{cursor:grabbing}.palette-chip--contact{color:#1e8449;background-color:#eafaf1;border-color:#a9dfbf}.palette-chip--contact:hover{background-color:#d5f5e3;border-color:#27ae60}.palette-chip--removable{justify-content:space-between;align-items:center;padding-right:4px;display:flex}.palette-chip--detected{color:#666;background-color:#f5f5f5;border-style:dashed;border-color:#ccc;justify-content:space-between;align-items:center;padding-right:4px;display:flex}.palette-chip--detected:hover{background-color:#ebebeb;border-color:#999}.palette-chip-remove,.palette-chip-add{cursor:pointer;vertical-align:middle;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;margin-left:4px;font-size:.75rem;line-height:1;display:inline-flex}.palette-chip-remove{color:#555;background-color:#0000001f}.palette-chip-remove:hover{color:#fff;background-color:#dc3545}.palette-chip-add{color:#555;background-color:#0000001a;font-weight:700}.palette-chip-add:hover{color:#fff;background-color:#27ae60}.palette-empty{color:#999;margin:0;font-size:.78rem;font-style:italic;line-height:1.4}.pagination-container{background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem;display:flex}.pagination-info{color:#666;font-size:.9rem;font-weight:500}.pagination-controls{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.page-size-selector{align-items:center;gap:.5rem;display:flex}.page-size-selector label{color:#666;white-space:nowrap;font-size:.9rem}.page-size-select{color:#2c2c2c;cursor:pointer;background-color:#fff;border:1px solid #ddd;border-radius:4px;padding:.4rem .75rem;font-size:.9rem;transition:all .2s}.page-size-select:hover{border-color:#3498db}.page-size-select:focus{border-color:#3498db;outline:none;box-shadow:0 0 0 3px #3498db1a}.page-navigation{align-items:center;gap:.25rem;display:flex}.btn-pagination{color:#2c2c2c;cursor:pointer;background-color:#fff;border:1px solid #ddd;border-radius:4px;justify-content:center;align-items:center;min-width:40px;padding:.4rem .75rem;font-size:.9rem;transition:all .2s;display:inline-flex}.btn-pagination:hover:not(:disabled){background-color:#f0f0f0;border-color:#3498db}.btn-pagination:disabled{opacity:.5;cursor:not-allowed;background-color:#f8f9fa}.btn-pagination.active{color:#fff;background-color:#3498db;border-color:#3498db;font-weight:600}.btn-pagination.active:hover{background-color:#2980b9;border-color:#2980b9}.page-ellipsis{color:#666;-webkit-user-select:none;user-select:none;padding:.4rem .5rem;font-size:.9rem}@media (width<=768px){.pagination-container{flex-direction:column;align-items:stretch}.pagination-info{text-align:center}.pagination-controls{flex-direction:column;align-items:stretch}.page-size-selector{justify-content:center}.page-navigation{flex-wrap:wrap;justify-content:center}}.tabs{background-color:#fff;border-bottom:2px solid #e5e7eb;border-radius:8px 8px 0 0;gap:0;margin-bottom:20px;display:flex;overflow:hidden}.tab{color:#6b7280;cursor:pointer;background-color:#fff;border:none;border-bottom:3px solid #0000;flex:none;padding:12px 24px;font-size:14px;font-weight:500;transition:all .2s;position:relative}.tab:hover:not(:disabled){color:#3b82f6;background-color:#f9fafb}.tab.active{color:#3b82f6;background-color:#eff6ff;border-bottom-color:#3b82f6}.tab:disabled{opacity:.5;cursor:not-allowed;color:#9ca3af}.link-button{color:#3b82f6;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;text-decoration:underline}.link-button:hover{color:#2563eb}.admin-header-actions{gap:10px;display:flex}.modal-footer-actions{justify-content:flex-end;gap:10px;display:flex}.modal-footer-error{color:#721c24;background-color:#ffe6e6;border:1px solid #dc3545;border-radius:4px;flex:1;align-self:center;padding:.5rem 1rem;font-size:.9rem;font-weight:500}.permissions-category-title{color:#374151;margin-bottom:10px}.permissions-category-section{margin-bottom:30px}.category-row{background-color:#f3f4f6;font-weight:600}.category-row td{color:#374151;border-top:2px solid #d1d5db;padding:12px 16px!important}.role-permissions-header{margin-bottom:20px}.role-permissions-description{color:#6b7280;margin-top:5px}.permission-checkbox-cell{text-align:center;width:140px}.permission-checkbox-container{justify-content:center;align-items:center;gap:8px;display:flex}.permission-checkbox{cursor:pointer;width:18px;height:18px}.permission-status-text{font-weight:500}.permission-status-assigned{color:#10b981}.permission-status-unassigned{color:#ef4444}.tenant-assignment-modal{padding:.5rem 0}.assigned-tenants-list{flex-direction:column;gap:.5rem;display:flex}.assigned-tenant-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.assigned-tenant-item .tenant-name{color:#374151;font-weight:500}.btn-remove-tenant{color:#ef4444;cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:1.25rem;font-weight:600;line-height:1;transition:color .15s}.btn-remove-tenant:hover:not(:disabled){color:#dc2626}.btn-remove-tenant:disabled{opacity:.5;cursor:not-allowed}.tenant-badge-cell{align-items:center;gap:.5rem;display:flex}.tenant-count-badge{color:#fff;background-color:#3b82f6;border-radius:9999px;justify-content:center;align-items:center;min-width:1.5rem;height:1.5rem;padding:0 .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.btn-manage-tenants{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:4px;padding:.375rem .75rem;font-size:.875rem;transition:background-color .15s}.btn-manage-tenants:hover{background-color:#2563eb}.alert{border:1px solid #0000;border-radius:4px;margin-bottom:1rem;padding:12px 16px;font-size:.875rem}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.config-import-table{table-layout:fixed;width:100%}.config-import-table .col-config-key{width:15%;min-width:100px}.config-import-table .col-scope{width:90px}.config-import-table .col-value{width:auto}.config-import-table .col-import{text-align:center;width:70px}.config-import-table td.col-value{text-overflow:ellipsis;white-space:nowrap;max-width:0;overflow:hidden}.config-existing-table{table-layout:fixed;width:100%}.config-existing-table .col-config-key{width:15%;min-width:100px}.config-existing-table .col-scope{width:90px}.config-existing-table .col-current-value,.config-existing-table .col-new-value{width:auto}.config-existing-table .col-overwrite{text-align:center;width:80px}.config-existing-table td.col-current-value,.config-existing-table td.col-new-value{text-overflow:ellipsis;white-space:nowrap;max-width:0;overflow:hidden}@media (width<=700px){.config-import-table .col-scope,.config-existing-table .col-scope{display:none}.config-import-table .col-config-key,.config-existing-table .col-config-key{width:30%}}@media (width<=500px){.config-import-table .col-config-key,.config-existing-table .col-config-key{width:35%}.config-import-table .col-import,.config-existing-table .col-overwrite{width:60px}}.oauth-divider{color:#6b7280;align-items:center;margin:20px 0;font-size:14px;display:flex}.oauth-divider:before,.oauth-divider:after{content:"";background-color:#e5e7eb;flex:1;height:1px}.oauth-divider span{padding:0 15px}.oauth-buttons{flex-direction:column;gap:10px;display:flex}.oauth-button{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;justify-content:center;align-items:center;gap:12px;padding:12px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.oauth-button:hover:not(:disabled){background-color:#f9fafb;border-color:#d1d5db}.oauth-button:disabled{opacity:.6;cursor:not-allowed}.oauth-button.oauth-microsoft:hover:not(:disabled){border-color:#00a4ef}.oauth-button.oauth-google:hover:not(:disabled){border-color:#4285f4}.oauth-icon{width:20px;height:20px}.oauth-link-button{color:#374151;cursor:pointer;background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;transition:all .2s;display:inline-flex}.oauth-link-button:hover:not(:disabled){background-color:#f9fafb;border-color:#3b82f6}.auth-callback-loading,.auth-callback-error,.auth-callback-success{text-align:center;padding:40px 20px}.auth-callback-loading .spinner{border:4px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;width:40px;height:40px;margin:0 auto 20px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.success-message{color:#059669;background-color:#ecfdf5;border-radius:6px;padding:20px}.linked-identities{padding:10px 0}.linked-identities h3{margin-bottom:10px}.identity-list{margin:20px 0}.no-identities{color:#6b7280;font-style:italic}.identity-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:15px;margin-bottom:10px;padding:15px;display:flex}.identity-icon{flex-shrink:0}.provider-icon{width:32px;height:32px}.provider-icon-placeholder{color:#fff;background-color:#6b7280;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;font-weight:700;display:flex}.identity-info{flex-direction:column;flex:1;gap:2px;display:flex}.identity-email{color:#6b7280;font-size:14px}.identity-last-used{color:#9ca3af;font-size:12px}.link-new-section{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:20px}.link-new-section h4{margin-bottom:15px}.link-buttons{flex-wrap:wrap;gap:10px;display:flex}.mfa-enrollment{padding:10px 0}.mfa-enrollment h3{margin-bottom:10px}.mfa-enrollment-actions{gap:10px;margin-top:20px;display:flex}.qr-code-container{background-color:#fff;border-radius:8px;justify-content:center;margin:20px 0;padding:20px;display:flex}.qr-code{max-width:200px;height:auto}.manual-entry{background-color:#f9fafb;border-radius:6px;margin:20px 0;padding:15px}.secret-code{align-items:center;gap:10px;margin-top:10px;display:flex}.secret-code code{word-break:break-all;background-color:#fff;border:1px solid #e5e7eb;border-radius:4px;padding:8px 12px;font-family:monospace;font-size:12px}.backup-codes-section{background-color:#fef3c7;border:1px solid #fcd34d;border-radius:8px;max-width:500px;margin:20px 0;padding:20px}.backup-codes-section h4{color:#92400e;margin-bottom:10px}.backup-codes{grid-template-columns:repeat(2,1fr);gap:8px;margin:15px 0;display:grid}.backup-code{text-align:center;word-break:break-all;overflow-wrap:break-word;background-color:#fff;border:1px solid #e5e7eb;border-radius:4px;padding:8px 12px;font-family:monospace;font-size:13px}.verify-section{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:20px}.verify-section h4{margin-bottom:10px}.mfa-success{text-align:center;padding:30px}.mfa-success .success-icon{color:#059669;background-color:#d1fae5;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 20px;font-size:30px;display:flex}.mfa-status-badge{border-radius:20px;align-items:center;gap:8px;margin-bottom:10px;padding:8px 16px;font-size:14px;font-weight:500;display:inline-flex}.mfa-status-badge.enabled{color:#059669;background-color:#d1fae5}.mfa-status-badge.disabled{color:#d97706;background-color:#fef3c7}.mfa-status-badge .status-icon{font-weight:700}.mfa-enrolled-date{color:#6b7280;margin-top:5px;font-size:14px}.mfa-backup-section{background-color:#f9fafb;border-radius:6px;margin-top:15px;padding:15px}.backup-codes-display{background-color:#fef3c7;border:1px solid #fcd34d;border-radius:8px;max-width:500px;margin-top:15px;padding:20px}.backup-codes-display h5{color:#92400e;margin-bottom:10px}.session-lock-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.session-lock-dialog{text-align:center;background-color:#fff;border-radius:12px;width:90%;max-width:400px;padding:40px;box-shadow:0 20px 40px #0000004d}.session-lock-header{margin-bottom:30px}.session-lock-header .logo-login{width:auto;height:100px;margin-bottom:15px}.session-lock-header h2{color:#1f2937;margin-bottom:10px}.session-lock-header p{color:#6b7280;margin:5px 0;font-size:14px}.session-lock-form{text-align:left}.session-lock-form .form-group{margin-bottom:20px}.session-lock-actions{flex-direction:column;gap:10px;margin-top:20px;display:flex}.session-warning-overlay{background-color:#000000d9;animation:2s ease-in-out infinite warningPulse}@keyframes warningPulse{0%,to{background-color:#000000d9}50%{background-color:#1e1e1ee6}}.session-warning-overlay .session-lock-dialog{border:2px solid #ffc107}.countdown-display{animation:1s ease-in-out infinite countdownPulse}@keyframes countdownPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.sessions-list{background-color:#f9fafb;border-radius:8px;margin-top:15px;padding:15px}.sessions-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;display:flex}.session-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:15px;display:flex}.session-item.current{background-color:#eff6ff;border-color:#3b82f6}.session-item.locked{background-color:#fffbeb;border-color:#f59e0b}.session-info{flex-direction:column;gap:4px;display:flex}.session-ip{color:#6b7280;font-size:14px}.session-time{color:#9ca3af;font-size:12px}.current-badge{color:#fff;background-color:#3b82f6;border-radius:10px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.locked-badge{color:#fff;background-color:#f59e0b;border-radius:10px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.settings-subsection{border-bottom:1px solid #e5e7eb;padding:20px 0}.settings-subsection:last-child{border-bottom:none}.settings-subsection h4{color:#374151;margin-bottom:10px}.settings-subsection p{color:#6b7280;margin-bottom:15px;font-size:14px}.provider-status-enabled{color:#059669;font-weight:500}.provider-status-disabled{color:#dc2626;font-weight:500}.provider-type-badge{color:#374151;text-transform:uppercase;background-color:#e5e7eb;border-radius:4px;padding:2px 8px;font-size:12px;display:inline-block}.config-table-container{margin-top:1.5rem}.config-table-wrapper{border:1px solid #ddd;border-radius:4px;margin-bottom:1rem;overflow-x:auto}.config-data-table{border-collapse:collapse;background:#fff;width:100%}.config-data-table thead{background-color:#f8f9fa;border-bottom:2px solid #dee2e6}.config-data-table th{text-align:left;color:#495057;white-space:nowrap;padding:12px;font-weight:600}.config-data-table td{vertical-align:middle;border-bottom:1px solid #e9ecef;padding:8px 12px}.config-data-table tbody tr:hover{background-color:#f8f9fa}.cell-input{box-sizing:border-box;border:1px solid #ced4da;border-radius:4px;width:100%;padding:6px 8px;font-size:.9rem}.cell-input:focus{border-color:#80bdff;outline:none;box-shadow:0 0 0 .2rem #007bff40}.cell-input[type=checkbox]{cursor:pointer;width:auto}.table-cell-error{background-color:#fff5f5}.table-cell-error .cell-input{border-color:#dc3545}.table-cell-error .cell-input:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem #dc354540}.config-table-actions{justify-content:flex-start;padding:1rem 0;display:flex}.empty-state{text-align:center;color:#6c757d;background-color:#f8f9fa;border-radius:4px;margin-top:1rem;padding:3rem 2rem}.empty-state p{margin:0;font-size:1rem}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.page-header h2{color:#212529;margin:0 0 .5rem;font-size:1.75rem}.page-header p{color:#6c757d;margin:0;font-size:.95rem}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.error-message p{color:#721c24;margin:0;font-size:.95rem}
