:root{--frontier-blue: #207BA1;--frontier-dark-grey: #37424A;--frontier-red: #E83F35;--frontier-background: #F2F2F2;--primary-color: #207BA1;--primary-dark: #1a6384;--bg-color: #F2F2F2;--sidebar-bg: #37424A;--sidebar-text: #e2e8f0;--card-bg: #ffffff;--text-color: #37424A;--text-muted: #5a6872;--border-color: #d9d9d9;--table-header-bg: #e8e8e8;--log-row-bg: #ffffff;--log-row-error-bg: #fef2f2;--log-row-warning-bg: #fffbeb;--severity-critical-bg: #fef2f2;--severity-high-bg: #fff7ed;--severity-medium-bg: #fffbeb;--severity-low-bg: #f7fee7;--success-color: #22c55e;--warning-color: #f59e0b;--error-color: #E83F35}[data-theme=dark]{--primary-color: #2a9bc9;--primary-dark: #207BA1;--bg-color: #1a2026;--sidebar-bg: #0f1419;--sidebar-text: #e2e8f0;--card-bg: #37424A;--text-color: #F2F2F2;--text-muted: #9ca3ab;--border-color: #4a555e;--table-header-bg: #2a3138;--log-row-bg: #2a3138;--log-row-error-bg: #3d2a2a;--log-row-warning-bg: #3d3520;--severity-critical-bg: #3d2a2a;--severity-high-bg: #3d3020;--severity-medium-bg: #3d3520;--severity-low-bg: #2a3d28;--success-color: #4ade80;--warning-color: #fbbf24;--error-color: #f05a52}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--bg-color);color:var(--text-color);line-height:1.5}.app-layout{display:flex;min-height:100vh}.sidebar{width:240px;background-color:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;position:fixed;height:100vh}.sidebar-header{padding:1.25rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:1rem}.sidebar-logo{width:64px;height:64px;border-radius:10px;object-fit:contain;flex-shrink:0}.sidebar-header h1{font-size:1.5rem;font-weight:600}.sidebar-nav{flex:1;padding:1rem 0}.nav-item{display:flex;align-items:center;padding:.75rem 1.25rem;color:var(--sidebar-text);text-decoration:none;transition:background-color .2s;gap:.875rem}.nav-item:hover{background-color:#ffffff1a}.nav-item.active{background-color:var(--primary-color)}.nav-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}.nav-icon svg{width:20px;height:20px;opacity:.9}.nav-label{font-size:.9375rem;font-weight:500}.sidebar-footer{padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.1)}.user-info{display:flex;flex-direction:column;gap:.5rem}.user-name{font-size:.875rem;color:var(--sidebar-text)}.login-btn,.logout-btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .2s}.login-btn{background-color:var(--primary-color);color:#fff}.login-btn:hover{background-color:var(--primary-dark)}.logout-btn{background-color:transparent;color:var(--sidebar-text);border:1px solid var(--sidebar-text)}.logout-btn:hover{background-color:#ffffff1a}.theme-toggle{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;margin-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.1)}.theme-toggle-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.theme-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background-color:#ffffff1a;border:none;border-radius:4px;color:var(--sidebar-text);cursor:pointer;font-size:.875rem;transition:background-color .2s}.theme-toggle-btn:hover{background-color:#fff3}.theme-icon{font-size:1rem}.main-content{flex:1;margin-left:240px;padding:2rem}.page{max-width:1200px}.page h1{font-size:1.75rem;margin-bottom:1.5rem}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.status-card{background-color:var(--card-bg);border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.status-card h2{font-size:1rem;font-weight:600;color:var(--text-muted);margin-bottom:1rem}.stats{display:flex;flex-wrap:wrap;gap:1.5rem}.stat{display:flex;flex-direction:column}.stat-value{font-size:2rem;font-weight:700;color:var(--text-color)}.stat-label{font-size:.875rem;color:var(--text-muted)}.stat.warning .stat-value{color:var(--warning-color)}.metrics-charts{margin-top:2rem;background-color:var(--card-bg);border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.metrics-charts h3{font-size:1rem;font-weight:600;color:var(--text-muted);margin:0 0 1.5rem}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.gauge-chart{text-align:center}.gauge-chart h4{font-size:.875rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem}.gauge-container{position:relative}.gauge-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.gauge-number{display:block;font-size:1.5rem;font-weight:700;color:var(--text-color);line-height:1}.gauge-unit{font-size:.75rem;color:var(--text-muted)}.gauge-details{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.gauge-mount{display:block;font-size:.625rem;color:var(--text-muted);opacity:.8}.gauge-no-data{padding:2rem;color:var(--text-muted);font-size:.875rem}.metrics-footer{display:flex;justify-content:center;gap:2rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color);font-size:.75rem;color:var(--text-muted)}.metrics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.metrics-header h3{margin:0}.period-selector{display:flex;gap:.25rem;background-color:var(--table-header-bg);border-radius:6px;padding:.25rem}.period-btn{padding:.375rem .75rem;border:none;background:none;border-radius:4px;font-size:.75rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .2s}.period-btn:hover{color:var(--text-color);background-color:var(--card-bg)}.period-btn.active{background-color:var(--primary-color);color:#fff}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background-color:var(--table-header-bg);border-radius:8px;padding:1rem;border-left:4px solid var(--primary-color)}.stat-card .stat-title{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem}.stat-card .stat-current{display:flex;align-items:baseline;gap:.25rem;margin-bottom:.75rem}.stat-card .stat-value{font-size:1.75rem;font-weight:700;line-height:1}.stat-card .stat-unit{font-size:.875rem;color:var(--text-muted)}.stat-card .stat-details{display:flex;flex-direction:column;gap:.25rem}.stat-card .stat-row{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}.stat-card .stat-row .stat-label{color:var(--text-muted)}.stat-card .stat-row .stat-number{font-weight:500;color:var(--text-color)}.metrics-chart-container{background-color:var(--table-header-bg);border-radius:8px;padding:1rem}.metrics-loading,.metrics-error,.metrics-no-data{padding:2rem;text-align:center;color:var(--text-muted)}.metrics-no-data-hint{font-size:.875rem;margin-top:.5rem}:root{--text-secondary: #6b7280}[data-theme=dark]{--text-secondary: #9ca3af}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--bg-color);padding:1rem}.login-card{background-color:var(--card-bg);border-radius:12px;box-shadow:0 4px 24px #0000001a;padding:2.5rem;width:100%;max-width:400px;text-align:center}.login-header{margin-bottom:2rem}.login-logo{width:100px;height:100px;border-radius:14px;object-fit:contain;margin-bottom:1rem}.login-header h1{font-size:2rem;font-weight:700;color:var(--primary-color);margin:0 0 .5rem}.login-header p{color:var(--text-muted);margin:0;font-size:1rem}.login-content{margin-bottom:2rem}.login-content p{color:var(--text-color);margin-bottom:1.5rem}.login-button{width:100%;padding:.875rem 1.5rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.login-button:hover{background-color:var(--primary-dark)}.login-footer{padding-top:1.5rem;border-top:1px solid var(--border-color)}.login-footer .theme-toggle-btn{background-color:transparent;border:1px solid var(--border-color);color:var(--text-muted);padding:.5rem 1rem;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;transition:all .2s}.login-footer .theme-toggle-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.loading,.error{padding:1rem;border-radius:4px}.loading{background-color:var(--border-color)}.error{background-color:#fef2f2;color:var(--error-color)}.page-description{color:var(--text-muted);margin-bottom:1.5rem}.health-card .health-status{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.health-indicator{width:12px;height:12px;border-radius:50%}.health-indicator.healthy{background-color:var(--success-color)}.health-indicator.warning{background-color:var(--warning-color)}.health-indicator.critical{background-color:var(--error-color)}.health-label{font-size:.95rem;font-weight:500}.stat.active .stat-value{color:var(--success-color)}.data-dictionary{background-color:var(--card-bg);border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.search-bar{margin-bottom:1.5rem}.search-input{width:100%;max-width:400px;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:6px;font-size:.95rem}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.table-section{margin-bottom:2rem}.table-section:last-child{margin-bottom:0}.table-name{font-size:1.125rem;font-weight:600;color:var(--text-color);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid var(--primary-color)}.dictionary-table{width:100%;border-collapse:collapse}.dictionary-table th,.dictionary-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border-color)}.dictionary-table th{font-weight:600;color:var(--text-muted);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.dictionary-table td{font-size:.95rem}.dictionary-table .field-name{font-family:ui-monospace,monospace;font-weight:500;color:var(--primary-color)}.dictionary-table .data-type{font-family:ui-monospace,monospace;color:var(--text-muted);font-size:.875rem}.dictionary-table .description{max-width:400px}.dictionary-table .example{font-family:ui-monospace,monospace;font-size:.875rem;color:var(--text-muted)}.no-results{text-align:center;padding:2rem;color:var(--text-muted)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.header-info{display:flex;align-items:center;gap:1rem}.header-info h1{margin-bottom:0}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge.enabled{background-color:#dcfce7;color:#166534}.status-badge.disabled{background-color:#f3f4f6;color:#6b7280}.status-badge.status-completed,.status-badge.status-success{background-color:#dcfce7;color:#166534}.status-badge.status-failed,.status-badge.status-error{background-color:#fef2f2;color:#dc2626}.status-badge.status-running{background-color:#dbeafe;color:#1d4ed8}.status-badge.status-pending{background-color:#f3f4f6;color:#6b7280}.status-badge.status-warning,.status-badge.status-cancelled{background-color:#fef3c7;color:#b45309}.run-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s}.run-button:hover:not(:disabled){background-color:var(--primary-dark)}.run-button:disabled{opacity:.5;cursor:not-allowed}.run-button .spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.run-button.small{padding:.375rem .75rem;font-size:.8125rem;border-radius:4px;gap:.25rem}.run-button.small .spinner{width:12px;height:12px}.btn-cancel{background-color:var(--warning-color, #f59e0b);color:#fff;border:none;padding:.375rem .75rem;border-radius:4px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-cancel:hover:not(:disabled){background-color:var(--warning-dark, #d97706)}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-small{padding:.25rem .5rem;font-size:.75rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.detail-card{background-color:var(--card-bg);border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.detail-card h3{font-size:.875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}.detail-list{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem}.detail-list dt{color:var(--text-muted);font-size:.875rem}.detail-list dd{font-weight:500}.detail-list dd.warning{color:var(--warning-color)}.page-section{margin-top:2rem}.page-section h2{font-size:1.25rem;margin-bottom:1rem}.list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.list-card{display:block;background-color:var(--card-bg);border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #0000001a;text-decoration:none;color:inherit;transition:box-shadow .2s,transform .2s}.list-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.card-header h3{font-size:1.1rem;font-weight:600;margin:0}.card-description{color:var(--text-muted);font-size:.9rem;margin-bottom:.75rem;line-height:1.4}.card-meta{display:flex;flex-wrap:wrap;gap:.75rem}.meta-item{font-size:.8rem;color:var(--text-muted)}.run-history{background-color:var(--card-bg);border-radius:8px;padding:1rem;box-shadow:0 1px 3px #0000001a}.history-table{width:100%;border-collapse:collapse}.history-table th,.history-table td{padding:.75rem;text-align:left;border-bottom:1px solid var(--border-color)}.history-table th{font-weight:600;color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.history-table td{font-size:.9rem}.code-block{background-color:#1e293b;color:#e2e8f0;padding:1rem;border-radius:6px;font-family:ui-monospace,monospace;font-size:.875rem;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.report-running,.report-failed,.report-clean{padding:2rem;text-align:center;background-color:var(--card-bg);border-radius:8px}.report-running .spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.report-clean .success-icon{width:48px;height:48px;background-color:#dcfce7;color:#166534;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;margin:0 auto 1rem}.report-clean h4{color:#166534}.report-issues h4{margin-bottom:1rem}.issues-list{display:flex;flex-direction:column;gap:1rem}.issue-card{background-color:var(--card-bg);border-radius:8px;padding:1rem;border-left:4px solid var(--border-color)}.issue-card.severity-critical{border-left-color:#dc2626}.issue-card.severity-high{border-left-color:#ea580c}.issue-card.severity-medium{border-left-color:#d97706}.issue-card.severity-low{border-left-color:#65a30d}.issue-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.severity-badge{padding:.125rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.severity-badge.severity-critical{background-color:var(--severity-critical-bg);color:#dc2626}.severity-badge.severity-high{background-color:var(--severity-high-bg);color:#ea580c}.severity-badge.severity-medium{background-color:var(--severity-medium-bg);color:#d97706}.severity-badge.severity-low{background-color:var(--severity-low-bg);color:#65a30d}.issue-check{font-weight:500;color:var(--text-muted);font-size:.875rem}.issue-message{margin-bottom:.5rem}.issue-meta{font-size:.8rem;color:var(--text-muted)}.issue-details{margin-top:.75rem}.issue-details summary{cursor:pointer;font-size:.8rem;color:var(--primary-color)}.issue-details pre{margin-top:.5rem;background-color:var(--table-header-bg);padding:.75rem;border-radius:4px;font-size:.75rem;overflow-x:auto}.filter-bar{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem;background-color:var(--card-bg);border-radius:8px;box-shadow:0 1px 3px #0000001a}.filter-group{display:flex;flex-direction:column;gap:.25rem}.filter-group label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.filter-group select,.filter-group input{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:4px;font-size:.9rem;min-width:150px}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:var(--primary-color)}.search-group{flex:1;min-width:200px}.search-group input{width:100%}.logs-table-wrapper{background-color:var(--card-bg);border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.logs-table{width:100%;border-collapse:collapse}.logs-table th,.logs-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color)}.logs-table th{font-weight:600;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;background-color:var(--table-header-bg)}.logs-table td{font-size:.875rem}.logs-table .col-time{width:180px;white-space:nowrap}.logs-table .col-severity{width:100px}.logs-table .col-source{width:120px}.logs-table .col-message{word-break:break-word}.logs-table tr.severity-error{background-color:var(--log-row-error-bg)}.logs-table tr.severity-warning{background-color:var(--log-row-warning-bg)}.severity-badge.severity-error{background-color:#dc2626;color:#fff}.severity-badge.severity-warning{background-color:#f59e0b;color:#fff}.severity-badge.severity-info{background-color:#3b82f6;color:#fff}.severity-badge.severity-debug{background-color:#6b7280;color:#fff}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem}.pagination button{padding:.5rem 1rem;border:1px solid var(--border-color);background-color:var(--card-bg);border-radius:4px;cursor:pointer;transition:all .2s}.pagination button:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}.settings-card{background-color:var(--card-bg);border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.settings-card h3{font-size:1rem;font-weight:600;margin-bottom:1rem}.subscription-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.25rem}.form-group label{font-size:.875rem;font-weight:500}.form-group select,.form-group input{padding:.75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.95rem}.form-group select:focus,.form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.form-group small{font-size:.8rem;color:var(--text-muted)}.submit-btn{padding:.75rem 1.5rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s}.submit-btn:hover:not(:disabled){background-color:var(--primary-dark)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.subscription-list{display:flex;flex-direction:column;gap:.75rem}.subscription-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border:1px solid var(--border-color);border-radius:6px}.subscription-item.inactive{opacity:.6}.subscription-info{display:flex;flex-direction:column;gap:.25rem}.event-type{font-weight:500;text-transform:capitalize}.target-id,.channel{font-size:.8rem;color:var(--text-muted)}.subscription-actions{display:flex;gap:.5rem}.toggle-btn{padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer}.toggle-btn.active{background-color:#dcfce7;color:#166534;border:1px solid #22c55e}.toggle-btn:not(.active){background-color:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}.delete-btn{padding:.25rem .75rem;background-color:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:4px;font-size:.75rem;cursor:pointer}.delete-btn:hover{background-color:#fee2e2}.doc-tabs{display:flex;gap:0;border-bottom:2px solid var(--border-color);margin-bottom:2rem}.doc-tab{padding:1rem 2rem;background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;font-size:1rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .2s}.doc-tab:hover{color:var(--text-color);background-color:#2563eb0d}.doc-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.doc-content{background-color:var(--card-bg);border-radius:8px;padding:2rem;box-shadow:0 1px 3px #0000001a}.api-documentation h2,.tables-documentation h2{font-size:1.5rem;font-weight:700;color:var(--text-color);margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:2px solid var(--primary-color)}.section-description{color:var(--text-muted);margin-bottom:2rem;font-size:1rem;line-height:1.6}.section-description code{background-color:#f1f5f9;padding:.125rem .375rem;border-radius:4px;font-family:ui-monospace,monospace;font-size:.875em;color:var(--primary-color)}.api-section{margin-bottom:2.5rem}.api-section:last-child{margin-bottom:0}.api-section h3{font-size:1.125rem;font-weight:600;color:var(--text-color);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.api-section h3:before{content:"";display:inline-block;width:4px;height:1.125rem;background-color:var(--primary-color);border-radius:2px}.api-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.api-table th{background-color:var(--table-header-bg);padding:.875rem 1rem;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-color)}.api-table td{padding:.875rem 1rem;border-bottom:1px solid var(--border-color);font-size:.9rem}.api-table tr:last-child td{border-bottom:none}.api-table tr:hover td{background-color:var(--table-header-bg)}.api-table .method{font-family:ui-monospace,monospace;font-weight:700;font-size:.75rem;padding:.25rem .5rem;border-radius:4px;display:inline-block;min-width:50px;text-align:center}.method-get{background-color:#dbeafe;color:#1d4ed8}.method-post{background-color:#dcfce7;color:#166534}.method-put,.method-patch{background-color:#fef3c7;color:#b45309}.method-delete{background-color:#fef2f2;color:#dc2626}.api-table td:nth-child(2){font-family:ui-monospace,monospace;font-size:.85rem;color:#475569}.api-table td:last-child{color:var(--text-muted);font-size:.85rem}.api-documentation .code-block{background-color:#1e293b;color:#e2e8f0;padding:1.25rem;border-radius:8px;font-family:ui-monospace,monospace;font-size:.875rem;overflow-x:auto;white-space:pre;line-height:1.6;margin:0}.tables-documentation .data-dictionary{margin-top:1rem}.schema-list{display:flex;flex-direction:column;gap:1rem}.schema-section{background-color:var(--card-bg);border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.schema-header{width:100%;display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:none;border:none;cursor:pointer;text-align:left;transition:background-color .2s}.schema-header:hover{background-color:#2563eb0d}.schema-header.expanded{border-bottom:1px solid var(--border-color)}.schema-toggle{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background-color:var(--primary-color);color:#fff;border-radius:4px;font-weight:700;font-size:1.125rem}.schema-name{font-size:1.125rem;font-weight:700;color:var(--text-color);letter-spacing:.05em}.schema-table-count{margin-left:auto;font-size:.875rem;color:var(--text-muted)}.schema-content{padding:1.5rem}.schema-metadata{margin-bottom:2rem}.schema-description{color:var(--text-color);font-size:1rem;line-height:1.6;margin:0 0 1rem}.metadata-item{display:flex;gap:.5rem;margin-bottom:.5rem;font-size:.9375rem}.metadata-label{font-weight:600;color:var(--text-muted)}.metadata-value{color:var(--text-color)}.schema-tables h3{font-size:1rem;font-weight:600;color:var(--text-color);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.asx-contract-codes{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.asx-contract-codes h3{font-size:1rem;font-weight:600;color:var(--text-color);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.asx-contract-codes h4{font-size:.9375rem;font-weight:600;color:var(--text-color);margin-bottom:.75rem}.asx-contract-codes .section-description{margin-bottom:1.5rem}.code-reference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;margin-bottom:2rem}.code-reference-section{background-color:var(--table-header-bg);border-radius:8px;padding:1rem}.code-table{width:100%;border-collapse:collapse;font-size:.875rem}.code-table th{text-align:left;padding:.5rem;font-weight:600;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color)}.code-table td{padding:.375rem .5rem;border-bottom:1px solid var(--border-color)}.code-table tr:last-child td{border-bottom:none}.code-table .code-cell{font-family:ui-monospace,monospace;font-weight:600;color:var(--primary-color);width:50px}.product-codes-section{margin-bottom:1.5rem}.product-list{display:flex;flex-direction:column;gap:.5rem}.product-card{border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.product-header{width:100%;display:flex;align-items:center;gap:1rem;padding:.875rem 1rem;background:none;border:none;cursor:pointer;text-align:left;transition:background-color .2s}.product-header:hover{background-color:#2563eb0d}.product-header.expanded{background-color:var(--table-header-bg);border-bottom:1px solid var(--border-color)}.product-prefix{font-family:ui-monospace,monospace;font-weight:700;font-size:.875rem;padding:.25rem .5rem;background-color:var(--primary-color);color:#fff;border-radius:4px;min-width:50px;text-align:center}.product-name{font-weight:500;color:var(--text-color);flex:1}.product-toggle{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-weight:700}.product-details{padding:1rem;background-color:#fafbfc}[data-theme=dark] .product-details{background-color:#1e2530}.product-description{color:var(--text-muted);font-size:.9375rem;line-height:1.5;margin:0 0 1rem}.product-format{display:flex;flex-direction:column;gap:.5rem}.format-row{display:flex;gap:.75rem;font-size:.875rem}.format-label{font-weight:600;color:var(--text-muted);min-width:80px}.format-value{color:var(--text-color)}.format-value code,code.format-value{font-family:ui-monospace,monospace;background-color:#e2e8f0;padding:.125rem .375rem;border-radius:4px;font-size:.8125rem}.strike-prices-section{background-color:var(--table-header-bg);border-radius:8px;padding:1rem}.strike-prices-section h4{margin-bottom:.5rem}.strike-prices-section p{color:var(--text-muted);font-size:.9375rem;line-height:1.5;margin:0}.dwgm-field-docs{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.dwgm-field-docs h3{font-size:1rem;font-weight:600;color:var(--text-color);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.dwgm-field-docs h4{font-size:.9375rem;font-weight:600;color:var(--text-color);margin-bottom:.75rem;margin-top:1.5rem}.dwgm-field-docs h5{font-size:.875rem;font-weight:600;color:var(--text-color);margin-bottom:.5rem;margin-top:1rem}.dwgm-section{margin-bottom:1.5rem}.dwgm-section p{margin-bottom:.75rem}.dwgm-expandable-section{border:1px solid var(--border-color);border-radius:8px;margin-bottom:.75rem;overflow:hidden}.dwgm-expandable-section .section-header{width:100%;display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:none;border:none;cursor:pointer;text-align:left;transition:background-color .2s}.dwgm-expandable-section .section-header:hover{background-color:#2563eb0d}.dwgm-expandable-section .section-header.expanded{background-color:var(--table-header-bg);border-bottom:1px solid var(--border-color)}.dwgm-expandable-section .section-toggle{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background-color:var(--primary-color);color:#fff;border-radius:4px;font-weight:700;font-size:1rem;flex-shrink:0}.dwgm-expandable-section .section-title{font-weight:600;color:var(--text-color);font-size:.9375rem}.dwgm-expandable-section .section-content{padding:1rem;background-color:#fafbfc}[data-theme=dark] .dwgm-expandable-section .section-content{background-color:#1e2530}.dwgm-expandable-section .section-content p{color:var(--text-muted);font-size:.9375rem;line-height:1.6;margin:0 0 1rem}.dwgm-expandable-section .section-content ul{margin:0 0 1rem;padding-left:1.5rem}.dwgm-expandable-section .section-content li{color:var(--text-muted);font-size:.9375rem;line-height:1.6;margin-bottom:.5rem}.highlight-box{background-color:#dbeafe;border:1px solid #93c5fd;border-radius:6px;padding:1rem;margin-bottom:1rem}.highlight-box strong{color:#1d4ed8}.highlight-box p{margin:.5rem 0 0;color:#1e40af}[data-theme=dark] .highlight-box{background-color:#1e3a5f;border-color:#2563eb}[data-theme=dark] .highlight-box strong{color:#60a5fa}[data-theme=dark] .highlight-box p{color:#93c5fd}.note-box{background-color:#f0fdf4;border:1px solid #86efac;border-radius:6px;padding:1rem;margin-bottom:1rem;color:#166534}.note-box strong{color:#166534}[data-theme=dark] .note-box{background-color:#14532d;border-color:#22c55e;color:#86efac}[data-theme=dark] .note-box strong{color:#4ade80}.warning-box{background-color:#fef3c7;border:1px solid #fcd34d;border-radius:6px;padding:1rem;margin-bottom:1rem;color:#92400e;font-weight:500}[data-theme=dark] .warning-box{background-color:#451a03;border-color:#f59e0b;color:#fcd34d}.formula-box{background-color:#f1f5f9;border:1px solid #cbd5e1;border-radius:6px;padding:1rem;margin-bottom:1rem;text-align:center}.formula-box code{font-family:ui-monospace,monospace;font-size:.9375rem;color:var(--text-color)}[data-theme=dark] .formula-box{background-color:#2a3138;border-color:#4a555e}.example-box{background-color:var(--table-header-bg);border-left:4px solid var(--primary-color);padding:1rem;margin-bottom:1rem}.example-box strong{color:var(--primary-color)}.explanation-text{color:var(--text-muted);font-size:.9375rem;line-height:1.6}.explanation-text p{margin-bottom:.75rem}.reasons-list,.factors-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.reason-item,.factor-item{background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;padding:1rem}.reason-item h5,.factor-item h5{color:var(--primary-color);margin:0 0 .5rem;font-size:.9375rem}.reason-item p,.factor-item p{margin:0;color:var(--text-muted);font-size:.875rem;line-height:1.5}.schedule-table,.imbalance-table,.glossary-table{width:100%;border-collapse:collapse;margin-bottom:1rem;background-color:var(--card-bg);border-radius:6px;overflow:hidden;border:1px solid var(--border-color)}.schedule-table th,.imbalance-table th,.glossary-table th{text-align:left;padding:.75rem 1rem;font-weight:600;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;background-color:var(--table-header-bg);border-bottom:1px solid var(--border-color)}.schedule-table td,.imbalance-table td,.glossary-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border-color);font-size:.875rem;vertical-align:top}.schedule-table tr:last-child td,.imbalance-table tr:last-child td,.glossary-table tr:last-child td{border-bottom:none}.schedule-table .time-cell{font-weight:600;color:var(--primary-color);white-space:nowrap}.schedule-table code,.imbalance-table code,.glossary-table code{font-family:ui-monospace,monospace;background-color:#f1f5f9;padding:.125rem .375rem;border-radius:4px;font-size:.8125rem;color:#475569}[data-theme=dark] .schedule-table code,[data-theme=dark] .imbalance-table code,[data-theme=dark] .glossary-table code{background-color:#1e293b;color:#94a3b8}.significance-note,.pattern-note,.use-case-note{margin-top:.5rem;font-size:.8125rem;color:var(--text-muted)}.significance-note strong,.pattern-note strong{color:var(--text-color)}.use-case-note{font-style:italic;color:#6b7280}.external-link{color:var(--primary-color);text-decoration:none;font-weight:500}.external-link:hover{text-decoration:underline}.dwgm-sources{margin-top:1.5rem}.dwgm-sources h4{margin-bottom:1rem}.sources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.source-card{background-color:var(--table-header-bg);border:1px solid var(--border-color);border-radius:6px;padding:1rem}.source-card .external-link{font-weight:600;display:block;margin-bottom:.5rem}.source-card .source-description{color:var(--text-muted);font-size:.8125rem;margin:0;line-height:1.4}.note{font-size:.8125rem;color:var(--text-muted);font-style:italic}.history-table tr.clickable{cursor:pointer}.history-table tr.clickable:hover{background-color:#2563eb0d}.history-table tr.selected{background-color:#2563eb1a}.history-table tr.selected:hover{background-color:#2563eb26}.run-logs{background-color:var(--card-bg);border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.run-logs-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:var(--table-header-bg);border-bottom:1px solid var(--border-color)}.log-count{font-size:.875rem;color:var(--text-muted)}.log-status-indicator{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;color:var(--success-color);text-transform:uppercase}.pulse{width:8px;height:8px;background-color:var(--success-color);border-radius:50%;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.run-logs-content{max-height:400px;overflow-y:auto;font-family:ui-monospace,monospace;font-size:.8125rem}.log-row{display:flex;flex-wrap:wrap;gap:.75rem;padding:.5rem 1rem;border-bottom:1px solid var(--border-color);align-items:flex-start}.log-row:last-child{border-bottom:none}.log-row.log-error{background-color:var(--log-row-error-bg)}.log-row.log-warning{background-color:var(--log-row-warning-bg)}.log-time{color:var(--text-muted);min-width:80px;flex-shrink:0}.log-severity{min-width:60px;font-weight:600;font-size:.6875rem;text-align:center;padding:.125rem .375rem;border-radius:3px;flex-shrink:0}.log-severity.log-error{background-color:#dc2626;color:#fff}.log-severity.log-warning{background-color:#f59e0b;color:#fff}.log-severity.log-info{background-color:#3b82f6;color:#fff}.log-severity.log-debug{background-color:#6b7280;color:#fff}.log-message{flex:1;word-break:break-word;color:var(--text-color)}.log-metadata{width:100%;margin-top:.25rem;margin-left:calc(140px + 1.5rem)}.log-metadata summary{cursor:pointer;font-size:.75rem;color:var(--primary-color)}.log-metadata pre{margin-top:.5rem;padding:.5rem;background-color:#f1f5f9;border-radius:4px;font-size:.75rem;overflow-x:auto}.run-logs-placeholder,.run-logs-loading,.run-logs-empty,.run-logs-error{padding:2rem;text-align:center;background-color:var(--card-bg);border-radius:8px;box-shadow:0 1px 3px #0000001a}.run-logs-placeholder p,.run-logs-empty p{color:var(--text-muted);margin:0}.run-logs-loading{display:flex;flex-direction:column;align-items:center;gap:1rem}.run-logs-loading .spinner,.run-logs-empty .spinner{width:24px;height:24px;border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.run-logs-empty .spinner.small{width:16px;height:16px;margin-top:.5rem}.run-logs-error p{color:var(--error-color);margin:0}.collectors-table-wrapper{background-color:var(--card-bg);border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.collectors-table{width:100%;border-collapse:collapse}.collectors-table th,.collectors-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color)}.collectors-table th{font-weight:600;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;background-color:var(--table-header-bg)}.collectors-table td{font-size:.9375rem;vertical-align:top}.collectors-table tbody tr:last-child td{border-bottom:none}.collectors-table tbody tr:hover{background-color:#2563eb08}.collectors-table tbody tr.running{background-color:#2563eb0d}.collectors-table .col-name{min-width:200px}.collectors-table .col-status{width:100px}.collectors-table .col-activity{min-width:200px;max-width:350px}.collectors-table .col-last-run,.collectors-table .col-next-run{width:100px;white-space:nowrap}.collector-link{color:var(--primary-color);text-decoration:none;font-weight:600;display:block}.collector-link:hover{text-decoration:underline}.collector-description{display:block;font-size:.8125rem;color:var(--text-muted);margin-top:.25rem;line-height:1.4}.latest-log{display:flex;flex-direction:column;gap:.25rem}.latest-log .log-message{font-size:.8125rem;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px}.latest-log .log-time{font-size:.75rem;color:var(--text-muted)}.error-text{color:var(--error-color);font-size:.875rem}.records-count{color:var(--text-muted);font-size:.875rem}.collectors-table tbody tr.expandable{cursor:pointer}.collectors-table tbody tr.expandable:hover{background-color:#2563eb14}.collectors-table tbody tr.expanded{background-color:#2563eb1a;border-bottom:none}.collectors-table tbody tr.expanded td{border-bottom:none}.name-cell{display:flex;align-items:flex-start;gap:.5rem}.expand-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background-color:var(--primary-color);color:#fff;border-radius:4px;font-size:1rem;font-weight:700;flex-shrink:0;margin-top:2px}.expanded-row td{padding:0!important;background-color:var(--table-header-bg)}.expanded-logs{padding:1rem;display:flex;flex-direction:column;gap:.5rem;font-family:ui-monospace,monospace;font-size:.8125rem}.expanded-logs-loading,.expanded-logs-empty{padding:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--text-muted);font-size:.875rem}.expanded-logs-loading .spinner.small{width:16px;height:16px;border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.expanded-log-row{display:flex;align-items:flex-start;gap:.75rem;padding:.375rem .5rem;border-radius:4px;background-color:var(--log-row-bg)}.expanded-log-row.log-error{background-color:var(--log-row-error-bg)}.expanded-log-row.log-warning{background-color:var(--log-row-warning-bg)}.expanded-log-row .log-time{color:var(--text-muted);min-width:70px;flex-shrink:0}.expanded-log-row .log-severity{min-width:55px;font-weight:600;font-size:.625rem;text-align:center;padding:.125rem .25rem;border-radius:3px;flex-shrink:0}.expanded-log-row .log-message{flex:1;word-break:break-word;color:var(--text-color)}.progress-container{display:flex;flex-direction:column;gap:.25rem;min-width:120px}.progress-bar{height:8px;background-color:var(--border-color);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background-color:var(--primary-color);border-radius:4px;transition:width .3s ease}.progress-text{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-progress{margin-bottom:1.5rem}.detail-progress .progress-bar{height:12px;margin-bottom:.5rem}.detail-progress .progress-info{display:flex;justify-content:space-between;align-items:center}.detail-progress .progress-message{font-size:.9375rem;color:var(--text-color)}.detail-progress .progress-percent{font-size:.875rem;font-weight:600;color:var(--primary-color)}.db-connections{margin-top:2rem;background-color:var(--card-bg);border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.db-connections-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.db-connections h3{font-size:1rem;font-weight:600;color:var(--text-muted);margin:0}.db-connections-summary{display:flex;gap:1.5rem}.db-connections-summary .summary-item{display:flex;flex-direction:column;align-items:center;gap:.125rem}.db-connections-summary .summary-value{font-size:1.25rem;font-weight:700;color:var(--text-color)}.db-connections-summary .summary-label{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.db-connections-summary .summary-item.active .summary-value{color:var(--success-color)}.db-connections-summary .summary-item.idle .summary-value{color:var(--text-muted)}.db-utilization{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.utilization-bar{flex:1;height:8px;background-color:var(--border-color);border-radius:4px;overflow:hidden}.utilization-fill{height:100%;background-color:var(--primary-color);border-radius:4px;transition:width .3s ease}.utilization-text{font-size:.75rem;color:var(--text-muted);min-width:100px;text-align:right}.db-connections-table-wrapper{overflow-x:auto}.db-connections-table{width:100%;border-collapse:collapse;font-size:.8125rem}.db-connections-table th,.db-connections-table td{padding:.625rem .75rem;text-align:left;border-bottom:1px solid var(--border-color)}.db-connections-table th{font-weight:600;color:var(--text-muted);font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;background-color:var(--table-header-bg);white-space:nowrap}.db-connections-table td{vertical-align:middle}.db-connections-table tbody tr:last-child td{border-bottom:none}.db-connections-table tbody tr:hover{background-color:#2563eb08}.db-connections-table tbody tr.state-active{background-color:#22c55e0d}.db-connections-table .col-pid{font-family:ui-monospace,monospace;color:var(--text-muted)}.db-connections-table .col-database,.db-connections-table .col-user{font-weight:500}.db-connections-table .col-application{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.db-connections-table .col-duration{font-family:ui-monospace,monospace;color:var(--text-muted);white-space:nowrap}.db-connections-table .col-query{max-width:250px}.state-badge{display:inline-block;padding:.125rem .5rem;border-radius:9999px;font-size:.6875rem;font-weight:600;text-transform:uppercase}.state-badge.state-active{background-color:#dcfce7;color:#166534}.state-badge.state-idle{background-color:#f3f4f6;color:#6b7280}.query-text{font-family:ui-monospace,monospace;font-size:.75rem;color:var(--text-color);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.query-none{color:var(--text-muted)}.db-connections-loading,.db-connections-error,.db-connections-empty{padding:2rem;text-align:center;color:var(--text-muted)}
