@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.password-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.password-input{flex:1;padding:10px 40px 10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .2s;width:100%}.password-input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e21a}.password-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.password-toggle-btn{position:absolute;right:8px;background:none;border:none;padding:6px;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;transition:color .2s;font-size:18px}.password-toggle-btn:hover:not(:disabled){color:#333}.password-toggle-btn:disabled{cursor:not-allowed;opacity:.5}.password-toggle-btn:focus{outline:2px solid #4a90e2;outline-offset:2px;border-radius:4px}.force-password-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999}.force-password-modal{background:#fff;border-radius:8px;padding:2rem;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.force-password-header{margin-bottom:1.5rem}.force-password-header h2{margin:0 0 .5rem;color:#333;font-size:1.5rem}.force-password-header .warning-text{margin:.5rem 0;padding:1rem;background-color:#fff3cd;border-left:4px solid #ffc107;color:#856404;border-radius:4px;font-size:.9rem;line-height:1.5}.force-password-form{margin-bottom:1rem}.force-password-form .form-group{margin-bottom:1.25rem}.force-password-form label{display:block;margin-bottom:.5rem;font-weight:600;color:#333}.force-password-form input[type=password]{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;transition:border-color .2s}.force-password-form input[type=password]:focus{outline:none;border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}.force-password-form input[type=password]:disabled{background-color:#f5f5f5;cursor:not-allowed}.password-hint{display:block;margin-top:.25rem;font-size:.85rem;color:#666}.btn-full-width{width:100%}.btn-primary{background-color:#06c;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:#0052a3}.btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.force-password-footer{text-align:center;padding-top:1rem;border-top:1px solid #eee}.force-password-footer small{color:#666;font-size:.85rem}.alert{padding:1rem;border-radius:4px;margin-bottom:1rem}.alert-error{background-color:#f8d7da;border-left:4px solid #dc3545;color:#721c24}.loading-spinner-wrapper{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px}.loading-spinner-wrapper.fullpage{position:fixed;top:0;left:0;width:100%;height:100%;background:#ffffffe6;z-index:var(--z-modal);display:flex;flex-direction:column;justify-content:center;align-items:center}.throb-spinner,div.throb-spinner{width:25px!important;height:25px!important;min-width:25px!important;min-height:25px!important;max-width:25px!important;max-height:25px!important;background:transparent!important;border:3px solid rgba(0,0,0,.1)!important;border-top-color:var(--color-primary)!important;border-radius:50%!important;animation:spin .8s linear infinite!important}.throb-spinner-small,div.throb-spinner-small{width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;max-width:16px!important;max-height:16px!important;background:transparent!important;border:2px solid rgba(0,0,0,.1)!important;border-top-color:var(--color-primary)!important;border-radius:50%!important;animation:spin .8s linear infinite!important}.throb-spinner-medium,div.throb-spinner-medium{width:25px!important;height:25px!important;min-width:25px!important;min-height:25px!important;max-width:25px!important;max-height:25px!important;background:transparent!important;border:3px solid rgba(0,0,0,.1)!important;border-top-color:var(--color-primary)!important;border-radius:50%!important;animation:spin .8s linear infinite!important}.throb-spinner-large,div.throb-spinner-large{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;max-width:40px!important;max-height:40px!important;background:transparent!important;border:4px solid rgba(0,0,0,.1)!important;border-top-color:var(--color-primary)!important;border-radius:50%!important;animation:spin .8s linear infinite!important}.loading-message{color:var(--text-secondary);font-size:var(--text-sm);margin:0;text-align:center}body.high-contrast .throb-spinner{background:var(--color-primary);border:2px solid var(--color-white)}body.high-contrast .loading-message{color:var(--color-white)}:root{--gps-primary-teal: #025043;--gps-primary-hover: #033830;--gps-danger-red: #e53e3e;--gps-danger-hover: #c53030;--gps-success-green: #38a169;--gps-warning-orange: #dd6b20;--gps-info-blue: #3182ce;--gps-bg-page: #f7fafc;--gps-bg-white: #ffffff;--gps-bg-header: #f8f9fa;--gps-bg-row-hover: #f7fafc;--gps-bg-subrow: #f9fafb;--gps-border-light: #e2e8f0;--gps-border-lighter: #f1f5f9;--gps-border-input: #cbd5e0;--gps-text-dark: #333333;--gps-text-muted: #666666;--gps-text-light: #9ca3af;--gps-font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--gps-font-size-title: 14px;--gps-font-size-header: 12px;--gps-font-size-content: 10px;--gps-font-weight-bold: 700;--gps-font-weight-semibold: 600;--gps-font-weight-medium: 500;--gps-spacing-xs: 4px;--gps-spacing-sm: 6px;--gps-spacing-md: 8px;--gps-spacing-lg: 12px;--gps-spacing-xl: 16px;--gps-spacing-2xl: 24px;--gps-radius-sm: 4px;--gps-radius-md: 6px;--gps-radius-lg: 8px}.gps-page-container button:focus,.gps-page-container select:focus,.gps-page-container input:focus,.gps-page-container [role=button]:focus,.gps-page-container summary:focus{outline:none;box-shadow:none}.gps-btn:focus,.gps-btn--primary:focus,.gps-btn--secondary:focus,.gps-btn--danger:focus{outline:none;box-shadow:none}.gps-form-select:focus,.gps-form-input:focus,.gps-search-input:focus,.gps-filter-select:focus{outline:none;border-color:var(--gps-primary-teal)}.gps-page-container{padding:var(--gps-spacing-xl);background:var(--gps-bg-page);min-height:100%;font-family:var(--gps-font-family)}.gps-page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--gps-spacing-xl)}.gps-page-header-left{display:flex;flex-direction:column;gap:2px}.gps-header-actions{display:flex;align-items:center;gap:var(--gps-spacing-md);flex-wrap:wrap}.gps-filter-row{display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap;width:100%;box-sizing:border-box}.gps-filter-row .gps-form-input{flex:1 1 200px;min-width:150px;max-width:calc(100% - 180px);width:auto!important}.gps-filter-row .gps-form-select{flex:0 0 auto;min-width:100px;max-width:140px;width:auto!important}.gps-page-title{font-family:var(--gps-font-family);font-size:var(--gps-font-size-title);font-weight:var(--gps-font-weight-bold);color:var(--gps-primary-teal);margin:0;line-height:1.3}.gps-page-subtitle{font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);font-weight:var(--gps-font-weight-medium);color:var(--gps-text-muted);margin:0;line-height:1.4}.gps-btn{font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);font-weight:var(--gps-font-weight-semibold);padding:var(--gps-spacing-md) 14px;border-radius:var(--gps-radius-sm);cursor:pointer;display:inline-flex;align-items:center;gap:var(--gps-spacing-sm);transition:all .2s ease;white-space:nowrap;text-decoration:none}.gps-btn--sm{padding:var(--gps-spacing-xs) var(--gps-spacing-md);font-size:11px}.gps-btn-primary,.gps-btn.gps-btn--primary{background:var(--gps-primary-teal);color:#fff;border:none}.gps-btn-primary:hover,.gps-btn.gps-btn--primary:hover{background:var(--gps-primary-hover);transform:translateY(-1px);box-shadow:0 2px 4px #02504333}.gps-btn-primary:active,.gps-btn.gps-btn--primary:active{transform:translateY(0)}.gps-btn-primary:disabled,.gps-btn.gps-btn--primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.gps-btn-secondary,.gps-btn.gps-btn--secondary{font-weight:var(--gps-font-weight-medium);background:var(--gps-bg-white);color:var(--gps-text-dark);border:1px solid var(--gps-border-input)}.gps-btn-secondary:hover,.gps-btn.gps-btn--secondary:hover{background:var(--gps-bg-header);border-color:var(--gps-primary-teal);color:var(--gps-primary-teal)}.gps-btn-danger,.gps-btn.gps-btn--danger{background:var(--gps-danger-red);color:#fff;border:none}.gps-btn-danger:hover,.gps-btn.gps-btn--danger:hover{background:var(--gps-danger-hover);transform:translateY(-1px);box-shadow:0 2px 4px #e53e3e33}.gps-action-btn{font-size:12px;padding:var(--gps-spacing-xs) var(--gps-spacing-md);border:1px solid var(--gps-border-input);border-radius:var(--gps-radius-sm);background:var(--gps-bg-white);color:var(--gps-primary-teal);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease}.gps-action-btn:hover{background:var(--gps-primary-teal);color:#fff;border-color:var(--gps-primary-teal)}.gps-action-btn--danger{color:var(--gps-danger-red);border-color:var(--gps-border-input)}.gps-action-btn--danger:hover{background:var(--gps-danger-red);color:#fff;border-color:var(--gps-danger-red)}.gps-action-btn:disabled{opacity:.5;cursor:not-allowed}.gps-action-btn:disabled:hover{background:var(--gps-bg-white);color:var(--gps-primary-teal);border-color:var(--gps-border-input);transform:none}.gps-action-buttons{display:flex;gap:var(--gps-spacing-sm);align-items:center}.gps-icon-btn{width:28px;height:28px;padding:0;border:none;border-radius:var(--gps-radius-sm);background:transparent;color:var(--gps-text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;text-decoration:none;outline:none}.gps-icon-btn:hover{color:var(--gps-primary-teal);background:#02504314}.gps-icon-btn:focus{outline:none;box-shadow:none}.gps-icon-btn svg{width:14px;height:14px}.gps-icon-btn-primary{color:var(--gps-primary-teal)}.gps-icon-btn-primary:hover{color:var(--gps-primary-hover);background:#0250431a}.gps-icon-btn--success,.gps-icon-btn-success{color:#16a34a}.gps-icon-btn--success:hover,.gps-icon-btn-success:hover{color:#15803d;background:#16a34a1a}.gps-icon-btn-danger,.gps-icon-btn--delete{color:var(--gps-danger-red)}.gps-icon-btn-danger:hover,.gps-icon-btn--delete:hover{color:var(--gps-danger-hover);background:#e53e3e1a}.gps-icon-btn--edit{color:#3b82f6}.gps-icon-btn--edit:hover{color:#2563eb;background:#3b82f61a}.gps-icon-btn--view{color:#6366f1}.gps-icon-btn--view:hover{color:#4f46e5;background:#6366f11a}.gps-icon-btn--warning{color:#f59e0b}.gps-icon-btn--warning:hover{color:#d97706;background:#f59e0b1a}.gps-icon-btn:disabled{opacity:.5;cursor:not-allowed}.gps-icon-btn:disabled:hover{background:transparent;color:var(--gps-text-muted)}.gps-results-info{font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);font-weight:var(--gps-font-weight-medium);color:var(--gps-text-muted);padding:var(--gps-spacing-md) 0;margin-bottom:var(--gps-spacing-md)}.gps-empty-state{text-align:center;padding:var(--gps-spacing-2xl);background:var(--gps-bg-white);border:1px solid var(--gps-border-light);border-radius:var(--gps-radius-md);color:var(--gps-text-muted);font-family:var(--gps-font-family);font-size:var(--gps-font-size-content)}.gps-empty-state p{margin:0}.gps-filters{display:flex;align-items:center;gap:var(--gps-spacing-lg);padding:var(--gps-spacing-lg);background:var(--gps-bg-white);border:1px solid var(--gps-border-light);border-radius:var(--gps-radius-md);margin-bottom:var(--gps-spacing-xl);flex-wrap:wrap}.gps-search-container{position:relative;display:flex;align-items:center}.gps-search-icon{position:absolute;left:10px;color:var(--gps-primary-teal);font-size:12px;pointer-events:none}.gps-search-input{font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);font-weight:var(--gps-font-weight-medium);padding:var(--gps-spacing-sm) var(--gps-spacing-lg);padding-left:32px;border:1px solid var(--gps-border-input);border-radius:var(--gps-radius-sm);min-width:200px;transition:border-color .2s ease,box-shadow .2s ease}.gps-search-input:focus{outline:none;border-color:var(--gps-primary-teal);box-shadow:0 0 0 3px #0250431a}.gps-search-input::placeholder{color:var(--gps-text-light)}.gps-filter-select{font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);font-weight:var(--gps-font-weight-medium);padding:var(--gps-spacing-sm) var(--gps-spacing-lg);padding-right:28px;border:1px solid var(--gps-border-input);border-radius:var(--gps-radius-sm);background:var(--gps-bg-white);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;min-width:150px}.gps-filter-select:focus{outline:none;border-color:var(--gps-primary-teal);box-shadow:0 0 0 3px #0250431a}.gps-filter-checkbox{display:flex;align-items:center;gap:var(--gps-spacing-sm);font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);font-weight:var(--gps-font-weight-medium);color:var(--gps-text-dark);cursor:pointer}.gps-filter-checkbox input[type=checkbox]{width:14px;height:14px;accent-color:var(--gps-primary-teal);cursor:pointer}.gps-table-container{background:var(--gps-bg-white);border:1px solid var(--gps-border-light);border-radius:var(--gps-radius-md);overflow-x:auto}.gps-table{width:100%;border-collapse:collapse;font-family:var(--gps-font-family)}.gps-table thead{background:var(--gps-bg-header);border-bottom:1px solid var(--gps-border-light)}.gps-table th{font-family:var(--gps-font-family);font-size:var(--gps-font-size-header);font-weight:var(--gps-font-weight-bold);color:var(--gps-primary-teal);text-align:left;padding:10px 12px;white-space:nowrap;text-transform:none}.gps-table tbody tr{border-bottom:1px solid var(--gps-border-lighter);transition:background-color .15s ease}.gps-table tbody tr:hover{background:var(--gps-bg-row-hover)}.gps-table tbody tr:last-child{border-bottom:none}.gps-table td{font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);font-weight:var(--gps-font-weight-medium);color:var(--gps-text-dark);padding:var(--gps-spacing-md) 12px;vertical-align:middle}.gps-table tbody tr.gps-subrow{background:var(--gps-bg-subrow)}.gps-table tbody tr.gps-subrow:hover{background:#f3f4f6}.gps-table-empty{text-align:center;padding:var(--gps-spacing-2xl);color:var(--gps-text-muted);font-size:var(--gps-font-size-content)}.gps-link{font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);font-weight:var(--gps-font-weight-semibold);color:var(--gps-primary-teal);text-decoration:underline;cursor:pointer;transition:color .2s ease}.gps-link:hover{color:var(--gps-primary-hover)}.gps-tabs{display:flex;gap:0;margin-bottom:var(--gps-spacing-xl);border-bottom:2px solid var(--gps-border-light)}.gps-tab{font-family:var(--gps-font-family);font-size:var(--gps-font-size-header);font-weight:var(--gps-font-weight-medium);padding:var(--gps-spacing-lg) var(--gps-spacing-xl);background:none;border:none;border-bottom:3px solid transparent;color:var(--gps-text-muted);cursor:pointer;transition:all .2s ease;margin-bottom:-2px;display:flex;align-items:center;gap:var(--gps-spacing-sm)}.gps-tab--active{color:var(--gps-primary-teal);font-weight:var(--gps-font-weight-semibold);border-bottom-color:var(--gps-primary-teal)}.gps-tab-count{background:var(--gps-primary-teal);color:#fff;border-radius:12px;padding:2px 8px;font-size:9px;font-weight:var(--gps-font-weight-semibold)}.gps-subrow{background:var(--gps-bg-subrow)}.gps-subrow td{padding:0!important}.gps-expanded-content{padding:var(--gps-spacing-xl);display:grid;grid-template-columns:1fr 1fr;gap:var(--gps-spacing-2xl)}.gps-expanded-section{background:var(--gps-bg-white);border-radius:var(--gps-radius-md);padding:var(--gps-spacing-xl);box-shadow:0 1px 3px #0000001a}.gps-expanded-section-title{font-family:var(--gps-font-family);font-size:var(--gps-font-size-header);font-weight:var(--gps-font-weight-bold);color:var(--gps-text-dark);margin:0 0 var(--gps-spacing-lg) 0;padding-bottom:var(--gps-spacing-md);border-bottom:2px solid var(--gps-border-light)}.gps-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gps-spacing-lg)}.gps-detail-item{display:flex;flex-direction:column;gap:2px}.gps-detail-label{font-family:var(--gps-font-family);font-size:var(--gps-font-size-header);font-weight:var(--gps-font-weight-bold);color:var(--gps-text-muted);text-transform:none}.gps-detail-value{font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);font-weight:var(--gps-font-weight-medium);color:var(--gps-text-dark);word-break:break-word}.gps-badge{font-family:var(--gps-font-family);font-size:9px;font-weight:var(--gps-font-weight-semibold);padding:3px 8px;border-radius:var(--gps-radius-sm);display:inline-flex;align-items:center;text-transform:uppercase;letter-spacing:.3px}.gps-badge--active{background:#dcfce7;color:#166534}.gps-badge--archived{background:#f3f4f6;color:#6b7280}.gps-badge--internal{background:#dbeafe;color:#1e40af}.gps-badge--external{background:#fef3c7;color:#92400e}.gps-badge--success{background:#dcfce7;color:#166534}.gps-badge--warning{background:#fef3c7;color:#92400e}.gps-badge--danger{background:#fee2e2;color:#991b1b}.gps-badge--info{background:#dbeafe;color:#1e40af}.gps-badge--pending,.gps-badge-secondary,.gps-badge--secondary{background:#e5e7eb;color:#4b5563}.gps-badge-success{background:#dcfce7;color:#166534}.gps-modal{background:var(--gps-bg-white);border-radius:var(--gps-radius-lg);max-width:600px;width:90%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003;overflow:hidden}.gps-modal--large{max-width:900px}.gps-modal-header h2{font-family:var(--gps-font-family);font-size:var(--gps-font-size-header);font-weight:var(--gps-font-weight-bold);color:#fff;margin:0}.gps-modal-close{background:none;border:none;font-size:20px;color:#fff;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;opacity:.8;transition:opacity .2s ease}.gps-modal-close:hover{opacity:1}.gps-modal-body{flex:1;overflow-y:auto;padding:var(--gps-spacing-xl)}.gps-modal-footer{display:flex;justify-content:flex-end;gap:var(--gps-spacing-lg);padding:var(--gps-spacing-lg) var(--gps-spacing-xl);border-top:1px solid var(--gps-border-light);background:var(--gps-bg-white)}.gps-tabs-container{display:flex;flex-direction:row;gap:0;margin-bottom:var(--gps-spacing-xl);border-bottom:2px solid var(--gps-border-light)}.gps-tab{font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);font-weight:var(--gps-font-weight-medium);color:var(--gps-text-muted);background:transparent;border:none;padding:var(--gps-spacing-md) var(--gps-spacing-xl);cursor:pointer;transition:all .2s ease;position:relative;white-space:nowrap}.gps-tab:hover{color:var(--gps-primary-teal)}.gps-tab--active{color:var(--gps-primary-teal);font-weight:var(--gps-font-weight-semibold)}.gps-tab--active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--gps-primary-teal)}.gps-form-group{margin-bottom:var(--gps-spacing-xl)}.gps-form-label{display:block;font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);font-weight:var(--gps-font-weight-semibold);color:var(--gps-text-dark);margin-bottom:var(--gps-spacing-sm)}.gps-form-input,.gps-form-textarea,.gps-form-select{width:100%;font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);font-weight:var(--gps-font-weight-medium);padding:var(--gps-spacing-md) var(--gps-spacing-lg);border:1px solid var(--gps-border-input);border-radius:var(--gps-radius-sm);transition:border-color .2s ease,box-shadow .2s ease}.gps-form-textarea{min-height:80px;resize:vertical}.gps-form-hint{font-family:var(--gps-font-family);font-size:9px;color:var(--gps-text-muted);margin-top:var(--gps-spacing-xs)}.gps-alert{font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);font-weight:var(--gps-font-weight-medium);padding:var(--gps-spacing-lg);border-radius:var(--gps-radius-md);margin-bottom:var(--gps-spacing-xl);display:flex;align-items:center;gap:var(--gps-spacing-md)}.gps-alert--error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.gps-alert--success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.gps-alert--warning{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.gps-alert--info{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.gps-alert-danger{font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);font-weight:var(--gps-font-weight-medium);padding:var(--gps-spacing-lg);border-radius:var(--gps-radius-md);margin-bottom:var(--gps-spacing-xl);background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.gps-alert-success{font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);font-weight:var(--gps-font-weight-medium);padding:var(--gps-spacing-lg);border-radius:var(--gps-radius-md);margin-bottom:var(--gps-spacing-xl);background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.gps-loading{text-align:center;padding:var(--gps-spacing-2xl);color:var(--gps-text-muted);font-family:var(--gps-font-family);font-size:var(--gps-font-size-content)}.gps-expand-btn{background:none;border:none;padding:var(--gps-spacing-xs);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--gps-text-muted);transition:color .2s ease}.gps-expand-btn:hover{color:var(--gps-primary-teal)}.gps-pagination{display:flex;justify-content:center;align-items:center;gap:var(--gps-spacing-md);padding:var(--gps-spacing-xl) 0;font-family:var(--gps-font-family);font-size:var(--gps-font-size-content)}.gps-tooltip{position:relative}.gps-tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--gps-text-dark);color:#fff;font-family:var(--gps-font-family);font-size:9px;font-weight:var(--gps-font-weight-medium);padding:var(--gps-spacing-xs) var(--gps-spacing-md);border-radius:var(--gps-radius-sm);white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;margin-bottom:4px;z-index:100}.gps-tooltip:hover:after{opacity:1;visibility:visible}.gps-text-muted{color:var(--gps-text-muted)!important}.gps-text-primary{color:var(--gps-primary-teal)!important}.gps-text-danger{color:var(--gps-danger-red)!important}.gps-text-center{text-align:center!important}.gps-mt-0{margin-top:0!important}.gps-mt-1{margin-top:var(--gps-spacing-md)!important}.gps-mt-2{margin-top:var(--gps-spacing-xl)!important}.gps-mb-0{margin-bottom:0!important}.gps-mb-1{margin-bottom:var(--gps-spacing-md)!important}.gps-mb-2{margin-bottom:var(--gps-spacing-xl)!important}.gps-flex{display:flex}.gps-flex-center{display:flex;align-items:center}.gps-gap-1{gap:var(--gps-spacing-md)}.gps-gap-2{gap:var(--gps-spacing-lg)}.gps-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.gps-modal{background:var(--gps-bg-white);border-radius:var(--gps-radius-md);box-shadow:0 4px 24px #0003;max-width:500px;width:90%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.gps-modal--large{max-width:800px}.gps-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--gps-spacing-lg) var(--gps-spacing-xl);background:var(--gps-primary-teal);min-height:50px}.gps-modal-title{font-family:var(--gps-font-family);font-size:var(--gps-font-size-title);font-weight:var(--gps-font-weight-bold);color:#fff;margin:0}.gps-modal-close{background:none;border:none;font-size:24px;color:#fff;cursor:pointer;padding:0;line-height:1;opacity:.8;transition:opacity .2s ease}.gps-modal-close:hover{opacity:1;color:#fff}.gps-modal-body{padding:var(--gps-spacing-xl);overflow-y:auto;flex:1}.gps-modal-footer{display:flex;justify-content:flex-end;gap:var(--gps-spacing-md);padding:var(--gps-spacing-lg) var(--gps-spacing-xl);border-top:1px solid var(--gps-border-light);background:var(--gps-bg-header)}.gps-modal-sections{display:flex;flex-direction:column;gap:var(--gps-spacing-xl)}.gps-form-group{margin-bottom:var(--gps-spacing-lg)}.gps-form-label{display:block;font-family:var(--gps-font-family);font-size:var(--gps-font-size-header);font-weight:var(--gps-font-weight-bold);color:var(--gps-text-dark);margin-bottom:var(--gps-spacing-sm)}.gps-form-input,.gps-form-textarea,.gps-form-select{font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);font-weight:var(--gps-font-weight-medium);width:100%;padding:var(--gps-spacing-md);border:1px solid var(--gps-border-input);border-radius:var(--gps-radius-sm);background:var(--gps-bg-white);transition:border-color .2s ease,box-shadow .2s ease}.gps-form-input:focus,.gps-form-textarea:focus,.gps-form-select:focus{outline:none;border-color:var(--gps-primary-teal);box-shadow:0 0 0 3px #0250431a}.gps-form-textarea{resize:vertical;min-height:80px}.gps-form-hint{display:block;font-family:var(--gps-font-family);font-size:11px;color:var(--gps-text-muted);margin-top:var(--gps-spacing-xs)}.gps-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--gps-spacing-lg)}.gps-checkbox-label{display:flex;align-items:center;gap:var(--gps-spacing-sm);font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);font-weight:var(--gps-font-weight-medium);color:var(--gps-text-dark);cursor:pointer}.gps-checkbox-label input[type=checkbox]{width:14px;height:14px;accent-color:var(--gps-primary-teal);cursor:pointer}.gps-inline-form{margin-bottom:var(--gps-spacing-lg)}.gps-inline-form .gps-form-row{display:flex;gap:var(--gps-spacing-md);align-items:flex-end}.gps-section{margin-bottom:var(--gps-spacing-xl)}.gps-section-header{font-family:var(--gps-font-family);font-size:var(--gps-font-size-header);font-weight:var(--gps-font-weight-bold);color:var(--gps-primary-teal);margin:0 0 var(--gps-spacing-lg) 0;padding-bottom:var(--gps-spacing-sm);border-bottom:2px solid var(--gps-border-light)}.gps-divider{border:none;border-top:1px solid var(--gps-border-light);margin:var(--gps-spacing-xl) 0}.gps-scrollable-list{max-height:250px;overflow-y:auto;border:1px solid var(--gps-border-light);border-radius:var(--gps-radius-sm)}.gps-table--compact th,.gps-table--compact td{padding:var(--gps-spacing-sm) var(--gps-spacing-md);font-size:var(--gps-font-size-content)}.gps-empty-message{text-align:center;color:var(--gps-text-muted);font-style:italic;padding:var(--gps-spacing-lg)!important}.gps-cell-primary{font-weight:var(--gps-font-weight-semibold);color:var(--gps-text-dark)}.gps-cell-secondary{color:var(--gps-text-muted)}.gps-card{background:var(--gps-bg-white);border:1px solid var(--gps-border-light);border-radius:var(--gps-radius-md);padding:var(--gps-spacing-xl);margin-bottom:var(--gps-spacing-xl)}.gps-table-header-section{padding:var(--gps-spacing-lg);border-bottom:1px solid var(--gps-border-light)}.gps-table-header-section .gps-section-header{margin:0;border-bottom:none;padding-bottom:0}.gps-scope-checkboxes{display:flex;flex-direction:column;gap:var(--gps-spacing-md)}.gps-checkbox-card{border:1px solid var(--gps-border-input);border-radius:var(--gps-radius-sm);transition:all .2s ease}.gps-checkbox-card:hover{background:var(--gps-bg-header)}.gps-checkbox-card-label{display:flex;align-items:flex-start;gap:var(--gps-spacing-md);padding:var(--gps-spacing-md);cursor:pointer}.gps-checkbox-card-label input[type=checkbox]{margin-top:3px;width:14px;height:14px;accent-color:var(--gps-primary-teal)}.gps-checkbox-card-content{display:flex;flex-direction:column;gap:2px}.gps-checkbox-card-title{font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);font-weight:var(--gps-font-weight-semibold);color:var(--gps-text-dark)}.gps-checkbox-card-desc{font-family:var(--gps-font-family);font-size:11px;color:var(--gps-text-muted)}.gps-token-display{display:flex;align-items:center;gap:var(--gps-spacing-md);background:var(--gps-bg-header);padding:var(--gps-spacing-md);border-radius:var(--gps-radius-sm);margin-bottom:var(--gps-spacing-lg)}.gps-token-value{flex:1;font-family:monospace;font-size:var(--gps-font-size-content);word-break:break-all;background:var(--gps-bg-white);padding:var(--gps-spacing-md);border-radius:var(--gps-radius-sm);border:1px solid var(--gps-border-light)}.gps-token-details{font-family:var(--gps-font-family);font-size:var(--gps-font-size-content)}.gps-token-details p{margin:var(--gps-spacing-sm) 0}.gps-code{font-family:monospace;font-size:11px;background:var(--gps-bg-header);padding:2px 6px;border-radius:var(--gps-radius-sm);color:var(--gps-primary-teal)}.gps-pagination{display:flex;justify-content:space-between;align-items:center;padding:var(--gps-spacing-lg);margin-top:var(--gps-spacing-lg);border-top:1px solid var(--gps-border-light)}.gps-pagination-info{font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);color:var(--gps-text-muted)}.gps-link{color:var(--gps-primary-teal);text-decoration:none;font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);font-weight:var(--gps-font-weight-medium);transition:color .2s ease}.gps-link:hover{color:var(--gps-primary-hover);text-decoration:underline}.gps-divider{margin:var(--gps-spacing-lg) 0;border:none;border-top:1px solid var(--gps-border-light)}.gps-section{margin-bottom:var(--gps-spacing-lg)}.gps-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--gps-spacing-md)}.gps-section-title{font-family:var(--gps-font-family);font-size:var(--gps-font-size-header);font-weight:var(--gps-font-weight-bold);color:var(--gps-text-dark);margin:0 0 var(--gps-spacing-md) 0}.gps-form-grid--3col{display:grid;grid-template-columns:1fr 2fr auto;gap:var(--gps-spacing-md);align-items:center}.gps-form-row{display:flex;gap:var(--gps-spacing-md);align-items:center;margin-bottom:var(--gps-spacing-md)}.gps-table--compact{font-size:11px}.gps-table--compact th,.gps-table--compact td{padding:var(--gps-spacing-sm) var(--gps-spacing-md)}.gps-scrollable-list{max-height:200px;overflow-y:auto;border:1px solid var(--gps-border-light);border-radius:var(--gps-radius-sm);margin-top:var(--gps-spacing-md)}.gps-scrollable-list .gps-table{margin-bottom:0}.gps-empty-message{text-align:center;color:var(--gps-text-light);font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);padding:var(--gps-spacing-lg);margin:0}.gps-empty-cell{text-align:center;color:var(--gps-text-light)}.gps-modal-sections{display:flex;flex-direction:column;gap:var(--gps-spacing-md)}.gps-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--gps-spacing-lg)}.gps-stat-card{display:flex;align-items:center;gap:var(--gps-spacing-md);padding:var(--gps-spacing-lg);background:var(--gps-bg-white);border:1px solid var(--gps-border-light);border-radius:var(--gps-radius-md)}.gps-stat-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--gps-radius-sm);font-size:18px}.gps-stat-content{display:flex;flex-direction:column}.gps-stat-value{font-family:var(--gps-font-family);font-size:20px;font-weight:var(--gps-font-weight-bold);color:var(--gps-text-dark);line-height:1.2}.gps-stat-label{font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);font-weight:var(--gps-font-weight-medium);color:var(--gps-text-muted)}.gps-filter-wrapper{display:flex;align-items:center;gap:var(--gps-spacing-xs)}.gps-text-muted{color:var(--gps-text-muted)}.gps-spinner{width:32px;height:32px;border:3px solid #e2e8f0;border-top-color:var(--gps-primary-teal);border-radius:50%;animation:gps-spin .8s linear infinite}@keyframes gps-spin{to{transform:rotate(360deg)}}.gps-textarea{width:100%;padding:var(--gps-spacing-sm) var(--gps-spacing-md);border:1px solid var(--gps-border-light);border-radius:var(--gps-radius-sm);font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);color:var(--gps-text-dark);resize:vertical;min-height:80px;transition:border-color .2s ease}.gps-textarea:focus{outline:none;border-color:var(--gps-primary-teal)}.gps-textarea::placeholder{color:var(--gps-text-muted)}.gps-alert--warning{background-color:#fffbeb;border-color:#fbbf24;color:#92400e}.gps-btn--danger{background-color:#e53e3e;color:#fff;border:1px solid #e53e3e}.gps-btn--danger:hover{background-color:#c53030;border-color:#c53030}.gps-btn--danger:disabled{background-color:#feb2b2;border-color:#feb2b2;cursor:not-allowed}.gps-badge--warning{background-color:#fef3c7;color:#92400e}.gps-pagination{display:flex;justify-content:center;align-items:center;gap:var(--gps-spacing-md);padding:var(--gps-spacing-lg);border-top:1px solid var(--gps-border-light)}.gps-pagination-numbers{display:flex;gap:var(--gps-spacing-xs)}.gps-pagination-number{min-width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--gps-border-input);border-radius:var(--gps-radius-sm);background:var(--gps-bg-white);color:var(--gps-text-dark);font-family:var(--gps-font-family);font-size:var(--gps-font-size-content);cursor:pointer;transition:all .2s ease}.gps-pagination-number:hover{background:var(--gps-bg-header);border-color:var(--gps-primary-teal)}.gps-pagination-number.active{background:var(--gps-primary-teal);color:#fff;border-color:var(--gps-primary-teal)}.gps-pagination-ellipsis{min-width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--gps-text-muted);font-family:var(--gps-font-family);font-size:var(--gps-font-size-content)}.file-preview-container{border:1px solid var(--border-light);border-radius:var(--radius-md);background-color:var(--bg-card);overflow:hidden;display:flex;flex-direction:column;height:100%;min-height:400px;box-shadow:var(--shadow-md)}.file-preview-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center;background-color:var(--bg-card)}.preview-info h3{margin:0;font-size:12px;font-weight:600;color:#334155}.preview-count{font-size:10px;color:#64748b;margin-top:2px;display:block}.preview-actions{display:flex;gap:var(--space-2)}.preview-actions .refresh-button,.preview-actions .delete-preview-button{background:none;border:1px solid #e2e8f0;border-radius:4px;padding:4px 10px;display:flex;align-items:center;gap:4px;font-size:10px;color:#334155;cursor:pointer;transition:all .2s ease}.preview-actions .refresh-button:hover{background-color:var(--bg-surface);border-color:var(--color-primary);color:var(--color-primary)}.preview-actions .delete-preview-button{color:#e74c3c;border-color:#e74c3c}.preview-actions .delete-preview-button:hover{background-color:#fee;border-color:#c0392b;color:#c0392b}.delete-confirm-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.delete-confirm-content{background:#fff;border-radius:8px;padding:24px;max-width:500px;box-shadow:0 4px 16px #0003}.delete-confirm-content h3{margin:0 0 16px;font-size:20px;color:#333}.delete-confirm-content p{margin:0 0 12px;color:#666;line-height:1.5}.delete-confirm-content .warning-text{display:flex;align-items:center;gap:8px;color:#e74c3c;font-weight:600;margin-top:16px}.delete-confirm-content .modal-actions{display:flex;gap:12px;margin-top:20px;justify-content:flex-end}.delete-confirm-content .btn{padding:8px 16px;border-radius:4px;border:none;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.delete-confirm-content .btn-danger{background:#e74c3c;color:#fff}.delete-confirm-content .btn-danger:hover:not(:disabled){background:#c0392b}.delete-confirm-content .btn-secondary{background:#95a5a6;color:#fff}.delete-confirm-content .btn-secondary:hover:not(:disabled){background:#7f8c8d}.delete-confirm-content .btn:disabled{opacity:.6;cursor:not-allowed}.notification-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001}.notification-content{background:#fff;border-radius:8px;padding:32px;max-width:400px;box-shadow:0 4px 16px #0003;text-align:center}.notification-header{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;margin:0 auto 20px}.notification-success .notification-header{background-color:#d4edda;color:#155724}.notification-error .notification-header{background-color:#f8d7da;color:#721c24}.notification-content p{margin:0 0 24px;color:#333;font-size:16px;line-height:1.5}.notification-content .btn-primary{background:#007bff;color:#fff;padding:10px 32px;border-radius:4px;border:none;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.notification-content .btn-primary:hover{background:#0056b3}.preview-table-wrapper{flex:1;overflow:auto;padding:0;position:relative;margin:0;border:none;max-height:500px}.preview-table{width:max-content;min-width:100%;table-layout:auto;border-collapse:collapse;font-size:10px;white-space:nowrap}.preview-table thead{position:sticky;top:0;z-index:1;background-color:var(--bg-surface)}.preview-table th{padding:8px 12px;text-align:left;font-weight:600;font-size:10px;color:#334155;border-bottom:2px solid #e2e8f0;background-color:#f8fafc;text-transform:capitalize;min-width:150px}.preview-table th .header-cell{display:flex;align-items:center;justify-content:space-between;gap:6px;height:24px}.preview-table .column-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;flex:1}.preview-table .quality-score-circle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:8px;font-weight:600;color:#fff;text-align:center;cursor:help;flex-shrink:0;text-shadow:0px 0px 1px rgba(0,0,0,.3);box-shadow:0 1px 2px #0000001a}.preview-table td{padding:8px 12px;border-bottom:1px solid #e5e7eb;color:#374151;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:120px;font-size:10px}.preview-table tr:nth-child(2n){background-color:var(--bg-surface)}.preview-table tr:hover{background-color:var(--color-gray-100)}.null-value{color:var(--text-tertiary);font-style:italic}.file-preview-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center;background-color:var(--bg-card)}.file-details{display:flex;align-items:center;gap:var(--space-2)}.file-name{font-weight:var(--font-medium);color:var(--text-primary)}.file-type{font-size:var(--text-xs);color:var(--text-on-primary);background-color:var(--color-primary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-weight:var(--font-semibold);letter-spacing:.5px}.preview-notice{font-size:var(--text-xs);color:var(--text-secondary)}.file-preview-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;background-color:var(--bg-card);border-radius:var(--radius-md);padding:var(--space-5)}.loading-spinner{width:5px!important;height:5px!important;border:1px solid var(--color-gray-200)!important;border-top-color:var(--color-primary)!important;border-radius:var(--radius-full);animation:spin 1s linear infinite;margin-bottom:var(--space-4)}.file-preview-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;background-color:var(--bg-card);border-radius:var(--radius-md);padding:var(--space-5);color:var(--color-error);text-align:center}.file-preview-error svg{margin-bottom:var(--space-4)}.file-preview-error .refresh-button{margin-top:var(--space-4);background:none;border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-primary);cursor:pointer}.file-preview-empty{display:flex;align-items:center;justify-content:center;height:300px;background-color:var(--bg-card);border-radius:var(--radius-md);padding:var(--space-5);color:var(--text-secondary)}.column-access-indicator{display:inline-flex;align-items:center;justify-content:center;margin-left:var(--space-2);padding:var(--space-1);border-radius:var(--radius-sm);cursor:help}.column-access-indicator.masked{color:var(--color-warning-dark);background-color:var(--color-warning-light)}.column-access-indicator.denied{color:var(--color-error-dark);background-color:var(--color-error-light)}.onboarding-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.onboarding-wizard{width:90%;max-width:800px;height:80vh;max-height:700px;background-color:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;animation:slideUp .3s ease;overflow:hidden}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.wizard-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center}.wizard-header h2{margin:0;font-size:var(--text-2xl);color:var(--text-primary)}.close-wizard{background:none;border:none;color:var(--text-tertiary);font-size:var(--text-xl);cursor:pointer;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);transition:var(--transition-base)}.close-wizard:hover{background-color:var(--color-gray-100);color:var(--text-primary)}.wizard-progress{display:flex;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-light);overflow-x:auto}.progress-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative}.progress-step:not(:last-child):after{content:"";position:absolute;top:15px;left:60%;right:-40%;height:2px;background-color:var(--border-light);z-index:1}.progress-step.completed:not(:last-child):after{background-color:var(--color-primary)}.step-indicator{width:30px;height:30px;border-radius:var(--radius-full);background-color:var(--bg-card);border:2px solid var(--border-light);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-2);position:relative;z-index:2}.progress-step.completed .step-indicator,.progress-step.active .step-indicator{border-color:var(--color-primary);background-color:var(--bg-card)}.progress-step.completed .step-indicator{background-color:var(--color-primary);color:var(--text-on-primary)}.step-number{font-size:var(--text-sm);font-weight:var(--font-semibold)}.step-icon{font-size:var(--text-sm)}.step-label{font-size:var(--text-xs);color:var(--text-secondary);text-align:center;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-step.active .step-label{color:var(--color-primary);font-weight:var(--font-medium)}.wizard-content{flex:1;padding:var(--space-5) var(--space-6);overflow-y:auto}.step-description{font-size:var(--text-base);color:var(--text-secondary);margin-top:0;margin-bottom:var(--space-6)}.wizard-footer{border-top:1px solid var(--border-light);padding:var(--space-4) var(--space-6);display:flex;justify-content:space-between;align-items:center}.wizard-controls{display:flex;gap:var(--space-3)}.wizard-button{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-weight:var(--font-medium);cursor:pointer;display:flex;align-items:center;gap:var(--space-2);transition:var(--transition-base)}.wizard-button.primary{background-color:var(--color-primary);color:var(--text-on-primary);border:none}.wizard-button.primary:hover{background-color:var(--color-primary-dark)}.wizard-button.primary:disabled{background-color:var(--color-primary-light);cursor:not-allowed}.wizard-button.secondary{background-color:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-light)}.wizard-button.secondary:hover{background-color:var(--color-gray-200)}.wizard-button.secondary:disabled{color:var(--text-tertiary);cursor:not-allowed}.wizard-button.text-button{background:none;border:none;color:var(--text-tertiary);padding:var(--space-2)}.wizard-button.text-button:hover{color:var(--text-primary);text-decoration:underline}.welcome-content{text-align:center;max-width:600px;margin:0 auto}.welcome-icon{margin-bottom:var(--space-5)}.primary-icon{color:var(--color-primary)}.feature-highlights{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4);margin-top:var(--space-6)}.feature{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background-color:var(--bg-surface);border-radius:var(--radius-full)}.feature-icon{color:var(--color-primary)}.upload-content{display:flex;flex-direction:column;gap:var(--space-6)}.upload-area{padding:var(--space-5);border:2px dashed var(--border-light);border-radius:var(--radius-md);background-color:var(--color-gray-50);transition:var(--transition-base)}.upload-area:hover{border-color:var(--color-primary);background-color:var(--bg-surface)}.drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10) var(--space-5);text-align:center}.upload-icon{color:var(--color-primary);margin-bottom:var(--space-4)}.file-input{display:none}.file-button{background-color:var(--color-primary);color:var(--text-on-primary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);cursor:pointer;margin:var(--space-3) 0;transition:var(--transition-base)}.file-button:hover{background-color:var(--color-primary-dark)}.supported-formats{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-2)}.selected-file{padding:var(--space-4);background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md)}.file-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.file-name{font-weight:var(--font-medium);word-break:break-all}.file-size{color:var(--text-secondary);font-size:var(--text-sm)}.remove-file{background:none;border:none;color:var(--color-error);cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:auto}.upload-progress{margin-top:var(--space-3);height:8px;background-color:var(--color-gray-200);border-radius:var(--radius-sm);overflow:hidden;position:relative}.progress-bar{height:100%;background-color:var(--color-primary);transition:width .3s ease}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--text-xs);color:var(--text-on-primary);text-shadow:0 1px 2px rgba(0,0,0,.5)}.upload-error{margin-top:var(--space-3);color:var(--color-error);display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.upload-tips{background-color:var(--bg-surface);border-radius:var(--radius-md);padding:var(--space-4)}.upload-tips h4{margin-top:0;margin-bottom:var(--space-2);color:var(--text-primary)}.upload-tips ul{margin:0;padding-left:var(--space-5);color:var(--text-secondary)}.upload-tips li{margin-bottom:var(--space-2)}.profile-content{display:flex;flex-direction:column;gap:var(--space-6)}.profile-demo{display:flex;gap:var(--space-5);align-items:center;background-color:var(--bg-surface);border-radius:var(--radius-md);padding:var(--space-5);overflow:hidden}.demo-image{max-width:200px;object-fit:contain}.profile-details{flex:1}.profile-details h4{margin-top:0;margin-bottom:var(--space-3);color:var(--text-primary)}.profile-info-list{list-style:none;padding:0;margin:0}.profile-info-list li{margin-bottom:var(--space-3);display:flex;flex-direction:column}.info-label{font-weight:var(--font-medium);color:var(--text-primary)}.info-description{color:var(--text-secondary);font-size:var(--text-sm)}.profile-navigation{background-color:var(--color-primary-50);border-left:4px solid var(--color-primary);padding:var(--space-4);border-radius:var(--radius-sm)}.profile-navigation p{margin:0;color:var(--text-primary)}.quality-content{display:flex;flex-direction:column;gap:var(--space-6)}.quality-demo{display:flex;gap:var(--space-5);flex-wrap:wrap}.quality-checks-list{flex:1;min-width:300px}.quality-check{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-3)}.check-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.check-type{font-weight:var(--font-medium);color:var(--text-primary)}.check-status{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--font-medium)}.check-status.passed{color:var(--color-success)}.check-status.warning{color:var(--color-warning)}.check-status.failed{color:var(--color-error)}.check-description{margin:0;color:var(--text-secondary);font-size:var(--text-sm)}.custom-check-example{flex:1;min-width:300px;background-color:var(--bg-surface);border-radius:var(--radius-md);padding:var(--space-4)}.custom-check-example h4{margin-top:0;margin-bottom:var(--space-3);color:var(--text-primary)}.check-config{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);overflow:hidden}.config-row{display:flex;border-bottom:1px solid var(--border-light)}.config-row:last-child{border-bottom:none}.config-label,.config-value{padding:var(--space-2) var(--space-3)}.config-label{background-color:var(--bg-surface);font-weight:var(--font-medium);width:30%;border-right:1px solid var(--border-light)}.config-value{flex:1;font-family:var(--font-mono)}.quality-tips{background-color:var(--color-primary-50);border-left:4px solid var(--color-primary);padding:var(--space-4);border-radius:var(--radius-sm)}.quality-tips p{margin:0;color:var(--text-primary)}.final-content{text-align:center;max-width:600px;margin:0 auto}.completion-icon{margin-bottom:var(--space-4)}.success-icon{color:var(--color-success)}.completion-message{font-size:var(--text-lg);margin-bottom:var(--space-6);color:var(--text-primary)}.next-steps{text-align:left;margin-bottom:var(--space-6)}.next-steps h4{margin-top:0;margin-bottom:var(--space-3);color:var(--text-primary)}.next-steps-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-3)}.next-steps-list li{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background-color:var(--bg-surface);border-radius:var(--radius-md)}.step-icon{color:var(--color-primary);display:flex;align-items:center;justify-content:center}.help-resources{background-color:var(--color-success-light);border-radius:var(--radius-md);padding:var(--space-4);text-align:left}.help-resources h4{margin-top:0;margin-bottom:var(--space-2);color:var(--text-primary)}.help-resources p{margin:0;color:var(--text-secondary)}.preview-content{display:flex;flex-direction:column;height:100%;min-height:400px}.preview-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:100%;padding:var(--space-10) var(--space-5);background-color:var(--color-gray-50);border-radius:var(--radius-md);border:2px dashed var(--border-light)}.preview-icon{color:var(--color-primary);margin-bottom:var(--space-4)}.preview-placeholder p{margin:0 0 var(--space-5) 0;font-size:var(--text-lg);color:var(--text-secondary)}.preview-placeholder-description{text-align:left;max-width:500px;margin:0 auto}.preview-placeholder-description p{font-size:var(--text-base);margin-bottom:var(--space-2)}.preview-placeholder-description ul{margin:0;padding-left:var(--space-5);color:var(--text-secondary)}.preview-placeholder-description li{margin-bottom:var(--space-2);font-size:var(--text-sm)}@media (max-width: 768px){.onboarding-wizard{width:95%;height:90vh}.wizard-progress{overflow-x:auto;padding-bottom:5px}.progress-step:not(:last-child):after{left:55%;right:-45%}.profile-demo,.quality-demo{flex-direction:column}.demo-image{max-width:100%}.quality-checks-list,.custom-check-example{width:100%}.step-label{font-size:.7rem;max-width:80px}}.notification-bell{position:relative;margin-right:1rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.notification-bell .notification-bell-btn{position:relative;background:none;border:none;color:var(--text-primary, #374151);font-size:1.125rem;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;transition:color .2s ease;border-radius:4px}.notification-bell .notification-bell-btn:hover{color:var(--primary-color, #4f46e5);background-color:#4f46e514}.notification-bell .notification-badge{position:absolute;top:2px;right:2px;background-color:#dc2626;color:#fff;border-radius:8px;padding:1px 4px;font-size:9px;font-weight:600;min-width:14px;text-align:center;line-height:1.3;font-family:Inter,sans-serif}.notification-bell .notification-dropdown{position:absolute;top:100%;right:-40px;margin-top:6px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px #0000001f,0 2px 8px #00000014;width:260px;max-height:420px;display:flex;flex-direction:column;z-index:9999;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.notification-bell .notification-dropdown .notification-bell-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #e5e7eb;background:#fafafa}.notification-bell .notification-dropdown .notification-bell-header h3{margin:0;padding:0;font-size:10px;font-weight:600;color:#111827;text-align:left;text-transform:capitalize;letter-spacing:.01em}.notification-bell .notification-dropdown .mark-all-read-btn{background:none;border:none;color:#4f46e5;cursor:pointer;font-size:9px!important;font-weight:500;padding:4px 6px;border-radius:4px;transition:all .2s ease;font-family:Inter,sans-serif}.notification-bell .notification-dropdown .mark-all-read-btn:hover:not(:disabled){background-color:#4f46e514}.notification-bell .notification-dropdown .mark-all-read-btn:disabled{opacity:.5;cursor:not-allowed}.notification-bell .notification-dropdown .notification-list{flex:1;overflow-y:auto;max-height:340px}.notification-bell .notification-dropdown .no-notifications{padding:32px 16px;text-align:center;color:#6b7280}.notification-bell .notification-dropdown .no-notifications p{margin:0;font-size:9px!important;font-weight:400}.notification-bell .notification-dropdown .notification-item{display:flex;gap:8px;padding:10px 12px;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background-color .15s ease;position:relative;align-items:flex-start}.notification-bell .notification-dropdown .notification-item:last-child{border-bottom:none}.notification-bell .notification-dropdown .notification-item:hover{background-color:#f9fafb}.notification-bell .notification-dropdown .notification-item.unread{background-color:#f0f4ff;border-left:2px solid #4f46e5}.notification-bell .notification-dropdown .notification-item.unread:hover{background-color:#e8edff}.notification-bell .notification-dropdown .notification-item .notification-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notification-bell .notification-dropdown .notification-item .notification-title{font-weight:600;font-size:10px!important;color:#111827;line-height:1.4;letter-spacing:.01em;margin:0;padding:0}.notification-bell .notification-dropdown .notification-item .notification-message{font-size:9px!important;font-weight:400;color:#4b5563;line-height:1.5;word-wrap:break-word;margin:0;padding:0}.notification-bell .notification-dropdown .notification-item .notification-time{font-size:9px!important;font-weight:500;color:#9ca3af;line-height:1.3;margin-top:1px}.notification-bell .notification-dropdown .notification-item .unread-dot{position:absolute;top:12px;right:10px;width:6px;height:6px;background-color:#4f46e5;border-radius:50%}.notification-bell .notification-dropdown .notification-footer{padding:8px 12px;border-top:1px solid #e5e7eb;text-align:center;background:#fafafa}.notification-bell .notification-dropdown .notification-footer button{background:none;border:none;color:#4f46e5;cursor:pointer;font-size:9px!important;font-weight:600;padding:6px 10px;border-radius:4px;transition:all .2s ease;width:100%;font-family:Inter,sans-serif}.notification-bell .notification-dropdown .notification-footer button:hover{background-color:#4f46e514}@media (max-width: 768px){.notification-bell .notification-dropdown{width:260px;right:0}.notification-bell .notification-dropdown .notification-item,.notification-bell .notification-dropdown .notification-bell-header,.notification-bell .notification-dropdown .notification-footer{padding:8px 10px}}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background-color:var(--bg-sidebar);border-right:1px solid var(--border-light);height:100vh;position:fixed;overflow-y:auto;overflow-x:hidden;top:0;bottom:0;left:0;z-index:var(--z-sticky);transition:width var(--transition-base),min-width var(--transition-base);display:flex;flex-direction:column}.sidebar.collapsed{width:70px;min-width:70px}.sidebar.collapsed .sidebar-nav a span,.sidebar.collapsed .collapsible-menu-item span,.sidebar.collapsed .nav-divider span,.sidebar.collapsed .category-chevron{display:none}.sidebar.collapsed .sidebar-nav a,.sidebar.collapsed .collapsible-menu-item{justify-content:center;padding:var(--space-3)}.sidebar.collapsed .sidebar-nav .icon{margin-right:0}.sidebar.collapsed .submenu-item{display:none}.sidebar-nav{padding:var(--space-4) 0}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background-color:var(--border-medium);border-radius:var(--radius-full)}.sidebar::-webkit-scrollbar-thumb:hover{background-color:var(--border-dark)}.sidebar{scrollbar-width:thin;scrollbar-color:var(--border-medium) transparent}.sidebar-nav ul{list-style:none;padding:0;margin:0}.sidebar-nav li{margin-bottom:var(--space-1)}.sidebar-nav a{display:flex;align-items:center;padding:var(--space-3) var(--space-5);color:var(--text-secondary);text-decoration:none;transition:all var(--transition-fast);font-size:var(--text-sm);font-weight:var(--font-medium);margin:0 var(--space-2);border-radius:var(--radius-md)}.sidebar-nav a:focus,.sidebar-nav a:focus-visible{outline:none!important}.sidebar-nav a:hover{background-color:var(--color-gray-50);color:var(--text-primary)}.sidebar-nav a.active{color:var(--color-primary);font-weight:var(--font-semibold)}.sidebar-nav .onboarding-button{display:flex;align-items:center;padding:var(--space-3) var(--space-5);width:100%;background:none;border:none;color:var(--text-secondary);text-align:left;cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-sm);font-weight:var(--font-medium);margin:0 var(--space-2);border-radius:var(--radius-md)}.sidebar-nav .onboarding-button:hover{background-color:var(--color-gray-50);color:var(--text-primary)}.sidebar-nav .onboarding-button .icon{color:var(--color-success)}.sidebar-nav .icon{margin-right:var(--space-3);font-size:18px;min-width:18px}.nav-divider{padding:var(--space-3) var(--space-4) var(--space-2);margin-top:var(--space-4);border-top:1px solid var(--border-light);cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background-color var(--transition-fast);border-radius:var(--radius-md);margin-left:var(--space-2);margin-right:var(--space-2)}.nav-divider:hover{background-color:var(--color-gray-50)}.nav-divider:first-child{margin-top:0;border-top:none}.nav-divider span{font-size:var(--text-xs);text-transform:capitalize;color:var(--text-tertiary);font-weight:var(--font-semibold);letter-spacing:.05em}.category-chevron{font-size:14px;color:var(--text-tertiary);transition:transform var(--transition-fast)}.sidebar-nav a.external-link{color:var(--color-teal);position:relative}.sidebar-nav a.external-link:after{content:"↗";margin-left:var(--space-2);font-size:var(--text-sm);opacity:.7;transition:all var(--transition-fast)}.sidebar-nav a.external-link:hover{background-color:var(--color-teal-light);color:var(--color-teal-dark)}.sidebar-nav a.external-link:hover:after{transform:translate(2px) translateY(-2px);opacity:1}.sidebar-nav a.external-link .icon{color:var(--color-teal)}.collapsible-menu-item{display:flex;align-items:center;padding:var(--space-3) var(--space-5);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-sm);font-weight:var(--font-medium);margin:0 var(--space-2);border-radius:var(--radius-md)}.collapsible-menu-item:focus,.collapsible-menu-item:focus-visible{outline:none!important}.collapsible-menu-item:hover{background-color:var(--color-gray-50);color:var(--text-primary)}.collapsible-menu-item .icon{margin-right:var(--space-3);font-size:18px;min-width:18px}.collapsible-menu-item .chevron{margin-left:auto;font-size:14px;transition:transform var(--transition-fast)}.submenu-item{margin-bottom:0}.submenu-item a{padding-left:calc(var(--space-5) + 18px + var(--space-3));font-size:var(--text-sm);font-weight:var(--font-normal);margin-left:var(--space-2)}.submenu-item a:hover{background-color:var(--color-gray-50);color:var(--text-primary)}.submenu-item a.active{background-color:var(--color-primary-50);color:var(--color-primary);font-weight:var(--font-semibold)}@media (max-width: 960px){.sidebar{transform:translate(-100%);transition:transform var(--transition-base)}.sidebar.open{transform:translate(0)}}.sidebar-toggle{position:absolute;top:var(--space-4);right:-12px;display:flex;align-items:center;justify-content:center;width:24px;height:48px;background-color:#e3f2fd;color:#1976d2;border:1px solid #90caf9;border-radius:0 var(--radius-md) var(--radius-md) 0;cursor:pointer;transition:all var(--transition-fast);font-size:14px;z-index:10;box-shadow:2px 0 4px #0000000d}.sidebar-toggle:hover{background-color:#bbdefb;color:#1565c0;border-color:#64b5f6;box-shadow:2px 0 6px #0000001a}@media (max-width: 640px){.sidebar{width:280px}.sidebar-nav a,.sidebar-nav .onboarding-button{padding:var(--space-3) var(--space-4)}}.sidebar-header{padding:var(--space-4);border-bottom:1px solid var(--border-light);flex-shrink:0}.sidebar-header-content{display:flex;align-items:center;gap:var(--space-3)}.sidebar-home-btn{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:var(--foreground);font-size:18px}.sidebar-home-btn:hover{background:var(--accent);border-color:var(--ring)}.sidebar-logo{flex:1;text-decoration:none;display:flex;align-items:center}.sidebar-logo h1{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden}.sidebar-footer{padding:var(--space-4);border-top:1px solid var(--border-light);display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.sidebar-user-menu{position:relative;flex:1}.sidebar-user-btn{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-2) var(--space-3);cursor:pointer;display:flex;align-items:center;gap:var(--space-2);transition:all .2s ease;color:var(--foreground);width:100%}.sidebar-user-btn:hover{background:var(--accent);border-color:var(--ring)}.sidebar-username{flex:1;text-align:left;font-size:var(--text-sm);font-weight:var(--font-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-dropdown-menu{position:absolute;bottom:100%;left:0;right:0;margin-bottom:var(--space-2);background-color:var(--bg-sidebar);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;max-height:400px;overflow-y:auto}.sidebar-dropdown-header{padding:var(--space-4);border-bottom:1px solid var(--border-light);background-color:var(--color-gray-50)}.sidebar-user-info strong{display:block;font-size:var(--text-base);color:var(--text-primary);margin-bottom:var(--space-1)}.sidebar-user-info small{display:block;font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-2)}.sidebar-user-roles{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.sidebar-role-badge{padding:var(--space-1) var(--space-2);background-color:var(--color-primary-50);color:var(--color-primary);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium)}.sidebar-dropdown-content{padding:var(--space-2)}.sidebar-dropdown-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--text-secondary);text-decoration:none;transition:all var(--transition-fast);border-radius:var(--radius-md);font-size:var(--text-sm);border:none;background:none;width:100%;text-align:left;cursor:pointer}.sidebar-dropdown-item:hover{background-color:var(--color-gray-50);color:var(--text-primary)}.sidebar-dropdown-item svg{font-size:16px}.sidebar.collapsed .sidebar-logo h1,.sidebar.collapsed .sidebar-username{display:none}.sidebar.collapsed .sidebar-header-content{flex-direction:column;gap:var(--space-2)}.sidebar.collapsed .sidebar-footer{flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3)}.sidebar.collapsed .sidebar-user-menu{width:100%;display:flex;justify-content:center}.sidebar.collapsed .sidebar-user-btn{justify-content:center;padding:var(--space-2);width:36px;height:36px;min-width:36px;border-radius:var(--radius)}.sidebar.collapsed .sidebar-user-btn svg{font-size:18px;color:var(--foreground)}.sidebar.collapsed .sidebar-dropdown-menu{position:absolute;left:calc(100% + var(--space-2));bottom:0;right:auto;top:auto;margin-bottom:0;min-width:220px;z-index:1001}.sidebar.collapsed .sidebar-dropdown-header,.sidebar.collapsed .sidebar-dropdown-content{display:block}.sidebar.collapsed .sidebar-dropdown-item{justify-content:flex-start;padding:var(--space-3) var(--space-4);gap:var(--space-3)}.sidebar.collapsed .sidebar-logout-text{display:inline}.sidebar.collapsed .sidebar-dropdown-item svg{font-size:16px}.sidebar-help-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--muted);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;text-decoration:none;flex-shrink:0}.sidebar-help-btn:hover{background:var(--color-primary-50);border-color:var(--color-primary);color:var(--color-primary)}.sidebar-help-btn svg{font-size:18px}.sidebar.collapsed .sidebar-help-btn{width:100%}.notification-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;max-width:400px}.notification{margin-bottom:15px;padding:15px 20px;border-radius:5px;box-shadow:0 4px 12px #00000026;display:flex;align-items:flex-start;justify-content:space-between;min-width:300px;max-width:100%;animation:slideIn .3s ease forwards;position:relative;overflow:hidden}.notification:after{content:"";position:absolute;bottom:0;left:0;height:3px;width:100%;background-color:#ffffff80}.notification-success{background-color:#10b981;color:#fff}.notification-error{background-color:#ef4444;color:#fff}.notification-warning{background-color:#f59e0b;color:#fff}.notification-info{background-color:#3b82f6;color:#fff}.notification-content{flex:1}.notification-message{font-size:14px;line-height:1.5;margin-right:10px}.notification-close{background:transparent;border:none;color:#fff;font-size:20px;cursor:pointer;opacity:.7;transition:opacity .2s;padding:0;margin-left:10px;height:20px;width:20px;display:flex;justify-content:center;align-items:center}.notification-close:hover{opacity:1}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{display:flex;align-items:center;justify-content:space-between;min-width:300px;max-width:500px;padding:12px 16px;border-radius:8px;box-shadow:0 4px 12px #00000026;background-color:#fff;pointer-events:auto;animation:slideIn .3s ease-out}.toast-content{display:flex;align-items:center;gap:12px;flex:1}.toast-icon{font-size:20px;flex-shrink:0}.toast-message{font-size:14px;color:#202124;line-height:1.4}.toast-close{background:none;border:none;padding:4px;margin-left:12px;cursor:pointer;color:#5f6368;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s;flex-shrink:0}.toast-close:hover{background-color:#0000000d}.toast-success{border-left:4px solid #34a853}.toast-success .toast-icon{color:#34a853}.toast-error{border-left:4px solid #ea4335}.toast-error .toast-icon{color:#ea4335}.toast-info{border-left:4px solid #4285f4}.toast-info .toast-icon{color:#4285f4}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.toast-container{top:10px;right:10px;left:10px}.toast{min-width:auto;max-width:100%}}:root{--blue-50: #eff6ff;--blue-100: #dbeafe;--blue-200: #bfdbfe;--blue-300: #93c5fd;--blue-400: #60a5fa;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--blue-800: #1e40af;--blue-900: #1e3a8a;--indigo-600: #4f46e5;--indigo-700: #4338ca;--indigo-800: #3730a3;--cyan-400: #22d3ee;--cyan-500: #06b6d4;--cyan-600: #0891b2}.login-page{display:flex;min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e0e7ff,#ddd6fe);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 20%,rgba(139,92,246,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(59,130,246,.1) 0%,transparent 50%);pointer-events:none}.marketing-content{flex:1;overflow-y:auto;padding:4rem 2rem;position:relative;z-index:1}.marketing-scroll-container{max-width:800px;margin:0 auto}.hero-section{margin-bottom:6rem;opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.4,0,.2,1)}.hero-section.visible{opacity:1;transform:translateY(0)}.hero-badge{display:inline-block;padding:.5rem 1rem;background:#8b5cf61a;border:1px solid rgba(139,92,246,.3);border-radius:2rem;color:#7c3aed;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:2rem}.hero-title{font-size:2.5rem;font-weight:700;color:#1e293b;line-height:1.2;margin-bottom:1.5rem;letter-spacing:-.02em}.hero-subtitle{font-size:1.125rem;color:#475569;line-height:1.7;margin-bottom:3rem;max-width:600px}.data-flow-animation{display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:2rem;background:#fff9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:1rem;border:1px solid rgba(139,92,246,.2)}.flow-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;animation:float 3s ease-in-out infinite}.flow-item:nth-child(2){animation-delay:.5s}.flow-item:nth-child(4){animation-delay:1s}.flow-icon{font-size:2.5rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.flow-label{font-size:.875rem;color:#64748b;font-weight:500}.flow-arrow{font-size:1.5rem;color:#8b5cf6;animation:pulse 2s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.features-showcase{margin-bottom:6rem}.showcase-header{text-align:center;margin-bottom:3rem;opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.4,0,.2,1)}.showcase-header.visible{opacity:1;transform:translateY(0)}.showcase-header h2{font-size:2.5rem;font-weight:700;color:#1e293b;margin-bottom:1rem}.showcase-header p{font-size:1.125rem;color:#64748b}.features-grid{display:grid;gap:1.5rem}.feature-card{padding:2rem;background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:1rem;border:1px solid rgba(139,92,246,.2);display:flex;align-items:flex-start;gap:1.5rem;opacity:0;transform:translate(-30px);transition:all .6s cubic-bezier(.4,0,.2,1)}.feature-card.visible{opacity:1;transform:translate(0)}.feature-card.active{background:#ffffffe6;border-color:#8b5cf6;box-shadow:0 0 30px #8b5cf64d}.feature-icon{width:4rem;height:4rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;font-size:1.75rem;flex-shrink:0}.feature-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.feature-bullet{color:#8b5cf6;font-size:1.5rem;line-height:1;margin-bottom:.25rem}.feature-title{font-size:1.25rem;font-weight:600;color:#1e293b;text-transform:uppercase;letter-spacing:.05em}.feature-description{font-size:.9375rem;color:#64748b;line-height:1.6}.stats-section{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:6rem;opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.4,0,.2,1)}.stats-section.visible{opacity:1;transform:translateY(0)}.stat-item{text-align:center;padding:2rem;background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:1rem;border:1px solid rgba(139,92,246,.2);transition:all .3s ease}.stat-item:hover{transform:translateY(-5px);background:#ffffffe6;border-color:#8b5cf6}.stat-number{font-size:3rem;font-weight:700;color:#7c3aed;margin-bottom:.5rem}.stat-label{font-size:.875rem;color:#64748b;font-weight:500}.capabilities-section{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.4,0,.2,1);margin-bottom:4rem}.capabilities-section.visible{opacity:1;transform:translateY(0)}.capabilities-section h3{font-size:2rem;font-weight:700;color:#1e293b;text-align:center;margin-bottom:3rem}.capabilities-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.capability-item{padding:2rem;background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:1rem;border:1px solid rgba(139,92,246,.2);transition:all .3s ease}.capability-item:hover{transform:translateY(-5px);background:#ffffffe6;border-color:#8b5cf6}.capability-number{display:inline-block;padding:.5rem 1rem;background:#8b5cf6;color:#fff;border-radius:.5rem;font-size:.875rem;font-weight:600;margin-bottom:1rem}.capability-item h4{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:.75rem}.capability-item p{font-size:.9375rem;color:#64748b;line-height:1.6;margin:0}.login-panel{width:480px;padding:2rem;display:flex;align-items:center;justify-content:center;position:sticky;top:0;height:100vh;z-index:10}.login-card-glass{width:100%;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:1.5rem;box-shadow:0 20px 60px #0000004d;overflow:hidden;border:1px solid rgba(255,255,255,.2)}.login-header{background:linear-gradient(135deg,var(--blue-600) 0%,var(--indigo-700) 100%);color:#fff;text-align:center;padding:3rem 2rem 2.5rem}.login-header h2{color:#fff;margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.login-header h3{font-size:1rem;color:#ffffffe6;margin:0;font-weight:400}.login-logo{margin-bottom:1.5rem;display:block;max-width:160px;margin-left:auto;margin-right:auto;filter:brightness(0) invert(1)}.login-form{padding:2.5rem 2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#1e293b;font-size:.875rem}.form-group input{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:.5rem;font-size:.9375rem;color:#1e293b;background-color:#fff;transition:all .2s ease;font-family:inherit}.form-group input:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 3px #3b82f61a}.form-group input::placeholder{color:#94a3b8}.form-group input:disabled{background-color:#f1f5f9;cursor:not-allowed;opacity:.6}.login-button{width:100%;background:linear-gradient(135deg,var(--blue-600) 0%,var(--indigo-700) 100%);color:#fff;border:none;border-radius:.5rem;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:inherit;margin-top:.5rem;box-shadow:0 4px 12px #3b82f64d}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{background:#cbd5e1;color:#64748b;cursor:not-allowed;transform:none;box-shadow:none}.login-error{background-color:#fef2f2;color:#991b1b;padding:1rem;border-radius:.5rem;margin:0 2rem 1.5rem;font-size:.875rem;border-left:4px solid #dc2626}.forgot-password-link{margin-top:1rem;text-align:center}.text-link{background:none;border:none;color:var(--blue-600);font-size:.875rem;cursor:pointer;text-decoration:underline;padding:0;font-family:inherit;transition:color .2s ease}.text-link:hover{color:var(--blue-700)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:1rem;max-width:500px;width:100%;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid #e2e8f0}.modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#1e293b}.login-divider{display:flex;align-items:center;text-align:center;margin:var(--space-6) 0;color:var(--text-tertiary)}.login-divider:before,.login-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-medium)}.login-divider span{padding:0 var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium)}.modal-close{background:none;border:none;font-size:1.5rem;color:#64748b;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:all .2s ease}.modal-close:hover{background:#f1f5f9;color:#1e293b}.modal-body{padding:2rem}.modal-description{color:#64748b;font-size:.9375rem;line-height:1.6;margin-bottom:1.5rem}.alert{padding:1rem;border-radius:.5rem;margin-bottom:1.5rem;font-size:.875rem}.alert-error{background-color:#fef2f2;color:#991b1b;border-left:4px solid #dc2626}.alert-success{background-color:#f0fdf4;color:#166534;border-left:4px solid #22c55e}.modal-actions{display:flex;gap:1rem;margin-top:1.5rem}.btn-secondary{flex:1;padding:.75rem 1.5rem;background:#f1f5f9;color:#475569;border:none;border-radius:.5rem;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn-secondary:hover:not(:disabled){background:#e2e8f0}.btn-primary{flex:1;padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--blue-600) 0%,var(--indigo-700) 100%);color:#fff;border:none;border-radius:.5rem;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.4,0,.2,1)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}@media (max-width: 1024px){.login-page{flex-direction:column}.marketing-content{padding:3rem 1.5rem}.login-panel{width:100%;height:auto;position:relative;padding:2rem 1.5rem 3rem}.hero-title{font-size:2.5rem}.stats-section,.capabilities-grid{grid-template-columns:1fr}}@media (max-width: 640px){.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.data-flow-animation{flex-direction:column;gap:1rem}.flow-arrow{transform:rotate(90deg)}.login-form{padding:2rem 1.5rem}.showcase-header h2{font-size:2rem}.capabilities-section h3{font-size:1.5rem}}.toast-container{position:fixed;bottom:var(--space-5);right:var(--space-5);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);max-width:350px}.toast{display:flex;align-items:flex-start;background-color:var(--bg-card);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:var(--space-3);animation:toast-slide-in .3s ease-out forwards;opacity:0;transform:translate(100%);position:relative}@keyframes toast-slide-in{to{opacity:1;transform:translate(0)}}.toast-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-full);margin-right:var(--space-3);font-weight:var(--font-bold);flex-shrink:0}.toast-content{flex-grow:1;padding-right:var(--space-5)}.toast-title{font-weight:var(--font-semibold);margin-bottom:var(--space-1);color:var(--text-primary)}.toast-message{font-size:var(--text-sm);color:var(--text-secondary)}.toast-close{background:none;border:none;color:var(--text-tertiary);font-size:var(--text-lg);cursor:pointer;padding:0;line-height:1;position:absolute;top:var(--space-2);right:var(--space-2);opacity:.7;transition:var(--transition-base)}.toast-close:hover{opacity:1}.toast-success .toast-icon{background-color:var(--color-success-light);color:var(--color-success)}.toast-success{border-left:4px solid var(--color-success)}.toast-error .toast-icon{background-color:var(--color-error-light);color:var(--color-error)}.toast-error{border-left:4px solid var(--color-error)}.toast-warning .toast-icon{background-color:var(--color-warning-light);color:var(--color-warning)}.toast-warning{border-left:4px solid var(--color-warning)}.toast-info .toast-icon{background-color:var(--color-info-light);color:var(--color-info)}.toast-info{border-left:4px solid var(--color-info)}@media (max-width: 480px){.toast-container{bottom:0;right:0;left:0;padding:var(--space-2);max-width:100%}.toast{width:100%}}.app{display:flex;flex-direction:column;min-height:100vh}.main-container{display:flex;margin-top:0;height:100vh;overflow:hidden}.content{flex:1;padding:var(--space-5);overflow-y:auto;margin-left:250px;width:calc(100% - 250px);height:100%;transition:margin-left .3s ease,width .3s ease}.content.sidebar-collapsed{margin-left:70px;width:calc(100% - 70px)}.content.full-width{margin-left:250px;width:calc(100% - 250px)}.content.full-width.sidebar-collapsed{margin-left:70px;width:calc(100% - 70px)}.btn{padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);border:none;cursor:pointer;font-weight:var(--font-medium);transition:var(--transition-base)}.btn-primary:hover{background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-secondary);color:var(--text-on-primary)}.btn-secondary:hover{background-color:var(--color-secondary-light)}.btn-success:hover{background-color:var(--color-success-dark)}.btn-danger:hover{background-color:var(--color-error-dark)}.btn-outline:hover{background-color:var(--color-primary-50)}button.btn-primary.header-action-btn,button.btn.header-action-btn,.header-action-btn.btn-primary,.header-action-btn.btn,.header-action-btn{padding:8px 16px!important;font-size:.875rem!important;height:36px!important;min-height:36px!important;max-height:36px!important;line-height:1.25!important;display:inline-flex!important;align-items:center!important;gap:8px!important;box-sizing:border-box!important}.card{background-color:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-5);margin-bottom:var(--space-5)}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;margin-bottom:var(--space-2);font-weight:var(--font-medium)}.form-control{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:var(--text-base)}.form-control:focus{border-color:var(--color-primary);outline:none}.badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium)}.badge-success{background-color:var(--color-success);color:var(--text-on-primary)}.badge-warning{background-color:var(--color-warning);color:var(--text-on-primary)}.badge-error{background-color:var(--color-error);color:var(--text-on-primary)}.badge-info{background-color:var(--color-info);color:var(--text-on-primary)}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);margin-bottom:var(--space-4)}.alert-success{background-color:var(--color-success-light);border:1px solid var(--color-success);color:var(--color-success-dark)}.alert-warning{background-color:var(--color-warning-light);border:1px solid var(--color-warning);color:var(--color-warning-dark)}.alert-error{background-color:var(--color-error-light);border:1px solid var(--color-error);color:var(--color-error-dark)}.alert-info{background-color:var(--color-info-light);border:1px solid var(--color-info);color:var(--color-info-dark)}.table{width:100%;border-collapse:collapse;margin-bottom:var(--space-5)}.table th,.table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--border-light)}.table th{font-weight:var(--font-semibold);background-color:var(--bg-surface)}.table tbody tr:hover{background-color:var(--bg-surface)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-5)}.high-contrast{--bg-color: #000000;--text-color: #ffffff;--primary-color: #ffff00;--secondary-color: #00ffff;--border-color: #ffffff;--hover-bg-color: #333333;--card-bg-color: #111111;--danger-color: #ff0000;--success-color: #00ff00;--warning-color: #ffcc00;--info-color: #00ccff;--bg-light-color: #222222;--text-light-color: #dddddd;--focus-outline: 3px solid var(--primary-color)}:root:not(.high-contrast){--bg-color: #f5f7fa;--text-color: #333333;--primary-color: #4a6cf7;--secondary-color: #6c757d;--border-color: #e9ecef;--hover-bg-color: #f1f3f5;--card-bg-color: #ffffff;--danger-color: #dc3545;--success-color: #28a745;--warning-color: #ffc107;--info-color: #17a2b8;--bg-light-color: #f8f9fa;--text-light-color: #6c757d}.large-text{font-size:125%!important}.large-text h1{font-size:2.5rem!important}.large-text h2{font-size:2rem!important}.large-text h3{font-size:1.75rem!important}.large-text p,.large-text li,.large-text label,.large-text input,.large-text button,.large-text a,.large-text span{font-size:1.2rem!important;line-height:1.5!important}.large-text button,.large-text a.btn,.large-text input[type=button]{padding:.75rem 1rem!important}.screen-reader-optimized .sr-only{position:static!important;width:auto!important;height:auto!important;padding:.25rem .5rem!important;margin:.25rem 0!important;overflow:visible!important;clip:auto!important;white-space:normal!important;border:1px solid var(--border-color)!important;clip-path:none!important;display:block!important;background-color:var(--bg-light-color)!important;color:var(--text-color)!important}.screen-reader-optimized .chart-container{border:2px solid var(--border-color);padding:1rem}.screen-reader-optimized .chart-container:before{content:"Chart: ";font-weight:700;display:block;margin-bottom:.5rem}.reduced-motion *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}:focus{outline:var(--focus-outline, 2px solid var(--primary-color))!important;outline-offset:2px!important}.skip-to-content{position:absolute;left:-9999px;top:0;width:1px;height:1px;overflow:hidden;z-index:9999;background:var(--primary-color);color:var(--bg-color);padding:.5rem 1rem;text-decoration:none;font-weight:700;text-align:center}.skip-to-content:focus{left:0;width:auto;height:auto;outline:none}.accessibility-widget{position:fixed;bottom:1.5rem;right:1.5rem;z-index:1000;background-color:var(--card-bg-color);border:1px solid var(--border-color);border-radius:.5rem;box-shadow:0 4px 8px #0000001a;width:3.5rem;height:3.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.accessibility-widget:hover{transform:scale(1.05)}.accessibility-widget__icon{color:var(--primary-color);font-size:1.5rem}.accessibility-menu{position:fixed;bottom:5rem;right:1.5rem;z-index:1000;background-color:var(--card-bg-color);border:1px solid var(--border-color);border-radius:.5rem;box-shadow:0 4px 12px #00000026;width:300px;padding:1.5rem;overflow:hidden;transform-origin:bottom right;display:none}.accessibility-menu__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.accessibility-menu__header h2{margin:0;font-size:1.25rem;color:var(--text-color)}.accessibility-menu__close{background:none;border:none;color:var(--text-color);cursor:pointer;font-size:1.25rem;display:flex;align-items:center;justify-content:center;padding:.25rem;border-radius:.25rem}.accessibility-menu__close:hover{background-color:var(--hover-bg-color)}.accessibility-menu__option{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:.5rem 0}.accessibility-menu__option-label{font-weight:500;color:var(--text-color)}.accessibility-menu__option-description{font-size:.875rem;color:var(--text-light-color);margin-top:.25rem}.accessibility-menu__toggle{position:relative;display:inline-block;width:3.5rem;height:2rem}.accessibility-menu__toggle input{opacity:0;width:0;height:0}.accessibility-menu__toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--secondary-color);transition:.4s;border-radius:34px}.accessibility-menu__toggle-slider:before{position:absolute;content:"";height:1.5rem;width:1.5rem;left:.25rem;bottom:.25rem;background-color:#fff;transition:.4s;border-radius:50%}.accessibility-menu__toggle input:checked+.accessibility-menu__toggle-slider{background-color:var(--primary-color)}.accessibility-menu__toggle input:focus+.accessibility-menu__toggle-slider{box-shadow:0 0 1px var(--primary-color)}.accessibility-menu__toggle input:checked+.accessibility-menu__toggle-slider:before{transform:translate(1.5rem)}.accessibility-menu__reset{width:100%;padding:.75rem 1rem;background-color:var(--bg-light-color);color:var(--text-color);border:1px solid var(--border-color);border-radius:.25rem;font-weight:500;cursor:pointer;margin-top:.5rem;transition:all .2s ease}.accessibility-menu__reset:hover{background-color:var(--hover-bg-color)}@keyframes slideIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.accessibility-menu.open{display:block;animation:slideIn .3s forwards}.accessibility-menu.closing{animation:slideOut .3s forwards}.skip-link{position:absolute;top:-40px;left:0;background:var(--primary-color);color:#fff;padding:8px;z-index:100}.skip-link:focus{top:0}.user-management-container{padding:0 20px 20px;max-width:1200px;margin:0 auto}.user-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;margin-top:0}.user-management-container h1{margin-bottom:0;font-size:1.5rem;color:#025043}.role-management-link{display:inline-block;padding:8px 15px;background-color:#34a853;color:#fff;border-radius:4px;text-decoration:none;font-weight:500;transition:background-color .3s}.role-management-link:hover{background-color:#2d964a}.user-management-loading{display:flex;justify-content:center;align-items:center;height:200px;font-size:18px;color:#5f6368}.user-management-actions{margin-bottom:20px;display:flex;justify-content:flex-end}.create-user-btn{background-color:#1a73e8;color:#fff;border:none;border-radius:5px;padding:10px 16px;font-size:14px;cursor:pointer;transition:background-color .2s}.create-user-btn:hover{background-color:#0d62cb}.reset-requests-btn{background-color:#34a853;color:#fff;border:none;border-radius:5px;padding:10px 16px;font-size:14px;cursor:pointer;transition:background-color .2s;position:relative;display:inline-flex;align-items:center;gap:8px}.reset-requests-btn:hover{background-color:#2d964a}.reset-requests-btn .badge-count{background-color:#dc2626;color:#fff;border-radius:10px;padding:2px 6px;font-size:12px;font-weight:600;min-width:20px;text-align:center}.users-table-container{overflow-x:auto;margin-bottom:20px}.users-table{width:100%;border-collapse:collapse;border:1px solid #dadce0}.users-table th,.users-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #dadce0}.users-table th{background-color:#f8f9fa;font-weight:500;color:#5f6368}.users-table tbody tr:hover{background-color:#f8f9fa}.user-roles{display:flex;flex-wrap:wrap;gap:4px}.users-table .role-badge{background-color:#e8f0fe;color:#1a73e8;padding:2px 6px;border-radius:3px;font-size:9px;font-weight:500}.account-status{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.account-status.active{background-color:#e8f5e9;color:#2e7d32}.account-status.warning{background-color:#fff3e0;color:#ef6c00}.account-status.locked{background-color:#ffebee;color:#c62828}.user-actions{display:flex;gap:12px;align-items:center}.unlock-user-btn{background-color:#fff3e0;color:#ef6c00;font-weight:500;border:none;border-radius:4px;padding:6px 12px;font-size:12px;cursor:pointer;transition:background-color .2s}.unlock-user-btn:hover{background-color:#ffe0b2}.no-users-message{text-align:center;padding:30px;color:#5f6368}.user-modal{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:100%;max-width:700px;height:85vh;display:flex;flex-direction:column;overflow:hidden}.user-form{padding:24px;height:100%}.form-group input[type=text],.form-group input[type=password],.form-group input[type=email],.form-group input[type=tel],.form-group select{width:100%;padding:10px 12px;border:1px solid #dadce0;border-radius:4px;font-size:14px}.form-group input:focus,.form-group select:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e833}.roles-info{margin-bottom:10px;color:#5f6368;font-size:13px}.no-roles-warning{margin-top:8px;color:#d93025;font-weight:500}.roles-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:10px}.role-checkbox{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:4px;background-color:#f8f9fa}.role-checkbox:hover{background-color:#e8f0fe}.role-checkbox input{margin-left:8px;cursor:pointer}.role-checkbox label{margin-bottom:0;font-weight:400;cursor:pointer}body.high-contrast .user-management-container h1,body.high-contrast .users-table .role-badge{color:#fff}body.high-contrast .users-table,body.high-contrast .users-table th,body.high-contrast .users-table td{border-color:#fff}body.high-contrast .users-table th{background-color:#000;color:#fff}body.high-contrast .users-table tbody tr:hover{background-color:#333}body.high-contrast .users-table .role-badge{background-color:#fff;color:#000}body.high-contrast .edit-user-icon-btn{color:#64b5f6}body.high-contrast .delete-user-icon-btn{color:#ff6b6b}body.high-contrast .user-modal{background-color:#000;border:2px solid #fff}body.high-contrast .form-group input{background-color:#000;color:#fff;border-color:#fff}.auth-provider-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.auth-provider-badge.local{background-color:#e8f5e9;color:#2e7d32;border:1px solid #2e7d32}.auth-provider-badge.okta{background-color:#e3f2fd;color:#1565c0;border:1px solid #1565c0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:0}.form-row .form-group{margin-bottom:15px}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}body.high-contrast .auth-provider-badge.local,body.high-contrast .auth-provider-badge.okta{background-color:#fff;color:#000;border-color:#fff}.delete-confirmation-modal{background-color:#fff;border-radius:6px;box-shadow:0 4px 20px #00000026;width:100%;max-width:380px;display:flex;flex-direction:column}.delete-confirmation-modal .modal-header{padding:12px 16px;border-bottom:1px solid #e0e0e0;min-height:auto;height:auto}.delete-confirmation-modal .modal-header h2{font-size:12px;font-weight:600;color:#202124;margin:0}.delete-confirmation-modal .close-modal-btn{font-size:18px;padding:0;line-height:1}.delete-confirmation-modal .modal-body{padding:16px;text-align:center}.delete-warning-icon{font-size:36px;margin-bottom:12px}.delete-confirmation-text{font-size:11px;color:#202124;margin-bottom:8px;line-height:1.4}.delete-confirmation-text strong{color:#1a73e8;font-weight:600}.user-detail{font-size:10px;color:#5f6368;margin:4px 0}.delete-warning-text{font-size:10px;color:#d93025;margin-top:10px;font-weight:500}.delete-confirmation-modal .modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid #e0e0e0;background-color:#f8f9fa}.delete-confirmation-modal .cancel-btn{background-color:#fff;color:#5f6368;border:1px solid #dadce0;padding:6px 12px;border-radius:4px;font-size:10px;cursor:pointer;transition:all .2s;font-weight:500}.delete-confirmation-modal .cancel-btn:hover{background-color:#f1f3f4;border-color:#c6c6c6}.delete-confirm-btn{background-color:#d93025;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:10px;cursor:pointer;transition:background-color .2s;font-weight:500}.delete-confirm-btn:hover{background-color:#c5221f}body.high-contrast .delete-confirmation-modal{background-color:#000;border:2px solid #fff}body.high-contrast .delete-confirmation-modal .modal-header{border-color:#fff}body.high-contrast .delete-confirmation-modal .modal-header h2,body.high-contrast .delete-confirmation-text{color:#fff}body.high-contrast .delete-confirmation-text strong{color:#64b5f6}body.high-contrast .user-detail{color:#fff}body.high-contrast .delete-warning-text{color:#ff6b6b}body.high-contrast .delete-confirmation-modal .modal-actions{background-color:#000;border-color:#fff}body.high-contrast .delete-confirmation-modal .cancel-btn{background-color:#000;color:#fff;border-color:#fff}body.high-contrast .delete-confirm-btn{background-color:#ff6b6b;color:#000}.icon-button{background:transparent;border:none;padding:6px;font-size:16px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;border-radius:4px}.icon-button:hover{transform:translateY(-2px)}.edit-button{color:#1a73e8}.edit-button:hover{background-color:#e8f0fe}body.high-contrast .icon-button{border:1px solid #fff}body.high-contrast .edit-button{color:#64b5f6}.user-roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.user-role-checkbox{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--gps-bg-page, #f7fafc);border:1px solid var(--gps-border-light, #e2e8f0);border-radius:4px;transition:all .2s ease}.user-role-checkbox:hover{background:#e8f0fe;border-color:var(--gps-primary-teal, #025043)}.user-role-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--gps-primary-teal, #025043);cursor:pointer;flex-shrink:0}.user-role-checkbox label{font-family:var(--gps-font-family, "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);font-size:11px;font-weight:500;color:var(--gps-text-dark, #333);cursor:pointer;margin:0}.input-error{border-color:#dc2626!important;background-color:#fef2f2!important}.input-error:focus{border-color:#dc2626!important;box-shadow:0 0 0 3px #dc26261a!important}.field-error{display:block;color:#dc2626;font-size:11px;margin-top:4px;font-weight:500}.gps-page-size select{font-family:Inter,sans-serif;font-size:11px;padding:6px 28px 6px 10px;border:1px solid #cbd5e0;border-radius:6px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right 8px center;color:#1a202c;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:all .2s ease}.role-management-container{padding:0 20px 20px;max-width:1200px;margin:0 auto}.role-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;margin-top:0}.role-management-container h1{margin-bottom:0;font-size:1.5rem;color:#025043}.user-management-link{display:inline-block;padding:8px 15px;background-color:#34a853;color:#fff;border-radius:4px;text-decoration:none;font-weight:500;transition:background-color .3s}.user-management-link:hover{background-color:#2d964a}.role-management-loading{display:flex;justify-content:center;align-items:center;height:200px;font-size:18px;color:#5f6368}.error-message{background-color:#feeceb;color:#d93025;padding:12px 16px;border-radius:5px;margin-bottom:20px;font-size:14px}.role-management-actions{margin-bottom:20px;display:flex;justify-content:flex-end}.create-role-btn{background-color:#1a73e8;color:#fff;border:none;border-radius:5px;padding:10px 16px;font-size:14px;cursor:pointer;transition:background-color .2s}.create-role-btn:hover{background-color:#0d62cb}.bulk-delete-btn{background-color:#dc2626;color:#fff;border:none;border-radius:5px;padding:10px 16px;font-size:14px;cursor:pointer;transition:background-color .2s}.bulk-delete-btn:hover{background-color:#b91c1c}.roles-table-container{overflow-x:auto;margin-bottom:20px}.roles-table{width:100%;border-collapse:collapse;border:1px solid #dadce0}.roles-table th,.roles-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #dadce0}.roles-table th{background-color:#f8f9fa;font-weight:500;color:#5f6368}.roles-table tbody tr:hover{background-color:#f8f9fa}.permission-tags{display:flex;flex-wrap:wrap;gap:4px;max-width:300px}.permission-tag{background-color:#e8f0fe;color:#1a73e8;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.permission-read{background-color:#e6f4ea;color:#34a853}.permission-write{background-color:#fce8e6;color:#ea4335}.role-actions{display:flex;gap:8px}.action-icon-btn{background:transparent;border:none;border-radius:6px;padding:6px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary, #6c757d)}.action-icon-btn svg{width:16px;height:16px}.action-icon-btn:hover{background-color:#0000000a;transform:translateY(-2px)}.action-icon-btn.view-btn{color:#6c757d}.action-icon-btn.view-btn:hover{background-color:#e9ecef}.action-icon-btn.edit-btn{color:#1a73e8}.action-icon-btn.edit-btn:hover{background-color:#e8f0fe}.action-icon-btn.delete-btn{color:#d93025}.action-icon-btn.delete-btn:hover{background-color:#fce8e6}.action-icon-btn.project-btn{color:#137333}.action-icon-btn.project-btn:hover{background-color:#e6f4ea}.action-icon-btn:disabled{opacity:.5;cursor:not-allowed;color:var(--text-disabled, #9ca3af)!important}.action-icon-btn:disabled:hover{background-color:transparent!important;transform:none!important}.no-roles-message{text-align:center;padding:30px;color:#5f6368}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.role-modal{background-color:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;width:100%;max-width:850px;height:85vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #dadce0;flex-shrink:0;height:10%;min-height:60px}.modal-header h2{margin:0;font-size:20px;color:#202124;font-weight:500}.close-modal-btn{background:none;border:none;font-size:24px;color:#5f6368;cursor:pointer}.modal-content-scrollable{flex:1;overflow-y:auto;height:80%;padding:0}.role-form{padding:24px;height:100%}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #dadce0;flex-shrink:0;height:10%;min-height:60px;align-items:center;background-color:#f8f9fa}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#5f6368}.form-group input[type=text],.form-group textarea{width:100%;padding:10px 12px;border:1px solid #dadce0;border-radius:4px;font-size:14px}.form-group textarea{min-height:80px;resize:vertical}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e833}.required-field{color:#d93025;margin-left:4px}.permissions-section{border:1px solid #dadce0;border-radius:4px;padding:16px;margin-bottom:20px}.permissions-title{font-weight:500;margin-bottom:16px;color:#202124}.permissions-grid{display:grid;grid-template-columns:1fr repeat(2,auto);gap:12px;align-items:center}.permissions-grid-with-execute,.permissions-grid-with-approve{display:grid;grid-template-columns:1fr repeat(3,auto);gap:12px;align-items:center}.permissions-grid-with-execute-approve{display:grid;grid-template-columns:1fr repeat(4,auto);gap:12px;align-items:center}.feature-name{font-weight:500}.nested-feature{padding-left:20px;font-weight:400;color:#5f6368}.nested-indicator{color:#9aa0a6;font-weight:400;margin-right:4px}.permission-header{text-align:center;font-weight:500;color:#5f6368;font-size:14px}.permission-checkbox{display:flex;justify-content:center;align-items:center}.permission-checkbox input{width:18px;height:18px;cursor:pointer}.permission-na{color:#dadce0;font-size:16px;-webkit-user-select:none;user-select:none}.section-divider{height:1px;background-color:#dadce0;margin:16px 0;grid-column:1 / -1}.cancel-btn,.save-btn{padding:10px 16px;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .2s}.cancel-btn{background-color:transparent;color:#5f6368;border:1px solid #dadce0}.cancel-btn:hover{background-color:#f8f9fa}.save-btn{background-color:#1a73e8;color:#fff;border:none}.save-btn:hover{background-color:#0d62cb}body.high-contrast .role-management-container h1,body.high-contrast .permission-tag{color:#fff}body.high-contrast .roles-table,body.high-contrast .roles-table th,body.high-contrast .roles-table td{border-color:#fff}body.high-contrast .roles-table th{background-color:#000;color:#fff}body.high-contrast .roles-table tbody tr:hover{background-color:#333}body.high-contrast .permission-tag{background-color:#fff;color:#000}body.high-contrast .permission-read{background-color:#fff;color:#000;border:1px solid #34a853}body.high-contrast .permission-write{background-color:#fff;color:#000;border:1px solid #ea4335}body.high-contrast .edit-role-btn{background-color:#fff;color:#000}body.high-contrast .delete-role-btn{background-color:#ff6b6b;color:#000}body.high-contrast .role-modal{background-color:#000;border:2px solid #fff}body.high-contrast .modal-header{border-color:#fff}body.high-contrast .modal-header h2,body.high-contrast .form-group label{color:#fff}body.high-contrast .form-group input,body.high-contrast .form-group textarea{background-color:#000;color:#fff;border-color:#fff}body.high-contrast .save-btn{background-color:#fff;color:#000}.tag-permissions-section{background-color:#f8f9fa;margin-top:20px}.tag-badge-inline{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px;margin-right:8px}.tag-sensitivity-hint{font-size:11px;color:#5f6368;font-style:italic;margin-left:4px}.gps-page-size-wrapper{display:flex;justify-content:flex-end;align-items:center;margin-bottom:8px}.gps-page-size{display:flex;align-items:center;gap:8px}.gps-page-size label{font-family:Inter,sans-serif;font-size:11px;color:#6b7280;font-weight:500}.gps-page-size select{font-family:Inter,sans-serif;font-size:11px;padding:6px 28px 6px 10px;border:1px solid #cbd5e0;border-radius:6px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right 8px center;color:#1a202c;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:all .2s ease}.gps-page-size select:hover{border-color:#a0aec0}.gps-page-size select:focus{outline:none;border-color:#025043;box-shadow:0 0 0 3px #0250431f}.ai-insights-sidebar{position:fixed;top:0;right:0;width:380px;height:100vh;background-color:#fff;box-shadow:-2px 0 10px #0000001a;z-index:1000;display:flex;flex-direction:column;transition:transform .3s ease-in-out;overflow:hidden}.insights-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background-color:#1a73e8;color:#fff;border-bottom:1px solid #dadce0}.insights-header h3{margin:0;font-size:18px;font-weight:500;display:flex;align-items:center;gap:8px}.close-insights-btn{background:none;border:none;color:#fff;font-size:20px;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%;width:28px;height:28px}.close-insights-btn:hover{background-color:#ffffff1a}.insights-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:#5f6368}.loading-spinner{border:1px solid rgba(0,0,0,.1)!important;border-radius:50%;border-top:1px solid #1a73e8!important;width:5px!important;height:5px!important;animation:spin 1s linear infinite;margin-bottom:16px}.insights-error{padding:20px;color:#d93025;background-color:#feeceb;text-align:center;margin:20px;border-radius:8px}.no-insights{padding:40px 20px;text-align:center;color:#5f6368}.insights-tabs{display:flex;border-bottom:1px solid #dadce0;background-color:#f8f9fa;overflow-x:auto}.tab-btn{padding:12px 16px;flex:1;border:none;background-color:transparent;cursor:pointer;font-size:14px;font-weight:500;color:#5f6368;white-space:nowrap}.tab-btn.active{color:#1a73e8;border-bottom:3px solid #1a73e8}.tab-btn:hover:not(.active){background-color:#f1f3f4}.insights-content{flex:1;overflow-y:auto;padding:16px 20px}.insights-summary{display:flex;flex-direction:column;gap:12px}.insight-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f1f3f4}.insight-item .label{color:#5f6368;font-weight:500}.insight-item .value{font-weight:500;color:#202124}.quality-score{color:#188038;font-weight:600}.column-insights{display:flex;flex-direction:column;gap:16px}.column-insight-item{padding:12px;border:1px solid #dadce0;border-radius:8px;background-color:#f8f9fa}.column-insight-item h4{margin:0 0 8px;color:#1a73e8;font-size:16px;font-weight:500}.column-metadata{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.column-type{background-color:#e8f0fe;color:#1a73e8;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500}.column-stat{background-color:#f1f3f4;color:#5f6368;padding:2px 8px;border-radius:4px;font-size:12px}.column-recommendations h5{margin:8px 0 4px;font-size:14px;color:#5f6368}.column-recommendations ul{margin:0;padding-left:20px;font-size:13px;color:#5f6368}.quality-insights{display:flex;flex-direction:column;gap:20px}.quality-scores{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quality-score-item{display:flex;flex-direction:column;padding:12px;border-radius:8px;background-color:#f8f9fa;border:1px solid #dadce0}.score-label{font-size:13px;color:#5f6368;margin-bottom:4px}.score-value{font-size:18px;font-weight:600;color:#188038}.quality-issues h4{margin:0 0 12px;font-size:16px;color:#5f6368}.quality-issues ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}.quality-issues li{padding:12px;border-radius:8px;background-color:#f8f9fa;border-left:4px solid #dadce0}.issue-severity-high{border-left-color:#d93025!important}.issue-severity-medium{border-left-color:#f9ab00!important}.issue-severity-low{border-left-color:#1a73e8!important}.issue-header{display:flex;align-items:center;gap:8px;font-weight:500;margin-bottom:4px}.issue-header svg{color:#d93025}.issue-severity-medium .issue-header svg{color:#f9ab00}.issue-severity-low .issue-header svg{color:#1a73e8}.issue-header span{font-size:14px;color:#202124}.quality-issues li p{margin:4px 0 0;font-size:13px;color:#5f6368}.insights-recommendations{display:flex;flex-direction:column;gap:16px}.recommendation-item{padding:16px;border-radius:8px;background-color:#f8f9fa;border-left:4px solid #dadce0}.priority-high{border-left-color:#d93025}.priority-medium{border-left-color:#f9ab00}.priority-low{border-left-color:#34a853}.recommendation-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.recommendation-icon{color:#f9ab00;font-size:16px}.recommendation-header h4{margin:0;font-size:16px;color:#202124;font-weight:500}.recommendation-item p{margin:0 0 12px;font-size:14px;color:#5f6368;line-height:1.4}.recommendation-actions{display:flex;justify-content:flex-end}.action-button{background-color:#1a73e8;color:#fff;border:none;border-radius:4px;padding:8px 12px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background-color .2s}.action-button:hover{background-color:#0d62cb}body.high-contrast .ai-insights-sidebar{background-color:#000;border-left:2px solid #fff;box-shadow:none}body.high-contrast .insights-header,body.high-contrast .insights-tabs{background-color:#000;border-bottom:1px solid #fff}body.high-contrast .tab-btn{color:#fff}body.high-contrast .tab-btn.active{color:#fff;border-bottom:3px solid #fff;background-color:#333}body.high-contrast .tab-btn:hover:not(.active){background-color:#333}body.high-contrast .insight-item{border-bottom:1px solid #444}body.high-contrast .insight-item .label,body.high-contrast .insight-item .value,body.high-contrast .quality-score{color:#fff}body.high-contrast .column-insight-item,body.high-contrast .quality-score-item,body.high-contrast .quality-issues li,body.high-contrast .recommendation-item{background-color:#000;border-color:#fff}body.high-contrast .column-insight-item h4,body.high-contrast .column-type{color:#fff;background-color:#333}body.high-contrast .column-stat{background-color:#333;color:#fff}body.high-contrast .score-value,body.high-contrast .recommendation-icon,body.high-contrast .recommendation-header h4,body.high-contrast .quality-issues li p,body.high-contrast .recommendation-item p{color:#fff}body.high-contrast .action-button{background-color:#fff;color:#000}.groups-container{padding:20px}.groups-actions{display:flex;justify-content:flex-end;margin-bottom:20px}.groups-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.group-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:20px;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease;height:100%;position:relative;overflow:hidden}.group-card:hover{transform:translateY(-4px);box-shadow:0 6px 12px #0000001f}.group-card-header{display:flex;justify-content:space-between;margin-bottom:16px;align-items:flex-start}.group-card-title{margin:0;font-size:1.2rem;font-weight:600;color:var(--heading-color, #333)}.group-card-actions{display:flex;gap:8px}.group-card-description{margin:0 0 16px;color:var(--text-secondary-color, #666);font-size:.9rem;flex-grow:1}.group-card-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:var(--text-secondary-color, #666)}.group-card-stats{display:flex;gap:16px}.group-card-stat{display:flex;align-items:center;gap:4px}.group-card-stat svg{color:var(--primary-color, #3498db)}.group-card-link{color:var(--primary-color, #3498db);text-decoration:none;display:flex;align-items:center;gap:4px;font-weight:500;font-size:.85rem}.group-card-link:hover{text-decoration:underline}.empty-state{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;padding:40px 20px;text-align:center;grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center}.group-form{display:grid;gap:16px}.business-processes-container{padding:20px}.business-processes-actions{display:flex;justify-content:flex-end;margin-bottom:20px}.business-processes-list{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.business-processes-table-container{overflow-x:auto}.business-processes-table{width:100%;border-collapse:collapse}.business-processes-table th{background-color:#f8f9fa;text-align:left;padding:12px 16px;font-weight:600;color:var(--heading-color, #333);border-bottom:1px solid #e0e0e0;font-size:.9rem}.business-processes-table td{padding:12px 16px;border-bottom:1px solid #e0e0e0;color:var(--text-color, #444)}.business-processes-table tr:last-child td{border-bottom:none}.business-processes-table tr:hover{background-color:#f8f9fa}.process-name-link{color:var(--heading-color, #333);font-weight:500;text-decoration:none;display:block}.process-name-link:hover{color:var(--primary-color, #3498db)}.process-description{font-size:.85rem;color:var(--text-secondary-color, #666);margin-top:4px}.status-error{background-color:#feeaea;color:#e74c3c}.owner-badge{display:flex;align-items:center;gap:6px}.owner-badge img{width:24px;height:24px;border-radius:50%;object-fit:cover}.process-form{display:grid;gap:16px}.jobs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;margin-top:0}.jobs-title{font-size:1.5rem;font-weight:600;color:#025043}.jobs-subtitle{margin:.25rem 0 0;font-size:.8rem;color:#037c6e}.jobs-actions{display:flex;justify-content:flex-end;margin-bottom:20px}.jobs-list{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.jobs-table-container{overflow-x:auto}.jobs-table{width:100%;border-collapse:collapse}.jobs-table th{background-color:#f8f9fa;text-align:left;padding:8px!important;font-family:Inter,sans-serif!important;font-weight:700!important;font-size:12px!important;text-transform:none!important;color:var(--heading-color, #333);border-bottom:1px solid #e2e8f0}.jobs-table td{padding:6px 8px!important;border-bottom:1px solid #f1f5f9;font-family:Inter,sans-serif!important;font-size:10px!important;font-weight:500!important;color:var(--text-color, #444)}.jobs-table tr:last-child td{border-bottom:none}.jobs-table tr:hover{background-color:#f8f9fa}.job-name-link{color:var(--heading-color, #333);font-weight:500;text-decoration:none;display:block}.job-name-link:hover{color:var(--primary-color, #3498db)}.job-description{font-size:.85rem;color:var(--text-secondary-color, #666);margin-top:4px}.status-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:capitalize}.status-active{background-color:#e6f7f2;color:#27ae60}.status-inactive{background-color:#f1f3f4;color:#7f8c8d}.status-pending{background-color:#fff8e1;color:#f39c12}.status-running{background-color:#e3f2fd;color:#2196f3}.status-completed{background-color:#e8f5e9;color:#43a047}.status-failed{background-color:#feeaea;color:#e74c3c}.icon-button{background:none;border:none;color:var(--text-secondary-color, #666);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:6px;border-radius:4px;transition:all .2s ease}.icon-button:hover{color:var(--primary-color, #3498db);background-color:#3498db1a}.icon-button:disabled{color:#ccc;cursor:not-allowed;background-color:transparent}.table-actions{display:flex;gap:8px;justify-content:flex-end}.empty-state{padding:60px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-state svg{color:var(--text-secondary-color, #666);margin-bottom:16px}.empty-state h3{margin:0 0 8px;font-size:1.3rem;color:var(--heading-color, #333)}.empty-state p{margin:0 0 24px;color:var(--text-secondary-color, #666);max-width:500px}.job-form{display:grid;gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:500;font-size:.9rem;color:var(--heading-color, #333)}.form-group input,.form-group textarea,.form-group select{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:.95rem;font-family:inherit;transition:border-color .15s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-color, #3498db)}.form-group textarea{resize:vertical;min-height:100px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}.alert{padding:12px 16px;border-radius:4px;margin-bottom:20px;font-size:.9rem}.alert-error{background-color:#feeaea;border-left:4px solid #e74c3c;color:#c0392b}.alert-warning{background-color:#fff8e1;border-left:4px solid #f39c12;color:#e67e22}.alert-success{background-color:#eafaf1;border-left:4px solid #2ecc71;color:#27ae60}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*{box-sizing:border-box}.transformations-page{padding:20px;height:100%;display:flex;flex-direction:column}.transformations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.transformations-title{margin:0;color:var(--primary-color)}.transformations-actions{display:flex;gap:10px}.transformations-container{flex:1;background-color:#f9f9f9;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;border:1px solid #e0e0e0}.transformations-main{flex:1;display:flex;height:calc(100vh - 120px);min-height:600px}.transformation-sidebar{width:220px;background-color:#f0f0f0;border-right:1px solid #ddd;padding:15px;overflow-y:auto;height:100%}.palette-header{font-size:16px;font-weight:600;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #ddd;position:sticky;top:0;background-color:#f0f0f0;z-index:10}.component-group{margin-bottom:20px}.component-group-title{font-size:14px;font-weight:600;margin-bottom:10px;color:#555;position:sticky;top:43px;background-color:#f0f0f0;padding:5px 0;z-index:10}.component-list{display:flex;flex-direction:column;gap:10px}.component-item{background-color:#fff;border:1px solid #ddd;border-radius:4px;padding:10px;display:flex;flex-direction:column;align-items:center;cursor:move;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.component-item.dragging{opacity:.5}.component-item:hover{background-color:#f5f5f5;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.component-item:focus{outline:2px solid var(--primary-color);outline-offset:2px}.component-icon{font-size:20px;margin-bottom:5px;color:var(--primary-color)}.component-name{font-size:12px;text-align:center}.canvas-container{flex:1;background-color:#fff;position:relative;height:100%;display:flex;flex-direction:column}.flow-wrapper{width:100%;height:100%;flex:1;min-height:500px}.react-flow__node{padding:0;border-radius:5px;box-shadow:0 2px 5px #0000001a;transition:box-shadow .2s,transform .2s}.react-flow__node:hover{box-shadow:0 5px 10px #00000026}.react-flow__node.selected{box-shadow:0 0 0 2px var(--primary-color)}.node-header{padding:8px 12px;border-radius:5px 5px 0 0;display:flex;align-items:center;justify-content:space-between}.node-header .node-title{font-weight:600;font-size:14px;margin:0;display:flex;align-items:center}.node-header .node-icon{margin-right:8px}.node-content{padding:10px;font-size:12px}.node-config-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:flex;justify-content:center;align-items:center}.node-config-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#00000080}.node-config-content{position:relative;background-color:#fff;border-radius:8px;box-shadow:0 5px 15px #0000004d;width:600px;max-width:90%;max-height:90vh;display:flex;flex-direction:column;z-index:1010}.node-config-header{padding:15px 20px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.node-config-header h3{margin:0;font-size:18px;color:var(--primary-color)}.node-config-close{background:none;border:none;font-size:20px;cursor:pointer;color:#777;padding:5px;border-radius:4px;transition:background-color .2s ease,color .2s ease}.node-config-close:hover{background-color:#0000000d;color:#333}.node-config-close:focus{outline:2px solid var(--primary-color);outline-offset:2px}.node-config-body{padding:20px;overflow-y:auto;max-height:calc(90vh - 130px)}.node-config-footer{padding:15px 20px;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:10px}.flow-buttons{display:flex;gap:10px;z-index:10}.config-form-row{margin-bottom:15px}.config-label{display:block;margin-bottom:5px;font-weight:500}.config-input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.config-select{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background-color:#fff}.condition-preview{margin-top:15px;padding:10px;background-color:#f5f5f5;border-radius:4px;font-family:monospace;font-size:14px}.node-source .node-header{background-color:#e3f2fd;color:#0d47a1}.node-target .node-header{background-color:#e8f5e9;color:#1b5e20}.node-filter .node-header{background-color:#fff3e0;color:#e65100}.node-join .node-header{background-color:#e0f7fa;color:#006064}.node-aggregate .node-header{background-color:#f3e5f5;color:#4a148c}.node-transform .node-header{background-color:#fce4ec;color:#880e4f}.transformation-info-panel{padding:15px;background-color:#f8f9fa;border-top:1px solid #ddd}.canvas-controls{position:absolute;bottom:20px;right:20px;display:flex;gap:10px;z-index:20}.control-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:#fff;border:1px solid #ddd;border-radius:50%;box-shadow:0 2px 5px #0000001a;cursor:pointer;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.control-button:hover{background-color:#f0f0f0;transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.control-button:focus{outline:2px solid var(--primary-color);outline-offset:2px}.minimap{position:absolute;bottom:20px;left:20px;border:1px solid #ddd;border-radius:4px;overflow:hidden;background-color:#fff;box-shadow:0 2px 5px #0000001a;z-index:20}@media (max-width: 768px){.transformations-main{flex-direction:column;height:auto}.transformation-sidebar{width:100%;border-right:none;border-bottom:1px solid #ddd}.component-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.canvas-container{height:700px}@media (max-width: 480px){.component-list{grid-template-columns:repeat(2,1fr)}}}.mapping-groups-page,.workflows-page,.etl-scheduler-page{padding:20px}.groups-grid,.workflows-grid,.schedules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;margin-top:20px}.group-card,.workflow-card,.schedule-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;box-shadow:0 2px 4px #0000001a;transition:transform .2s,box-shadow .2s}.group-card:hover,.workflow-card:hover,.schedule-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.schedule-card.disabled{opacity:.6}.group-card h3,.workflow-card h3,.schedule-card h3,.schedule-header h3{margin:0 0 12px;color:#333;font-size:18px}.description{color:#fff;margin:0 0 12px;font-size:14px}.group-meta,.workflow-meta,.schedule-meta{display:flex;gap:16px;margin-bottom:16px;font-size:14px;color:#666}.meta-item{display:flex;align-items:center}.workflow-steps,.schedule-times{margin:12px 0;font-size:13px;color:#888}.step-item{padding:4px 0}.group-actions,.workflow-actions,.schedule-actions{display:flex;gap:8px;margin-top:16px}.schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.status-badge{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase}.status-badge.active{background-color:#f6ffed;color:#389e0d;border:1px solid #b7eb8f}.status-badge.inactive{background-color:#f5f5f5;color:#999;border:1px solid #d9d9d9}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s,opacity .2s}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-sm{padding:6px 12px;font-size:13px}.btn-primary{background-color:#0079c1;color:#fff}.btn-primary:hover:not(:disabled){background-color:#006ba8}.btn-success{background-color:#52c41a;color:#fff}.btn-success:hover:not(:disabled){background-color:#3ca80f}.btn-warning{background-color:#faad14;color:#fff}.btn-warning:hover:not(:disabled){background-color:#d48806}.btn-danger{background-color:#ff4d4f;color:#fff}.btn-danger:hover:not(:disabled){background-color:#d4373a}.empty-state{text-align:center;padding:60px 20px;color:#999;font-size:16px}.alert{padding:12px 16px;border-radius:4px;margin-bottom:20px}.alert-danger{background-color:#fff1f0;border:1px solid #ffa39e;color:#cf1322}.alert-success{background-color:#f6ffed;border:1px solid #b7eb8f;color:#389e0d}.form-container{max-width:900px;margin:20px auto;background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.data-form .form-group{margin-bottom:20px}.data-form label{display:block;margin-bottom:8px;font-weight:600;color:#333}.form-input,.form-select,.form-textarea{width:100%;padding:10px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;transition:border-color .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#0079c1}.form-slider{width:100%}.slider-labels{display:flex;justify-content:space-between;font-size:12px;color:#666;margin-top:4px}.radio-group{display:flex;gap:20px}.radio-label,.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer}.form-help{display:block;margin-top:4px;font-size:13px;color:#666}.cron-presets{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.form-actions{display:flex;gap:12px;margin-top:30px;padding-top:20px;border-top:1px solid #e0e0e0}.btn-secondary{background-color:#f0f0f0;color:#333}.btn-secondary:hover:not(:disabled){background-color:#e0e0e0}.members-section{margin-top:24px;padding:20px;background-color:#f5f5f5;border-radius:4px}.members-section h3{margin-top:0;margin-bottom:16px}.member-controls{display:flex;gap:12px;margin-bottom:16px}.member-controls .form-select{flex:1}.members-list{display:grid;gap:8px}.member-item{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#fff;border-radius:4px}.no-members{color:#666;font-style:italic;margin:0}.workflow-steps-section{margin-top:20px}.workflow-steps-section h3{margin-bottom:16px}.steps-list{margin-bottom:20px}.step-card{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;margin-bottom:12px}.step-info strong{display:block;margin-bottom:6px;color:#333}.step-meta{font-size:13px;color:#666}.add-step-form{background:#f5f5f5;padding:20px;border-radius:4px;margin-top:16px}.add-step-form h4{display:flex;align-items:center;gap:8px;margin-top:0;margin-bottom:16px}.dependency-chips{display:flex;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;padding:6px 12px;background:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s}.chip.selected{background-color:#0079c1;color:#fff;border-color:#0079c1}.chip input[type=checkbox]{margin-right:6px}.table-container{margin-top:20px;overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table thead{background-color:#fafafa;border-bottom:2px solid #e0e0e0}.data-table th{padding:12px 16px;text-align:left;font-weight:600;color:#333;white-space:nowrap}.data-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background-color .2s}.data-table tbody tr:hover{background-color:#fafafa}.data-table td{padding:14px 16px;color:#666}.data-table td.font-weight-bold{color:#333;font-weight:600}.data-table td.text-center{text-align:center}.data-table td.description-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge.status-active{background-color:#f6ffed;color:#389e0d;border:1px solid #b7eb8f}.status-badge.status-inactive{background-color:#f5f5f5;color:#999;border:1px solid #d9d9d9}.status-badge.status-draft{background-color:#e6f7ff;color:#0079c1;border:1px solid #91d5ff}.action-icons{display:flex;gap:8px;align-items:center}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:all .2s;text-decoration:none}.icon-btn:disabled{cursor:not-allowed;opacity:.5}.icon-btn-success{background-color:#f6ffed;color:#52c41a}.icon-btn-success:hover:not(:disabled){background-color:#52c41a;color:#fff}.icon-btn-primary{background-color:#e6f7ff;color:#0079c1}.icon-btn-primary:hover:not(:disabled){background-color:#0079c1;color:#fff}.icon-btn-danger{background-color:#fff1f0;color:#ff4d4f}.icon-btn-danger:hover:not(:disabled){background-color:#ff4d4f;color:#fff}:root{--color-primary: hsl(var(--primary));--color-primary-dark: hsl(var(--primary));--color-primary-light: hsl(var(--accent));--color-primary-50: hsl(var(--muted));--color-primary-100: hsl(var(--accent));--color-secondary: hsl(var(--secondary));--color-secondary-light: hsl(var(--secondary-foreground));--color-white: hsl(var(--card));--color-gray-50: hsl(var(--muted));--color-gray-100: hsl(var(--accent));--color-gray-200: hsl(var(--border));--color-gray-300: hsl(var(--border));--color-gray-400: hsl(var(--muted-foreground));--color-gray-500: hsl(var(--muted-foreground));--color-gray-600: hsl(var(--foreground));--color-gray-700: hsl(var(--foreground));--color-gray-800: hsl(var(--card-foreground));--color-gray-900: hsl(var(--foreground));--color-teal: hsl(var(--primary));--color-teal-light: hsl(var(--accent));--color-teal-dark: hsl(var(--primary));--color-amber: hsl(var(--accent-foreground));--color-amber-light: hsl(var(--accent));--color-amber-dark: hsl(var(--accent-foreground));--color-purple: hsl(var(--primary));--color-purple-light: hsl(var(--accent));--color-purple-dark: hsl(var(--accent-foreground));--color-success: hsl(var(--primary));--color-success-light: hsl(var(--accent));--color-success-dark: hsl(var(--primary));--color-warning: hsl(var(--accent-foreground));--color-warning-light: hsl(var(--accent));--color-warning-dark: hsl(var(--accent-foreground));--color-error: hsl(var(--destructive));--color-error-light: hsl(var(--accent));--color-error-dark: hsl(var(--destructive));--color-info: hsl(var(--primary));--color-info-light: hsl(var(--accent));--color-info-dark: hsl(var(--primary));--text-primary: hsl(var(--foreground));--text-secondary: hsl(var(--muted-foreground));--text-tertiary: hsl(var(--muted-foreground));--text-on-primary: hsl(var(--primary-foreground));--bg-page: hsl(var(--background));--bg-surface: hsl(var(--card));--bg-header: hsl(var(--primary));--bg-sidebar: hsl(var(--sidebar));--bg-card: hsl(var(--card));--bg-secondary: hsl(var(--muted));--bg-hover: #fafafa;--border-light: hsl(var(--border));--border-medium: hsl(var(--border));--border-dark: hsl(var(--border));--border-color: hsl(var(--border));--font-primary: var(--font-sans);--font-mono: var(--font-mono);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.75rem;--text-4xl: 2rem;--font-light: 300;--font-regular: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: var(--radius-sm);--radius-md: var(--radius-md);--radius-lg: var(--radius-lg);--radius-xl: var(--radius-xl);--radius-full: 9999px;--shadow-sm: var(--shadow-sm);--shadow-md: var(--shadow-md);--shadow-lg: var(--shadow-lg);--shadow-xl: var(--shadow-xl);--container-max-width: 1200px;--header-height: 64px;--sidebar-width: 260px;--overlay-backdrop: rgba(0, 0, 0, .4);--overlay-dark: rgba(0, 0, 0, .6);--white-alpha-10: rgba(255, 255, 255, .1);--white-alpha-15: rgba(255, 255, 255, .15);--white-alpha-20: rgba(255, 255, 255, .2);--white-alpha-30: rgba(255, 255, 255, .3);--white-alpha-50: rgba(255, 255, 255, .5);--white-alpha-90: rgba(255, 255, 255, .9);--black-alpha-05: rgba(0, 0, 0, .05);--black-alpha-10: rgba(0, 0, 0, .1);--slate-alpha-10: rgba(109, 129, 150, .1);--slate-alpha-20: rgba(109, 129, 150, .2);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-modal-backdrop: 300;--z-modal: 400;--z-toast: 500}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-primary);background-color:var(--bg-page);color:var(--text-primary);line-height:var(--leading-normal);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--text-primary)}h1{font-size:var(--text-4xl);margin-bottom:var(--space-6)}h2{font-size:var(--text-3xl);margin-bottom:var(--space-5)}h3{font-size:var(--text-2xl);margin-bottom:var(--space-4)}h4{font-size:var(--text-xl);margin-bottom:var(--space-3)}p{margin-bottom:var(--space-4);color:var(--text-secondary)}small{font-size:var(--text-sm);color:var(--text-tertiary)}a{text-decoration:none;color:var(--color-primary);transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}.page-container{background-color:var(--bg-page);min-height:100vh;padding:0 var(--space-6) var(--space-6) var(--space-6)}.page-header{padding:0;margin-top:0;margin-bottom:12px}.page-header h1{color:#025043;font-size:1.1rem;margin-bottom:0;font-weight:var(--font-semibold)}.page-header h2,.page-header h3{color:var(--text-primary);margin-bottom:0}.page-content{max-width:var(--container-max-width);margin:0 auto}.card{background-color:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6);margin-bottom:var(--space-6);border:1px solid var(--border-light)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-light)}.card-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.card-body{color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:var(--font-medium);text-align:center;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);font-family:var(--font-primary);font-size:var(--text-base);border:none;white-space:nowrap}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--text-on-primary)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-gray-600);color:var(--text-on-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-700)}.btn-success{background-color:var(--color-success);color:var(--text-on-primary)}.btn-success:hover:not(:disabled){background-color:var(--color-success-dark)}.btn-danger{background-color:var(--color-error);color:var(--text-on-primary)}.btn-danger:hover:not(:disabled){background-color:var(--color-error-dark)}.btn-outline{background-color:transparent;border:1px solid var(--color-primary);color:var(--color-primary)}.btn-outline:hover:not(:disabled){background-color:var(--color-primary);color:var(--text-on-primary)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--text-lg)}.alert{padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);border-left:4px solid}.alert-info{background-color:var(--color-info-light);border-color:var(--color-info);color:var(--color-info-dark)}.alert-success{background-color:var(--color-success-light);border-color:var(--color-success);color:var(--color-success-dark)}.alert-warning{background-color:var(--color-warning-light);border-color:var(--color-warning);color:var(--color-warning-dark)}.alert-error{background-color:var(--color-error-light);border-color:var(--color-error);color:var(--color-error-dark)}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;font-weight:var(--font-medium);margin-bottom:var(--space-2);color:var(--text-primary);font-size:var(--text-sm)}.form-control{width:100%;padding:var(--space-3);border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--text-primary);background-color:var(--bg-card);transition:all var(--transition-fast);font-family:var(--font-primary)}.form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-100)}.form-control::placeholder{color:var(--text-tertiary)}.form-control:disabled{background-color:var(--color-gray-100);cursor:not-allowed;opacity:.6}select.form-control{cursor:pointer}textarea.form-control{resize:vertical;min-height:100px}table{width:100%;border-collapse:collapse;background-color:var(--bg-card)}th{text-align:left;padding:var(--space-3) var(--space-4);background-color:var(--color-gray-50);color:var(--text-secondary);font-weight:var(--font-semibold);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border-light)}td{padding:var(--space-4);border-bottom:1px solid var(--border-light);color:var(--text-primary)}tr:last-child td{border-bottom:none}tr:hover{background-color:var(--color-gray-50)}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--text-tertiary)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.spinner,div.spinner{width:5px!important;height:5px!important;min-width:5px!important;min-height:5px!important;max-width:5px!important;max-height:5px!important;border:.5px solid var(--color-gray-200)!important;border-top-color:var(--color-primary)!important;border-radius:var(--radius-full);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 960px){.page-container{padding:0 var(--space-4) var(--space-4) var(--space-4)}.page-header{margin:0 0 12px;padding:0}.card{padding:var(--space-4)}}@media (max-width: 640px){h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}.btn{font-size:var(--text-sm)}}.table-container{background:var(--bg-card);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:var(--space-6)}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:var(--bg-secondary)}.data-table th{padding:var(--space-2);text-align:left;font-weight:600;color:var(--text-primary);font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border-color)}.data-table td{padding:var(--space-2);border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.75rem;font-weight:400}.data-table tbody tr{transition:background-color var(--transition-fast)}.data-table tbody tr:hover{background-color:var(--bg-hover)}.data-table tbody tr.disabled-row{opacity:.6}.table-actions{display:flex;gap:var(--space-2);align-items:center}.entity-type-badge{display:inline-block;padding:.25rem .75rem;background:var(--bg-secondary);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:capitalize}.pagination-container{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.pagination-info{color:var(--text-secondary);font-family:Inter,sans-serif;font-size:10px}.pagination-controls{display:flex;gap:var(--space-2);align-items:center}.pagination-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:Inter,sans-serif;font-size:10px;font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.pagination-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--color-primary);color:var(--color-primary)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-numbers{display:flex;gap:var(--space-1)}.pagination-number{min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:Inter,sans-serif;font-size:10px;font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.pagination-number:hover{background:var(--bg-hover);border-color:var(--color-primary);color:var(--color-primary)}.pagination-number.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.pagination-ellipsis{min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-family:Inter,sans-serif;font-size:10px}.pagination-page-size{display:flex;align-items:center;gap:8px;margin-right:16px}.pagination-page-size label{font-family:Inter,sans-serif;font-size:10px;color:#6b7280;font-weight:500}.pagination-page-size select{font-family:Inter,sans-serif;font-size:10px;padding:6px 28px 6px 10px;border:1px solid #cbd5e0;border-radius:6px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right 8px center;color:#1a202c;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:all .2s ease}.pagination-page-size select:hover{border-color:#a0aec0}.pagination-page-size select:focus{outline:none;border-color:#025043;box-shadow:0 0 0 3px #0250431f}@media (max-width: 768px){.table-container{overflow-x:auto}.data-table{min-width:800px}.pagination-container{flex-direction:column;gap:var(--space-3)}.pagination-info{order:2}}:root{--background: 0 0% 100%;--foreground: 0 0% 20%;--card: 0 0% 100%;--card-foreground: 0 0% 20%;--popover: 0 0% 100%;--popover-foreground: 0 0% 20%;--primary: 200 87.3418% 30.9804%;--primary-foreground: 0 0% 100%;--secondary: 220 14.2857% 95.8824%;--secondary-foreground: 215 13.7931% 34.1176%;--muted: 210 20% 98.0392%;--muted-foreground: 220 8.9362% 46.0784%;--accent: 192.5 11.7647% 40%;--accent-foreground: 228 20% 95.098%;--destructive: 0 28.0423% 62.9412%;--destructive-foreground: 0 0% 100%;--border: 220 13.0435% 90.9804%;--input: 220 13.0435% 90.9804%;--ring: 217.2193 91.2195% 59.8039%;--chart-1: 217.2193 91.2195% 59.8039%;--chart-2: 221.2121 83.1933% 53.3333%;--chart-3: 224.2781 76.3265% 48.0392%;--chart-4: 225.931 70.7317% 40.1961%;--chart-5: 224.4444 64.2857% 32.9412%;--sidebar: 210 20% 98.0392%;--sidebar-foreground: 0 0% 20%;--sidebar-primary: 217.2193 91.2195% 59.8039%;--sidebar-primary-foreground: 0 0% 100%;--sidebar-accent: 204 93.75% 93.7255%;--sidebar-accent-foreground: 224.4444 64.2857% 32.9412%;--sidebar-border: 220 13.0435% 90.9804%;--sidebar-ring: 217.2193 91.2195% 59.8039%;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;--font-serif: "Source Serif 4", Georgia, serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--radius: .375rem;--radius-sm: calc(var(--radius) - 4px);--radius-md: calc(var(--radius) - 2px);--radius-lg: var(--radius);--radius-xl: calc(var(--radius) + 4px);--shadow-x: 0;--shadow-y: 1px;--shadow-blur: 3px;--shadow-spread: 0px;--shadow-opacity: .1;--shadow-color: oklch(0 0 0);--shadow-2xs: 0 1px 3px 0px hsl(0 0% 0% / .05);--shadow-xs: 0 1px 3px 0px hsl(0 0% 0% / .05);--shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 1px 2px -1px hsl(0 0% 0% / .1);--shadow: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 1px 2px -1px hsl(0 0% 0% / .1);--shadow-md: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 2px 4px -1px hsl(0 0% 0% / .1);--shadow-lg: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 4px 6px -1px hsl(0 0% 0% / .1);--shadow-xl: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 8px 10px -1px hsl(0 0% 0% / .1);--shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / .25);--tracking-normal: 0em;--spacing: .25rem}.dark{--background: 0 0% 9.0196%;--foreground: 0 0% 89.8039%;--card: 0 0% 14.902%;--card-foreground: 0 0% 89.8039%;--popover: 0 0% 14.902%;--popover-foreground: 0 0% 89.8039%;--primary: 217.2193 91.2195% 59.8039%;--primary-foreground: 0 0% 100%;--secondary: 0 0% 14.902%;--secondary-foreground: 0 0% 89.8039%;--muted: 0 0% 12.1569%;--muted-foreground: 0 0% 63.9216%;--accent: 224.4444 64.2857% 32.9412%;--accent-foreground: 213.3333 96.9231% 87.2549%;--destructive: 0 84.2365% 60.1961%;--destructive-foreground: 0 0% 100%;--border: 0 0% 25.098%;--input: 0 0% 25.098%;--ring: 217.2193 91.2195% 59.8039%;--chart-1: 213.1169 93.9024% 67.8431%;--chart-2: 217.2193 91.2195% 59.8039%;--chart-3: 221.2121 83.1933% 53.3333%;--chart-4: 224.2781 76.3265% 48.0392%;--chart-5: 225.931 70.7317% 40.1961%;--sidebar: 0 0% 9.0196%;--sidebar-foreground: 0 0% 89.8039%;--sidebar-primary: 217.2193 91.2195% 59.8039%;--sidebar-primary-foreground: 0 0% 100%;--sidebar-accent: 224.4444 64.2857% 32.9412%;--sidebar-accent-foreground: 213.3333 96.9231% 87.2549%;--sidebar-border: 0 0% 25.098%;--sidebar-ring: 217.2193 91.2195% 59.8039%;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", sans-serif;--font-serif: "Source Serif 4", Georgia, serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--radius: .375rem;--shadow-x: 0;--shadow-y: 1px;--shadow-blur: 3px;--shadow-spread: 0px;--shadow-opacity: .1;--shadow-color: oklch(0 0 0);--shadow-2xs: 0 1px 3px 0px hsl(0 0% 0% / .05);--shadow-xs: 0 1px 3px 0px hsl(0 0% 0% / .05);--shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 1px 2px -1px hsl(0 0% 0% / .1);--shadow: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 1px 2px -1px hsl(0 0% 0% / .1);--shadow-md: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 2px 4px -1px hsl(0 0% 0% / .1);--shadow-lg: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 4px 6px -1px hsl(0 0% 0% / .1);--shadow-xl: 0 1px 3px 0px hsl(0 0% 0% / .1), 0 8px 10px -1px hsl(0 0% 0% / .1);--shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / .25)}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-sans);transition:background-color .3s ease,color .3s ease}.dark,.dark *{transition:background-color .3s ease,color .3s ease,border-color .3s ease}body{font-size:.875rem;line-height:1.4}h1{font-size:1.3rem;margin-bottom:.75rem;font-weight:600}h2{font-size:1.15rem;margin-bottom:.65rem;font-weight:600}h3{font-size:1rem;margin-bottom:.5rem;font-weight:500}h4,h5,h6{font-size:.875rem;margin-bottom:.4rem;font-weight:500}input,select,textarea,button{font-size:.8rem}.btn{font-size:.8rem;padding:.375rem .75rem}table{font-size:.8rem}th{font-size:.75rem;font-weight:600}.card-title{font-size:1rem}.card-text{font-size:.8rem}.label,.meta-text,.small-text,small{font-size:.75rem}.nav-link,.sidebar-item{font-size:.85rem}.badge{font-size:.7rem;padding:.25em .5em}
